You are on page 1of 10

KAPITULLI I DYTE

KODET VETKORRIGJUESE NE GRUPE

1. Hyrje në algjebër. Hapësira vektoriale


Marrim një varg të renditur simbolesh binare, që ndryshe e quajmë vektor:

V ={v 1 , v 2 , ….. v n } ku v =0, 1,…….

Mund të ndërtohen 2n vargje të tilla të ndryshme. Operacioni i shumës modul 2 i dy vargjeve U


dhe V kryhet si më poshtë:

U +V =¿{u1+ v1 ;u2+ v 2;……un + v n} (1.44)

Ndërsa produkti skalar

σ {v 1 , v 2 , … . v n }={σ v 1 ,σ v 2 , … .. σ v n } (1.45)

Përkufizim: Bashkësia e të gjitha vargjeve me n simbole ku bën pjesë dhe vargu 0={0, 0, 0,….0}
quhet hapësirë vektoriale dhe shënohet me v n.

Përkufizim: Një nënbashkësi ρ € Vn quhet nënhapësirë në qoftë se :

1. Vektori me të gjitha zero ndodhet në ρ


2. Shuma e çdo dy vektorëve në ρ ndodhet gjithashtu në ρ

Le të kemi k vektorë V 1, V 2,…..V k të Vn.

Përkufizim; Kombinacioni linear [V1,V2, …. Vk ] është një vektor i formës:

U= C1 V1 + C2 V2 + ……..Ck Vk ku Ci= 0, 1 (1.46)

Përkufizim. Një bashkësi vektorësh thuhet se është linearisht e varur atëherë dhe vetëm atëherë
kur ekzistojnë skalarët C1, C2,…Cn jo të gjithë zero, të tillë që:

C1 V1 + C2 V2 + ….. Cn Vn = 0 Ci = 0, 1. (1.47)

Në rast të kundërt quhet e pavarur.

Përkufizim: Një bashkësi vektorësh përcakton një hapësirë vektoriale në qoftë se çdo vektor në
hapësirën vektoriale është i barabartë me një kombinim linear të vektorëve të bashkësisë.
Shembull: Bashkësia e mëposhtme e vektorëve:

V 1 = (1 0 0 )

V 2= (0 1 0 )

V 3 = (0 0 1 )

Është linearisht e pavarur. Çdo vektor i hapësirës V 3 është një kombinim linear i këtyre
vektorëve. Kështu V 1 , V 2 ,V 3 përcaktojnë hapësirën vektoriale V 3.
Në një hapësirë vektoriale apo nënhapësirë ekziston të paktën një bashkësi vektorësh linearisht të
pavarur që përcakton hapësirën. Kjo bashkësi quhet baza e hapësirës vektoriale. Numri i
vektorëve bazë quhet përmasë e hapësirës vektoriale.Hapësira vektoriale V σ është hapësirë e
përmasës σ që përcaktohet nga një bazë prej σ vektorësh linearisht të pavarur.
Në qoftë se σ < n dhe V 1 , V 2 ,V 3 jane k vektorë linearisht të pavarur atëherë të gjitha kombinimet
lineare të V 1 , V 2 ,V 3 ….Vk të formulës:

U= C1 V1 +C2 V2 +… Ck Vk

Formojnë një nënbashkësi ρ k përmasore të Vn. Meqenëse secili Ci ka dy vlera të mundshme 0


ose 1 atëherë kemi 2k kombinime lineare të ndryshme të mundshme të V 1 ,, V 2,, V 3 ….Vk . Kështu
nënhapësira ρ ka 2k vektorë të ndryshëm.

2. Matricat

Shqyrtojmë një matricë G me k rradhë dhe n kolona.

[ ]
σ 11 ⋯ σ 1 n
G= ⋮ ⋱ ⋮ (1.48)
σk 1 ⋯ σkn

