Zřetězený kód opravy chyb - Concatenated error correction code
v teorie kódování, zřetězené kódy tvoří třídu kódy opravující chyby které jsou odvozeny kombinací vnitřní kód a vnější kód. Byly vytvořeny v roce 1966 Dave Forney jako řešení problému nalezení kódu, který má exponenciálně klesající pravděpodobnost chyby s rostoucí délkou bloku a polynomiální čas dekódování složitost.[1]V 70. letech se v kosmické komunikaci široce používaly zřetězené kódy.
Pozadí
Pole kódování kanálu se zabývá odesíláním proudu dat nejvyšší možnou rychlostí za danou dobu komunikační kanál a poté spolehlivě dekódovat původní data v přijímači pomocí kódovacích a dekódovacích algoritmů, které je možné v dané technologii implementovat.
Shannonova věta o kódování kanálu ukazuje, že na mnoha běžných kanálech existují schémata kódování kanálů, která jsou schopna spolehlivě přenášet data při všech rychlostech menší než určitá prahová hodnota , volal kapacita kanálu daného kanálu. Pravděpodobnost chyby dekódování lze ve skutečnosti exponenciálně snižovat s délkou bloku schématu kódování jde do nekonečna. Složitost naivního optimálního dekódovacího schématu, které jednoduše spočítá pravděpodobnost každého možného přenášeného kódového slova, se však exponenciálně zvyšuje s , takže takový optimální dekodér se rychle stává neproveditelným.
V jeho disertační práce, Dave Forney ukázaly, že zřetězené kódy lze použít k dosažení exponenciálně klesajících pravděpodobností chyb při všech rychlostech dat nižších, než je kapacita, se složitostí dekódování, která se zvyšuje pouze polynomiálně s délkou bloku kódu.
Popis


