Wednesday, 1 October 2014

The Radio

At this point, we have a working transmitter sending out a signal of 1s and 0s at around 434.650MHz. The question now is how to capture and decode the signal. Amateur radio operators will definitely have an advantage here. I, not being one, was not willing to basically double the price of my project by buying a proper radio just for this purpose, and, unfortunately, none of the people I knew was an amateur radio enthusiast either. Thus I turned to Google once again. Luckily, I eventually came across something called Software Defined Radio.
SDR in general is, as I understand it, a process in which one uses a specific device with an antenna to capture a spectrum of radio frequencies with the demodulation that is otherwise done in the proper radio's hardware, taking place in one's computer's software. Apart from specific SDR intended devices, there are several models of DVB-T dongles that combined with the right software provide comparable functionality for a fraction of the price. The dongle I found on Aukro and ordered contained Realtek's RTL2832U chip and Elonics' E4000 tuner allowing you to tune into frequencies from 60MHz to 1900MHz. These are the important parts distinguishing SDR usable DVB-T dongle from an ordinary one.
The next step after the DVB-T dongle had arrived was to install the software. First thing I needed to do was to install the proper driver. This is done by using a program called Zadig. It lets you choose the right USB port and replaces the driver with the required one. Next piece of software I installed was SDRSharp. This program is the one that allows you to tune across the mediated frequency range. You just select the RTL-SDR/USB option in the left upper corner and then, depending on what you want to do, either WFM for listening to a regular radio station (the image above) or you choose the USB (upper side band) option for listening to your payload (the image below). For the software download links and a manual on how to set it all up visit:
The signal reception was solved. Next, I needed something to actually decode it. The program to do that is called DL-Fldigi, a modified version of the standard Fldigi software that besides decoding allows you to upload high altitude balloon telemetry data straight to the Habitat webpage that then displays the balloon data on a map. But first, I had to install VB-Cable software that establishes a virtual cable connection between SDRSharp and DL-Fldigi. In SDRSharp, I then selected the 'VB Audio Point' option in Audio/Output and in DL-Fldigi selected the same option in Configure/Sound Card/Audio/Devices/Capture. Now, when I turned the DVB-T dongle on and tuned into the frequency of my payload, a stream of data flowed into the DL-Fldigi.
To decode the data, I first went to Op Mode/RTTY/Custom and selected the options based on the properties of my signal. All I had to do then was to locate the cursor above the two frequencies of received data and click. With the 'Automatic Frequency Control' option selected, the program then stays locked onto the signal on its own even if the frequency drifts. That sometimes happens when the temperature of the transmitter changes. When it heats too much or when it freezes (at high altitudes for example). If there wasn't any problem, the decoded message should appear in the middle window.
This program contains a lot of settings that might give a newbie (like me) a hard time. On my PC, all I had to do to make things work was what I mentioned in the couple of  paragraphs above. But for the actual tracking, I wanted to use my notebook (Asus EEE pc 1000h) for its outstanding battery life. The only problem was, I couldn't get it run. I suspected the EEE's miserable computational power. The both programs would work very slow and the decoder would print out only nonsense characters instead of the telemetry data. A couple of sleepless nights later and some googling of radio terms, I made it work. To summarize for someone dealing with the same problem, I would recommend to fiddle with the following options. In SDRSharp I set the Sample Rate in the Configure option as low as possible and I switched both Automatic Gain Controls off. Instead of that, I operated the RF Gain manually based on the signal strength. I unselected the 'Use AGC' button in the left panel as well and finally I decreased the resolution in the FTT Display option to 2048-4096. The smallest value of 512 didn't work with the DL-Fldigi and delivered no decodable signal. I tried a lot of options in the DL-Fldigi as well, but when I did the aforementioned changes in SDRSharp, DL-Fldigi worked fine even in the standard setup.
The whole setup finally working fine on my notebook as well.
And a picture from the early stages with the signal too strong. Here, it would be useful to turn of the Automatic Gain Controls and adjust the RF Gain manually.

No comments:

Post a Comment