3/22/2010
1
CHƯƠNG 5: MÃ HÓA KÊNH
ðặng Lê Khoa
Email: dlkhoa@fetel.hcmuns.edu.vn
Facuty of Electronics & Telecommunications, HCMUS
1
Ni dung trình bày:
Mã hóa kênh ( Channel coding )
Mã hóa khi (Block codes)
+ Mã lp (Repetition Code)
+ Hamming codes
+ Cyclic codes
* Reed-Solomon codes
Mã hóa chp (Convolutional codes)
+ Encode
+ Decode
ðiu chế mã lưới (Trellis Coded Modulation)
2
Sơ ñồ khi DCS
Format Source
encode
Format Source
decode
Channel
encode Pulse
modulate Bandpass
modulate
Channel
decode
Demod.
Sample
Detect
Channel
Digital modulation
Digital demodulation
3
Channel coding là gì?
Tín hiu truyn qua kênh truyn s b nh hưởng bi
nhiu, can nhiu, fading… là tín hiu ñầu thu b sai.
Mã hóa kênh: dùng ñ bo v d liu không b sai
bng cách thêm vào các bit dư tha (redundancy).
Ý tưởng mã hóa kênh là gi mt chui bit có kh
năng sa li
Mã hóa kênh không làm gim li bit truyn mà ch làm
gim li bit d liu (bng tin)
Có hai loi mã hóa kênh cơ bn là: Block codes và
Convolutional codes
4
Các loi mã hóa sa sai
Mã lp (Repetition Code)
Mã khi tuyến tính (Linear Block Code), e.g.
Hamming
Mã vòng (Cyclic Code), e.g. CRC
BCH và RS Code
Mã chp (Convolutional Code)
Truyn thng, gii mã Viterbi
Mã Turbo
Mã LDPC
Coded Modulation
TCM
BICM 5
Mã lp
Recovered state
6
3/22/2010
2
Kim tra chn l (Parity Check)
Thêm 1 bit ñể xor các bit có kết qu là 0
D liu truyn, sa li, không th sa li
Kim tra hàng và ct
ng dng: ASCII, truyn d liu qua cng ni
tiếp
7
Mã khi tuyến tính (Linear block codes)
Chui bit thông tin ñược chia thành tng khi k bit.
Mi khi ñược encode thành tng khi ln hơn có
n bit.
Các bit ñược mã hóa và gi trên kênh truyn.
Quá trình gii mã ñược thc hin phía thu.
Data block Channel
encoder Codeword
k bits n bits
rate Code
bits Redundant
n
k
R
n-k
c=
8
Linear block codes – cont’d
Khong cách Hamming gia hai vector UV, là
s các phn t khác nhau.
Khong các ti thiu ca mã hóa khi là
Ví d: Tính khong cách Hamming ca C1: 101101
và C2:001100
Gii: Vì =>d12=W(1000001)=2
=> Ta có th gii mã ñể sa sai bng cách chn
codewords có dmin
)()( VUVU,
=
wd
)(min),(min
min i
i
ji
ji
wdd UUU ==
100001
001100
101101
=
9
Linear block codes – cont’d
Kh năng phát hin li ñược cho bi:
Kh năng sa li t ca mã hóa ñược ñịnh
nghĩa là s li ti ña có th sa ñược trên 1 t
mã (codeword)
=2
1
min
d
t
1
min
= de
10
Linear block codes – cont’d
Encoding trong b mã hóa khi (n,k)
Các hàng ca G thì ñộc lp tuyến tính.
mGU
=
kn
k
kn
mmmuuu
mmmuuu
VVV
V
V
V
+++=
=
2221121
2
1
2121
),,,(
),,,(),,,(
11
Linear block codes – cont’d
Example: Block code (6,3)
=
=
1
0
0
0
1
0
0
0
1
1
1
0
0
1
1
1
0
1
3
2
1
V
V
V
G
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
0
1
0
Message vector Codeword
12
3/22/2010
3
Linear block codes – cont’d
Mã hóa khi (n,k)
k phn t ñầu tiên (hoc cui cùng) trong t mã là các
bit thông tin.
matrix )(
matrixidentity
][
knk
kk
k
k
k
×=
×=
=
P
I
IPG
),...,,,,...,,(),...,,(
bits message
21
bitsparity
2121
kknn
mmmpppuuu
==U
13
Linear block codes – cont’d
ðối vi bt k mã hóa khi tuyến tính, chúng
ta có mt ma trn . Các hàng ca
ma trn này trc giao vi ma trn :
Hñược gi là ma trn kim tra parity và các
hàng ca chúng ñộc lp tuyến tính.
ðối vi mã hóa khi truyến tính:
nkn × )(
H
G
0GH =
T
][
T
kn
PIH
=
14
Linear block codes – cont’d
Kim tra ñặc trưng:
Sñặc trưng ca r, tưng ng vi error pattern e.
Format Channel
encoding Modulation
Channel
decoding
Format Demodulation
Detection
Data source
Data sink
U
r
m
m
ˆ
channel
or vectorpattern error ),....,,(
or vector codeword received ),....,,(
21
21
n
n
eee
rrr
=
=
e
r
eUr
+
=
TT
eHrHS ==
15
Linear block codes – cont’d
Mng tiêu chun
Hàng ñược to thành bng cách cng U
vi pattern
kknknkn
k
k
22
2
22
2
2222
2
21
UeUee
UeUee
UUU
zero
codeword
coset
coset leaders
kn
i
=2,...,3,2
i
e
16
Linear block codes – cont’d
Mng tiêu chun và ñặc trưng bng gii mã
1. Tính
2. Tìm coset chính , tưng ng vi .
3. Tính và tưng ng vi .
Chú ý:
Nếu , error ñược sa.
Nếu , b gii mã không th phát hin li.
T
rHS =
i
ee =
ˆ
S
erU ˆ
ˆ+=
m
ˆ
)
ˆˆ
(
ˆ
ˆe(eUee)UerU ++=++=+=
ee =
ˆ
ee
ˆ
17
Linear block codes – cont’d
Ví d: Mng chun cho mã (6,3)
010110100101010001
010100100000
100100010000
111100001000
000110110111011010101101101010011100110011000100
000101110001011111101011101100011000110111000010
000110110010011100101000101111011011110101000001
000111110011011101101001101110011010110100000000
Coset leaders
coset
codewords
18
3/22/2010
4
Linear block codes – cont’d
111010001
100100000
010010000
001001000
110000100
011000010
101000001
000000000
(101110)(100000)(001110)
ˆ
ˆ
estimated is vector corrected The
(100000)
ˆ
is syndrome this toingcorrespondpattern Error
(100)(001110)
:computed is of syndrome The
received. is (001110)
ted. transmit(101110)
=+=+=
=
===
=
=
erU
e
HrHS
r
r
U
TT
Error pattern Syndrome
19
Hamming codes
Là trường hp riêng ca linear block codes
Din t theo hàm ca mt s nguyên .
Hamming codes
2
m
t
mn-k
mk
n
m
m
1 :capability correctionError
:bitsparity ofNumber
12 :bitsn informatio ofNumber
12 :length Code
=
=
=
=
20
Hamming codes
Example: Systematic Hamming code (7,4)
][
1011100
1101010
1110001
33 T
PIH ×
=
=
][
1000111
0100011
0010101
0001110
44×
=
=IPG
21
Mã hóa Hamming
Mã hóa: H(7,4)
Nhiu phép kim tra tng
Message=[a b c d]
r= (a+b+d) mod 2
s= (a+b+c) mod 2
t= (b+c+d) mod 2
Code=[r s a tb c d]
Tc ñộ mã: 4/7
Càng nh, nhiu redundance bit, ñược bo v tt hơn.
Khác bit gia phát hin và sa li
Message=[1 0 1 0]
r=(1+0+0) mod 2 =1
s=(1+0+1) mod 2 =0
t=(0+1+0) mod 2 =1
Code=[ 1 0 1 10 1 0 ]
22
Hamming codes
Example: Systematic Hamming code (7,4)
][
1011100
1101010
1110001
33 T
PIH ×
=
=
][
1000111
0100011
0010101
0001110
44×
=
=IPG
23
Ví d mã hóa Hamming
H(7,4)
Ma trn sinh G: ñầu tiên là ma trn ñơn v 4x4
D liu truyn là vector p
Vector truyn x (G=[I/P])
Vector nhn r và vector li e
24
3/22/2010
5
Sa li
Nếu không có li, vector ñặc trưng (syndrome) z=zeros
Nếu có 1 li v trí th 2
Vector ñặc trưng z là
tương vi ct th 2 ca H. Vy, li ñuc phát hin v trí
th 2 và có th sa li cho ñúng.
25
ðộ li mã hóa (Coding Gain)
Tc ñộ mã R=k/n, k: s symbol d liu, n tng
symbol
SNR t và SNR ca bit
Vi mt sơ ñồ mã hóa, ñộ li mã hóa ti mt
sc xut li bit ñược ñịnh nghĩa là s khác bit
gia năng lượng cn thiết cho 1 bit thông tin ñã
mã hóa ñể ñạt ñược sc xut li cho trước và
truyn dn không mã hóa
26
Ví d ñộ li mã hóa
27
Example of the block codes
8PSK
QPSK
[dB] /
0
NE
b
B
P
28
Cyclic code
Cyclic codes ñược quan tâm và quan trng vì
Da trên cu trúc ñi s có th ng dng rng
rãi.
D dàng thc hin bng thanh ghi dch (shift register)
ðược ng dng rng rãi trong thc nghim
Trong thc nghim, cyclic codes ñược s dng
ñể phát hin li (Cyclic redundancy check, CRC)
ðược s dng trong mng chuyn mch gói
Khi có 1 li ñược phát hin b nhn, chúng s
ñược yêu cu truyn li.
ARQ (Automatic Repeat-reQuest)
29
Cyclic block codes
Mt mã tuyến tính (n,k) ñược gi là Cyclic
code nếu khi dch vòng 1codeword thì ñó cũng
là codeword.
d:
),...,,,,,...,,(
),...,,,(
121011
)(
1210
+
=
=
inninin
i
n
uuuuuuu
uuuu
U
U
i” cyclic shifts of U
UUUUU
U
=====
=
)1101( )1011( )0111( )1110(
)1101(
)4()3()2()1(
30