Main Content

ssbmod

Single sideband amplitude modulation

Syntax

y = ssbmod(x,Fc,Fs)
y = ssbmod(x,Fc,Fs,ini_phase)
y = ssbmod(x,fc,fs,ini_phase,'upper')

Description

y = ssbmod(x,Fc,Fs) uses the message signal x to modulate a carrier signal with frequency Fc (Hz) using single sideband amplitude modulation in which the lower sideband is the desired sideband. The generated output y is a single side band signal with a suppressed carrier. The carrier signal and x have sample frequency Fs (Hz). The modulated signal has zero initial phase.

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

y = ssbmod(x,fc,fs,ini_phase,'upper') uses the upper sideband as the desired sideband.

Examples

collapse all

Set the sample rate to 100 Hz. Create a time vector 100 seconds long.

fs = 100;
t = (0:1/fs:100)';

Set the carrier frequency to 10 Hz. Generate a sinusoidal signal.

fc = 10; 
x = sin(2*pi*t);

Modulate x using single- and double-sideband AM.

ydouble = ammod(x,fc,fs);
ysingle = ssbmod(x,fc,fs);

Create a spectrum analyzer object to plot the spectrum of the double-sideband signal.

sadsb = spectrumAnalyzer( ...
    SampleRate=fs, ...
    PlotAsTwoSidedSpectrum=false, ...
    YLimits=[-60 30]);
sadsb(ydouble)

Create a separate spectrum analyzer object to plot the single-sideband spectrum. A separate spectrum analyzer object is used to isolate each spectrum analyzer's signal buffers for the two signals.

sassb = spectrumAnalyzer( ...
    SampleRate=fs, ...
    PlotAsTwoSidedSpectrum=false, ...
    YLimits=[-60 30]);
sassb(ysingle)

Version History

Introduced before R2006a