On Mon, 2020-06-29 at 14:11 -0500, Alex Roberts wrote: > Copy that. Would a preamble with better properties like a gold code > allow to raise that threshold? I guess I need to dig into what that > threshold means. On the examples I’ve seen it’s always 0.9 or higher. >
You could use a Gold code. Although the length 13 Barker code is probably good too, just to play around with. Yeah, so the fixed correlation threshold algorithm is somewhat staright forward, but I caused to to have a bit of a wrinkle. You'll notice in the algorithm, it checks using the square of the correlation's magnitude. That's because long ago, to save CPU cycles, I coded the block to compute the magnitude squared of the correlation and check against that. Taking the square-root of every I^2+Q^2 sample of the correlation output seemed like a waste of CPU to me at the time. I now regret that decision, as it has been a source of confusion for people working with this block, oh well. The block has undergone a few revisions regarding the thresh holding algorithm, since I last touched it myself. I know that the dynamic algorithm only works with preambles with good correlation properties (gold codes, barker codes). The non-adaptive algorithm is sensitive to the incoming signal level compared to the reference level of the correlation filter taps. In hindsight, I probably should have had my correlation filter taps script normalize h_iq to some nominal gain value. Anyway, I highly recommend you do test correlation runs in Matlab/Octave first, duplicating the corr_est block's thresh hold crossing detection algorithm, before jumping into a GNURadio implementation. The analysis in Matlab/Octave will much better inform you on how your GNURadio parameters should be set. Regards,Andy > On Monday, June 29, 2020, Andy Walls <a...@silverblocksystems.net> > wrote: > > On Sun, 2020-06-28 at 16:31 -0500, Alex Roberts wrote: > > > > > Andy, > > > > > > > > > > I had a copy of an old flowgraph that you posted on the mailing > > list > > > > > a long while back ( > > > > > > > https://lists.gnu.org/archive/html/discuss-gnuradio/2016-03/msg00735.html > > > > > ). This is what initially confused me on what to pass in as gmsk > > > > > symbols to corr_est block as it has strictly real values. > > > > > > > > > > I modified it to mux in the preamble that's in the octave code > > with a > > > > > random source. I also modified the octave code to match the > > samples > > > > > per symbol of the flowgraph (10) and generated the modulated > > symbols > > > > > for the corr_est block. The corr_est block does indeed > > > > > perform conjugation and reversal of the symbols, so I used the > > "h_iq" > > > > > value from the octave code as the modulated symbols since it has > > not > > > > > been conjugated or reversed. I'm not getting corr_est tags. > > > > > > > > On that flowgraph, set your threshold on the corr_est block to > > 0.23. > > > > > > > > BTW, that preamble has horrible correlation properties. > > > > > > > > > > > > > Thanks,Alex. > > > > > > > > -Andy > > > > > > > >