Sezione 18.3: Rumore nei ripetitori Su Capitolo 18: Caratterizzazione circuitale, rumore ed equalizzazione dati Sezione 18.5: Appendici 

18.4 Equalizzazione numerica

Occupiamoci ora di un argomento del tutto differente, ovvero come correggere una risposta in frequenza complessiva del mezzo trasmissivo e delle sue chiusure Hc(f) = Hi(f)Hq(f)Hu(f) che presenta distorsione lineare (§ 8.2) e dunque non soddisfa la condizione di canale perfetto (pag. 1), specializzando il discorso al caso di una trasmissione dati[1023]  [1023] I casi di segnale di banda base e di segnale modulato sono trattati nel seguito in modo unitario, facendo riferimento solo ai primi, ovvero alle c.a. di b.f.  nel caso di segnale modulato. per la quale Hc(f) può anche non essere nota a priori.
Andando con ordine, al § 15.3 abbiamo già osservato come l’equalizzazione può
figure f11.113.png
essere perseguita inserendo elementi filtranti sia presso il trasmettitore (HT(f)) che al ricevitore (HR(f)), realizzati in modo da ottenere
HT(f)Hc(f)HR(f) = a e −j2πfτ
annullando così l’effetto di Hc(f). Scegliendo di utilizzare uno solo dei due filtri si può delegare tutto il compito dell’equalizzazione a HT(f), riservando ad HR(f) il ruolo di filtrare il rumore esterno alla banda di segnale, come fatto ai cap. 14 e 19. Quando la Hc(f) del canale è nota a priori la sua inversione[1024]  [1024] Detta anche operazione di deconvoluzione, vedi https://en.wikipedia.org/wiki/Deconvolution. può essere approssimata sintetizzando HT(f) mediante un metodo di progetto filtri analogici (§ 5.1).
D’altra parte se l’equalizzazione è svolta solamente al lato ricevente si possono applicare tecniche volte a stimare la Hc(f) qualora non sia nota[1025]  [1025] Operazione necessaria se il canale cambia da un collegamento all’altro, come nel transito in una rete commutata, o nel caso di una comunicazione radiomobile., e quindi sintetizzare una realizzazione numerica di HR(f) tale da invertire Hc(f). In tal caso si determina la colorazione del rumore in ingresso al ricevitore (vedi pag. 1), che viene esaltato anche di molto nelle bande per le quali |Hc(f)| è particolarmente piccolo, come ad es. per un canale con echi di ampiezza simile, vedi pag. 1.
Nel caso di una trasmissione numerica è già prevista la presenza di un filtro HT(f) con la funzione di sagomatore di impulso (come componente del codificatore di linea, § 15.1.2), mentre la teoria del filtro adattato (§ 7.6) stabilisce che realizzando[1026]  [1026] Si veda l’eq. (10.172) a pag. 1, tralasciando il termine di fase lineare necessario a rendere hR(t) causale. HR(f) = H * T(f) si ottiene il massimo SNR all’istante di decisione. Lo schema di elaborazione complessivo è dunque quello rappresentato in fig. 18.16, che adottiamo come riferimento, ed in cui HR(f)H * T(f) = G(f), in modo che assieme realizzino un filtro di Nyquist[1027]  [1027] Sia che si abbia HR(f) = HT(f) = G(f) come per il caso del ricevitore ottimo (§ 15.5), sia nel caso in cui HT(f) = G(f), e HR(f) ha il solo scopo di filtrare il rumore. C’è poi l’aspetto trattato al § 15.5.1 relativo all’equalizzazione distribuita, che prevede di ripartire il compito in parti uguali tra i due lati, e che necessita di un canale di ritorno per comunicare al trasmettitore le stime operate a destinazione., e l’equalizzazione di Hc(f) sia demandata per intero al ricevitore, per mezzo di He(f).
figure f11.113b.png
Figure 18.16 Equalizzazione di un canale con distorsione lineare
In ingresso ad He(f) si presenta dunque il segnale
(21.134) y(t) = m = −∞am(t − mTs) + ν(t)
che dipende oltre che dai simboli am della sequenza informativa, anche dalla risposta impulsiva complessiva (t) = hT(t) * hc(t) * hR(t)[1028]  [1028] Che equivale all’impulso (t) di eq. (21.1) a pag. 1, mentre ν(t) tiene conto dell’effetto di HR(f) su n(t). Scegliamo di realizzare He(f) nella forma di un filtro fir (§ 5.2.1, vedi fig. 18.17) con 2N + 1 coefficienti cn, in modo che alla sua uscita si trovi il segnale[1029]  [1029] La (21.135) rappresenta l’uscita di un filtro fir anti-causale, dato che z(t) dipende da valori futuri di ingresso, fino a y(t + Nτ), mentre l’espressione causale che rispecchia la notazione usata nella figura dovrebbe essere z(t) = Nn = − Ncny(t − nτ − Nτ), che corrisponde ad un semplice ritardo dell’ingresso pari a Nτ, trascurato per semplicità di notazione nel seguito.
(21.135) z(t) = Nn = − Ncn y(t − nτ)
figure f11.113c.png
Figure 18.17 Filtro fir di equalizzazione
Osserviamo ora che se He(f) riesce nel suo intento l’isi introdotta dal canale è completamente rimossa e campionando l’uscita dell’equalizzatore (21.135) in corrispondenza degli istanti di simbolo si ottiene un valore z(mTs) che dipende da un solo am, oltre che dal rumore filtrato via HR(f)He(f); pertanto i coefficienti cn possono essere scelti direttamente con l’obbiettivo di annullare l’isi, anziché con quello di invertire Hc(f).
Illustriamo per prima una tecnica che non tiene in particolare conto la presenza del rumore, che viene invece considerato al § 18.4.2 e seguenti.

18.4.1 Equalizzatore zero forcing

