LabView is a popular visual programming environment often used in industry and by engineers for test, automation and control applications. It is somewhat similar to GNU Radio in that programming is done by connecting a series of various blocks together, each of which performs some function. The RTL-SDR is compatible with LabView via a simple RTL-SDR interface.
1. The signal is received from the rtl-sdr device as IQ data. This is converted to a complex signal and the phase is extraced.
2. The phase correction removes phase discontinuities.
3. The key demodulation component in the chain is the phase derivative. The phase derivative takes the phase of the signal and creates a second signal that is composed only of the changes in frequency. This is then the demodulated signal.
4. The low pass filter is used to filter out frequencies above 15kHz, which do not contain the desired information.
5. The rational resample takes the signal, which is still at the sampled rate (in the examples case 286650Hz) and resamples it to something the sound card can handle. In this case, we are using a decimation factor of 13, which results in a 22050Hz audio stream. Actually, I worked this out the other way around. I wanted a 22050Hz audio stream and checked which sample rate would give me an integer decimation while keeping the RF sampling rate as low as possible.
Back in August we posted how Albert Lederer had created a RTL-SDR interface for the LabVIEW visual programming language which could be run on a host PC. LabVIEW is a visual programming language which is used commonly by engineers and scientists to quickly build applications for things like product testing, system monitoring, instrument control etc.
The whole point of running the RTL-SDR on the myRIO is to eventually make use of the on board FPGA. In future posts he hopes to show us how to use the on board FPGA to offload digital signal processing (DSP) tasks, which would significantly speed up applications.
Today LabVIEW and RTL-SDR user Albert Lederer wrote in to let us know that he’s created a new LabVIEW interface for the RTL-SDR. LabVIEW is a visual programming language which is used commonly by engineers and scientists to quickly build applications for things like product testing, system monitoring, instrument control etc.
Currently there is already a LabVIEW interface for the RTL-SDR available called sdrLab. However sdrLab uses rtl_tcp for communication which can cause poor responsiveness and issues with corporate firewalls. Albert’s solution is instead a wrapper for rtlsdr.dll which allows LabVIEW to gain direct access to the RTL-SDR.
On his post Albert has created a write up that explains how his driver works, and how it can be used with LabVIEW. Keep an eye on Alberts future posts, as he writes that he intends to post a part two, where he will show how to attach an RTL-SDR to an NI myRIO.
If you’re familiar with the LabVIEW software, there is now an RTL-SDR interface called SDRLab by Beküldte Andris. The software is able to capture the I/Q data from the RTL-SDR, and with that you can do educational experiments in LabVIEW, which is great for students. The author has also implemented a FM demodulator.