Demodulate broadcast FM signal
The comm.FMBroadcastDemodulator
System object™ demodulates a complex baseband FM signal and
filters the signal with a de-emphasis filter to produce an audio signal. If the
Stereo
property is set to true
, the object
performs stereo decoding. If the RBDS
property is set to
true
, the object also demodulates the RDS/RBDS waveform. For
more details, see Algorithms.
To demodulate a complex baseband FM signal:
Define and set up the comm.FMBroadcastDemodulator
object.
See Construction.
Call step
to demodulate the complex
baseband FM signal according to the properties of comm.FMBroadcastDemodulator
.
Note
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.
fmbDemod = comm.FMBroadcastDemodulator
creates
a demodulator System object, fmbDemod
, that
frequency demodulates an input signal.
fmbDemod = comm.FMBroadcastDemodulator(
creates
an FM demodulator object, Name
,Value
)fmbDemod
, with each specified
property Name
set to the specified Value
.
You can specify additional name-value pair arguments in any order
as (Name1
,Value1
,...,NameN
,ValueN
).
fmbDemod = comm.FMBroadcastDemodulator(MOD)
creates
an FM demodulator object, fmbDemod
, whose properties are
determined by the corresponding FM modulator object, MOD
.
|
Input signal sample rate (Hz) Specify the sample rate of the input signal in Hz as a positive
real scalar. The default value is |
|
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 |
|
Time constant of the de-emphasis filter (s) Specify the de-emphasis lowpass filter time constant as a positive
real scalar. The default value is |
|
Audio sample rate of the output signal (Hz) Specify the output audio sample rate as a positive real scalar.
The default value is |
|
Flag to enable or disable audio playback To playback the output signal on the default audio device, set
this property to |
|
Buffer size of the audio device Specify the size of the buffer (in samples) that the object
uses to communicate with an audio device as a positive scalar integer.
The default is |
|
Flag to enable or disable stereo audio Set this property to |
|
Flag to demodulate RDS/RBDS waveform If |
|
Oversampling factor of RDS/RBDS output Specify the number of samples of the RDS/RBDS output as a positive integer. The RDS/RBDS
sample rate is given by This property applies only when you set The default is 10. |
|
Option to recover phase of RDS/RBDS signal Specify whether a Costas loop is used to recover the phase of the RDS/RBDS signal. Set this
option to This property applies only when you set The default value is |
info | Filter information about FM broadcast demodulator |
reset | Reset states of the FM broadcast demodulator object |
step | Apply FM broadcast demodulation |
Common to All System Objects | |
---|---|
release | Allow System object property value changes |
The FM Broadcast demodulator includes the functionality of the
baseband FM demodulator, de-emphasis filtering, and the ability to
receive stereophonic signals. The algorithms which govern basic FM
modulation and demodulation are covered in comm.FMDemodulator
.
FM amplifies high-frequency noise and degrades the overall signal-to-noise ratio. To compensate, FM broadcasters insert a pre-emphasis filter prior to FM modulation to amplify the high-frequency content. The FM receiver has a reciprocal de-emphasis filter after the FM demodulator to attenuate high-frequency noise and restore a flat signal spectrum.
The pre-emphasis filter has a highpass characteristic transfer function given by
where τs is the filter time constant. The time constant is 50 μs in Europe and 75 μs in the United States. Similarly, the transfer function for the lowpass de-emphasis filter is given by
For an audio sample rate of 44.1 kHz, the de-emphasis filter has the following response.
The FM broadcast demodulator supports stereophonic and monophonic operations. To support stereo transmission, the left (L) and right (R) channel information (L+R) is assigned to the mono portion of the spectrum (0 to 15 kHz). The (L-R) information is amplitude modulated onto the 23 to 53 kHz region of the baseband spectrum using a 38 kHz subcarrier signal. A pilot tone at 19 kHz in the multiplexed signal enables the FM receiver to coherently demodulate the stereo and RDS/RBDS signals.
Here is the spectrum of the multiplex baseband signal, m(t).
m(t) is given by
where C0, C1, and C2 are gains. To generate the appropriate modulation level, these gains scale the amplitudes of the (L(t)±R(t)) signals, the 19 kHz pilot tone, and the RDS/RBDS subcarrier, respectively.
The demodulator applies m(t) to three bandpass filters with center frequencies at 19, 38, and 57 kHz, and to a lowpass filter with a 3-dB cutoff frequency of 15 kHz. The 19 kHz bandpass filter extracts the pilot tone from the modulated signal. The recovered pilot tone is doubled and tripled in frequency to produce the 38 kHz and 57 kHz signals, which demodulate the (L – R) and RDS/RBDS signals, respectively. To generate a scaled version of the left and right channels that produce the stereo sound, the (L + R) and (L – R) signals are added and subtracted. The RDS/RBDS signal is recovered by mixing with the 57 kHz signal.
Here is the block diagram of the FM broadcast demodulator.
The input length must be an integer multiple of the AudioDecimationFactor
property.
If RBDS
is set to true
,
the input length in addition must be an integer multiple of RBDSDecimationFactor
.
For more information on these two properties, see the info
method.
[1] Chakrabarti, I. H., and Hatai, I. “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.
[3] Der, Lawrence. “Frequency Modulation (FM) Tutorial”. FM Tutorial. Silicon Laboratories Inc., pp. 4–8.