Capitolo IV
Rivelazione e stima di canale
4.1 Modello del segnale
Consideriamo l’uplink di un sistema MC-DS-CDMA avente un numero totale N di sottoportanti e impiegante codici di spreading di lunghezza Q. La stazione base (BS) è dotata di P antenne e ciascuna sottoportante è condivisa da K ≤ N utenti separati tra loro mediante codici di spreading ortogonali.
La Fig.4.1 mostra lo schema a blocchi del trasmettitore presente nel mobile
⊗ ⊗ ⊗ ⊗ ⊗ ⊗ ⊗ ⊗
{
ST
data symbolsspread data symbols spreading code 0
f
1f
1 c Nf
− iPoiché in generale un dato utente non occupa tutte le sottoportanti, nella stima di canale non si può sfruttare la correlazione esistente tra sottoportanti adiacenti. Ciò significa che il canale deve essere stimato indipendentemente su ciascuna sottoportante. Inoltre, è noto che ciascun simbolo informativo in un sistema MC-DS-CDMA viene trasmesso su una sola sottoportante.
Fig. 4.2
Nel seguito ci concentriamo dunque su una singola sottoportante, diciamo l’enne-sima. Suddiviamo inoltre i blocchi OFDM ricevuti in gruppi formati da Q blocchi temporalmente adiacenti e corrispondenti alla trasmissione di un singolo simbolo per ciascun utente. La enne-sima uscita dalla DFT sul p-esimo ramo di ricezione in corrispondenza dell’emme-simo gruppo di blocchi può allora scriversi nella forma
( ) ( ) ( ) 1
( ,
)
( , )
( )
( , )
( ,
)
1, 2,
,
K p p p k k k kX
n mQ
a n m c
H
n m
w
n mQ
Q
=+ =
+
+
=
∑
…
(4.1.1)dove ak(n,m) è il simbolo dell’utente k-esimo, ck( )∈{±1 / Q} è la k-esima sequenza di spreading e Hk( p)(n,m) è la risposta in frequenza del k-esimo canale sulla enne-sima sottoportante e in corrispondenza della p-esima antenna e dell’emme-simo gruppo di
blocchi (si osservi che si è ammesso che il canale non vari apprezzabilmente su Q blocchi adiacenti). Infine, w( p )(n, mQ+ ) è il contributo del rumore termico, modellato come una variabile aleatoria Gaussiana a media nulla e varianza
σ
w2.Ammettendo che le sequenze di spreading siano ortogonali, è facile rendersi conto che la stima a massima verosimiglianza di ak(n,m) si ottiene inviando ad un normale circuito a soglia la seguente statistica di decisione
yk(n,m)= Hk( p)∗ p=1 P
∑
(n,m) ck∗( )X( p )(n,mQ+ ) =1 Q∑
Hk( p)(n,m)2 p=1 P∑
(4.1.2)ottenuta effettuando una operazione di despreading sui campioni osservati X( p)(n,mQ+ ) , seguita da una operazione di Maximum Ratio Combining (MRC).
Definiamo ora il vettore
X( p)(n,m)= [X( p)(n,mQ),X( p )(n,mQ+1),…,X( p)(n,mQ+ Q−1)]T
e sia ck = [ck(1),ck(2),…,ck(Q)]T. La (4.1.1) può allora riscriversi nella forma
X( p)(n,m)= ak(n,m) k=1
K
∑
Hk( p )(n,m)ck + w( p)(n,m) (4.1.3)dove w( p)(n,m)= [w( p)(n,mQ),w( p )(n,mQ+1),…,w( p)(n,mQ+ Q −1)]T è un vettore Gaussiano a media nulla e matrice di covarianza
σ
w2IQ (IQ è la matrice identica di ordine Q). Infine, dalla (4.1.3) si ottieneX( p)(n, m)= B(n,m)H( p)(n, m)+ w( p )(n,m) (4.1.4)
dove H( p)(n,m)= [H1( p)(n,m),H2( p )(n,m),…,HK( p )(n,m)]T è il vettore dei canali in corrispondenza della p-esima antenna e dell’emme-simo gruppo di blocchi mentre
è una matrice di dimensioni
B(n,m) = [a1(n,m)c1 a2(n,m)c2 aK(n,m)cK] (4.1.5)
4.2 Rivelazione lineare di tipo Single-User
Concentriamoci sulla rivelazione dei simboli relativi ad un particolare gruppo di sottoportanti, per esempio l’m-esimo, e indichiamo con Xm(i)= [Xm(i,1), Xm(i,2),…, Xm(i,Q)]
T
le corrispondenti uscite dalla DFT di ricezione. Si ha pertanto
Xm(i)= Qm(i)Wmam(i)+ nm(i) (4.2.1)
dove Qm(i)= diag{Hm(i,n);1≤ n ≤ Q} è una matrice diagonale di dimensione Q contenente la risposta in frequenza del canale calcolata in corrispondenza delle sottoportanti del gruppo m-esimo mentre n rappresenta il contributo del rumore termico ed è modellato come un vettore Gaussiano a media nulla e matrice di covarianza
m(i)
σ
2IQ. Per semplicità tralasciamo per il momento gli indici i e m e riscriviamo quindi la (4.2.1) nel seguente modo
X= QWa + n (4.2.2) Ovvero X= Q ck k=1 km
∑
ak + n (4.2.3)Ammettiamo che il mobile debba rivelare il simbolo . Per l’implementazione delle tecniche di rivelazione single-user l’utente deve soltanto conoscere la risposta in frequenza del canale (la matrice Q) e la propria sequenza di spreading (il vettore c )
a1
mentre non è richiesta la conoscenza delle altre sequenze di spreading contemporaneamente attive nel collegamento. Di seguito riportiamo le espressioni della statistica di decisione utilizzata in alcune tecniche convenzionali di rivelazione a singolo utente.
A. ORC (Orthogonal Restoring Combining)
La statistica di decisione impiegata nella tecnica ORC è espressa da
yORC = c1HQ−1X=
= c1∗
n=1 Q
∑
(n)X (n) / H (n) (4.2.4)e, come indicato in Fig.3.2, corrisponde ad una equalizzazione Zero-Forcing del vettore ricevuto X seguita da una operazione di de-spreading. La statistica yORC viene infine inviata in un normale decisore a soglie che fornisce la stima del simbolo trasmesso.
ˆ a 1
Sostituendo la (4.2.3) nella (4.2.4) e tenendo conto che le sequenze di spreading sono ortogonali (cn
H
cm = 1 se n= m e 0 altrimenti) si trova
yORC = a1+ ˜ n ORC (4.2.5)
dove si è posto ˜ n ORC = c1HQ−1n . La (4.2.5) indica che la tecnica ORC cancella
completamente l’interferenza da accesso multiplo (MUI) ma provoca un notevole innalzamento del rumore termico su quelle sottoportanti fortemente attenuate dal canale.
c1H Despreading Zero-forcing equalizer Q−1 X DEC. yORC a ˆ 1
B. MMSE Equalizer receiver
Come mostrato in Fig.4.3, questa tecnica deriva semplicemente da quella ORC sostituendo l’equalizzatore Zero-Forcing con uno del tipo a minimo errore quadratico medio (MMSE). La statistica di decisione è quindi espressa da
yMMSE−EQ = c1 H (QHQ+ρI)−1QHX= = c1∗ n=1 Q
∑
(n)H ∗ (n)X (n) ρ+ H(n)2 (4.2.6)dove ρ=σ2/ A2 e A2= E{ak2} è la potenza dei simboli trasmessi. Sostituendo la (4.2.3) nella (4.2.6) si trova
yMMSE−EQ= a1+ MUIMMSE− EQ + ˜ n MMSE−EQ (4.2.7) dove MUIMMSE−EQ è un termine che tiene conto dell’interferenza da accesso multiplo
MUIMMSE−EQ = −
σ
2
c1H(QHQ+
σ
2I)−1Wa (4.2.8)mentre n ˜ MMSE−EQ = c1H(QHQ+
σ
2I )−1QHn rappresenta il contributo del rumore termico. Si osservi che la tecnica MMSE non ripristina l’esatta ortogonalità tra i diversi utenti ma è più robusta della tecnica ORC nei confronti dell’innalzamento del rumore termico su sottoportanti fortemente attenuate dal canale. Essa richiede però la conoscenza della potenza σ2 del rumore.c1H Despreading X DEC. MMSE equalizer ˆ a 1 yMMS −EQ (QHQ+
ρ
I)−1QHC. MRC (Maximum Ratio Combining)
La statistica di decisione impiegata nella tecnica MRC è espressa da
yMRC = c1 H QHX Qc1 2 = = 1 Qc1 2 c1 ∗ n=1 Q
∑
(n)H∗(n)X (n). (4.2.9)Sostituendo la (2.2.3) nella (2.2.9) si trova
yMRC= a1+ MUIMRC + ˜ n MRC (4.2.10)
dove MUIMRC è un termine che tiene conto dell’interferenza da accesso multiplo
MUIMRC = c1 H QHQ ckak k=2 km
∑
(4.2.11)mentre nMRC = c Q n Qc1H H / 1 2 rappresenta il contributo del rumore termico. Si osservi che se i simboli appartengono ad una costellazione PSK la costante di normalizzazione
Qc1 2 a denominatore della (4.2.9) diventa irrilevante. Inoltre, mentre MUIMMSE tende
a scomparire all’aumentare del rapporto segnale/rumore, MUIMRC è indipendente da
σ2
. Il metodo MRC è quindi quello meno robusto nei confronti del MUI. Il suo schema a blocchi è mostrato in Fig.4.4.
c1 H Despreading X DEC. ˆ a 1 QH yMRC 1 Qc12 Fig. 4.4 – Ricevitore MRC
D. Nota (MMSE-MRC)
Il ricevitore MMSE a singolo utente ammette che il segnale utile ricevuto contenga il solo contributo dell’utente desiderato. In queste circostanze l’uscita della DFT di ricezione si scrive nella forma
X= Qc1a1 + n (4.2.12)
L’obiettivo è quello di individuare un vettore p che minimizzi il seguente errore quadratico medio
J( ˜ p )= E ˜
{
p HX− a12}
(4.2.13)al variare del vettore di tentativo ˜ p . In Appendice A si mostra che il vettore ottimo è
p= Qc1 ρ+ Qc1
2 (4.2.14)
e quindi la statistica di decisione risulta essere
yMMSE = c1 H QH X
ρ
+ Qc1 2 = 1ρ
+ Qc1 2 c1 ∗ n=1 Q∑
(n)H∗(n)X(n). (4.2.15)Si osservi che yMMSE coincide con yMRC a meno di un fattore di scala e pertanto i ricevitori MMSE e MRC hanno prestazioni identiche quando i simboli trasmessi appartengono ad una costellazione PSK.
4.3 Single User Bound
È interessante confrontare le prestazioni degli schemi di rivelazione descritti in precedenza con il single-user bound (SUB), ovvero con le prestazioni del rivelatore a massima verosimiglianza (ML) quando un solo utente è presente nel collegamento. In queste circostanze il vettore in uscita dalla DFT di ricezione assume la forma
X= ua + n (4.3.1)
dove u è la sequenza di spreading ricevuta, a il simbolo trasmesso e n un vettore Gaussiano a media nulla e matrice di covarianza
= Qc
σ2
I . Il ricevitore ML mira alla
minimizzazione della grandezza
Λ( ˜ a )= X − u ˜ a 2 (4.3.2)
al variare di all’interno della costellazione impiegata. Così facendo si trova a ˜
{
2}
ˆML arg min 2 e a a = a − ℜ ⎣ ⎦⎡a z∗ ⎤ (4.3.3) dove si è definito z= u H X u 2 (4.3.4)Aggiungendo un termine z2 (indipendente da ) a secondo membro della (4.3.3) si ottiene ˜ a
{
2}
ˆML arg min a a = z− a (4.3.5)che equivale ad inviare la statistica z in ingresso ad un normale decisore a soglie per la costellazione impiegata. Si osservi che per una costellazione PSK il ricevitore (4.3.5) coincide con quello MRC.
Sostituendo la (4.3.1) nella (4.3.4) si ottiene
z= a +
η
(4.3.6) dove η=u H n u 2 (4.3.7)è una variabile aleatoria Guassiana a media nulla e varianza
var{η}= σ 2 u 2 = = Q H (n)2 n=1 Q
∑
σ 2 . (4.3.8)Dalla (4.2.5) si vede che la statistica di decisione per il ricevitore ORC ha una espressione simile alla (4.5.6), dove però il disturbo dovuto al rumore termico ha una varianza var{ηORC}=σ 2 Q 1 H (n)2 n=1 Q
∑
(4.3.9)Vale la pena osservare che var{
η
ORC}≥ var{η
}. Infatti il minimo di var{η
ORC}sotto il vincolo
H (n)2
n=1 Q
si ottiene per H (n)2=1, ovvero quando il canale ha risposta in frequenza piatta. In tal caso si ha var{ηORC}= var{η}=σ2. Pertanto si può scrivere
var{
η
ORC}[
]
min = var{η
} (4.3.11)che equivale a dire var{
η
ORC}≥ var{η
}, il segno di uguaglianza essendo valido quando il canale non è selettivo in frequenza (H (n) è costante).Per una segnalazione di tipo BPSK o QPSK e per una fissata realizzazione del canale, la bit-error-rate (BER) del sistema a singolo utente risulta
BERML = Q 2E b N0 1 Q H (n) 2 n=1 Q
∑
⎛ ⎝ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ (4.3.12)per il ricevitore ML mentre per il rivelatore ORC si trova
BERORC = Q 2E b N0 Q 1 H (n)2 n=1 Q
∑
⎛ ⎝ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ (4.3.13)dove si è posto σ2= (2E b / N0) −1
, essendo E b l’energia media per bit ricevuto. Mediando la (4.5.12) rispetto alle realizzazioni del canale (con E ( )
{
H n 2}
=1) si trova il SUBSUB= EH
{
BERML}
(4.3.13)La media rispetto al vettore H = [H (1) H (2) H (Q)]T può farsi semplicemente per simulazione (metodo semi-analitico).
4.4 Stima di canale
La (4.1.2) mostra che la rivelazione dei dati trasmessi richiede la conoscenza dei vettori H( p)(n, m) alle varie antenne di ricezione. A tal fine ipotizziamo che,come mostrato in Fig.4.5 i blocchi trasmessi siano organizzati in frames e che il primo gruppo di blocchi (etichettato con m= 0) contenga simboli noti al ricevitore con potenza media
σ
s2, ovvero E ( , 0)
{
a nk 2}
=σ
s2.Fig. 4.5 – Frames trasmessi
Questi simboli noti vengono utilizzati per effettuare stime iniziali dei vari canali (acquisizione). Tali stime vengono poi aggiornate durante la sezione dati del frame (tracking) utilizzando algoritmi diretti dalle decisioni. Per semplicità di notazione, nel seguito tralasciamo di indicare la dipendenza delle varie grandezze dall’indice n.
Acquisizione
Utilizzando il modello (4.1.4) con m= 0 e tenendo conto che
BH(0)B(0)=
σ
s2IK, la stima di H( p)(0) a massima verosimiglianza si ottiene nel seguente modo ˆ H ( p)(0)= 1σ
s2B H (0)X( p )(0) p= 1,2,…,P (4.4.1)ˆ H k( p)(0)= 1
σ
s2ak ∗ (0) ck∗( )X( p)( =1 Q∑
) p=1,2,…,P (4.4.2)Sostituendo la (4.1.4) nella (4.4.1) si trova che ˆ H ( p)(0) è non polarizzata e l’errore quadratico medio di stima (MSEE) è
E⎧ ⎨ H ˆ k( p)(0)− Hk( p )(0)2
⎩ ⎫ ⎬ ⎭ =
σ
w2σ
s2 (4.4.3)Tracking
Durante la sezione dati del frame si effettua tracking di canale utilizzando le decisioni a ˆ k(m) sui simboli trasmessi. A tal fine si possono utilizzare gli algoritmi LMS o RLS.
Algoritmo LMS
L’algoritmo LMS aggiorna la stima di canale mediante la seguente equazione ricorsiva
H ˆ ( p)(m)= ˆ H ( p )(m−1) +
µ
B ˆ H(m)[X( p)(m)− ˆ B (m) ˆ H ( p )(m)] m= 1,2,3,… (4.4.4)dove B (m)ˆ = [ ˆ a 1(m)c1 a ˆ 2(m)c2 a ˆ K(m)cK]. Lo step-size
µ
deve essere dimensionato in modo da ottenere un buon compromesso tra velocità di inseguimento e precisione a regime. Se tutti i simboli informativi hanno modulo unitario (come accade ad esempio per una segnalazione PSK), allora si ha B ˆ H(m) ˆ B (m)= IK e la (4.6.4) si riduce aH ˆ ( p)(m)= (1−
µ
) ˆ H ( p )(m−1) +µ
B ˆ H(m)X( p)(m) m= 0,1,2,… (4.4.5)( ) ( ) ( ) 1
ˆ
( )
(1
)
ˆ
(
1)
ˆ
( )
( )
(
)
0,1, 2,
Q p p p k k k kH
m
H
m
a m
c
X
mQ
m
µ
µ
∗ ∗ == −
− +
+
=
∑
…
(4.4.6)È interessante osservare che la stima di canale viene aggiornata ogni nuovo gruppo di blocchi ricevuti (ovvero una volta ogni Q blocchi). Si osservi inoltre che per il calcolo di
ˆ
H k( p)(m) è necessaria la decisione a ˆ k(m) sull’emme-simo simbolo trasmesso. Ne segue che H ˆ k( p)(m) viene in realtà utilizzata per decidere sul simbolo ak(m+1).
Algoritmo RLS
L’algoritmo RLS mira alla minimizzazione della seguente funzione costo
JRLS( ˜ H ( p ))=
λ
m− i X( p)(i)− ˆ B (i) ˜ H ( p) 2i=0 m
∑
(4.4.7)rispetto al vettore H ˜ ( p), dove 0<
λ
< 1 è un parametro di progetto detto forgetting factor. Annullando la derivata di JRLS( ˜ H ( p )) rispetto a H ˜ ( p) e tenendo conto cheˆ
B H(i) ˆ B (i)= IK, si trova che JRLS( ˜ H ( p )) raggiunge il suo valore minimo per ˜ H ( p)= ˆ H ( p)(m) , con ˆ H ( p)(m)=
λ
m− i i=0 m∑
B ˆ H (i)X( p)(i)λ
m− i i=0 m∑
(4.4.8)La (4.4.8) può essere riscritta nella seguente forma ricorsiva
dove µ(m)= 1 λm−i i= 0 m
∑
= 1−λ 1−λm+1 (4.4.10)Si osservi che anche
µ
(m) può essere calcolato in maniera ricorsiva nel seguente modoµ(m)=
µ(m− 1)
λ+µ(m− 1) m= 1,2,3,… (4.4.11)
con
µ
(0)=1.Vale la pena notare che la (4.4.9) è formalmente analoga alla (4.4.5). L’unica differenza è che nell’algoritmo RLS lo step-size
µ
varia nel tempo ed è quindi funzione dell’indice temporale m. Dalla (4.4.10) si vede inoltre cheµ
(m) decresce con m e dopo un tempo abbastanza lungo tende al valore di regimeµ∞ = lim
m→ ∞µ(m)= 1−λ (4.4.12)
e l’algoritmo RLS si riduce quindi a regime a quello LMS con step-size
µ
∞. I due algoritmi si comportano invece in maniera molto diversa nella fase iniziale di tracking, ovvero per valori di m piuttosto piccoli. In particolare, per m= 1 l’algoritmo RLS assume la forma ˆ H ( p)(1)= λ 1+λ ˆ H ( p)(0)+ 1 1+λB ˆ H(1)X( p)(1) (4.4.13)da cui si vede che il contributo di B ˆ H(1)X( p)(1) è pesato più di quello di ˆ H (p)(0). Questo comportamento è molto pericoloso perché se sfortunatamente la decisione c ˆ k(1)
è errata, la stima H ˆ k( p)(1) sarà poco accurata e ciò può innescare con alta probabilità un pacchetto di errori consecutivi. Per ovviare a questo inconveniente si può modificare leggermente l’algoritmo RLS nel seguente modo
dove
ρ
(m)= 1−λ
µ
(m) ⎧ ⎨ ⎩ 1≤ m ≤ m m> m (4.4.15)e m è un parametro di progetto. In questo modo l’aggiornamento delle stime di canale è di tipo LMS durante i primi m passi, e diventa poi di tipo RLS per m> m . Se si vuole ad esempio che la grandezza
ρ
(m) sia sempre minore di un certro valoreρ
max (conρ
max >µ
∞= 1−λ
), allora si deve scegliere m nel seguente modom = int Log(
ρ
max +λ
−1) − Log(ρ
max) Log(λ
) ⎧ ⎨ ⎩ ⎫ ⎬ ⎭ (4.4.16)dove int( x) denota la parte intera di x. In forma scalare la (4.4.14) diventa
( ) ( ) ( ) 1
ˆ
( )
[1
( )]
ˆ
(
1)
( )
ˆ
( )
( )
(
)
0,1, 2,
Q p p p k k k kH
m
m H
m
m a m
c
X
mQ
m
ρ
ρ
∗ ∗ == −
− +
+
=
∑
…
(4.4.1)APPENDICE A
In questa Appendice si ricava l’espressione del ricevitore single-user di tipo MMSE. Il modello del vettore in uscita dalla DFT di ricezione è il seguente
X= Qc1a1 + n (A.1)
e l’obiettivo è quello di individuare un vettore p che minimizzi l’errore quadratico medio
{
2}
1
( ) E H
J p = p X−a (A.2)
al variare del vettore di tentativo ˜ p . Sostituendo la (A.1) nella (A.2) si trova
{
2}
1 1 ( ) E H H H H J p = p XX p−a∗p X−aX p+ a1 (A.3) e derivando rispetto a ˜ p ∂J( ˜ p ) ∂˜ p = E XX H{ }
p ˜ − E a{ }
1∗X (A.4)Uguagliando a zero la (A.4) si ottiene infine
{
}
{ }
1 -1 E H E a∗ ⎡ ⎤ =⎣ ⎦ × p XX X (A.5)Restano ora da calcolare le grandezze E XX
{ }
H e E a{ }
1∗X . Utilizzando la (A.1) si trova E XX{ }
H = A2u uH +σ2I (A.6)E a1 ∗
X
dove è il vettore della sequenza di spreading ricevuta (ovvero distorta dal canale) e
u= Qc1
{ }
22 1
A = E a è la potenza dei simboli trasmessi. La (A.5) diventa allora
p= A2(A2u uH +σ2I )-1u (A.8)
Applicando alla (A.8) il lemma di inversione matriciale
(A+ uuH)−1= A−1− A −1 u uHA−1 1+ uH A−1u (A.9) si trova p= 1
ρ
I− u uHρ
+ uH u ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ u =ρ
1 (ρ
+ uHu)[ρ
u+ (u Hu)u− u(uHu)]
= u