Sie sind auf Seite 1von 11

Viterbi Algorithm of Convolutional Code Satellite Communication

1 | T r a n g T n g T h i n V

Bo co tin bi tp ln mn Thng tin v tinh
H Ni ngy 25/09/14
ti
Thit k, m phng v thc hin h m ha gii m
Viterbi trn DSP/FPGA
Sinh vin: Tng Thin V
Lp: KSTN-TVT-K55, MSSV: 20102788
Ging vin hng dn: PGS.TS V Vn Ym, Vin TVT, HBKHN.

Cc nhim v thc hin c
Tm hiu v l thuyt m ha v m tch chp.
Tm hiu v l thuyt thut ton Viterbi v p dng vo gii m tch chp.
Xy dng v d minh ha.
Cng vic ang lm:
M phng h thng trn Matlab
K hoch cho 4 tun ti:
Hon thin m phng Matlab
Xy dng h thng trn phn cng thc
Hon thin bo co v slide, chun b thuyt trnh.

Viterbi Algorithm of Convolutional Code Satellite Communication
2 | T r a n g T n g T h i n V

Chi tit bo co
1. Tng quan v m sa li (error-correcting code)
Trong mt h thng thng tin s, tn hiu truyn gia my thu v my nhn c
th b nh hng bi cc tc nhn dn n li bit, tn hiu nhn c b sai lch so vi
nguyn mu c truyn i. M sa li (error-correcting code) tr thnh mt khu
quan trng trong vic truyn nhn d liu, bng vic s dng mt phng php m
ha ph hp (a thm cc bit vo chui tn hiu theo mt quy lut) gip bn thu c
kh nng kim sot c li trn chui bit truyn v trong mt s trng hp c th
sa c li .
M sa li c th c chia thnh 2 loi: m khi (block code) v m trellis.
Mt s loi m khi ph bin nh m vng (Cycle code), m chn l (Piority code), m
Reed Solomon, m BCH M tch chp l mt loi m trong h m trellis c s
dng ph bin trong cc h thng ngy nay nh cc chun khng dy (chun 802.11)
cng nh trong truyn thng v tinh (satellite communications). Mt trong nhng
thut ton ph bin gii m tch chp c s dng l thut ton Viterbi (Viterbi
Algorithm).
2. M tch chp (Convolution code)
Nh cp trn trn, m tch chp l mt loi m sa li nm trong h
m trellis. Trong khun kh bi tp ln ny ch nghin cu m tch chp nh phn, k
t y n kt thc bi nghin cu, khi nhc n m tch chp c th hiu l m tch
chp nh phn.
nghin cu v m tch chp, trc tin ta xem xt mt v d:

Hnh: S khi ca mt m tch chp (2, 1, 2).
Viterbi Algorithm of Convolutional Code Satellite Communication
3 | T r a n g T n g T h i n V

y l s khi ca mt b m ha m tch chp vi u vo l chui bit.
Nh vy, i vi b m ha ny, c mt bit x[n] c a vo b m ha t chui bit
u vo s kt hp vi 2 bit x[n-1], x[n-2] trc tnh ton thnh cp bit u ra
p
0
[0]p
1
[n]. Php tnh + c thc hin trong modulo 2, tng ng vi php ton
xor:
P
0
[0] = x[n] + x[n-1] + x[n-2]
P
1
[1] = x[n] + x[n-1]
Nh vy vi chui bit u vo l x = {1, 0, 1, 1, 0, 0} th ta c th tnh c u ra
p
0
= {1, 1, 0, 0, 0, 1}, p
1
= {1, 1, 1, 0, 1, 0} v kt hp li ta c chui bit u ra p = {11
11 01 00 01 10}.
C nhiu phng php biu din c mt m tch chp, phi k n mt s
phng php ph bin nh: s hnh cy (Code Tree), my trng thi hu hn
(Finate State Machine) v m t dng li (Trellis). Dng li c s dng thun
tin cho vic theo di s bin i ca dng bit m ha.
Xt m tch chp (2, 1, 2) c s khi trong hnh (?), ta s xy dng s li
cho chnh b m ha ny. Trc khi xy dng s , mt s khi nim cn c xy
dng. Trng thi (state) ca thanh ghi dch: nh ni trn, 1 bit u vo kt hp
vi 2 bit trc ang c lu tr trong cc thanh ghi s c kt hp li lm
u ra cho b m ha, v d ny s c 2 bit c lu tr trong 2 thanh ghi dch nn
s trng thi c th c ca 2 thanh ghi ny l 2
2
= 4, bao gm 00, 01, 10, 11. Nh vy,
khi mt bit (0 hoc 1) c a vo b m ha th trng thi ca thanh ghi s c
chuyn i sau . V d: thanh ghi ang trng thi 10, nu bit 1 c a vo th
s c chuyn sang trng thi 11, ngc li nu l bit 0 th trng thi mi s l 01.
Chng ta c th dng k hiu s1(0) biu th trng thi 1 thi im t = 0 d cho
vic quan st Trellis.

