Table of Contents
Introduzione ai codici LDPC
I codici a bassa densità di controllo di qualità (LDPC) sono una classe di codici lineari di correzione degli errori che sono diventati un punto di riferimento dei moderni sistemi di comunicazione wireless. In primo luogo introdotto da Robert Gallager nella sua dissertazione del dottorato del 1960, i codici LDPC sono stati ampiamente trascurati fino alla loro riscoperta nella metà degli anni '90 quando i progressi nella decodifica iterativa li hanno resi pratici.
Considerazioni di progettazione per sensori wireless
La progettazione dei codici LDPC per i sensori wireless richiede il bilanciamento del consumo di energia, latenza, vincoli di memoria e le caratteristiche fisiche del canale di comunicazione.A differenza delle stazioni di base o dei dispositivi mobili, i nodi dei sensori hanno solitamente capacità di elaborazione limitate, piccole impronte di memoria e budget energetici rigorosi. La scelta della frequenza di codice, della lunghezza del blocco e dell'algoritmo di decodifica influenza direttamente questi parametri.
Condizioni del canale e selezione del tasso di codice
I sistemi di rilevamento wireless funzionano spesso in ambienti con interferenze significative, dissolvenza multipath e rapporti di segnale-to-noise variabili (SNR). Un tasso di codice fisso potrebbe non essere ottimale in tutte le condizioni.
Constraints hardware e scelte di attuazione
L'applicazione di LDPC decodifica puramente nel software può drenare la batteria rapidamente. I progettisti spesso optano per i codici LDPC strutturati che si prestano a efficienti implementazioni hardware, come i codici LDPC quasi-ciclic (QC) . Questi codici hanno la decodifica di numeri di parità di identità a turni ciclici.
Codice Tecniche di costruzione
La costruzione dei codici LDPC può essere classificata in modo generale in metodi casuali, strutturati e basati su protografi, e ogni approccio offre diversi trade-off tra prestazioni, complessità e cordialità hardware.
Costruzione casuale
I codici LDPC casuali sono costruiti utilizzando algoritmi che generano una matrice di controllo di parità con un peso della colonna predeterminato e distribuzione del peso della riga. Il metodo di costruzione casuale più comune è l'algoritmo progressivo della crescita del bordo (PEG), che aggiunge bordi uno alla volta per massimizzare la circonferenza del grafico Tanner, evitando così cicli brevi che degradano le prestazioni iterative decodificando.
Costruzione strutturata
I codici LDPC strutturati, in particolare i codici LDPC (QC) sono preferiti per i sensori wireless a bassa potenza perché consentono la rappresentazione compatta e la codifica e la decodifica a bassa complessità. I codici QC-LDPC sono definiti da una matrice base rada dove ogni voce è una matrice permutazione ciclica (Nut matrix) di dimensioni Z × Z. Il codice risultante ha una struttura periodica che semplifica
Codici basati su protografi
I codici LDPC basati su protografo estendono l’idea di codici strutturati utilizzando un piccolo grafico bipartito (il protografo) che viene ampliato tramite un’operazione “copia e permuta” per produrre un codice più ampio. Il protografo definisce il modello di connettività plesso tra nodi variabili e nodi di controllo, e il suo sollevamento (espansione) produce un codice con struttura predeterminata.
Algoritmi di decodifica per Basso Potere
Esistono due classi principali di algoritmi di decodifica iterativa: la propagazione delle credenze (BP) e le sue varianti semplificate. Per i sensori a bassa potenza, la scelta non riguarda solo le prestazioni ma anche il numero di operazioni per iterazione e i modelli di accesso alla memoria.
Propagazione del seno (Algoritmo di Sum-Product)
L'algoritmo BP completo, noto anche come algoritmo di somma-prodotto, calcola le probabilità di posterior marginali e raggiunge le migliori prestazioni di correzione degli errori. Tuttavia, richiede molte moltiplicazioni e calcoli logaritmici, che sono costosi in termini di potenza per un processore di fascia bassa. In hardware, l'algoritmo BP richiede una memoria aritmetica ad alta precisione e grande per memorizzare i messaggi.
Min-Sum e le sue varietà
L'algoritmo di calcolo semplifica l'aggiornamento del nodo di controllo BP sostituendo la somma di tangenti iperbolici con un funzionamento minimo. Questo riduce drasticamente la complessità computazionale—multiplicazioni sono sostituite da confronti—e può essere implementato con aritmetica a bassa precisione. La perdita di algoritmo di prestazione rispetto a BP è tipicamente 0.1–0.3 dB, che è accettabile per molte applicazioni di scalabilità memorizzate.
Per i sensori a bassa potenza, anche l'algoritmo di minimo consumo può essere troppo esigente. I progetti Decoder spesso impiegano criteri di risoluzione anticipati, come ad esempio fermarsi quando un certo numero di controlli di parità sono soddisfatti o quando un controllo della sindrome passa, per interrompere il processo iterativo precoce quando la decodifica è riuscita.
Ricodizioni e approcci alternativi
La disacco stratificato, noto anche come decodifica a smussato, serializza l'aggiornamento dei nodi variabili o dei nodi di controllo per accelerare la convergenza. In una tipica implementazione a strati, il decoder elabora una riga (o uno strato) della matrice di controllo paritario alla volta, aggiornando i nodi variabili associati immediatamente.
Un'altra direzione promettente è la decodifica stocastica, che utilizza la rappresentazione bit-stream dei messaggi e funziona su probabilità utilizzando semplici operazioni binarie. I decodificatori LDPC stocastici hanno una complessità estremamente bassa e sono naturalmente robusti per elaborare variazioni, rendendoli attraenti per le implementazioni CMOS sub-micron. Tuttavia, le loro prestazioni possono soffrire di fluttuazioni casuali a meno che non combinate con tecniche come l'inie o l'e marginalizzazione.
Trade-off e Ottimizzazione
Ottimizzare un codice LDPC per un sensore wireless comporta la navigazione di uno spazio di progettazione multidimensionale.
- Pavimento di errore contro la regione cascata:[] Codici con piani di errore inferiori (errori residui irrefusibili ad alto SNR) spesso richiedono lunghezze di blocco più lunghe o più iterazioni di decodifica, aumentando la potenza.Per molte applicazioni di sensori, un piano di errore moderato è accettabile se la regione della cascata è abbastanza ripida da operare al SNR di destinazione.
- Lunghezza del codice vs. latenza:[[] I codici più brevi riducono i requisiti di memoria e decodificano la latenza ma hanno una correzione di errore più debole. Nei flussi di dati del sensore in tempo reale, i vincoli di latenza possono forzare l'uso di cornici più brevi, che a sua volta richiedono codici più forti o una migliore stima del canale.
- Il parallelismo di Hardware contro la potenza:[] Un decoder completamente parallelo può raggiungere un elevato rendimento ma occupa una grande area di chip e consuma la potenza di picco. Per i sensori a batteria, un decoder seriale o semi-parallelo che riutilizza le unità di calcolo su più cicli di clock è più appropriato, anche se riduce il throughput.
- Precisione di quantization:[] Come accennato, meno bit riducono la memoria e la complessità dei comparatori, ma possono introdurre una penalità di prestazione. Ottimizzare la larghezza di bit per i messaggi interni e la rappresentazione dei valori intrinseci dei canali (ad esempio, rapporti di probabilità di log) è un passo critico nella fase di progettazione.
Gli strumenti di progettazione automatizzati che iterano su parametri di codice, schemi di quantizzazione e architetture decoder possono aiutare a trovare il trade-off ottimale per una determinata piattaforma di sensori. Ad esempio, un loop di ottimizzazione tipico potrebbe iniziare con una lunghezza di blocco di destinazione (ad esempio, 1024 bit) e la velocità di codice (ad esempio, 1/2), quindi simulare il decoder di minimo sotto varie quantizzazioni e soglie di risoluzione anticipate per misurare l'energia per frame decodificato con successo.
Le direzioni future
Lo sviluppo dei codici LDPC per sensori wireless a bassa potenza continua ad evolversi, mentre diversi ambiti di ricerca emergenti promettono di ridurre ulteriormente i consumi di energia mantenendo alta affidabilità.
Codici Adattativi e Riconfigurabili
Le reti di sensori futuri possono impiegare codici che cambiano dinamicamente la matrice di controllo di parità, la velocità di codice o il programma di decodifica in risposta alle condizioni di canale o al livello della batteria. Ad esempio, un sensore con una batteria completa potrebbe utilizzare un codice forte con più iterazioni, mentre un sensore in modalità risparmio energetico passa a un decoder più semplice e veloce.
Imparare la macchina – Decodifica
Recenti studi si applicano a un apprendimento approfondito per migliorare la decodifica iterativa, sia sostituendo alcune parti del decoder con reti apprese o ottimizzando il programma di messaggio-passing. I decodificatori BP neurali possono essere addestrati per raggiungere prestazioni vicine alla piena BP con complessità di minimo consumo. Tuttavia, l'implementazione di reti neurali sui nodi dei sensori rimane impegnativo a causa di limitazioni di memoria e di calcolo.
Integrazione con l'introduzione di energia e l'IoT
I sensori wireless diventano sempre parte di Internet of Things (IoT), spesso si affidano alla raccolta di energia da fonti ambientali. L’alimentazione intermittente e variabile richiede che il sottosistema di comunicazione, compreso il decoder LDPC, possa operare su una vasta gamma di budget energetici.
Codici LDPC non-Binary
I codici LDPC non-binari operano nei campi Galois di ordine superiore (ad esempio, GF(4), GF(8) o GF(16)) e offrono migliori prestazioni di correzione degli errori per lunghezze di blocco brevi rispetto ai codici LDPC binari.
Conclusioni
I codici LDPC sono uno strumento potente per raggiungere un'elevata affidabilità dei dati nelle reti di sensori wireless a bassa potenza. Selezionando attentamente il metodo di costruzione del codice, decodificando l'algoritmo e l'architettura hardware, i progettisti possono soddisfare i requisiti di potenza e prestazioni stringenti dei nodi dei sensori.