# ssbmod

Single sideband suppressed-carrier amplitude modulation

## Syntax

``Y = ssbmod(X,Fc,Fs)``
``Y = ssbmod(X,Fc,Fs,ini_phase)``
``Y = ssbmod(X,Fc,Fs,ini_phase,'upper')``

## Description

example

````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.

```doubleY = ammod(x,fc,fs); singleY = ssbmod(x,fc,fs);```

Create a spectrum analyzer object to plot the spectrum of the signals.

```sadsb = spectrumAnalyzer( ... SampleRate=fs, ... PlotAsTwoSidedSpectrum=false, ... YLimits=[-60 30]); sadsb(doubleY,singleY)``` ## Input Arguments

collapse all

Message signal, specified as a real matrix. If `X` has multiple columns, the function treats each column as an independent channel.

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 modulated signal, specified as a real scalar. The unit of `ini_phase` is radians.

## Output Arguments

collapse all

Modulated signal, returned as a real matrix.

Data Types: `single` | `double`

## Version History

Introduced before R2006a