Konvolúciós kód

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. szeptember 27-én felülvizsgált verziótól ; az ellenőrzések 8 szerkesztést igényelnek .

A konvolúciós kód  egy hibajavító kód , amelyben

  1. a kódoló minden órajelében a bemeneti félvégtelen sorozat szimbólumai a kimeneti sorozat szimbólumaivá alakulnak
  2. a korábbi karakterek is részt vesznek az átalakításban
  3. a linearitás tulajdonsága teljesül (ha két kódolt szekvencia és megfelel a és kódsorozatoknak , akkor a kódolt sorozat megfelel a -nak ).

A konvolúciós kód a fa- és rácskódok speciális esete .

Eredet

1955 -ben L. M. Fink , aki akkoriban a Leningrádi Hírközlési Akadémia tanszékének vezetője volt, javasolta az első visszatérő kódot.

1959 -ben a nyugati szakember, Hegelberger ( Hegelbeger ), akinek fogalma sem volt a szovjet tudósok kódolási munkásságáról, 1959-ben "újrafelfedezte" a visszatérő kódot, és elnevezte magáról.

Fink a „Theory of Discrete Message Transmission” [1] című monográfiájában ezt írta: „Ebben a kódban a kódszimbólumok sorozata nincs külön kódkombinációkra osztva. A korrekciós szimbólumok az információs szimbólumfolyamban szerepelnek, így minden két információs szimbólum közé egy korrekciós szimbólum kerül. Az információs karaktereket a -n keresztül jelölve és a javító karaktereket a -n keresztül a következő karaktersorozatot kapjuk:

Az információs szimbólumokat a továbbított üzenet határozza meg, a javító szimbólumokat pedig a következő szabály szerint alakítják ki:

(1.1)

ahol  a kódlépésnek ( ) nevezett tetszőleges egész szám. Nyilvánvaló, hogy ha valamilyen b i javító szimbólumot tévedésből kapunk, akkor a kapott sorozatban az (1.1) reláció nem teljesül . Az információs szimbólum hibás vétele esetén az (1.1) reláció nem érvényes két értékre , nevezetesen a for és for -re . Innen könnyen levezethető egy dekódolási hibajavító szabály. Az elfogadott kódsorozatban az (1.1) relációt mindegyikre ellenőrzi. Ha nem elégedett két értékkel ( és ), és egyidejűleg

(1.2)

akkor az információs elemet meg kell fordítani.

Nyilvánvaló, hogy a kód redundancia . Lehetővé teszi az összes hibásan fogadott karakter javítását, kivéve néhány rossz kombinációt. Tehát, ha , akkor helyes dekódolást biztosít, ha legalább három (és bizonyos esetekben kettő) helyesen vett szimbólum van két hibásan vett szimbólum között (az információt és a tesztszimbólumot is figyelembe veszik).

A nem rekurzív kódoló általános sémája

A nem rekurzív konvolúciós kód kódoló diagramja az 1. ábrán látható . Hosszúságú -ary shift regiszterekből áll . Egyes memóriacellák egyes (talán az összes) regiszterbemenetei és kimenetei több modulo adderhez csatlakoznak . Az összeadók száma nagyobb, mint a műszakregiszterek száma:

A kódoló minden órajelciklusánál információs szimbólumok kerülnek a bemenetére, amelyek a váltásregiszterekben tárolt szimbólumokkal együtt azon összeadók bemeneteire kerülnek, amelyekkel kapcsolat van. Az összeadás eredményeként átvitelre kész kódszimbólumok jönnek létre. Ekkor minden eltolási regiszterben eltolás történik: az összes cellát egy bittel jobbra toljuk, miközben a bal szélső cellákat kitöltjük bemeneti karakterekkel, a jobb szélső cellákat pedig töröljük. Ezt követően az ütem megismétlődik. A regiszterek kezdeti állapota előre ismert (általában nulla).

Bináris konvolúciós kódolók

A bemutatás érthetősége érdekében leírjuk a konvolúciós kódolást a megfelelő kódolóeszköz működése szerint.

A konvolúciós kódoló  olyan eszköz, amely általában k bemeneti információszimbólumot fogad minden egyes műveleti ciklusban, és n kimeneti szimbólumot ad ki minden egyes ciklus kimenetén. A számot relatív kódsebességnek nevezzük. k  az információs szimbólumok száma, n  a kommunikációs csatornára továbbított szimbólumok száma az információszimbólum kódolójához való megérkezés egy ciklusában. A vizsgált ciklus kimeneti szimbólumai m darab információszimbólumtól függenek, amelyek ebben és az előző ciklusban érkeznek, vagyis a konvolúciós kód kimeneti szimbólumait a bemeneti szimbólumok és az állapot, amely m - k korábbi információszimbólumtól függ, egyedileg határozza meg. . A konvolúciós kód fő elemei: shift regiszter, modulo 2 összeadó, kommutátor.

