Alan, please be sure to keep correct subject line.

Right. ofdm.c

voidofdm_sync_state_machine(structOFDM *ofdm, uint8_t*rx_uw)

 there are two synced states, synced (ongoing) and trial sync (when sync is getting established for the first time- checking if this is real sync or bogus sync due to frquency offset aliasing)

the difference in bits between the unique word template  and the actual received unique word is checked

(lines 1494..1496)

When synced (ongoing)  if the unique_word (uw_errors) error count  is > 2 (IE more than 2 bits different from the template, ofdm->sync_counter is incremented.

when ofdm->sync_counter is >6 AND ofdm->sync_mode== autosync (line 1540) , sync will be dropped.

So, since you can compile from source, I'd like you to insert some extra debug printfs or whatever and above line 1533,

IE immediately before

if(ofdm->sync_state== synced) {

please print out : (just use %u style, that's fine, do a explicit cast to unsigned int for each variable in case they are chars )

ofdm->sync_state

ofdm->uw_errors

ofdm->sync_mode

ofdm->sync_counter

IE

printf("SYN: %u %u %u %u \r\n",(unsigned int) ofdm->sync_state, etc etc

just the integer values will be fine, we can look up the numbers.

So the sync state machine could do with some refinement, could be error easily programmer error prone . I will put that on my to-do list to re write .


On 7/15/2020 8:02 AM, Al Beard wrote:
Hi Glen and David,

In my testing of "parrot" derived from "freebeacon", mode 700D,
I'm "seeing" sync holding up when it shouldn't.

I'm running relatively low input levels, similar to what

_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to