In most media for communication, 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.
HDMI Encoder Modulator, 16in1 Digital Headend, HD RF Modulator at
Soukacatv.com
- Digital Modulation Features
- Signals and Delays
- PM Modulation
- AM Modulation
- CPM Modulation
- Exact LLR Algorithm
- Approximate LLR Algorithm
- Delays in Digital Modulation
- Selected Bibliography for Digital Modulation
Digital Modulation
Features
- Modulation Techniques
- Baseband and Passband Simulation
- Modulation Terminology
- Representing Digital Signals
SKD32 IPTV Gateway
Modulation Techniques
The Communications Toolbox™ supports
these modulation techniques for digital data. All the methods at the far right
are implemented in library blocks.
Like analog modulation, digital
modulation alters a transmittable signal according to the information in a
message signal. However, for digital modulation the message signal is
restricted to a finite set. Modulation functions output the complex envelope of
the modulated signal. Using the Communications Toolbox, you can modulate or
demodulate signals using various digital modulation techniques, and plot signal
constellations.
The available methods of modulation
depend on whether the input signal is analog or digital. For a list of the
modulation techniques the Communications Toolbox supports see Digital Baseband Modulation, Analog Baseband Modulation, and Analog Passband Modulation.
Accessing Digital Modulation
Blocks. Open the Modulation library by
double-clicking the icon in the main block library. Then open the Digital
Baseband sub-library by double-clicking its icon in the Modulation library.
The Digital Baseband library has sub-libraries
of its own. Open each of these sub-libraries by double-clicking the icon listed
in the table below.
Kind of Modulation
|
Icon in Digital Baseband Library
|
Amplitude modulation
|
AM
|
Phase modulation
|
PM
|
Frequency modulation
|
FM
|
Continuous phase modulation
|
CPM
|
Trellis-coded modulation
|
TCM
|
Some digital modulation sub-libraries
contain blocks that implement specific modulation techniques. These
specific-case modulation blocks use the same computational code that their
general counterparts use, but provide an interface that is either simpler or
more suitable for the specific case. This table lists general modulators along
with the conditions under which is general modulator is equivalent to a
specific modulator. The situation is analogous for demodulators.
General and Specific Blocks
General Modulator
|
General Modulator Conditions
|
Specific Modulator
|
General QAM Modulator Baseband
|
Predefined constellation containing 2K points on
a rectangular lattice.
K is the
modulation order.
|
Rectangular QAM Modulator Baseband
|
M-PSK Modulator Baseband
|
M-ary number parameter is 2.
|
BPSK Modulator Baseband
|
M-ary number parameter is 4.
|
QPSK Modulator Baseband
|
|
M-DPSK Modulator Baseband
|
M-ary number parameter is 2.
|
DBPSK Modulator Baseband
|
M-ary number parameter is 4.
|
DQPSK Modulator Baseband
|
|
CPM Modulator Baseband
|
M-ary number parameter is 2, Frequency
pulse shape parameter is Gaussian.
|
GMSK Modulator Baseband
|
M-ary number parameter is 2, Frequency
pulse shape parameter is Rectangular, Pulse length
parameter is 1.
|
MSK Modulator Baseband
|
|
Frequency pulse shape parameter is Rectangular,
Pulse length parameter is 1.
|
CPFSK Modulator Baseband
|
|
General TCM Encoder
|
Predefined signal constellation containing 2K points
on a rectangular lattice.
|
Rectangular QAM TCM Encoder
|
Predefined signal constellation containing 2K points
on a circle.
|
M-PSK TCM Encoder
|
Furthermore, the CPFSK Modulator Baseband block is similar to the M-FSK Modulator Baseband block, when the M-FSK block uses
continuous phase transitions. However, the M-FSK features of this product
differ from the CPFSK features in their mask interfaces and in the demodulator
implementations.
Baseband and Pass
band Simulation
For a given modulation technique,
two ways to simulate modulation techniques are called baseband and pass
band. Baseband simulation, also known as the low pass equivalent
method, requires less computation. The Communications Toolbox supports
baseband simulation for digital modulation and pass band simulation for analog
modulation.
Baseband Modulated Signals Defined
If you use baseband modulation to
produce the complex envelope y of the modulation of a message
signal x, then y is a complex-valued signal that is
related to the output of a pass band modulator. If the modulated signal has the
waveform
Y1(t)cos(2πfct+θ)−Y2(t)sin(2πfct+θ) ,
where fc is
the carrier frequency and θ is the carrier signal's initial phase, then a
baseband simulation recognizes that this equals the real part of
[(Y1(t)+jY2(t))ejθ]exp(j2πfct) .
and models only the part inside the
square brackets. Here j is the square root of -1. The complex
vector y is a sampling of the complex signal
(Y1(t)+jY2(t))ejθ .
If you prefer to work with pass band
signals instead of baseband signals, then you can build functions that convert
between the two. Be aware that pass band modulation tends to be more
computationally intensive than baseband modulation because the carrier signal
typically needs to be sampled at a high rate.
Modulation
Terminology
Modulation is a process by which
a carrier signal is altered according to information in
a message signal. The carrier frequency, Fc,
is the frequency of the carrier signal. The sampling rate is
the rate at which the message signal is sampled during the simulation.
The frequency of the carrier signal
is usually much greater than the highest frequency of the input message signal.
The Nyquist sampling theorem requires that the simulation sampling rate, Fs,
be greater than two times the sum of the carrier frequency and the highest
frequency of the modulated signal in order for the demodulator to recover the
message correctly.
Representing Digital
Signals
To modulate a signal using digital
modulation with an alphabet having M symbols, start with a real message signal
whose values are integers from 0 to M-1. Represent the signal by listing its
values in a vector, x. Alternatively, you can use a matrix to represent a
multichannel signal, where each column of the matrix represents one channel.
For example, if the modulation uses
an alphabet with eight symbols, then the vector [2 3 7 1 0 5 5 2 6]' is
a valid single-channel input to the modulator. As a multichannel example, the
two-column matrix
[2 3;
3 3;
7 3;
0 3;]
Defines a two-channel
signal in which the second channel has a constant value of 3.
Signals and Delays
All digital modulation blocks
process only discrete-time signals and use the baseband representation. The
data types of inputs and outputs are depicted in the following figure.
Integer-Valued
Signals and Binary-Valued Signals
Some digital modulation blocks can
accept either integer-valued or binary–valued signals. The corresponding
demodulation blocks can output either integers or groups of individual bits
that represent integers. This section describes how modulation blocks process
integer or binary inputs; the case for demodulation blocks is the reverse. You
should note that modulation blocks have an Input type parameter
and that demodulation blocks have an Output type parameter.
When you set the Input type parameter
to Integer, the block accepts integer values from 0 to M-1. M represents
the M-ary number block parameter.
When you set the Input type parameter
to Bit, the block accepts binary-valued inputs that represent integers.
The block collects binary-valued signals into groups of K =
log2(M) bits
Where
K represents the
number of bits per symbol. Since M = 2K, K is
commonly referred to as the modulation order.
The input vector length must be an
integer multiple of K. In this configuration, the block accepts a
group of K bits and maps that group onto a symbol at the block
output. The block outputs one modulated symbol for each group of K bits.
Constellation
Ordering (or Symbol Set Ordering)
Depending on the modulation scheme,
the Constellation ordering or Symbol set ordering parameter
indicates how the block maps a group of K input bits to a
corresponding symbol. When you set the parameter to Binary, the block maps
[u(1) u(2) ... u(K)] to the integer
KXi=1u(i)2K−i
and assumes that this integer is the
input value. u(1) is the most significant bit.
If you set M =
8, Constellation ordering (or Symbol set ordering)
to Binary, and the binary input word is [1 1 0], the block
converts [1 1 0] to the integer 6. The block produces the same output
when the input is 6 and the Input type parameter is Integer.
When you set Constellation
ordering (or Symbol set ordering or Symbol
mapping) to Gray, the block uses a Gray-coded arrangement and assigns
binary inputs to points of a predefined Gray-coded signal constellation. The
predefined M-ary Gray-coded signal constellation assigns the binary
representation
M = 8; P = [0:M-1]';
de2bi(bitxor(P, floor(P/2)),
log2(M),'left-msb')
to the Pth integer.
The following tables show the
typical Binary to Gray mapping for M = 8.
Binary to Gray Mapping for Bits
Binary Code
|
Gray Code
|
000
|
000
|
001
|
001
|
010
|
011
|
011
|
010
|
100
|
110
|
101
|
111
|
110
|
101
|
111
|
100
|
Gray to Binary Mapping for Integers
Binary Code
|
Gray Code
|
0
|
0
|
1
|
1
|
2
|
3
|
3
|
2
|
4
|
6
|
5
|
7
|
6
|
5
|
7
|
4
|
Gray Encoding a Modulated Signal
For the PSK, DPSK, FSK, QAM, and PAM
modulation types, Gray constellations are obtained by setting the symbol
mapping to Gray-encoding in the corresponding modulation function or System
object®.
For modulation functions, you can
specify 'gray' for the symbol order input argument to obtain Gray-encoded
modulation.
The following example uses the qammod function with Gray-encoded symbol mapping.
y = [0:15];
y = de2bi(y);
M = 16;
symorder = 'gray';
xmap =
qammod(y,M,symorder,'InputType','bit','PlotConstellation',true);
Checking the constellation plot, you
can see the modulated symbols are Gray-encoded because all adjacent elements
differ by only one bit.
SKD81 IP Set Top Box
SKD121X Encoding & Multiplexing Modulator
Household Universal Encoding & Modulation Modulator
Up sample Signals and
Rate Changes
Some digital modulation blocks can
output an up-sampled version of the modulated signal, while their corresponding
digital demodulation blocks can accept an up-sampled version of the modulated
signal as input. In both cases, the Rate options parameter
represents the up-sampling factor, which must be a positive integer. Depending
on whether the input signal is single-rate mode or multi-rate mode, the block
either changes the signal's vector size or its sample time, as the following
table indicates. Only the OQPSK blocks deviate from the information in the
table, in that S is replaced by 2S in the scaling factors.
Process Up-sampled Modulated Data
(Except OQPSK Method)
Computation Type
|
Input Status
|
Result
|
Modulation
|
Single-rate processing
|
Output vector length is S times the number of integers or binary words
in the input vector. Output sample time equals the input sample time.
|
Modulation
|
Multi-rate processing
|
Output vector is a scalar. Output sample time is 1/S times the input
sample time.
|
Demodulation
|
Single-rate processing
|
Number of integers or binary words in the output vector is 1/S times the
number of samples in the input vector. Output sample time equals the input
sample time.
|
Demodulation
|
Multi-rate processing
|
Output signal contains one integer or one binary word. Output sample
time is S times the input sample time.
Furthermore, if S > 1
and the demodulator is from the AM, PM, or FM sub-library, the demodulated
signal is delayed by one output sample period. There is no delay if
S = 1 or if the demodulator is from the CPM sub-library.
|
Illustrations of Size or Rate
Changes. The following schematics illustrate
how a modulator (other than OQPSK) up-samples a triplet of frame-based and
sample-based integers. In both cases, the Samples per symbol parameter
are 2.
The following schematics illustrate
how a demodulator (other than OQPSK or one from the CPM sub-library) processes
three doubly sampled symbols using both frame-based and sample-based inputs. In
both cases, the Samples per symbol parameter are 2. The
sample-based schematic includes an output delay of one sample period.
For more information on delays,
see Delays in Digital Modulation.
PM Modulation
DQPSK Signal
Constellation Points and Transitions
The model below plots the output of
the DQPSK Modulator Baseband block. The image shows the possible transitions
from each symbol in the DQPSK signal constellation to the next symbol.
To open this
model enter doc_dqpsk_plot at the MATLAB command
line. To build the model, gather and configure these blocks:
·
Random Integer Generator, in the Random Data Sources sub-library
of the Comm Sources library
o
Set M-ary number to 4.
o
Set Initial seed to
any positive integer scalar, preferably the output of the randn function.
o
Set Sample time to .01.
·
DQPSK Modulator Baseband, in the PM sub-library of the Digital
Baseband sub-library of Modulation
·
Complex to Real-Imag, in the Simulink Math Operations library
·
XY Graph, in the Simulink Sinks library
Use the blocks' default parameters
unless otherwise instructed. Connect the blocks as in the figure above. Running
the model produces the following plot. The plot reflects the transitions among
the eight DQPSK constellation points.
This plot illustrates π/4-DQPSK
modulation, because the default Phase offset parameter in the
DQPSK Modulator Baseband block is pi/4. To see how the phase offset
influences the signal constellation, change the Phase offset parameter
in the DQPSK Modulator Baseband block to pi/8 or another value. Run
the model again and observe how the plot changes.
AM Modulation
Rectangular QAM
Modulation and Scatter Diagram
The model below uses the M-QAM
Modulator Baseband block to modulate random data. After passing the symbols
through a noisy channel, the model produces a scatter diagram of the noisy
data. The diagram suggests what the underlying signal constellation looks like
and shows that the noise distorts the modulated signal from the constellation.
To open this model,
enter doc_qam_scatter at the MATLAB command line. To build the model,
gather and configure these blocks:
·
Random Integer Generator, in the Random Data Sources sub-library
of the Comm Sources library
o
Set M-ary number to 16.
o
Set Initial seed to
any positive integer scalar, preferably the output of the randn function.
o
Set Sample time to .1.
·
Rectangular QAM Modulator Baseband, in the AM sub-library of
the Digital Baseband sub-library of Modulation
o
Set Normalization method to Peak
Power.
·
AWGN Channel, in the Channels library
o
Set Es/No to 20.
o
Set Symbol period to .1.
·
Constellation Diagram, in the Comm Sinks library
o
Set Symbols to display to 160.
Connect the blocks as in the figure.
From the model window's Simulation menu, select Model
Configuration parameters. In the Configuration Parameters dialog box,
set Stop time to 250. Running the model produces a
scatter diagram like the following one. Your plot might look somewhat different,
depending on your Initial seed value in the Random Integer
Generator block. Because the modulation technique is 16-QAM, the plot shows 16
clusters of points. If there were no noise, the plot would show the 16 exact
constellation points instead of clusters around the constellation points.
Compute the Symbol
Error Rate
The example generates a random
digital signal, modulates it, and adds noise. Then it creates a scatter plot,
demodulates the noisy signal, and computes the symbol error rate.
The output and scatter plot follow.
Your numerical results and plot might vary, because the example uses random
numbers.
num =
83
rt =
0.0166
The scatter plot does not look
exactly like a signal constellation. Where the signal constellation has 16
precisely located points, the noise causes the scatter plot to have a small
cluster of points approximately where each constellation point would be.
Combine Pulse Shaping
and Filtering with Modulation
Modulation is often followed by
pulse shaping, and demodulation is often preceded by a filtering or an
integrate-and-dump operation. This section presents an example involving
rectangular pulse shaping. For an example that uses raised cosine pulse shaping,
see Pulse Shaping Using a Raised Cosine Filter.
Rectangular Pulse
Shaping. Rectangular pulse shaping repeats
each output from the modulator a fixed number of times to create an up-sampled
signal. Rectangular pulse shaping can be a first step or an exploratory step in
algorithm development, though it is less realistic than other kinds of pulse
shaping. If the transmitter up-samples the modulated signal, then the receiver
should down sample the received signal before demodulating. The “integrate and
dump” operation is one way to down sample the received signal.
The code below uses the rectpulse function
for rectangular pulse shaping at the transmitter and the intdump function
for down sampling at the receiver.
M = 16; % Alphabet size, 16-QAM
x = randi([0
M-1],5000,1); % Message signal
Nsamp = 4; % Oversampling rate
% Modulate
y = qammod(x,M);
% Follow with
rectangular pulse shaping.
ypulse =
rectpulse(y,Nsamp);
% transmit signal
through an AWGN channel.
ynoisy =
awgn(ypulse,15,'measured');
% Down sample at the
receiver.
ydownsamp =
intdump(ynoisy,Nsamp);
% Demodulate to
recover the message.
z =
qamdemod(ydownsamp,M);
CPM Modulation
Phase Tree for
Continuous Phase Modulation
This example plots a phase tree
associated with a continuous phase modulation scheme. A phase tree is a diagram
that superimposes many curves, each of which plots the phase of a modulated
signal over time. The distinct curves result from different inputs to the
modulator.
This example uses the CPM Modulator
Baseband block for its numerical computations. The block is configured using a
raised cosine filter pulse shape. The example also illustrates how you can use
Simulink and MATLAB together. The example uses MATLAB commands to run a series of simulations
with different input signals, to collect the simulation results, and to plot
the full data set.
Open the model by typing doc_phasetree at
the MATLAB command line. To build the model, gather and configure these blocks:
·
Constant, in the Simulink Commonly Used Blocks library
o
Set Constant value to s (which
will appear in the MATLAB workspace).
o
Set Sampling mode to Frame-based.
o
Set Frame period to 1.
·
CPM Modulator Baseband
o
Set M-ary number to 2.
o
Set Modulation index to 2/3.
o
Set Frequency pulse shape to Raised
Cosine.
o
Set Pulse length to 2.
·
To Workspace, in the Simulink Sinks library
o
Set Variable name to x.
o
Set Save format to Array.
Do not run the model, because the
variable s is not yet defined in the MATLAB workspace. Instead, save
the model to a folder on your MATLAB path, using the filename doc_phasetree.
The second step of this example is
to execute the following MATLAB code:
% Parameters from the
CPM Modulator Baseband block
M_ary_number = 2;
modulation_index =
2/3;
pulse_length = 2;
samples_per_symbol =
8;
L = 5; % Symbols to
display
pmat = [];
for ip_sig =
0:(M_ary_number^L)-1
s = de2bi(ip_sig,L,M_ary_number,'left-msb');
% Apply the mapping of the input symbol to
the CPM
% symbol 0 -> -(M-1), 1 -> -(M-2),
etc.
s = 2*s'+1-M_ary_number;
sim('doc_phasetree', .9); % Run model to
generate x.
% Next column of pmat
pmat(:,ip_sig+1) = unwrap(angle(x(:)));
end;
pmat =
pmat/(pi*modulation_index);
t =
(0:L*samples_per_symbol-1)'/samples_per_symbol;
plot(t,pmat);
figure(gcf); % Plot phase tree.
This code defines the parameters for
the CPM Modulator, applies symbol mapping, and plots the results. Each curve
represents a different instance of simulating the CPM Modulator Baseband block
with a distinct (constant) input signal.
Exact LLR Algorithm
The log-likelihood ratio (LLR) is
the logarithm of the ratio of probabilities of a 0 bit being transmitted versus
a 1 bit being transmitted for a received signal. The LLR for a bit b is
defined as:
L(b)=log(Pr(b=0¯r=(x,y))Pr(b=1¯r=(x,y)))
Assuming equal probability for all
symbols, the LLR for an AWGN channel can be expressed as:
L(b)=log0BBBBBBBBB@Xs∈S0e−1σ2((x−sx)2+(y−sy)2)Xs∈S1e−1σ2((x−sx)2+(y−sy)2)1CCCCCCCCCA
Where the variables represent the
values shown in the following table.
Variable
|
What the Variable Represents
|
r
|
Received signal with coordinates (x, y).
|
b
|
Transmitted bit (one of the K bits in an M-ary symbol, assuming all M
symbols are equally probable.
|
S0
|
Ideal symbols or constellation points with bit 0, at the given bit
position.
|
S1
|
Ideal symbols or constellation points with bit 1, at the given bit
position.
|
sx
|
In-phase coordinate of ideal symbol or constellation point.
|
sy
|
Quadrature coordinate of ideal symbol or constellation point.
|
σ2
|
Noise variance of baseband signal.
|
σ2x
|
Noise variance along in-phase axis.
|
σ2y
|
Noise variance along quadrature axis.
|
Approximate LLR
Algorithm
Approximate LLR is computed by
taking into consideration only the nearest constellation point to the received
signal with a 0 (or 1) at that bit position, rather than all the constellation
points as done in exact LLR. It is defined as [8]:
L(b)=−1σ2(mins∈S0((x−sx)2+ (y−sy)2)−mins∈S1((x−sx)2+ (y−sy)2))
Delays in Digital
Modulation
Digital modulation and demodulation
blocks sometimes incur delays between their inputs and outputs, depending on
their configuration and on properties of their signals. The following table
lists sources of delay and the situations in which they occur.
Delays Resulting from Digital
Modulation or Demodulation
Modulation or Demodulation Type
|
Situation in Which Delay Occurs
|
Amount of Delay
|
FM demodulator
|
Sample-based processing
|
One output period
|
All demodulators in CPM sub-library
|
Multi-rate processing, and the model uses a variable-step solver or a
fixed-step solver with the Tasking Mode parameter set to Single
Tasking
D = Trace back length parameter |
D+1 output periods
|
Single-rate processing, D = Trace back depth parameter
|
D output periods
|
|
OQPSK demodulator
|
Single-rate processing
|
For more information, see OQPSK Demodulator Baseband.
|
Multi-rate processing and the model uses a fixed-step solver with Tasking
Mode parameter set to Auto or Multi-Tasking.
|
||
Multi-rate processing, and the model uses a variable-step solver or
the Tasking Mode parameter is set to Single Tasking.
|
||
All decoders in TCM sub-library
|
Operation mode set to Continuous, Tr
= Trace back depth parameter, and code rate k/n
|
Tr*k output bits
|
As a result of delays, data that
enters a modulation or demodulation block at time T appears in the output at
time T+delay. In particular, if your simulation computes error statistics or
compares transmitted with received data, it must take the delay into account
when performing such computations or comparisons.
First Output Sample
in DPSK Demodulation
In addition to the delays mentioned
above, the M-DPSK, DQPSK, and DBPSK demodulators produce output whose first
sample is unrelated to the input. This is related to the differential
modulation technique, not the particular implementation of it.
Example: Delays from
Demodulation
Demodulation in the model below
causes the demodulated signal to lag, compared to the un-modulated signal. When
computing error statistics, the model accounts for the delay by setting
the Error Rate Calculation block's Receive delay parameter
to 0. If the Receive delay parameter had a different
value, then the error rate showing at the top of the Display block would be
close to 1/2.
To open this model, enter doc_oqpsk_modulation_delay at
the MATLAB command line. To build the model, gather and configure these blocks:
·
Random Integer Generator, in the Random Data Sources sub-library
of the Comm Sources library
o
Set M-ary number to 4.
o
Set Initial seed to
any positive integer scalar.
·
OQPSK Modulator Baseband, in the PM sub-library of the Digital
Baseband sub-library of Modulation
·
AWGN Channel, in the Channels library
o
Set Es/No to 6.
·
OQPSK Demodulator Baseband, in the PM sub-library of the
Digital Baseband sub-library of Modulation
·
Error Rate Calculation, in the Comm Sinks library
o
Set Receive delay to 1.
o
Set Computation delay to 0.
o
Set Output data to Port.
·
Display, in the Simulink Sinks library
o
Drag the bottom edge of the icon to
make the display big enough for three entries.
Connect the blocks as shown above.
From the model window's Simulation, select Model
Configuration parameters. In the Configuration Parameters dialog
box, set Stop time to 1000. Then run the model and
observe the error rate at the top of the Display block's icon. Your error rate
will vary depending on your Initial seed value in the Random
Integer Generator block.
Established in 2000, the Soukacatv.com main
products are modulators both in analog and digital ones, amplifier and
combiner. We are the very first one in manufacturing the headend system in
China. Our 16 in 1 and 24 in 1 now are the most popular products all over the
world.
For more, please access to
https://www.soukacatv.com.
CONTACT US
Dingshengwei Electronics Co., Ltd
Company Address: Building A, the first industry park of
Guanlong, Xili Town, Nanshan, Shenzhen, Guangdong, China
Tel: +86 0755 26909863
Fax: +86 0755 26984949
Phone: +86 13410066011
Email:ken@soukacatv.com
Skype: soukaken
Source: mathworks
没有评论:
发表评论