Mikä on FEC ja miten sitä käytetään?

Dec 28, 2021

Jätä viesti

Mikä on FEC ja miten sitä käytetään?

Viestintäjärjestelmissä, informaatioteoriassa ja koodausteoriassa eteenpäin suunnattu virheenkorjaus (FEC) on tekniikka, jota käytetään tiedonsiirron virheiden ohjaamiseen epäluotettavia tai kohinaisia ​​viestintäkanavia pitkin. FEC on alkunsa velkaa Claude Shannonin uraauurtavalle työlle vuonna 1948 luotettavan tiedonsiirron luomiseksi meluisten siirtokanavien kautta. Shannonin keskeinen teema oli, että jos järjestelmän signalointinopeus on pienempi kuin kanavan kapasiteetti, voidaan saavuttaa luotettava kommunikaatio, jos valitaan oikeat koodaus- ja dekoodaustekniikat.

FEC-2

Kuvassa 1 on yksinkertaistettu malli koodatusta järjestelmästä. Raaka lähetysdata esitetään viestisekvenssinäu. FEC-enkooderi muuttaa viestinukoodisanaksilisäämällä redundantteja tietoja ennen epäluotettavalle tai meluisalle kanavalle siirtymistä. Lisätty redundanssi sallii vastaanottimen dekooderin havaita rajoitetun määrän virheitä, joita voi esiintyä sanomassa, ja usein korjata nämä virheet ilman uudelleenlähetystä, jotta alkuperäinen viestisekvenssiupalautetaan onnistuneesti dekooderin lähdössä.

 

FEC-koodien tyypit

Nykyään käytetään yleisesti kahta rakenteellisesti erilaista koodityyppiä: lohkokoodit ja konvoluutiokoodit. Lohkokoodin kooderi jakaa informaatiosekvenssinuviestilohkoihinktietobitit (symbolit) kukin ja muuntaa jokaisen viestinuitsenäisesti koodisanaksi,n-bitti (symbolit)v. SuhdeR = k/nkutsutaan koodinopeudeksi. Ylimääräiset bitit (symbolit),n-k, tarjoavat koodille kyvyn torjua kanavakohinaa.

Tärkeä lohkokoodin parametri on vähimmäisetäisyys,dmin, tämä on kahden lähimmän koodisanan välinen etäisyys, joka edustaa datamuutosten vähimmäismäärää, joka tarvitaan yhden kelvollisen koodisanan muuttamiseksi toiseksi. Tämä parametri määrittää koodin virheiden havaitsemis- ja korjausominaisuudet. Normaalisti FEC-koodi pystyy havaitsemaandmin-1 virhettä koodisanaa kohden ja korjaa enintään (dmin-1)/2 virhettä koodisanaa kohden. Esimerkiksi Reed Solomon -koodi, RS (544, 514,t=15, m=10), on lohkokoodi, jossa on 514 informaatiosymbolia ja 30 redundanttia symbolia. Jokaisessa symbolissa on 10 bittiä. Sen vähimmäisetäisyys ondmin=31 niin, että se voi korjata jopa (dmin-1)/2=15 symbolivirhettä koodisanaa kohden.

Myös konvoluutiokoodin kooderi hyväksyy k-tietosekvenssin bittilohkotuja tuottaa koodatun sekvenssinv/n-symbolilohkot. Jokainen koodattu lohko ei kuitenkaan riipu vain vastaavastak-bitin viestilohko samalla aikayksiköllä, mutta myös päällämaiemmat viestilohkot. Ylimääräisten bittien lisäksin-k, lisää redundanssia lisäämällä muistijärjestystämkoodin luotettavan lähetyksen saavuttamiseksi kohinaisen kanavan kautta.

Shannonin teorian [1] perusteella mitä pidempi koodisana on, sitä tehokkaampi virheenkorjauskyky se tarjoaa. Koodauksen monimutkaisuus kuitenkin kasvaa myös koodisanan pituuden myötä. Paremman kompromissin saavuttamiseksi monimutkaisuuden ja koodaussuorituskyvyn välillä on olemassa muutamia tekniikoita pitkien tehokkaiden koodien rakentamiseksi lyhyistä komponenttikoodeista, kuten tuotekoodeista, ketjutetuista koodeista ja limiteistä koodeista.