Questa tecnica prevede che gli impulsi (t) ricevuti distorti attraversino un filtro trasversale i cui coefficienti sono calcolati in modo da (quasi) ripristinare le condizioni di Nyquist (nel dominio del tempo) per l’impulso geq(t) in uscita dal filtro.
figure f4.15.png
Per poter funzionare, si fa precedere il messaggio informativo dalla trasmissione di un impulso isolato di apprendimento, la cui forma d’onda (t) ricevuta distorta presenta un picco a t = 0 ed isi su entrambi i lati (Fig. 18.19a). Tale impulso (t) è posto in ingresso al filtro trasversale heq(t) con 2N + 1 coefficienti che ridisegnamo sotto con il ritardo τ tra gli ingressi pari a T, per un ritardo totale di attraversamento 2NT. In uscita da heq(t) si ottiene l’impulso
(21.136) geq(t) = Nn = − Ncn (t − nT − NT)
che campionato agli istanti tk = kT + NT fornisce
(21.137)
geq(tk) = Nn = − Ncn (kT − nT) = Nn = − Ncn k − n
avendo adottato l’abbreviazione k − n = (kT − nT); il risultato prende quindi la forma di una convoluzione discreta.
figure f4.15a.png
Figure 18.19 Impulso con isi prima e dopo equalizzazione, caso di N = 1
L’operazione di equalizzazione Zero Forcing consiste nel calcolare i coefficienti cn in modo che geq(t) soddisfi le condizioni di Nyquist almeno sui 2N + 1 termini centrati sull’origine, ovvero
(21.138) geq(tk) =  1   k = 0 0   k = ±1, ±2, ⋯, ±N
assicurando così l’assenza di isi almeno nei confronti degli N simboli precedenti e successivi. Il valore dei coefficienti cn in grado di soddisfare queste condizioni si ottengono risolvendo un sistema di 2N + 1 equazioni nelle 2N + 1 incognite cn, impostate a partire dalle relazioni (21.137) e (21.138), e rappresentato in forma matriciale come
(21.139)
0      ⋯       − 2N N − 1  − N − 1 N  − N N + 1  − N + 1 2N 0 c − N c − 1 c0 c1 cN  =  0 0 1 0 0
in cui la matrice dei termini noti è costituita dai 4N + 1 campioni di (t) prelevati agli istanti di simbolo  − 2N, …, 2N posti in modo simmetrico rispetto allo zero. Anche se il metodo non garantisce nulla per istanti esterni a ( − NT, NT), è ottimo nel senso che minimizza l’isi di picco, ed è semplice da realizzare. L’operazione di combinazione di più campioni ricevuti eseguita dal filtro di equalizzazione può avere l’effetto di aumentare la potenza di rumore, ma se questa non è eccessiva tale peggioramento è più che compensato dal miglioramento dell’isi.
Esempio Vogliamo realizzare un equalizzatore del terzo ordine, applicando quanto esposto all’impulso con ISI mostrato alla fig. 18.19a. Inserendo i valori di k mostrati nella matrice dei coefficienti (21.139) otteniamo
1.0 0.1    0.0 − 0.2 1.0    0.1 0.1  − 0.2    1.0 c − 1 c0 c1  =  0 1 0
da cui è possibile calcolare c − 1 = − 0.096 c0 = 0.96 c1 = 0.2. Inserendo ora uno ad uno i campioni di (t) in un filtro trasversale con questi coefficienti, si ottengono i valori di geq(t) mostrati in fig. 18.19b assieme ad una curva interpolata. Notiamo che sebbene il risultato desiderato (di azzerare geq(t) ai due istanti di simbolo ai lati del picco) sia stato ottenuto, risulta essere ancora geq ≠ 0 ad istanti più remoti.
Effetto del rumore dopo equalizzazione
Come anticipato l’approccio dello zero forcing trascura la presenza del rumore in ricezione. Poniamo che riesca nel suo intento di realizzare una He(f) = 1Hc(f) come desiderato: la densità di potenza del rumore in uscita sarà allora pari a
Pn(f) = N02 |HR(f)|2 |He(f)|2 = N02 |HR(f)|2|Hc(f)|2
che dunque subisce una maggiore amplificazione proprio alle frequenze per le quali |Hc(f)|2 è particolarmente ridotta. Illustriamo dunque nel seguito alcune tecniche che invece tengono conto della presenza del rumore.

18.4.2 Equalizzatore MMSE e filtro di Wiener

