Communications Toolbox    
amodce

Analog baseband modulator

Syntax

Optional Inputs

Input
Default Value, or Default Behavior If Input Is Omitted
offset
-min(min(x))
deviation
1

Description

The function amodce performs analog baseband modulation. The corresponding demodulation function is ademodce. The table below lists the modulation schemes that amodce supports.

Modulation Scheme
Third Input Argument
Amplitude modulation, double sideband
'amdsb-tc'
Amplitude modulation, double sideband suppressed carrier
'amdsb-sc'
Amplitude modulation, single sideband suppressed carrier
'amssb' or 'amssb/time'
Quadrature amplitude modulation
'qam'
Frequency modulation
'fm'
Phase modulation
'pm'

For All Syntaxes

The generic syntax y = amodce(x,Fs,...) modulates the message signal that x represents, and returns the modulated signal's complex envelope. The input and output signals share the same sampling rate Fs, measured in hertz. (Thus 1/Fs represents the time interval between two consecutive samples in x.) The initial phase of the carrier signal is zero. x is a real matrix and y is a complex matrix. Their sizes depend on the modulation method:

The generic syntax y = amodce(x,[Fs initphase],...) is the same, except that the second input argument is a two-element vector instead of a scalar. The first entry, Fs, is the sampling rate as described in the paragraph above. The second entry, initphase, is the initial phase of the carrier signal, measured in radians.

For Specific Syntaxes

y = amodce(x,Fs,'amdsb-tc',offset) implements double-sideband amplitude modulation. offset is the value added to x prior to the modulation. If you omit offset, then its default value is -min(min(x)). This default value produces 100% modulation.

y = amodce(x,Fs,'amdsb-sc') implements double-sideband suppressed-carrier amplitude modulation.

y = amodce(x,Fs,'amssb') implements single-sideband suppressed-carrier amplitude modulation. By default, it produces the lower sideband. It does a Hilbert transform in the frequency domain.

y = amodce(x,Fs,'amssb/time',num,den) is the same as the syntax above, except that it specifies a time-domain Hilbert filter. num and den are row vectors that give the coefficients, in descending order, of the numerator and denominator of the filter's transfer function. You can use the function hilbiir to design the Hilbert filter.

y = amodce(x,Fs,'amssb/time') is the same as the syntax above, except that it uses a default time-domain Hilbert filter. The filter's transfer function is defined by [num,den] = hilbiir(1/Fs), where num and den are as in the paragraph above.

y = amodce(x,Fs,'qam') implements quadrature amplitude modulation. x is a two-column matrix whose first column represents the in-phase signal and whose second column represents the quadrature signal. y is a column vector.

y = amodce(x,Fs,'fm',deviation) implements frequency modulation. The bandwidth of the modulated signal is max(x)-min(x). The optional argument deviation is a scalar that represents the frequency deviation constant of the modulation.

y = amodce(x,Fs,'pm',deviation) implements phase modulation. The optional argument deviation is a scalar that represents the phase deviation constant of the modulation.

Examples

This example is similar to the one under the heading Hilbert Filter Example on the amod reference page, except that it uses baseband simulation. The plots in the passband (amod) example show far more obvious errors in the recovered signal.

The output shows that the average difference between the original and recovered signals is smaller than 10-16.

Other examples using amodce are in the sections Representing Analog Signals and Simple Analog Modulation Example.

See Also
ademodce, dmodce, ddemodce, amod, ademod


  amod apkconst