Main Content

FM Broadcast Demodulator Baseband

Demodulate broadcast FM-modulated signal

  • FM Broadcast Demodulator Baseband block

Libraries:
Communications Toolbox / Modulation / Analog Baseband Modulation

Description

The FM Broadcast Demodulator Baseband block demodulates a broadcast FM signal into a stereophonic or monophonic audio signal, and the optional RDS (or RBDS) signal. For more information, see Algorithms.

This icon shows the block with all ports enabled.FM Broadcast Demodulator Baseband block showing optional input port

Examples

expand all

Load an audio input file, and then modulate and demodulate the audio signal by using the FM Broadcast Modulator Baseband and FM Broadcast Demodulator Baseband blocks. Compare the input signal spectrum with the demodulated signal spectrum.

The doc_fmbroadcast model loads the guitar.wav signal, modulates the signal for FM broadcast, demodulates the FM broadcast signal, and then compares the recovered signal to the original audio signal in a spectrum analyzer.

Limitations

The input length must be an integer multiple of the audio decimation factor. If you select the RDS/RBDS demodulation check box, the input length must also be an integer multiple of the RBDS decimation factor.

Ports

Input

expand all

FM-modulated baseband audio signal, specified as a column vector. For information about signal length restrictions, see Limitations.

Data Types: double | single
Complex Number Support: Yes

Output

expand all

RDS (or RBDS) signal, returned as a column vector with the same data type as the input signal.

  • N-element column vector for mono signals — N is the number of samples in the audio signal. If you do not select Stereo audio, the output is a column vector.

  • 2-by-N matrix for stereo signals — N is the number of samples in the audio signal per channel. If you select Stereo audio, the output has two channels and the block performs stereo decoding after de-emphasis filtering.

Parameters

expand all

To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.

Output signal sample rate in Hz, specified as a positive scalar. The sample rate must be greater than twice the frequency deviation. Specifically, Sample rate (Hz) > 2 × Frequency deviation (Hz).

Peak deviation of the modulator output signal frequency in Hz, specified as a positive real scalar. The frequency deviation must be less than half the sample rate.

The system bandwidth equals two times 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 lowpass filter time constant in seconds, specified as a positive scalar. FM broadcast standards specify a value of 75 μs in the United States and 50 μs in Europe.

Specify the output audio sample rate in Hz as a positive scalar.

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

Specify the buffer size in samples that the block uses to communicate with an audio device as a positive integer scalar.

Dependencies

To enable this parameter, select Play audio device.

Select this check box to enable demodulation of a stereo audio signal.

  • If you do not select the Stereo audio check box, the audio signal is assumed to be monophonic.

  • If you select the Stereo audio check box, the block demodulates the stereo audio (LR) at the 38 KHz band, in addition to the baseband (L+R).

For more information, see Multiplexed Stereo and RDS (or RBDS) FM Signal.

Select this check box to demodulate the RBDS signal from the input complex baseband FM signal. For more information, see Multiplexed Stereo and RDS (or RBDS) FM Signal.

Number of samples output per RDS/RBDS symbol, specified as a positive integer. The sample rate of RDS (or RBDS) broadcast data is 1187.5 Hz. The RDS (or RBDS) sample rate is by (Number of samples per RDS/RBDS symbol × 1187.5) Hz.

Dependencies

To enable this parameter, select RDS/RBDS demodulation.

Specify whether the block uses a Costas loop 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.

Dependencies

To enable this parameter, select RDS/RBDS demodulation.

Type of simulation to run, specified as Code generation or Interpreted execution.

  • Code generation — Simulate the model by using generated C code. The first time you run a simulation, Simulink generates C code for the block. The model reuses the C code for subsequent simulations unless the model changes. This option requires additional startup time, but the speed of the subsequent simulations is faster than with the Interpreted execution option.

  • Interpreted execution — Simulate the model by using the MATLAB® interpreter. This option shortens startup time, but the speed of subsequent simulations is slower than with the Code generation option. In this mode, you can debug the source code of the block.

For more information, see Interpreted Execution vs. Code Generation (Simulink).

Block Characteristics

Data Types

double | single

Multidimensional Signals

no

Variable-Size Signals

no

Algorithms

expand all

The FM Broadcast Demodulator Baseband block includes the functionality of the FM Demodulator Baseband block, plus de-emphasis filtering and the ability to receive stereophonic signals.

References

[1] Hatai, I., and I. Chakrabarti. “A New High-Performance Digital FM Modulator and Demodulator for Software-Defined Radio and Its FPGA Implementation.” International Journal of Reconfigurable Computing (December 25, 2011): 1–10. https://doi.org/10.1155/2011/342532.

[2] Taub, H., and D. Schilling. Principles of Communication Systems. McGraw-Hill Series in Electrical Engineering, 142–55. New York: McGraw-Hill, 1971.

[3] Der, Lawrence. "Frequency Modulation (FM) Tutorial." Silicon Laboratories Inc.: 4–8.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2015a