Kas yra FEC ir kaip jį naudoti?

Dec 28, 2021

Palik žinutę

Kas yra FEC ir kaip jį naudoti?

Ryšių sistemose, informacijos teorijoje ir kodavimo teorijoje išankstinė klaidų taisymas (FEC) yra metodas, naudojamas duomenų perdavimo klaidoms kontroliuoti nepatikimais arba triukšmingais ryšio kanalais. FEC už savo pradžią skolinga novatoriškam Claude'o Shannono darbui 1948 m., siekiant patikimo ryšio triukšmingais perdavimo kanalais. Pagrindinė Shannon tema buvo ta, kad jei sistemos signalizacijos greitis yra mažesnis už kanalo pajėgumą, galima pasiekti patikimą ryšį, jei pasirenkama tinkama kodavimo ir dekodavimo technika.

FEC-2

1 paveiksle parodytas supaprastintas koduotos sistemos modelis. Neapdoroti perdavimo duomenys pateikiami kaip pranešimų sekau. FEC kodavimo įrenginys pakeičia pranešimąuį kodinį žodįpridedant perteklinius duomenis, prieš įeinant į nepatikimą arba triukšmingą kanalą. Papildomas dubliavimas leidžia imtuvo dekoderiui aptikti ribotą skaičių klaidų, kurios gali atsirasti pranešime, ir dažnai ištaisyti šias klaidas nepersiunčiant pakartotinio, siekiant, kad pradinė pranešimų sekausėkmingai atkuriamas dekoderio išvestyje.

 

FEC kodų tipai

Šiandien plačiai naudojami du struktūriškai skirtingi kodų tipai: blokiniai kodai ir konvoliuciniai kodai. Bloko kodo kodavimo įrenginys padalija informacijos sekąuį pranešimų blokuskinformacijos bitų (simbolių) ir transformuoja kiekvieną pranešimąusavarankiškai į kodinį žodį,n-bitas (simboliai)v. SantykisR = k/nvadinamas kodo greičiu. Pertekliniai bitai (simboliai),n-k, suteikia kodui galimybę kovoti su kanalo triukšmu.

Svarbus bloko kodo parametras yra minimalus atstumas,dmin, tai yra atstumas tarp dviejų artimiausių kodo žodžių, nurodantis mažiausią duomenų pakeitimų skaičių, reikalingą norint pakeisti vieną galiojantį kodo žodį kitu. Šis parametras nustato kodo klaidų aptikimo ir taisymo galimybes. Paprastai FEC kodas gali aptiktidmin-1 klaidų viename kodo žodyje ir pataisykite iki (dmin-1)/2 klaidos kiekviename kodiniame žodyje. Pavyzdžiui, Reed Solomon kodas, RS (544, 514,t=15, m=10), yra blokinis kodas su 514 informacijos simbolių ir 30 perteklinių simbolių. Kiekvienas simbolis turi 10 bitų. Mažiausias jo atstumas yradmin=31, kad būtų galima ištaisyti iki (dmin-1)/2=15 simbolių klaidų vienam kodiniam žodžiui.

Konvoliucinio kodo koduotuvas taip pat priima k-informacijos sekos bitų blokaiuir sukuria užkoduotą sekąvapien-simbolių blokai. Tačiau kiekvienas užkoduotas blokas priklauso ne tik nuo atitinkamok-bitų pranešimų blokas tuo pačiu laiko vienetu, bet ir įjungtasmankstesnių pranešimų blokai. Be perteklinių bitų,n-k, padidinus atminties tvarką, pridedama daugiau dubliavimomkodo, kad būtų užtikrintas patikimas perdavimas triukšmingu kanalu.

Remiantis Šenono teorija [1], kuo ilgesnis kodinis žodis, tuo galingesnė klaidų taisymo galimybė jis suteikia. Tačiau kodavimo sudėtingumas taip pat didėja didėjant kodo žodžio ilgiui. Norint pasiekti geresnį kompromisą tarp sudėtingumo ir kodavimo našumo, yra keletas būdų, kaip sukurti ilgus galingus kodus iš trumpų komponentų kodų, pvz., produktų kodų, sujungtų kodų ir persipynusių kodų.