A shift regiszter egy  dinamikus tárolóeszköz, amely a 0 és 1 bináris karaktereket tárolja. A kódmemória határozza meg az m trigger cellák számát a shift regiszterben. Amikor egy új információs karakter érkezik a shift regiszter bemenetére, a jobb szélső bitben tárolt karakter törlődik a regiszterből és visszaáll. A fennmaradó karakterek egy számjeggyel jobbra kerülnek, így a bal szélső számjegy felszabadul, ahová az új információs karakter érkezik.

A modulo 2 összeadó összeadja a hozzá érkező 1-es és 0-s szimbólumokat.A modulo 2 összeadási szabálya a következő: a bináris szimbólumok összege 0, ha a bemenetekre érkező szimbólumok között páros az egyesek száma, és 1-gyel egyenlő, ha ez a szám furcsa.

A kapcsoló szekvenciálisan olvassa be a bemeneteire érkező szimbólumokat, és a kimeneten beállítja a kódszimbólumok sorozatát a kommunikációs csatornába. A blokkkódokhoz hasonlóan a konvolúciós kódok szisztematikus és nem szisztematikus kódokra oszthatók.

A szisztematikus konvolúciós kód  olyan kód, amely a kimeneti kódszimbólum-sorozatában tartalmazza az azt generáló információs szimbólumok sorozatát. Ellenkező esetben a kódot nem szisztematikusnak nevezik.

Konvolúciós kódok paraméterei és jellemzői

A konvolúciós kódolással az információsorozatok kimeneti és kódsorozatokká történő átalakítása folyamatosan történik. A bináris konvolúciós kódoló egy m bites eltolási regisztert és modulo 2 összeadókat tartalmaz, amelyek kódszimbólumokat generálnak a kimeneti sorozatban. Az összeadók bemenetei a regiszter bizonyos bitjeihez kapcsolódnak. A kimeneti kapcsoló határozza meg a kódszimbólumok kommunikációs csatornára való küldésének sorrendjét. Ezután a kódszerkezetet a következő jellemzők határozzák meg.

  1. Az egy ciklus alatt a kódoló bemenetére érkező információs szimbólumok száma k.
  2. A kódoló kimenetén a szimbólumok száma n, ami megfelel a ciklus alatti k bemeneti szimbólumnak.
  3. A kódsebességet az R=k/n arány határozza meg, és a kódolás során bevezetett redundanciát jellemzi.
  4. Kód redundancia
  5. A kódmemóriát (a kódkényszer bemeneti hosszát vagy a kódszó információhosszát) a generáló polinom maximális foka határozza meg a G(X) generáló mátrixban:
  6. A konvolúciós kód jelölését a legtöbb esetben jelöljük (n, k, l), de lehetségesek a variációk.
  7. A bináris kódsorozatok w súlyát az ebben a sorozatban vagy kódszavakban található "egységek" száma határozza meg.
  8. A kódtávolság az i-edik és a j-edik kódkombinációk közötti különbség mértékét mutatja, feltéve, hogy azonos hosszúságúak. Bármely két bináris kódkombináció esetén a kód távolsága megegyezik a nem egyező karakterek számával. Általában a kódtávolság a kódkombinációk azonos nevű bitjeinek modulo 2 összeadásának teljes eredményeként definiálható , ahol és  az i és j kódkombinációk k-edik szimbólumai; L a kódkombináció hossza.
  9. A minimális kódtávolság az állandó hosszúságú kódszavak halmazának  legkisebb Hamming-távolsága . Ennek megtalálásához fel kell sorolni az összes lehetséges kódkombinációpárt. Akkor kapunk .

De! Ez a meghatározás állandó hosszúságú blokkkódokra érvényes. A konvolúciós kódok folytonosak, és sok minimális távolság jellemzi őket, amelyeket a kódsorozatok kezdeti szegmenseinek hossza határozza meg, amelyek között a minimális távolságot veszik. A feldolgozásra kapott L szegmenshosszúságú szimbólumok száma határozza meg a vevő oldalon a dekóderben lévő cellák számát.

