This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Single sideband amplitude demodulation


z = ssbdemod(y,Fc,Fs)
z = ssbdemod(y,Fc,Fs,ini_phase)
z = ssbdemod(y,Fc,Fs,ini_phase,num,den)


For All Syntaxes

z = ssbdemod(y,Fc,Fs) demodulates the single sideband amplitude modulated signal y from the carrier signal having frequency Fc (Hz). The carrier signal and y have sampling rate Fs (Hz). The modulated signal has zero initial phase, and can be an upper- or lower-sideband signal. The demodulation process uses the lowpass filter specified by [num,den] = butter(5,Fc*2/Fs).


The Fc and Fs arguments must satisfy Fs > 2(Fc + BW), where BW is the bandwidth of the original signal that was modulated.

z = ssbdemod(y,Fc,Fs,ini_phase) specifies the initial phase of the modulated signal in radians.

z = ssbdemod(y,Fc,Fs,ini_phase,num,den) specifies the numerator and denominator of the lowpass filter used in the demodulation.


collapse all

Define the sampling frequency and original signal.

fs = 270000;
t = (0:1/fs:0.01)';
signal = sin(2*pi*300.*t)+2*sin(2*pi*600.*t);

Convert the original signal to upper-sideband and lower-sideband modulated signals using ssbmod. Use a cutoff frequency of 12000 and an initial phase of 0.

fc = 12000;
initialPhase = 0;
lowerSidebandSignal = ssbmod(signal,fc,fs,initialPhase);
upperSidebandSignal = ssbmod(signal,fc,fs,initialPhase,'upper');

Demodulate the lower and upper sideband signals.

s1 = ssbdemod(lowerSidebandSignal,fc,fs);
s2 = ssbdemod(upperSidebandSignal,fc,fs);

Compare processed signals with original and verify reconstruction.

legend('Original Signal','Demodulation of Lower Sideband','Demodulation of Upper Sideband');

Introduced before R2006a