ARISSat TLM decoding using FCD
Just sharing the results of my recordings of last night: (using the FCD + HDSDR)
- FM voice works fine
- Xponder works fine (HB9AOB was very clear)
- CW decoding works fine (the Tuning indicator locks on the CW bump)
- BPSK decoding did not work (I hear & see the signal, but no decode)
Is the BPSK decoding very sensitive to doppler / freq hops ?
Henk, PA3GUO
Hi Henk.
I've had some issues with decoding BPSK too. Worked fine on the first day, then unable to decode anything. Eventually I reloaded the software and played a wav file through the system. Finally it began decoding again. I don't really know what the problem was. It still will not send tlm via the internet and I can't get sound out...Hence the wav files.
Problem is the wav file I have is large so I cant send it to you to try. Perhaps some one has 30 seconds worth that does decode, then we can use that as a standard to check our systems.
I've been tracking doppler by hand. Seems to work OK but it's very important to keep the CW in the 'blue' window. I would think jumps would not be good. Perhaps frequent doppler updates. - So very small jumps.
I also heard HB9 last night on the transponder, but in low power mode (45 sec)that is difficult. - I'll wait for some daylight passes.
Good luck
David G0MRF
-----Original Message----- From: PA3GUO pa3guo@amsat.org To: amsat-bb amsat-bb@amsat.org Sent: Mon, 8 Aug 2011 10:41 Subject: [amsat-bb] ARISSat TLM decoding using FCD
Just sharing the results of my recordings of last night: (using the FCD + HDSDR)
- FM voice works fine
- Xponder works fine (HB9AOB was very clear)
- CW decoding works fine (the Tuning indicator locks on the CW bump)
- BPSK decoding did not work (I hear & see the signal, but no decode)
Is the BPSK decoding very sensitive to doppler / freq hops ?
Henk, PA3GUO
_______________________________________________ Sent via AMSAT-BB@amsat.org. Opinions expressed are those of the author. Not an AMSAT-NA member? Join now to support the amateur satellite program! Subscription settings: http://amsat.org/mailman/listinfo/amsat-bb
On 8/8/11 5:23 AM, g0mrf@aol.com wrote:
I've been tracking doppler by hand. Seems to work OK but it's very important to keep the CW in the 'blue' window. I would think jumps would not be good. Perhaps frequent doppler updates. - So very small jumps.
Jumps per se are not a problem. I.e., if you're off frequency, the sooner you correct it the better; there's no need to tune back gradually. The error correcting code I'm using is pretty strong but it does have its limits, and being significantly off frequency can take out a lot of the information it needs to function.
ARISSat-1 is transmitting FEC coded DBPSK - differential binary phase shift keying. A '0' is sent as a 180 degree phase reversal of the carrier and a '1' is sent as no reversal. Because the data being coded and sent is actually coming from a HDLC encoder that stuffs 0's when necessary, there should be plenty of 0's in the transmitted data stream. That's important for clock recovery at the receiver.
Differential encoding permits a very simple and robust method of demodulation. There's no need for a phase lock loop to track the carrier as in the Phase III 400 bps modems; that would be essentially hopeless on a signal that fades as quickly as this one does.
I first convert the signal to complex baseband, i.e., I & Q signals with the carrier nominally at zero Hz. If you were to plot these I&Q values on an X/Y scope, and if your tuning were perfect, you'd see a vector (the signal carrier) at some random phase angle flipping randomly back and forth 180 degrees, e.g., between 37 deg and 217 deg.
Because the data is encoded in the *change* of that phase, there's no need to know the absolute phase. To decode the DBPSK data you simply take the dot product of consecutive pairs of I & Q samples. You multiply the two I values, multiply the two Q values, and add them. If there's been no phase change, i.e., a 1 was sent, then the dot product will be positive no matter what the absolute phase angle. If the phase did flip, then the dot product will be negative, again no matter what the phase angle.
I actually use the magnitudes of the dot products for something called "soft decision decoding" in the error correction algorithm (a Viterbi decoder) but that's a refinement. The basic idea is to simply look for a change or no change in carrier phase from one bit to the next without caring about the absolute phase.
Now what happens if you're mistuned? Well, the carrier vector no longer remains stationary on the X/Y scope; it begins to rotate at the rate of your tuning error. If you're tuned 10 Hz high, i.e., the carrier is coming out 10 Hz low, then the carrier vector will rotate clockwise 10 times per second. If you're tuned 10 Hz low, then the vector rotates counterclockwise 10 times per second. (Mathematically, counterclockwise rotation is positive and clockwise is negative.)
This can obviously wreak havoc with demodulation if you're too far off frequency. But because the comparisons are done between adjacent bits you only have to worry about how much it rotates in one bit time, which at 1000 Hz is 1 millisecond. If you're 10 Hz off, then the vector will rotate 10/1000 = 1/100 of a revolution or 3.6 degrees; not much. Taking the dot product of two vectors 3.6 degrees apart gives almost the same answer as two vectors 0 deg apart. Same for vectors 183.6 deg apart instead of 180 deg.
So being off by 10 Hz isn't much of a problem. If your radio tunes in 10 Hz steps, and you can accurately compute Doppler, then don't hesitate to do lots of 10 Hz tuning steps to stay on frequency. (This assumes that your radio tunes smoothly, which all modern radios seem to do.)
But as you get farther off frequency things begin to degrade, slowly at first, then quickly. If you're 100 Hz off, that's 1/10 of a revolution or 36 degrees. The cosine of 36 degrees is about .81, so you lose about 1.84 dB of performance (.81 is an amplitude ratio so you have to use the dB voltage formula, 20 log10(0.81)). At 200 Hz, you're off 72 deg and you've lost a full 10.2 dB!
Fortunately, my decoder does a search around the nominal frequency so you can actually be offtuned this much and the demodulator will still work. But I only search a +/- 200 Hz window in 100 Hz steps because beyond that the signal will start to get chopped off by the edges of the SSB filter in your radio. (And Doug was complaining that my demodulator wouldn't run in real time on his old, slow Pentium III!)
Frequency tracking is clearly the biggest weakness in my whole scheme, and it argues very strongly for wideband SDR-like radios instead of SSB receivers with narrow filters. A receiver wide enough to capture not only the signal but the entire Doppler range of +/- 3.3 kHz for 2m could eliminate all tuning during the pass because the computer could do it all in software.
-phil
On 9 Aug 2011 at 1:01, Phil Karn wrote:
Jumps per se are not a problem. I.e., if you're off frequency, the sooner you correct it the better; there's no need to tune back gradually. The error correcting code I'm using is pretty strong but it does have its limits, and being significantly off frequency can take out a lot of the information it needs to function.
What's was blocking my sound card decoding was as i read the sampling rate i was using on sprectra view with the UK fun dongle. As soon as i put 48000hz the CW decoder start to decoded but nothing on the TLM screen yet (BPSK). I manually track the doppler shift and it not seems to be very critical but i'm still in the dark about the BPSK data?
"-"
Luc Leblanc VE2DWE Skype VE2DWE www.qsl.net/ve2dwe DSTAR urcall VE2DWE WAC BASIC CW PHONE SATELLITE
On my last morning pass 10deg i was able to get one KURSK frame and one forwarded nothing yet on the TLM screen. Experiment in progress...
Auto doppler tracking will be very usefull i think?
"-"
Luc Leblanc VE2DWE Skype VE2DWE www.qsl.net/ve2dwe DSTAR urcall VE2DWE WAC BASIC CW PHONE SATELLITE
Is it possible to record all the transmissions in a single wave file using FCD and separate the FM, telemetry, ssb, and SSTV later after the bird is gone?
Hi Floyd,
Yes, you can. Recording the full 80kHz bandwidth for a 10 min pass (duration of ARISSat-1 passes, roughly) creates a BIG wavefile around 250MB in size. You can play it back and decode whatever you want, whenever you want. I've been doing that regularly, which results in about 1GB per day (4 passes recorded per day, on the average). Heh.
On one playback, I might decode the FM signal for SSTV pics. On another playback, I might try to pull some telemetry out. On yet another playback, I might listen around the linear transponder. It's really slick.
Surely we could pick out what we REALLY wanted and do a recording of that output...but I haven't bothered to do so. I'm content playing back and decoding whatever I want...
73,
Mark N8MH
On Tue, Aug 9, 2011 at 4:13 PM, Floyd Rodgers kc5qbc@swbell.net wrote:
Is it possible to record all the transmissions in a single wave file using FCD and separate the FM, telemetry, ssb, and SSTV later after the bird is gone? _______________________________________________ Sent via AMSAT-BB@amsat.org. Opinions expressed are those of the author. Not an AMSAT-NA member? Join now to support the amateur satellite program! Subscription settings: http://amsat.org/mailman/listinfo/amsat-bb
ARISsat in full sun over ZL at 0321 UT but in its low power mode.
Alan ZL2BX
participants (7)
-
Alan Cresswell
-
Floyd Rodgers
-
g0mrf@aol.com
-
Luc Leblanc
-
Mark L. Hammond
-
PA3GUO
-
Phil Karn