FM Broadcast Demodulator Baseband

Demodulate using broadcast FM method


Modulation > Analog Baseband Modulation


The FM Broadcast Demodulator Baseband block demodulates a complex baseband FM signal by using the conjugate delay method, and filters the signal by using a de-emphasis filter. To demodulate stereo audio using 38 kHz, enable stereo demodulation. To demodulate RBDS signals from the 57 kHz band, enable RBDS demodulation.


Sample rate (Hz)

Specify the input signal sample rate as a positive real scalar.

Frequency deviation (Hz)

Specify the frequency deviation of the modulator in Hz as a positive real scalar. The system bandwidth is equal to twice the sum of the frequency deviation and the message bandwidth. FM broadcast standards specify a value of 75 kHz in the United States and 50 kHz in Europe.

De-emphasis filter time constant (s)

Specify the de-emphasis lowpass filter time constant in seconds as a positive real scalar. FM broadcast standards specify a value of 75 μs in the United States and 50 μs in Europe.

Output audio sample rate (Hz)

Specify the output audio sample rate as a positive real scalar.

Play audio device

Select this check box to play sound from a default audio device.

Buffer size (samples)

Specify the buffer size the block uses to communicate with an audio device as a positive integer scalar. This parameter is available only when the Play audio device check box is selected.

Stereo audio

Select this check box to enable demodulation of a stereo audio signal. If not selected, the audio signal is assumed to be monophonic.

RBDS demodulation

Select this check box to demodulate the RBDS signal from the input complex baseband FM signal. By default, this check box is not selected.

Number of samples per RBDS symbol

Specify the number of samples of the RBDS output as a positive integer. The RBDS sample rate is given by Number of samples per RBDS symbol × 1187.5 Hz. According to the RBDS standard, the sample rate of each bit is 1187.5 Hz.

This parameter appears when you select the RBDS demodulation check box.

The default is 10.

RBDS Costas loop

Specify whether a Costas loop is used to recover the phase of the RBDS signal. Select this check box for radio stations that do not lock the 57 kHz RBDS signal in phase with the third harmonic of the 19 kHz pilot tone.

This parameter appears when you select the RBDS demodulation check box.

By default, this check box is not selected.

Simulate using

Select the type of simulation to run.

  • Code generation. Simulate model using generate C code. The first time you run a simulation, Simulink generates C code for the block. The C code is reused for subsequent simulations, as long as the model does not change. This option requires additional startup time but provides faster simulation speed than Interpreted execution.

  • Interpreted execution. Simulate model using the MATLAB interpreter. This option shortens startup time but has slower simulation speed than Code generation.


The FM Broadcast demodulator includes the functionality of the baseband FM demodulator, de-emphasis filtering, and the ability to receive stereophonic signals. The algorithms which govern basic FM modulation and demodulation are covered in comm.FMDemodulator.


FM amplifies high-frequency noise and degrades the overall signal-to-noise ratio. To compensate, FM broadcasters insert a pre-emphasis filter prior to FM modulation to amplify the high-frequency content. The FM receiver has a reciprocal de-emphasis filter after the FM demodulator to attenuate high-frequency noise and restore a flat signal spectrum.



where τs is the filter time constant. The time constant is 50 μs in Europe and 75 μs in the United States. Similarly, the transfer function for the lowpass de-emphasis filter is given by


For an audio sample rate of 44.1 kHz, the de-emphasis filter has the following response.

Stereo and RDS/RBDS FM — Multiplex Signal

The FM broadcast demodulator supports stereophonic and monophonic operations. To support stereo transmission, the left (L) and right (R) channel information (L+R) is assigned to the mono portion of the spectrum (0 to 15 kHz). The (L-R) information is amplitude modulated onto the 23 to 53 kHz region of the baseband spectrum using a 38 kHz subcarrier signal. A pilot tone at 19 kHz in the multiplexed signal enables the FM receiver to coherently demodulate the stereo and RDS/RBDS signals.

Here is the spectrum of the multiplex baseband signal, m(t).

m(t) is given by


where C0, C1, and C2 are gains. To generate the appropriate modulation level, these gains scale the amplitudes of the (L(t)±R(t)) signals, the 19 kHz pilot tone, and the RDS/RBDS subcarrier, respectively.

The demodulator applies m(t) to three bandpass filters with center frequencies at 19, 38, and 57 kHz, and to a lowpass filter with a 3-dB cutoff frequency of 15 kHz. The 19 kHz bandpass filter extracts the pilot tone from the modulated signal. The recovered pilot tone is doubled and tripled in frequency to produce the 38 kHz and 57 kHz signals, which demodulate the (LR) and RDS/RBDS signals, respectively. To generate a scaled version of the left and right channels that produce the stereo sound, the (L + R) and (LR) signals are added and subtracted. The RDS/RBDS signal is recovered by mixing with the 57 kHz signal.

Here is the block diagram of the FM broadcast demodulator.


Modulate and Demodulate an Audio Signal

Load an audio input file, modulate and demodulate using the FM broadcast blocks. Compare the input signal spectrum with the demodulated signal spectrum.

Open the doc_fmbroadcast model.

Run the model. The spectrum of the baseband FM signal is attenuated at the higher frequencies relative to the original waveform.

Experiment with the model by changing the Frequency deviation (Hz) and the Pre-emphasis filter time constant (s) parameters on the modulator and demodulator and observe the impact on the FM signal spectrum.


The input length must be an integer multiple of the audio decimation factor. If the RBDS demodulation check box is selected, the input length in addition must be an integer multiple of the RBDS decimation factor.

Supported Data Types

PortSupported Data Types
Signal Input
  • Double-precision floating point

  • Single-precision floating point

Signal Output
  • Double-precision floating point

  • Single-precision floating point


[1] Chakrabarti, I. H., and Hatai, I. “A New High-Performance Digital FM Modulator and Demodulator for Software-Defined Radio and Its FPGA Implementation.” International Journal of Reconfigurable Computing. Vol. 2011, No. 10.1155/2011, 2011, p. 10.

[2] Taub, Herbert, and Donald L. Schilling. Principles of Communication Systems. New York: McGraw-Hill, 1971, pp. 142–155.

[3] Der, Lawrence. “Frequency Modulation (FM) Tutorial”. FM Tutorial. Silicon Laboratories Inc., pp. 4–8.

Extended Capabilities

C/C++ Code Generation

Introduced in R2015a