Wat is FEC en hoe gebruik ik het?

Dec 28, 2021

Laat een bericht achter

Wat is FEC en hoe gebruik ik het?

In communicatiesystemen, informatietheorie en coderingstheorie is voorwaartse foutcorrectie (FEC) een techniek die wordt gebruikt voor het beheersen van fouten in gegevensoverdracht via onbetrouwbare of luidruchtige communicatiekanalen. FEC dankt zijn begin aan het pionierswerk van Claude Shannon in 1948 op het gebied van betrouwbare communicatie via luidruchtige transmissiekanalen. Het centrale thema van Shannon was dat als de signaleringssnelheid van het systeem lager is dan de kanaalcapaciteit, betrouwbare communicatie kan worden bereikt als men de juiste coderings- en decoderingstechnieken kiest.

FEC-2

Figuur 1 toont een vereenvoudigd model van een gecodeerd systeem. De onbewerkte transmissiegegevens worden weergegeven als een berichtenreeksu. De FEC-encoder transformeert het berichtuin een codewoorddoor redundante gegevens toe te voegen voordat het onbetrouwbare of lawaaierige kanaal wordt betreden. De toegevoegde redundantie stelt de ontvangerdecoder in staat om een ​​beperkt aantal fouten te detecteren die in het bericht kunnen voorkomen, en vaak om deze fouten te corrigeren zonder opnieuw te verzenden, met als doel dat de oorspronkelijke berichtenreeksuwordt met succes hersteld aan de uitgang van de decoder.

 

Soorten FEC-codes

Twee structureel verschillende soorten codes worden tegenwoordig algemeen gebruikt: blokcodes en convolutionele codes. De encoder voor een blokcode verdeelt de informatiereeksuin berichtblokken vankinformatiebits (symbolen) elk en transformeert elk berichtuonafhankelijk in een codewoord,n-bit (symbolen)v. De ratioR = k/nwordt de coderate genoemd. De overtollige bits (symbolen),n-k, de code de mogelijkheid bieden om de kanaalruis te bestrijden.

Een belangrijke parameter van een blokcode is de minimale afstand,dmin, dit is de afstand tussen twee dichtstbijzijnde codewoorden, die het minimum aantal gegevenswijzigingen vertegenwoordigt dat nodig is om het ene geldige codewoord in het andere te veranderen. Deze parameter bepaalt de foutdetectie- en -correctiemogelijkheden van een code. Normaal gesproken kan een FEC-code detecteren:dmin-1 fouten per codewoord en corrigeren tot (dmin-1)/2 fouten per codewoord. Bijvoorbeeld Reed Solomon-code, RS (544, 514,t=15, m=10), is een blokcode met 514 informatiesymbolen en 30 redundante symbolen. Elk symbool heeft 10 bits. De minimale afstand isdmin=31 zodat het kan corrigeren tot (dmin-1)/2=15 symboolfouten per codewoord.

De encoder voor een convolutionele code accepteert ook k-bitblokken van de informatiereeksuen produceert een gecodeerde reeksvvann-symbool blokken. Elk gecodeerd blok hangt echter niet alleen af ​​van de bijbehorendek-bit berichtblok tegelijkertijd eenheid maar ook aanmvorige berichtblokken. Naast overbodige bits,n-k, wordt meer redundantie toegevoegd door de geheugenvolgorde te vergrotenmvan de code om een ​​betrouwbare transmissie over een kanaal met ruis te bereiken.

Op basis van de Shannon-theorie [1] geldt dat hoe langer het codewoord is, des te krachtiger de mogelijkheid om fouten te corrigeren. De coderingscomplexiteit neemt echter ook toe met de lengte van het codewoord. Om een ​​betere afweging te maken tussen complexiteit en coderingsprestaties, zijn er een paar technieken voor het construeren van lange krachtige codes uit korte componentcodes, zoals productcodes, aaneengeschakelde codes en interleaved codes.

