Main Content

FM Demodulator Baseband

Demodulate using FM method

  • Library:
  • Communications Toolbox / Modulation / Analog Baseband Modulation

  • FM Demodulator Baseband block


The FM Demodulator Baseband block demodulates a complex input signal and returns a real output signal.



expand all

Input signal, specified as a real scalar, vector, or matrix.

Data Types: double | single


expand all

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.

Data Types: double | single


expand all

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.

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 C code is reused for subsequent simulations unless the model changes. This option requires additional startup time, but the speed of the subsequent simulations is faster than Interpreted execution.

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

Block Characteristics

Data Types

double | single

Multidimensional Signals


Variable-Size Signals



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 y(t)=A2ejϕ(t),, where ϕ(t)=2πfΔ0tx(τ)dτ. 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.

Baseband FM demodulator

Subtracting a delayed and conjugated copy of the received signal from the signal itself results in this equation.


where T is the sample period. In discrete terms,

wn=w(nT),wn=A24ej[ϕnϕn1], andvn=ϕnϕn1.

The signal vn is the approximate derivative of ϕn such that vnxn.


[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.

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

Extended Capabilities

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

Introduced in R2015a