About a week ago I resumed working on GQRX – an experimental AM/FM/SSB software receiver powered by GNU Radio and using Qt for user interface. This time, however, I am not going to continue working on the Python receiver but create a new receiver from scratch written in C++. It will support Funcube Dongle and USRP/UHD devices.
I have wanted to implement a simple APT decoder for the NOAA weather satellites in GNU Radio for quite some time now, in particular since the USRP equipped with a TVRX or WBX daughterboard and a GNU Radio FM receiver can be an extremely good receiver for this purpose. Today I have spent some time looking at the details of decoding APT and actually ended up with a working prototype implemented using the GNU Radio Companion.
As I tweeted last Friday, I managed to get a Funcube Dongle this time! The dongles were packaged over the weekend and shipped Monday this week. I could pick up mine at the local post office earlier today. Initial smoke testing using Linux and GNU Radio has been very encouraging for further experiments.
The Universal Hardware Driver (UHD) for the USRP contains a cool example program that can draw spectrum scope using simple ASCII art. This video shows reception of 8 MHz wide spectrum slices in the broadcast FM band 88 – 108 MHz.
It looks like AMSAT is going to launch a new satellite! ARISSat-1 – the successor of SuitSat-1 – is ready to be launched on Progress-41P heading to the International Space Station on Friday, January 28, 2011. It will be deployed into its own orbit during EVA 27 currently scheduled for February 16. Once in orbit, it will slowly decay and eventually burn up in the Earth’ atmosphere. SuitSat-1 decayed after 7 months in orbit and that’s also a likely life time for ARISSat-1.
So, why is ARISSat-1 cool and why should we care?
Before getting my hands all dirty with adding UHD driver to Quisk, I decided to take it for a test drive using some pre-recorded samples. I have used a 250 ksps recording of the HO-68 / XW-1 linear transponder downlink that I have recorded on November 9, 2010 using the USRP and the RFX400 daughterboard.
Few days ago I learned about the Quisk software defined radio application for Linux. It is written by James Ahlstrom N2ADR with contributions from other radio amateurs around the world. A quick glance at the home page and the documentation suggested that it is a rather simple application where it is easy to add support for other hardware.
I woke up at 4 AM last night and couldn’t fall into sleep right away, so I got up and started reading emails. To my great surprise there was an email from Matt Ettus announcing the availability of the USRP E100 in mid December. The E100 here is according to the new naming convention used by Ettus: E=embedded, 1=first generation, 00=revision number – or something like that. So it is indeed the Embedded USRP I wrote about in July, which back then was based on some info I picked up on another mailing list and a press release.
Just a quick note that I have successfully installed the Universal Hardware Driver (UHD) for the USRP. The UHD is the next generation hardware driver for the USRP family hardware from Ettus Research and it provides better hardware abstraction and portability as the current drivers.
I already tried to make the switch few weeks ago without success – well, it built fine but without USRP1 support. Now I have realized that it was because I was missing the libusb-1.0 libraries (my current drivers use the old libusb-0.1). After installing the libusb-1.0 devpack it compiled fine including the USRP1 support. Both uhd_find_devices and uhd_usrp_probe detected my USRP1 and the daughterboards that I have currently mounted. I did not have much time to play around with it but it was fun to try the ASCII art spectrum analyzer example that is included with the UHD.
Before you laugh think about how useful this can be over an SSH connection to a remote site 🙂
Switching to GNU Radio next branch was also painless once UHD was installed and in the path. Again, no test runs but GRC comes up with the UHD block. Now on to porting my applications adding UHD support…