In this exercise, you first need to acquire and analyze a broad frequency spectrum to locate a radio station. Then acquire a specific station, decode it, and listen to it. Then you will be able to interact with the signal in both the time and frequency domains at every step in the process using the NI USRP-2920 and LabVIEW to maximize your understanding.
By the end of this tutorial, you will be able to
- Locate FM radio stations and recognize their spectral shapes
- Determine the bandwidth used by a radio station
- Identify the subcarriers in a demodulated FM radio signal
- Recognize the “pipelining” design pattern for multithreaded streaming
FM stands for frequency modulation, which is the process of encoding a message signal, such as music, in the frequency of an RF signal. Broadcast FM radio around the world is typically transmitted using center frequencies from 87.5 MHz to 108 MHz, and each station is generally allocated a bandwidth of 200 kHz. For this example, use the center frequency of 94.7 MHz, the known location of a local radio station near the center of the US FM band.
Introduction to the NI USRP™
The NI USRP-2920 is a flexible RF transceiver, meaning that it can both transmit and receive signals. For this example, the RF front end is configured to be a receiver and acquires a 10 MHz band of RF spectrum reserved for broadcast FM.
Figure 1. NI USRP-2920
The USRP-2920 receives the FM signal through an antenna connected directly to RX1, and then it downconverts the signal to baseband I/Q and the samples using two high-speed analog-to-digital converters. I/Q, which stands for in-phase and quadrature, is a convenient way to create a baseband (lower frequency) equivalent of an RF signal. The resulting I/Q samples are sent over a Gigabit Ethernet interface to the PC for processing in LabVIEW.
Figure 2. FM Radio Stations From Find FM Signals.vi
Now you need to process the I/Q samples with a LabVIEW virtual instrument, or VI. With the virtual instrument, you can customize the front panel or user interface for the USRP-2920. The graph in Figure 2 is displaying the average spectrum of the FM band. Each peak in this graph represents a local radio station. Zooming in on 94.7 MHz in Figure 3, you can see the spectrum occupied by this radio station.
Figure 3. 200 kHz Bandwidth of 94.7 FM
If the RF signal was only a single frequency tone at 94.7 MHz, it would show up here as a very narrow spike. But you can see that the RF energy for this station spreads across multiple frequencies. This is the bandwidth of the signal, about 200k Hz, and it contains frequency modulated audio (as well as some other information to be discussed later). To extract the audio, you need to use a different VI to configure the USRP-2920 to acquire the narrower-band RF signal broadcast by this radio station and demodulate it.
Demodulating FM Radio
The FM Deod Sound Card VI is set to an RX frequency of 94.7 MHz, an I/Q sampling rate of 200 kS/s, and a relative 25 dB. These specifications may differ based on the radio station and antenna being used. Once configured, the VI is ready to run.
Figure 4. Demodulated FM Radio Using FM Demod Sound Card.vi
In this VI, you can see both the time and frequency domains of the music being broadcast. Now examine how this audio is being extracted. Like the first example, first samples enter LabVIEW as raw baseband I/Q represented as complex numbers. Using the LabVIEW Modulation Toolkit, you FM demodulate the I/Q signal. The top graph shows the time domain waveform after the audio samples are recovered and downsampled to 44.1 kHz. The bottom graph shows the frequency spectrum of the FM demodulated signal. After modulation, you can clearly see that a lot is packed into a single FM signal. While the signal is continually changing, you can detect some patterns. Using root-mean-square (RMS) averaging, you can determine the common shape of the signal.
Be sure to watch the attached video to both see and hear the results of running this VI.
Specifically when examining this VI's block diagram, you notice three distinct rows of icons. Each row is a processing step that provides its result to the next row for processing in the next loop iteration. This process of separating a serial task into parallel tasks that happen in future iterations of a loop is called pipelining. The first row across the top of the while loop initializes and acquires I/Q signals from the USRP-2920. In the middle of the while loop, the FM signal is demodulated and resampled to audio frequencies. The third row on the bottom of the while loop continuously outputs the recovered audio to the sound card. Pipelining allows the VI to efficiently stream the data through each of the three processing steps. (Note that pipelining does introduce a time delay; two full loop iterations are required for a signal acquired from the antenna to move through the system and be played back as audio.)
Figure 5. Demodulated FM Radio Block Diagram in LabVIEW
Analyzing Demodulated FM Radio Signals
The distinct shape of this FM demodulated signal is common to most radio stations around the world. To give this image more meaning, you can use cursors to further illustrate the different sections of this signal.
Figure 6. Cursors Enabled, Showing Components of Demodulated FM Radio
The first section of Figure 6, to the left of the red line, is composed of the left and right audio added together and can be played out as mono audio. Focusing on this part of the signal, you can see a nice block of frequency deviations up to 15 kHz. This corresponds to the actual audio frequencies that your ears can hear. There is a pilot tone at 19 kHz used by a radio receiver to recover stereo audio as well as other information. The stereo audio is recovered by using the information located just after the pilot tone. The stereo audio data, left channel minus right channel, is modulated using an AM suppressed carrier. Once the signal has been AM demodulated using the first harmonic of the 19 kHz carrier, adding this information to the mono signal produces the left channel audio and subtracting this information from the mono signal produces the right channel audio. After the stereo section, the two peaks centered around 57 kHz contain RDS text information used to display the radio station and current song on the display of many modern car stereos. Some radio stations take advantage of the remaining spectrum for HD radio, usually broadcast around 76 kHz.
Each broadcast FM radio station occupies a 200 kHz wide bandwidth and, when demodulated, contains many different subcomponents. However, in this short tutorial, you've only begun to scratch the surface. Using these VIs as a starting point, you can go on to reconstruct stereo audio and even decode the RDS subcarrier. The USRP-2920 and LabVIEW provide an ideal solution for exploring the basics of broadcast FM and other analog and digital modulation schemes. In addition to its educational advantages, this solution is a valuable research tool.
Learn more about the NI USRP platform at ni.com/usrp.