FM Demodulator Passband
Demodulate FM-modulated data
Analog Passband Modulation, in Modulation
The FM Demodulator Passband block demodulates a signal that was modulated using frequency modulation. The input is a passband representation of the modulated signal. Both the input and output signals are real scalar signals.
For best results, use a carrier frequency which is estimated to be larger than 10% of the reciprocal of your input signal's sample rate. This is due to the implementation of the Hilbert transform by means of a filter.
In the following example, we sample a 10Hz input signal at 8000 samples per second. We then
designate a Hilbert Transform filter of order 100. Below is the response of the Hilbert Transform
filter as returned by
Note the bandwidth of the filter's magnitude response. By choosing a carrier frequency larger than 10% (but less than 90%) of the reciprocal of your input signal's sample time (8000 samples per second, in this example) or equivalently, a carrier frequency larger than 400Hz, we ensure that the Hilbert Transform Filter will be operating in the flat section of the filter's magnitude response (shown in blue), and that our modulated signal will have the desired magnitude and form.
Typically, an appropriate Carrier frequency value is much higher than the highest frequency of the input signal. By the Nyquist sampling theorem, the reciprocal of the model's sample time (defined by the model's signal source) must exceed twice the Carrier frequency parameter.
This block works only with real inputs of type
double. This block does
not work inside a triggered subsystem.
- Carrier frequency (Hz)
The frequency of the carrier.
- Initial phase (rad)
The initial phase of the carrier in radians.
- Frequency deviation (Hz)
The frequency deviation of the carrier frequency in Hertz. Sometimes it is referred to as the "variation" in the frequency.
- Hilbert transform filter order
The length of the FIR filter used to compute the Hilbert transform.
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Introduced before R2006a