2 paveiksle parodytas dvimatis produkto kodas, sudarytas iš dviejų kodų C1(n1, k1) ir C2(n2, k2) su minimaliu atstumudmin1irdmin2, atitinkamai. Kiekviena produkto kodo C eilutė1 x C2yra kodinis žodis C1ir kiekvienas stulpelis yra kodinis žodis C2. Produkto kodas gali pataisyti bet kokį (dmin1dmin2-1)/2 klaidų.

FEC-3

3 paveiksle parodytas vieno lygio sujungtas kodas su išoriniu kodu C1(n1, k1) su minimaliu atstumudmin1ir vidinis kodas C2(n2, k2) su minimaliu atstumudmin2. Mažiausias jų susijungimo atstumas yra bentdmin1dmin2.

FEC-4

4 paveiksle parodytas persipynusio kodo siuntimas. Turint (n,k) bloko kodą C, galima sukurti (λn, λk) blokinį kodą perklijuojant, tai yra tiesiog išdėstant λ kodo žodžius C į stačiakampio masyvo λ eilutes ir tada perduodant masyvo stulpelį stulpelyje. Net jei mažiausias atstumas tarp perklijuoto kodo vis dar yradminkaip individualus kodas C, jis gali suskaidyti ilgų serijų klaidas į λ skirtingus kodinius žodžius.

figure4

Pažangesnius FEC kodus, tokius kaip turbo kodai ir mažo tankio pariteto tikrinimo (LDPC) kodai, išrado akademikai ir per pastaruosius kelis dešimtmečius priėmė pramonė, siekdama priartėti prie Šenono ribos (arba kanalo talpos). Tačiau jų puikus našumo padidėjimas paprastai atperkamas dėl didelio kodavimo / dekodavimo sudėtingumo ir delsos.

Renkantis tinkamą FEC kodą ir kodavimo schemą konkrečiai ryšių sistemai, reikia atsižvelgti į keturis svarbius veiksnius. Norėdami išlaikyti didelį pralaidumą arba išvengti reikšmingo ryšio spartos padidėjimokodo normaturi būti aukštas. Norint kompensuoti kanalo praradimą arba sumažinti signalo ir triukšmo santykio (SNR) arba bitų klaidų dažnio (BER) reikalavimus imtuvo sprendimų pjaustytuvuose,kodavimo padidėjimasyra pageidautina. Tačiau FEC trūkumai yrakodavimo delsairkodavimo sudėtingumastai padidins perdavimo laiką ir sistemos galią / sąnaudas.

FEC programos nuosekliosioms jungties sistemoms

FEC technologijos, skirtos laidinio ryšio sistemoms, kraštovaizdis parodytas 5 paveiksle ir apima elektrinius ir optinius ryšius. Elektrinių ryšių srityje pramonė neseniai įtraukė signalizacijos formato atnaujinimus iš dviejų lygių signalizacijos formato (NRZ) į keturių lygių signalizacijos formatą (PAM4), pereinant nuo 25 Gb/s į 50 Gb/s ryšio duomenų perdavimo spartą.

Vienas iš pagrindinių PAM4 SerDes projektavimo iššūkių yra PAM4 aptikimo bauda per NRZ, apie 9,54 dB ar net didesnė, jei atsižvelgiama į horizontalios ribos pablogėjimą dėl kelių lygių signalų kirtimų. Todėl FEC tampa svarbia PAM4 sistemos sprendimo dalimi, kompensuojančia šią aptikimo bausmę. RS (544, 514, 15) FEC, taip pat žinomas kaip KP4 FEC, buvo plačiai naudojamas PAM{10}} nuorodose. Jis suteikia 200/400 G Ethernet sistemas su iki 7 dB kodavimo padidėjimu, kartu pridedant šimtų nanosekundžių (ns) delsos baudą. Didelio našumo FEC kodai, tokie kaip mažo tankio pariteto tikrinimo (LDPC) kodai ir Turbo gaminių kodai (TPC), paprastai naudojami tolimojo optinio perdavimo sistemoms, kurių kodavimo laikas yra didesnis ir sudėtingesnis. Mažos delsos programoms galima naudoti trumpus paprastus blokinius kodus, kurių kodavimo stiprinimas ir sudėtingumas yra nedidelis.

FEC-5

Siųsti užklausą