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



Represent a frequency modulated passband signal, Y(t), as


where A is the carrier amplitude, fc is the carrier frequency, x(τ) is the baseband input signal, and fΔ is the frequency deviation in Hz. The frequency deviation is the maximum shift from fc in one direction, assuming |x(t)| ≤ 1.

A baseband FM signal can be derived from the passband representation by downconverting it by fc such that


Removing the component at -2fc from ys(t) leaves the baseband signal representation, y(t), which is expressed as


The expression for y(t) is rewritten as


where ϕ(t)=2πfΔ0tx(τ)dτ, which implies that the input signal is a scaled version of the derivative of the phase, ϕ(t).

A baseband delay demodulator is used to recover the input signal from y(t).

A delayed and conjugated copy of the received signal is subtracted from the signal itself,


where T is the sample period. In discrete terms, wn=w(nT), and


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


[1] Chakrabarti, I. H., and I, Hatai. “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.

Extended Capabilities

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

Introduced in R2015a