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 Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio