FM Demodulator Passband
Demodulate FM-modulated data
Libraries:
Communications Toolbox /
Modulation /
Analog Baseband Modulation
Description
The FM Demodulator Passband block demodulates a signal that was modulated using frequency modulation. Both the input and output signals are real scalar signals.
Examples
Sample a 100 Hz linear frequency sweep chirp with a 400 Hz target frequency at 4 kilosamples per second. Modulate the input signal using the frequency modulation method. Demodulate the signal. Plot the input signal, the modulated signal, and the demodulated signal.
The fmmoddemod_passband
model modulates the input linear frequency sweep chirp signal using the FM method at a carrier frequency of 1.5 kHz with 50 Hz frequency deviation and then demodulates the signal. When the model runs, it plots the signals. This configuration ensures the Hilbert transform filter operates in the flat section of the magnitude response and that the demodulated signal has the desired magnitude and form.
The spectrum analyzer plot shows input signal, the modulated signal, and the demodulated signal.
Limitations
This block does not work inside a triggered subsystem.
Ports
Input
Input signal, specified as a scalar. The input is a passband representation of the modulated signal.
This port is unnamed on the block.
Data Types: double
Output
Demodulated output signal, returned as a scalar.
This port is unnamed on the block.
Data Types: double
Parameters
To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.
Carrier frequency in Hz, specified as a positive scalar.
Due to the implementation of the Hilbert transform by means of a filter, for best results, choose a carrier frequency, fc, that exceeds the sample rate of the input signal by at least 10%.
Typically, an appropriate carrier frequency is a much higher than the highest frequency of the input signal. By the Nyquist sampling theorem, 1 / Ts > (2 × fc), where Ts represents the sample time of the input signal. For more information, see Baseband vs. Passband Simulation.
Initial phase offset of the carrier in radians, specified as a scalar.
Frequency deviation of the carrier frequency in Hz, specified as a scalar. Also know as the variation in the frequency.
Hilbert transform filter order, specified as an even, positive scalar with a value
greater than 2
. This parameter value defines the length of the FIR filter
used to compute the Hilbert transform.
Block Characteristics
Data Types |
|
Multidimensional Signals |
|
Variable-Size Signals |
|
More About
To design the Hilbert transform filter, this block uses the Analytic Signal block, which computes the complex analytic signal corresponding to each channel of the real M-by-N input, u
where and denotes the Hilbert transform. The real part of the output in each channel is a replica of the real input in that channel. The imaginary part is the Hilbert transform of the input. In the frequency domain, the analytic signal retains the positive frequency content of the original signal while zeroing-out negative frequencies and doubling the DC component.
The block computes the Hilbert transform using an equiripple FIR filter with the order that you specify using the Hilbert Transform filter order (must be even) parameter, n. This linear phase filter uses the Remez exchange algorithm and imposes a delay of n/2 on the input samples.
Because the block uses this filter, it requires a carrier frequency that exceeds the sample rate of the input signal by at least 10%.
For example, this plot shows the response for a 10 Hz input signal at 8000 samples per second passed through a Hilbert transform filter of order 100.
A carrier frequency that is 10% to 90% higher than the sample rate of the input signal, ensures that the Hilbert transform filter operates in the flat section of its magnitude response (shown in blue) and that the modulated signal has the desired magnitude and form.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced before R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)