Viterbi Algorithm of Convolutional Code Satellite Communication
4 | T r a n g T n g T h i n V


Hnh: Dng li ca b m ha (2, 1, 2) v d trn
Tng ng vi mi trng thi ca thanh ghi dch v bit u vo ta c th tnh
ton c cc bit u ra. V d, ban u trng thi ca cc thanh ghi ang l 00 (x*n-
1]x[n-2] = 00), nu bit 0 (x*n+ = 0) c a vo h thng, da vo hnh (?) v cng
thc ta c th tnh c u ra p
0
p
1
= 00, sau khi tnh ton c u ra, thanh ghi
c chuyn qua trng thi mi l 00; ngc li nu bit 1 c a vo tc l x[n] = 1
th p
0
= 1 + 0 + 0 = 1 v p
1
= 1 + 0 = 1 ( y chng ta s dng cng modulo 2, xor),
trong trng hp ny trng thi ca thanh ghi c chuyn qua 10. Nh vy, t node
ban u, ta xy dng c 2 nhnh chuyn n 2 trng thi khc nhau. Tnh ton
tng t vi cc trng thi cn li, ta c mt trellis hon chnh ca m ang xt
nh hnh (?).
Trellis ca mt b m c th cho ta mt ci nhn khch quan v s tin trin ca
mt b m. N cng c th c dng m ha mt chui bit, nh trong hnh v
nu chui bit x = ,1 0 1 1 1 0 0- c ln lt m ha, qu trnh bin i ca cc trng
thi ca thanh ghi cng nh u ra c minh ha bng ng (path) mu . Quan
st hnh v ta c th thy c chui u ra s l p = {11 11 01 00 01 10}, ng vi kt
qu c tnh ton trn.

3. Gii m tch chp thut ton Viterbi
Viterbi Algorithm of Convolutional Code Satellite Communication
5 | T r a n g T n g T h i n V

phn 2 gii thiu c bn v mt b m ha m tch chp. Mt chui tn
hiu u vo c a vo b m ha cho ra mt chui u ra, chnh chui ny c
truyn i n u thu.
Vn t ra y l, khi mt chui r nhn c u thu, lm th no c th
gii m c ra thnh chui tn hiu bn pht mun gi i. Nh nhc n phn
trc, Trellis cung gip chng ta hiu hn v qu trnh m ha cng nh gii m. Gi
s rng chng ta xy dng c Trellis cho mt b m v nhn c chui tn hiu
cn gii m. Trong trng hp khng c li no xy ra, chng ta c th da vo Trellis
tm c ng i chnh xc nht v tm c chnh xc thng tin c gi i.
Trong trng hp c li, chng ta s da vo Trellis tm c ng i gn ng
nht (khi nim gn ng nht s c gii thch ngay sau y), da vo ng i ny
c th xy dng li c thng tin chnh xc ban u.
Trc khi bt u tm hiu mt v d c th, mt s khi nim s c s dng.
Khong cch Hamming gia 2 dy k t c chiu di bng nhau l s cc k hiu cc
v tr tng ng c gi tr khc nhau (v d khong cch Hamming gi 001 v 000 l
1, gia 110 v 101 l 2). T nh ngha ra 2 metrics: metric nhnh (Branch Metric -
BM) l khong cch gia t m truyn i v t m nhn c trong tng khong thi
gian, metric ng (Path Metric PM) l tng cc BM trn mt ng.
Bt u t mt v d n gin, gi s mt message cn c truyn i x = ,1, 0,
1, 1, 0, 0} sau khi qua b m ha c mt b m p = ,11 11 01 00 01 10-. P c
truyn i v nhn c nguyn vn bn my thu (gi s khng c li bit no xy ra),
nh vy, da vo Trellis hnh (?) ta s bt u d t s1(0) v tm c ng i
ng nh hnh v. Message x c khi phc hon ton trong trng hp l tng
khng c li.
Xt mt trng hp thc t hn, gi s message lc ny l x = {0, 1, 0, 1, 1, 1, 0,
1, 0, 0} cn c m ha truyn i, sau khi i qua b m ha ta nhn c t m p
= {00, 11, 10, 00, 01, 10, 01, 00, 10, 11-. P c truyn i, nhng do mt nh hng
no trn ng truyn dn n li v bn tin nhn c s l p = ,00, 11, 11, 00,
01, 10, 01, 00, 10, 11} (li bit th 4). Bng gii thut Viterbi, chng ta s tm li
message x cn c truyn i. T m p c th nhn da vo Trellis m chng ta
xy dng, v ng i ca t m ny nh sau:
Viterbi Algorithm of Convolutional Code Satellite Communication
6 | T r a n g T n g T h i n V


