Signal Processing Toolbox | ![]() ![]() |
Communications Applications
The toolbox provides three functions for communications simulation.
Operation |
Function |
Modulation |
|
Demodulation |
|
Voltage controlled oscillation |
|
Modulation varies the amplitude, phase, or frequency of a carrier signal with reference to a message signal. The modulate
function modulates a message signal with a specified modulation method.
The basic syntax for the modulate
function is
y = modulate(x,fc,fs,'method
',opt)
x
is the message signal.fc
is the carrier frequency.fs
is the sampling frequency.method
is a flag for the desired modulation method.opt
is any additional argument that the method requires. (Not all modulation methods require an option argument.) The table below summarizes the modulation methods provided; see the documentation for modulate
, demod
, and vco
for complete details on each
If the input x
is an array rather than a vector, modulate
modulates each column of the array.
To obtain the time vector that modulate
uses to compute the modulated signal, specify a second output parameter.
[y,t] = modulate(x,fc,fs,'method
',opt)
The demod
function performs demodulation, that is, it obtains the original message signal from the modulated signal.
x = demod(y,fc,fs,'method
',opt)
demod
uses any of the methods shown for modulate
, but the syntax for quadrature amplitude demodulation requires two output parameters.
[X1,X2] = demod(y,fc,fs,'qam')
If the input y
is an array, demod
demodulates all columns.
Try modulating and demodulating a signal. A 50 Hz sine wave sampled at 1000 Hz is
t = (0:1/1000:2); x = sin(2*
pi*
50*
t);
With a carrier frequency of 200 Hz, the modulated and demodulated versions of this signal are
y = modulate(x,200,1000,'am'); z = demod(y,200,1000,'am');
To plot portions of the original, modulated, and demodulated signal
figure; plot(t(1:150),x(1:150)); title('Original Signal'); figure; plot(t(1:150),y(1:150)); title('Modulated Signal'); figure; plot(t(1:150),z(1:150)); title('Demodulated Signal');
The voltage controlled oscillator function vco
creates a signal that oscillates at a frequency determined by the input vector. The basic syntax for vco
is
y = vco(x,fc,fs)
where fc
is the carrier frequency and fs
is the sampling frequency.
To scale the frequency modulation range, use
y = vco(x,[Fmin Fmax],fs)
In this case, vco
scales the frequency modulation range so values of x
on the interval [-1 1]
map to oscillations of frequency on [Fmin Fmax]
.
If the input x
is an array, vco
produces an array whose columns oscillate according to the columns of x
.
See FFT-Based Time-Frequency Analysis for an example using the vco
function.
![]() | Median Filtering | Deconvolution | ![]() |