Demodulate using FM method
The FMDemodulator
System
object™ demodulates an FM modulated signal.
To FM demodulate a signal:
Define and set up the FMDemodulator
object.
See Construction.
Call step
to FM demodulate a signal
according to the properties of comm.FMDemodulator
.
The behavior of step
is specific to each object in
the toolbox.
Starting in R2016b, instead of using the step
method
to perform the operation defined by the System
object™, you can
call the object with arguments, as if it were a function. For example, y
= step(obj,x)
and y = obj(x)
perform
equivalent operations.
H = comm.FMDemodulator
creates a demodulator System
object, H
,
that frequency demodulates an input signal.
H = comm.FMDemodulator(mod)
creates an
FM demodulator object whose properties are determined by the corresponding
FM modulator object, mod
.
H = comm.FMDemodulator(
creates
an FM demodulator object with each specified property Name
,Value
)Name
set
to the specified Value
. Name
must
appear inside single quotes. You can specify additional namevalue
pair arguments in any order as (Name1
,Value1
,...,NameN
,ValueN
).

Peak deviation of the output signal frequency (Hz) Specify the frequency deviation of the FM demodulator in Hz
as a positive real scalar. The default value is 

Sample rate of input signal (Hz) Specify the sample rate in Hz as a positive real scalar. The
default value is 
reset  Reset states of the FM demodulator object 
step  Applies FM baseband demodulation 
Common to All System Objects  

release  Allow System object property value changes 
[1] Chakrabarti, I. H., and Hatai, I. “A New HighPerformance Digital FM Modulator and Demodulator for SoftwareDefined 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: McGrawHill, 1971, pp. 142–155.
Represent a frequency modulated passband signal, Y(t), as
$$Y(t)=A\mathrm{cos}\left(2\pi {f}_{c}t+2\pi {f}_{\Delta}{\displaystyle {\int}_{0}^{t}x(\tau )d\tau}\right)\text{\hspace{0.17em}},$$
where A is the carrier amplitude, f_{c} 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 f_{c} in one direction, assuming x(t) ≤ 1.
A baseband FM signal can be derived from the passband representation by downconverting it by f_{c} such that
$$\begin{array}{c}{y}_{s}(t)=Y(t){e}^{j2\pi {f}_{c}t}=\frac{A}{2}\left[{e}^{j\left(2\pi {f}_{c}t+2\pi {f}_{\Delta}{\displaystyle {\int}_{0}^{t}x(\tau )d\tau}\right)}+{e}^{j\left(2\pi {f}_{c}t+2\pi {f}_{\Delta}{\displaystyle {\int}_{0}^{t}x(\tau )d\tau}\right)}\right]{e}^{j2\pi {f}_{c}t}\\ =\frac{A}{2}\left[{e}^{j2\pi {f}_{\Delta}{\displaystyle {\int}_{0}^{t}x(\tau )d\tau}}+{e}^{j4\pi {f}_{c}tj2\pi {f}_{\Delta}{\displaystyle {\int}_{0}^{t}x(\tau )d\tau}}\right]\text{\hspace{0.17em}}.\end{array}$$
Removing the component at 2f_{c} from y_{s}(t) leaves the baseband signal representation, y(t), which is expressed as
$$y(t)=\frac{A}{2}{e}^{j2\pi {f}_{\Delta}{\displaystyle {\int}_{0}^{t}x(\tau )d\tau}}.$$
The expression for y(t) is rewritten as
$$y(t)=\frac{A}{2}{e}^{j\varphi (t)}\text{\hspace{0.17em}},$$
where $$\varphi (t)=2\pi {f}_{\Delta}{\displaystyle {\int}_{0}^{t}x(\tau )d\tau}$$, 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,
$$w(t)=\frac{{A}^{2}}{4}{e}^{j\varphi (t)}{e}^{j\varphi (tT)}=\frac{{A}^{2}}{4}{e}^{j\left[\varphi (t)\varphi (tT)\right]}\text{\hspace{0.17em}},$$
where T is the sample period. In discrete terms, w_{n}=w(nT), and
$$\begin{array}{l}{w}_{n}=\frac{{A}^{2}}{4}{e}^{j\left[{\varphi}_{n}{\varphi}_{n1}\right]}\text{\hspace{0.17em}}\text{,}\\ {v}_{n}={\varphi}_{n}{\varphi}_{n1}\text{\hspace{0.17em}}.\end{array}$$
The signal v_{n} is the approximate derivative of ϕ_{n}, such that v_{n} ≈ x_{n}.