Information bits
{bk(1) ,, bk( m) }
Channel coding by mapping m bits to n bits
BPSK modulator
(1) k ( n) ,, ck }
V cos(2 f ct )
r (t )
Channel decoding
{b }
k
{ c
Coded bits
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 ), while providing the same information rate (rb ) with the same bit error probability (P [error]), but by increasing the transmission bandwidth. Equivalently: For a xed transmission bandwidth, can reduce Eb to achieve the same P [error] by slowing down the information rate rb . Note that = Q
EE456 Digital Communications
2Eb R N0
, where R =
m n
{bk bk }
BPSK modulator
V cos(2 f ct )
r (t )
{b }
k
This is a special form of block coding by simply repeating one information bit (m = 1) n times. Let k represent the number of coded bits equal to 1, then the
bk =1
n 2.
P [error] =
k= n+1 2
n k (1 )nk , k
=Q
2Eb nN0
Ha H. Nguyen
10
n=[3,9,13,17,21] 10 P[error]
2
10
10
10
10
Uncoded BPSK BPSK with repetition code (7,4) Hamming code 2 4 Eb/N0 (dB) 6 8 10
Repetition code turns out to be not useful at all. It is too simple. Upon reection one realizes that the transmitted signals after repetition coding are still a BPSK signal set over a duration of Tb sec (the transmission bandwidth is actually unchanged!). As such optimum BPSK detection surely outperforms the detection based on majority voting.
EE456 Digital Communications Ha H. Nguyen
{bk(1) ,, bk( m) }
Channel coding by mapping m bits to n bits
BPSK modulator
(1) k ( n) ,, ck }
V cos(2 f ct )
r (t )
Channel decoding
{b }
k
{ c
bk bk bk bk (0000) (1000) (0100) (1100) (0010) (1010) (0110) (1110) (0001) (1001) (0101) (1101) (0011) (1011) (0111) (1111)
(1) (2) (3) (4)
Coded bits
ck ck
(1) (2)
(0000000) (1101000) (0110100) (1011100) (1110010) (0011010) (1000110) (0101110) (1010001) (0111001) (1100101) (0001101) (0100011) (1001011) (0010111) (1111111)
(1) (2)
(7)
1 1 1 0
0 1 1 1
1 0 0 0
0 1 0 0
0 0 1 0
Generator matrix G
0 0 0 1
Ha H. Nguyen
Compute the syndrome of y, namely y H . 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. Decode the vector y into the codeword c = y + el . From c nd the corresponding k information bits by inverse mapping.
10
n=[3,9,13,17,21] 10 P[error]
2
10
10
10
10
Uncoded BPSK BPSK with repetition code (7,4) Hamming code 2 4 Eb/N0 (dB) 6 8 10
P [error]
= +
9 2 (1 )5 + 19 3 (1 )4 + 16 4 (1 )3 2Eb 4 7 12 5 (1 )2 + 7 6 (1 ) + 7 , = Q . N0
Ha H. Nguyen
01
c
(3) k
011
110
bk 1bk 2
bk
bk 1
bk 2
(2) ck
100
000
00 S 0
S3 11
001
ck(1)
101
010
111
S1
bk = 0
bk = 1
Ha H. Nguyen
S2
S 0 00
110 001 S 2 01
S3
000
11 1 11 1
000
11 1
000
1 01
11 1
000
1 01
011
000 100
00 S0
01
10 0 1 10 1 10
10 0 1 10
11
01 0
111
S1
101
010
S1 10
01 0
S3 11
11 0
01 0
11 0
10
001
Let be the received signal samples (at the output of (1) (2) (3) the matched lter) corresponding to the coded bits {ck , ck , ck }. (j ) (j ) 3 Then it can be shown that the branch metric is j =1 rk [2ck 1]. With the above branch metric computation, the Viterbi algorithm nds that path through the trellis that maximizes the path metric.
EE456 Digital Communications Ha H. Nguyen
Uncoded BPSK
Ha H. Nguyen
Ha H. Nguyen
34 567891: ./01 2 ;/6 80< 1: 16 7891: =>0< : /01 2 3? > @ /A @8 91B > 6 19 > 6 ?CDD EF 4GH4 24I
Ha H. Nguyen
Ha H. Nguyen