Modulate using FM method
The FMModulator
System
object™ applies FM modulation to an input signal.
To FM modulate a signal:
Define and set up the FMModulator
object.
See Construction.
Call step
to apply FM modulation
to a signal according to the properties of comm.FMModulator
.
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.FMModulator
creates a modulator System
object, H
,
that frequency modulates an input signal.
H = comm.FMModulator(demod)
creates an
FM modulator object whose properties are determined by the corresponding
FM demodulator object, demod
.
H = comm.FMModulator(
creates
an FM modulator 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 modulator in Hz as
a positive real scalar. The default value is 

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

clone  Create System object with same property values 
getNumInputs  Expected number of inputs to a System object 
getNumOutputs  Expected number of outputs of a System object 
isLocked  Check locked states of a System object (logical) 
release  Allow System object property value changes 
You can represent a standard 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}},$$
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}$$
$$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}},$$
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}},$$
$$\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}$$
[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.