FM Demodulator Baseband
Demodulate using FM method
Communications Toolbox / Modulation / Analog Baseband Modulation
The FM Demodulator Baseband block demodulates a complex input signal and returns a real output signal.
Modulate and Demodulate FM Signals in Simulink
Modulate and demodulate a sinusoidal signal using FM Modulator Baseband and FM Demodulator Baseband blocks.
fmmoddemod model generates a sine wave of frequency 4 Hz and amplitude 1 V. The FM Modulator Baseband block sets the frequency deviation to 50 Hz.
The Modulated Signal scope shows that the frequency of the modulator output,
Mod Sig, varies with the amplitude of the input data.
The Demodulated Signal scope demonstrates that the output of the demodulator,
Demod Sig, is perfectly aligned with the input data.
In — Input data signal
Input signal, specified as a real scalar, vector, or matrix.
Out — Output data signal
Output signal, returned as a real scalar, vector, or matrix. The data at this port has the same data type and size as the input signal.
To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.
Frequency deviation (Hz) — Frequency deviation of demodulator
75e3 (default) |
Frequency deviation of the demodulator, in Hz, specified as a positive scalar. The system bandwidth is equal to twice the sum of the frequency deviation and the message bandwidth.
Simulate using — Type of simulation to run
Code generation (default) |
Type of simulation to run, specified as
Code generation or
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— 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 generationoption. In this mode, you can debug the source code of the block.
A frequency-modulated passband signal, Y(t), is given as
A is the carrier amplitude.
fc is the carrier frequency.
x(τ) is the baseband input signal.
fΔ is the frequency deviation in Hz.
The frequency deviation is the maximum shift from fc in one direction, assuming |x(τ)| ≤ 1.
A baseband FM signal can be derived from the passband representation by downconverting the passband signal by fc such that
Removing the component at -2fc from yS(t) leaves the baseband signal representation, y(t), which is given as
The expression for y(t) can be rewritten as , where . Expressing y(t) this way implies that the input signal is a scaled version of the derivative of the phase, ϕ(t).
To recover the input signal from y(t), use a baseband delay demodulator, as this figure shows.
 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.
 Taub, H., and D. Schilling. Principles of Communication Systems. McGraw-Hill Series in Electrical Engineering. New York: McGraw-Hill, 1971, pp. 142–155.
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Introduced in R2015a