You are here : matlabSignal Processingdemod

demod() - Signal Processing

demod performs
demodulation, that is, it obtains the original signal from a modulated
version of the signal. demod undoes the operation
performed by modulate.x = demod(y,fc,fs,'method') andx = demod(y,fc,fs,'method',opt) demodulate
the real carrier signal y with a carrier frequency fc and
sampling frequency fs, using one of the options
listed below for method. (Note that some
methods accept an option, opt.)Note:  


Use demod and modulate in
the Signal Processing Toolbox™ with real-valued signals to obtain
real-valued outputs. demod and modulate are
not intended to accept complex-valued inputs or produce complex-valued
outputs.MethodDescription
amdsb-scoramAmplitude demodulation, double sideband, suppressed
carrier. Multiplies y by a sinusoid of frequency fc and
applies a fifth-order Butterworth lowpass filter using filtfilt.x = y.*cos(2*pi*fc*t);[b,a]
= butter(5,fc*2/fs);x = filtfilt(b,a,x);
amdsb-tcAmplitude demodulation, double sideband, transmitted
carrier. Multiplies y by a sinusoid of frequency fc and
applies a fifth-order Butterworth lowpass filter using filtfilt.x = y.*cos(2*pi*fc*t);[b,a]
= butter(5,fc*2/fs);x = filtfilt(b,a,x);If
you specify opt, demod subtracts
scalar opt from x. The default
value for opt is 0.
amssbAmplitude demodulation, single sideband. Multiplies y by
a sinusoid of frequency fc and applies a fifth-order
Butterworth lowpass filter using filtfilt.x
= y.*cos(2*pi*fc*t);[b,a] = butter(5,fc*2/fs);x
= filtfilt(b,a,x);
fmFrequency demodulation. Demodulates the FM waveform by
modulating the Hilbert transform of y by a complex
exponential of frequency -fc Hz
and obtains the instantaneous frequency of the result.
pmPhase demodulation. Demodulates the PM waveform by modulating
the Hilbert transform of y by a complex exponential
of frequency -fc Hz and obtains
the instantaneous phase of the result.
ppmPulse-position demodulation. Finds the pulse positions
of a pulse-position modulated signal y. For correct
demodulation, the pulses cannot overlap. x is length length(t)*fc/fs.
pwmPulse-width demodulation. Finds the pulse widths of a
pulse-width modulated signal y. demod returns
in x a vector whose elements specify the width
of each pulse in fractions of a period. The pulses in y should
start at the beginning of each carrier period, that is, they should
be left justified.
qamQuadrature amplitude demodulation.[x1,x2]
= demod(y,fc,fs,'qam') multiplies y by
a cosine and a sine of frequency fc and applies
a fifth-order Butterworth lowpass filter using filtfilt.x1 = y.*cos(2*pi*fc*t);x2 = y.*sin(2*pi*fc*t);[b,a]
= butter(5,fc*2/fs);x1 = filtfilt(b,a,x1);x2
= filtfilt(b,a,x2);
The default method is 'am'. In all cases
except 'ppm' and 'pwm', x is
the same size as y.If y is a matrix, demod demodulates
its columns.x = demod(y,fc,fs,'pwm','centered') finds
the pulse widths assuming they are centered at the beginning of each
period. x is length length(y)*fc/fs.


Syntax

x = demod(y,fc,fs,'method')x = demod(y,fc,fs,'method',opt)x = demod(y,fc,fs,'pwm','centered')


Example

You can give an example if you know one.


Output / Return Value


Limitations


Alternatives / See Also


Reference