Main Content

ssbdemod

Single sideband amplitude demodulation

Description

z = ssbdemod(y,Fc,Fs) demodulates the single sideband (SSB) amplitude modulated signal y from the carrier signal.

Note

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

example

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 to use in the demodulation.

Examples

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 the processed signals with the original signal and verify the reconstruction.

plot(t,signal,'k',t,s1,'r:',t,s2,'g-.');
legend('original signal','demodulation of lower sideband','demodulation of upper sideband');

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent original signal, demodulation of lower sideband, demodulation of upper sideband.

Input Arguments

collapse all

Modulated signal, specified as a real matrix. 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).

Data Types: single | double

Carrier frequency in Hz, specified as a positive real scalar.

Sample frequency in Hz, specified as a positive real scalar.

Initial phase of the modulated signal, specified as a real scalar. The unit of ini_phase is radians.

Lowpass filter numerator, specified as a scalar.

Lowpass filter denominator, specified as a scalar.

Output Arguments

collapse all

SSB demodulated signal, specified as a real matrix.

Data Types: single | double

Version History

Introduced before R2006a