Signal Processing Toolbox Previous page   Next Page
modulate

Modulation for communications simulation

Syntax

Description

y = modulate(x,fc,fs,'method') and

y = modulate(x,fc,fs,'method',opt) modulate the real message signal x with a carrier frequency fc and sampling frequency fs, using one of the options listed below for 'method'. Note that some methods accept an option, opt..

Method
Description
amdsb-sc
or
am

Amplitude modulation, double sideband, suppressed carrier. Multiplies x by a sinusoid of frequency fc.

  • y = x.*cos(2*pi*fc*t)
    
amdsb-tc

Amplitude modulation, double sideband, transmitted carrier. Subtracts scalar opt from x and multiplies the result by a sinusoid of frequency fc.

  • y = (x-opt).*cos(2*pi*fc*t)
    

If the opt parameter is not present, modulate uses a default of min(min(x)) so that the message signal (x-opt) is entirely nonnegative and has a minimum value of 0.

amssb

Amplitude modulation, single sideband. Multiplies x by a sinusoid of frequency fc and adds the result to the Hilbert transform of x multiplied by a phase shifted sinusoid of frequency fc.

  • y = 
    x.*cos(2*pi*fc*t)+imag(hilbert(x)).*sin(2*pi*fc*t)
    
This effectively removes the upper sideband.
fm
Frequency modulation. Creates a sinusoid with instantaneous frequency that varies with the message signal x.

y = cos(2*pi*fc*t + opt*cumsum(x))

cumsum is a rectangular approximation to the integral of x. modulate uses opt as the constant of frequency modulation. If opt is not present, modulate uses a default of

opt = (fc/fs)*2*pi/(max(max(x)))

so the maximum frequency excursion from fc is fc Hz.
pm
Phase modulation. Creates a sinusoid of frequency fc whose phase varies with the message signal x.

y = cos(2*pi*fc*t + opt*x)

modulate uses opt as the constant of phase modulation. If opt is not present, modulate uses a default of

opt = pi/(max(max(x)))

so the maximum phase excursion is pi radians.
pwm
Pulse-width modulation. Creates a pulse-width modulated signal from the pulse widths in x. The elements of x must be between 0 and 1, specifying the width of each pulse in fractions of a period. The pulses start at the beginning of each period, that is, they are left justified.

modulate(x,fc,fs,'pwm','centered')

yields pulses centered at the beginning of each period. y is length length(x)*fs/fc.
ppm
Pulse-position modulation. Creates a pulse-position modulated signal from the pulse positions in x. The elements of x must be between 0 and 1, specifying the left edge of each pulse in fractions of a period. opt is a scalar between 0 and 1 that specifies the length of each pulse in fractions of a period. The default for opt is 0.1. y is length length(x)*fs/fc.
qam
Quadrature amplitude modulation. Creates a quadrature amplitude modulated signal from signals x and opt.

y = x.*cos(2*pi*fc*t) + opt.*sin(2*pi*fc*t)

opt must be the same size as x.
.

If you do not specify 'method', then modulate assumes am. Except for the pwm and ptm cases, y is the same size as x.

If x is an array, modulate modulates its columns.

[y,t] = modulate(x,fc,fs) returns the internal time vector t that modulate uses in its computations.

See Also

demod, vco, fskdemod, genqamdemod, mskdemod, pamdemod, pmdemod, qamdemod


Previous page  medfilt1 mscohere Next page

© 1994-2005 The MathWorks, Inc.