Kuvassa 2 on kaksiulotteinen tuotekoodi, joka muodostuu kahdesta koodista C1(n1, k1) ja C2(n2, k2) minimietäisyydellädmin1jadmin2, vastaavasti. Jokainen tuotekoodin C rivi1 x C2on koodisana C:ssä1ja jokainen sarake on koodisana C:ssä2. Tuotekoodi pystyy korjaamaan minkä tahansa yhdistelmän (dmin1dmin2-1)/2 virhettä.

FEC-3

Kuvassa 3 on yksitasoinen ketjutettu koodi, jonka ulkokoodi on C1(n1, k1) minimietäisyydellädmin1ja sisäinen koodi C2(n2, k2) minimietäisyydellädmin2. Niiden ketjutuksen vähimmäisetäisyys on vähintäändmin1dmin2.

FEC-4

Kuvio 4 esittää lomitetun koodin lähetystä. Kun on annettu (n,k) lohkokoodi C, on mahdollista muodostaa (λn, λk) lohkokoodi lomittamalla, eli yksinkertaisesti järjestämällä C:n λ-koodisanat suorakaiteen muotoisen taulukon λ-riville ja lähettämällä sitten taulukon sarake sarakkeessa. Vaikka limitetyn koodin vähimmäisetäisyys on edelleendminyksittäisenä koodina C, se voi jakaa pitkän purskeen virheet λ eri koodisanoihin.

figure4

Akateemikot ovat keksineet edistyneempiä FEC-koodeja, kuten turbokoodeja ja LDPC-koodeja, ja teollisuudessa niitä on käytetty viime vuosikymmeninä Shannonin rajan (tai kanavakapasiteetin) saavuttamiseksi. Niiden erinomaiset suorituskyvyn lisäykset maksetaan kuitenkin yleensä suurella koodaus/dekoodauksen monimutkaisella ja latenssilla.

On neljä kriittistä tekijää, jotka on otettava huomioon valittaessa oikeaa FEC-koodia ja koodausmenetelmää tietylle viestintäjärjestelmälle. Säilyttääksesi korkean suorituskyvyn tai välttääksesi linkkinopeuden merkittävän nousunkoodinopeuson oltava korkea. Kanavahäviön kompensoimiseksi tai signaali-kohinasuhteen (SNR) tai bittivirhesuhteen (BER) vaatimusten kompensoimiseksi vastaanottimen päätösleikkureissakoodausvahvistuson toivottavaa. FEC:n haitat ovat kuitenkinkoodausviivejakoodauksen monimutkaisuusmikä lisää lähetysaikaa ja järjestelmän tehoa/kustannuksia.

FEC-sovellukset sarjalinkkijärjestelmiin

FEC-teknologian maisema lankajohtotietoliikennejärjestelmille on esitetty kuvassa 5, ja se sisältää sekä sähköisiä että optisia linkkejä. Sähkölinkkejä varten teollisuus on hiljattain sisällyttänyt signalointimuotopäivitykset kaksitasoisesta signalointiformaatista (NRZ) nelitasoiseen signalointimuotoon (PAM4) siirryttäessä 25 Gb/s:sta 50 Gb/s linkin datanopeuteen.

Yksi PAM4 SerDesin suurimmista suunnitteluhaasteista on PAM4:n havaitsemisrangaistus NRZ:n yli, noin 9,54 dB tai jopa suurempi, jos otetaan huomioon monitasoisten signaalien ylitysten aiheuttama vaakasuuntaisen marginaalin heikkeneminen. Siksi FEC:stä tulee tärkeä osa PAM4-järjestelmäratkaisua tämän havaitsemisrangaistuksen kompensoimiseksi. RS (544, 514, 15) FEC, joka tunnetaan myös nimellä KP4 FEC, on otettu laajalti käyttöön PAM{10}}-linkeissä. Se tarjoaa 200/400 G Ethernet-järjestelmille jopa 7 dB:n koodausvahvistuksen, samalla kun se lisää satojen nanosekuntien (ns) latenssimaksun. Suuritehoisia FEC-koodeja, kuten matalatiheyksisiä pariteettitarkistuskoodeja (LDPC) ja Turbo-tuotekoodeja (TPC), harkitaan tavallisesti pitkän matkan optisissa lähetysjärjestelmissä, joiden kustannukset ovat suurempi koodausviive ja monimutkaisuus. Pienen latenssin sovelluksissa voitaisiin käyttää lyhyitä yksinkertaisia ​​lohkokoodeja, joilla on kohtalainen koodausvahvistus ja monimutkaisuus.

FEC-5

Lähetä kysely