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: Cinaed Simson
Subject: Re: [Discuss-gnuradio] Decoding 2FSK Compensating for carrier jitter/skewing (CFO)
Date: Wed, 12 Jul 2017 17:39:50 -0700
User-agent: Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 Thunderbird/52.2.1


On 07/12/2017 03:56 AM, HLL wrote:
> 
> 
> On Wed, Jul 12, 2017 at 1:56 AM, Cinaed Simson <address@hidden
> <mailto:address@hidden>> wrote:
> 
>     It seems odd that a device with a maximum power 116 dBm would have such
>     a weak signal.
> 
> As I mentioned earlier, I'm not really sure what is the frequency of the
> device is, I just scanned the 300 + area and I found a few that
> correlate with the device transmission
> This one was taken on 440.15M; I Also have another similar capture,
> captured at 419.562M

At least the ones in the US operate between at 4 frequencies between
450-470 MHz.

The frequency band will vary with country.

> 
> 
>     Maybe the antenna was to close? The distance of the receiving antenna
>     was roughly 0.1 of the carrier wavelength from transmitting antenna.
> 
> I guess it was, distance was around 8-15 cm or so, as the wavelength is
> 68.15cm, When capturing I didn't considered it (or even known it is a
> factor)

The wavelength for 450 is 1.5 meters. I really don't know where the
boundary is between near field and far field - but I would guess far
field the other side of a full wave length.


> The antenna used is the stock RTL SDR one.

It's quarter wave antenna I believe for around 800-900 MHz.

> 
> If you can recommend some hackish (DIY or even retail) antenna to better
> receive that signal that would be grate.

Let me think about it. I use a RTL dongle from NooElec which has a SMA
connector.

> 
> 
>     Also, the documents indicate the channel width is from 7 kHz to 16 kHz -
>     the sampling rate of 8 kHz may have been to small.
> 
> Well, As  Andy mentioned, it's not FSK, so the documentation may be
> talking about other version of the device.
> I Downsampled the capture to 8khz after centering because that was much
> more then 2 times of bandwidth I've seen on the FFT on active burst

Actually, that should read 7-12.5 kHz. If I was doing it, and the
documents indicated it uses a channel between 7-12.5 KHz, then I would
sample at 64 kHz.

-- Cinaed


> 
> 
>     But in any case, there's a lot of good information in this thread and
>     it's going to take me a while to digest all of it.
> 
> If that helps, I kindda made a quick graph that does similar thing to
> Andy's graph, and I got similar results:
> 
> Inline image 1
>  
> now it seems that a large CFO glitch translates to short glitchs in the
> digital signal
> 
> Graph:
> Inline image 2
> 
> 
> 
> 
> 
>     On 07/10/2017 05:55 PM, Andy Walls wrote:
>     > 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.
>     >
>     > _______________________________________________
>     > Discuss-gnuradio mailing list
>     > address@hidden <mailto:address@hidden>
>     > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>     <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
>     >
> 
> 
>     _______________________________________________
>     Discuss-gnuradio mailing list
>     address@hidden <mailto:address@hidden>
>     https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>     <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
> 
> 
> 
> 
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 




reply via email to

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