You are on page 1of 37

Thut gii m Viterbi

IN T - VIN THNG 1


MC LC
Li ni u ............................................................................................................ 2
CHNG I: THUT GII M VITERBI ....................................................... 3
1.1 Khi nim m chp ................................................................................... 3
1.2 Phn tch m ha dng m chp .............................................................. 3
1.3 Cu trc m chp ...................................................................................... 7
1.4 Biu din m chp ................................................................................... 11
1.5 u nhc im ca m chp .................................................................. 14
1.6 nh ngha thut ton Viteri ................................................................ 14
1.7 Phn tch thut gii Viteri .................................................................... 15
1.8 Xc sut li ............................................................................................... 27
1.9 u nhc im ca thut ton gii m Viteri .................................... 28
CHNG II: M PHNG THUT GII M VITERBI BNG MATLAB
.............................................................................................................................. 29
2.1 Gii thiu ................................................................................................... 29
2.2 S khi h thng .................................................................................. 29
2.3 Lu m phng ...................................................................................... 30
2.4 Khi m ha .............................................................................................. 31
2.5 Khi cng nhiu Gausse trng ................................................................. 31
2.6 Khi gii m .............................................................................................. 31
2.7 Tnh ton v v BER ................................................................................ 32
2.8 Code Matlab.............................................................................................. 32
Kt lun ............................................................................................................... 37




Thut gii m Viterbi

IN T - VIN THNG 2

Li ni u
Trong lnh vc truyn thng, cc qu trnh m ha v gii m c s dng
nhiu vi cc chc nng khc nhau nhm m bo tnh bo mt, tin cy cao khi
truyn tin. Do , vic xy dng cc phng php m ha, gii m, vic chn la
cc tham s cho b to m (encoder) v cc b gii m (decoder) l rt quan trng
trong truyn tin an ton. Cho n nay, thng thng cc phng php m ha v
gii m ch c phn tch trn c s phng php x l tn hiu truyn thng, biu
din theo thi gian, tn s hay khng gian. Tuy vy, d c phn tch trn c s
no, th vic thit lp cc b to m hay gii m u c thc hin da vo cc m
hnh khi bc ban u. Hay ni cch khc, vic thit lp cc b to m hay gii
m chnh l vic xy dng mt m hnh h thng vi u vo l tin tc, u ra l
cc t m v cc bin trng thi c trong h thng. V vy, vic nhn nhn m ha
v gii m trn quan im l thuyt h thng l c c s thc hin. c bit, vic
nghin cu m sa sai trn quan im l thuyt h thng c tm quan trng i vi
vic tm cc m c kh nng sa sai tt, cn t bit d tha, hay tm ra cc m mnh
kt hp vi kh nng quan st, iu khin ng thi ti u ha qu trnh m ha
v gii m.
Trong khun kh ca mn hc, m chp c s dng phn tch v lm r
thm v vic biu din m trong khng gian trng thi. Ngoi ra, project cn biu
din mt b to m v gii m chp s dng phn mm Matlab2010 nhm c ci
nhn r hn v qu trnh to m v gii m. Do hn ch v thi gian tm hiu nn
ti cn nhiu thiu st v knh mong c ch bo ti c b sung trong thi
gian ti.


















Thut gii m Viterbi

IN T - VIN THNG 3

CHNG I: THUT GII M VITERBI

1.1 Khi nim m chp

M chp l mt k thut m ha sa sai. M chp thuc h m li (m ha
theo Trellis) v c xy dng da trn mt a thc sinh hoc mt s chuyn
trng thi (trellis m) c trng. Qu trnh gii m ca m chp phi da vo trellis
m thng qua cc gii thut khc nhau, trong ni ting nht l gii thut Viterbi.

Ti sao gi l m chp v cu trc m ha c th biu din di dng php tnh
chp gia a thc sinh m v chui tn hiu c m ha.

M ha chp v thut ton gii m Viterbi c s dng trong khong hn mt
t in thoi, c th l ln nht trong cc loi thut ton c ng dng. Tuy nhin,
hin ti th thut ton x l viterbi c ng dng nhiu nht trong cc thit b m
thanh v hnh nh k thut s. Ngy nay, chng cn c s dng trong cc thit b
bluetooth.

Mc ch ca m ha knh truyn l nhm tng dung lng knh truyn, bng
cch cng thm vo tn hiu nhng d liu d tha c thit k mt cch cn thn
trc khi truyn ln knh truyn. M ha chp v m ha khi l 2 dng chnh ca
m ha knh truyn. M ha chp th da trn d liu ni tip, 2 hoc mt vi bit
c truyn mt lc, cn m ha khi th da trn mt khi d liu ln tng quan
(c trng l khong vi trm bytes). V d, m Redsolomon l mt m ha khi.

S khc nhau c bn gia m ha khi v m ha chp l m ha khi l m
ha khng nh. Cho mt chui d liu K bit, th ng ra ca b m ha khi l mt
khi d liu n bit duy nht. M ha chp khng kt ni cc khi bit ring vo trong
mt khi t m, thay vo n s chp nhn mt chui bit lin tc v ta thnh mt
chui ng ra. Hiu qu hay tc d liu ca m ha chp c nh gi bng t l
ca s bit ng vo k, v s bit ng ra n. Trong m ha chp l c mt vi b nh
dng ghi nh dng bit vo. Thng tin ny c s dng m ha cc bit tip
theo.

1.2 Phn tch m ha dng m chp

M chp l m tuyn tnh c ma trn sinh c cu trc sao cho php m ha c
th xem nh mt php lc (hoc ly tng chp). M chp c s dng rng ri
trong thc t. Bi m ha c xem nh mt tp hp cc b lc s tuyn tnh vi
dy m l cc u ra ca b lc c ghp xen k. Cc m chp l cc m u tin
c xy dng cc thut ton gii m quyt nh mm hiu qu.

M khi t cc khi k du (hay k hiu) to ra cc khi n du. Vi cc m
chp (thng c xem l cc m dng), b m ha hot ng trn dng lin tc
cc bit vo khng c phn thnh cc khi tin ri rc. Tuy nhin tc m
Thut gii m Viterbi

IN T - VIN THNG 4

