Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

In most communication medium, only a fixed range of frequencies
is available for transmission. One way to communicate a message signal
whose frequency spectrum does not fall within that fixed frequency
range, or one that is otherwise unsuitable for the channel, is to
alter a transmittable signal according to the information in your
message signal. This alteration is called *modulation*,
and it is the modulated signal that you transmit. The receiver then
recovers the original signal through a process called *demodulation*.
This section describes how to modulate and demodulate analog signals
using blocks.

Open the Modulation library by double-clicking its icon in the main Communications System Toolbox™ block library. Then, open the Analog Passband sublibrary by double-clicking its icon in the Modulation library.

The following figure shows the modulation techniques that Communications System Toolbox supports for analog signals. As the figure suggests, some categories of techniques include named special cases.

For a given modulation technique, two ways to simulate modulation
techniques are called *baseband* and *passband*.
This product supports passband simulation for analog modulation.

The modulation and demodulation blocks also let you control such features as the initial phase of the modulated signal and post-demodulation filtering.

Analog modulation blocks in this product process only sample-based scalar signals. The input and output of the analog modulator and demodulator are all real signals.

All analog demodulators in this product produce discrete-time, not continuous-time, output.

To modulate an analog signal using MATLAB^{®}, start with a
real message signal and a sampling rate `Fs`

in hertz.
Represent the signal using a vector `x`

, the entries
of which give the signal's values in time increments of 1/`Fs`

.
Alternatively, you can use a matrix to represent a multichannel signal,
where each column of the matrix represents one channel.

For example, if `t`

measures time in seconds,
then the vector `x`

below is the result of sampling
a sine wave 8000 times per second for 0.1 seconds. The vector `y`

represents
the modulated signal.

Fs = 8000; % Sampling rate is 8000 samples per second. Fc = 300; % Carrier frequency in Hz t = [0:.1*Fs]'/Fs; % Sampling times for .1 second x = sin(20*pi*t); % Representation of the signal y = ammod(x,Fc,Fs); % Modulate x to produce y. figure; subplot(2,1,1); plot(t,x); % Plot x on top. subplot(2,1,2); plot(t,y)% Plot y below.

As a multichannel example, the code below defines a two-channel
signal in which one channel is a sinusoid with zero initial phase
and the second channel is a sinusoid with an initial phase of `pi/8`

.

Fs = 8000; t = [0:.1*Fs]'/Fs; x = [sin(20*pi*t), sin(20*pi*t+pi/8)];

This example illustrates the basic format of the analog modulation and demodulation functions. Although the example uses phase modulation, most elements of this example apply to other analog modulation techniques as well.

The example samples an analog signal and modulates it. Then it simulates an additive white Gaussian noise (AWGN) channel, demodulates the received signal, and plots the original and demodulated signals.

% Prepare to sample a signal for two seconds, % at a rate of 100 samples per second. Fs = 100; % Sampling rate t = [0:2*Fs+1]'/Fs; % Time points for sampling % Create the signal, a sum of sinusoids. x = sin(2*pi*t) + sin(4*pi*t); Fc = 10; % Carrier frequency in modulation phasedev = pi/2; % Phase deviation for phase modulation y = pmmod(x,Fc,Fs,phasedev); % Modulate. y = awgn(y,10,'measured',103); % Add noise. z = pmdemod(y,Fc,Fs,phasedev); % Demodulate. % Plot the original and recovered signals. figure; plot(t,x,'k-',t,z,'g-'); legend('Original signal','Recovered signal');

Other examples using analog modulation functions appear in the
reference pages for `ammod`

, `amdemod`

, `ssbdemod`

,
and `fmmod`

.

The proper simulation of analog modulation requires that the Nyquist criterion be satisfied, taking into account the signal bandwidth.

Specifically, the sample rate of the system must be greater than twice the sum of the carrier frequency and the signal bandwidth.

After demodulating, you might want to filter out the carrier
signal. The particular filter used, such as `butter`

, `cheby1`

, `cheby2`

,
and `ellip`

, can be selected
on the mask of the demodulator block. Different filtering methods
have different properties, and you might need to test your application
with several filters before deciding which is most suitable.

In many situations, a suitable cutoff frequency is half the carrier frequency. Because the carrier frequency must be higher than the bandwidth of the message signal, a cutoff frequency chosen in this way properly filters out unwanted frequency components. If the cutoff frequency is too high, the unwanted components may not be filtered out. If the cutoff frequency is too low, it might narrow the bandwidth of the message signal.

The following example modulates a sawtooth message signal, demodulates the resulting signal using a Butterworth filter, and plots the original and recovered signals. The Butterworth filter is implemented within the SSB AM Demodulator Passband block.

To open this model ,
enter `doc_filtercutoffs`

at the MATLAB command
line.

This example generates the following output:

There is invariably a delay between a demodulated signal and the original received signal. Both the filter order and the filter parameters directly affect the length of this delay.

**Other Filter Cutoffs. **To see the effect of a lowpass filter with a *higher* cutoff
frequency, set the **Cutoff frequency** of the SSB AM Demodulator Passband block to `49`

,
and run the simulation again. The new result is shown below. The higher
cutoff frequency allows the carrier signal to interfere with the demodulated
signal.

To see the effect of a lowpass filter with a *lower* cutoff
frequency, set the **Cutoff frequency** of the SSB AM Demodulator Passband block to `4`

,
and run the simulation again. The new result is shown in the following
figure. The lower cutoff frequency narrows the bandwidth of the demodulated
signal.

Was this topic helpful?