Con questa tecnica si sceglie di realizzare il filtro fir He(f) in forma totalmente numerica (§ 4.6.1) e di campionare y(t) con periodo τ = Ts2[1030]  [1030] Dato che per evitare aliasing (§ 4.1.1) la frequenza di campionamento fc = 1τ deve risultare maggiore del doppio della massima frequenza presente in y(t), scegliamo fc = 2fs, ovvero τ = Ts2. Infatti, un segnale dati di banda base a coseno rialzato occupa una banda a frequenze positive pari a B = fs2 (1 + γ), e dunque scegliendo fc = 2fs ci cauteliamo anche nel caso di γ = 1. La scelta di porre τ < Ts viene indicata anche con il termine di fractionally spaced equalizer o fse., ovvero facendo lavorare il filtro alla velocità di due campioni per simbolo. I coefficienti c del filtro fir He(f) di fig. 18.17 sono individuati come
c̃ = argmin {σ2e(c)}
ossia tali da rendere minimo[1031]  [1031] Piuttosto che l’azzeramento dell’errore, come nell’approccio zero forcing. l’errore quadratico medio σ2e = E{e2m}, in cui
(21.140) em = z(mTs) − am
è l’errore tra i campioni z(mTs) della (21.135) in uscita da He(f), ed i corrispondenti valori am della sequenza informativa[1032]  [1032] Tale errore dipende sia dal rumore presente in ingresso che dall’isi introdotta dal canale, le cui potenze sono quindi minimizzate in forma congiunta. che è stata trasmessa. Tale criterio è noto come mmse (minimum mean square error o minimo errore quadratico medio), e determina un risultato noto anche come filtro di Wiener[1033]  [1033] Vedi http://en.wikipedia.org/wiki/Wiener_filter.. In presenza di processi ergodici a media nulla l’errore quadratico medio σ2e corrisponde alla potenza dell’errore, che (applicando la (21.135) alla (21.140)) può essere espressa come
(21.141)
σ2e = E{(z(mTs) − am)2} = E{(Nn = − Ncny(mTs − nτ) − am)2}
evidenziandone la dipendenza dai coefficienti cn. La minimizzazione di σ2e si ottiene calcolando le sue derivate rispetto ai coefficienti cn, ed eguagliando l’espressione delle stesse a zero[1034]  [1034] In realtà la minimizzazione ha successo solamente se σ2e è una funzione convessa (vedi https://it.wikipedia.org/wiki/Funzione_convessa) dei cn, ma più avanti (pag. 1) troveremo che questo è proprio il nostro caso. , ovvero
(21.142)
ckσ2e  =  2E{[Nn = − Ncny(mTs − nτ) − am]y(mTs − kτ)} =   =  2(Nn = − NcnE{y(mTs − nτ)y(mTs − kτ)} − E{amy(mTs − kτ)}) = 0
nella quale riconosciamo che i valori attesi che vi compaiono corrispondono rispettivamente all’autocorrelazione (§ 7.1.4)
(21.143)
RY(n − k) = E{y(mTs − nτ)y(mTs − kτ)}
tra coppie di campioni del segnale ricevuto distanti |n − k|τ, ed all’intercorrelazione
(21.144) RYA(k) = E{y(mTs − kτ)am}
tra i campioni di y(t) distanti |k|τ dal generico simbolo am ed il valore del simbolo stesso, dove il valore atteso è calcolato rispetto alla variabilità della sequenza am e del rumore. Dato che entrambi gli indici n e k variano tra  − N e N, le eq. (21.142) si riscrivono come
(21.145) Nn = − NcnRY(n − k) = RYA(k)        k = − N,  − N + 1, ⋯, 0, ⋯, N − 1, N
note come equazioni di Wiener-Hopf, ovvero un sistema di 2N + 1 equazioni nelle altrettante incognite cn, la cui matrice dei coefficienti e vettore dei termini noti sono costituiti rispettivamente dalle (21.143) e (21.144).
Soluzione delle equazioni di Wiener-Hopf
Adottiamo innanzitutto per la (21.145) una notazione matriciale del tipo
(21.146) Bc = d
dove B = [bnk] = [RY(n − k)] è una matrice (2N + 1) × (2N + 1),
B =  RY(0) RY(1) RY(2) RY(2N) RY(1) RY(0) RY(1) RY(2N − 1) RY(2) RY(1) RY(0) RY(2N − 2) RY(3) RY(2) RY(1) RY(2N − 3) RY(2N) RY(2N − 1) RY(0)
c = [cn] è un vettore colonna i cui elementi sono i coefficienti del filtro, e d è il vettore dei termini noti d = [dk] = [RYA(k)][1035]  [1035]  In effetti, RY(n) e RYA(n) non sono note al ricevitore, ma nell’ipotesi di stazionarietà ed ergodicità per y(t) ed an, possono essere stimate a partire da una fase iniziale di apprendimento durante la quale viene trasmesso un segnale di test associato ad una sequenza {ak} nota al ricevitore, in base alla quale quest’ultimo calcola le medie temporali
        Y(n) = 1K Kk = 1y(kTs − nτ)y(kTs)      e        YA(n) = 1K Kk = 1y(kTs − nτ)ak
che quindi utilizza al posto delle medie di insieme nella (21.145).
. Con tale notazione i coefficienti ottimi si ottengono come
c̃ = B− 1 d
Osserviamo che la parità di RY(n) rispetto ad n (vedi schema a lato) rende B una matrice di Toepliz[1036]  [1036] http://en.wikipedia.org/wiki/Toeplitz_matrix, per la quale esistono metodi che semplificano in parte la soluzione diretta del sistema di equazioni, vedi anche la nota 524 a pag. 10.1.
Risposta in frequenza del filtro di Wiener
Affrontiamo una prima digressione per derivare l’espressione assunta da He(f) nel caso ottimo, ovvero quando c = c̃ e σ2e è minimo. Conviene procedere direttamente nel dominio delle sequenze, ed osservare che la risposta impulsiva campionata (con periodo τ) del filtro fir He(f) di fig. 18.17 è esattamente pari ai coefficienti c, ovvero he(n) = cn − N con n = 0, 1, 2⋯, 2N. Pertanto la (21.145) può essere letta come l’espressione della sequenza RYA(k) (per k = 0, ±1, ±2, ⋯, ±N) nei termini di una convoluzione discreta tra he(n) ed RY(n) anticipata di N:
(21.147) RYA(k) = 2Nn = 0he(n) RY(k − n + N)
Effettuando la dtft (§ 4.4) di entrambi i membri di (21.147) si ottiene[1037]  [1037] Viene applicata l’equivalenza tra convoluzione nel tempo e prodotto in frequenza, nonché quella tra trasformata della correlazione e densità di potenza. PYA(f) = He(f)PY(f)e j2πfNτ in cui PY(f) è la densità di potenza della sequenza y(n) in ingresso ad he(t), e PYA(f) è la densità di potenza mutua[1038]  [1038] Analogamente all’energia mutua (§ 3.2), PYA(f) esprime una similitudine tra due segnali e/o processi, frequenza per frequenza. Laddove risulti PYA(f) = 0, i segnali sono ortogonali in tale regione di frequenze. tra y(n) e la sequenza informativa a(n). Otteniamo pertanto
(21.148)
He(f) = PYA(f)PY(f) e −j2πfNτ
dove il termine e −j2πfNτ esprime il ritardo necessario a realizzare un filtro causale, e viene trascurato nel seguito. Le densità di potenza PY(f) e PYA(f) possono essere valutate eseguendo la dtft delle corrispondenti correlazioni che figurano nella (21.147), che (per simboli am incorrelati) risultano[1039]  [1039] Ricordando che y(t) = kakh(t − kTs) + ν(t) in cui h(t) è la risposta impulsiva complessiva h(t) = hT(t) * hc(t) * hR(t) (vedi fig. 18.16) e ν(t) rappresenta l’effetto di HR(f) su n(t), dalla (21.143) scriviamo RY(n) = E{y(mTs)y(mTs + nτ)} e quindi esprimendo h(mTs − kTs) come h((m − k)Ts) si ottiene
RY(n) =  E{(kakh((m − k)Ts) + ν(mTs))(iahh((m − i)Ts + nτ) + ν(mTs + nτ))} =  E{kiakaih((m − k)Ts)h((m − i)Ts + nτ) + ν(mTs)ν(mTs + nτ)  +   + ν(mTs + nτ)kakh((m − k)Ts) + ν(mTs)hahh((m − i)Ts + nτ)}
i cui termini dell’ultima riga risultano nulli se i simboli am sono statisticamente indipendenti dai campioni di rumore, ed almeno uno dei due processi è a media nulla. Essendo inoltre E{akai} = 0 per i ≠ k, il termine con la doppia sommatoria si riduce a
         E{a2k}kh((m − k)Ts)h((m − k)Ts + nτ) = RA(0)RH(n) = σ2aRH(n)
avendo considerato gli ak a media nulla. Infine, il termine E{ν(mTs)ν(mTs + nτ)} risulta pari alla correlazione Rνν(n) del processo di rumore.
           RY(n) = σ2aRH(n) + Rν(n)       e[1040]  [1040] Dalla (21.144) scriviamo RYA(n) = E{y(mTs − nτ)am} e quindi
RYA(n) =  E{(kakh((m − k)Ts − nτ) + ν(mTs − nτ))am} =   =  kE{akam}h((m − k)Ts − nτ) + E{ν(mTs − nτ)am}
e come prima troviamo E{ν(mTs − nτ)am} = 0, mentre della sommatoria rimane il solo termine k = m.
     RYA(n) = σ2ah( − n)
in cui RH(n) è l’autocorrelazione dei campioni (con periodo τ) delle risposta impulsiva complessiva h(t) = hT(t) * hc(t) * hR(t), Rν(n) è la correlazione tra campioni di ν(t) a distanza nτ, e σ2a = E{a2k}, sottintendendo gli ak a media nulla. La (21.148) si riscrive quindi come
(21.149) He(f) = σ2a H*(f)σ2a |H(f)|2 + Pν(f)
Possiamo osservare che qualora Pν(f) = 0 si ottiene He(f) = 1H(f), che pertanto assolve in pieno il compito di equalizzazione, come avviene per l’approccio zero forcing (§ 18.4.1). D’altra parte, dividendo numeratore e denominatore di He(f) per σ2a|H(f)|2 si ottiene
He(f) = 1H(f) 11 + 1SNR(f)
che evidenzia come l’effetto del rumore sia quello attenuare la risposta in frequenza He(f) nelle regioni in cui SNR(f) (non in dB) è più piccolo, ossia dove c’è meno segnale, e/o più rumore. Infine, nel caso di rumore elevato la (21.149) diviene He(f) = H*(f) σ2aPν(f) (o, in caso di rumore bianco, He(f) = H*(f) σ2aσ2υ) come per un filtro adattato (§ 7.6); essendo il termine H*(f) comunque presente, si può scegliere di realizzare HR(f) (vedi fig. 18.16) con il solo scopo di limitare la potenza di rumore[1041]  [1041] In particolare, scegliendo HR(f) = rect2fs(f) si ottiene che i campioni di rumore presi con intervallo τ = 12Ts sono incorrelati e dunque statisticamente indipendenti perché gaussiani. Infatti Pν(f) = N02 |HR(f)|2 e dunque Rν(τ) = N02 2fs sinc(2fsτ), che quindi si azzera per τ = 12Ts, vedi § 7.2.4. In tal caso la (21.149) diviene He(f) = σ2a H*(f)σ2a |H(f)|2 + σ2υ..
Qualora i simboli informativi am siano tra loro correlati la (21.149) diviene[1042]  [1042] Per quanto il risultato sembri banale, la dimostrazione non è troppo diretta, e si basa sullo scomporre il termine
E{kiakaih((m − k)Ts)h((m − i)Ts + nτ)} = kiRA(i − k)h((m − k)Ts)h((m − i)Ts + nτ)
tenendo conto della stazionarietà di am e dunque della simmetria di RA(n), in una somma di termini
              pRA(p)ih((m − i)Ts)h((m − i − p)Ts + nτ) = pRA(p)RH(n + 2p)
in cui si tiene conto che Ts = 2τ, mentre gli am sono prodotti uno per simbolo; introducendo RA(n) =  RAn2 npari 0  altrimenti e con qualche cambio di variabile si ottiene infine qRA(q)RH(n − q) che ha l’aspetto rassicurante della convoluzione, da cui scaturisce il risultato.
He(f) = PA(f) H*(f)PA(f) |H(f)|2 +  Pν(f)
in cui PA(f) è la dtft della correlazione dei simboli RA(n) = E{amam + n} o spettro del codice (pag. 1). La stessa espressione è valida per un filtro di Wiener di tipo più generale, che esegue ad esempio la deriverberazione di un segnale audio con densità di potenza PA(f).
Analisi della potenza di errore
Sviluppiamo ora una seconda digressione sul significato geometrico della minimizzazione di σ2e, che può essere considerato come una funzione dei coefficienti c, e di cui si cerca il minimo (ovvero c̃ = argmin{σ2e(c)}), che mostriamo essere unico. Infatti, l’espressione di σ2e(c) = E{e2m} si ottiene dalla (21.141) come
(21.150) σ2e(c) = E{(Nn = − Ncny(mTs − nτ) − am)(Nk = − Ncky(mTs − kτ) − am)} =   = Nn = − NNk = − NcnckRY(n − k) − 2Nk = − NckRYA(k) + E{a2m}
che è un polinomio completo di secondo grado nelle 2N + 1 variabili cn, ed essendo [RY(n − k)] una matrice definita positiva, σ2e(c) presenta un unico minimo globale[1043]  [1043] Ciò deriva dal fatto che [RY(n − k)] = B è legata alla matrice di covarianza ΣY (§ 6.7.3) dalla relazione [RY(n − k)] = ΣY + m2Y (vedi eq. (10.152) a pag. 1 in condizioni stazionarie), e dato che ΣY è una matrice definita positiva lo è anche [RY(n − k)], non decadendo la proprietà in seguito alla somma per una quantità positiva (m2Y). Pertanto la forma quadratica Nn = − NNk = − NcnckRY(n − k) è ovunque convessa (vedi § 6.7.3), e dotata di un unico minimo globale. Questa proprietà permane anche considerando gli altri due termini della (21.150) che concorrono al valore di σ2e(c), essendo questi rispettivamente lineari in c e costanti, e che dunque non ne modificano la convessità., e la sua espressione può essere riscritta in forma matriciale come[1044]  [1044] Considerando la sequenza informativa am a media nulla, si ha E{a2m} = σ2a.
(21.151)
σ2e(c) = ctBc − 2 ctd + σ2a
In corrispondenza della soluzione c̃ = B− 1 d della (21.146) si ottiene la minima varianza di errore, pari a[1045]  [1045] 
σ2e(c̃)  =  c̃tBc̃ − 2c̃td + σ2a = c̃tBc̃ − 2c̃tBc̃ + σ2a =   =  σ2a − c̃tBc̃ = σ2a − c̃td = σ2a − dtB− 1 d
avendo prima sostituito d = Bc̃ e poi il contrario, e valutato c̃t = (B− 1 d)t = dt(B− 1)t = dtB− 1 in quanto B è una matrice simmetrica, così come la sua inversa.
(21.152)
σ2emin = σ2e(c̃) = σ2a − dtB− 1 d = σ2a − c̃tBc̃ = σ2a − σ2z
avendo notato che il termine σ2z = c̃tBc̃ corrisponde[1046]  [1046] Considerando z a media nulla, si ha σ2z = E{z2} = E{c̃tyytc̃} = c̃tE{yyt}c̃ = c̃tBc̃. alla potenza dell’uscita z = zm, ovvero σ2z = E{z2}. Accade ora che la (21.151) può essere espressa anche come[1047]  [1047] Infatti
(Bc − d)tB− 1(Bc − d)  =  ctBtB− 1 Bc − ctBtB− 1 d − dtB− 1 Bc + dtB− 1 d =   =  ctBc − ctd − dtc + dtB− 1 d = ctBc − 2 ctd + dtB− 1 d
σ2e(c) = (Bc − d)tB− 1(Bc − d) − dtB− 1 d + σ2a
e tenendo conto della prima delle (21.152) si ottiene
(21.153)
σ2e(c) = σ2emin + (Bc − d)tB− 1(Bc − d)
evidentemente pari a σ2emin qualora c = c̃ e dunque Bc̃ = d. Essendo B una matrice definita positiva lo è anche la sua inversa B− 1, ed esiste (vedi § 6.7.3) una matrice unitaria Γ con colonne pari agli autovettori di B− 1 tale da poter scrivere B− 1 =  ΓΛΓt, dove Λ è una matrice diagonale con elementi pari all’inverso degli autovalori λi di B; indicando allora con cδ il vettore Bc − d = B(c − c̃) legato alla differenza tra i coefficienti generici e quelli ottimi, e con u = Γtcδ la sua versione trasformata nella base individuata dagli autovettori, la (21.153) diviene
σ2e(u) = σ2emin + utΛu = σ2emin + 2Ni = 0 u2iλi
che rappresenta l’equazione di un iperparaboloide ellittico, con assi principali pari agli autovettori di B− 1.

18.4.3 Metodo del gradiente

Benché si sia pervenuti alla (21.153) che esprime σ2e(c) in funzione del vettore di coefficienti c di He(f), la sua minimizzazione diretta comporta la soluzione del sistema (21.146). Ciò non è necessario adottando un metodo iterativo noto come discesa del gradiente[1048]  [1048] Vedi http://it.wikipedia.org/wiki/Discesa_del_gradiente che si basa su di un approccio per così dire altimetrico e che considera σ2e(c) come una (iper)superficie in uno spazio 2N + 1 dimensionale, e partendo da un vettore iniziale c0 di coefficienti scelti casualmente e dall’associata quota σ2e(c0), ad ogni iterazione calcola nuovi coefficienti ci tali che σ2e(ci + 1) ≤ σ2e(ci), di fatto scendendo lungo il crinale[1049]  [1049] Coma abbiamo discusso, il minimo è unico, dunque raggiungibile da dovunque si parta. della superficie σ2e(c).
A questo scopo ci si basa sulla conoscenza del gradiente di σ2e(c) che indichiamo come g(c), cioè (pag. 9.6.1) del vettore le cui componenti gn sono le derivate parziali di σ2e rispetto ai coefficienti che compongono c, ovvero gn = σ2e(c)cn: esse sono tanto maggiori quanto più è ripida la pendenza di σ2e nella direzione di cn, e si azzerano tutte nel punto di minimo c̃. Pertanto l’orientamento del vettore g(c̊) per ogni vettore c̊ ≠ c̃ indica la direzione verso la quale σ2e(c̊) cresce di più.
Essendo anche il gradiente una funzione di c il suo valore può essere calcolato a partire dalla (21.151) ottenendo g(c) = 2 Bc − 2 d, che infatti si azzera per c̃ = B− 1 d. Scegliendo casualmente un vettore iniziale di coefficienti c0, ad ogni iterazione i nuovi valori sono calcolati come
(21.154) ci + 1 =  ci − Δg(ci)
figure discesa-gradiente.png
ovvero spostando ogni coefficiente cn in direzione opposta alla relativa componente del gradiente gi = g(ci) calcolato in quel punto, di una quantità ad esso proporzionata dal parametro Δ, quest’ultimo pari ad piccolo numero positivo che determina la velocità di convergenza dell’algoritmo[1050]  [1050] Una regola pratica suggerisce di porre Δ = 15(2N + 1) PY in cui PY è la potenza ricevuta di segnale più rumore. Valori maggiori possono accelerare la convergenza, ma dare anche luogo ad instabilità della soluzione, mentre valori più piccoli rallentano la convergenza, ma possono produrre errori finali minori.. Viene quindi calcolato un nuovo valore gi + 1 =  g(ci + 1), ed il procedimento iterato fino a quando non si verifica che |gi| < ε, nel qual caso si ritiene raggiunto l’ottimo c̃. La figura precedente rappresenta un esempio unidimensionale di applicazione del metodo, in cui il gradiente è pari alla derivata dydx, ovvero alla tangente dell’angolo α tra la funzione e l’asse orizzontale, e mostra i diversi valori ci ottenuti nelle iterazioni.

18.4.3.1 Equalizzazione adattiva LMS

Il metodo ora esposto si basa sul calcolo ripetuto di gi = 2( Bci − d), ma... se la H(f) del canale varia nel tempo, lo stesso avviene per B e per d, così come dovrebbe avvenire per il valore dei coefficienti c̃! Per fronteggiare la contingenza ed allo stesso tempo evitare di stimare RY(n) e RYA(n) si può adottare un diverso metodo di discesa del gradiente, detto ora stocastico (o lms[1051]  [1051] Ossia least mean square, vedi anche http://en.wikipedia.org/wiki/Least_mean_squares_filter) perché opera a partire da una stima del gradiente, aggiornata ad ogni periodo di simbolo, così come ad ogni simbolo sono aggiornati i coefficienti c, utilizzati allo stesso tempo per eseguire l’equalizzazione.
Tutto inizia considerando che in base alla (21.142) il gradiente può essere valutato (a meno di un fattore due) per i valori cm utilizzati all’istante t = mTs anche come[1052]  [1052] Un interessante modo di interpretare la (21.155) si basa sull’osservare che la minimizzazione di (21.141) ovvero l’azzeramento del gradiente (21.142) gm = 0 comporta che ciascun valore di errore em deve essere ortogonale (in senso statistico, vedi § 7.7.2) a tutte le osservazioni ym − N, ⋯, ym + N da cui dipende la stima z(mT), ossia le 2N + 1 coppie di sequenze devono essere incorrelate, e quindi prive di legami di tipo lineare.
(21.155) gm = E{emym}
in cui em = z(mTs) − am è l’errore commesso dall’equalizzatore rispetto al simbolo trasmesso (e, nella fase di apprendimento, noto in ricezione[1053]  [1053] La sequenza dei simboli trasmessi è nota all’inizio della trasmissione, e spesso generata nella forma di una sequenza pseudo-noise. Durante la fase di apprendimento l’algoritmo viene lasciato iterare arrivando alla stima dei coefficienti c; terminata questa fase ha inizio la trasmissione vera e propria, e l’equalizzatore commuta su di una modalità dipendente dalle decisioni, in cui l’errore em è valutato rispetto ai valori ~am emessi dal decisore: se la probabilità di errore per simbolo non è troppo elevata, la maggior parte delle volte la decisione è esatta, ed il metodo continua a funzionare correttamente.) ed ym è il vettore dei 2N + 1 campioni ym(n) memorizzati nello stato del filtro he(t) al momento di produrre l’uscita z(mTs). La (21.155) viene poi approssimata tralasciando di effettuare la media di insieme, ossia valutando la stima del gradiente come[1054]  [1054] Poniamo di eseguire l’aggiornamento (21.156) dei coefficienti c ogni K periodi di simbolo: otterremmo cm + K = cm − ΔK− 1k = 0em + kym + k, in cui il termine sommatoria risulta in effetti proporzionale alla stima di E{emym}, almeno più di quanto non appaia il termine emym che compare isolato nella (21.156). m = emym, da usare poi nella formula di aggiornamento dei coefficienti cn derivata dalla (21.154):
(21.156) cm + 1 =  cm − Δemym
La (21.156) è improntata ad un principio di correzione dai propri errori, ovvero i coefficienti ricevono un colpetto in su o in giù, in modo da ridurre l’errore commesso[1055]  [1055] Possiamo infatti notare che alla m − esima iterazione della (21.156) il coefficiente cn viene aumentato se em e yn sono di segno opposto, e diminuito se concorde. Ovvero: se l’uscita è piccola allora em = z(mTs) − am < 0, e il contributo cn dell’n-esima memoria viene aumentato se ym(n) è positivo, o diminuito se ym(n) è negativo; viceversa, se em = z(mTs) − am > 0 (uscita troppo grande) il valore di cn viene aumentato se ym(n) è negativo, e diminuito nel caso opposto. Inoltre, se cn e ym(n) hanno lo stesso segno contribuiscono a zm come un termine positivo, oppure come un termine negativo se di segno diverso. Infine, la colonna δ esprime la variazione del contributo di cnym(n) a zm, frutto della variazione di cn e dei segni di cn e di ym(n). Come si può verificare, δ è sempre tale da contribuire alla riduzione di em.   
em ym(n) cn cn cnym(n) δ
 +   + 
 +   + 
 +   + 
 −   − 
 +   − 
 +   − 
 +   − 
 −   + 
 −   + 
 +   + 
 −   + 
 −   − 
 −   − 
 +   − 
 −   − 
 −   + 
. Il
figure equal-adatt-LMS.png
metodo del gradiente stocastico trova applicazione in molteplici ambiti, ivi comprese le reti neurali.
La figura a lato mostra uno schema di architettura per il filtro adattivo, che opera come equalizzatore con periodo di campionamento τ = Ts2, e ad ogni periodo di simbolo esegue l’aggiornamento dei propri coefficienti, in accordo alla (21.156), mediante l’operatore di accumulo simbolizzato dalla cerchiata.

18.4.4 Equalizzatore a reazione

Questo approccio realizza una sorta di equalizzazione dell’equalizzazione, vediamo in che senso. Intanto osserviamo che i valori em che compongono la sequenza di errore em = z(mTs) − am (la differenza tra l’uscita zm di He(f) ed il simbolo trasmesso am) sono tra loro correlati, dato che
La tecnica del decision feedback equalizer o dfe sfrutta questa correlazione per predire i valori em a partire dagli errori agli istanti di simbolo precedenti, mediante un secondo filtro fir che stima m = Nn = 1 pnem − n, e contribuisce ad una grandezza di decisione zm = am + em − m affetta da un errore ancora più piccolo.
figure f11.113da.png
Il filtro di predizione è indicato come P(f) nello schema di figura, nel quale si suppone assenza di errori di decisione, ovvero m = am, ed i coefficienti pn ottimizzati applicando ad es. il criterio mmse all’errore sull’errore, ossia E{(em − m)2} = min. Ma lo stesso schema può essere ricablato come appare in fig. 18.23-a), in cui P(f) ed il sommatore in uscita sono sdoppiati: ciò consente di riunificare He(f) e P(f) in un unico filtro in avanti o di smoothing, la cui uscita viene ora fatta dipendere dal segnale ricevuto nei soli istanti di simbolo passati[1056]  [1056] Ovvero il filtro fir ha solo i ritardi relativi ai coefficienti cn con n ≥ 0, così come la sommatoria (21.135)..
a)
figure f11.113db.png


