CSE4214: DIGITAL COMMUNICATIONS
PROJECT 3: CONVOLUTIONAL CODES
Instructor: Dr. Amir Asif
Department of Computer Science and Engineering
York University, Toronto, ON M3J 1P3
The students will complete the following project in Matlab and submit their solutions along with a soft copy of
the code in the form of a report.
Introduction:
In this project, we will run a MonteCarlo simulation to characterize the performance of a binary
communication system that uses convolutional encoding with pulse shift keying (PSK) modulation.
Figure 1
illustrates the block diagram of such a digital communication system where the input message is denoted by the
Information
Source
a45
Convolutional
Encoder
a45
Modulator
s
i
(
t
)
a63
AWGN
Channel
a27
Demodulator
hatwide
s
i
(
t
)
a27
Convolutional
Decoder
a27
Information
Sink
Input Sequence
m
=
m
1
, m
2
, . . . , m
i
, . . .
Codeword Sequence
U
=
G
(
m
) =
U
1
, U
2
, . . . , U
i
, . . .
with
U
i
=
u
1
i
, u
2
i
, . . . , u
ji
, . . . , u
ni
Demodulated Codeword Sequence
Z
=
Z
1
, Z
2
, . . . , Z
i
, . . .
with
Z
i
=
z
1
i
, z
2
i
, . . . , z
ji
, . . . , z
ni
Detected Sequence
hatwide
m
=
hatwide
m
1
,
hatwide
m
2
, . . . ,
hatwide
m
i
, . . .
Figure 1: A digital communication system emphasizing channel encoding and modulation.
sequence
m
with each
m
i
representing a binary digit (bit).
The index
i
in
m
i
is the time index, thus
m
1
is
transmitted before
m
2
and so on with the remaining bits. The channel encoder encodes the input message
m
U
=
G
(
m
)
(1)
producing the codeword
U
that is transmitted through an AWGN channel with power spectral density of
N
o
. In
this project, a (
n,
1
, K
) binary convolutional encoder is used as the channel encoder.
Therefore, a codeword of
length
n
is produced for each input bit.
More on convolutional encoder later where we illustrate its operation
through an example.
The modulation and demodulation scheme used in the digital communication system modeled in figure 1, is
the Mary PSK. Recall that the general representation for the PSK waveforms is
s
i
(
t
)
=
radicalbigg
2
E
T
cos
bracketleftbig
ω
o
t

2
πi
M
bracketrightbig
,
i
= 1
, . . . , M,
0
≤
t
≤
T
(2)
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
where
ω
o
is the carrier frequency in radians/s and is assumed an integer multiple of 2
π/T
. The transmitted signal
s
i
(
t
) has a constant envelope with a duration of
T
and energy
E
. In project 2, we implemented the PSK modulator
and demodulator using Matlab. These functions are made available to you for this project. In the following section,
we focus on the binary convolutional encoder and decoder.
Convolutional Encoder:
A binary convolutional code is generated by passing the information sequence to be
transmitted through a linear finitestate shift register. For a (
n,
1
, K
) convolution code, the shift register consists
of
K
stages and
n
linear modulo2 function generators. The input data is shifted into and along the shift register
a single bit at a time producing a
n
tuplet output for each shift.
Consequently, the code rate for a (
n,
1
, K
)
convolutional encoder is 1
/n
. To illustrate the working of a convolutional encoder, consider the (3,1,3) convolutional
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '08
 Staff
 Computer Science, Viterbi algorithm, Convolutional code, convolutional encoder

Click to edit the document details