Channel Coding Slides
Click here to load reader
Transcript of Channel Coding Slides
BPSK with Block Coding
BPSK
modulator
Coherent
BPSK
demodulator
Channel
decoding
cos(2 )cV f tπ± { }kb( )tr
( )tw0AWGN, 2-sided PSD of
2
NCoded bit error probability is ε
Channel coding
by mapping
bits to bitsm n
{ }(1) ( ), , mk kb b⋯ ⋯ ⋯
{ }(1) ( ), , nk kc c⋯ ⋯ ⋯
Information bits
Coded bits
Code rate is
<1m
Rn
=
Block coding adds redundancy by mapping each block of m
information bits into a block of n coded bits, where n > m.
If properly designed, can help reduce energy per bit (Eb), whileproviding the same information rate (rb) with the same bit errorprobability (P [error]), but by increasing the transmission bandwidth.
Equivalently: For a fixed transmission bandwidth, can reduce Eb toachieve the same P [error] by slowing down the information rate rb.
Note that ǫ = Q(√
2Eb·RN0
)
, where R = mn
is the code rate.
EE456 – Digital Communications Ha H. Nguyen
BPSK with Repetition Coding
Repetition
coding by n
times
BPSK
modulator
Coherent
BPSK
demodulator
Decoding by
majority voting
on each block
of n coded bits
{ }kb cos(2 )cV f tπ± { }kb( )tr{ }k kb b⋯
( )tw0AWGN, 2-sided PSD of
2
NCoded bit error probability is ε
This is a special form of block coding by simply repeating oneinformation bit (m = 1) n times.
Let k represent the number of coded bits equal to 1, then the
majority voting decision is: kbk=1
Rbk=0
n2 .
P [error] =
n∑
k= n+12
(n
k
)
ǫk(1 − ǫ)n−k, ǫ = Q
(√
2Eb
nN0
)
.
EE456 – Digital Communications Ha H. Nguyen
Performance of BPSK with Repetition Coding
0 2 4 6 8 1010
−6
10−5
10−4
10−3
10−2
10−1
100
Eb/N
0 (dB)
P[e
rror
]
Uncoded BPSKBPSK with repetition code(7,4) Hamming code
n=[3,9,13,17,21]
Repetition code turns out to be not useful at all. It is too simple.Upon reflection one realizes that the transmitted signals after repetition codingare still a BPSK signal set over a duration of Tb sec (the transmissionbandwidth is actually unchanged!). As such optimum BPSK detection surelyoutperforms the detection based on majority voting.
EE456 – Digital Communications Ha H. Nguyen
BPSK with (7,4) Hamming Code
BPSK
modulator
Coherent
BPSK
demodulator
Channel
decoding
cos(2 )cV f tπ± { }kb( )tr
( )tw0AWGN, 2-sided PSD of
2
NCoded bit error probability is ε
Channel coding
by mapping
bits to bitsm n
{ }(1) ( ), , mk kb b⋯ ⋯ ⋯
{ }(1) ( ), , nk kc c⋯ ⋯ ⋯
Information bits
Coded bits
Code rate is
<1m
Rn
=
b(1)k
b(2)k
b(3)k
b(4)k
c(1)k
c(2)k
· · · c(7)k
(0000) (0000000)(1000) (1101000)(0100) (0110100)(1100) (1011100)(0010) (1110010)(1010) (0011010)(0110) (1000110)(1110) (0101110)(0001) (1010001)(1001) (0111001)(0101) (1100101)(1101) (0001101)(0011) (0100011)(1011) (1001011)(0111) (0010111)(1111) (1111111)
ck =[
c(1)k
c(2)k
· · · c(7)k
]
=
[
b(1)k
, b(2)k
, b(3)k
, b(4)k
]
·
1 1 0 1 0 0 00 1 1 0 1 0 01 1 1 0 0 1 01 0 1 0 0 0 1
︸ ︷︷ ︸
Generator matrix G
Note: Multiplication and addition are modulo-2 operations.
EE456 – Digital Communications Ha H. Nguyen
Decoding (7,4) Hamming Code I
For a (n,m) block code, there is (n − m) × n parity-check
matrix H such that every valid codewordc =
[c(1), c(2), · · · , c(n)
]satisfies
c ·H⊤ = 0.
This parity-check matrix H can be used for decoding.
The parity-check matrix of the (7,4) Hamming code is
H =
1 0 0 1 0 1 10 1 0 1 1 1 00 0 1 0 1 1 1
EE456 – Digital Communications Ha H. Nguyen
Decoding (7,4) Hamming Code II
Let y be the length-n vector of the decoded bits after BPSKdemodulator. The decoding consists of three steps:
1 Compute the syndrome of y, namely y · H⊤.2 Locate the coset leader el whose syndrome is equal to y ·H⊤.
Then el is taken to be the error pattern caused by the channel.3 Decode the vector y into the codeword c∗ = y + el. From c∗
find the corresponding k information bits by inverse mapping.
Syndrome Coset leaders
(100) (1000000)(010) (0100000)(001) (0010000)(110) (0001000)(011) (0000100)(111) (0000010)(101) (0000001)
EE456 – Digital Communications Ha H. Nguyen
Performance of BPSK with (7,4) Hamming Code
0 2 4 6 8 1010
−6
10−5
10−4
10−3
10−2
10−1
100
Eb/N
0 (dB)
P[e
rror
]
Uncoded BPSKBPSK with repetition code(7,4) Hamming code
n=[3,9,13,17,21]
P [error] = 9 · ǫ2 · (1 − ǫ)5 + 19 · ǫ3 · (1 − ǫ)4 + 16 · ǫ4 · (1 − ǫ)3
+ 12 · ǫ5 · (1 − ǫ)2 + 7 · ǫ6 · (1 − ǫ) + ǫ7, ǫ = Q
√
2Eb
(47
)
N0
.
EE456 – Digital Communications Ha H. Nguyen
A 4-State Rate-1/3 Convolutional Encoder and Its State
Diagram
1kb − 2kb −kb
(3)kc
(2)kc
(1)kc��� ������ ����� ���
01
10
00 11
(b) State diagram
1 2k kb b− −
0kb =
1kb =
0S
1S
2S
3S000
111
101 010
011
100
110
001
(1) (2) (3)k k kc c c
EE456 – Digital Communications Ha H. Nguyen
Trellis Diagram and Viterbi Decoding
00
10
01
11
(c) Trellis diagram
1 2k kb b− − (1) (2) (3)k k kc c c
0000S
2S
1S
3S001 001
111
111
111
111000 000 000
011
011
101
101
101
010010
010110
110
100100
⋯
01
10
00 11
(b) State diagram
0S
1S
2S
3S
000
111
011
100
101
110
001
010
Let {r(1)k , r
(2)k , r
(3)k } be the received signal samples (at the output of
the matched filter) corresponding to the coded bits {c(1)k , c
(2)k , c
(3)k }.
Then it can be shown that the branch metric is∑3
j=1 r(j)k [2c
(j)k − 1].
With the above branch metric computation, the Viterbi algorithmfinds that path through the trellis that maximizes the path metric.
EE456 – Digital Communications Ha H. Nguyen
Performance Comparison with Uncoded BPSK
and (7,4) Hamming-Coded BPSK
0 2 4 6 8 1010
−7
10−6
10−5
10−4
10−3
10−2
10−1
100
Eb/N
0 (dB)
P[e
rror
]
Rate−1/34−stateconvolutionalcode
UncodedBPSK
(7,4)Hammingcode
EE456 – Digital Communications Ha H. Nguyen
Convolutional Code used in CDMA2000
���� � ������������� �������� ���� ����� � ��� � ! ��� �"�� ��#���� �� !$%% &'()))*+,+�-EE456 – Digital Communications Ha H. Nguyen
Convolutional Code used in WCDMA
./01 234 567891:;/680<1: 167891: =>0< :/01 23? >@ /A@8 91B>619 >6 ?CDD EF 4GH424IEE456 – Digital Communications Ha H. Nguyen
Convolutional Code used in WiMAX
JKL MNOPQRL STUVWUXW TUYZ[YTYV\ ]^V_ Z`TY^VUZ ]^WLPEE456 – Digital Communications Ha H. Nguyen