Single sideband amplitude modulation
y = ssbmod(x,Fc,Fs)
y = ssbmod(x,Fc,Fs,ini_phase)
y = ssbmod(x,fc,fs,ini_phase,'upper')
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.
Compare Double-Sideband and Single-Sideband Amplitude Modulation
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);
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 spectra of the two signals. Plot the spectrum of the double-sideband signal.
sa = dsp.SpectrumAnalyzer('SampleRate',fs, ... 'PlotAsTwoSidedSpectrum',false, ... 'YLimits',[-60 40]); sa(ydouble)
Plot the single-sideband spectrum.