I codici di parità di densità (LDPC) sono diventati un elemento fondamentale dei moderni sistemi di comunicazione digitale, consentendo una trasmissione affidabile dei dati vicino al limite di Shannon.

Fondamenti dei codici LDPC

[LTT] [[FLT]] [[[FLT]]] [[[LT]]]] [[FLT]]]] [[FLT]]] [[[[FLT]]]] [[[[FLT]]]]] [[[FLT]]]]]] [[[[[FLT]]]]]]]]] [[[[FLT]]]]]]]]]]]]]]]]]]]] [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[FLT]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]

Il tasso di calcolo R] è dato da n]m]]] / ]n]] per una matrice a pieno titolo, che rappresenta la frazione di una parola di codice che trasporta informazioni originali.

Perché Regolare i tassi di codice?

I canali di comunicazione variano nel tempo a causa di dissolvenza, interferenza e rumore. Un unico codice non può servire in modo ottimale tutte le condizioni: in buone condizioni, un alto tasso massimizza la produttività dei dati; in condizioni povere, una bassa velocità garantisce una ricezione affidabile. I sistemi di codifica e modulazione adattiva (ACM) hanno quindi bisogno di codici compatibili con il tasso.

La tecnica di puntura

La puntualizzazione è un metodo per aumentare il tasso di codice efficace rimuovendo selettivamente (non trasmettendo) alcuni bit di una parola di codice dopo la codifica. In genere, un codice madre ad alta velocità viene generato prima usando una matrice LDPC; poi un sottoinsieme dei bit di parità (o a volte bit sistematici) viene recuperato prima della trasmissione.

[FLT:] non fornisce alcun codice di controllo relativo [FLT:] [FLT]] e ] ] i bit di informazione (risparmio k/n), puntualizzando ] i risultati

Punttura modelli e considerazioni di progettazione

Le prestazioni di un codice LDPC perforato dipendono fortemente da quali bit sono perforati. La puntura casuale può degradare le prestazioni perché può rompere la struttura del codice, soprattutto per le lunghezze di blocco brevi.

  • Punto di puntura regolare:[] Rimuovere i bit secondo un modello periodico fisso.
  • Punto-basso-basso punteggiatura:[] Priorizzare la punttura dei nodi variabili con il peso della colonna inferiore (connessioni di cassa per i nodi di controllo) perché contribuiscono meno alla decodifica.
  • Cerca-consapevole punturing:[] Progettare il modello in modo che i nodi perforati possano essere recuperati rapidamente—tipicamente assicurando che ogni nodo perforato sia collegato ad almeno un nodo di controllo i cui altri vicini sono tutti trasmessi (cioè un “nodo di controllo della copertura”).

Un concetto importante è il albero di recupero[]: dopo un certo numero di iterazioni di decodifica, la LLR di un nodo variabile perforato può diventare non zero a causa di informazioni estrinseche dai nodi di controllo.

Impatto sulla complessità di decodifica

La punttura non aumenta la complessità di decodifica per iterazione perché lo stesso numero di nodi variabili e di controllo sono presenti nel grafico Tanner. Tuttavia, il numero di iterazioni richieste per la convergenza può aumentare a causa delle cancellazioni iniziali. Inoltre, il decoder deve conoscere il modello di punttura per inizializzare adeguatamente le LLR.

La tecnica di accorciamento

Il raddrizzamento viene utilizzato per diminuire[] la frequenza di codice efficace, rendendo il codice più robusto. In breve, alcuni dei bit di informazione sono impostati a un valore noto (tipicamente zero) prima di codificare, e quei bit non vengono trasmessi.