ku elementi gij është σ ose k. Çdo rradhë është një varg me n – bit. Në qoftë se k rradhët (k ≤ n)
janë k vargje linearisht të pavarura të Vn atëherë të gjithë kombinimet lineare të G formojnë një
hapësire përmasore të Vn që quhet hapësirë ndërradhore të G.

Produkti i dy vektorëve V = (v1, v2, …. vn) dhe U = (u1, u2, ……un) do të kryhet si më poshtë:

V .U =v1 u1 + v2 u2 + …..+ vn un (1.49)

Ku shuma dhe shumëzimi janë operacione modulare. Kur V · U= 0 vektorët V dhe U quhen
ortogonalë.
3. Kodet lineare me grupe

Përkufizim: Kod me grupe do të quajmë kodin e formuar nga 2 k fjalë koduese me n bit sipas
skemës së mëposhtme:

2k fjalë koduese 2k fjalë koduese


2k mesazhe me k bit me n bit
KODUES I KODUES II

Fig 1.12

Ku koduesi i kodon çdo mesazh me një fjalë koduese me k bit të cilat quhen simbole të
informacionit. Koduesi II çdo fjalë koduese me k bit i vë në korrespondencë një fjalë koduese me
n bit (n > k) që do ta quajmë dhe vektor të kodit.
Në qoftë se kodi me grupe nuk ka një fare strukture të veçantë, koduesi i II do të ishte mjaft
kompleks për k të mëdha, meqenëse do të duhej të memorizonte 2k fjalë koduese. Për këtë arsye
duhet të shikohet për kode të tilla që të mund të memorizohen më lehtë. Ne do të trajtojmë kode
me një strukturë të tillë që 2k vektorët e kodit të formojnë një hapësirë k përmasore të hapësirës
Vn. Me këtë strukturë të kodit kompleksiteti i koduesit reduktohet shumë.
Përkufizim: Një bashkësi prej 2k vargjesh me n bit quhet kod linear atëherë dhe vetëm atëherë
kur ajo është një nënhapësirë e hapësirës vektoriale Vn.
Shembull: Shqyrtojmë një kodues II që vendos marrëdhënien e mëposhtme ndërmjet fjalëve
koduese me k bit dhe atyre me n bit.

Fjala koduese Fjala koduese


Koduesi II
k- biteshe b- biteshe
000 000 000
001 001 101
010 010 011
011 011 110
100 100 110
101 101 011
110 110 101
111 111 000

Meqenëse k =3 kemi 23=8 mesazhe të ndryshme të mundshme. Të gjitha fjalët koduese me n bit
janë të ndryshme. Shikohet lehtë se bashkësia e fjalëve koduese me n bit formon një nënhapësirë
3 përmasore të hapësirës vektoriale V6. Si rrjedhim ai është një kod linear.
4. Matricat gjeneruese

Për një hapësirë ρ k– përmasore të Vn është e mundur të gjendet një bashkësi me k vargje të
pavarur me n bit V1, V2,….Vk të tillë që çdo varg n – bitesh i ρ të jetë një kombinim linear i V 1,
V2,….Vk si më poshtë:

U = m1 V1 + m2 V2+…..+ mk Vk ku mi = 0,1, 2,….σ (1.50)

Duke u nisur nga ky fakt ne mund të përshkruajmë nje kod linear prej 2k fjalësh koduese me n-
bit me anë të një bashkësie prej k fjalësh koduese linearisht të pavarura. Organizojmë këto k
fjalë koduese të pavarura në një matricë ku çdo fjalë përbën një rresht.

[ ][ ]
V 1 v 11 v 12 ⋯ v 1 σ
G = V 2 = v 21 v 22 ⋮ ⋱ v 2 σ (1.51)
V K v k 1 vk 2 ⋯ vkσ

ku Vi = (vi1, vi2…..vin) për i= 1,2,….k. Le të jetë m =(m1, m2,….mk) një fjalë koduese me k bit.
Atëherë fjala korresponduese me m- bit jepet si më poshtë:

