Sezione 21.4: Capacità di canale con fading di Rayleigh Su Capitolo 21: Sistemi multiantenna o MIMO Sezione 21.6: Trasmissione multiutente o MU - MIMO 

21.5 Multiplazione spaziale

Mentre nei collegamenti con un basso SNR il principale beneficio del disporre di più antenne è quello di poter sfruttare la diversità spaziale (§ 21.3) per conseguire una Pe altrimenti insufficiente, se al contrario l’SNR è abbastanza elevato da garantire una comunicazione affidabile si possono sfruttare le antenne per trasmettere con ognuna di esse un diverso segnale dati, moltiplicando la velocità di trasmissione di un fattore pari a gM = min(nT, nR), detto guadagno di multiplazione.
Dato che come osservato nel caso di un buon SNR il vantaggio derivante dalla scomposizione del collegamento in canali virtuali associati alla svd di H è ridotto, si preferisce che il flusso di simboli si convogliato dall’antenna i − esima sia frutto della suddivisione del flusso originario a velocità fb operata a monte della trasmissione, da parte di un demultiplatore che assegna ad ogni antenna un flusso di fbnT bit/sec. Ogni gruppo
figure f-138-multspaz.png
di M bit di ciascuno degli nT flussi viene quindi mappato su di un simbolo a valori complessi si,  i = 1, 2, ⋯, nT appartenente ad un alfabeto A definito dagli L = 2M punti di costellazione della modulazione adottata; l’insieme dei simboli trasmessi contemporaneamente e sulla stessa portante viene quindi descritto nei termini di un vettore s = (s1, s2, ⋯snT)T a valori complessi.
Osserviamo ora che per ricevere correttamente tutti gli nT diversi flussi dati occorre disporre di un numero nR di antenne in ricezione almeno pari ad nT ovvero deve essere nR ≥ nT; le antenne in più in ricezione possono essere usate per conseguire anche un guadagno di diversità. In questo contesto l’equazione (21.210) del canale mimo
(21.258) r = Hs + n
con r ∈ ℂnR, s ∈ A nT, E{ss} = EsnT I nT, H ∈ ℂ nR × nT e n ∈ CN(0, σ2n), individua una trasformazione lineare affetta da rumore, formalmente assimilabile alla distorsione lineare subita da un segnale in transito su di un canale selettivo in frequenza e rumoroso, con la differenza che l’alterazione agisce ora su di un dominio spaziale anziché frequenziale. In tal senso il tentativo di risalire al vettore s a partire da quello r noto al ricevitore è simile ad una operazione di equalizzazione (§ 18.4) al punto che, con un abuso di terminologia, è lecito riferirsi al primo come ad una equalizzazione spaziale.

21.5.1 Ricevitore a massima verosimiglianza (ML)

Effettua la stima del vettore trasmesso s come
ŝ = argmax s ∈ AnT Pr{r ⁄ s}
ed essendo il vettore n nella (21.258) costituito da v.a. gaussiane complesse circolari ed incorrelate, equivale ad un criterio di minima distanza, ovvero
(21.259) ŝ = argmin s ∈ AnT |r − Hs|2
dove l’argomento minimizzato dalla (21.259) è la norma quadratica del vettore n. La ricerca del minimo si estende a tutte le disposizioni con ripetizione sulle nT antenne degli L possibili valori per il generico simbolo si, ovvero LnT diverse disposizioni, causando una complessità esponenziale nel numero di antenne: ad es. adottando una semplice modulazione 16-qam su nT = 4 antenne (corrispondenti a 16 bit/simbolo s), si ottengono... 164 = 65536 combinazioni, decisamente una quantità spropositata.
Soluzioni sub-ottime
Sebbene la decodifica ML sia quella ottimale, la sua complessità ha spinto la ricerca di soluzioni sub-ottime ma approcciabili. Una soluzione algoritmica è quella nota come sphere decoding[1236]  [1236] Vedi ad es. B. Hassibi, H. Vikalo, On the Sphere-Decoding Algorithm, Expected Complexity, ma anche Mathworks, comm.SphereDecoder. In estrema sintesi, questa tecnica riduce la complessità della ricerca del ricevitore ML limitandola ai vettori s che ricadono (in qualche modo) all’interno di una sfera di raggio fisso e centrata sul vettore ricevuto r. All’aumentare del raggio aumenta la complessità ed al limite si ottiene la soluzione ML, ma anche per complessità ridotte la soluzione trovata non si discosta molto da quella ottima., che non approfondiamo. Una famiglia di soluzioni alternative sono quelle lineari, che (in analogia al caso dell’equalizzazione) pervengono ad una matrice G di dimensioni nT × nR tale da poter scrivere
s̃ = Gr
in cui si è rimosso il vincolo di voler direttamente ottenere un vettore appartenente ad A nT. Il valore s̃ viene quindi indicato come vettore soffice, il cui corrispondente vettore hard ŝ ∈ A nT si ottiene decidendo per ogni elemento si il valore più vicino ad uno di quelli ammessi, ossia
(21.260) i = argmin s ∈ (is)2
Nel seguito descriviamo due criteri per scegliere G, oltre ad un ulteriore metodo di soluzione che adotta una proiezione lineare nel contesto di una procedura di cancellazione ordinata, coniugando efficienza con precisione, la cui implementazione più diffusa è nota come v-blast.