b) figure f11.113d.png
Figure 18.23 Schema simbolico di un decision feedback equalizer
Lo schema di equalizzazione diviene quindi quello di fig. 18.23-b), in cui il filtro all’indietro o di controreazione è indicato come di feedback, opera alla frequenza di simbolo fs, e la sua uscita m dipende solamente dalle decisioni precedenti m[1057]  [1057] Anche qui, nella fase di apprendimento sono usati i valori am noti a priori, mentre in quella successiva si usano quelli m emessi dal decisore, supposti per la maggior parte esatti., una cui combinazione lineare è usata per correggere i valori emessi dal primo filtro: la grandezza in ingresso al decisore può quindi essere ora espressa come
(21.157)
zm = N1n = 0cny(mTs − nτ) − N2n = 1dnm − n
I coefficienti dn del filtro di feedback possono essere anch’essi stimati in maniera adattiva mediante il metodo del gradiente stocastico, dando così luogo alla architettura computazionale di figura 18.24, in cui la grandezza che guida l’aggiornamento dei dn è la stessa misura dell’errore em usata per l’aggiornamento dei cn del filtro in avanti, portando ad adattare la (21.156) come dm + 1 =  dm − Δemam, in cui am è il vettore dei simboli precedentemente decisi am − 1, am − 2, ⋯, am − N2 e presenti nella memoria del filtro di feedback.
figure f11.113e.png
Figure 18.24 Architettura di un equalizzatore dfe basato sul gradiente stocastico
Dato che il filtro di feedback opera sui simboli già decisi e per questo privi di rumore, non introduce nuovo rumore, che anzi è in generale ridotto grazie alla minore lunghezza del filtro in avanti. D’altra parte la presenza del decisore nell’anello di reazione rende il metodo non lineare, e per questo l’effetto moltiplicativo di eventuali errori di decisione non può essere analizzato dal punto di vista teorico, ma solo essere studiato mediante simulazione.

