Čo je FEC a ako ho môžem použiť?
V komunikačných systémoch, teórii informácií a teórii kódovania je dopredná korekcia chýb (FEC) technika používaná na kontrolu chýb pri prenose údajov cez nespoľahlivé alebo hlučné komunikačné kanály. FEC vďačí za svoje začiatky priekopníckej práci Clauda Shannona v roku 1948 o spoľahlivej komunikácii cez hlučné prenosové kanály. Shannonovou ústrednou témou bolo, že ak je rýchlosť signalizácie systému nižšia ako kapacita kanála, je možné dosiahnuť spoľahlivú komunikáciu, ak si človek zvolí správne techniky kódovania a dekódovania.

Obrázok 1 zobrazuje zjednodušený model kódovaného systému. Nespracované prenosové dáta sú reprezentované ako sekvencia správu. Kódovač FEC transformuje správuudo kódového slovav pridaním nadbytočných údajov pred vstupom na nespoľahlivý alebo hlučný kanál. Pridaná redundancia umožňuje dekodéru prijímača detegovať obmedzený počet chýb, ktoré sa môžu v správe vyskytnúť, a často tieto chyby opraviť bez opätovného prenosu s cieľom zachovať pôvodnú sekvenciu správyusa úspešne obnoví na výstupe dekodéra.
Typy FEC kódov
Dnes sa bežne používajú dva štrukturálne odlišné typy kódov: blokové kódy a konvolučné kódy. Kódovač pre blokový kód rozdeľuje informačnú sekvenciuudo blokov správkinformačné bity (symboly) každý a transformuje každú správuunezávisle na kódovom slove,n-bit (symboly)v. PomerR = k/nsa nazýva kódová rýchlosť. Nadbytočné bity (symboly),n-k, poskytujú kódu schopnosť potláčať šum kanála.
Dôležitým parametrom blokového kódu je minimálna vzdialenosť,dmin, je to vzdialenosť medzi dvoma najbližšími kódovými slovami, ktorá predstavuje minimálny počet zmien údajov potrebných na zmenu jedného platného kódového slova na iné. Tento parameter určuje schopnosti kódu zisťovať a opravovať chyby. Normálne je kód FEC schopný zistiťdmin-1 chýb na kódové slovo a opravte až (dmin-1)/2 chýb na kódové slovo. Napríklad kód Reed Solomon, RS (544, 514,t=15, m=10), je blokový kód s 514 informačnými symbolmi a 30 nadbytočnými symbolmi. Každý symbol má 10 bitov. Jeho minimálna vzdialenosť jedmin=31 tak, že dokáže opraviť až (dmin-1)/2=15 chyby symbolov na kódové slovo.
Kódovač pre konvolučný kód tiež akceptuje k-bitové bloky informačnej postupnostiua vytvára zakódovanú sekvenciuvzn- symbolové bloky. Každý zakódovaný blok však nezávisí len od toho zodpovedajúcehok-bitová správa blok súčasne jednotka, ale aj nampredchádzajúce bloky správ. Okrem nadbytočných bitov,n-k, je pridaná väčšia redundancia zvýšením poradia pamätemkódu, aby sa dosiahol spoľahlivý prenos cez zašumený kanál.
Na základe Shannonovej teórie [1], čím dlhšie je kódové slovo, tým výkonnejšiu schopnosť opravy chýb poskytuje. S dĺžkou kódového slova sa však zvyšuje aj zložitosť kódovania. Na dosiahnutie lepšieho kompromisu medzi zložitosťou a výkonom kódovania existuje niekoľko techník na vytváranie dlhých výkonných kódov z krátkych kódov komponentov, ako sú kódy produktov, zreťazené kódy a prekladané kódy.
Obrázok 2 zobrazuje dvojrozmerný kód produktu tvorený dvoma kódmi C1(n1, k1) a C2(n2, k2) s minimálnou vzdialenosťoudmin1admin2, resp. Každý riadok kódu produktu C1 x C2je kódové slovo v C1a každý stĺpec je kódové slovo v C2. Kód produktu je schopný opraviť akúkoľvek kombináciu (dmin1dmin2-1)/2 chýb.