21.5.2 Ricevitore zero-forcing

Individua il vettore s̃ che (senza rispettare il vincolo s̃ ∈ A nT della (21.259)) risolve il problema
(21.261) s̃ = argmin s |r − Hs|2
calcolando una matrice GnT × nR tale che s̃ = Gr.
Nel caso generale in cui nR ≥ nT si ottiene
(21.262) GZF = (HH)− 1 H = HPI
nota anche come pseudo-inversa[1237]  [1237] In questo testo la definizione di pseudo inversa è scaturita all’eq. (10.188) nel contesto della regressione lineare multipla (§ 7.7.1), con l’analogia che diviene evidente qualora si confronti la (21.261) con la (10.187) e si sostituisca r, H, s con y, X, β. La discussione ivi svolta nel nostro caso significa che se fosse stato trasmesso s̃ che soddisfa (21.261) avremmo ricevuto r̃ = Hs̃ + n vincolato (a parte per il rumore) a giacere nello spazio esplorato dalle colonne di H, e dunque la differenza ε = r̃ − r = H(s̃ − s) deve essere ortogonale alle stesse colonne, e quindi Hε = 0, dopodiché i passaggi sono gli stessi utilizzando l’hermitiano anziché il trasposto . HPI di H, che qualora H sia quadrata (nR = nT) ed invertibile si riduce a G = H− 1. In entrambi i casi la (21.261) fornisce
(21.263)
s̃ = GZF r = (HH)− 1 H(Hs + n) = s + (HH)− 1 Hn
ottenendo l’effetto di invertire H, come dire annullare, da cui il nome forzante a zero. Il costo computazionale associato è circa cubico in nT per matrici quadrate, ma ottenere ŝ ∈ A nT da s̃ applicando la (21.260) è lineare in nT.
Notiamo ora che, in perfetta analogia con quanto osservato a pag. 1 per l’omonimo equalizzatore, il valore s̃ ottenuto mediante la (21.263) è gravato da un termine di rumore ñ = (HH)− 1 Hn le cui componenti sono correlate tra antenne riceventi, e la cui entità può risultare assai rilevante qualora H sia mal condizionata[1238]  [1238] Vedi ad es. https://en.wikipedia.org/wiki/Condition_number ovvero HH presenti autovalori per cui |λmax||λmin| ≫ 1, in quanto[1239]  [1239] Alla seconda eguaglianza manca il passaggio
ñ = ((HH)− 1 Hn) = n((HH)− 1 H) = nH((HH)− 1) =  nH(HH)− 1
dato che (A− 1) = ( A)− 1
Σñ  = E{ññ} = E{(HH)− 1 HnnH(HH)− 1} =   = σ2n(HH)− 1 HH(HH)− 1 = σ2n(HH)− 1
e l’inversione di HH comporta la divisione per il suo determinante[1240]  [1240] Vedi ad es. https://it.wikipedia.org/wiki/Matrice_invertibile, che essendo pari al prodotto degli autovalori può nelle condizioni indicate risultare molto piccolo; in particolare, il rumore è particolarmente amplificato per le antenne trasmittenti che corrispondono alle colonne di H associate ai valori singolari λ12i più piccoli.

21.5.3 Ricevitore lineare a minimo errore medio quadratico l-mmse