[LT] [[FLT]]] [[FLT]]]] [[LT]]]] [[FLT]]]]]] [[FLT]]]]]] [[[FLT]]]] [[[[[[FLT]]]]]]]]]]] [[[[[[[FLT]]]]]]]]]]]] [[[[[[[[[[[[[FLT]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[

Attuazione e performance

L'encoder imposta semplicemente le posizioni a bit prescelte a zero (o qualsiasi valore conosciuto) e poi codifica come al solito. Al decoder, le LLR per quei nodi variabili sono impostate a +∞ (per uno zero conosciuto in chiave binaria a turni di fase) o l'equivalente grande magnitudo. Poiché questi bit sono noti con certezza, servono come punti di ancoraggio che aiutano le risoluzioni iterative.

Un vantaggio fondamentale di abbreviare è che non richiede alcuna modifica della matrice di controllo di parità o dell'algoritmo di decodifica. La struttura del codice rimane intatta, ma il tasso di codice è effettivamente abbassato. A differenza della puntura, che introduce le cancellazioni che devono essere risolte, accorciando aggiunge informazioni perfette. Di conseguenza, i miglioramenti delle prestazioni sono generalmente più lisci di quelli raggiunti abbassando il tasso tramite altri metodi (come ad esempio utilizzando un codice madre a più basso tasso direttamente).

Trade-Offs e Interazioni con Punttura

Per esempio, un sistema può usare un codice madre con tasso 1/2, quindi applicare punttura per aumentare la velocità verso 2/3 o 3/4, e contemporaneamente applicare accorciamento per abbassare il tasso verso 1/3 o 1/4. Questo approccio duale permette un singolo decoder per coprire un'ampia gamma di tassi. Tuttavia, la combinazione deve essere progettata con attenzione: se molti bit sono abbreviati entrambe le informazioni.

Uno scenario comune in cui entrambe le tecniche sono utilizzate è in richiesta automatica di ripetizione automatica ibrida (IR) ridondanza incrementale (HARQ). Inizialmente viene inviata una parola di codice perforata ad alta velocità. Se la decodifica non riesce, i bit di parità aggiuntivi (che erano stati precedentemente perforati) vengono trasmessi in successive ritrasmissioni, questo è essenzialmente uno schema IR basato sulla punttura.

Confronto tra punttura e accorciamento

AspectPuncturingShortening
Effect on code rateIncreases rate (less redundancy)Decreases rate (more redundancy)
Bits removed/not transmittedParity (or systematic) bits are omittedInformation bits are set to known value and omitted
State at decoderPunctured bits are erasures (LLR=0)Shortened bits have perfect LLR (large magnitude)
Performance trade-offHigher rate → less error correction; may need more iterationsLower rate → stronger error correction; increased overhead
ComplexitySame decoder graph; increased iterations possibleSame decoder graph; no extra iterations needed
Design challengePuncturing pattern must be optimized to avoid error floorMinimal design effort; works well for small shortening amounts
Common useAdaptive rate increase, ARQ, rate-compatible familiesFine rate reduction, code shortening for specific block sizes

Applicazioni in Standard moderni

In DVB-S2] e la sua estensione DVB-S2X, LDPC codici di tasso 1/4 a 9/10 sono supportati. Questi sono derivati da un insieme comune di codici madre utilizzando puntualizzazione e accorciamento.

In Wi-Fi 802.11n/ac/ax, i codici LDPC sono facoltativi ma ampiamente implementati. Lo standard definisce un insieme di tassi di codice (1/2, 2/3, 3/4, 5/6) per ogni lunghezza del blocco. Questi tassi sono raggiunti a partire da un codice madre tasso-1/2 e punttura per ottenere tassi più elevati, o abbreviando i tassi comuni (anche se abbreviazione del contesto abbreviazione del abbreviazione del sistema di utilizzo).

Le missioni a livello di profondità, come quelle della NASA che utilizzano lo standard CCSDS, si affidano anche ai codici LDPC con punturing e accorciamento per la telemetria e i link di comando. La capacità di regolare la velocità di codice senza cambiare il decoder hardware è inestimabile per missioni a lungo termine in cui le condizioni dei canali sono imprevedibili.

Performance Metrics e Ottimizzazione

Quando si progetta un sistema compatibile con la velocità con punture e accorciamenti, gli ingegneri valutano il tasso di errore bit (BER) e il tasso di errore frame (FER) come funzioni del rapporto segnale-rumore (SNR). L'obiettivo è quello di avvicinarsi al limite di Shannon per ogni tasso efficace.

Un altro importante metrico è il ]piano del cerchio[] – la regione ad alto SNR dove il tasso di errore si appiattisce a causa di set di trapping o piccoli cicli nel grafico Tanner. La puntura può elevare il piano di errore se poco progettato, soprattutto per i codici LDPC con lunghezze del blocco moderate.

I ricercatori hanno proposto molti algoritmi per ottimizzare congiuntamente i modelli di punturing, tra cui l'evoluzione della densità, i grafici di trasferimento di informazioni estrinseche (EXIT) e gli algoritmi genetici. Ad esempio, il lavoro di Ha, Kim e McLaughlin ("Rate-Compatible Punctured Low-Density Parity-Check Codes With Short Block Longs degrading, I modelli di decongelation 2004, I.

Conclusioni

La punttura e il accorciamento sono strumenti essenziali per regolare la velocità di codice dei codici LDPC senza richiedere più implementazioni di codifica e decoder. La puntura aumenta il tasso efficace omettendo i bit, trasformandoli in cancellazioni al decoder, riducendo al contempo il tasso di accorciamento, fissando bit di informazioni ai valori conosciuti e non trasmettendoli. Entrambi i metodi conservano la struttura principale della matrice LDPC, consentendo la compatibilità di frequenza flessibile