I polar codes, o codici polari, sono il frutto del lavoro del professore turco Erdal Arikan e in poco tempo hanno introdotto nel campo della codifica dei canali radio una vera e propria rivoluzione. Il sistema di codifica infatti è il primo al mondo in grado di avvicinarsi alla soglia fissata dal limite di Shannon, cioè la velocità massima teorica a cui i dati possono essere inviati mantenendo un tasso di errore vicino a zero data una larghezza di banda, consentendo quindi di massimizzare la velocità di trasferimento dei dati senza sacrificare l'affidabilità della connessione.
Nel 2016 l'ente che definisce gli standard internazionali per le trasmissioni radio, il 3GPP, ha adottato il sistema di codici polari per il controllo dell'interfaccia 5G New Radio eMBB. Applicando i polar codes al controllo dell'interfaccia 5G si è scoperto che si ottiene una rete più veloce e soprattutto con una significativa riduzione del rumore, fattore che garantisce una maggiore affidabilità. I codici polari sono così riusciti a eclissare i codici turbo per la codifica dei canali: un passaggio di testimone che solo qualche anno fa era ritenuto impossibile.
Codifica dei canali: come funziona
I sistemi di codifica dei canali funzionano tutti con una tecnologia molto simile. I collegamenti radio per le telecomunicazioni sono soggetti a errori dovuti a rumori casuali ambientali, interferenze elettromagnetiche esterne o problemi di assetto/configurazione del dispositivo emittente o ricevente. Questi errori danneggiano il flusso originale dei dati che così giunge compromesso a chi lo riceve.
Per avanzare nel campo della codifica dei canali, i ricercatori dovranno sviluppare nuovi codici in grado di codificare il segnale mitigando al minimo gli effetti, sempre presenti, degli errori o del rumore. Un risultato finale che rappresenta una sfida soprattutto perché i codici e gli algoritmi devono avere una complessità comunque gestibile in tempo reale dall'attuale tecnologia. La complessità di un codice infatti ha un impatto sia sull'energia consumata dal sistema, sulla quantità di memoria di cui ha bisogno così come sulla potenza di calcolo necessaria per funzionare e sulla latenza che introduce, tutte cose che devono essere più piccole possibili.
I metodi di codifica dei canali si dividono in due classi di algoritmi: codici a blocchi e codici convoluzionali. I primi funzionano su un blocco di dati, di dimensione fissa e li manipolano sia nel trasmettitore che nel ricevitore. Un esempio di codici a blocco sono i codici Reed-Solomon, che ad esempio si impiegano comunemente nella comunicazione tra scheda madre e dischi rigidi nei computer. I codici convoluzionali invece lavorano su un flusso di dati, o bit, che è arbitrario, applicando un metodo di decodifica vantaggioso detto "a finestra scorrevole", come quello usato dall'algoritmo di Viterbi per le telecomunicazioni, sia radio che via satellite. Negli anni, sempre più ricercatori hanno provato a creare una concatenazione di questi due metodi di decodifica per sfruttare i vantaggi di entrambi, fino ad arrivare al codice RSV (Reed-Solomon-Viterbi) e ai più recenti codici turbo.
Codici turbo: come funzionano
I codici turbo sono stati i primi ad avvicinarsi al limite di Shannon mantenendo un livello di complessità relativamente moderato. Questi codici combinano due encoder di tipo convoluzionale, due decoder seriali e un interleaver, con un meccanismo di funzionamento che ricorda quello dei sistemi di scarico turbo delle automobili. I codici turbo infatti non richiedono una profonda conoscenza dei bit ricevuti, ma solo una misura probabilistica di ogni bit per essere decodificati correttamente e questo aumenta la quantità di dati trasmessa con successo nel sistema di canali.
La rivoluzione dei codici polari
I polar codes hanno riscritto il campo della codifica dei canali, abbandonando la tecnica della combinazione dei due metodi di decodifica, dato che si tratta di un codice a blocchi. L'approccio seguito dal loro inventore, il professore turco Erdal Arikan, è decisamente poco ortodosso e si basa sulle tecniche di elaborazione del segnale basate sulle Trasformate di Fourier Veloci, o FFT (Fast Fourier Transform). I codici polari sono quindi in grado di fare delle manipolazioni "intelligenti" dei dati, cioè dei bit, e di mappare i canali dell'encoder.
In sostanza, l'algoritmo dei codici polari converte un blocco di bit e i canali associati tra encoder e decoder in un flusso di "bit polarizzati" sul ricevitore. Il nome "polari" deriva proprio dal fatto che i bit in uscita possono essere associati a un canale "buono" o uno "cattivo" per la ricezione delle informazioni e che usando questa tipologia di codice, il flusso di informazioni inviato attraverso i canali "buoni" si avvicina di molto al teorico limite di Shannon.
Oltre ad ottenere una significativa riduzione degli errori, questa tecnica di codifica ha una complessità di implementazione che è significativamente inferiore rispetto a quella dei codici turbo, soprattutto nella fase di decodifica dei dati. Inoltre, i codici polari si sono rivelati i migliori per prestazioni nella correzione degli errori di un'ampia gamma di applicazioni, come appunto nel caso dello standard di connettività 5G.
5G, le prospettive per il futuro coi polar codes
Al momento i polar codes si sono rivelati degli ottimi sostituti nel controllo dell'interfaccia 5G NR eMBB, cioè della banda larga mobile avanzata, e sul canale di trasmissione fisico. Utilizzando i codici polari, si è ottenuta una notevole riduzione del rumore a parità di complessità di gestione dei dati e questo apre a una connessione 5G sempre più efficiente e veloce. L'impiego dei codici polari nel 5G NR eMBB è stato certificato dal 3GPP nel 2016, ma i prossimi passi riguardano gli altri standard di connessione 5G: le comunicazioni a bassa latenza ultra affidabili, o URLLC, e le comunicazioni massicce di tipo macchina, o MMTC.
Uno dei principali limiti dei codici polari, che non possono essere ancora incoronati come metodo di codifica universale, è la barriera della velocità di trasmissione dei dati: per mantenere alte le prestazioni di correzione degli errori e i vantaggi di una bassa complessità, è necessario tenere basse anche le velocità di trasmissione dei dati. Ad oggi le implementazioni di codici polari più avanzate lavorano a velocità di 5 Gbps, ma la connessione in banda larga mobile 5G arriverà a regime a toccare velocità di 20 Gbps, con i sistemi Beyond-5G progettati per funzionare a velocità di trasmissione dei dati dell'ordine dei Terabit al secondo (dove 1 Tbps equivale a 1000 Gbps). Il prossimo passo sarà quello di trovare il modo di implementare i codici polari anche su queste connessioni per poter soddisfare le velocità richieste, sfruttandone tutti i vantaggi.