It's been suggested that I modify my ARISSat-1 BPSK-1000 telemetry demodulator/decoder to accept wideband quadrature (I & Q) recordings like those produced by most of the software defined radios out there.
This is fundamentally not that hard, but first I need some information.
How many people could actually use this? What is the format of the recorded files? Is there a standard, or does each make of SDR produce its own?
If I could get a good sample wideband quadrature recording of the ARISSat-1 downlink that includes the BPSK beacon, I could use it for testing. Ideally there would be no need for any manual tuning because the wideband recording would always contain the beacon regardless of Doppler. All tuning would be in the demodulator software.
This might be a little compute-intensive so I can't guarantee that it'll run in real time on older computers. I already make pretty heavy use of the Intel SSE (vector arithmetic) instructions for FIR filtering and Viterbi decoding. The SSE2 set introduced with the Pentium 4 has been especially useful, so I would consider the P4 (or the AMD equivalent) a minimum requirement. Of course, the newer and faster the CPU, the better. I also make use of multiple CPU cores, particularly during the acquisition phase, so the newer CPUs with lots of CPU cores would also be preferred.
73, Phil
On Tue, 09 Aug 2011 15:54:15 -0700 Phil Karn karn@philkarn.net wrote:
It's been suggested that I modify my ARISSat-1 BPSK-1000 telemetry demodulator/decoder to accept wideband quadrature (I & Q) recordings like those produced by most of the software defined radios out there.
This is fundamentally not that hard, but first I need some information.
How many people could actually use this? What is the format of the recorded files? Is there a standard, or does each make of SDR produce its own?
Anyone with a Funcube Dongle, for a start.
If I could get a good sample wideband quadrature recording of the ARISSat-1 downlink that includes the BPSK beacon, I could use it for testing. Ideally there would be no need for any manual tuning because the wideband recording would always contain the beacon regardless of Doppler. All tuning would be in the demodulator software.
If you do get one, I'd like a copy as well. The tuning bit is easy, you just multiply the incoming complex signal by a rotating vector. Want to tune higher? Spin that vector a little faster!
This might be a little compute-intensive so I can't guarantee that it'll run in real time on older computers. I already make pretty heavy use of the Intel SSE (vector arithmetic) instructions for FIR filtering and Viterbi decoding. The SSE2 set introduced with the Pentium 4 has been especially useful, so I would consider the P4 (or the AMD equivalent) a minimum requirement. Of course, the newer and faster the CPU, the better. I also make use of multiple CPU cores, particularly during the acquisition phase, so the newer CPUs with lots of CPU cores would also be preferred.
I've successfully run lysdr on a 1400MHz Celeron M at 48kHz, although I had to back off the screen updates. The FFT is actually quite fast, but screen updates with the Intel chipset tend to slow things down. I considered using FFT convolution to replace the FIR filter, because the FIR is *really* slow.
https://github.com/gordonjcp/lysdr
On 09/08/11 23:54, Phil Karn wrote:
It's been suggested that I modify my ARISSat-1 BPSK-1000 telemetry demodulator/decoder to accept wideband quadrature (I & Q) recordings like those produced by most of the software defined radios out there.
This is fundamentally not that hard, but first I need some information.
How many people could actually use this? What is the format of the recorded files? Is there a standard, or does each make of SDR produce its own?
I'd use it. In fact I drive my Funcube Dongle with gnuradio. It would mean I could simplify my flow graphs, and not have to stick have the audio out to a loopback ALSA soundcard, and then into your decoder.
(I could then squirt the I/Q stream to a FIFO, and pump that to your decoder, and save all the blocks needed to do the SSB stuff, and dropping it down to audio)
In fact, IIRC, its not that hard in gnuradio to do BPSK decoding anyway, it's just no-one's actually done it. You have to just unhook the differential part of the decoder AIUI. Easy in python, but not possible so much in the in the gnuradio-companion, which I use to construct the flow graphs graphically
73s
Iain
I have a Fun Cube Dongle so I would Phil. Thanks and 73, Tom n4zpt
On 8/9/2011 6:54 PM, Phil Karn wrote:
It's been suggested that I modify my ARISSat-1 BPSK-1000 telemetry demodulator/decoder to accept wideband quadrature (I& Q) recordings like those produced by most of the software defined radios out there.
This is fundamentally not that hard, but first I need some information.
How many people could actually use this? What is the format of the recorded files? Is there a standard, or does each make of SDR produce its own?
On 8/10/11 8:24 PM, Tom Azlin N4ZPT wrote:
I have a Fun Cube Dongle so I would Phil. Thanks and 73, Tom n4zpt
Okay, everybody make and keep your wideband I/Q recordings and I'll work on an enhancement to my demodulation/decoding software to process them. It may not run in real time on slower machines because of the need to search a wider frequency range, but this won't matter if it can work on a recording.
I can probably speed things up by including an orbit model in the modem to predict Doppler open-loop, but this will take time to implement and it will still be vulnerable to small errors in the elements and/or your clock, especially around closest approach. So record the date and time of your recordings and the current eleset at that time.
73, Phil
On Sat, Aug 13, 2011 at 7:07 PM, Phil Karn karn@philkarn.net wrote:
On 8/10/11 8:24 PM, Tom Azlin N4ZPT wrote:
I have a Fun Cube Dongle so I would Phil. Thanks and 73, Tom n4zpt
Okay, everybody make and keep your wideband I/Q recordings and I'll work on an enhancement to my demodulation/decoding software to process them. It may not run in real time on slower machines because of the need to search a wider frequency range, but this won't matter if it can work on a recording.
I can probably speed things up by including an orbit model in the modem to predict Doppler open-loop, but this will take time to implement and it will still be vulnerable to small errors in the elements and/or your clock, especially around closest approach. So record the date and time of your recordings and the current eleset at that time.
For those who have not noted this feature, HDSDR will open a recording scheduler if you right click on the 'record' button. It saves files with UTC time appended. The tricky part is that you have to set the scheduler manually in local time.
I've been thinking it would be a nifty hack to make a FCD recorder for a set of satellites using a very small computer, like the BeagleBoard. It seems to me that a daily cron job with 'Predict' would just about do what was necessary, especially now that we have a commandline tool for the FCD. The only part that would take some fiddling would be piping the USB sound card into a file with the proper headers for HDSDR.
73, Bruce VE9QRP
Try the following
#!/bin/bash # # Record sdr data from FunCube Dongle. # # Usage: fcd_record extra_options filename # example: fcd_record --duration=60 tt.wav #
DEV="--device=hw:3" OPTIONS="--format=S16_LE --channels=2 --rate=96000"
arecord $DEV $OPTIONS $@
On Sun, 14 Aug 2011, Bruce Robertson wrote:
On Sat, Aug 13, 2011 at 7:07 PM, Phil Karn karn@philkarn.net wrote:
On 8/10/11 8:24 PM, Tom Azlin N4ZPT wrote:
I have a Fun Cube Dongle so I would Phil. Thanks and 73, Tom n4zpt
Okay, everybody make and keep your wideband I/Q recordings and I'll work on an enhancement to my demodulation/decoding software to process them. It may not run in real time on slower machines because of the need to search a wider frequency range, but this won't matter if it can work on a recording.
I can probably speed things up by including an orbit model in the modem to predict Doppler open-loop, but this will take time to implement and it will still be vulnerable to small errors in the elements and/or your clock, especially around closest approach. So record the date and time of your recordings and the current eleset at that time.
For those who have not noted this feature, HDSDR will open a recording scheduler if you right click on the 'record' button. It saves files with UTC time appended. The tricky part is that you have to set the scheduler manually in local time.
I've been thinking it would be a nifty hack to make a FCD recorder for a set of satellites using a very small computer, like the BeagleBoard. It seems to me that a daily cron job with 'Predict' would just about do what was necessary, especially now that we have a commandline tool for the FCD. The only part that would take some fiddling would be piping the USB sound card into a file with the proper headers for HDSDR.
73, Bruce VE9QRP
-- http://ve9qrp.blogspot.com _______________________________________________ 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
Al
Quoting Bruce Robertson ve9qrp@gmail.com:
On Sat, Aug 13, 2011 at 7:07 PM, Phil Karn karn@philkarn.net wrote:
On 8/10/11 8:24 PM, Tom Azlin N4ZPT wrote:
I have a Fun Cube Dongle so I would Phil. Thanks and 73, Tom n4zpt
Okay, everybody make and keep your wideband I/Q recordings and I'll work on an enhancement to my demodulation/decoding software to process them. It may not run in real time on slower machines because of the need to search a wider frequency range, but this won't matter if it can work on a recording.
I can probably speed things up by including an orbit model in the modem to predict Doppler open-loop, but this will take time to implement and it will still be vulnerable to small errors in the elements and/or your clock, especially around closest approach. So record the date and time of your recordings and the current eleset at that time.
For those who have not noted this feature, HDSDR will open a recording scheduler if you right click on the 'record' button. It saves files with UTC time appended. The tricky part is that you have to set the scheduler manually in local time.
I've been thinking it would be a nifty hack to make a FCD recorder for a set of satellites using a very small computer, like the BeagleBoard. It seems to me that a daily cron job with 'Predict' would just about do what was necessary, especially now that we have a commandline tool for the FCD. The only part that would take some fiddling would be piping the USB sound card into a file with the proper headers for HDSDR.
73, Bruce VE9QRP
I have to agree that HDSDR's recording scheduler is a really neat feature. However, two improvements that I believe can make this even better will be:
1. Although HDSDR can 'start' the receiving based on the start time of a scheduler record, it only stops the recording at the end time of the scheduler. It does not 'stop' the receiving - which will be good to save CPU resources if the SDR is used in an automated unattended satellite tracking station that has the PC shared with other stuff.
2. The need to set the scheduler manually could be eliminated if HDSDR can make use of DDE output of satellite tracking software. For example, in my station I use WISP + WISPDDE for antenna tracking while the FCD is controlled by DK3WN's FCD control software.
If HDSDR could use the DDE output of WISP, it can start recording when a satellite name appears, and stop when '*** NO Satellite ***' appears.
These are just some of my thoughts to make automatic unattended reception easier, but I must say that DK3WN's FCD control + HDSDR are really great pieces of software. Thank you to all those involved in their development :)
73, Sion, 9M2CQC
Sion,
another point to the DDE aspect:
just working on the DDE link between SATCONTROL and HDSDR. At the moment HDSDR supports only Orbitron (Doppler tracking interval 1s), HRD and WXtrack.
If I change the application name of SATCONTROL to Orbitron, the link can be established and it works. The idea behind is to end the LO Frequency to the FUNCubeDonge once - and keep it fix - BUT change the TUNE frequency of HDSDR. This is possible in 1 Hz steps, so you can follow a narrowband signal (CW/BPSK) much continuously. (You can't change the LO Frequency of the FCD in 1 Hz steps).
73, Mike DK3WN
If HDSDR could use the DDE output of WISP, it can start recording when a satellite name appears, and stop when '*** NO Satellite ***' appears.
These are just some of my thoughts to make automatic unattended reception easier, but I must say that DK3WN's FCD control + HDSDR are really great pieces of software. Thank you to all those involved in their development :)
73, Sion, 9M2CQC
_______________________________________________ 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
Mike,
First of all, thank you for the very great software :)
Just to clarify, in this case you will be tuning dopper at HDSDR instead of FCD control level? Which if I get it right will result in the I/Q of the pass being recorded without doppler control?
73, Sion, 9M2CQC
Quoting Mike Rupprecht mail@mike-rupprecht.de:
Sion,
another point to the DDE aspect:
just working on the DDE link between SATCONTROL and HDSDR. At the moment HDSDR supports only Orbitron (Doppler tracking interval 1s), HRD and WXtrack.
If I change the application name of SATCONTROL to Orbitron, the link can be established and it works. The idea behind is to end the LO Frequency to the FUNCubeDonge once - and keep it fix - BUT change the TUNE frequency of HDSDR. This is possible in 1 Hz steps, so you can follow a narrowband signal (CW/BPSK) much continuously. (You can't change the LO Frequency of the FCD in 1 Hz steps).
73, Mike DK3WN
If HDSDR could use the DDE output of WISP, it can start recording when a satellite name appears, and stop when '*** NO Satellite ***' appears.
These are just some of my thoughts to make automatic unattended reception easier, but I must say that DK3WN's FCD control + HDSDR are really great pieces of software. Thank you to all those involved in their development :)
73, Sion, 9M2CQC
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
Sion,
exactly, the LO frequency of the FCD should be set to a fixed frequency, e.g. the center frequency of the pass band. You "move" the TUNE frequency with HDSDR through the spectrum according the doppler correction.
73, Mike DK3WN
-----Ursprüngliche Nachricht----- Von: Sion Chow Q. C. (9W2QC) [mailto:9w2qc@9w2qc.net] Gesendet: Montag, 15. August 2011 10:47 An: Mike Rupprecht Cc: amsat-bb@amsat.org Betreff: Re: AW: [amsat-bb] Re: Decoding wideband recordings
Mike,
First of all, thank you for the very great software :)
Just to clarify, in this case you will be tuning dopper at HDSDR instead of FCD control level? Which if I get it right will result in the I/Q of the pass being recorded without doppler control?
73, Sion, 9M2CQC
Quoting Mike Rupprecht mail@mike-rupprecht.de:
Sion,
another point to the DDE aspect:
just working on the DDE link between SATCONTROL and HDSDR. At the moment HDSDR supports only Orbitron (Doppler tracking interval 1s), HRD and WXtrack.
If I change the application name of SATCONTROL to Orbitron, the link can
be
established and it works. The idea behind is to end the LO Frequency to
the
FUNCubeDonge once - and keep it fix - BUT change the TUNE frequency of HDSDR. This is possible in 1 Hz steps, so you can follow a narrowband
signal
(CW/BPSK) much continuously. (You can't change the LO Frequency of the FCD in 1 Hz steps).
73, Mike DK3WN
If HDSDR could use the DDE output of WISP, it can start recording when a satellite name appears, and stop when '*** NO Satellite ***' appears.
These are just some of my thoughts to make automatic unattended reception easier, but I must say that DK3WN's FCD control + HDSDR are really great pieces of software. Thank you to all those involved in their development :)
73, Sion, 9M2CQC
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
Thanks Bruce.
I think I need to go get a preamp and filter! And try again.
73, tom n4zpt
On 8/14/2011 12:06 PM, Bruce Robertson wrote:
On Sat, Aug 13, 2011 at 7:07 PM, Phil Karnkarn@philkarn.net wrote:
On 8/10/11 8:24 PM, Tom Azlin N4ZPT wrote:
I have a Fun Cube Dongle so I would Phil. Thanks and 73, Tom n4zpt
Okay, everybody make and keep your wideband I/Q recordings and I'll work on an enhancement to my demodulation/decoding software to process them. It may not run in real time on slower machines because of the need to search a wider frequency range, but this won't matter if it can work on a recording.
I can probably speed things up by including an orbit model in the modem to predict Doppler open-loop, but this will take time to implement and it will still be vulnerable to small errors in the elements and/or your clock, especially around closest approach. So record the date and time of your recordings and the current eleset at that time.
For those who have not noted this feature, HDSDR will open a recording scheduler if you right click on the 'record' button. It saves files with UTC time appended. The tricky part is that you have to set the scheduler manually in local time.
I've been thinking it would be a nifty hack to make a FCD recorder for a set of satellites using a very small computer, like the BeagleBoard. It seems to me that a daily cron job with 'Predict' would just about do what was necessary, especially now that we have a commandline tool for the FCD. The only part that would take some fiddling would be piping the USB sound card into a file with the proper headers for HDSDR.
73, Bruce VE9QRP
Am 2011-08-10 00:54, schrieb Phil Karn:
It's been suggested that I modify my ARISSat-1 BPSK-1000 telemetry demodulator/decoder to accept wideband quadrature (I & Q) recordings like those produced by most of the software defined radios out there.
This is fundamentally not that hard, but first I need some information.
How many people could actually use this?
I guess all people that use SDRs in the style of FCD, like SDR Widget, or generally all DDC receivers that work with soundcard interfaces.
What is the format of the recorded files? Is there a standard, or does each make of SDR produce its own?
Often the I and Q channel are recorded via Left and Right of a sound interface, either built-in in the computer or via USB. FCD for example is not more than a very powerful DDC chain, an USB audio device with 96kHz bandwidth and a USB HID interface to control all the settings, like filters and gains. So for a recording you'd probaly end up in whatever your recoding program produces, likely WAV, but any format with 16bit and 2 channels would do.
For decoding please be aware that I/Q via sound interfaces has a weak spot at the centre frequency. The interfaces all have a high pass characteristic below like 30Hz, which means the resulting spectrum has a notch in the middle. You usually would not like to exactly tune the center frequency to the frequency of your interest, but a little below or above. You can see that notch for example at
http://www.oz9aec.net/index.php/funcube-dongle/423-funcube-dongle-on-the-air... With all oscillators being not perfect this can probably be ignored, as you wouldn't end up at the center frequency anyway.
For converting audio files I can recommend sox http://sox.sourceforge.net which is quite common in Linux distributions, but as cross platform tool also available for Windows and Mac OS X. It's also available as library.
What I wonder is how good BPSK1000 survives speech encoders, like MP3. Is there any experience already?
73
Patrick
On 8/18/11 8:15 AM, Patrick Strasser OE6PSE wrote:
For decoding please be aware that I/Q via sound interfaces has a weak spot at the centre frequency. The interfaces all have a high pass characteristic below like 30Hz, which means the resulting spectrum has a
Yes, I'm familiar with this. I will ask users to put this notch in the center of the transponder band (145.938 MHz) so that the BPSK-1000 beacon will appear at about -18 kHz. 0 Hz will correspond to the notch, the transponder will appear between -16 kHz to 0 Hz and the FM signals (voice, sstv) will appear in the positive frequencies centered at +12 kHz.
It will be easier if Doppler is *not* corrected for so I can do that in software. This will move the notch +/- 3.3 kHz around the center of the passband, and that might interfere a little with the top of the transponder passband between AOS and closest approach.
If for some reason the I/Q channels are swapped or there's a polarity inversion simply flipping the sign on the frequency should take care of it. The BPSK-1000 signal is symmetric so it can tolerate sideband inversion. (USB reception on a conventional SSB receiver is recommended only because the CW beacon is 1 kHz below the BPSK-1000 beacon. This puts the CW beacon at an audio frequency of 500 Hz when the BPSK-1000 suppressed carrier is at its nominal 1500 Hz. It could be received just fine in LSB mode but then the CW beacon would have to be tuned to an uncomfortably high pitch of 2.5 kHz, and it would be harder to tune it accurately by ear.)
What I wonder is how good BPSK1000 survives speech encoders, like MP3. Is there any experience already?
Much to my amazement, during prelaunch testing I was able to decode BPSK-1000 that had been run through lossy codecs like MP3. But I don't recommend it. If the recording data rate is a problem, reduce the sampling rate while ensuring that the 2 kHz wide BPSK-1000 signal is completely captured within the Nyquist bandwidth of your A/D converter. E.g., 8000 or 9600 Hz should be fine provided the BPSK-1000 signal is centered at 1500 Hz. Although the demodulator assumes an A/D sampling rate of 48 kHz, a recording with a lower sampling rate can be converted back to 48 kHz with a program like 'sox' as long as the information is still there.
73 Phil
participants (9)
-
Al Bolduc
-
Bruce Robertson
-
Gordon JC Pearce
-
Iain Young, G7III
-
Mike Rupprecht
-
Patrick Strasser OE6PSE
-
Phil Karn
-
Sion Chow Q. C. (9W2QC)
-
Tom Azlin N4ZPT