Table of Contents
De codes van de LDPC-norm zijn een hoeksteen geworden van moderne digitale communicatiesystemen, waardoor betrouwbare gegevensoverdracht mogelijk is in de buurt van de Shannon-limiet. Eerst geïntroduceerd door Robert Gallager in zijn doctoraatsproefschrift uit 1963 en later herontdekt in de jaren negentig, zijn deze codes nu integraal aan normen zoals DVB-S2, Wi-Fi (IEEE 802.11n/ac/ax), 5G NR, en diepe communicatie. De mogelijkheid om de code rate aan te passen, dat wil zeggen, de verhouding van informatie bits tot totale overgedragen bits is essentieel voor het aanpassen aan verschillende kanaalomstandigheden en eisen inzake kwaliteit van dienstverlening. Twee primaire technieken voor het aanpassen van de codesnelheid zonder het opnieuw ontwerpen van de gehele codestructuur zijn het doorboren en inkorten van beide methoden veranderen de effectieve codesnelheid, terwijl ze dezelfde onderliggende LDPC-matrix gebruiken, die flexibiliteit bieden voor tariefcompatibele systemen.
Fundamentele elementen van LDPC-codes
Een LDPC-code is een lineaire blokcode die wordt gedefinieerd door een schaarse pariteitscontrolematrix H van grootte m × n[. De sparariteit van [H[] betekent dat het zeer weinig bevat, waardoor efficiënte iteratieve decoderingsalgoritmen, meestal geloofspropagatie (ook bekend als sum-productalgoritme) wordt uitgevoerd op een Tanner grafiek. In de Tanner-grafiek komen variabele knooppunten overeen met de ] bits van een codewoord en controleknooppunten die overeenkomen met de m[] pariteitscheckvergelijkingen.
De code rate R wordt gegeven door (n
Waarom codetarieven aanpassen?
Communicatiekanalen variëren in de tijd als gevolg van vervagen, interferentie en lawaai. Een enkele code rate kan niet optimaal dienen alle omstandigheden: onder goede omstandigheden, een hoge snelheid maximaliseert de gegevensdoorvoer; onder slechte omstandigheden, een laag tarief zorgt voor een betrouwbare ontvangst. Adaptieve codering en modulatie (ACM) systemen hebben daarom tarief-compatibele codes nodig. Punctureren en verkorten kunnen dezelfde encoder en decoder om meerdere tarieven te ondersteunen, waardoor hardware complexiteit en geheugenvereisten verminderen.
De Puncture Technique
Punctureren is een methode om de effectieve codesnelheid te verhogen door selectief een aantal stukjes van een codewoord te verwijderen (niet verzenden) na codering. Typisch wordt eerst een hoog-rate moedercode gegenereerd met behulp van een LDPC-matrix; dan wordt een deelverzameling van de pariteitsbits (of af en toe systematische bits) weggegooid voordat de overdracht plaatsvindt. De ontvanger, bewust van het doorstrevende patroon, behandelt de ontbrekende bits als wissens en probeert het oorspronkelijke codewoord te herstellen met behulp van de resterende bits en de volledige pariteit-checkmatrix.
Wiskundig gezien kan het voorkomen dat de moedercode lengte heeft n en k informatiebits (snelheid k/n[]), doorstreping p[] bits resulteert in een verzonden codewoord van lengte [[FLT:]]n ..n .p, wat echter een effectief percentage van k / (n . . .p.] oplevert , wat hoger is dan het moedercodecijfer. De decoder werkt nog steeds op de volledige n-bit variabele node setthe pong variable nodes (LLR's)) die de doorscheuring van de nul log-likehood ratio's (LLR's) aangeeft.
Patronen en ontwerpoverwegingen uitdrukken
De prestaties van een doorboorde LDPC code hangt sterk af van welke bits worden doorboord. Willekeurige doorboring kan de prestaties afbreken omdat het de structuur van de code kan breken, vooral voor korte bloklengtes. Systematische ontwerp benaderingen bestaan, zoals:
- Regulair puncturen: Verwijder bits volgens een vast periodiek patroon. Dit is eenvoudig maar is misschien niet optimaal.
- Columbusgewicht-gebaseerde puncturen: Prioriteren het doorboren van variabele knooppunten met lager kolomgewicht (minder verbindingen om nodes te controleren) omdat ze minder bijdragen aan decoderen. Het uitboren van nodes met een hoger gewicht heeft de neiging om meer ernstige prestatieverlies te veroorzaken.
- Recovery-aware puncture: Ontwerp het patroon zodat doorboorde knooppunten snel kunnen worden hersteld door er vooral voor te zorgen dat elke doorboorde knoop verbonden is met ten minste één controleknooppunt waarvan de andere buren allemaal worden uitgezonden (d.w.z. een .. ..check node
Een belangrijk concept is de herstelboom: na een bepaald aantal decoderingsiteraties kan de LLR van een doorboorde variabele knoop niet-nul worden als gevolg van extrinsieke informatie van controleknooppunten. Hoe dieper de herstelboom, hoe meer iteraties nodig zijn. Voor tariefcompatibele families worden "puncturingniveaus" vaak vooraf berekend om een reeks doelsnelheden te bereiken met minimale prestatiedegradatie. Bijvoorbeeld, de DVB-S2 standaard definieert een reeks van doordrukpatronen voor zijn LDPC-codes om meerdere codesnelheden te produceren uit één moedercode.
Effect op decoderingscomplexiteit
Puncturen verhoogt decodering van complexiteit niet per iteratie omdat hetzelfde aantal variabele en controleknopen aanwezig zijn in de Tanner grafiek. Echter, het aantal iteraties die nodig zijn voor convergentie kan toenemen als gevolg van de eerste verwijderingen. Bovendien, de decoder moet het pencturen patroon kennen om LLR's op de juiste wijze te initialiseren. Over het algemeen, puncturen is een lage-complexiteit methode om hogere snelheden te bereiken, waardoor het populair in adaptieve systemen.
De kortere techniek
Shortening wordt gebruikt om de effectieve codesnelheid te verlagen, waardoor de code robuuster wordt. In verkorting worden sommige informatiebits op een bekende waarde (typisch nul) ingesteld voordat ze worden gecodeerd, en deze bits worden niet verzonden. Alleen de resterende informatiebits en alle pariteitbits worden verzonden. De ontvanger, die weet welke posities werden ingekort, behandelt de bekende bits als aanvullende zijinformatie tijdens het decoderen.
De totale hoeveelheid van de messen wordt door de decoder gebruikt om de messen te verkorten, maar de messen worden in de eerste plaats door de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugels van de vleugel
Uitvoering en uitvoering
In de praktijk is het eenvoudig om de inkorting te doen: de encoder stelt de gekozen informatie-bit posities eenvoudig op nul (of een bekende waarde) en codeert dan zoals gewoonlijk. Bij de decoder worden de LLR's voor die variabele knooppunten ingesteld op +∞ (voor een bekende nul in binaire fase-verschuivingstoetsing) of de gelijkwaardige grote omvang. Omdat deze bits met zekerheid bekend zijn, dienen ze als ankerpunten die de iteratieve decoder helpen onzekerheden in andere bits op te lossen.
Een belangrijk voordeel van het inkorten is dat het geen wijziging van de pariteit-check matrix of het decoderen algoritme vereist. De code structuur blijft intact, maar de code rate wordt effectief verlaagd. In tegenstelling tot het doordrukken, die wissingen introduceert die moeten worden opgelost, voegt verkorting perfecte informatie toe. Als gevolg daarvan, prestaties verbeteringen zijn over het algemeen soepeler dan die bereikt door het verlagen van de snelheid via andere methoden (zoals het gebruik van een lagere-rate moedercode direct).
Handel en interacties met Puncture
Shortening en puncturen worden vaak gecombineerd om fijnkorrelige tarief adaptiviteit te bereiken. Bijvoorbeeld, een systeem kan een moedercode met snelheid 1/2 gebruiken, dan het toepassen van puncturen om de snelheid te verhogen naar 2/3 of 3/4 en tegelijkertijd toepassen verkorting om de snelheid te verlagen naar 1/3 of 1/4. Deze dubbele benadering maakt het mogelijk een enkele decoder om een breed scala van tarieven te dekken. Echter, de combinatie moet zorgvuldig worden ontworpen: als veel bits zijn zowel ingekort en doorboord (die zou worden overbodig), prestaties kunnen lijden. Typisch, systemen ofwel kort informatie bits om de snelheid of punctie pariteit bits om de snelheid te verhogen, maar niet beide op dezelfde bits.
Een gemeenschappelijk scenario waarbij beide technieken worden gebruikt is in incrementele redundantie (IR) hybride automatische repeat verzoek (HARQ). Aanvankelijk, een hoog-snelheid gepunctied codewoord wordt verzonden. Als decodering mislukt, extra pariteit bits (die eerder werden gepunctied) worden verzonden in daaropvolgende ›› dit is in wezen een IR-schema gebaseerd op puncturen. Shorting kan worden gebruikt om de effectieve snelheid te verminderen als de oorspronkelijke moedercode is te hoog voor het kanaal.
Vergelijking van Puncture en Shortening
| Aspect | Puncturing | Shortening |
|---|---|---|
| Effect on code rate | Increases rate (less redundancy) | Decreases rate (more redundancy) |
| Bits removed/not transmitted | Parity (or systematic) bits are omitted | Information bits are set to known value and omitted |
| State at decoder | Punctured bits are erasures (LLR=0) | Shortened bits have perfect LLR (large magnitude) |
| Performance trade-off | Higher rate → less error correction; may need more iterations | Lower rate → stronger error correction; increased overhead |
| Complexity | Same decoder graph; increased iterations possible | Same decoder graph; no extra iterations needed |
| Design challenge | Puncturing pattern must be optimized to avoid error floor | Minimal design effort; works well for small shortening amounts |
| Common use | Adaptive rate increase, ARQ, rate-compatible families | Fine rate reduction, code shortening for specific block sizes |
Toepassingen in moderne normen
Zowel het puncteren als het inkorten worden ingezet in belangrijke communicatiestandaarden. In DVB-S2 en de uitbreiding DVB-S2X, worden LDPC-codes van snelheid 1/4 tot 9/10 ondersteund. Deze zijn afgeleid van een gemeenschappelijke reeks moedercodes met behulp van puncctuur en verkorting. De standaard definieert specifieke patronen om elk doelpercentage te bereiken, waardoor bijna optimale prestaties worden gegarandeerd. Ook 5G NR[] gebruikt LDPC-codes voor het datakanaal, met basisgrafieken (BG1 en BG2) ontworpen om tariefcompatibelheid te ondersteunen. Puncturing wordt gebruikt om de hoogste tarieven te bereiken, terwijl het inkorten (gekoppeld met herhaling) helpt de laagste percentages te bereiken. De 5G-standaard maakt ook gebruik van een . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
In Wi-Fi 802.11n/ac/ax zijn LDPC-codes facultatief, maar op grote schaal geïmplementeerd. De standaard definieert een reeks codesnelheden (1/2, 2/3, 3/4, 5/6) voor elke bloklengte. Deze tarieven worden bereikt door te beginnen met een tarief-1/2 moedercode en door het verkrijgen van hogere tarieven, of door het inkorten van lagere tarieven (hoewel in dit verband minder gebruikelijk is). De IEEE 802.11 werkgroep publiceerde prestatiebeoordelingen die het gebruik van doorprikte LDPC-codes valideren voor hoogdoorvoerscenario's.
Deep-space missies, zoals die van NASA met behulp van de CCSDS-standaard, zijn ook afhankelijk van LDPC codes met het doorboren en inkorten van telemetrie en commando links. De mogelijkheid om de codesnelheid aan te passen zonder de hardware decoder te wijzigen is van onschatbare waarde voor langdurige missies waar kanaalomstandigheden onvoorspelbaar zijn.
Prestatiemetrics en optimalisatie
Bij het ontwerpen van een tarief-compatibel systeem met behulp van puncturen en verkorting, evalueren ingenieurs bit foutenpercentage (BER) en frame foutenpercentage (FER) als functies van signaal-to-noise ratio (SNR). Het doel is om de Shannon limiet voor elk effectief tarief te benaderen. Punctureren introduceert meestal een kleine boete in vergelijking met een speciale moedercode van hetzelfde tarief, maar de straf kan worden geminimaliseerd door een zorgvuldig patroon ontwerp. Shortening, omdat het voegt bekende bits, vaak zeer dicht bij een natuurlijke lage-snelheidscode van dezelfde dimensie.
Een andere belangrijke metriek is de error vloer de regio op hoge SNR waar het foutenpercentage vlakt als gevolg van vallen sets of kleine cycli in de Tanner grafiek. Punctureren kan de foutvloer verhogen als slecht ontworpen, vooral voor LDPC codes met matige bloklengtes. Verkorting, daarentegen, zelden introduceert nieuwe vangsets omdat het alleen vermindert het aantal informatie bits zonder wijziging van de grafiek topologie.
Onderzoekers hebben vele algoritmen voorgesteld voor het gezamenlijk optimaliseren van de leespatronen, waaronder dichtheidsevolutie, extrinsieke informatieoverdracht (EXIT) grafieken en genetische algoritmen. Bijvoorbeeld, het werk van Ha, Kim en McLaughlin ("Rate-compatibele gepuncteerde laag-densiteitsparity-check-codes met korte bloklengtes", IEEE transacties op informatietheorie, 2004) biedt een fundamenteel kader voor het ontwerpen van goede leespatronen. Evenzo, voor het inkorten, kan het effect op de decoderextrinsieke berichten worden geanalyseerd met behulp van dichtheidsevolutie om geen achteruitgang te garanderen.
Conclusie
Puncture en verkorting zijn essentiële hulpmiddelen voor het aanpassen van de codesnelheid van LDPC-codes zonder dat er meerdere verschillende encoder- en decoderimplementaties nodig zijn. Punctureren verhoogt de effectieve snelheid door bits weg te laten, ze om te zetten in wissens aan de decoder, terwijl het verkorten vermindert de snelheid door informatie bits vast te stellen aan bekende waarden en ze niet door te geven. Beide methoden behouden de kernstructuur van de LDPC-matrix, waardoor flexibele tariefcompatibiliteit voor adaptieve communicatiesystemen mogelijk is. Moderne normen zoals DVB-S2, 5G NR en Wi-Fi zijn afhankelijk van deze technieken om robuuste prestaties te bieden in een breed scala aan kanaalomstandigheden. Met voortdurende vooruitgang in patroonoptimalisatie en decoderontwerp blijven doorprikbare en verkorte LDPC-codes een levendig gebied van onderzoek en een praktische hoeksteen van digitale communicatie.