Per ovviare al problema evidenziato si può adottare il diverso criterio di trovare la matrice G (con cui calcolare s̃ = Gr) che rende minimo l’errore quadratico medio (mse), ovvero
(21.264) G = argmin G E{|s − Gr|2}
Si dimostra[1241]  [1241] Indicando l’argomento interno di (21.264) come l’errore ε(G) = s − Gr ed il suo valore atteso quadratico come J(G) = E{ε2} = E{εε}, quando J è minimo tutte le componenti del suo gradiente devono annullarsi, ovvero GJ(G)|G = G = 0nT × nR (cioè si annullano le derivate di J rispetto a tutti gli elementi di G). Possiamo quindi scrivere
JG = GE{ε2} = 2E{εεG} = 0
e dato che εG = G(s − Gr) = − r si ottiene J minimo quando
E{εMMSEεG} = E{(s − Gr)r} = 0nT × nR
che la matrice G che verifica la (21.264) deve necessariamente soddisfare anche la relazione
(21.265) E{(s − Gr)r} = 0nT × nR
nota come principio di ortogonalità[1242]  [1242] In effetti ciò che la (21.265) afferma è l’incorrelazione tra ogni componente del vettore di errore minimo rispetto ad ogni componente di quello ricevuto, ma vedi anche
https://en.wikipedia.org/wiki/Orthogonality_principle.
, sviluppando la quale (dopo un po’ di conti) si perviene al risultato[1243]  [1243] A partire dalla (21.265) otteniamo E{(s − Gr)r} = E{sr − Grr} = ΣSR − GΣRR = 0 per cui deve risultare G = ΣSRΣRR, dove le matrici di covarianza Σ coincidono con quelle di correlazione, dato il valore atteso nullo di s e di r. Calcoliamone il valore:
ΣSR  = E{sr} = E{s(Hs + n)} = E{ssH} + E{sn} = ΣSH = EsH ΣRR  = E{(Hs + n)(Hs + n)} = E{HssH + Hsn + nsH + nn} = SH + ΣN = EsHH + σ2nI
dato che E{sn}, E{Hsn} e E{nsH} sono nulli in virtù dell’incorrelazione tra s ed n, e si è posto ΣS = EsI e ΣN = σ2nI in virtù dell’incorrelazione tra simboli delle diverse antenne, nonché tra campioni di rumore, in cui Es = E{s * isi} = PTfsnT è pari all’energia per simbolo e per antenna, uguale per tutte, mentre σ2n = E{n * ini} = 1nRE{nn} è la potenza del campione di rumore in ingresso all’i − esima antenna ricevente. Sostituendo ora ΣSR e ΣRR nella relazione G = ΣSRΣRR otteniamo il risultato cercato
G = ΣSRΣRR = EsHEsHH + σ2nI = HHH + σ2nEsI
(21.266)
GMMSE = G = HH + 1ρI− 1 H
in cui
ρ = Esσ2n = PTfsnT nRE{nn}
è l’SNR per simbolo e per antenna ricevente, comprensivo dell’eventuale guadagno di diversità nRnT. Notiamo quindi che per ρ elevato la (21.266) equivale alla (21.262), cancellando gli interferenti ma senza considerare il rumore; qualora invece ρ tenda a zero la (21.266) tende ad H, un risultato simile al mrc[1244]  [1244] Nel senso che il vettore di pesi w con coefficienti (21.221) è il coniugato dell’unica colonna di H presente nel caso simo, come ora la riga i − esima di H è coniugata dell’i − esima colonna di H - ma vedi anche la discussione seguente. (§ 21.3.1.2), e che non considera gli interferenti. Dopodiché il valore di ŝ ∈ AnT si ottiene applicando anche per questo caso la (21.260).

21.5.4 Ricevitore a cancellazioni successive - vblast

