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.
companion
GNU Radio 3.3.0 on Mac OS X – USRP
I have now tried the USRP on Mac OS X using the MacPorts installation and I am happy to report that it works very well. Indeed, the USRP is really plug and play on OS X and there is no need to configure udev or anything like it is the case on e.g. Ubuntu Linux. The video below shows the FM receiver listening on the local APRS frequency.
A different look at random noise
I was reading about the probability density function when I suddenly realised what the histogram sink in GNU Radio can be used for. I knew very well what a histogram is and how it used in e.g. physics, I just didn’t quite know what to use it for in a software radio.
Simple SSB transmitter using complex bandpass filter
There are several ways to generate a single side band signal in a software radio and I am slowly exploring each and every one of them. For this first attempt I have decided to try using a basic amplitude modulation followed by a bandpass filter with complex taps that can select either the upper or the lower side bands.
Playback of the Recorded IQ Data
Yesterday I described how to record the IQ data from the USRP focusing on generating unique file names every time the GNU Radio / GRC script is executed. Playing the recorded IQ data is really simple: We take the corresponding receiver application and replace the USRP source with a file source and a throttle block.
Dynamic File Names in GNU Radio Companion
I needed a quick USRP IQ data recorder today to record the APT downlink from NOAA satellites. This is really trivial to implement using the GNU Radio Companion, but I had to figure out how to use dynamic filenames to avoid overwriting previously recorded data. Of course, I could just rename each file when recording has finished but I am too lazy to do things like that. Using the current date and time in the file name seemed to be a good solution.
This quick how-to explains how to use the Python datetime module to generate a unique filename in GRC.
GRC Examples
On this page you will find a few software defined radio (SDR) examples implemented in the GNU Radio Companion aka GRC. They are very simple yet functional examples I created while I was learning GNU Radio and SDR. I hope other who are learning GNU Radio and SDR might also find them useful.
GNU Radio SSB/CW/AM/FM Receiver v0.6
New update of the simple receiver – version 0.6 – with the following changes:
- Added frequency entry widget to change USRP frequency
- Also created AM and narrow FM versions
Binaural CW Receiver with GNU Radio and USRP
Today I felt like doing an experiment that is not quite on my TODO list – a binaural CW receiver. A binaural CW receiver is a receiver that gives a spatial feeling while you are tuning. As I understand it, you have to use stereo where the signals move from one side to the other as you tune and are in the middle when you are tuned to the frequency.
Improved AGC for the simple SSB receiver
Few days ago I wrote about how I upgraded the simple double side band receiver implemented in the GNU Radio Companion to a simple single side band receiver. This initial implementation used some default values for the AGC attack and decay rates. These values were acceptable; however, I wanted to spend some time trying to find better values that would correspond to Fast, Medium and Slow AGC – just as we are used to in commercial radios.