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
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2