18.4.5 Equalizzazione come sequenza di massima verosimiglianza

Le tecniche finora illustrate effettuano la decisione simbolo per simbolo, mentre il metodo che stiamo per analizzare produce una stima di quanto ricevuto solo dopo aver preso in esame una intera sequenza di N simboli, operando una maximum likelihood sequence detection o mlsd. In questo caso non viene utilizzato nessun filtro aggiuntivo, e la funzione di equalizzazione è assolta dal decisore che opera in base all’algoritmo di Viterbi (pag. 1), con costi dei percorsi calcolati in modo simile a quelli del soft decision decoding di pag. 1.
Per illustrare il funzionamento di mlsd iniziamo con il riconsiderare i campioni ym = y(mTs) del segnale ricevuto (21.134) come
(21.158) ym = Nn = 0anh(mTs − nTs) + νm = h0am + Nn = 0,  n ≠ manhm − n + νm
in cui h(t) = hT(t) * hc(t) * hR(t), evidenziando così le componenti di errore dovuto all’isi (la n ≠ m) ed al rumore νm. Il problema viene quindi impostato come quello della stima della sequenza a = {am} a partire dalla conoscenza della sola sequenza di osservazione y = {ym}, e per il quale la soluzione di massima verosimiglianza individua â in modo tale che p(y ⁄ a)|a = â è massima.
La (21.158) evidenzia inoltre come la componente aleatoria di y sia tutta riconducibile a quella della sequenza di rumore ν, dato che l’effetto del canale si riduce ad una convoluzione discreta e dunque è deterministico; pertanto ym è una v.a. con media ym(a) = Nn = 0anhm − n e d.d.p. gaussiana pν(ym ⁄ a) condizionata ad a, che ne determina la sequenza dei valori medi. Se le realizzazioni νm sono staticamente indipendenti[1058]  [1058] A questo proposito, è opportuno che HR(f) sia realizzato come un passa basso e non come un filtro adattato, o nel caso di rumore colorato in ingresso, che si effettui una operazione di sbiancamento. la p(y ⁄ a) è il prodotto dei singoli contributi pν(ym ⁄ a), da valutare per tutti gli m e per tutti i modi di scegliere a, e quindi trovare â = argmax Mm = 0 pν(ym ⁄ a) o, equivalentemente
(21.159) â = argminMm = 0− ln (pν(ym ⁄ a))
Quest’ultimo passaggio trova motivazione nella espressione della d.d.p. gaussiana pν(y) = 12πσν exp{− (y − y)22σ2ν} per cui ln (pν(y)) = − ln (2πσν) − (y − y)22σ2ν, e dato che σν è la stessa per tutti gli istanti m, il suo valore non contribuisce alla minimizzazione (21.159), che diviene pertanto
â = argminMm = 0(ym − ym(a))2
La sequenza ottima â è quindi quella che minimizza la somma degli scarti quadratici tra le osservazioni ym ed il corrispondente valore atteso, e viene trovata utilizzando l’algoritmo di Viterbi (pag. 1) riconducendo il problema a quello di individuare un percorso di minimo costo nell’ambito del traliccio che rappresenta tutte le possibili sequenze a.
Esempio
amam − 1 ym
1,1 1.5
1,-1 0.5
-1,1 -0.5
-1,-1 -1.5
Ipotizziamo una hn =  1  conn = 0        0.5  conn = 1  ed una trasmissione antipodale binaria con a = {1,  − 1}; la (21.158) si scrive quindi come
.                             ym = amh0 + am − 1h1 + νm
che rappresenta un filtro fir di primo ordine, la cui uscita in assenza di rumore assume uno dei 4 possibili valori mostrati in tabella in funzione di amam − 1. Il traliccio di ricerca può quindi essere tracciato come appare in alto in fig. 18.26, identificando i valori di am − 1 con le righe  + 1 e  − 1, e quelli di am con il tratteggio ( − 1) o la linea continua (1) degli archi che uniscono le colonne, considerando a − 1 = a − 2 = 1; sopra ogni arco è quindi scritto il valore di ym corrispondente. Nella parte centrale della figura gli archi sono invece etichettati con i costi (ym − ym(a))2 associati all’osservazione della sequenza y = 0.4, 1.3, 0.9, e sono evidenziati i costi minimi simbolo per simbolo, che porterebbero a decidere per  − 1, 1, 1. Al contrario, la figura in basso mostra il costo totale del miglior percorso che raggiunge le righe del traliccio per ogni istante di simbolo, assieme alle frecce che indicano il miglior predecessore. L’applicazione del criterio mlsd determina quindi la decisione per 1, 1, 1, con un bit di differenza.
figure f11.113f.png
Figure 18.26 Costruzione del traliccio per un decodificatore mlsd
Il metodo con cui l’algoritmo di Viterbi esplora il traliccio per individuare il percorso di minimo costo, e l’associata sequenza â, è illustrato al § 17.4.2.1 e non viene qui ripetuto.

