Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaEgon Gáspár Megváltozta több, mint 10 éve
1
Ciklikus, lineáris kódok megvalósítása shift-regiszterekkel
2
Nem szisztematikus generálás
Adott egy C(n,k) lineáris ciklikus kód. Az u(x) üzenetpolinomból a c(x) kódpolinomot legegszerűbben úgy kapjuk, hogy az üzenetet megszorozzuk a g(x) generátorpolinommal:
3
Végezzük el a szorzást! Vegyük észre, hogy a kódpolinom együtthatók a jól ismert konvolúciós formulával számíthatóak ki. A diszkrét konvolúciót megvalósító HW a FIR-szűrő (vagy súlyozott előrecsatolt shift-regiszter)
4
Polinomszorzás FIR-szűrővel
Tekintsünk egy konkrét (bináris) példát: n=8 k=6 g(x)=1+x2 (Gyakorlásként leellenőrizhetjük, hogy g(x) tényleg lehet-e n=8 hosszú ciklikus kód generátorpolinomja: Azt kell megvizsgálni, g(x) osztja-e az x8-1 polinomot.) Legyen az üzenet például u(x)=1+x+x5
5
A FIR-szűrő kimenete az első időrésben a c0 együtthatót adja: (az induláskor a belső álapotok mindig 0-k) u0=1 D D g0=1 g1=0 g2=1 S c0=1
6
a 2. időrésben a c1 együtthatót kapjuk:
D D g0=1 g1=0 g2=1 S c1=1
7
a 3. időrésben a c2 együtthatót kapjuk:
8
néhány lépést kihyagva, az utolsó, 8
néhány lépést kihyagva, az utolsó, 8. időrésben a c7 együtthatót kapjuk: u5=1 D D g0=1 g1=0 g2=1 S c7=1
9
Szisztematikus generálás polinomosztással
Lineáris, ciklikus C(n,k) kódok szisztematikus generálásának egyik legegyszerűbb módszere a következő: Ebben az esetben az u(x) üzenet „eltoltjának” g(x)-szel való osztását kell implementálnunk, és az osztás maradékát használjuk föl paritásszegmensként. Az előbbi példában láttuk, hogy a csupa zérussal rendelkező diszkrét szűrő, a FIR-szűrő alkalmas polinomszorzás implementálására. A csak pólusokat tartalmazó diszkrét IIR szűrő pedig az osztás megvalósítására lesz alkalmas.
10
Példa Itt az utolsó sorban az euklideszi osztás eredményét adtuk meg. Ezek szerint a kód a következő: Most azt mutatjuk meg, hogyan implementálható ez a számítás visszacsatolt shift-regsizter segítségével.
11
Az általános „recept” a következő:
0,..,0, u1,…,uk-1 -g0 -g1 -gn-k-1 A szűrő bemenetére az n-k számú 0-val kiegészített üzenetet tesszük (ez megfelel az xn-k-val való szorzásnak) . A szűrő súlyait (karakterisztikus polinom) az osztó g(x) polinom együtthatóiból vesszük (mivel g(x) főpolinom, így gn-k=1). A regiszter n lépés után a maradékot fogja tartalmazni. Az inicializálás 0-kkal történik.
12
Példánk esetében ez a következő kapcsolást jelenti:
a b a b kezdőállapot x7 lépés 1 x6 2. x5 3. 4. 5. 6. x 7. 8. maradék: a+bx
13
Példa GF(3)-beli osztásra
Oldjuk meg shift-regiszterrel az alábbi polinomosztási feladatot:
14
1002 a b -2=1 -1=2 a b kezdőállapot x3 lépés 2 x2 2. x 3. 1 4.
x3 lépés 2 x2 2. x 3. 1 4. maradék: a+bx
15
Kódgenerálás paritásellenőrző polinommal
uk-1 uk-2 u0 -h0 -hk-1 -hk-2 -h1
16
Példa
17
2. lépés 1. lépés inicializálás 1 1 1 Megjegyzés: most elég két ütemig működtetni a szűrőt, hiszen két paritásbitet kell csak generálnunk. Ez a két paritásbit a 2. lépésben az első két regiszter tartalma, azaz 01, (hiszen az üzenettel inicializáltuk a regisztert, így először az üzenetbitek lépnek ki a kimeneten.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.