Nei casi precedenti la decisione da parte del ricevitore in merito al simbolo si trasmesso dall’i − esima antenna viene presa congiuntamente a tutti gli altri, calcolando il vettore s̃ = Gr mediante una unica operazione. Al contrario, l’approccio che stiamo per illustrare[1245]  [1245] Noto come v-blast, vedi P.W. Wolniansky et al, V-BLAST: An Architecture for Realizing Very High Data Rates Over the Rich-Scattering Wireless Channel, 1998 URSI Int. Symposium Conference Proceedings, reperibile presso https://www.ee.columbia.edu/~jiantan/E6909/wolnianskyandfoschini.pdf decodifica i simboli si antenna (trasmittente) per antenna, cancellando ogni volta il contributo ad r dovuto ai simboli già decodificati.
Prima di procedere torniamo all’espressione s̃ = Gr in cui G può essere ottenuta con il metodo zf oppure mmse, ma specializzando il ragionamento al caso zf osserviamo che il valore per l’elemento i si ottiene da r come
(21.267) i = wTir
in cui wi è il vettore con elementi pari alla i − esima riga di G, che indichiamo come (G)i, ovvero wi = (G)Ti. Ebbene, accade che wi è ortogonale a tutte le colonne di H tranne l’i − esima: ciò è evidente nel caso di matrice H quadrata, per la quale si ottiene GZF = H− 1 e dunque ogni sua riga i è ortogonale alle colonne j ≠ i di H in quanto H− 1 H = I. Ma anche se H non è quadrata, la sua pseudo-inversa GZF = HPI data dalla (21.262) ha righe ortogonali alle colonne di H non omologhe, risultando[1246]  [1246] Vedi ad es. https://it.wikipedia.org/wiki/Pseudo-inversa HPIH = I. Tale proprietà di ortogonalità è alla base dell’effetto di inversione del sistema ottenuto con la (21.263).
Consideriamo ora che dopo la decodifica del primo simbolo (i = 1)
i = wTir
ed alla sua quantizzazione in i ∈ A, nel caso in cui l’SNR sia sufficiente ad avere una Pe abbastanza piccola si può procedere alla cancellazione dell’effetto di i su r, semplicemente valutando[1247]  [1247] Infatti (a parte il rumore) è possibile scrivere r = nTk = 1sk(H)k, dunque
r’ = r − i(H)i = nT\substackk = 1
k ≠ i
sk(H)k
un nuovo vettore
ri + 1 =  ri − i(H)i
in cui (H)i è l’i − esima colonna di H: per il nuovo ri + 1 è quindi come se l’antenna i − esima fosse spenta, ovvero come se la colonna (H)i fosse tutta nulla: indichiamo quindi con Hi0 la matrice H a cui sono state azzerate le colonne j = 1, 2, ⋯, i. Il vettore wi + 1 con cui decodificare il successivo simbolo
i + 1 =  wTi + 1 ri + 1
deve quindi essere ortogonale non a tutte le colonne di H, ma solo a quelle non nulle di Hi0, coerentemente con il ridotto numero di interferenti ancora presenti nel vettore ri + 1. Il vettore wTi + 1 viene quindi posto pari alla (i + 1) − esima riga della pseudo-inversa di H0i.
Procedendo in questo modo i simboli decodificati per ultimi godono di un ordine di diversità maggiore di quelli decodificati per primi, in quanto il numero di antenne trasmittenti si riduce via via. D’altra parte nel caso in cui la Pe non sia trascurabile si può verificare un effetto di propagazione degli errori, specialmente se questi avvengono nei simboli decodificati per primi. Occorre quindi stabilire un criterio di ordinamento in grado di garantire le migliori prestazioni: si dimostra che l’ordinamento ottimale si ottiene scegliendo ogni volta l’indice iM dell’antenna che trasmette il simbolo siM per il quale l’SNR dopo decodifica è il più grande, ovvero iM = argmaxiSNR(i). Si può altresì dimostrare[1248]  [1248] Sostituendo in i = wTir l’espressione del vettore ricevuto r = Hs + n otteniamo
i = wTinTk = 1sk(H)k + wTin = siwTi(H)i + wTin = si + wTin
in cui si tiene conto dell’ortogonalità tra wi e le colonne (H)j con j ≠ i, e del fatto che wTi(H)i = 1 essendo wTi pari all’i − esima riga della pseudoinversa di H. Pertanto l’SNR risulta pari a
ρ = E{|si|2}E{|wTin|2} = E{|si|2}E{wTinnTwi} = E{|si|2}σ2nwTiwi
che
(21.268) SNR(i) = E{|si|2}σ2n|wi|2
figure f-138-multspaz-prest.png
Figure 21.12 Prestazioni della multiplazione spaziale
e quindi se ogni antenna adotta la stessa costellazione A la massimizzazione di (21.268) si ottiene scegliendo iM = argmin i |wi|2; dato che wi è pari alla i − esima riga della pseudo-inversa di H0i, quest’ultima dopo essere stata ricalcolata ad ogni iterazione, viene esplorata per individuare la riga con norma minore.
Qualora anziché la pseudo inversa dello zf si adotti la soluzione mmse data dalla (21.266), il metodo è ancora applicabile, con un lieve vantaggio per SNR basso, come mostrato nella figura a fianco[1249]  [1249] In realtà la figura è frutto di un missaggio di due prelevate da lavori differenti, ed i valori mostrati sono da ritenersi indicativi e non esatti, oltre che frutto della H adottata., che confronta le prestazioni per diverse opportunità di decodifica di un sistema mimo 2 × 2 con modulazione qpsk per una tipica matrice H.

21.5.5 Compromesso diversità - multiplazione

