Kaj je FEC in kako ga uporabljam?
V komunikacijskih sistemih, teoriji informacij in teoriji kodiranja je odpravljanje napak naprej (FEC) tehnika, ki se uporablja za nadzor napak pri prenosu podatkov po nezanesljivih ali hrupnih komunikacijskih kanalih. FEC dolguje svoje začetke pionirskemu delu Clauda Shannona leta 1948 na področju zanesljive komunikacije preko hrupnih prenosnih kanalov. Shannonova osrednja tema je bila, da če je stopnja signalizacije sistema manjša od zmogljivosti kanala, je mogoče zanesljivo komunikacijo doseči, če izberemo ustrezne tehnike kodiranja in dekodiranja.

Slika 1 prikazuje poenostavljen model kodiranega sistema. Neobdelani prenosni podatki so predstavljeni kot zaporedje sporočilu. Kodirnik FEC pretvori sporočilouv kodno besedov z dodajanjem odvečnih podatkov pred vstopom v nezanesljiv ali hrupni kanal. Dodana redundanca omogoča dekoderju sprejemnika, da zazna omejeno število napak, ki se lahko pojavijo v sporočilu, in pogosto popravi te napake brez ponovnega prenosa, s ciljem, da izvirno zaporedje sporočilause uspešno obnovi na izhodu dekoderja.
Vrste kod FEC
Danes sta v običajni uporabi dve strukturno različni vrsti kod: blokovne kode in konvolucijske kode. Kodirnik za blokovno kodo deli informacijsko zaporedjeuv bloke sporočilkinformacijske bite (simbole) in vsako sporočilo preoblikujeuneodvisno v kodno besedo,n-bit (simboli)v. RazmerjeR = k/nse imenuje kodna stopnja. Odvečni deli (simboli),n-k, zagotovi kodo z zmožnostjo boja proti šumu kanala.
Pomemben parameter blokovne kode je najmanjša razdalja,dmin, to je razdalja med dvema najbližjima kodnima besedama, ki predstavlja najmanjše število sprememb podatkov, potrebnih za spremembo ene veljavne kodne besede v drugo. Ta parameter določa zmožnosti kode za odkrivanje in popravljanje napak. Običajno je koda FEC sposobna zaznatidmin-1 napak na kodno besedo in popravljenih do (dmin-1)/2 napaki na kodno besedo. Na primer, koda Reed Solomon, RS (544, 514,t=15, m=10), je blok koda s 514 informacijskimi simboli in 30 odvečnimi simboli. Vsak simbol ima 10 bitov. Njegova najmanjša razdalja jedmin=31 tako, da lahko popravi do (dmin-1)/2=15 napak simbola na kodno besedo.
Sprejema tudi kodirnik za konvolucijsko kodo k-bitni bloki informacijskega zaporedjauin ustvari kodirano zaporedjevodn- simbolni bloki. Vendar pa vsak kodiran blok ni odvisen le od ustreznegak-bitni blok sporočil hkrati, pa tudi vklopljenmprejšnji bloki sporočil. Poleg odvečnih bitov,n-k, se s povečanjem vrstnega reda pomnilnika doda več redundancemkode, da se doseže zanesljiv prenos po hrupnem kanalu.
Na podlagi Shannonove teorije [1] daljša kot je kodna beseda, močnejšo zmožnost popravljanja napak zagotavlja. Vendar pa se kompleksnost kodiranja povečuje tudi z dolžino kodne besede. Da bi dosegli boljši kompromis med kompleksnostjo in zmogljivostjo kodiranja, obstaja nekaj tehnik za sestavljanje dolgih močnih kod iz kratkih komponentnih kod, kot so kode izdelkov, povezane kode in prepletene kode.
Slika 2 prikazuje dvodimenzionalno kodo izdelka, ki jo tvorita dve kodi C1(n1, k1) in C2(n2, k2) z minimalno razdaljodmin1indmin2, oz. Vsaka vrstica kode izdelka C1 x C2je kodna beseda v C1in vsak stolpec je kodna beseda v C2. Koda izdelka lahko popravi katero koli kombinacijo (dmin1dmin2-1)/2 napaki.

Slika 3 prikazuje enonivojsko združeno kodo z zunanjo kodo C1(n1, k1) z minimalno razdaljodmin1in notranja koda C2(n2, k2) z minimalno razdaljodmin2. Najmanjša razdalja njihove konkatenacije je najmanjdmin1dmin2.

Slika 4 prikazuje prenos prepletene kode. Glede na (n,k) blokovno kodo C je mogoče sestaviti blokovno kodo (λn, λk) s prepletanjem, to je preprosto z razporeditvijo λ kodnih besed v C v λ vrstic pravokotnega niza in nato posredovati stolpec matrike z stolpec. Čeprav je najmanjša razdalja prepletene kode še vednodminkot posamezna koda C lahko razbije napake dolgega rafa na λ različnih kodnih besed.

Naprednejše kode FEC, kot so turbo kode in kode za preverjanje paritete z nizko gostoto (LDPC), so izumili akademiki in jih industrija sprejela v zadnjih nekaj desetletjih, da bi se približali Shannonovi meji (ali zmogljivosti kanala). Vendar pa je njihov odličen dobiček v zmogljivosti običajno plačan z veliko kompleksnostjo kodiranja/dekodiranja in zakasnitvijo.
Pri izbiri ustrezne kode FEC in kodirne sheme za določen komunikacijski sistem je treba upoštevati štiri ključne dejavnike. Da bi ohranili visoko prepustnost ali se izognili bistvenemu povečanju hitrosti povezavekodna hitrostmora biti visoka. Za kompenzacijo izgube kanala ali sproščanja zahtev za razmerje med signalom in šumom (SNR) ali stopnjo bitne napake (BER) pri rezalnikih odločanja v sprejemniku je velikpridobitev kodiranjaje zaželeno. Vendar pa so pomanjkljivosti FEClatenca kodiranjainkompleksnost kodiranjakar bo povečalo čas prenosa in sistemsko moč/stroške.
FEC aplikacije za sisteme serijske povezave
Pokrajina tehnologije FEC za žične komunikacijske sisteme je prikazana na sliki 5 in vključuje tako električne kot optične povezave. Za električne povezave je industrija nedavno vključila posodobitve signalnega formata iz dvostopenjskega signalnega formata (NRZ) v štiristopenjski signalni format (PAM4) med prehodom s 25 Gb/s na 50 Gb/s podatkovne hitrosti povezave.
Eden od glavnih izzivov pri načrtovanju PAM4 SerDes je zaznavna kazen PAM4 nad NRZ, približno 9,54 dB ali celo večja, če upoštevamo poslabšanje horizontalne robove zaradi prehoda signalov na več ravneh. Zato postane FEC pomemben del sistemske rešitve PAM4 za izravnavo te kazni za odkrivanje. RS (544, 514, 15) FEC, znan tudi kot KP4 FEC, je bil široko sprejet v PAM-4 povezavah. Zagotavlja 200/400G ethernetne sisteme z do 7dB kodiranja, hkrati pa kot strošek dodaja zakasnitev sto nanosekund (ns). Kode FEC z visokim dobičkom, kot so kode za preverjanje paritete z nizko gostoto (LDPC) in kode Turbo produktov (TPC), se običajno upoštevajo za sisteme optičnega prenosa na velike razdalje s stroški večje zamude in kompleksnosti kodiranja. Za aplikacije z nizko zamudo bi se lahko uporabile kratke preproste blokovne kode z zmernim pridobivanjem kodiranja in kompleksnostjo.















































