1 / 17

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

Ciklikus, lineáris kódok megvalósítása shift-regiszterekkel. 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:. Végezzük el a szorzást!.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ciklikus, lineáris kódokmegvaló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 0 0 D D g0=1 g1=0 g2=1 S c0=1

  6. a 2. időrésben a c1 együtthatót kapjuk: u1=1 u0=1 0 D D g0=1 g1=0 g2=1 S c1=1

  7. a 3. időrésben a c2 együtthatót kapjuk: u2=0 u1=1 u0=1 D D g0=1 g1=0 g2=1 S c2=1

  8. néhány lépést kihyagva, az utolsó, 8. időrésben a c7 együtthatót kapjuk: 0 0 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 0 0 0 -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: 00110001 a b

  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

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

More Related