Nechat Cv být [n, k, d] kód, tj. a blokovat kód délky n, dimenze k, minimum Hammingova vzdálenost d, a hodnotit r = k/n, nad abecedou A:
Nechat Cven být [N, K., D] kód přes abecedu B s |B| = |A|k symboly:
Vnitřní kód Cv bere jeden z |A|k = |B| možné vstupy, kóduje do n-tuple přes A, vysílá a dekóduje do jednoho z |B| možné výstupy. Považujeme to za (super) kanál, který může přenášet jeden symbol z abecedy B. Používáme tento kanál N časy přenosu každého z N symboly v kódovém slově o Cven. The zřetězení z Cven (jako vnější kód) s Cv (jako vnitřní kód), označeno Cven∘Cv, je tedy kód délky Nn přes abecedu A:[1]
Mapuje každou vstupní zprávu m = (m1, m2, ..., mK.) na kódové slovo (Cv(m'1), Cv(m'2), ..., Cv(m'N)), kde (m'1, m'2, ..., m'N) = Cven(m1, m2, ..., mK.).
The klíčový vhled v tomto přístupu je, že pokud Cv je dekódován pomocí a přístup s maximální pravděpodobností (tedy ukazuje exponenciálně klesající pravděpodobnost chyby s rostoucí délkou), a Cven je kód s délkou N = 2č které lze dekódovat v polynomiálním čase N, potom může být zřetězený kód dekódován v polynomiálním čase jeho kombinované délky n2č = Ó (N⋅log (N)) a ukazuje exponenciálně klesající pravděpodobnost chyby, i když Cv má exponenciální složitost dekódování.[1] To je podrobněji popsáno v části Dekódování zřetězených kódů.
V generalizaci výše uvedeného zřetězení existují N možné vnitřní kódy Cv,i a i-tý symbol v kódovém slově Cven se přenáší přes vnitřní kanál pomocí i-tý vnitřní kód. The Justesenovy kódy jsou příklady zobecněných zřetězených kódů, kde vnější kód je a Reed-Solomonův kód.
Vlastnosti
1. Vzdálenost zřetězeného kódu Cven∘Cv je alespoň dD, to znamená, že je [nN, kK, D'] kód s D' ≥ dD.
Důkaz:Zvažte dvě různé zprávy m1 ≠ m2 ∈ BK.. Nechť Δ označuje vzdálenost mezi dvěma kódovými slovy. Pak
Existují tedy přinejmenším D pozice, ve kterých je posloupnost N symboly kódových slov Cven(m1) a Cven(m2) lišit. Pro tyto pozice označeno i, my máme
V důsledku toho existují alespoň d⋅D pozice v pořadí n⋅N symboly převzaté z abecedy A ve kterém se obě kódová slova liší, a tedy
2. Li Cven a Cv jsou lineární blokové kódy, pak Cven∘Cv je také lineární blokový kód.
Tuto vlastnost lze snadno zobrazit na základě myšlenky definování a matice generátoru pro zřetězený kód, pokud jde o matice generátoru Cven a Cv.
Dekódování zřetězených kódů
Přirozeným konceptem dekódovacího algoritmu pro zřetězené kódy je nejprve dekódování vnitřního kódu a poté vnějšího kódu. Aby byl algoritmus praktický, musí být polynomiální čas v konečné délce bloku. Vezměte v úvahu, že pro vnější kód existuje jedinečný dekódovací algoritmus v polynomiálním čase. Nyní musíme pro vnitřní kód najít algoritmus dekódování v polynomiálním čase. Rozumí se, že doba běhu polynomu zde znamená, že doba běhu je polynom v konečné délce bloku. Hlavní myšlenkou je, že pokud je délka vnitřního bloku zvolena jako logaritmická ve velikosti vnějšího kódu, pak může běžet dekódovací algoritmus pro vnitřní kód v exponenciální čas délky vnitřního bloku a můžeme tedy použít exponenciální čas, ale optimální dekodér maximální věrohodnosti (MLD) pro vnitřní kód.
Podrobně nechte vstup do dekodéru vektor y = (y1, ..., yN) ∈ (An)N. Dekódovací algoritmus je pak dvoustupňový proces:
- Použijte MLD vnitřního kódu Cv rekonstruovat sadu slov vnitřního kódu y' = (y'1, ..., y'N), s y'i = MLDCv(yi), 1 ≤ i ≤ N.
- Spusťte jedinečný dekódovací algoritmus pro Cven na y'.
Nyní je časová složitost prvního kroku Ó (N⋅exp (n)), kde n = Ó(log (N)) je délka vnitřního bloku. Jinými slovy, je NÓ(1) (tj. polynomiální čas), pokud jde o délku vnějšího bloku N. Protože se předpokládá, že vnější dekódovací algoritmus v kroku dva běží v polynomiálním čase, je složitost celkového dekódovacího algoritmu také v polynomiálním čase.
Poznámky
Výše popsaný dekódovací algoritmus lze použít k opravě všech chyb až do hodnoty menší než dD/ 4 v počtu. Použitím dekódování minimální vzdálenosti, vnější dekodér může opravit všechny vstupy y„s méně než D/ 2 symboly y'i omylem. Podobně může vnitřní kód spolehlivě opravit vstup yi pokud je menší než d/ 2 vnitřní symboly jsou chybné. Tedy pro vnější symbol y'i nesprávné alespoň po vnitřním dekódování d/ 2 vnitřní symboly musely být omylem a pro selhání vnějšího kódu k tomu muselo dojít minimálně D/ 2 vnější symboly. V důsledku toho musí být alespoň celkový počet vnitřních symbolů, které musí být nesprávně přijaty, aby zřetězený kód selhal d/2⋅D/2 = dD/4.
Algoritmus také funguje, pokud jsou vnitřní kódy odlišné, např. Pro Justesenovy kódy. The zobecněný algoritmus minimální vzdálenosti, vyvinutý společností Forney, lze použít k opravě až dD/ 2 chyby.[2]Využívá to výmaz informace z vnitřního kódu ke zlepšení výkonu vnějšího kódu a byl prvním příkladem použití algoritmu dekódování soft-decision.[3][4]
Aplikace
Ačkoli jednoduché schéma zřetězení bylo zavedeno již pro rok 1971 Námořník Mars orbiter mise,[5] zřetězené kódy se začaly pravidelně používat hluboký vesmír komunikace s Program Voyager, který zahájil dva vesmírné sondy v roce 1977.[6] Od té doby se zřetězené kódy staly tahounem pro efektivní kódování korekce chyb a zůstaly jimi alespoň do doby, než turbo kódy a Kódy LDPC.[5][6]
Vnitřní kód obvykle není blokový kód, ale měkké rozhodnutí konvoluční Viterbiho dekódováno kód s krátkou délkou omezení.[7]U vnějšího kódu delší blokový kód s pevným rozhodnutím, často a Reed-Solomonův kód s osmibitovými symboly.[1][5]Díky větší velikosti symbolu je vnější kód robustnější chybové záblesky k tomu může dojít v důsledku narušení kanálu a také proto, že chybný výstup samotného konvolučního kódu je prudký.[1][5] An prokládací vrstva se obvykle přidává mezi dva kódy, aby se šíření chybových hlášení rozšířilo do širšího rozsahu.[5]
Kombinace vnitřního Viterbiho konvolučního kódu s vnějším Reed-Solomonův kód (známý jako kód RSV) byl poprvé použit v Voyager 2,[5][8] a stala se populární konstrukcí uvnitř i vně vesmírného sektoru. Stále se pozoruhodně používá dodnes satelitní komunikace, tak jako DVB-S digitální televize vysílací standard.[9]
Ve volnějším smyslu může být jakákoli (sériová) kombinace dvou nebo více kódů označována jako zřetězený kód. Například v rámci DVB-S2 standardní, vysoce efektivní Kód LDPC je kombinován s algebraickým vnějším kódem, aby se odstranily všechny odolné chyby, které zbyly z vnitřního kódu LDPC kvůli jeho inherentní chybová podlaha.[10]
Jednoduché schéma zřetězení se používá také na kompaktním disku (CD), kde prokládací vrstva mezi dvěma kódy Reed-Solomon různých velikostí šíří chyby napříč různými bloky.
Turbo kódy: Přístup paralelního zřetězení
Výše uvedený popis je uveden pro takzvaný sériově zřetězený kód. Turbo kódy, jak bylo popsáno poprvé v roce 1993, implementovalo paralelní zřetězení dvou konvolučních kódů s prokládačem mezi těmito dvěma kódy a iteračním dekodérem, který předává informace tam a zpět mezi kódy.[6] Tento design má lepší výkon než jakékoli dříve koncipované zřetězené kódy.
Klíčovým aspektem turbo kódů je však jejich iterovaný přístup k dekódování. Iterované dekódování se nyní také aplikuje na sériová zřetězení, aby se dosáhlo vyšších zisků kódování, například v sériově zřetězených konvolučních kódech (SCCC). Raná forma iterovaného dekódování byla implementována dvěma až pěti iteracemi v „kódu Galileo“ Kosmická sonda Galileo.[5]
Viz také
Reference
- ^ A b C d E G. D. Forney (1967). "Zřetězené kódy". Cambridge, Massachusetts: MIT Press. Citovat deník vyžaduje
| deník =
(Pomoc) - ^ Forney, G. David (duben 1966). Msgstr "Zobecněné dekódování minimální vzdálenosti". Transakce IEEE na teorii informací. 12 (2): 125–131. doi:10.1109 / TIT.1966.1053873.
- ^ Yu, Christopher C.H .; Costello, Daniel J. (březen 1980). "Zobecněné dekódování minimální vzdálenosti pro Qary Výstupní kanály ". Transakce IEEE na teorii informací. 26 (2): 238–243. doi:10.1109 / TIT.1980.1056148.
- ^ Wu, Yingquan; Hadjicostis, Christoforos (leden 2007). „Dekódování lineárních blokových kódů pomocí soft-decision pomocí předběžného zpracování a diverzifikace“. Transakce IEEE na teorii informací. 53 (1): 387–393. doi:10.1109 / tit.2006.887478.
- ^ A b C d E F G Robert J. McEliece; Laif Swanson (20. srpna 1993). „Reed-Solomonovy kódy a průzkum sluneční soustavy“. JPL. Citovat deník vyžaduje
| deník =
(Pomoc) - ^ A b C K. Andrews a kol., Vývoj kódů Turbo a LDPC pro aplikace v hlubokém vesmíru, Proceedings of the IEEE, Vol. 95, č. 11, listopad 2007.
- ^ J. P. Odenwalder (1970). Msgstr "Optimální dekódování konvolučních kódů". U.C.L.A., Odbor vědy o systémech (disertační práce). Citovat deník vyžaduje
| deník =
(Pomoc) - ^ R. Ludwig, J. Taylor, Telekomunikační příručka Voyager, JPL DESCANSO (Design and Performance Summary Series), Březen 2002.
- ^ Digitální video vysílání (DVB); Struktura rámce, kódování kanálu a modulace pro satelitní služby 11/12 GHz, ETSI EN 300 421, V1.1.2, srpen 1997.
- ^ Digitální video vysílání (DVB); Rámcová struktura druhé generace, systémy kódování a modulace kanálů pro vysílání, interaktivní služby, shromažďování zpráv a další širokopásmové satelitní aplikace (DVB-S2), ETSI EN 302 307, V1.2.1, duben 2009.
Další čtení
- Shu Lin; Daniel J. Costello Jr. (1983). Kódování kontroly chyb: Základy a aplikace. Prentice Hall. str.278 –280. ISBN 978-0-13-283796-5.
- FJ MacWilliams; N.J.A. Sloane (1977). Teorie kódů pro opravu chyb. Severní Holandsko. str.307–316. ISBN 978-0-444-85193-2.