Figuur 2 toont een tweedimensionale productcode gevormd door twee codes C1(n1, k1) en C2(n2, k2) met minimale afstanddmin1endmin2, respectievelijk. Elke rij van de productcode C1 x C2is een codewoord in C1en elke kolom is een codewoord in C2. De productcode kan elke combinatie van (dmin1dmin2-1)/2 fouten.

FEC-3

Figuur 3 toont een aaneengeschakelde code van één niveau met een buitenste code C1(n1, k1) met minimale afstanddmin1en een innerlijke code C2(n2, k2) met minimale afstanddmin2. De minimale afstand van hun aaneenschakeling is minimaaldmin1dmin2.

FEC-4

Figuur 4 toont de verzending van een interleaved code. Gegeven een (n,k) blokcode C, is het mogelijk om een ​​(λn, λk) blokcode te construeren door interleaving, dat wil zeggen door simpelweg λ codewoorden in C te rangschikken in λ rijen van een rechthoekige array en vervolgens de arraykolom te verzenden door kolom. Ook al is de minimale afstand van de interleaved code nog steedsdminals individuele code C kan het de lange burst-fouten opsplitsen in λ verschillende codewoorden.

figure4

Meer geavanceerde FEC-codes, zoals turbocodes en low-density parity-check (LDPC)-codes, zijn uitgevonden door academici en de afgelopen decennia door de industrie overgenomen om de Shannon-limiet (of kanaalcapaciteit) te benaderen. Hun uitstekende prestatieverbeteringen worden echter normaal gesproken betaald door de grote complexiteit en latentie van codering/decodering.

Er zijn vier kritische factoren waarmee rekening moet worden gehouden bij het selecteren van een juiste FEC-code en coderingsschema voor een bepaald communicatiesysteem. Om een ​​hoge doorvoer te behouden of te voorkomen dat de verbindingssnelheid aanzienlijk wordt verhoogd, is decode tariefhoog moet zijn. Om kanaalverlies te compenseren of de signaal-ruisverhouding (SNR) of bitfoutfrequentie (BER)-vereisten bij beslissingsslicers in de ontvanger te ontspannen, moet een grotecodering winstis gewenst. De nadelen van de FEC zijn echter:codering latentieencodering complexiteitdat zal de transmissietijd en het systeemvermogen/kosten verhogen.

FEC-toepassingen voor seriële verbindingssystemen

Het landschap van FEC-technologie voor draadgebonden communicatiesystemen wordt getoond in figuur 5 en omvat zowel elektrische als optische verbindingen. Voor elektrische verbindingen heeft de industrie onlangs updates van het signaleringsformaat opgenomen van signaleringsformaat op twee niveaus (NRZ) naar signaleringsformaat op vier niveaus (PAM4) tijdens de overgang van 25 Gb/s naar 50 Gb/s-verbindingsgegevenssnelheden.

Een van de grootste ontwerpuitdagingen van PAM4 SerDes is de detectiestraf van PAM4 over NRZ, ongeveer 9,54 dB of zelfs groter als rekening wordt gehouden met de verslechtering van de horizontale marge als gevolg van signaalovergangen op meerdere niveaus. Daarom wordt FEC een belangrijk onderdeel van de PAM4-systeemoplossing om deze detectiestraf te compenseren. RS (544, 514, 15) FEC, ook bekend als KP4 FEC, is algemeen aanvaard in PAM-4-links. Het biedt 200/400G Ethernet-systemen met maximaal 7dB coderingsversterking, terwijl een latentiestraf van honderden nanoseconden (ns) als kosten wordt toegevoegd. High-gain FEC-codes zoals low-density parity check-codes (LDPC) en Turbo-productcodes (TPC) worden normaal gesproken overwogen voor optische transmissiesystemen over lange afstanden met de kosten van grotere coderingslatentie en complexiteit. Voor toepassingen met een lage latentie kunnen korte eenvoudige blokcodes met een matige coderingswinst en complexiteit worden gebruikt.

FEC-5

Aanvraag sturen