discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Symbol timing estimator block and CPM modulations


From: Alex Roberts
Subject: Re: Symbol timing estimator block and CPM modulations
Date: Sun, 28 Jun 2020 16:31:35 -0500

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. 

Thanks,
Alex.

On Sun, Jun 28, 2020 at 1:04 PM Alex Roberts <arob109@gmail.com> wrote:
Andy,

Yes, I did mean the corr_est block. Thank you for the matlab code. I'll hopefully get to play with it today. The flowgraph I have write now is actually doing quite well with high AWGN just with switching to the enhanced symbol block and using the Mengali and d'Andrea timing recovery. For what it's worth, I'm stuck on GRC 3.7 so I had to check out from your git from before you removed the symbol sync block (assuming it was removed since it's been moved in-tree in 3.8)

Thanks,
Alex.

On Sun, Jun 28, 2020 at 7:32 AM Andy Walls <andy@silverblocksystems.net> wrote:
Hi Alex:

On Sat, 2020-06-27 at 19:42 -0500, Alex Roberts wrote:
> Andy,
>
> I’m not sure how integrate the correlation sync block with gmsk.

The correlate_and_sync block is an old block that was specific to RRC
filtered PSK.  You must mean the corr_est block.

>  It expects modulated symbols and I’m not sure how to generate a
> modulated vector of gmsk symbols.  There doesn’t seem to be a gmsk
> class that can be used by the modulate vector block.

You can create a modulated GMSK preamble with the modulate vector block
in GNURadio.  However, I do not recommend it.  It provides little
insight or control over the exact correlation filter taps, so trimming
off start and end transients becomes a hassle.

Instead, generate your correlation filter taps in MatLab or Octave.
Then you can also use Matlab or Octave to assess the performance of
your correlation filter taps against real or simulated data.

See the attached script for an example of generating GMSK correlation
filter taps.  Note that this script generates the conjugated and time
reversed filter taps.  You'll have to check what the corr_est block is
expecting, as it may be performing a conjugation and time reversal for
you, under the assumption that you didn't do it.

Regards,
Andy


> Thanks,
> Alex
>
> On Thursday, June 25, 2020, Andy Walls <andy@silverblocksystems.net>
> wrote:
> > Recommend reading
> > 
> > https://www.gnuradio.org/grcon/grcon17/presentations/symbol_clock_recovery_and_improved_symbol_synchronization_blocks/Andy-Walls-Samples-to-Digital-Symbols.pdf
> >
> > Yeah, the MSK TED selections for the symbol sync block expect the
> > constant envelope FSK waveform on the input.  Demodulation from FSK
> > to baseband pulses should happen after the symbol sync block.
>
>

Attachment: gmsk9600_corr_est_test.grc
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]