Hva er FEC, og hvordan bruker jeg det?

Dec 28, 2021

Legg igjen en beskjed

Hva er FEC, og hvordan bruker jeg det?

I kommunikasjonssystemer, informasjonsteori og kodingsteori er forward error correction (FEC) en teknikk som brukes for å kontrollere feil i dataoverføring over upålitelige eller støyende kommunikasjonskanaler. FEC skylder sin begynnelse til pionerarbeidet til Claude Shannon i 1948 på pålitelig kommunikasjon over støyende overføringskanaler. Shannons sentrale tema var at hvis signaleringshastigheten til systemet er mindre enn kanalkapasiteten, kan pålitelig kommunikasjon oppnås hvis man velger riktige kodings- og dekodingsteknikker.

FEC-2

Figur 1 viser en forenklet modell av et kodet system. De rå overføringsdataene er representert som en meldingssekvensu. FEC-koderen transformerer meldingenutil et kodeordved å legge til redundante data før du går inn i den upålitelige eller støyende kanalen. Den ekstra redundansen gjør at mottakerdekoderen kan oppdage et begrenset antall feil som kan oppstå i meldingen, og ofte korrigere disse feilene uten re-overføring, med mål om at den opprinnelige meldingssekvensenugjenopprettes vellykket ved utgangen av dekoderen.

 

Typer FEC-koder

To strukturelt forskjellige typer koder er i vanlig bruk i dag: blokkkoder og konvolusjonskoder. Enkoderen for en blokkkode deler informasjonssekvensenuinn i meldingsblokker avkinformasjonsbiter (symboler) hver og transformerer hver meldinguuavhengig til et kodeord,n-bit (symboler)v. ForholdetR = k/nkalles kodesatsen. De overflødige bitene (symbolene),n-k, gi koden med evnen til å bekjempe kanalstøyen.

En viktig parameter for en blokkkode er minimumsavstanden,dmin, dette er avstanden mellom to nærmeste kodeord, som representerer det minste antallet dataendringer som kreves for å endre ett gyldig kodeord til et annet. Denne parameteren bestemmer feildeteksjons- og korrigeringsmulighetene til en kode. Normalt er en FEC-kode i stand til å oppdagedmin-1 feil per kodeord og korriger opp til (dmin-1)/2 feil per kodeord. For eksempel, Reed Solomon-kode, RS (544, 514,t=15, m=10), er en blokkkode med 514 informasjonssymboler og 30 overflødige symboler. Hvert symbol har 10 biter. Dens minste avstand erdmin=31 slik at den kan korrigere opp til (dmin-1)/2=15 symbolfeil per kodeord.

Enkoderen for en konvolusjonskode godtar også k-bitblokker av informasjonssekvensenuog produserer en kodet sekvensvavn-symbolblokker. Hver kodet blokk avhenger imidlertid ikke bare av den tilsvarendek-bit meldingsblokk på samme tidsenhet, men også påmtidligere meldingsblokker. I tillegg til overflødige biter,n-k, mer redundans legges til ved å øke minnerekkefølgenmav koden for å oppnå pålitelig overføring over en støyende kanal.

Basert på Shannon-teorien [1], jo lenger kodeordet er, desto kraftigere feilrettingsevne gir det. Imidlertid øker kodingskompleksiteten med kodeordlengden også. For å oppnå bedre avveining mellom kompleksitet og kodeytelse, er det noen få teknikker for å konstruere lange kraftige koder fra korte komponentkoder, for eksempel produktkoder, sammenkoblede koder og sammenflettede koder.

Figur 2 viser en todimensjonal produktkode dannet av to koder C1(n1, k1) og C2(n2, k2) med minimumsavstanddmin1ogdmin2, henholdsvis. Hver rad i produktkoden C1 x C2er et kodeord i C1og hver kolonne er et kodeord i C2. Produktkoden er i stand til å korrigere enhver kombinasjon av (dmin1dmin2-1)/2 feil.

FEC-3

Figur 3 viser en sammenkoblet kode på ett nivå med en ytre kode C1(n1, k1) med minimumsavstanddmin1og en indre kode C2(n2, k2) med minimumsavstanddmin2. Minimumsavstanden for sammenkoblingen deres er minstdmin1dmin2.

FEC-4

Figur 4 viser overføring av en sammenflettet kode. Gitt en (n,k) blokkkode C, er det mulig å konstruere en (λn, λk) blokkkode ved interleaving, det vil si ganske enkelt ved å ordne λ kodeord i C i λ rader i en rektangulær matrise og deretter overføre matrisekolonnen ved å kolonne. Selv om minimumsavstanden til den sammenflettede koden fortsatt erdminsom individuell kode C, kan den bryte de lange seriefeilene i λ forskjellige kodeord.

figure4

Mer avanserte FEC-koder, som turbokoder og LDPC-koder (low-density parity-check), har blitt oppfunnet av akademikere og tatt i bruk av industrien de siste tiårene for å nærme seg Shannon-grensen (eller kanalkapasiteten). Imidlertid betales deres utmerkede ytelsesgevinster normalt av stor kodings-/dekodingskompleksitet og latens.

Det er fire kritiske faktorer å vurdere når du velger en riktig FEC-kode og kodeskjema for et bestemt kommunikasjonssystem. For å opprettholde høy gjennomstrømning eller unngå å øke koblingshastigheten betydeligkodesatsmå være høy. For å kompensere kanaltap eller slappe signal-til-støy-forhold (SNR) eller bitfeilhastighet (BER) krav ved beslutningsskjærere i mottakerenkodeforsterkninger ønskelig. Imidlertid er ulempene med FECkodeforsinkelseogkodingskompleksitetsom vil øke overføringstid og systemeffekt/kostnad.

FEC-applikasjoner til seriekoblingssystemer

Landskapet til FEC-teknologi for ledningskommunikasjonssystemer er vist i figur 5 og inkluderer både elektriske og optiske koblinger. For elektriske koblinger har industrien nylig innlemmet signalformatoppdateringer fra to-nivås signaleringsformat (NRZ) til fire-nivå signaleringsformat (PAM4) under overgangen fra 25 Gb/s til 50 Gb/s koblingsdatahastigheter.

En av de største designutfordringene til PAM4 SerDes er deteksjonsstraffen til PAM4 over NRZ, omtrent 9,54 dB eller enda større hvis man vurderer horisontal marginforringelse på grunn av signalkrysser på flere nivåer. Derfor blir FEC en viktig del av PAM4-systemløsningen for å oppveie denne deteksjonsstraffen. RS (544, 514, 15) FEC, også kjent som KP4 FEC, har blitt mye brukt i PAM{10}}-koblinger. Den gir 200/400G Ethernet-systemer med opptil 7dB kodingsforsterkning, samtidig som den legger til en ventetid på hundrevis av nano-sekunder (ns) som en kostnad. Høyforsterkede FEC-koder som LDPC-koder (low density parity check) og Turbo-produktkoder (TPC) vurderes normalt for langdistanse optiske overføringssystemer med kostnadene for større kodelatens og kompleksitet. For applikasjoner med lav latens kan korte enkle blokkkoder med moderat kodeforsterkning og kompleksitet brukes.

FEC-5

Sende bookingforespørsel