[]
V1
U = m · G = ( m1, m2,…..mk) · V 2 = m1 V1 + m2 V2 +….+mk Vk (1.52)
VK

Dmth fjala koduese me m – bit që i korrespondon asaj me k – bit është një kombinim linear i
rradhëve të G. Kështu rradhët e matricës G gjenerojnë një kod linear. Matricën G do ta quajmë
matricë gjeneruese të kodit. Kodi i gjeneruar më sipër quhet kod (n, k) dmth një grup prej k –
bitesh informative ndodhet në një fjalë koduese me n – bit për tu transmetuar në kanalin me
zhurma. Meqenëse kodi linear specifikohet plotësisht nga matrica gjeneruese e tij G atëherë
kapaciteti i nevojshëm i memorjes te koduesi II reduktohet shumë. Koduesi II ka vetëm k –
rradhët e G në vend të 2k fjalëve koduese me n bit. Përveç memorjes koduesi II duhet të ketë një
element logjik për të kryer kombinimet lineare të rradhëve të G.

Shembull. Kodi i dhënë në shembullin e mësipërm është një kod (6.3) me matricë gjeneruese:

[ ][ ]
V 1 100 110
G = V 2 ¿ 010 011
V3 001101

Fjala koduese me n- bit që i korrespondon asaj me k – bit mesazhit m =(101) është:

