Hi Glen, Done as asked... SYN: sync_state, uw_errors, sync_mode, sync_counter
SYN: 2 0 1 0 good solid reception of ve9qrp_700d.wav state: Rx Sync peak: 1901 sync: 1 SNR: 15.7 triggered: 1 recordany: 0 rxDataCnt 1218 ncodec 14 SYN: 2 0 1 0 SYN: 2 0 1 0 SYN: 2 0 1 0 SYN: 2 0 1 0 SYN: 2 0 1 0 RX txtMsg: cq cq cq hello world Tx triggered! SYN: 2 0 1 0 ...... SYN: 2 0 1 0 SYN: 2 2 1 0 reception of ve9qrp_700d.wav is over, SYN: 2 1 1 0 state: Rx Sync peak: 106 sync: 1 SNR: 1.2 triggered: 1 recordany: 0 rxDataCnt 1414 ncodec 14 SYN: 2 0 1 0 SYN: 2 2 1 0 SYN: 2 0 1 0 SYN: 2 0 1 0 SYN: 2 0 1 0 SYN: 2 1 1 0 SYN: 2 4 1 0 here I whistle into the mic state: Rx Sync peak: 748 sync: 1 SNR: 3.5 triggered: 1 recordany: 0 rxDataCnt 1428 ncodec 14 SYN: 2 2 1 1 SYN: 2 1 1 0 SYN: 2 8 1 0 SYN: 2 5 1 1 SYN: 2 6 1 2 SYN: 2 6 1 3 SYN: 2 3 1 4 state: Rx Sync peak: 821 sync: 1 SNR: -4.6 triggered: 1 recordany: 0 rxDataCnt 1428 ncodec 14 SYN: 2 6 1 5 SYN: 2 3 1 6 state: Rx Maybe UnSync peak: 110 sync: 0 SNR: -8.4 triggered: 1 recordany: 0 rxDataCnt 1428 ncodec 0 No more SYN: n n n n messages. Over to you... Alan VK2ZIW On Wed, 15 Jul 2020 19:43:37 +1000, glen english wrote > Alan, please be sure to keep correct subject line. > Right. ofdm.c > void ofdm_sync_state_machine(struct OFDM *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 ifthis is real sync or bogus > sync due to frquency offset aliasing) > > the difference in bits between the unique word template and theactual > received unique word is checked > (lines 1494..1496) > > When synced (ongoing) if the unique_word (uw_errors) errorcount is > 2 (IE > more than 2 bits different from thetemplate, 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 beerror easily > programmer error prone . I will put that on my to-dolist 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 > > --------------------------------------------------- Alan VK2ZIW OpenWebMail 2.53, nothing in the cloud.
_______________________________________________ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2