FM Broadcast Demodulator Baseband
Demodulate broadcast FM-modulated signal
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.
Examples
Modulate and Demodulate Audio Signal
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
In — FM-modulated baseband audio signal
column vector
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
Out — RDS (or RBDS) signal
N-element column vector | 2-by-N matrix
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
To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.
Sample rate (Hz) — Output signal sample rate
240e3
| positive scalar
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).
Frequency deviation (Hz) — Peak deviation of the output signal frequency
75e3
| positive scalar
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 filter time constant (s) — De-emphasis lowpass filter time constant
7.5e-05
(default) | positive scalar
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.
Output audio sample rate (Hz) — Output audio sample rate
48000
(default) | positive scalar
Specify the output audio sample rate in Hz as a positive scalar.
Play audio device — Play sound using default audio device
on
(default) | off
Select this check box to play sound from a default audio device.
Buffer size (samples) — Buffer size
4096
(default) | positive scalar
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.
Stereo audio — Option to enable stereo demodulation
off
(default) | on
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 (L–R) at the 38 KHz band, in addition to the baseband (L+R).
For more information, see Multiplexed Stereo and RDS (or RBDS) FM Signal.
RDS/RBDS demodulation — Option to enable RDS (or RBDS) waveform demodulation
off
(default) | on
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 per RDS/RBDS symbol — Number of samples output per RDS/RBDS symbol
10
(default) | positive integer
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.
RDS/RBDS Costas loop — Option to enable Costas Loop
off
(default) | on
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.
Simulate using — Type of simulation to run
Code generation
(default) | Interpreted execution
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 theInterpreted 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 theCode 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 |
|
Multidimensional Signals |
|
Variable-Size Signals |
|
Algorithms
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.
Filtering
FM amplifies high-frequency noise and degrades the overall signal-to-noise ratio. To compensate, FM broadcasters insert a pre-emphasis filter before 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. This figure shows the order of processing operations.
The pre-emphasis filter has a highpass characteristic transfer function given by
where τs is the filter time constant. The time constant is 75 μs in the United States and 50 μs in Europe. 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 response shown in this figure.
Multiplexed Stereo and RDS (or RBDS) FM Signal
FM broadcast supports stereophonic and monophonic operations. To support stereo transmission:
The Left + Right channel information is assigned to the mono portion of the spectrum (0 to 15 kHz).
The Left – Right channel 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 (or RBDS) signals.
This figure shows the spectrum of the multiplex baseband signal.
The multiplex message signal 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 (or 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 (L – R) and RDS (or RBDS) signals, respectively. To generate a scaled version of the left and right channels that produces the stereo sound, the object adds and subtracts the (L + R) and (L – R) signals. To recover the RDS (or RBDS) signal, m(t) is mixed with the 57 kHz signal.
This figure shows the multiplexing (MPX) decoder block diagram of the FM broadcast demodulator. L(t) and R(t) are the left and right audio signal components of the time-domain waveforms. RBDS(t) is the time-domain waveform of the RDS (or RBDS) signal.
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
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)