18.4.6 Confronto delle prestazioni di equalizzazione

La figura che segue[1059]  [1059] Tratta da J.G. Proakis, M. Salehi, Communication systems engineering, 2nd Ed., 2002 Prentice-Hall confronta Pe vs. SNR per una modulazione binaria antipodale nei casi di assenza di isi oppure di un canale con h0h1h2 = 0.4, 0.8, 0.4, i cui effetti sono compensati mediante equalizzazione realizzata in base alle tecniche fin qui illustrate.
figure f11.113g.jpg
Come si vede il mlsd si comporta meglio di tutti, e determina il valore delle prestazioni ottime. Al contrario, le prestazioni di mmse appaiono come le peggiori, essenzialmente a causa della amplificazione del rumore nelle bande in cui il canale ha guadagno nullo[1060]  [1060] Nonostante mmse tenti di minimizzare σ2e tenendo conto sia dell’isi che del rumore, le sue prestazioni degradano in presenza di canali che manifestano profonde attenuazioni per alcune frequenze. D’altra parte per canali meno problematici, le sue prestazioni possono avvicinarsi a quelle dell’mlsd.; d’altro canto, il dfe ne migliora sensibilmente le prestazioni, pur non raggiungendo quelle di mlsd. Ciò che rende poco diffuso l’mlsd però è l’elevata complessità computazionale, oltre al ritardo da attendere per una decisione su intere sequenze, nonché le difficoltà a rendere adattativo l’algoritmo nel caso di condizioni non stazionarie.