Quando in ricezione si dispone di un numero di antenne maggiore del minimo (ossia nR > nT) le antenne in più non contribuiscono al guadagno di multiplazione (al massimo pari a min(nT, nR)), ma consentono di conseguire un ordine di diversità almeno pari a nR − nT + 1 (con il metodo di cancellazione ordinata anche di più, dato che in pratica nT diminuisce man mano). Ma anche se nR = nT è comunque possibile (e necessario se nR < nT) sacrificare parte della velocità di trasmissione per migliorare le prestazioni nei confronti del rumore, sfruttando la diversità spaziale frutto del fading indipendente. Si può infatti ad esempio scegliere di dimezzare il numero di antenne usate per la multiplazione, ed impiegare la restante metà per trasmettere la ridondanza associata ad un codice spazio-tempo (§ 21.3.2.2). Ma anziché provare le diverse combinazioni possibili, riferiamo di un risultato generale[1250]  [1250] Vedi L.Zheng, D.N.C.Tse, Diversity and multiplexing: a fundamental tradeoff in multiple-antenna channels, IEEE Trans. on Inf. Theory, May 2003, dove sono riportate le considerazioni e le ipotesi che determinano il risultato; trovo una copia libera presso l’Univ. di Stanford.. La relazione tra guadagno di multiplazione spaziale r e di diversità d può essere ottenuta dopo avere definito queste due grandezze nei termini della rispettiva legge di dipendenza asintotica da SNR, ovvero
(21.269)
r =limSNR → ∞ R(SNR)log2 SNR;       d = −limSNR → ∞log Pe(SNR)log SNR
figure f-138-mult-divers.png
Figure 21.13 Compromesso
diversità - multiplazione
rappresentando così il risultato che per SNR elevato la velocità di trasmissione R aumenta come r log2 SNR ([1251]  [1251] Dato che la capacità per simbolo C = log2(1 + SNR) di un canale siso tende a log2SNR con SNR → ∞, il valore r nella (21.269) esprime il numero di canali siso equivalenti.), mentre la probabilità di errore decade come 1SNRd([1252]  [1252] Probabilmente ci vorrebbe qualche passaggio in più, ma la relazione Pe ∝ 1SNRd deriva dal confronto tra la (21.223) del ricevitore mrc che sfrutta la diversità, e la (21.208) valida per un canale siso.).
In questo modo può essere tracciata la curva d(r) mostrata in fig. 21.13 e che raccorda i valori estremi di massima diversità dmax = nTnR e massima multiplazione rmax = min(nT, nR) mediante la relazione
(21.270)
dopt(r)  = (nT − r)(nR − r)   con   r = 0, 1, ⋯, min(nT, nR)
che individua il massimo ordine di diversità conseguibile per un guadagno di multiplazione assegnato.
Esempio Desiderando ottenere una velocità R di 15 bps/Hz da un sistema mimo con nT = nR = 8 ed SNR = 15 dB, qual’è il massimo guadagno di diversità dopt che il sistema può offrire? R: dalla relazione R = rlog2SNR con SNR = 15 dB otteniamo 15 = rlog2101.5 e dunque r = 3.01 ≃ 3. Pertanto in linea teorica 3 delle 8 antenne sono usate per la multiplazione, e 5 per la diversità, con un guadagno di diversità che al massimo può arrivare a
dopt(r) = (nT − r)(nR − r) = (8 − 3)(8 − 3) = 25
Nella pratica naif, se si adotta un codice di Alamouti che utilizza 6 antenne per trasmettere 3 flussi codificati, ognuno dei quali è ricevuto da due antenne, l’ordine di diversità per ogni flusso risulta pari a 2nR = 2 ⋅ 2 = 4 (vedi § 21.3.2.4), e dunque complessivamente pari solamente a 3 ⋅ 4 = 12. In compenso, la potenza non usata dalle 2 antenne spente in trasmissione può essere ridistribuita sulle 6 attive, così come le due antenne in più di ricezione possono essere impiegate nella ricezione di 2 dei 3 flussi, portando l’ordine di diversità complessivo a 6 + 6 + 4 = 16. Alla nota[1253]  [1253] S.Sfar, L.Dai, K.B.Letaief, Optimal Diversity-Multiplexing Tradeoff With Group Detection for MIMO Systems, IEEE Tr. on Comm. 2005; P. Elia ed al, Explicit Space-Time Codes Achieving The Diversity-Multiplexing Gain Tradeoff, IEEE Tr. on Inf. Th. 2006 alcuni approcci in grado di avvicinarsi di più al risultato (21.270).
 Sezione 21.4: Capacità di canale con fading di Rayleigh Su Capitolo 21: Sistemi multiantenna o MIMO Sezione 21.6: Trasmissione multiutente o MU - MIMO