e F X
|
(
n

k
c hiu l c c k ng vo mi bc thi gian s to ra n ng ra.


|



n


Cc php tnh s hc s dng trong hnh thc m ha ny c th c thc hin trn
mt trng ty nhng thng thng vn l trn GF(2).

Ta biu th cc dy v cc hm truyn t nh cc chui ly tha ca bin x
(i khi cn dng k hiu D thay cho x). Dy {,m
-2
, m
-1
, m
0
, m
1
, m
2
, } (vi
cc phn t m
i
thuc trng F) c xem nh mt chui Laurent:


m( X ) = m
e
x
e

e=

Tp tt c cc chui Laurent trn F l mt trng, ta k hiu trng ny l
F X ( . Nh vy m( X ) e F X (

| | | |


i vi dng nhiu bit vo ta dng k hiu m
(1)
(x) biu th dng u

vo u tin, m
(2)
(x) biu th dng u vo th hai. Tp cc dng vo xem nh mt
vect:


m(x) = [m
(1)
(x) m
(2)
(x)]e F X | (
2



|





B m ha cho m chp thng c coi l mt tp cc b lc s. Hnh 2.1 ch ra
mt v d v mt b m ha














Hnh 1.1: B m ha cho m chp tc R = 1/2
(cc D biu th cc nh mt bt cc trigger D)

Dng vo m
k
i qua hai b lc dng chung cc phn t nh to ra hai dng
ra.
C
(1)
k

= m
k
+ m
k-1
+ m
k-2

v C
(2)
k
= m
k
+ m
k-2
.

Hai dng ra ny c a ra xen k to ra dng c m ha C
k
. Nh vy
c mi bt vo li c hai bt m ha c a ra, kt qu l ta c mt m c t

R = 1/2.

Thut gii m Viterbi

IN T - VIN THNG 5

Thng thng ta coi trng thi ban u ca cc phn t nh l 0. Nh vy,
vi dng vo m = {1, 1, 0, 0, 1, 0, 1} cc u ra s l:

C
(1)
= {1, 0, 0, 1, 1, 1, 0, 1, 1}

v C
(2)
= {1, 1, 1, 1, 1, 0, 0, 0, 1}

Dng ra: C = {11, 01, 01, 11, 11, 10, 00, 10, 11}

y du phy phn cch cc cp bt ra ng vi mi bt vo.

Ta c th biu th hm truyn t u vo m(x) t u ra C
(1)
(x) nh sau:

g
1
(x) = 1 + x +x
2
.

Tng t ta c g
2
(x)= 1 + x
2
.

Dng vo m = {1, 1, 0, 0, 1, 0, 1} c th biu th nh sau:

m (x) = 1+ x+ x
4
+ x
6




Cc u ra s l:

C
(1)(
x) = m(x)g (x) = (1+ x +x
4
+ x
6
)(1+ x + x
2
) = 1 +x
3
+x
4
+x
5
+x
7
+ x
8


1

C
(2)(
x) = m(x)g (x) = (1+ x +x
4
+ x
6
)(1+ x
2
) = 1+x + x
2
+x
3
+x
4
+x
8


2

Vi mi m chp tc

c mt hm truyn ma trn k n e(x) (cn


c gi l ma trn truyn). Vi m tc

v d trn ta c:



G
a
(x) = [1+ x+ x
2
1 + x
2
]


Ma trn truyn ny khng ch c dng cc a thc, ta c th thy thng qua
v d sau:

V d 1: Xt ma trn truyn ca m chp sau:


V c 1 ct u tin nn dng vo s xut hin trc tip u ra an xen, bi
vy y l mt m chp h thng. B m ha cho m ny c m t hnh 2.2:











Hnh 1.2: B m ha h thng vi R = 1/2

Thut gii m Viterbi

IN T - VIN THNG 6

Vi dng vo: m (x) = 1+ x + x
2
+ x
3
+ x
4
+ x
8
cc u ra C
(1)

k
v C
(2)

k
c
dng:

C
(1)
k
= m(x) =1 + x +x
2
+ x
3
+ x
4
+ x
8



C
(2)
(x) =
(1 + x + x
2
+ x
3
+ x
4
+ x
8
)(1+ x + x
2
)


+ x
2


k
1


Mt b m ha ch c cc hng a thc trong ma trn truyn c gi l b
m ha c p ng xung hu hn. Mt b m ha c cc hm hu t trong ma trn
truyn gi l b m ha c p ng xung v hn.

Vi m c tc k/n vi k > 1 dy tin tc u vo (ta coi nh c tch ra
t mt dy tin tc thnh k dng), ta c:

m(x) = [m
(1)
( x), m
(2)
(x),,m
(k)
(x)]

v











Dy ra c biu th nh sau:

C(X) = [C
(1)
(x), C
(2)
(x),,C
(n)
(x)] = m(x)G(x)

Ma trn truyn G(x) c gi l h thng nu c th xc nh c mt ma
trn n v trong cc phn t ca G(x) (chng hn nu bng cc php hon v hng
v/hoc ct ca G(x) c th thu c mt ma trn n v).

V d 2: Cho m h thng tc R =
2
c ma trn truyn sau:
3











S th hin ca m ny cho trn hnh 2.3:
Thut gii m Viterbi

IN T - VIN THNG 7





















Hnh 1.3: B m ha h thng

Mt s m ha khc c hiu qu hn c m t hnh 2.4:











Hnh 1.4: S b m ha h thng R =
2
3
c phn cng n
gin Gi s: m(x) = [1+ x
2
+ x
4
+ x
5
+ x
7
+,x
2
+ x
5
+ x
6
+ x
7
+ ]
Khi u ra C(x) c dng:

C(x) = [1+ x
2
+ x
4
+ x
5
+ x
7
+ , x
2
+ x
5
+ x
6
+ x
7
+ , x+ x
3
+ x
5
+ ]

Khi a ra xen k dng ra s l:

{100, 001, 110, 001, 100, 111, 010, 110}
T cc v d trn ta c nh ngha sau cho m chp
nh ngha: M chp tc R = k/n trn trng cc chui Laurent hu t
F X ( trng F l nh ca mt nh x tuyn tnh n nh ca cc
| |

chui Laurent k chiu m (x) e F X
(
k vo cc chui Laurent C(x)e F X
(
n
| | | |





1.3 Cu trc m chp

M chp c to ra bng cch cho chui thng tin truyn qua h thng cc
thanh ghi dch tuyn tnh c s trng thi hu hn. Cho s lng thanh ghi dch l m
(cng k hiu l N), b m c k bit ng vo v u ra b m chp c n bit ng ra (n
Thut gii m Viterbi

IN T - VIN THNG 8

hm i s tuyn tnh hoc n ng ra cng modulo).
Cc thng s k,n c phm vi gii hn trong khong gi tr t 1 n 8, thng s m
trong khong t 2 n 10, v tc m R t 1/8 n 7/8 ngoi tr cc b m ha
c s dng trong vin thng v tr c th c tc 1/100 hoc thm ch cao hn.

Trong mt s ti liu, khi ni n m chp, ngi ta cn c trng cho b m
ha chp bng chiu di rng buc K v tc m R. Tc m, R=k/n, c hiu
l t s gia s bit ng vo v s k hiu ng ra ca b m ha. Thng s chiu di
rng buc, K, cho bit chiu di ca b m ha m chp, v d, c bao nhiu trng
thi k-bit c th a n mch logic t hp to ra k hiu ng ra. Trong ni dung
ti ny, chng ti s dng b m vi b d liu bao gm chiu di rng buc K
v tc b m R nh cp trn.

Khi thc hin vi m chp trong cc ng dng thng thng, ngi ta thng
ch chn s thanh ghi gii hn, mi thanh ghi ch c 1 nh n gin cho vic
thit k m vn m bo tnh nng m ha tt. Tng ng vi mi tc m ha
(cc b m n gin), ngi ta cng th nghim v chn ra ch mt s a thc
sinh cho hiu qu m ha cao s dng.

Gi thit, b m chp lm vic vi cc ch s nh phn, th ti mi ln dch s
c k bit thng tin u vo c dch vo thanh ghi dch th nht v tng ng c k
bit thng tin trong thanh ghi dch cui cng c y ra ngoi m khng tham gia
vo qu trnh to chui bit u ra. u ra nhn c chui n bit m t n b cng
mun-2 (xem hnh 1.5). Nh vy, gi tr chui u ra knh khng ch ph thuc
vo k bit thng tin u vo hin ti m cn ph thuc vo (m-1)k bit trc , v
c gi l m chp (n,k,m).


Hnh 1.5: S tng qut b m chp.

Gi s u l vct u vo, x l vct tng ng c m ho, by gi chng ta
m t cch to ra x t u. m t b m ho chng ta phi bit s kt ni gia
thanh ghi u vo vo u ra hnh 1.5. Cch tip cn ny c th gip chng ta ch ra
s tng t v khc nhau cng nh l vi m khi. iu ny c th dn ti nhng
Thut gii m Viterbi

IN T - VIN THNG 9

k hiu phc tp v nhm nhn mnh cu trc i s ca m chp. iu lm
gim i tnh quan tm cho mc ch gii m ca chng ta. Do vy, chng ta ch
phc ho tip cn ny mt cch s lc. Sau , m t m ho s c a ra vi
nhng quan im khc.

m t b m ho hnh 1.5 chng ta s dng N ma trn b sung G
1
,G
2
,G
N


bao gm k hng v n ct. Ma trn G
i
m t s kt ni gia on th i ca k nh
trong thanh ghi ng vo vi n ca thanh ghi ng ra. N ng vo ca hng u tin
ca G
i
m t kt ni ca u tin ca on thanh ghi u vo th i vi n ca
thanh ghi ng ra. Kt qu l 1 trong G
i
ngha l c kt ni, l 0 ngha l khng
kt ni. Do chng ta c th nh ngha ma trn sinh ca m chp:










V tt c cc cc ng vo khc trong ma trn bng 0. Do nu ng vo lvct
u, tng ng vct m ho l:

B m chp l h thng nu trong mi on ca n ch s uc to, k s u l
mu ca cc ch s u vo tng ng. N c th xc nh rng iu kin ny
tng ng c cc ma trn kn theo sau








v
i = 2,3,.,N

Chng ta xt mt vi v d minh ho sau y:

V d 3: Xt m (3,2,2). B m ho c ch trong hnh 1.6. By gi m c nh
ngha thng qua 2 ma trn:









B m ho l h thng, ma trn sinh c to ra:


x = u.G


Thut gii m Viterbi

IN T - VIN THNG 10















Chui thng tin u = ( 11011011) c m ha thnh chui m x =
(111010100110)














Hnh 1.6: B m chp (3,2,2).

Mt cch tng t ta cng c th biu din ma trn sinh G = (G
1
,G
2
,,G
N
),
Nh vy ngha ca ma trn sinh l n ch ra phi s dng cc hm tng ng no
to ra vc t di n mi phn t c mt b cng mun-2, trn mi vc t c Nk
tham s biu din c hay khng cc kt ni t cc trng thi ca b ghi dch ti b
cng mun-2 . Xt vc t th i (g
i
, n i 1), nu tham s th j ca g
i
(Lk j
1) c gi tr 1 th u ra th j tng ng trong b ghi dch c kt ni ti b
cng mun-2 th i v nu c gi tr 0 th u ra th j tng ng trong b ghi dch
khng c kt ni ti b cng mun-2 th i.

V d 4: Cho b m chp c s thanh ghi N = 3, s nh trong mi thanh ghi dch
k = 1, chiu di chui u ra n = 3 tc l m (3,1,3) v ma trn sinh ca m chp c
dng sau:

g
1
(
100(


g
2

(

G =

(
(
= G(4,5, 7)
G 101
(

(

M
111(

(


g
n





C th biu din di dng a thc sinh l:

G(D) = [1 1+D
2
1+D+D
2
]

Do s m chp c biu din nh sau:

Thut gii m Viterbi

IN T - VIN THNG 11













Hnh 1.7: S b m chp vi N=3, k=1, n=3

1.4 Biu din m chp

C ba phng php biu din m chp l: s li, s trng thi, v
s hnh cy. lm r phng php ny ta tp trung phn tch da trn v d
hnh 2.1 vi b m (2,1,3), a thc sinh (7,5).
















* S hnh cy:

T v d hnh 1.1, gi thit trng thi ban u ca cc thanh ghi dch trong b
m u l trng thi ton 0. Nu bit vo u tin l bit 0 th u ra ta nhn c
chui 00, cn nu bit vo u tin l bit 1 th u ra ta nhn c chui 11.
Nu bit vo u tin l bit 1 v bit vo tip theo l bit 0 th chui th nht l
11 v chui th hai l chui 10. Vi cch m ho nh vy, ta c th biu din
m chp theo s c dng hnh cy (xem hnh 1.8).Vi hng ln l hng ca bit
0 i vo b m, nhnh i xung biu hin cho bit 1 c dch vo. T s hnh
cy ta c th thc hin m ho bng cch da vo cc bit u vo v thc hin ln
theo cc nhnh ca cy, ta s nhn c tuyn m, t ta nhn c dy cc chui
u ra.
Thut gii m Viterbi

IN T - VIN THNG 12





00
00

00
00




11
10

00




00

10
01

11
10


0


01



11

00

11
00

1
10
01



00
10

11

10

01
01

01
11



10
11




Hnh 1.8: S hnh cy ca b m (2,1,3)

*S hnh li:

Do c tnh ca b m chp, cu trc vng lp c thc hin nh sau: chui n
bit u ra ph thuc vo chui k bit u vo hin hnh v (N-1) chui u vo trc
hay (N-1) k bit u vo trc . T v d hnh 1.1 ta c chui 2 bit u ra ph
thuc vo 1 bit u vo l 1 hoc 0 v 4 trng thi c th c ca hai thanh ghi
dch, l 00; 01; 10; 11. T s hnh cy trn, ta thy rng ti tng th 3,
c mi trng thi 00, 01, 10, 11 u c 2 nhnh n t cc trng thi trc ty
thuc vo bit c dch vo b m l bit 0 hay bit 1. Vi tnh cht ta c th biu
din m chp bng s c dng hnh li gn hn, trong cc ng lin nt
c k hiu cho bit u vo l bit 1 v ng t nt c k hiu cho cc bit
u vo l bit 0 (xem hnh 1.9). Ta thy rng t sau tng th hai hot ng ca
li n nh, ti mi nt c hai ng vo nt v hai ng ra khi nt. Trong hai
ng i ra th mt ng vi bit u vo l bit 0 v ng cn li ng vi bit u
vo l bit 1.

Thut gii m Viterbi

IN T - VIN THNG 13














T=0 T=1 T=2 T=3 T=4 T=5
State
00
00 00

00

00



00

11 11 11

State

01 11 11 00 11 00 11 00 11

10 10 10 10

State

10

01
01
01
01
01
01
01


State 10 10 10

11


Hnh 1.9: S hnh li b m chp (2,1,3) v b pht m (7,5).

Trng thi ban u ton bng 0

*S trng thi:

S trng thi c thc hin bng cch n gin s 4 trng thi c th

c ca b m (00, 01, 10 v 11) v trng thi chuyn tip c th c to ra t
trng thi ny chuyn sang trng thi khc, qu trnh chuyn tip c th l:

Next State/output symbol, if

Current State Input = 0: Input = 1:

00 00/00 10/11

01 00/11 10/00

10 01/10 11/01

11 01/01 11/10


Kt qu ta thu c s trng thi trong hnh 1.10 nh sau:






Thut gii m Viterbi

IN T - VIN THNG 14













Hnh 1.10: S trng thi ca b m chp (2,1,3)




T s trng thi hnh 1.10, cc ng lin nt c k hiu cho bit u vo
l bit 0 v ng t nt c k hiu cho cc bit u vo l bit 1. So vi s
hnh li v s hnh cy th s trng thi l s n gin nht.

1.5 u nhc im ca m chp

1.5.1 u im

Cng nh cc m sa sai khc, m chp cho php chng ta c th sa li d liu
b sai lch khi truyn qua knh truyn khi phc chnh xc tn hiu gc.

Vic thc hin m ha dng m chp tng i n gin hn cc loi m sa sai
khc m cht lng m ha li tt.

Vic thc hin m ha dng m chp c th c thc hin bng phn cng v
phn mm.

Da trn hnh thc m ha m chp cng thut gii Viterbi cho n, cc b m
ha sau ny u k tha nhng c tnh u vit ca n.

1.5.2 Nhc im

Vic m ha v gii m lin quan n m chp ch gii quyt c cc li mt
bit cn i vi cc knh truyn xut hin nhiu bit lin tip th thut ton m ha v
gii m ny s khng cn hon ho na.

Knh truyn y phi l knh truyn t nhiu, v nu knh truyn nhiu qu
ln, m ha chp s khng cn tt na. Khi ta phi cn ti tri ph tn hiu
a tn hiu xung di mc nhiu gim thiu nh hng.

1.6 nh ngha thut ton Viteri

Thut ton Viterbi l mt gii php c s dng ph bin gii m chui bit
c m ha bi b m ha tch chp. Chi tit ca mt b gii m ring ph thuc
Thut gii m Viterbi

IN T - VIN THNG 15

vo mt b m ha tch chp tng ng. Thut ton Viterbi khng phi l mt thut
ton n l c th dng gii m nhng chui bit m c m ha bi bt c mt
b m ha chp no.

Thut ton Viterbi c khi xng bi Andrew Viterbi nm 1967 nh l mt
thut ton gii m cho m chp qua cc tuyn thng tin s c nhiu. N c s
dng trong c hai h thng CDMA v GSM, cc modem s, v tinh, thng tin v
tr, v cc h thng mng cc b khng dy. Hin nay cn c s dng ph bin
trong k thut nhn dng ging ni, nhn dng t m, ngn ng hc my tnh.

Thut ton gii m Viterbi l mt trong hai loi thut ton gii m c s
dng vi b m ha m chp- mt loi khc l gii m tun t. u im ca gii
m tun t so vi Viterbi l n c th hot ng tt vi cc m chp c chiu di
rng buc ln, nhng n li c thi gian gii m bin i.

Cn u im ca thut ton gii m Viterbi l n c thi gian gii m n nh.
iu rt tt cho vic thc thi b gii m bng phn cng. Nhng m yu cu v
s tnh ton ca n tng theo hm m nh l mt hm ca chiu di rng buc, v
vy, trong thc t, ngi ta thng gii hn chiu di rng buc ca n K = 9 hoc
nh hn. Stanford Telecom to ra mt b gii m Viterbi K = 9 hot ng tc
n 96 kbps, v mt b gii m vi K = 7 hot ng vi tc ln n 45 Mbps.
Cc k thut khng dy nng cao c th to ra mt b gii m Viterbi vi K = 9
hot ng tc ln n 2 Mbps. NTT tuyn b rng h to c b gii m
Viterbi hot ng tc 60 Mbps, nhng tnh kh thi ca n vn cha c kim
chng.

1.7 Phn tch thut gii Viteri

Chng ta s ly v d v m chp c tc m l k/n =

















Hnh 1.11: B m chp tc

FF: thanh ghi dch. Ti mi xung clock, ni dung ca thanh ghi dch c dch qua
phi 1 bit. Bit u tin s l ng vo, v bit cui cng s l ng ra. Mt thanh ghi
dch c th s xem xt vic cng tr vo ng vo. Cc thanh ghi dch c th c
Thut gii m Viterbi

IN T - VIN THNG 16

hiu nh l b nh ca b m ha. N ghi nh nhng bit u ca chui.

Thanh ghi dch c khi u vi tt c gi tr l 0.

Thut ton XOR: 1 1= 0; 1 0=1; 0 1=1; 0 0=0

Nu chng ta lm vic trn mt chui ng vo l 01011101, ng ra l 00 11
10 00 01 10 01 00
2
. B m ha ny cng c th c m hnh bi mt bng trng
thi hu hn. Mi mt trng thi c quy nh bi 2 bit nh phn- trng thi ca 2
thanh ghi dch. Mi mt s chuyn trng thi c quy nh bi w/v1v2 vi w i
din cho bit ng vo, v v1v2 l i din cho 2 bit ng ra, trong trng hp ny
chng ta lun lun c w = v1

Bng 1.1: Trng thi ng vo v ng ra ca b m ha tc

Next State/output symbol, if

Current State Input = 0: Input = 1:

00 00/00 10/11

01 00/11 10/00

10 01/10 11/01

11 01/01 11/10



















Hnh 1.12: hnh trng thi ca m chp

By gi chng ta c th m t thut ton gii m, phn chnh l thut ton
Viterbi. C l, khi nim quan trng nht h tr cho vic hiu c thut ton
Viterbi l s Trellis. Hnh bn di cho chng ta thy s trellis cho v d
ca chng ta tc , m ha chp vi chiu di rng buc K = 3 vi bn tin 8
bit.

Thut gii m Viterbi

IN T - VIN THNG 17

T=0 T=1 T=2 T=3 T=4 T=5 T=6 T=7 T=8 T=9 T=10
State 00



State 01



State 10



State 11

Hnh 1.13: Cc nhnh trong b m ha
Bn trng thi c th ca b m ha c m t nh 4 hng ca nhng du
chm theo chiu ngang. C mt ct ca 4 chm cho trng thi khi u ca b m
ha v mt mi thi im ca bn tin. Cc ng in m kt ni cc im trong
s biu din cho s chuyn trng thi khi ng vo l mt bit 1. ng chm
chm l biu din cho s chuyn trng thi khi ng vo l bit 0. Ta c th thy r s
ph hp gia s trellis v hnh trng thi ni trn.

Hnh v bn di cho ta thy trng thi trellis cho ton b 8 bit ng vo. Cc bit
ng vo b m ha v k hiu ng ra c th hin bn di ca hnh.

T=0 T=1 T=2 T=3 T=4 T=5 T=6 T=7 T=8 T=9 T=10
State 00
State 01

State 10

State 11

ENC IN = 0 1 0 1 1

1 0 1 0

0
ENC OUT = 00 11 10 00 01

10 01 00 10

11

Hnh 1.14: ng i hon chnh khi phc chnh xc tn hiu ti ng ra.

Cc bit ng vo v cc k hiu ng ra ca b m th c th xem di cng ca
hnh trn. Ch s ph hp gia cc k hiu ng ra v bng ng ra chng ta
cp trn. Hy xem xt mt cch chi tit hn, s dng phin bn m rng ca s
chuyn i t mt trng thi tc thi n mt trng thi k tip nh hnh bn di:




Thut gii m Viterbi

IN T - VIN THNG 18



State 00

00

State 11
11
01




10
00

State

10

01
01

State 10
11


Gi chng ta s xem xt cch thc gii m ca thut ton Viterbi. By gi
chng ta gi s l chng ta c mt mu tin m ha (c th c vi li) v chng ta
mun khi phc li tn hiu gc.

Gi s chng ta nhn c mu tin m ha trn vi 1 bit li.



T=0 T=1 T=2 T=3 T=4 T=5 T=6 T=7 T=8 T=9 T=10
State 00

State 01

State 10

State 11

ENC IN = 0 1 0 1 1

1 0 1 0

0
ENC OUT = 00 11 10 00 01

10 01 00 10

11
RECEIVED = 00 11 11 00 01

10 01 00 10

11
ERRORS =

X


Hnh 1.15: Tn hiu nhn c 1 bit sai ti t =2

mi thi im chng ta nhn c 2 bit trong k hiu. Chng ta s tnh ton
thng s metric o khong cch gia nhng g m chng ta nhn c vi tt
c cc cp bit k hiu knh truyn c th m chng ta c th nhn c. i t thi
im t=0 n t=1, ch c 2 trng thi m chng ta c th nhn c l 00 v 11.
l bi v chng ta bit c b m ha tch chp bt u vi trng thi tt c u l
0 v cho 1 bit vo l 0 hay 1 th ch c 2 trng thi m chng ta c th i n v 2
Thut gii m Viterbi

IN T - VIN THNG 19

ng ra ca b m ha. Nhng ng ra ny c trng thi l 00 v 11.

Thng s metric m chng ta s s dng l khong cch Hamming gia cp bit
ca k hiu nhn c v cp bit c th ca knh truyn. Khong cch Hamming
c tnh mt cch n gin bng cch m c bao nhiu bit khc gia cp bit nhn
c t knh truyn v cp bit so snh. Kt qu ch c th l 0, 1, 2. Gi tr ca
khong cch Hamming (hay thng s metric) m chng ta tnh ton mi khong
thi gian cho ng dn ca trng thi ti thi im trc v trng thi hin ti
c gi l metric nhnh (branch metric). thi im u tin, chng ta s lu
nhng kt qu ny nh l thng s metric tch ly, c lin kt n cc trng
thi. thi im th 2, thng s metric tch ly s c tnh ton bng cch cng
thm thng s metric tch ly trc vo metric nhnh hin ti.

thi im t=1, ta nhn c 2 bit 00. Ch c mt cp k hiu knh truyn
m chng ta c kh nng nhn c l 00 v 11. Khong cch Hamming gia
00 v 00 l bng 0. Khong cch Hamming gia 00 v 11 l 2. Do , gi
tr thng s metric nhnh cho nhnh ng vi s chuyn trng thi t 00 n 00
l 0 v cho nhnh t 00 n 10 l 2. Khi m thng s metric tch ly trc l
0 th thng s metric tng s chnh bng thng s metric ca nhnh va xt. Tng
t ta tnh c thng s metric cho 2 trng thi kia. Hnh bn di minh ha kt qu
ti thi im t= 1


Accumulated
T=0 T=1 Error Metric =
State
00
0


00


State


01 11

State

2

10


State


11

ENC IN = 0


ENC OUT = 00


RECEIVED = 00



Hnh 1.16: Ti thi im t = 1

iu g s xy ra thi im t=2, chng ta nhn c mt cp k hiu knh
truyn l 11, trong khi cp k hiu knh truyn m chng ta c th nhn c
l 00 nu chuyn t trng thi 00 sang trng thi 00 v 11 khi chuyn t
trng thi 00 n trng thi 10, 10 khi chuyn t trng thi 10 n trng
thi 01, 01 khi chuyn t trng thi 10 n trng thi 11. Khong cch
Hamming gia 00 v 11 l 2, gia 11 v 11 l 0, gia 01 hoc 10 vi 11 l 1. Chng
ta cng cc thng s metric mi nhnh li vi nhau. thi im t=1 th trng thi
ch c th l 00 hoc 10, thng s metric tch ly s c cng vo l 0 hoc l 2
Thut gii m Viterbi

IN T - VIN THNG 20

mt cch tng ng. Hnh bn di th hin s tnh ton thng s metric tch ly
thi im t=2.

Accumulated

T=0 T=1 T=2 Error Metric =

State
00
00
0 + 2 = 2


00


State

2 + 1 = 3

01 11 11



10


State
0 + 0 = 0

10



01


State
2 + 1 = 3

11

ENC IN = 0 1


ENC OUT = 00 11


RECEIVED = 00 11



Hnh 1.17: Ti thi im t = 2

l tt c s tnh ton cho thi im t=2. ng nt m l metric nhnh
c la chn v theo cc nhnh , thng s metric l nh nht. Gi chng ta s
tnh thng s metric tch ly cho mi trng thi ti thi im t=3.

Gi chng ta hy nhn vo hnh minh ha cho thi im t=3. Chng ta s gp
phi mt t phc tp hn y, ti mi trng thi trong 4 trng thi ti t=3 s c
ng n t 4 trng thi ca thi im t=2. Chng ta s xoay s th no? Cu tr
li l, chng ta s tnh ton thng s metric tch ly lin quan ca mi nhnh, v
chng ta s b i gi tr metric ln hn, tc l s loi b nhnh i. Nu cp thng
s metric mi trng thi l bng nhau th chng ta s gi li c 2 trng thi. Chng
ta s k tha nhng tnh ton thc hin thi im t=2. Thut ton cng thng s
metric tch ly trc vo nhnh mi, so snh kt qu v chn thng s metric
nh hn (nh nht) tip tc dng cho thi im k tip, c gi l thut ton
cng-so snh-chn. Hnh bn di cho thy kt qu ca vic x l ti thi im t=3.












Thut gii m Viterbi

IN T - VIN THNG 21




Accumulated
T=0
00
T=1 T=2 T=3 Error Metric =
State 00 00
2+2 , 3+0 : 3

00

11

State

0+1 , 3+1 : 1 01 11 11 00 11


10 10


State
2+0 , 3+2 : 2 10


01
01
01



State 10 0+1 , 3+1 : 1
11

ENC IN = 0 1

0


ENC OUT = 00 11

10


RECEIVED = 00 11

11



Hnh 1.18: Ti thi im t = 3

Ch l cp k hiu knh truyn th 3 m chng ta nhn c s c mt li.
Thng s metric nh nht hin ti l 1.

Chng ta hy xem iu g xy ra thi im t=4. Tin trnh x l cng ging
nh thi im t=3. Kt qu xem hnh bn di

Accumulated
T=0
00
T=1 T=2 T=3 T=4 Error Metric =
State 00 00 00
3+0 , 1+2 : 3

00

11 11

State

2+1 , 1+1 : 2 01 11 11 00
11
00 11

10 10 10

State
3+2 , 1+0 : 1 10


01 01
01
01


01

State 10 10 2+1 , 1+1 : 2
11

ENC IN = 0 1 0

1


ENC OUT = 00 11 10 00

RECEIVED = 00 11 11 00


Hnh 1.19: Ti thi im t = 4
Ch l thi im t=4, ng trellis ca tin tc thc s truyn i c xc
nh bng ng in m, vi thng s metric tch ly l nh nht. Hy xem xt
thi im t=5:



Thut gii m Viterbi

IN T - VIN THNG 22



Accumulated
T=0
00
T=1 T=2 T=3 T=4 T=5 Error Metric =
State 00 00 00 00
3+1 , 2+1 : 3

00

11 11 11

State

1+2 , 2+0 : 2 01 11 11
00
11
00
11

00 11

10 10 10 10

State
3+1 , 2+1 : 3 10

01 01 01
01
01

01 01

State

10 10

10 1+0 , 2+2 : 1
11

ENC IN = 0 1 0 1

1


ENC OUT = 00 11 10 00

01


RECEIVED = 00 11 11 00 01


Hnh 1.20: Ti thi im t = 5

thi im t=10, s trellis s nh th ny, cc nhnh ko c chn c
b i:

T=0 T=1

State 00


State 01


State 10



State 11
ENC IN = 0
ENC OUT = 00
RECEIVED = 00
ERRORS =


T=2 T=3 T=4 T=5 T=6 T=7 T=8 T=9 T=10















1 0 1 1 1 0 1 0 0
11 10 00 01 10 01 00 10 11
11 11 00 01 10 01 00 10 11

X


Hnh 1.21: Tt c d liu c gii m v sa sai chnh xc

Kt qu y cho thy chng ta gii m ng chui d liu gc. Nu chng
ta nhn li con ng chng ta tm ra d liu gc l bng cch so snh d liu
nhn c vi d liu so snh ca b gii m c c t bng trng thi. iu ny
cho thy chng ta ang s dng thut ton gii m da trn s ging nhau ln nht.
Vic x l gii m bt u vi xy dng mt thng s metric tch ly cho mt s
cp k hiu knh truyn nhn c, v lu gi trng thi mi thi im t m
Thut gii m Viterbi

IN T - VIN THNG 23

thng s metric l nh nht. Mt khi thng tin ny c dng ln th b gii m
viterbi sn sng khi phc li chui bit a vo b m ha chp, khi mu tin
c m ha truyn i. iu ny t c bng nhng bc sau:

o u tin, chn mt trng thi c thng s metric nh nht v lu li s trng
thi ca trng thi .

o S dng lp li cho nhng bc k tip mi cho n khi bt u ca trellis
t c: da vo bng ghi nh trng thi cho trng thi c chn, chn
mt trng thi mi c lit k trong bng ghi nh trng thi khi chuyn t
trng thi trc n trng thi . Lu s trng thi ca mi trng thi c
chn. Bc ny c gi l truy hi (traceback).

o Chng ta lm vic tip vi danh sch nhng trng thi c chn c
lu trong bc x l trc . Chng ta tra xem bit ng vo no ph hp vi
s truyn dn t mi trng thi trc n trng thi k tip. y l bit m
phi c m ha bng m tch chp.

Bng sau cho chng ta thy ma trn tch ly ca y 8 bit (cng vi 2 bit ph
thm) ca bn tin mi thi im t:

Bng 1.2: Bng ma trn tch ly ca c 8 bit ca bn tin

















Ch rng v d v b gii m Viterbi ng vo quyt nh cng ny, thng
s metric tch ly nh nht trng thi cui ch ra c c bao nhiu li k hiu
knh truyn xy ra.

Bng lch s trng thi bn di cho thy trng thi tn ti trc cho mi trng
thi ti thi im t:
Bng 1.3: Bng lch s trng thi











Thut gii m Viterbi

IN T - VIN THNG 24







Tng ng 0,1,2,3 l cc v tr 00,01,10,11
2
.

Bng sau cho thy trng thi c la chn khi truy hi ng dn t bng trng
thi tn ti trn:



Bng 1.4: Bng cc trng thi c la chn khi truy hi








S dng bng ta thy c s chuyn i trng thi n cc ng vo gy ra chng,
gi chng ta c th to li bn tin gc. Bng ny rt ging vi v d ca chng ta
b m ha chp tc v K= 3.

Bng 1.5: Bng trng thi k tip






















Ghi ch: trong bng trn, x ch ra l mt s chuyn trng thi khng th xy ra
t mt trng thi n mt trng thi khc.
By gi chng ta c tt c cc cng c cn thit ti to li bn tin gc t bn
tin m chng ta nhn c.

Bng 1.6: Bng cha cc d liu ca bn tin gc c khi phc






Thut gii m Viterbi

IN T - VIN THNG 25


Hai bit ph c b qua.

Lm th no m thut ton truy hi cui cng cng tm ra con ng i ng
nht ca n thm ch nu n chn trng thi ban u l sai. iu ny c th xy ra
nu c hn mt trng thi c thng s metric tch ly l nh nht. Chng ta s dng
li hnh 1.18 lm sng t iu ny:

Accumulated
T=0
00
T=1 T=2 T=3 Error Metric =
State 00 00
2+2 , 3+0 : 3

00

11

State

0+1 , 3+1 : 1 01 11 11 00 11


10 10


State
2+0 , 3+2 : 2 10


01
01
01



State 10 0+1 , 3+1 : 1
11

ENC IN = 0 1

0


ENC OUT = 00 11

10


RECEIVED = 00 11

11



thi im t=3, c 2 trng thi 01 v 11 u c thng s metric l 1.
ng i ng i n trng thi 01, ch l ng in m l ng i thc s
ca bn tin n trng thi ny. Nhng gi s chng ta chn trng thi 11 bt
u qu trnh truy hi ca chng ta. Trng thi trc ca trng thi 11 l trng
thi 10, cng l trng thi trc ca trng thi 01. iu ny l bi v thi
im t=2, trng thi 10 c thng s metric tch ly l nh nht. V vy, sau trng
thi bt u sai, chng ta c th ngay lp tc tr li vi tuyn ng ng.

Vi v d v bn tin 8 bit, chng ta tin hnh xy dng mt s trellis cho
ton b bn tin trc khi bt u qu trnh truy hi. Vi cc bn tin di hn hoc cc
chui d liu lin tc, iu ny l khng thc t, bi v b nh chiu di rng buc
v s tr hon trong gii m. Nghin cu cho thy l su truy hi ca Kx5 ch
cho vic gii m viterbi vi loi b m m chng ta ang tho lun. Bt c mt s
truy hi su hn s lm tng thi gian delay gii m v b nh yu cu cho
vic gii m v cng ko lm tng hiu qu vic gii m, ngoi tr b m ha thng
(punctured code) m chng ta s ni sau.

thc thi mt b gii m Viterbi bng phn mm, bc u tin l phi xy
dng mt vi cu trc d liu xoay quanh thut gii m s c thc thi. Nhng cu
trc d liu ny c thc thi tt nht khi l cc mng. Su mng chnh m chng ta
cn cho b gii m viterbi l:

- Mt bn sao ca Bng tri thi k tip ca b m ha m chp, bng
Thut gii m Viterbi

IN T - VIN THNG 26

chuyn trng thi ca b m ha. Kch c ca bng ny (hng x ct) l 2
(K-1)

x 2
K
. Mng ny phi c khi u trc khi bt u tin trnh gii m.
- Mt bn sao ca bng ng ra ca b m ha m chp. Kch c ca bng
ny l 2
(K-1)
x 2
K
. Mng ny cng cn phi c khi u trc khi bt u
tin trnh gii m.
- Mt mng lu tr trng thi hin ti v trng thi k ca b m ha m
chp, vi gi tr ng vo (0 hoc 1) s cho ra trng thi k tip v trng thi
hin ti. Chng ta s gi bng ny l bng ng vo. Kch thc ca bng l
2
(K-1)
x 2
(K-1)
. Mng ny cng cn phi c khi u trc khi bt u tin
trnh gii m.
- Mt mng lu tr lch s cc trng thi trc cho mi trng thi ca b
m ha cho Kx5 + 1 cp k hiu knh truyn nhn c. Chng ta s gi
bng ny l bng lch s trng thi. Kch thc ca mng ny l 2
(K-1)
x
(Kx5 +1). Mng ny khng cn khi ng trc khi bt u tin trnh gii
m.
- Mt mng lu tr thng s metric tch ly cho mi trng thi c tnh
ton s dng nguyn tc cng- so snh- la chn. Mng ny s c gi l
mng thng s metric tch ly. Kch thc ca mng ny l 2
(K-1)
x 2.
Mng ny khng cn khi ng trc khi bt u tin trnh gii m.
- Mt mng dng lu tr danh sch cc trng thi c quyt nh trong
sut qu trnh truy hi. N c gi l mng chui trng thi. Kch thc
ca mng ny l (Kx5 + 1). Mng ny khng cn khi ng trc khi bt u
tin trnh gii m.

Gi chng ta hy ni v tc ca nhng b m ha chp m c th c gii
m bi cc b gii m Viterbi. trn chng ta cp n b m ha thng, l
mt hng chung ca b m ha tc cao, tc ln hn t k n n. Punctured
code c to ra bi d liu m ha u tin s dng mt b m ha tc 1/n nh
l b m ha th d c m t trc y v sau xa b mt vi k hiu knh
truyn ng ra ca b m ha. Qu trnh ny c gi l puncturing. V d,
to ra m tc t m tc , th n gin l s xa k hiu knh truyn theo
mu punctured sau y:
Bng 2.7: V d v punctured code










Trong , bit 1 ch ra rng mt k hiu knh truyn s c truyn, v bit
0 ch ra rng mt k hiu knh truyn s c xa. xem lm th no m
Thut gii m Viterbi

IN T - VIN THNG 27

vic ny c th to ra b m tc . Hy ngh l mi ct ca bng trn tng ng
vi mt bit ng vo n b m ha v mi mt bit 1 trong bng tng ng vi
mt k hiu knh ng ra. C 3 ct trong bng v 4 bit 1. Thm ch bn c th
to ra b m tc 2/3 s dng mt b m ha vi mu puncturing sau:









vi 2 ct v 3 bit 1.

gii m mt punctured code, bit 1 phi thay th nhng k hiu rng cho
nhng k hiu b xa ng vo ca b gii m Viterbi. K hiu rng c th l k
hiu c lng t n mc 1 yu v mc 0 yu hoc hn na c th l mt k
hiu c c bit, m khi c x l bng mch ACS trong b gii m, kt qu l
khng thay i thng s metric tch ly t trng thi trc.

D nhin, n khng phi bng 2. V d, mt m tc 1/3 v K=3 (7,7,5) c
th c m ha s dng b m ha nh bn di:




















Hnh 1.22: B m tc 1/3 v K= (7,7,5)
B m ha ny c 3 b cng modulo, v vy vi mi mt bit ng vo, c th to ra
3 ng ra k hiu knh truyn. D nhin, vi mu puncturing ph hp, bn c th to
ra nhng m tc cao hn s dng b m ha ny.
1.8 Xc sut li

C 2 xc sut li lin quan n m tch chp, l xc sut li s kin u tin v
xc sut li bit. Xc sut li s kin u tin, P
e,
l xc sut li m mt li bt u
ti thi im c bit. Xc sut li bit, P
b
, l s cc li bit chui c m ha.

i vi gii m quyt nh cng, xc sut li bit v xc sut li s kin u tin
c nh ngha nh sau:
Thut gii m Viterbi

IN T - VIN THNG 28


i vi gii m quyt nh mm, xc sut li s kin u tin v xc sut li bit
c nh ngha nh sau:

1.9 u nhc im ca thut ton gii m Viterbi

1.9.1 u im

- Thut ton Viterbi l thut gii m c nh nn vic gii m c chnh xc
cao.
- Tc x l ca m gii m Viterbi cao hn nhiu so vi b gii m tun t
v cng mt thi im, b gii m Viterbi gii quyt ht tt c cc nhnh
cn b gii m tun t ch chn ngu nhin mt nhnh nn n s mt thi
gian nu s la chn trc l khng ng.
1.9.2 Nhc im

- Thut ton gii m Viterbi da trn thut gii m ging nhau ln nht (ML-
Maximum likelihood), thut ton ny li phi da trn cc nguyn l sau
vic gii m c chnh xc:

Li xy ra phi khng thng xuyn, xc sut li phi nh



Xc sut li kp phi thp hn nhiu so vi li 1 bit, do li phi c




phn b mt cch ngu nhin.

Do vy, vi knh truyn c xc sut li ln v thng xuyn, li nhiu bit
lin tip th hiu qu ca vic gii m s khng nh mong mun.

- Mt nhc im na l thut ton gii m Viterbi s dng b nh ghi li
cc trng thi v thng s metric nn cn c b nh cho gii m, b gii m
cng phc tp th dung lng b nh cng ln.

Khng thch hp vi cc m c chiu di rng buc di v t s S/N ln (ch thch
hp vi b gii m tun t).
Thut gii m Viterbi

IN T - VIN THNG 29

CHNG II: M PHNG THUT GII M
VITERBI BNG MATLAB
2.1 Gii thiu
Matlab l mt phn mm c ng dng rng ri trong nhiu lnh vc nh vin
thng, c in, h thng iu khin t ng , trong ng dng m phng x l
tn hiu trong vin thng l mt ng dng mnh nht ca Matlab. Matlab tch hp
khong hn 400 hm cho php ngi lp trnh s dng cho cng vic mt cch hiu
qu v nhanh chng.
Vi ti ny, m phng qu trnh m ha dng m chp, truyn tn hiu trn
knh truyn c nhiu v s dng thut ton Viterbi gii m ha, ngi thc hin
ti s dng cc hm c sn trong Matlab thc hin. d dng hn cho
vic quan st v trnh by, tc gi s dng giao din ha GUI m phng
thut gii viterbi. Qu trnh m phng s c trnh by r rng trong phn sau.
2.2 S khi h thng


Hnh 3.1: S khi h thng
Tn hiu sau khi c s ha thnh cc bit, cc bit ny c a n b m ha
m chp. Sau khi c m ha, tn hiu (cc bit) c truyn trn knh truyn c
nhiu, y tc gi ch xt nhiu Gauss trng. Tn hiu b thay i bi nhiu
c thu v gii m nh b gii m Viterbi. Nh thut ton Viterbi, tn hiu c
gii m s gn ging nht vi tn hiu ban u.
AWGN
Knh truyn
Ng ra bit
Ng vo
Khi m ha
m chp
Khi gii m
Viterbi
Bit
m
ha
Bit
nhn
c
Thut gii m Viterbi

IN T - VIN THNG 30

Khi to
bit ng vo
To bit
Lng t bit
nhn c
Khi
gii
m
Gii m
Viterbi
Tnh v v
BER


2.3 Lu m phng




Xc nh a thc sinh
v chiu di rng buc




Xy dng s
trellis
Khi
m
ha
M ha m
chp



Cng nhiu
Gauss trng













Khi to bit ng vo
Hnh 3.2: Lu m phng
Tc gi a ra hai la chn cho vic to bit tn hiu ng vo. Th nht l to bit
ngu nhin theo s lng bit nhp t ngi dng, v th hai l nhp trc tip chui
bit vo.
Thut gii m Viterbi

IN T - VIN THNG 31

to bit vo ngu nhin, trong Matlab tc gi s dng hm randint.
inbits = randint(1, numbit ) ;
vi inbits l chui bit ng vo, numbit l s lng bit ng vo c nhp bi
ngi dng trn giao din GUI. Hm randint vi 2 thng s s mc nh to mt
ma trn s nh phn vi chiu ca ma trn tng ng vi 2 thng s . Kch
thc ti a c th to ra ph thuc vo b nh dnh cho chng trnh. Vi cu
lnh nh trn th numbit ti a ch l 10
6
.
2.4 Khi m ha
i vi b m ha m chp, nh gii thiu, c rt nhiu cch ngi ta quy
c cho mt b m ha m chp da trn s thanh ghi, ng vo, ng ra, a thc
sinh, tc b m..v.v. v tng ng vi mi b m c mt phng php tnh
ton ring.
y tc gi m t vic tnh ton m chp da trn b m c quy c bi cc
nh sn xut chip thc hin m chp bao gm cc thng s: chiu di rng buc K
v tc ca b m R.
V G1 v G2 l cc a thc sinh, c nhp bi ngi s dng.
to s trellis, trong Matlab tc gi s dng hm poly2trellis:
trellis = poly2trellis (len, [g1 g2]);
Dng hm convenc m ha m chp tn hiu:
encbits = convenc(inpbits,trellis);
2.5 Khi cng nhiu Gausse trng
Khi ny m phng cho vic tn hiu b can nhiu khi truyn trn knh truyn.
Tn hiu b cng nhiu Gauss vi thng s SNR xc nh trc.
S dng hm awgn cng nhiu vo tn hiu:
awgnbits = awgn(encbits,snr,measured);
2.6 Khi gii m
Tn hiu sau khi c cng nhiu c a n b thu, ti y tn hiu c
lng t trc khi s dng thut ton viterbi gii m. Ty vo kiu quyt nh
gii m m s dng cc lng t khc nhau.
Vi quyt nh cng
Tn hiu thu c lng t v 2 mc 0 v 1 tng ng vi tn hiu c mc in
p nh hn v ln hn 0. S dng hm quantiz lng t tn hiu.
Thut gii m Viterbi

IN T - VIN THNG 32

partition = [0];
codebook = [0 1];
quanbits = quantiz(awgnbits,partition,codebook);
S dng hm vitdec vi quyt nh cng gii m Viterbi
decbits = vitdec(quanbits,trellis,numbit-1,term,hard);
Vi quyt nh mm
Tn hiu thu c lng t v 8 mc v vic s dng hm quantiz nh sau
partition = [-.8571 -.5714 -.2857 0 .2857 .5714 .8571];
codebook = [-.99 -.8571 -.5714 -.2857 0 .2857 .5714 .8571];
quanbits = quantiz(awgnbits,partition,codebook);
S dng hm vitdec vi quyt nh mm
decbits = vitdec(quanbits,trellis,numbit -1,term,soft,3);
2.7 Tnh ton v v BER
T s bit li l s t s bit li sau khi gii m so vi tng s bit ng vo. Trong
matlab tc gi s dng hm semilogy v BER
semilogy(Eb_N0_dB,ratioerr_comp,mp-,LineWidth,2);
2.8 Code Matlab
function varargout = Viterbi_decoding_gui(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Viterbi_decoding_gui_OpeningFcn, ...
'gui_OutputFcn', @Viterbi_decoding_gui_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
Thut gii m Viterbi

IN T - VIN THNG 33


if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function Viterbi_decoding_gui_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = Viterbi_decoding_gui_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
clear;
clc;
function pushbutton1_Callback(hObject, eventdata, handles)
mes = str2mat(get(handles.edit1,'string'));
for i=1:length(mes)
M(i)=str2num(mes(i));
end
trel = poly2trellis(3,[3,4]);
code = convenc(M,trel);
set(handles.edit2,'string',num2str(code));
stem(handles.axes1,code,'rx')
xlabel('Time')
ylabel('Amplitude')
title('Message after Encoding')
grid on
function edit1_Callback(hObject, eventdata, handles)
mes = str2mat(get(handles.edit1,'string'));
for i=1:length(mes)
Thut gii m Viterbi

IN T - VIN THNG 34

M(i)=str2num(mes(i));
end
stem(handles.axes1,M)
xlabel('Time')
ylabel('Amplitude')
title('Message before Encoding')
grid on
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata, handles)
function edit2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end



function edit3_Callback(hObject, eventdata, handles)
function edit3_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function pushbutton2_Callback(hObject, eventdata, handles)
mes = str2mat(get(handles.edit1,'string'));
Thut gii m Viterbi

IN T - VIN THNG 35

for i=1:length(mes)
M(i)=str2num(mes(i));
end
trel = poly2trellis(3,[3,4]);
code = convenc(M,trel);
tblen = 4;
opmode = 'trunc';
dectype = 'hard';
decoded = vitdec(code,trel,tblen,opmode,dectype);
if(M==decoded)
msgbox('Decoding done successfully');
else
msgbox('Decoding failed');
end
function pushbutton3_Callback(hObject, eventdata, handles)
mes = str2mat(get(handles.edit1,'string'));
for i=1:length(mes)
M(i)=str2num(mes(i));
end
trel = poly2trellis(3,[3,4]);
code = convenc(M,trel);
tblen = 4;
opmode = 'trunc';
dectype = 'hard';
decoded = vitdec(code,trel,tblen,opmode,dectype);
set(handles.edit3,'string',num2str(decoded));
stem(handles.axes1,decoded,'r')
xlabel('Time')
ylabel('Amplitude')
Thut gii m Viterbi

IN T - VIN THNG 36

title('Message after Decoding')
grid on
function pushbutton4_Callback(hObject, eventdata, handles)
close(handles.figure1);
function pushbutton5_Callback(hObject, eventdata, handles)
close(handles.figure1);
run Viterbi_decoding_gui

































Thut gii m Viterbi

IN T - VIN THNG 37

Kt lun

Nh vy, qu trnh m phng vic m ha v gii m m chp c thc
hin.Vic thit lp m v gii m u da vo biu mt co v thut ton gii m
Virterbi.S tin li ca cng c Simulink trong phn mm Matlab cho php chng ta c
th xy dng c bt k b to m chp ch bng cch thay i cc tham s trong s
khi ca b to m.
Tuy nhin, project cn nhiu thiu st. l cha nu ra c vai tr lm gim
thiu li knh truyn ca m chp bng cch thit lp mi quan h th gia t s tn
hiu trn nhiu SNR v t l li bit BER. Ngoi ra, vic xy dng b to m chp theo
quan im l thuyt h thng cha c thc hin. y l nhng hng cn khc phc
trong thi gian ti ca project.

You might also like