[]
V1
U = (101) V 2 = 1 V 1 + 0 V 2 + 1 V 3 = 1 (100 110 ¿ + 0 (010 011 ¿+1(001 101)=101011
V3
5. Kodet sistematike

Është e mundur që çdo fjalë koduese me k – bit (çdo grup mesazhi ) ta kodojmë në një fjalë
koduese me m – bit në mënyrë të tillë që k – bitet e para të jenë tamam ato të mesazhit dhe n- k
bitet e fundit të jenë bitet e tepërta që janë në funksion të biteve informative siç tregohet në
figurën 1.13.

k bit k n-k

Një kod i kësaj forme quhet sistematik. Bitet shtesë duhet të jenë të tilla që të japin mundësinë e
zbulimit dhe të korrigjimit të gabimeve të futura gjatë transmetimit në një kanal me zhurma. Tani
problem i kodimit është formimi i këtyre biteve të tepërta. Një kod linear sistematik (m, k) mund
të përcaktohet nga një matricë gjeneruese g (k, n) të formës së mëposhtme:

[ ]
1000 0 p 11 p 12 p 1 , n−k
0100 0 p 21 p 22 p 2 , n−k
G= ku pij= 0,1 (1.53)
0010 0 p 31 p 32 p 3 , n−k
0000 1 pk 1 pk 2 pk , n−k

Le të jetë I = (k, k) matrica njësi, P = (k, n-k) matrica e p ij. Matrica e kodit sistematik shkruhet
kështu:

G = (I ·P) (1.54)

Shqyrtojmë një grup mesazhi m= (m1, m2 …. mk). Duke përdorur matricën e mësipërme
gjeneruese fjala korresponduese koduese jepet:

U= (U1, U2, ….Un) = (m1, m2,…. mk) · G (1.55)

ku ui= mi per i= 1, 2, ….k dhe UK+i= p1j m1 + p2j m2+….. +pkj mk për j= 1, 2, …..n-k

Pra k bitet e para të fjalës koduese U janë pikërisht bitet informative që duhet të transmetohen,
(n - k) bitet e fundit janë funksione lineare të biteve informative. Bitet e tepërta do ti quajmë bite
të kontrollit të çiftësisë së kodit. Ekuacionet (1.56) quhet ekuacionet e kontrollit të çiftësisë së
kodit.

Shembull. Shqyrtojmë matricën gjeneruese të dhënë në shembullin e mësipërm. Fjala koduese që


i përgjigjet grupit të mesazhit ( m1, m 2, ..m3) është:

U= ( u1, u2, u3, u4, u5, u6)


[ ]
100110
= (m1 m2 m3)· 010011 = (m1, m2, m3 ,m1 + m3 ,m1 +m2 ,m2 +m3)
001101

Kështu që:

u1 = m1 ,u2 = m2, u3 = m3 dhe u4 = m1 + m3

u5 = m1 + m2, u6 = m2 + m3

Për një kod linear në formë sistematike shkalla e ndërlikimit të koduesit mund të reduktohet
ende, meqenëse ai duhet të memorizojë vetëm k(n – k ) bit të matricës p ij në vend të k – n biteve
të matricës G.

6. Matrica e çiftësisë

Duke shënuar me:

[ ]
p11 p 12 p1 n−k
p
n+ k
k = p21 p 22 p2 , n−k … matricën që realizon rregullat e çiftësisë
pk 1 pk 2 pk , n−k

n−k
U I = [Uk+1, Uk+2……..U n] bitet e kontrollit
k
U I = [u1, u2…..uk]= ( m1, m2, mk) bitet e informacionit

U nI = (U kI , U n−k
I ) bitet e transmetuara

ekuacionet (1.5 b) të kontrollit të çiftësisë shkruhen:


n−k k n−k
U I =U I Pk (1.57)

dhe shifrat e transmetuara mund të paraqiten në këtë formë


n
U I =¿ ¿ (1.58)

ku I kk është matrica njësi e rendit k.

Ekuacioni (1.57) mund të shkruhet:


k n−k n−k
U I ¿ ¿ + U I ) = OI (1.59)

që mund të vihen në formën:


[ ]
n−k
n−k Pk
¿¿ U I ¿∙
n−k
= OI (1.60)
I n−k
n−k

Shënojmë:

T
[ ]
n−k
n−k pk
H n =¿ n−k
¿
l n−k

Atëherë

H n−k = [ p n−k ∙ l n−k ] (1.61)


n k n−k

Shprehja (1.60) mund të shkruhet:


n
U I ∙ HT= 0 (1.62)

Në këtë mënyrë mund të themi që U nI është një fjalë koduese e kodit të gjeneruar nga G, atëherë
dhe vetëm atëherë kur U nI HT= 0.
Matrica H quhet matrica e çiftësisë së kodit. Ekuacionet e çiftësisë (1.56) mund të merren
gjithashtu nga H. Me të vërtetë le të jetë U = (u1, u2, ….un) fjala koduese që i korrespondon
mesazhit m = ( m1, m2, …..mk) ku u1 = m1.

Meqenëse

U· HT = 0

uk + j =p 1i u1 + p2 i u 2 +….. pki uk (1.62)`

= p1 i m1 + p2 i m2 +….. pki mk

për j = 1, 2, …. n-k që është po e njëjta bashkësi ekuacionesh si 1.56. Pra një kod linear mund
të specifikohet në mënyrë të vetme me anë të matricës gjeneruese ose me anë të matricës së
çiftësisë. Në projektimin e një kodi linear matrica P duhet të zgjidhet në mënyrë të tillë që kodi të
ketë aftësitë e dëshiruara korrigjuese.
Shqyrtojmë një kod linear (n, k) me matricë gjeneruese G dhe matricë çiftësie H. Le të jetë U një
fjalë koduese e transmetuar në një kanal me zhurma. Në marrje merret një fjalë koduese r që
është shuma e fjalës koduese origjinale U me vektorin (fjalën) e gabimit ε, dmth:
r=U+ε (1.63)

Marrësi nuk njeh as U as ε. Qëllimi i dekoduesit është të ndajë U nga ε.g


Vektori S me ( n+ k ) komponente:

S= r ·HT (1.64)

quhet sindromë e r. Nga ekuacioni (1.62) sindroma është zero, në qoftë se r është fjalë koduese
dhe nuk është zero, në qoftë se nuk është fjalë koduese. Sindroma do të përdoret për zbulimin
dhe korrigjimin e gabimit. Nocionet e matricës së çiftësisë do i sqarojmë me një shembull.

Shembull. Shqyrtojmë matricën gjeneruese të dhënë në shembujt e mësipërm:

[ ]
100110
G = 010011
001101

Sipas ekuacionit (1.61) matrica e çiftësisë është:

[ ]
101100
H= 110010
011001

Vargu U = (111000) është fjala koduese që i korrespondon mesazhit (111). Atëherë:

[]
110
011
101
S = U· HT= (111000)· = (000)
100
010
011

Vargu (111001) nuk është fjalë koduese. Sindroma e këtij vektori është

[ ]
110
S = (111001)∙ 011 = (001)
101

7. Kodet e Hamingut

Shqyrtojmë një matricë çiftësie H me k – rradhë dhe 2k −1 kolona. Si kolona merren të gjitha
vargjet e mundshme me k – bit përveç vargut me të gjitha zero. Çdo dy kolona të matricës H janë
të ndryshme ndërmjet tyre. Meqenëse skalari i vetëm i ndryshëm nga 0 është 1 atëherë çdo
bashkësi prej 2 kolonash ështe linearisht e pavarur. Kodi që fitohet nga kjo matricë ka largësi 3
pra është i aftë të korrigjojë të gjitha gabimet njëfish. Fjalët e kodit kanë gjatësi 2 k-1 me k
simbole kontrolli, si rrjedhim2k -1 – k simbole informacioni.
Le të jetë U fjala koduese e transmetuar dhe U+ ajo e marrë ku e është vektori i gabimit njëfish.
Atëherë sindroma është:

(U + e) ∙ H T = U∙ H T + e∙ H T = e∙ H T

Meqenëse ε është një vektor me njësh të vetëm në pozicionin ``j`` që i përgjigjet gabimit,
sindroma e HT është tamam radha e itë e HT. në këtë mënyrë duke krahasuar sindromën me
matricën HT, gjejmë pozicionin e itë që i përgjigjet gabimit.. Korrigjimi bëhet duke
komplementuar bitin e itë. Në qoftë se si kolonë e i të të H përdorim paraqitjen binare të i–së
atëherë sindroma jep për çdo gabim njëfish, paraqitjen binare të pozicionit të gabimit. Kjo u
propozua nga Hamingu.

Shembull. Për n= 3, n= 23 – 1 = 7 matrica e çiftësisë zgjidhet si më poshtë:

[ ]
0 0 0 1 1 1 1
H= 0 1 1 0 0 1 1
1 0 1 0 1 0 1

Në qoftë se bite kontrolli marrim të parin, të dytin dhe të katërtin, kodimi i mesazhit është i lehtë,
meqenëse secili prej tyre bën pjesë në njërin prej relacioneve të çiftësisë të përshkruar nga H. Për
të koduar simbolet e informacionit 1100 futen tri simbole kontrolli p1, p2 e p3 si më poshtë:

V = p1 p2 p3 100

të cilat përcaktohen nga relacionet (1.62)` e çiftësisë që gjenden duke u nisur nga:

V· HT = 0

[]
0 0 1
0 1 0
0 1 1
1
¿ ¿ p2 p3 100)· 1 0 0 =0
1 0 1
1 1 0
1 1 1

p3 + 1 = 0

p2 + 1 = 0

p1 + 1 + 1 = 0

Prej nga p1 = 0, p2 = 1, p3 = 1. Si rrjedhim fjala koduese është 0111100. Në qoftë se simboli i


pestë merret gabim, fjala e marrë do të jetë 0111000. Sindroma e njehsuar del 101, që është
kolona e pestë e H, gjë që tregon një gabim në simbolin e pestë të fjalës së marrë. Sindroma
është kodi binar i pestë meqenëse si kolonë e itë e H u zgjodh paraqitja binare.

You might also like