| Communications Toolbox | ![]() |
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)
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).
Note 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.
The code below shows that ssbdemod can demodulate an upper-sideband or lower-sideband signal.
Fc = 12000; Fs = 270000;
t = [0:1/Fs:0.01]';
s = sin(2*pi*300*t)+2*sin(2*pi*600*t);
y1 = ssbmod(s,Fc,Fs,0); % Lower-sideband modulated signal
y2 = ssbmod(s,Fc,Fs,0,'upper'); % Upper-sideband modulated signal
s1 = ssbdemod(y1,Fc,Fs); % Demodulate lower sideband
s2 = ssbdemod(y2,Fc,Fs); % Demodulate upper sideband
% Plot results to show that the curves overlap.
figure; plot(t,s1,'r-',t,s2,'k--');
legend('Demodulation of upper sideband','Demodulation of lower sideband')

| signlms | ssbmod | ![]() |
© 1994-2005 The MathWorks, Inc.