Egy bináris konvolúciós kódoló általános nézete

Legyen a shift regiszterben m cella, vagyis a kódmemória egyenlő m-mel, a kapcsoló egy lekérdezési ciklust hajt végre, átadva az információs szimbólumok értékeit, ahol m a k többszöröse , míg egy ciklusban lekérdezi n -et 2 kódoló kimenet. Az egy bemeneti információs szimbólum változása által érintett kimeneti kódszimbólumok száma . Az I all értéket a kódkényszer teljes hosszának nevezzük .

Mivel egy adott konvolúciós kód korrekciós tulajdonságait a kódkényszer hossza és az eltolási regiszter és a modulo 2 összeadó ( XOR ) hivatkozásainak megválasztása határozza meg, ezért a konvolúciós kódoló szerkezetének megadásához szükséges adja meg, hogy a shift regiszter mely bitjei legyenek társítva az egyes modulo 2 összeadókhoz ( XOR ).

A j-edik összeadó modulo 2 kapcsolatát a j-edik generáló szekvencia írja le:

g j =(g j0 , g j1 ,g j2 ,…,g jm-1 ), (4.1)

ahol (4.2)

A konvolúciós kódok jellemző paraméterei: k, n= 1,2,…,8; R=k/n=1/4,…,7/8; m=2,…,10.

Konvolúciós kódok beállítási módja

Kényelmes konvolúciós kódot megadni polinomok generálásával, amelyeket a (4.1) képlet alakja határoz meg, analóg módon, ahogyan ez lineáris blokkciklikus kódoknál történik . [2]

A generátorpolinom teljes mértékben meghatározza a konvolúciós kód bináris kódolójának szerkezetét. Ellentétben a blokkkódokkal , amelyek mindegyikét csak egy generáló polinom írja le, a konvolúciós kódot több generáló polinom ír le. A konvolúciós kódot leíró polinomok számát az n kimeneti szimbólumok száma határozza meg . A kódoló bemenetére érkező információs szimbólumok sorozatát ábrázoljuk polinomként

ahol X i az eltolási regiszter i ciklusának  késleltetési operátorának szimbóluma , és i = {0, 1} információs bináris szimbólumok. A kódolókapcsoló bemenetére, majd a kommunikációs csatornára belépő n kódszimbólum-sorozatot leíró polinomok alakja

ahol bináris kód szimbólumok vannak a kódoló kapcsoló j -edik bemenetén.

A konvolúciós kód j - edik generáló polinomja  alakja Ráadásul a konvolúciós kód linearitása és az elfogadott jelölés miatt azt kapjuk, hogy .

Egy konvolúciós kód polinomok generálásával történő reprezentációjával konvolúciós kód adható meg a bináris vagy oktális formában írt polinomok generálásának együtthatóinak sorozataival. Az oktális jelölés kompaktabb, és akkor használatos, ha a kódoló eltolási regisztere hosszú.

Általános esetben a j -edik generáló polinom együtthatósorozatának alakja és egybeesik a kód generáló sorozatával (4.1). Ekkor, ha  kódolt szimbólumok sorozata, és kódszimbólumok sorozata a kódolókapcsoló j -edik bemenetén, akkor bármelyik -edik időpontban megjelenő ( ) esetén írhatjuk

Így a konvolúciós kód kódolójának kimeneti sorozatának minden kódszimbólumát a kódolt információ és a generáló szekvencia konvolúciója határozza meg, amely meghatározza a konvolúciós kódok nevét. A konvolúciós kódok az iteratív vagy ismétlődő kódok speciális esetei.

Alkalmazás

Konvolúciós kódokat használnak a megbízható adatátvitelhez: videó, mobil kommunikáció, műholdas kommunikáció. A Reed-Solomon kóddal és más hasonló kódokkal együtt használatosak. A turbókódok feltalálása előtt ezek a tervek voltak a leghatékonyabbak, és kielégítik Shannon korlátait. Ezenkívül a 802.11a protokollban konvolúciós kódolást használnak a fizikai MAC rétegen, hogy egyenletes 0 és 1 eloszlást érjenek el, miután a jel áthalad a kódolón , aminek eredményeként a továbbított szimbólumok száma megduplázódik, és ezért kedvező vételt érhet el a vevőkészüléken.

Lásd még

Jegyzetek

  1. Fink L. M. A diszkrét üzenetek továbbításának elmélete
  2. Sagalovich, 2014 , 4. és 5. fejezet.

Irodalom