discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Decoding 2FSK Compensating for carrier jitter/ske


From: Andy Walls
Subject: Re: [Discuss-gnuradio] Decoding 2FSK Compensating for carrier jitter/skewing (CFO)
Date: Mon, 10 Jul 2017 20:55:26 -0400

From:   HLL
Date:   Mon, 10 Jul 2017 20:44:01 +0300
> Hi,
> Thank you very much!!
> I Need to thoroughly go over your response and understand it all, but
> thanks :)
> 
> I also noticed the 2 different in bit timings, I thought it's
> something electrically, since I noticed the "long" lows and highs are
> on some specific timings and the shorts have another timing.
> 
> Before experimenting with the graph (and the said OOT modules). I'm
> going over it and trying to understand it,
> what the rotator does, and what it it's role?

It performs a (cyclic) frequency shift of the signal spectrum.  It is
called a rotator because the DFT of a sampled signal "lives" on the
unit circle of the z-plane.  The rotator block rotates the entire z-
plane about its origin by a certain number of radians, thus effectively
 shifting the spectrum of the signal.

I use the rotator block to shift the audio frequency bins of +350 Hz
and +940 Hz down to -295 Hz and +295 Hz respectively.  Then I filter
off what were the negative audio frequency bins, the DC spike from the
FM CFO, and a lot of the spectrum which is just noise.

> The part with 2 pll carrier tracking is used for locking the carrier
> of the low and high freq as I understand (I.E. The cheap digital PWM
> or clock devider)

Yes, but they both track *and* downconvert the tracked tone to DC.

This is a coherent FSK receiver design, which is probably overkill for
this application, but I used it to handle uncertainty in the actual
audio tone bins used for the mark and space frequencies.

> what is the role of the complex conjugates (mirror over the real
> axis?),

The complex conjugate is to handle a quirk of the GNURadio PLL block
before the subtraction.  When the PLL carrier tracking block does it's
downconversion of the tracked tone to DC, it doesn't have a phase angle
of 0 degrees (a purely real number), instead it has a phase angle of
something a bit less than pi/4 radians.

The complex conjugate is so when I do the following subtract, I will
get constellation points on opposite sides of the circle in the I-Q
plane.


>  subtract,

This is standard for a coherent FSK demodulator and for certain non-
coherent FSK demodulators.  Google images should show a number of block
diagrams doing this.


>  c-to-f and add part?

Well, after the subtraction you have I-Q plane constellation points of
about A*exp(j*pi/4) and A*exp(j*5*pi/4), and a fuzzy trajectory line
going approximately straight between those points.  I needed to convert
those to real values.

I could have taken the complex magnitude and the complex argument and
somehow tried to assign the proper sign to the complex magnitude, but
that was work. :)  Since the two constellation points and the
trajectory is restricted to quadrants I and III of the I-Q plane, it
was easier to just add combine the real and imaginary parts to get a
real number. 


>   Are you "subtracting" the (locked) `0` square wave from the `1`
> square wave, why?

No.

Let's pretend GNURadio's quirky almost pi/4 angle output from the
downconverted tone is actually 0 radians instead of almost pi/4.

When the mark PLL is locked on to the mark tone, it will output a value
of A.  When the space PLL is locked on to a space tone, it will output
a value of A as well.

To have a mark symbol represented by A and a space symbol represented
by -A, we have to invert the output value of the space PLL, hence the
subtraction.

Also note, that one should not receive mark and space tones at the same
time, so when the mark PLL is outputting A, the space PLL is ideally
outputting 0, and vice-versa.


> I think I understand most of the rest (the `missing block` from their
> names :) )
> 
> Thanks,
> HLL
> 
> P.S. FYI, The capture I'v attached contains 4 bursts of 2 devices, 2
> from device A and 2 from device B.

Yes, I noticed 4 bursts, two at one energy level and two at another
energy level.

Regards,
Andy

> P.S.2 It is probably some cheapo electronic components or re-using
> the micro that is already there.



reply via email to

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