September 24, 2018

GNURadio based FM Radio Receiver using (RTL-SDR)

I. Introduction

 

II. Commercial Frequency Modulation

Electromagnetic waves can be used to carry baseband signals (audio, video, etc.), by altering one of its following characteristics:

  1. Amplitude
  2. Wavelength (or frequency)
  3. Phase
  4. Polarization

Amplitude alternation of the electromagnetic wave, is called amplitude modulation, can be mathematically written as:

\[x_{am}(t) = (1 + K_{am} m(t) ) \cos (2\ \pi\ f\ t)\]

The amplitude modulation is the simplest form of modulation format used classically by AM broadcast stations, which are declining with age. This is because of the high power requirements, the atmospheric and path effect on the received signal, incoherence of the receiver, which produces different artifacts in the received signal. Therefore, a proper AM receiver will require coherent demodulation, fast AGC which makes the design costly.

Therefore, the radio communication requires a new system which would not be affected by the amplitude variation caused by various agents through which the signal propagates. This is made possible by use of Angle Modulations. There are two types of Angle modulations:

  1. Phase Modulation (PM)
  2. Frequency Modulation (FM)

Phase Modulation (PM) is the first type of angle modulation. In this form of modulation, the phase of the carrier wave is changed proportionally to the baseband signal (also called message signal). Thus at any instant of time, the amplitude of the PM modulated signal remains constant. The mathematical form of the PM waveform is:

\[x_{pm}(t) = A \cos (2\ \pi\ f\ t + K_{pm} m(t)) \]

Therefore, in Phase Modulation (PM), the effect of propagation which results in the change of amplitude of the signal does not affect the PM. Although the phase delay caused by multipath effect, incoherence of receiver will result in an additional phase which may affect the received signal. Therefore, the PM modulation requires tight coherence between the receiver and transmitter. Hence, this is not a commercially viable option.

The Frequency Modulation (FM) works by changing the carrier frequency with respect to the baseband signal. Such a variation can be written as:

\[f_{i}(t) = f + \frac{K_{fm}}{2\pi}\ m(t)\]

which when integrated with respect to time gives the instantaneous phase \[\theta\] of the carrier wave, which can be written as:

\[\theta = \int 2\ \pi\ f_{i}(t) dt = \int 2\ \pi\ (f + \frac{K_{fm}}{2\pi}\ m(t))\ dt\]

Therefore, the carrier wave can be written as:

\[x_{fm}(t) = A \cos (\int 2\ \pi\ f_{i}(t) dt = \int 2\ \pi\ (f + \frac{K_{fm}}{2\pi}\ m(t))\ dt\ +\ \phi)  = A cos (2\ \pi\ f\ t  +\int\ K_{fm}\ m(t)\ dt\ +\ \phi)\]

Here \[\phi\] represents the incoherence of phase between the transmitter and the receiver oscillator, which is a fixed value in time. When demodulating the received FM signal, the instantaneous phase of the received signal is extracted and differentiated with respect to time. This makes the carrier incoherence term \[\phi\] vanish, whereas the term for carrier frequency becomes \[2\ \pi\ f\], which appears as DC term at the output. The actual baseband signal appears level shifted over this term. By coupling the differentiated phase through a capacitive coupling stage, restore the baseband signal at the output. Therefore, FM systems are unaffected by signal amplitude (or power) and phase incoherence, which makes it convenient for commercial FM broadcast. Since the amount of received signal power does not affect the FM demodulator, the FM receiver can work even when the front end is saturated. However, FM suffers from the capture effect, whereby when two stations are broadcasting at the same frequency, the receiver will only pick up the signal which it receives with the highest power. Due to this, FM transmitters are limited to their own channels and maintain specified separations.

The bandwidth of FM signal:

Amplitude modulated signal has the bandwidth equal to 2 times the bandwidth of the baseband signal. However, the angle modulated signal have much higher bandwidth requirement, which is approximately calculated from Carson’s Rule.  For an FM signal, the overall bandwidth is given by,

\[Modulation\ Bandwidth\ =\ 2\ (Peak\ Frequency\ Deviation\ of\ FM\ +\ Baseband\ signal\ bandwidth)\]

Although the signal power of the modulated FM may lie outside this modulation bandwidth, their component power is insignificant for causing any interference. Therefore, within the Modulation Bandwidth calculated using this formula, 98 % or more amount of the signal energy lies.

If we consider, the commercial FM broadcast, where the maximum allowable (monoaural) audio bandwidth is 15 KHz, but the allowed maximum frequency deviation of 75 KHz, resulting in a bandwidth of 180 KHz. However, as FM bandwidth is ideally infinite, the practical power lying outside this estimated bandwidth is 17 dB. Hence, to prevent the receiver from experiencing the capture effect, a 20 KHz channel gap is maintained, which results in overall FM bandwidth of 200 KHz. If we look at the depth of modulation of FM signal, given by \[\beta\ =\ \frac{Maximum\ Frequency\ Deviation}{Audio\ Bandwidth}\] is equal to \[5\].

Reception of FM Signal

Frequency modulation can be demodulated using the following methods:

  1. Frequency Discriminator method, whereby the demodulation is obtained by FM to AM conversion, finally detecting the AM to obtain the baseband signal. The detector uses a Bandpass filter such that the received signal frequency falls on the linear region of the filter envelope, thereby at the quasi-linear region of the filter response curve.
  2. Frequency discriminator method using Pre-envelope is an extension of Frequency Discriminator. A quadrature demodulator, like SDR, is used to obtain quadrature demodulated output of the received FM. Then the phase is obtained from the quadrature IQ samples, which is further differentiated (can be approximated by an FIR Hilbert Filter), to obtain the audio signal. An extension of this method is Frequency Discriminator using Complex Envelope.
  3. Phase locked loop method, similar to Costas loop, offers better performance under noisy environment.

In this presentation, GNU-Radio is used to implement FM demodulator, which works similar to the Frequency Demodulator method using Complex Envelope, and outputs the real audio samples. Further, the flowgraph uses an optimized down sampler, to retain only one channel of commercial FM signal, which reduces the burden on the CPU.

III. GNU-Radio Flowgraph

GNU-Radio is a software addendum to python, which leverages the easiness of Python program coupling it to the native and enhanced efficiency of C/C++ to bring the Signal Processing capability to the user. Therefore, this presentation focus on demodulation of commercial FM using the GNU-Radio Companion application. However, the flowgraph is discussed in sections, so that the complete graph can be explained.

Receive and Downsample Data
Receive and Downsample Data

The above figure shows the first part of the flowgraph. In the figure, RTL-SDR is used as a receiver. The receiver is tuned to the FM channel to be received. But the sample rate is 2 MSPS, where each sample consists of IQ samples, forming the complex envelope of the received RF. The sampler of RF is 8-bit for each of I and Q sample. The dynamic gain of such ADC is approximately 48 dB (\[=\ 6.02 \times Number\ of\ Bits\]). However, such a high sample rate encompasses more than one analog FM channel. Hence, it is required to first limit the spectrum to a 200 KHz channel, about the RTL-SDR center frequency. This can be done through the use of a Low Pass Filter with the cutoff frequency equal to the actual bandwidth of the FM channel. This is done using the FIR filter, whose tap settings are specified by the following method:

firdes.low_pass(1,samp_rate,200e3,400e3)

 

IV. Demonstration

 

V. Conclusion

 

 

GNURadio Flowgraph can be downloaded by clicking here

 

[Work in Progress]

Leave a Reply

Your email address will not be published. Required fields are marked *