Hello All,
My question is about DSD source code. I was inspecting dsd_frame_syn.c file and I found that symbol is converted to bits with some missing part. It only converts to the 01 and 11. There must be some if else statement so we can get all combination (00,01,10,11). Other bits can be found using some threshold value. If anyone calculate this threshold and share how the calculation can be done, it is very helpful. Thanks all.
Here is the code:
//determine dibit state
if (symbol > 0)
{
*state->dibit_buf_p = 1;
state->dibit_buf_p++;
dibit = 49; // '1'
}
else
{
*state->dibit_buf_p = 3;
state->dibit_buf_p++;
dibit = 51; // '3'
}
My question is about DSD source code. I was inspecting dsd_frame_syn.c file and I found that symbol is converted to bits with some missing part. It only converts to the 01 and 11. There must be some if else statement so we can get all combination (00,01,10,11). Other bits can be found using some threshold value. If anyone calculate this threshold and share how the calculation can be done, it is very helpful. Thanks all.
Here is the code:
//determine dibit state
if (symbol > 0)
{
*state->dibit_buf_p = 1;
state->dibit_buf_p++;
dibit = 49; // '1'
}
else
{
*state->dibit_buf_p = 3;
state->dibit_buf_p++;
dibit = 51; // '3'
}