discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Ettus N210 GMSK 9600


From: Tom Golden
Subject: Re: [Discuss-gnuradio] Ettus N210 GMSK 9600
Date: Wed, 23 Mar 2016 20:17:59 -0600

Thanks Andy!!  This is great!  The demo data looks good.  Running my data through it doesn't generate the bits I'm looking for, but I can see the noise affecting the symbols.  Tomorrow I'll retry with a better signal.

Many many thanks!

Best Regards,
-Tom


On Wed, Mar 23, 2016 at 7:34 PM, Andy Walls <address@hidden> wrote:
On Wed, 2016-03-23 at 18:41 -0600, Tom Golden wrote:
> Hi Andy,

>
>
> Thanks so much for the link!  I'm digging into the gr-ais code - but
> there's certainly a learning curve there. :)
>
>
> Thanks!!
> -Tom

Hi Tom,

Here's a GRC that does 9600 baud GMSK demodulation, that I whipped up
without using your data file.

To run it with the "square and sync" coarse frequency adjustment branch
in place, you'll need the freqest block from gr-ais, and the attached
ais_frequest.xml file, since it doesn't exist in gr-ais.  If you know
you're on freq, you can just disable the blocks in that branch, and
bypass the multiply that applies the coarse frequency correction.


So a fun(?) thing you should notice about this flowgraph's output.  You
can obviously see the GMSK soft signal before timing recovery is a 4
level signal, because ISI drags some bits closer to 0 freq deviation.
But the timing recovery block is outputting 6 levels.  It's getting the
timing of some of the bits slightly wrong.  That has implications for
achievable BER for the SNR.

Regards,
Andy

>
>
> On Wed, Mar 23, 2016 at 5:28 PM, Andy Walls
> <address@hidden> wrote:
>
>         >                              From:
>         > Tom Golden
>         >                           Subject:
>         > Re: [Discuss-gnuradio] Ettus N210
>         > GMSK 9600
>         >                              Date:
>         > Wed, 23 Mar 2016 13:14:18 -0600
>         >
>         >
>         ______________________________________________________________________
>         > Here's my flow-graph along with a snapshot of the
>         constellation and
>         > FFT.
>         >
>         >
>         > Thanks!!
>         > -Tom
>
>         Hi Tom,
>
>         A couple of things:
>
>         a) The polyphase resampler isn't going to work well without a
>         filter
>         definition in the taps field.
>
>         b) The constellation sink will not display anything meaningful
>         without
>         sample timing synchronization; it is not useful at its current
>         position
>         in the flowgraph.  The constellation sink also doesn't display
>         anything
>         useful for an FSK modulation normally; (G)MSK being an
>         exception, if
>         treating it like a PSK modulation vs. FSK.
>
>         c) You don't have any coarse or fine frequency
>         synchronization.  That
>         will cause you major problems, if trying to treat GMSK as a
>         PSK
>         modulation.  It will cause you minor problems, if treating
>         GMSK as an
>         FSK modulation.
>
>         d) Timing recovery blocks usually want a signal that has peaks
>         (which
>         you get by putting the signal through a matched filter), and
>         those peaks
>         should nominally be scaled to +/- 1.0.  You don't have a
>         matched filter
>         or an AGC before the Clock Recovery block.
>
>         e) The USRP's 0 dB gain setting is actually the USRP inserting
>         the
>         maximum attenuation it can (e.g. 37 dB of attenuation).  That
>         can kill
>         your signal to noise ratio.  You may want to consider adding
>         "gain" as
>         long as the time domain signal doesn't look clipped (sometimes
>         hard to
>         tell with FSK).
>
>         f) You may wish to look at what Nick Foster's gr-ais does to
>         demodulate
>         a 9600 baud GMSK AIS signal.  It will probably give you a nice
>         starting
>         point; just ignore the stuff about correlating to a preamble.
>         https://github.com/bistromath/gr-ais
>
>         If you share your datafile somewhere, I might be inspired to
>         whip a
>         flowgraph that works on it. :)  But that could rob you of the
>         learning
>         process.
>
>         Regards,
>         Andy
>
>         >
>         > On Wed, Mar 23, 2016 at 1:01 PM, Marcus D. Leech
>         <address@hidden>
>         > wrote:
>         >         On 03/23/2016 02:48 PM, Tom Golden wrote:
>         >                 Hi,
>         >
>         >                 I'm a novice gnu radio user.  I'm using
>         gnuradio with
>         >                 an Ettus N210 cabled to a modem transmitting
>         GMSK
>         >                 9600bps.  This is just for a test to verify
>         the modem
>         >                 transmit bits.
>         >
>         >                 I'm having issues with resampling.  The N210
>         clock
>         >                 can't be set to a multiple of 9600, so I'm
>         attempting
>         >                 to resample. I've tried various mechanisms
>         but the
>         >                 output after resampling to 96000 is too
>         noisy to
>         >                 successfully decode bits.  I've tried the
>         GMSK demod
>         >                 block as well as the combination of
>         Quadrature
>         >                 Demod->Clock Recovery MM->Binary Slicer -
>         and neither
>         >                 works.
>         >
>         >                 I've also played with the Polyphase clock
>         sync but I
>         >                 don't see any noticeable difference. Can
>         anyone
>         >                 recommend a solution?
>         >
>         >                 Thanks!!
>         >                 -Tom
>         >
>         >         For a first step, it would be useful for you to
>         share your
>         >         flow-graph with the list.
>
>
>
>
>



reply via email to

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