16.8 Modulazione OFDM
La sigla sta per
Orthogonal Frequency Division Multiplex, ossia
multiplazione a divisione di frequenza ortogonale. Si tratta della tecnica di modulazione numerica
multiportante adottata per le trasmissioni
adsl,
dvb-t,
WiFi e per telefonia mobile; si contraddistingue per la particolarità di utilizzare in modo
ottimo la banda del canale, e di ricondurre l’operazione di equalizzazione ad un prodotto tra vettori.
16.8.1 Rappresentazione nel tempo ed in frequenza
La modulazione
ofdm suddivide una sequenza binaria su
N diversi flussi, trasmessi a divisione di frequenza mediante forme d’onda ortogonali. Concettualmente possiamo pensare l’
ofdm come una evoluzione della modulazione
fsk, in cui le diverse frequenze sono spaziate tra loro di
Δ Hz come descritto dall’espressione
con
n = 0, 1, ..., N − 1 e sono utilizzate contemporaneamente,
mentre su ognuna di esse si realizza una modulazione numerica a due o più livelli (es.
qpsk o
qam) con impulso
nrz rettangolare di durata
T.
Indicando con
akn = aknc + jakns le coordinate nel piano dell’inviluppo complesso di un generico punto della costellazione realizzata per la portante
fn all’istante
t = kT, il segnale
ofdm può essere scritto come
in cui la prima sommatoria (su
k) identifica gli istanti di simbolo, e la seconda (su
n) le diverse portanti. Tale segnale presenta un inviluppo complesso rispetto a
f0 pari a
L’espressione (
21.58) non vincola la durata
T di un simbolo ad un valore particolare; deve però risultare
T ≥ T0 = 1⁄Δ, in quanto il ricevitore opera sul segnale
xR(t) ottenuto per moltiplicazione con una finestra temporale di estensione
T0 = 1⁄Δ, allo scopo di
rendere ortogonali tra loro le frequenze
fn = f0 + Δ ⋅ (n − N⁄2), e mettere il ricevitore in grado di calcolare i valori
akn per tutti gli
n presenti all’istante
t = kT, mediante un ricevitore concettualmente simile a quello a correlazione presentato a pag.
1.
L’intervallo
T0 è detto
periodo principale del simbolo
ofdm, mentre la differenza
Tg = T − T0 è indicata come
tempo di guardia, od anche
preambolo, ed il segnale ricevuto durante
Tg non è usato in ricezione. Il motivo di tale “spreco” risiede nel fatto che, in presenza di un canale che introduce distorsione lineare, la parte iniziale di ogni
simbolo risulta corrotta (vedi figura a lato) da una interferenza intersimbolica
(
isi) dovuta al risultato della convoluzione tra la coda del simbolo precedente e l’
h(t) del canale. Consideriamo ora
un solo simbolo (fissiamo
k = 0 e consideriamo l’origine dei tempi ritardata di
Tg) ricevuto nell’intervallo
T0 = 1Δ ≤ T, con inviluppo complesso
e calcoliamone la trasformata per determinare l’occupazione di banda:
Otteniamo pertanto la costruzione grafica mostrata alla figura a lato, che evidenzia come ogni funzione
sinc sia moltiplicata per uno dei coefficienti
an, che potrebbero quindi essere ri-ottenuti in ricezione campionando (in modo complesso)
X(f) su frequenze spaziate di
Δ.
Per quanto riguarda la densità di potenza
PxR(f) dell’inviluppo complesso
xR(t) ricevuto e finestrato, consideriamo l’espressione (vedi §
7.3.1)
in cui
|XT0(f)|2 è la densità di energia di un simbolo
ofdm (eq.
(21.61)): la figura a lato ne mostra l’andamento (in scala lineare ed in dB) per un simbolo a 32 portanti, di cui 16 (esterne)
spente (vedi appresso), mentre per le 16 centrali si è posto
an = 1. Notiamo come si ottenga una densità spettrale di potenza
quasi rettangolare pur utilizzando simboli a durata finita.
Mostriamo ora come mettere in relazione la potenza ricevuta complessiva
PxR di
xR(t) e del suo inviluppo complesso
PxR
con la dinamica dei valori
an utilizzati per modulare le singole portanti: nel seguito ci riferiamo a costellazioni
l-qam, indicando con
Mn ed
Ln = 2Mn rispettivamente il numero di bit e di punti di costellazione per la portante n-esima, ad ognuna delle quali la
(21.58) attribuisce una potenza
Pn.
Per calcolare la
(21.63) mediante la
(21.62) utilizzando l’espressione di
XT0(f) fornita dalla
(21.61), osserviamo che le funzioni
sinc(fT0) che vi compaiono
sono ortogonali se spaziate per un multiplo di
Δ = 1T0, ovvero (vedi §
4.1.2) sussiste la condizione
∫∞−∞ sinc((f − nΔ)T0) sinc((f − mΔ)T0) df = ⎧⎨⎩ 0 se n ≠ m 1T0 se n = m
Pertanto, introducendo una insignificante traslazione di
f pari a
N2Δ, si ha
PxR = 1T ⌠⌡ E{|XT0(f)|2}df = = 1T ⌠⌡ T20 N− 1⎲⎳n = 0N− 1⎲⎳m = 0E{ana * m} sinc((f − Δn)T0) sinc((f − Δm)T0) df = = T20T N− 1⎲⎳n = 0E{a2n}⌠⌡ sinc2((f − Δn)T0)df = T20T N− 1⎲⎳n = 0E{a2n}1T0 = T0T N− 1⎲⎳n = 0σ2an
in quanto i termini
incrociati prodotti dalla doppia sommatoria si annullano.
Scegliendo il lato della costellazione
qam in modo opportuno, si può ottenere
σ2an = E{a2n} = 2 Pn, in cui
Pn è la potenza per la n-esima portante
qam; considerando infine (vedi eq.
(14.22) a pag.
1) che
PxR = P+xR + P−xR = 24 PxR = 12 PxR
possiamo scrivere
PxR = 12 T0T N− 1⎲⎳n = 02 Pn = T0T N− 1⎲⎳n = 0 Pn
in cui è evidenziata la perdita di potenza legata alla presenza del preambolo.
16.8.2 Architettura di modulazione
Una caratteristica fondamentale della modulazione
ofdm è quella di essere realizzata senza
oscillatori e integratori, ma attraverso l’uso della elaborazione numerica. Con riferimento alla figura
16.39 , il flusso binario a frequenza
fb viene
parallelizzato per formare simboli ad
L = 2M livelli a frequenza
fs = fb⁄M = fb⁄log2L.
Questi
M bit/simbolo sono suddivisi in
Ñ gruppi di
Mn (
n = 0, 1, ..., Ñ − 1) bit ciascuno, con
M = ∑Ñ− 1n = 0 Mn, e ad ogni gruppo di
Mn bit corrisponde un punto di costellazione
an, scelto tra
Ln = 2Mn punti possibili.
La sequenza
{an} viene poi
arricchita con
N − Ñ valori nulli (metà all’inizio e metà alla fine) ottenendo una nuova sequenza
{an} di
N valori, in modo che la sommatoria in (
21.61) dia luogo ad un inviluppo complesso praticamente limitato in banda (vedi figura) tra (circa)
± N2 ⋅ Δ Hz, che può essere pertanto rappresentato dai suoi campioni
xT0(hTc) presi a frequenza
fc = N ⋅ Δ campionisecondo. Il blocco indicato come FFT
− 1 ha esattamente il ruolo di valutare i campioni temporali di
xT0, calcolando
Il risultato della FFT
− 1 è quindi una sequenza di valori complessi
{xh}, che a meno di un segno alterno rappresentano i campioni dell’inviluppo complesso
xT0(t) espresso dalla (
21.60) relativamente ad un simbolo. Dopodiché, il preambolo da trasmettere durante il tempo di guardia
Tg è ottenuto
aggiungendo in testa a
{xh} un gruppo di campioni prelevati dalla coda.
Infine, le parti reale ed immaginaria di {xh} sono inviate ad una coppia di convertitori D/A operanti a fc = N + NgT = NT0 = NΔ in modo da ottenere le c.a. di b.f., utilizzate per produrre il segnale xOFDM(t) mediante una coppia di modulatori in fase e quadratura.
16.8.3 Efficienza dell’OFDM
Come vedremo al §
16.8.9, questa è una tra le tecniche di modulazione che meglio approssima i risultati della teoria dell’informazione, tanto più quanto maggiore è la sua efficienza. Quest’ultima si ottiene considerando che solo
Ñ portanti su
N trasportano informazione, e che solo
fc ⋅ T0 campioni su
fc ⋅ T sono unici; combinando queste quantità si ottiene
ρ = ÑN T0T = ÑN T − TgT = ÑN ⎛⎝1 − TgT⎞⎠
che misura la frazione di segnale utile rispetto all’occupazione di banda ed al numero di campioni/simbolo presenti in
xOFDM(t). La ridondanza
introdotta (le portanti vuote ed il preambolo) ha gli stessi scopi di quella introdotta dal roll-off
γ di un impulso a coseno rialzato, in quanto evita che si verifichino fenomeni di interferenza tra simboli, e realizza un segnale limitato in banda. Osserviamo che l’efficienza migliora all’aumentare di
T e di
N, dato che
Tg ed
N − Ñ sono fissi.
Esercizio Un flusso binario a velocità fb = 1 Mbps è trasmesso mediante modulazione OFDM con portante 1 GHz, caratterizzata da: Ñ = 464 portanti attive su N = 512 totali, Mn = 2 bit a portante, con modulazione qpsk, e Tg = 28 μsec di tempo di guardia.
Calcolare: 1) il numero di bit/simbolo M ed il corrispondente periodo di simbolo T e 2) la spaziatura tra portanti Δ = 1⁄T0 e la corrispondente occupazione di banda.
-
- M = Mn ⋅ Ñ = 2 ⋅ 464 = 928 bit/simbolo, e T = 1⁄fb ⋅ M = 10 − 6 ⋅ 928 = 928 μsec;
- T0 = T − Tg = 928 − 28 = 0.9 msec, dunque Δ = 1⁄T0 ≃ 1.11 KHz, e B = N ⋅ Δ = 512 ⋅ 1.11 ⋅103 ≃ 568 KHz.
16.8.4 Architettura di demodulazione
Per ottenere gli elementi della sequenza
{an} e quindi il gruppo di
M bit che hanno originato il simbolo si adotta l’architettura mostrata in figura
16.41, che svolge una azione del tutto inversa a quella del modulatore.
Innanzitutto il ricevitore deve acquisire il sincronismo di frequenza (vedi §
16.8.11), in modo che il segnale ricevuto possa essere demodulato in fase e quadratura, e le
c.a. di
b.f. campionate a frequenza
fc = N + NgT. Dopo l’inversione di segno ad indici alterni, e dopo avere acquisito il sincronismo di simbolo,
fc ⋅ T campioni complessi sono
bufferizzati, quindi gli
Ng campioni del preambolo rimossi, e sugli
N valori del periodo principale viene calcolata una
fft (vedi nota
868)
, ottenendo i valori
Solo gli
Ñ valori centrali sono avviati verso altrettanti decisori, che determinano il punto di costellazione più vicino all’
an ricevuto per ogni portante, associandovi il relativo codice di
Mn bit, ed il risultato finale è quindi serializzato per produrre gli
M bit che hanno dato origine al simbolo.
Al §
16.12.2 viene svolta una laboriosa analisi per arrivare a valutare l’espressione della
Pbite in caso di tempo di guardia
Tg = 0 ed in presenza di rumore additivo gaussiano limitato alla stessa banda del segnale; il risultato è confrontato con quello ottenibile per una trasmissione
qam che occupi la medesima banda dell’
ofdm, trasporti lo stesso flusso
fb, utilizzi ovviamente una sola portante con un adeguato numero di livelli, e adotti un impulso a coseno rialzato che determini la stessa (in)efficienza spettrale legata nell’
odfm alla presenza delle
Ñ portanti spente. Il risultato è che le prestazioni
sono identiche.
E allora dov’è la convenienza ? E’ il tema delle prossime sottosezioni!
16.8.6 Sensibilità alla temporizzazione
Con l’
ofdm non siamo nelle condizioni di demodulazione coerente come per l’
fsk (§
16.5.1), e le portanti del simbolo
ofdm ricevuto mantengono ortogonalità (§
16.12.1) purché finestrate su di un periodo
T0 = 1Δ. Pertanto nel caso in cui il ricevitore non acquisisca una perfetta sincronizzazione di simbolo, se l’
isi introdotta dal canale ha una durata minore di
Tg, la
fft di demodulazione può operare su di un gruppo di campioni presi a partire dalla coda del preambolo, riducendo così la sensibilità rispetto agli errori di sincronizzazione.
16.8.7 Equalizzazione
Consideriamo il caso in cui la trasmissione attraversi un canale la cui
h(t) è descritta da un inviluppo complesso
H(f) in cui il modulo non è costante e/o la fase non è lineare: in tal caso
XT0(f) di (
21.61) si altera a causa del filtraggio, ed i suoi campioni
an restituiti dalla (
21.65) si modificano in
ãn = an ⋅ Hn
dove
Hn = Hne jφn = H(f − Δ(n − N2)) sono i campioni (complessi) di
H(f). Come anticipato, l’equalizzazione si riduce a svolgere un semplice prodotto tra la sequenza dei valori ricevuti
ãn e quella di equalizzazione
1Hn e −jφn che inverte l’effetto del canale, ovviamente purché si conosca
H(f), od una sua stima.
16.8.8 Codifica differenziale
Nel caso in cui l’entità della distorsione lineare introdotta dal canale non sia
eccessiva si può evitare del tutto lo stadio di equalizzazione e ricorrere ad una
codifica differenziale (§
16.4), che risulta particolarmente semplice qualora le sottoportanti siano modulate
psk o
qpsk. In tal caso infatti il processo di demodulazione per ogni sottoportante non risente di variazioni di guadagno, ovvero variazioni di
Hn = |Hn|, e dunque devono essere compensate le sole variazioni di fase
φn tra una portante e l’altra, ognuna delle quali determina la corrispondente rotazione (vedi nota
584) del piano dell’inviluppo complesso su cui sono riferiti gli
an, rispetto alla disposizione degli assi per la portante
n − 1.
Acquisendo dunque un primo riferimento di fase da una
portante pilota (§
16.8.11) sempre accesa senza trasportare informazione, si può prendere quello per demodulare la portante successiva, acquisire da questa un nuovo riferimento di fase, e iterare il procedimento per tutte le portanti. Questo procedimento si attua applicando la teoria del §
16.4 alla sequenza simbolica di valori complessi
an da trasmettere, sostituendo nelle
(21.48) e
(21.49) l’
or esclusivo con una operazione di prodotto, ed aggiungendo una operazione di coniugato, come mostrato in fig.
16.42, in cui
R rappresenta un ritardo unitario.
Dal lato della trasmissione le portanti sono quindi modulate a partire dalla sequenza
dn = an ⋅ dn − 1
con
n = 0, 1, ⋯, Ñ − 1, avendo posto
a0 = 1. In assenza di rumore e di distorsione lineare la sequenza
dn è ricevuta inalterata, ed è così disponibile in uscita dal demodulatore
odfm; da essa si ottiene quindi
che presenta la stessa fase di
an.
In presenza di distorsione lineare al posto di
dn si riceve invece
d̃n = dn ⋅ Hn in cui
Hn = Hne jφn sono i campioni della risposta in frequenza del canale, e dunque la
(21.66) fornisce
ân = d̃n ⋅ d̃ * n − 1 = an ⋅ dn − 1 ⋅ Hn ⋅ d * n − 1 ⋅ H * n − 1 = an ⋅ |dn − 1|2 ⋅ ΔHn ⋅ e jΔφn
in cui
ΔHn = |HnH * n − 1| (ma il modulo non ci interessa), e
Δφn = φn − φn − 1 è la differenza tra i valori della risposta di fase del canale valutata per due portanti contigue, e rappresenta l’entità di cui è ruotato il piano dell’inviluppo per i simboli trasportati dalle due portanti. Pertanto, se questa è di lieve entità (essendo le portanti vicine), produce un errore trascurabile.
Accenniamo brevemente all’ulteriore possibilità di applicazione del principio differenziale, oltre che portante per portante, anche ad interi simboli ofdm consecutivi: in questo caso il vettore di simboli akn da trasmettere all’istante k viene combinato con i valori del vettore trasmesso al simbolo precedente k − 1, ovvero dkn = akn ⋅ dk− 1n. In questo modo possono essere contrastati i fenomeni tempo-varianti che modificano il canale, per una stessa portante n, simbolo dopo simbolo.
16.8.9 Distribuzione ottima di potenza
Si riferisce alla possibilità dell’ofdm di assegnare valori di potenza differenti alle diverse portanti, che consente di sfruttare al massimo la capacità trasmissiva dal canale, anche in presenza di attenuazione selettiva e/o rumore colorato.
La trasmissione numerica con una
fb elevata, eseguita utilizzando un tecnica ad
una sola portante, deve necessariamente occupare una banda molto ampia, rendendo scarsamente applicabile la semplificazione di cui al §
13.1.2.4; in tal caso
H(f) presenta distorsione di ampiezza, la cui equalizzazione (§
18.4) causa una
colorazione del rumore in ingresso al demodulatore, ed un peggioramento delle prestazioni. Un problema analogo nasce nel caso in cui il rumore non sia bianco, ad esempio perché derivante da un segnale interferente.
In entrambi i casi per tenere conto dell’andamento incostante di
PN(f) il calcolo della
capacità di canale C = Wlog2(1 + PR⁄WN0), valido in presenza di un rumore bianco
PN(f) = N0⁄2 e con una potenza ricevuta
PR in una banda (positiva)
W, si modifica come segue. Se consideriamo il canale scomposto in
infinite sottobande entro le quali le densità di potenza di segnale e di rumore possono ritenersi costanti, l’espressione della capacità diviene
in cui
If rappresenta l’insieme delle frequenze in cui è presente il segnale, ovvero
If = {f: PR(f) > 0}. La
(21.67) significa che se
PN(f) in ingresso al canale non è pari ad una costante, la
massima capacità trasmissiva
C (e dunque velocità
fb) può essere raggiunta
sagomando in modo opportuno la densità di potenza
PR(f) del segnale ricevuto. Nell’
ofdm ciò equivale a distribuire la potenza totale
PR in modo non uniforme tra le portanti, a patto che la
PR(f) che rende massima
(21.67) rispetti i vincoli
Questo problema di
ottimo vincolato ammette la soluzione (vedi §
16.12.3)
detta anche
riempimento d’acqua (
water-filling) perché (vedi figura) determina una maggiore potenza di segnale nelle regioni di frequenza dove il rumore è minore, un po’ come se
PR fosse un volume d’acqua
versata sopra PN(f). La costante
μ viene determinata in modo da ottenere
∫ PR(f)df = PR.
In un sistema di modulazione numerica a singola portante
PR(f) non può essere modificato a piacere, in quanto il suo andamento è vincolato dal particolare formatore di impulsi
G(f) scelto per ottenere una ricezione priva di
isi. Nel caso dell’
ofdm invece la potenza assegnata a ciascuna portante può essere variata liberamente, e se la
PR(f) che realizza le condizioni (
21.69) viene resa nota al modulatore, è possibile avvicinarsi alla velocità massima permessa dalla
(21.67).
In particolare si ottiene che la massima velocità
fb è conseguibile attribuendo a tutte le portanti la medesima probabilità di errore, e quindi in definitiva determinando dei valori
⎛⎝EbN0⎞⎠n per ogni portante
n = 0, 1, ..., Ñ − 1 tali da rendere le
Pe ⁄ n = Pe. Questo risultato può essere ottenuto scegliendo le potenze
Pn in accordo alla
(21.69), e quindi trasmettere (o
caricare) più bit
Mn sulle portanti
n per le quali
Pn è maggiore.
16.8.10 Modulazione codificata
Abbiamo appena mostrato come, conoscendo la
PN(f) e la
H(f) del canale, sia possibile equalizzare
Px(f) = PR(f)|H(f)|2 e al contempo soddisfare (
21.69) e rendere massima la
fb. Ma nel caso di collegamenti tempo-varianti la
H(f) non è nota, ed anche se lo fosse non esiste garanzia che rimanga costante. In tal caso non ha senso determinare una distribuzione ottima della potenza e dei bit sulle portanti, mentre invece occorre aggiungere della ridondanza
al segnale trasmesso mediante un codice di canale, allo scopo di correggere i bit errati.
Osserviamo ora che nel caso di una modulazione a portante singola la presenza di una H(f) tempo-variante rende il processo di equalizzazione particolarmente complesso, dato che deve inseguire le variazioni di H(f). Se l’equalizzazione non è perfetta insorge isi, e la trasmissione può divenire rapidamente così piena di errori da renderne impossibile la correzione anche adottando codici di canale.
Nel caso dell’
ofdm, al contrario, l’andamento di
H(f) determina un peggioramento di prestazioni solamente per quelle portanti per le quali
|H(f)| si è ridotto. Pertanto l’applicazione di un codice di canale (§
17.4) al blocco di
M bit che costituisce un simbolo, seguito da una operazione di scrambling (§
15.6.2.3), consente al lato ricevente di recuperare l’informazione trasmessa anche nel caso in cui per alcune portanti si determini un elevato tasso di errore.
La trasmissione
ofdm in cui è presente una codifica di canale prende il nome di trasmissione
cofdm (
Coded ofdm).
16.8.11 Portanti pilota
Fin qui abbiamo assunto che il ricevitore
ofdm mostrato in fig.
16.41 operi in condizioni di sincronismo sia per quanto riguarda la portante di demodulazione, sia per gli intervalli di simbolo. A questo scopo alcune delle sottoportanti - dette
pilota - non sono usate per trasmettere dati, ma sono mantenute costantemente attive, con potenza di poco superiore alle altre, allo scopo di facilitare la sincronizzazione in frequenza. In figura
16.44 è rappresentato il caso per il
dvb-t, in cui ogni riga rappresenta le portanti di un simbolo, e quelle pilota si trovano in posizione fissa; sono inoltre mostrate delle
portanti disperse (
scattered) le cui posizioni evolvono ciclicamente di simbolo in simbolo, e consentono di acquisire un sincronismo sia di simbolo che di trama, oltre che eventualmente permettere una migliore stima della
H(f) del canale attraversato.
16.8.12 Accesso multiplo OFDMA
Lo sviluppo di protocolli di gestione e coordinamento delle risorse impiegate da più utenti mobili per comunicare con una stessa stazione radio-base (§§
11.1.1.3,
16.9.2.5) rende possibile assegnare
differenti sottoinsiemi di portanti ai diversi utenti, permettendo
di ripartire la banda a disposizione in percentuali variabili tra gli stessi. Ogni utente semplicemente
spenge le portanti a lui non intestate prima di eseguire l’
ifft, così come ne scarta il risultato della decodifica. Si determinano così i vantaggi
- rispetto ad un sistema a divisione di tempo (§ 24.2.1, 24.3.1, 22.5.2.1) si ha un minor ritardo in quanto non occorre attendere il proprio time-slot o contendere la risorsa in comune, bensì i vari utenti trasmettono in contemporanea;
- l’assegnazione delle portanti può variare simbolo per simbolo, permettendo di allocare dinamicamente più banda agli utenti con maggiori esigenze;
- gli utenti con esigenze minori oltre alla banda risparmiano anche in potenza trasmessa;
- la riduzione del numero di portanti attive diminuisce la dinamica del segnale ofdm nel tempo, mitigando le problematiche di non-linearità.
Per far fronte a fenomeni di fading selettivo (§
20.4.5) la qualità del canale tra stazione base ed ogni utente è monitorata di continuo affinché l’allocazione delle portanti possa essere modificata dinamicamente, e mantenuta una adeguata qualità di servizio per tutti: in questo senso si realizzano gli scopi della radio cognitiva (pag.
1).
La modalità di trasmissione ofdma è stata adottata nei sistemi WiFi 802.11ax, WiMAX 802.16e, e di telefonia mobile lte e 5g.