18.4.7 Considerazioni conclusive

A volte l’operazione di equalizzazione non si svolge mediante un filtro, ma in un modo peculiare a seconda del tipo di modulazione. Abbiamo osservato al § 16.8.7 come nel caso dell’ofdm sia sufficiente moltiplicare il simbolo an ricevuto su ogni portante per l’inverso della risposta in frequenza Hn del canale equivalente passa basso, ovvero n = an1Hn. Nel caso di una trasmissione a spettro espanso, la stima delle caratteristiche dei cammini multipli viene usata da un ricevitore Rake (§ 20.5.2) per attuare l’equalizzazione di canale mediante ritardi e prodotti complessi; qualora però il rumore additivo sia colorato (o generato da interferenti) il ricevitore RAKE può essere generalizzato per tenerne conto.
Citiamo infine la soluzione dell’equalizzazione turbo[1061]  [1061] Vedi ad es. https://en.wikipedia.org/wiki/Turbo_equalizer, in cui lo stadio di equalizzazione e quello di decodifica si scambiano decisioni soffici ovvero verosimiglianze logaritmiche che rappresentano l’informazione estrinseca (pag. 1) relativa ai simboli ricevuti, iterando i rispettivi compiti finché non pervengono alle stesse decisioni.
 Sezione 18.3: Rumore nei ripetitori Su Capitolo 18: Caratterizzazione circuitale, rumore ed equalizzazione dati Sezione 18.5: Appendici