Main Content


System object: comm.FMBroadcastModulator
Package: comm

Apply FM broadcast modulation


modSig = step(fmbMod,audioSig)
modSig = step(fmbMod,audioSig,rbdsSig)



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.

modSig = step(fmbMod,audioSig) pre-emphasizes the audio signal, audioSig, and modulates it onto a baseband FM signal. The audio signal can be real or complex with a single-precision or a double-precision data type. If the Stereo property of fmbMod is set to true, stereo encoding is performed after pre-emphasis and the audio signal must have at least two channels. If Stereo is false, the audio signal must be a column vector. The length of the modulated signal, modSig, is (SampleRate/AudioSampleRate) × length(audioSig).

modSig = step(fmbMod,audioSig,rbdsSig) also modulates a baseband RBDS signal at 57 kHz. You can pass rbdsSig as an input only if you set the RBDS property to true. The length of output vector modSig is (SampleRate/AudioSampleRate) × length(audioSig).


fmbMod specifies the System object on which to run this step method.

The object performs an initialization the first time the step method is executed. This initialization locks nontunable properties and input specifications, such as dimensions, complexity, and data type of the input data. If you change a nontunable property or an input specification, the System object issues an error. To change nontunable properties or inputs, you must first call the release method to unlock the object.

Introduced in R2015a