Obrázok 3 zobrazuje jednoúrovňový zreťazený kód s vonkajším kódom C1(n1, k1) s minimálnou vzdialenosťoudmin1a vnútorný kód C2(n2, k2) s minimálnou vzdialenosťoudmin2. Minimálna vzdialenosť ich zreťazenia je mindmin1dmin2.

Obrázok 4 zobrazuje prenos vloženého kódu. Vzhľadom na (n,k) blokový kód C je možné zostaviť (λn, λk) blokový kód preložením, to znamená jednoducho usporiadaním λ kódových slov v C do λ riadkov pravouhlého poľa a následným prenosom stĺpca poľa stĺpec. Aj keď minimálna vzdialenosť prekladaného kódu je stáledminako individuálny kód C môže rozdeliť dlhé zhlukové chyby do λ rôznych kódových slov.

Pokročilejšie kódy FEC, ako sú turbo kódy a kódy kontroly parity s nízkou hustotou (LDPC), boli vynájdené akademikmi a prijaté priemyslom v posledných desaťročiach, aby sa priblížili k Shannonovmu limitu (alebo kapacite kanála). Za ich vynikajúce zvýšenie výkonu sa však zvyčajne platí veľká zložitosť kódovania/dekódovania a latencia.
Pri výbere správneho kódu FEC a schémy kódovania pre konkrétny komunikačný systém je potrebné zvážiť štyri kritické faktory. Ak chcete zachovať vysokú priepustnosť alebo sa vyhnúť výraznému zvýšeniu rýchlosti pripojeniakódová sadzbamusí byť vysoká. Na kompenzáciu straty kanála alebo uvoľnenia pomeru signálu k šumu (SNR) alebo bitovej chybovosti (BER) požiadavky na rozhodovacie segmenty v prijímači súzisk z kódovaniaje žiadúce. Nevýhody FEC sú všaklatencia kódovaniaazložitosť kódovaniačo zvýši čas prenosu a výkon/náklady systému.
Aplikácie FEC na systémy so sériovým pripojením
Krajina technológie FEC pre komunikačné systémy po drôtovom vedení je znázornená na obrázku 5 a zahŕňa elektrické aj optické spojenia. Pre elektrické spojenia priemysel nedávno začlenil aktualizácie signalizačného formátu z dvojúrovňového signalizačného formátu (NRZ) na štvorúrovňový signalizačný formát (PAM4) počas prechodu z 25 Gb/s na 50 Gb/s dátových rýchlostí spojenia.
Jednou z hlavných výziev návrhu PAM4 SerDes je pokuta za detekciu PAM4 nad NRZ, asi 9,54 dB alebo dokonca väčšia, ak sa vezme do úvahy degradácia horizontálnej rezervy v dôsledku viacúrovňových krížení signálu. Preto sa FEC stáva dôležitou súčasťou systémového riešenia PAM4 na kompenzáciu tejto pokuty za detekciu. RS (544, 514, 15) FEC, tiež známy ako KP4 FEC, bol široko prijatý v odkazoch PAM{10}}. Poskytuje 200/400G ethernetové systémy so ziskom kódovania až 7 dB, pričom k nákladom pridáva penalizáciu za latenciu v stovkách nanosekúnd (ns). Kódy FEC s vysokým ziskom, ako sú kódy kontroly parity s nízkou hustotou (LDPC) a kódy produktu Turbo (TPC), sa bežne zvažujú pre systémy optického prenosu na veľké vzdialenosti s nákladmi na väčšiu latenciu kódovania a zložitosť. Pre aplikácie s nízkou latenciou by sa mohli použiť krátke jednoduché blokové kódy s miernym ziskom a zložitosťou kódovania.















































