[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
>
- Re: [Discuss-gnuradio] Decoding 2FSK Compensating for carrier jitter/skewing (CFO), (continued)
Re: [Discuss-gnuradio] Decoding 2FSK Compensating for carrier jitter/skewing (CFO), Andy Walls, 2017/07/14