Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Ciklikus, lineáris kódok megvalósítása shift-regiszterekkel.

Hasonló előadás


Az előadások a következő témára: "Ciklikus, lineáris kódok megvalósítása shift-regiszterekkel."— Előadás másolata:

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+x 2 (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 x 8 -1 polinomot.) Legyen az üzenet például u(x)=1+x+x 5

5 A FIR-szűrő kimenete az első időrésben a c 0 együtthatót adja: (az induláskor a belső álapotok mindig 0-k) D g 0 =1 u 0 =1 D g 1 =0 0 g 2 =1 0  c 0 =1

6 D g 0 =1 u 1 =1 D g 1 =0 u 0 =1 g 2 =1 0  c 1 =1 a 2. időrésben a c 1 együtthatót kapjuk:

7 D g 0 =1 u 2 =0 D g 1 =0 u 1 =1 g 2 =1 u 0 =1  c 2 =1 a 3. időrésben a c 2 együtthatót kapjuk:

8 D g 0 =1 0 D g 1 =0 0 g 2 =1 u 5 =1  c 7 =1 néhány lépést kihyagva, az utolsó, 8. időrésben a c 7 együtthatót kapjuk:

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 -g0-g0 0,..,0, u 1,…,u k-1 0 -g1-g1 0 -g n-k-1 A szűrő bemenetére az n-k számú 0-val kiegészített üzenetet tesszük (ez megfelel az x n-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 g n-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 ab Példánk esetében ez a következő kapcsolást jelenti: ab kezdőállapot00x7x7 1.lépés10x6x6 2.01x5x x mara dék: a+bx

13 Példa GF(3)-beli osztásra Oldjuk meg shift-regiszterrel az alábbi polinomosztási feladatot:

14 ab =1-1=2 ab kezdőállapot00x3x3 1.lépés20x2x2 2.02x mara dék: a+bx

15 Kódgenerálás paritásellenőrző polinommal u k-2 -h k-1 -h k-2 u0u0 -h 1 u k-1 -h 0

16 Példa

17 lépés lépés inicializálás 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.


Letölteni ppt "Ciklikus, lineáris kódok megvalósítása shift-regiszterekkel."

Hasonló előadás


Google Hirdetések