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
> > 
> > 
> > 
> > 

Reply via email to