Sunday, September 13, 2015

First experiences with Software Defined Radio (SDR)

Software defined radio (SDR) consists of implementing most of the components in a radio transmitter or receiver (filters, modulators, mixers and the like) using software. The only parts that remain analogue (the RF front end) are a high frequency low-noise amplifier connected to the antenna, switchable band-pass filters, and a variable-frequency oscillator that moves the received signal down in frequency for it to be sampled with a high-speed analogue-to-digital (A/D) converter. I would say that the advance of A/D converters, with increasing conversion speeds, is the key enabler for this technology.

For beginners, I suggest to buy a DVB-T dongle based on the Realtek RTL2832U chip. These dongles, originally made for watching TV on your computer, are very cheap (I got mine for 1000 yen) and well-supported by the rtl-sdr project. If you have the money you can try other boards specifically made for SDR such as osmoSDR, FUNcube, USRP, bladeRF, HackRF or VNWA3 (as my friend Paco suggests) for example. As I explain in my SDR notes, you can test your DVB-T dongle on Linux using the following command (82.5MHz is the NHK radio frequency in Tokyo):

$ rtl_fm -f 82.5e6 -M wbfm -s 200000 -r 48000 - | aplay -r 48k -f S16_LE

Other radio frequencies I could listen from my home were:
  • NHK: 82.5MHz (Tokyo)
  • Tokyo FM: 80.0MHz (Tokyo)
  • FM yokohama: 84.7MHz (Yokohama)
  • Inter FM: 76.1MHz/89.7MHz (Tokyo) / 76.5MHz (Yokohama)
  • 放送大学: 77.1MHz (Tokyo)
  • J-WAVE: 81.3MHz (Tokyo)
  • Bay FM: 78.0 (Chiba)
  • Nack 5: 79.5 (Saitama)
  • Radio city: 84.0 MHz (Tokyo)
  • FM844: 84.4MHz (Tokyo)

Apart from being able to listen to a wide range of frequency bands, the fun part of SDR is that since the signal is all handled by software you can do whatever you want with it. For example, one of the most expensive equipment for an amateur radio fan is a spectrum analyzer. Thanks to SDR and an awesome software called 'gqrx' (powered by the amazing GNUradio project) you can turn your cheap DVB-T dongle into a spectrum analyzer.

Watching the spectrum was useful for understanding why my FM microphone wasn't behaving as expected. In fact, I found out that the center frequency of my FM transmitter was moving around quite a bit and that was the reason it was rather hard to tune.

An not only that, you can also easily create your own receiver designs by using a software called 'gnuradio-companion' that already has a lot of blocks ready for you to use. I shared my gnuradio-companion designs on my github account.

Conclusions: SDR is really fun and will give you insights on how signals are sent, received and processed. I wish I had had the chance to use SDR when I studied electrical engineering (telecommunications) at University. Make sure you check my notes and gnuradio-companion designs on github.

No comments: