
From:  Dan CaJacob 
Subject:  Re: [Discussgnuradio] FM Mod / Demod Sensitivity and Quad. Gain Parameters 
Date:  Thu, 4 Jul 2013 22:50:17 0400 
Hi Dan,On Thu, Jun 27, 2013 at 3:54 PM, Dan CaJacob <address@hidden> wrote:
> We use the FM Mod and Quadrature Demod blocks to modulate and demodulate
> GFSK packetized data. In the past, we have used sensitivity values for
> these blocks that were provided for us, but their meaning was opaque.
>
> I did some digging in the list and the web and found two prevalent
> definitions for sensitivity from examples. Both definitions were consistent
> in saying that the Demod parameter 'Quadrature Gain' should be the inverse
> of the sensitivity parameter for the Mod block.
>
> The competing definitions for sensitivity were:
>
> 1. sensitivity = (pi / 2) / samples_pr_symbol # from
> gnuradio/blksimpl/gmsk.py
>
> and
>
> 2. sensitivity = 2 * pi * max_deviation / sample_rate # from
> gnuradio/blks2impl/nbfm_tx.py
>
> In my own recent work, I have been using the second definition because it
> seems to work and it gives me control over the deviation (I define max
> deviation using modulation index and baud rate).
>
> However, when I attempt to use 1/sensitivity for the Quadrature Gain of the
> RX, it does not seem to work, while altering the RX definition of
> sensitivity to be 1 / (2 * pi * max_deviation / baud_rate) does seem to
> work.
>
> Am I missing something fundamental about how these parameters work?
The quadrature_demod converts from phase/frequency modulation back to
amplitude. So in the case of FSK signals (and let's treat GMSK as FSK
for this), we want to convert frequency f1 into 1 and frequeuncy f2
to +1. Also, "let's assume the system is synchronized" so that f1 =
fm and f2 = +fm. What you want to do is convert those frequencies to
1's and 1's, right? So there's some rotation around the unit circle
that maps to this based on the number of samples per symbol you are
using. So hopefully that explains where the pi and sps in the
calculations come from.
Hope this helps.
Tom
[Prev in Thread]  Current Thread  [Next in Thread] 