rtl tcp radio on iPad, part 2

During my previous post, I explained how to connect to the rtl_tcp, and read samples using pythonista. Next, I wanted to develop a plan for what blocks of code are needed to implement the simplest radio, with the easiest signal to demodulate: AM radio. To figure out what steps are needed, I decided to use GNU Radio to first build a working radio. From the building blocks used in GNU Radio, I will write the code in pythonista.

Below is the GNU Radio flow chart that generated a working AM radio. It is pretty simple, however there were a few pit falls to keep in mind.

GNU Radio Flow Graph

In creating this flow chart, I experimented with a few different sampling rates. In the flow chart above, a 2.048 MS/s is used. I discovered that the R820T running in the dvb-t dongle is limited in what sampling rates it can use; and not just an upper limit. 256 KS/s seemed to work fine, as did 2.048 MS/s. Two other sampling rates that I tried, 192 KS/s and 320 KS/s didn't work at all, giving unnatural sounding audio output.

Additionally, as pointed out on this DSP stack exchange question the cutoff frequency for the LPF filter must be specified in normalized frequency.

So far, as detailed in the first post of this series, I can read in samples (the very first block), and also decimate samples. Next, I will need to create a Low Pass Filter (LPF). I have been reading up on some old DSP notes, and I will use an FIR filter, and a Hamming window. More to follow...

Comments !