Hnh: T m nhn c t b m ha v t m sai nhn c my thu
Trc khi thc hin gii m, ta s ly mt v d lin quan n tnh ton BM:

Hinh: Tnh ton khong cch Hamming gia t m nhn c m t m c
gi i (c th)
Viterbi Algorithm of Convolutional Code Satellite Communication
7 | T r a n g T n g T h i n V

Gi s t m nhn c ti thi im i l 00. Xt s1(i), t s1 ng vi tng bit
u vo s chuyn qua mt trng thi khc s cho mt u ra tng ng (vi bit 1 s
chuyn qua s3 v u ra l 11, vi bit 0 th chuyn qua s1 v u ra l 00). Tng ng
vi nhng u ra ny ta tm c khong cch Hamming vi t m nhn c ( y,
bt u t s1(i) i sang 2 trng thi khc s c khong cch Hamming tng ng l 0
v 2).
Ban u, thanh ghi dch lun trng thi rng l 00 nn chng ta s i xt t
trng thi ny u tin.

Hnh: Ti thi im t = 0
thi im t = 0, trng thi ca thanh ghi l s1, t m nhn c l 00 so snh
vi 2 u ra c th c ta tnh c khong cch BM tng ng (Accumulated Error
Metric) vi mi ng l 0 v 2. Nh vy, cho n thi im hin ti, chng ta tm
ra 2 ng (path) c PM tng ng l 0 v 2, 2 ng ny s lin tc thay i sau cc
thi im tip theo, tng ng cc PM cng thay i theo thi gian.
Ti thi im t =1, bt u t 2 node trng thi s1(1) v s3(1) ta xc nh cc
trng thi tip theo. V d, xt s1(1), nu u vo l 0 th chuyn sang s1(2) v u ra
l 00 c BM vi t m nhn c l 2, nn PM ng vi trng hp ny s l 0 + 2 = 2,
nu u vo l 1 th chuyn sang s3(2) v u ra l 11 c BM vi t m nhn c l
0, PM trong trng hp ny l 0 + 0 = 0. Tng t vi node s3(1).
Viterbi Algorithm of Convolutional Code Satellite Communication
8 | T r a n g T n g T h i n V


Hnh: cc ng trn trellis ti thi im t = 2
Nh vy sau thi im t = 2, chng ta thu c 4 ng (path) c PM tng
ng l 2, 3, 0 v 3. Xt tip thi im t = 3.

T thi im t = 2, tng ng vi mi node v bit u vo, ta xc nh node
(trng thi thi im t = 3) tip theo. y xy ra mt vn phc tp cn gii
quyt, c hn mt ng dn n mt node ti thi im t = 3 (v d nh node s1(3)
c mt ng t s2(2) v mt ng t s1(2)). Trong trng hp ny, ta s chn
ng no c PM nh hn v b ng c PM ln hn v tip tc n bc tip
Viterbi Algorithm of Convolutional Code Satellite Communication
9 | T r a n g T n g T h i n V

theo. Trong trng hp 2 ng c PM bng nhau, ta s gi nguyn v tip tc xt c
2 ng.
Ti thi im t = 4, sau khi b cc ng c PM nh hn ti mi node, v tip
tc xt nh cc thi im trc ta c v thm c trm Trellis:

Hnh: ti thi im t =4
Thc hin tng t cc qu trnh trn n thi im t = 10 v loi b cc ng
c PM b hn ta chn c mt c gn nht vi t m nhn c (hnh ?).
Nh vy, sau qu trnh tnh ton BM v chn lc PM ta tm c ng gn
nht vi t m nhn c, qua thu c t m ban u. Tng PM ca ng
nhn c l 1, iu ny chng t c mt li trong t m nhn c. Qua ng c
PM nh nht , ta phc hi li c message ban u m bn pht chuyn i. C
th kt lun rng, trong trng hp ny, thut ton Viterbi khng nhng pht hin
c li m cn c th sa c li .


Viterbi Algorithm of Convolutional Code Satellite Communication
10 | T r a n g T n g T h i n V


4. M phng gii thut gii m Viterbi bng Matlab:
Sau khi tm hiu c nguyn l s dng thut ton Viterbi gii m m tch
chp, tin ti xy dng h thng ny trn phn cng, chng ta s m phng h
thng ny trn Matlab. S khi d kin ca h thng s l





Viterbi Algorithm of Convolutional Code Satellite Communication
11 | T r a n g T n g T h i n V

Trong bo co c s dng hnh nh ca mt s ti liu:
[1] MIT 6.02 Course, Lecture 8 Convolutional Coding, 2010
[2] MIT 6.02 Course, Lecture 9 Viterbi Decoding of Convolutional Codes, 2010
[3] Huznh Minh Kh, n tt nghip B m Viterbi, 2011

Das könnte Ihnen auch gefallen