Table of Contents
I codici di controllo affidabili dei dati sono critici, ma i codici tradizionali di correzione degli errori Lstra possono consumare energia significativa, riducendo la longevità dei dispositivi.
Comprensione dei codici LDPC
I codici LDPC furono scoperti per la prima volta da Robert Gallager nel 1963, ma il loro significato pratico emerse decenni dopo con progressi nella potenza di calcolo e algoritmi di decodifica iterativa. Questi codici sono definiti da una matrice di controllo di parità radi [H]], dove il numero di voci non zero è piccolo rispetto alle dimensioni della matrice.
Il processo di decodifica opera su un grafico bipartito (Tanner grafico) costituito da nodi variabili (rappresentando bit codificati) e nodi di controllo (rappresentando equazioni di controllo parity-check). I messaggi vengono scambiati lungo i bordi, raffinando in modo iterativo le stime delle applicazioni di ogni bit. Poiché il grafico è rado, ogni nodo è collegato a solo pochi altri, mantenendo la complessità computazionale bassa.
Rispetto ad altri codici di correzione degli errori come i codici Turbo, i codici LDPC possono ottenere prestazioni comparabili o superiori con una latenza e l'energia di decodifica più bassi per bit. Sono ampiamente adottati in standard moderni come Wi-Fi (802.11n/ac/ax), DVB-S2, e 5G NR, ma queste implementazioni sono ottimizzate per l'alto rendimento, non necessariamente per la potenza ultra-bassa.
Vantaggi chiave per sistemi a bassa potenza
- Efficienza di decodifica isterativa:[] La decodifica può arrestarsi dopo un numero fisso di iterazioni o quando si rileva la convergenza, consentendo un funzionamento ad alta efficienza energetica.
- Parallelizzazione:[ La struttura a grafi radi consente la lavorazione parallela, riducendo la latenza e consentendo la progettazione di circuiti a bassa tensione.
- Norme di codice flessibile:[ I codici LDPC possono essere progettati a tassi arbitrari, corrispondenti alle condizioni del canale e ai vincoli energetici dell'applicazione.
Principi di progettazione per codici LDPC a bassa potenza
La progettazione dei codici LDPC per dispositivi con resistenza all'energia comporta il bilanciamento della capacità di correzione degli errori, la decodifica della complessità e dei requisiti di memoria.
Disegno di matrici e bassa densità
Il principio fondamentale è quello di mantenere la matrice di controllo paritario il più possibile radiante. Le voci meno non zero riducono il numero di operazioni per la decodifica dell'iterazione. Per le reti di sensori, dove i pacchetti sono brevi (ad esempio, 100-500 bit), le dimensioni matrici sono modeste, ma la sparsità conta ancora.
Distribuzioni di laurea ottimizzate
La distribuzione di grado descrive quante connessioni ogni nodo variabile e nodo di controllo ha nel grafico Tanner. Per la decodifica a bassa potenza, una distribuzione di grado ben ottimizzata minimizza il numero di iterazioni necessarie per raggiungere un tasso di errore di destinazione. In genere, nodi variabili con livelli leggermente più elevati (ad esempio, 3 o 4) migliorano le prestazioni delle cascate, mentre i nodi di controllo con i livelli più bassi riducono il calcolo.
Codici strutturati per l'efficienza hardware
L'attuazione in microcontroller a bassa potenza, FPGAs o ASIC personalizzati beneficia della regolarità.
- Codici basati sul prototipo:[] Un piccolo grafico di base (protografo) viene copiato e ampliato utilizzando un fattore di sollevamento. Questo produce grandi codici con struttura prevedibile, consentendo la lavorazione parallela e l'impronta ridotta della memoria. I protografi possono essere progettati per lunghezze di blocchi brevi (ad esempio, 128 bit) tipiche nelle reti dei sensori.
- Quadsi-Cyclic LDPC (QC-LDPC) Codici: La matrice di controllo di parità è composta da submatrice circolante (cambiamenti ciclici delle matrici di identità), che consente la decodifica utilizzando semplici registri a turni, che consumano molto meno potenza della moltiplicazione completa di matrice hardware.
Compatibilità di Adaptive Coding e Tasso
Le condizioni del canale del dispositivo variano con la mobilità, l'interferenza e la distanza. La codifica adattativa regola la velocità del codice e la lunghezza dinamicamente per mantenere l'affidabilità mentre si conserva l'energia. I codici LDPC compatibili con il tasso estendono un codice madre puntuale, puntualizzando o abbreviando i bit.
Strategie di attuazione per dispositivi con contenimento dell'energia
Trasferirsi dalla progettazione teorica alla pratica richiede un'attenta attenzione all'implementazione hardware e software, le seguenti strategie aiutano a raggiungere la codifica LDPC a bassa potenza nei sistemi reali.
Ottimizzazione hardware per Decoders
Progettazione digitale ASIC e personalizzata
Per i dispositivi indossabili ad alto volume come smartwatch o fitness tracker, un circuito integrato specifico per applicazioni (ASIC) su misura per la decodifica LDPC può raggiungere l'energia più bassa per bit.
- Min-Sum Algorithm:[] Approssimando le equazioni di aggiornamento di propagazione della credenza con operazioni di minimo-sum più semplici riduce la complessità computazionale ed elimina la necessità di tabelle di ricerca.
- Decodifica a strati:[ File di elaborazione (nodi di controllo) sequenziali e l'aggiornamento delle credenze variabili di nodo riduce immediatamente l'accesso alla memoria e la convergenza delle velocità.
- Gated Clocking and Power Gating:[] Spegnere blocchi decoder non utilizzati durante i periodi di quiescenza. Per trasmissioni intermittenti (comune nelle reti dei sensori), il decoder dorme tra i pacchetti.
- Operazione bassa-volta:[] I circuiti decoder possono essere sintetizzati per una tensione di prossimità (0.4-0.6V) per ridurre drasticamente la potenza dinamica. La sparsità dei codici LDPC li rende tolleranti agli errori di temporizzazione occasionali, aprendo opportunità per lo scaling aggressivo della tensione.
FPGA e implementazioni finanziate dal software
Per i prodotti prototipanti o di medio volume, FPGAs offrono flessibilità. I moderni FPGA a bassa potenza (ad esempio, Lattice iCE40, Microchip PolarFire) possono implementare un decoder con poche migliaia di LUT. I decoder software-definiti che funzionano su un principale microcontrollore (ad esempio, ARM Cortex-M4 con estensioni DSP) sono anche utilizzabili per i tassi di dati bassi (e pagg.
Protocolli di comunicazione con l'energia
La codifica LDPC deve essere integrata con lo strato di controllo dell'accesso ai media (MAC) e il ciclismo su dovere per massimizzare la durata della batteria.
- Duty Cycling with Coding:[] Il transceiver e decoder funzionano solo durante la ricezione dei pacchetti. Ad esempio, in un ciclo di dovere dell'1%, il decoder potrebbe essere attivo per 10 ms ogni secondo, consumando circa 1/100th della potenza del funzionamento continuo.
- Ottimizzazione delle dimensioni del pattino:[[] I pacchetti più brevi riducono il tempo di decodifica ma possono degradare il guadagno di codifica. Utilizzando una lunghezza del blocco che corrisponde alla lunghezza del pacchetto evita l'imbottitura, che spreca energia.
- Stima di canale per la codifica adattiva:[ Il ricevitore può stimare il rapporto segnale-rumore (SNR) e richiedere la tariffa di codice appropriata. Utilizzando un codice a bassa velocità (ad esempio, 1/2) in condizioni povere e passando a 2/3 in buone condizioni, risparmia il 33% di energia di decodifica in media.
Codice Lunghezza Selezione
I codici LDPC più lunghi forniscono una migliore correzione degli errori, ma aumentano anche latenza, i requisiti di memoria e la decodifica dell'energia. Per le reti di sensori dove le dimensioni dei pacchetti sono piccole (ad esempio, 200-500 bit), i codici con lunghezza del blocco ]n] = 200–1000 bit offrono un buon trade-off.
Metodologie di simulazione e test
Prima dell'implementazione, le simulazioni complete devono convalidare le prestazioni del codice in modelli realistici di canale (ad esempio, Rayleigh sbiadisce per i wearables che si muovono vicino al corpo, o l'ombra normale del log per i sensori interni).
- Tasso di errore della cornice (FER) vs. SNR
- Numero medio di iterazioni di decodifica
- Energia per bit trasmesso con successo
Strumenti come MATLAB (Communications Toolbox) o il framework open source [AFF3CT[]] consentono una rapida prototipazione.
Applicazioni in reti di sensori e indossabili
I codici LDPC a bassa potenza consentono una comunicazione affidabile in scenari diversi, dove l'energia è il fattore limitante.
Apparecchiature mediche
I monitor di glucosio continuo, le patch ECG e gli apparecchi acustici intelligenti richiedono lo streaming ininterrotto di dati a un hub (ad esempio, smartphone). Un pacchetto perso potrebbe mancare un evento critico. I codici LDPC con lunghezza del blocco 256 e velocità 2/3 possono raggiungere i tassi di errore del pacchetto inferiori a 10−5 a 0,5 dB SNR, mentre consumano meno di 50 μW nel decoder.
Sensamento ambientale
Le reti di sensori wireless per l'umidità del suolo, la qualità dell'aria o il monitoraggio della fauna selvatica spesso usano transceivers sub-GHz (ad esempio, LoRa, 802.15.4). Questi operano a bassissimi tassi di dati (0.3–50 kbps), dove l'energia decodifica può dominare la potenza di ricezione.
Monitoraggio strutturale e industriale
In fabbriche o ponti, i sensori spesso operano su batterie a celle a moneta per anni. Qui, l'affidabilità è fondamentale per evitare costosi falsi allarmi o avvisi mancati. I codici LDPC con decodifica iterativa possono correggere gli errori di scoppio causati da interferenze elettromagnetiche da macchinari. I codici QC-LDPC strutturati consentono al decoder di essere implementati in una piccola FPGA che si trova accanto al sensore, consumando meno di 1 mW in modalità attiva.
Smart Home Dispositivi
I rilevatori di movimento, i sensori di porte/finestre e le serrature intelligenti trasmettono solitamente dei brevi scoppi. I codici LDPC a bassa potenza consentono a questi dispositivi di utilizzare la stessa radio per messaggi normali e critici senza richiedere un sistema di correzione di errore in avanti ad alta potenza. Ad esempio, una serratura della porta potrebbe inviare un rapporto di stato ogni ora con un codice a 128 bit breve, ma un avviso di intrusione utilizza un codice a 512 bit più lungo con una ridondanza più bassa—entrambiabile da hardware.
Sfide e direzioni future
Nonostante i vantaggi, l'implementazione dei codici LDPC nei dispositivi ultra-bassa potenza affronta diversi ostacoli.
Decoder Complexity e memoria
Per un codice di lunghezza 200, utilizzando la quantizzazione a 5 bit, questo richiede 1000 bit di memoria on-chip, una overhead gestibile. Tuttavia, i codici più lunghi o una maggiore precisione possono deformare il SRAM limitato in microcontrollori a basso costo. Tecniche come il consumo di minimo con la perdita di offset e di 3 bit possono ridurre la memoria di dRAM a basso costo.
Precedenti Stopping e Convergenza
Determinare quando smettere di decodifica è fondamentale. I iterazioni riparate (ad esempio, 10) possono sprecare energia se la convergenza accade prima, o non riescono se necessario di più. I sistemi dinamici basati sulla soddisfazione di controllo di parità (il peso della sindrome di controllo di CRC o del peso della sindrome) possono arrestarsi presto. Ma questi aggiungono la logica. Un approccio promettente è quello di utilizzare un predittore di apprendimento automatico addestrato sul canale SNR e decoder stato per stimare il risparmio energetico per stimare il conteggio ottimale di calcolo di quantità, per stimare un piccolo risparmio di calcolo di iterazione, un numero di calcolo di calcolo di quantità, un significativo.
Integrazione con l'introduzione dell'energia
I codici LDPC possono essere progettati per essere [energy-scalable[]: quando l'energia è scarsa, il decoder corre meno iterazioni (riduzione delle prestazioni), ma quando l'energia eccedente è disponibile, si corre di più per migliorare l'affidabilità.
Standard in evoluzione
Gli standard emergenti come Bluetooth 5.2 e Thread stanno considerando una migliore correzione degli errori. L'introduzione di LDPC in 5G Nuova Radio per le comunicazioni a bassa latenza (ad esempio, URLLC) può ingannare verso i consumatori indossabili.
Conclusioni
La progettazione di codici LDPC per le reti di sensori e dispositivi indossabili richiede un approccio olistico che abbraccia la teoria dell'informazione, il design dei circuiti e la gestione dell'energia di livello di sistema.