Source: https://teoriadeisegnali.it/libro/html/html/libro-15.4.html
Timestamp: 2019-11-15 03:35:45+00:00

Document:
Prec Sezione 15.3: Rumore nei ripetitori Su Capitolo 15: Caratterizzazione circuitale, rumore e equalizzazione Sezione 15.5: Appendici Segue
15.4 Equalizzazione↓
Passiamo ora ad occuparci di un argomento del tutto differente, ovvero delle operazioni necessaria qualora la risposta in frequenza complessiva del mezzo trasmissivo e delle sue chiusure Hc(f) = Hi(f)Hq(f)Hu(f) esibisca distorsione lineare (§ 7.2↑) e dunque non soddisfi la condizione di canale perfetto (pag. 1↑). L’equalizzazione può essere intrapresa inserendo elementi filtranti presso il trasmettitore (HT(f)) ed il ricevitore (HR(f)), realizzati in modo da ottenere
HT(f)Hc(f)HR(f) = ae − j2πfτ
annullando in tal modo la distorsione lineare intodotta da Hc(f).
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.
Se non si utilizzano entrambi i filtri, ma uno solo di essi, si può delegare il compito dell’equalizzazione al solo HT(f), riservando ad HR(f) il ruolo di filtrare il rumore esterno alla banda di segnale, come fatto ai cap. 13↑ e 16↓. Nel caso in cui la Hc(f) del canale sia nota a priori, la sua inversione [684] [684] 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 [685] [685] http://en.wikipedia.org/wiki/Analogue_filter.
D’altra parte, se l’equalizzazione è svolta solamente al lato ricevente, si possono applicare delle tecniche volte a stimare la Hc(f) non nota [686] [686] 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). Ma in questo 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↑.
15.4.1 Equalizzazione numerica
Da qui in avanti prendiamo in esame esclusivamente il caso delle trasmissioni numeriche, per le quali è già prevista la presenza di un filtro HT(f) con la funzione di sagomatore di impulso (come componente del codificatore di linea, § 8.1.2↑), mentre la teoria del filtro adattato (§ 6.5↑) predice che realizzando [687] [687] Si veda l’eq. (10.31↑) 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. 15.16↓, che adottiamo come riferimento, ed in cui HR(f)H*T(f) = G(f), in modo che assieme realizzino un filtro di Nyquist [688] [688] Sia che si abbia HR(f) = HT(f) = √(G(f)) come per il caso del ricevitore ottimo (§ 8.7↑), sia nel caso in cui HT(f) = G(f), e HR(f) ha il solo scopo di filtrare il rumore., e l’equalizzazione di Hc(f) sia demandata per intero al ricevitore, per mezzo di He(f).
Figura 15.16 Equalizzazione di un canale con distorsione lineare
In ingresso ad He(f) si presenta dunque il segnale
(16.75) y(t) = ∞⎲⎳m = − ∞amh(t − mTs) + ν(t)
che dipende oltre che dai simboli am della sequenza informativa, anche dalla risposta impulsiva complessiva h(t) = hT(t)*hc(t)*hR(t) = g̃(t) [689] [689] Che equivale all’impulso g̃(t) di eq. (10.58↑) a pag. 1↑, mentre ν(t) tiene conto dell’effetto di HR(f) su n(t). Decidiamo ora di voler realizzare He(f) nella forma di un filtro fir (§ 6.7.1↑, vedi fig. 15.17↓) con 2N + 1 coefficienti cn, in modo che alla sua uscita si trovi il segnale [690] [690] La (16.76↓) 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.
(16.76) z(t) = N⎲⎳n = − Ncny(t − nτ)
Osserviamoquindi che qualora He(f) riesca nel suo intento, l’isi introdotta dal canale è completamente rimossa, e se la sua uscita z(t) viene campionata in corrispondenza degli istanti di simbolo, il suo valore z(mTs) 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).
Figura 15.17 Filtro fir di equalizzazione
Illustriamo per prima una tecnica che non tiene in particolare conto la presenza del rumore, che viene invece considerato al § 15.4.3↓ e seguenti.
15.4.2 Equalizzatore zero forcing↓
Questa tecnica prevede che gli impulsi ricevuti distorti g̃(t) attraversino un filtro trasversale, i cui coefficienti sono calcolati in modo da ripristinare in forma approssimata le condizioni di Nyquist (nel dominio del tempo) per l’impulso geq(t) in uscita dal filtro. Mostriamo come.
A lato è mostrato un filtro trasversale (vedi § 6.7↑) con 2N + 1 coefficienti ed un ritardo totale 2NT. Il messaggio informativo è preceduto dalla trasmissione di un impulso isolato di apprendimento, la cui forma d’onda distorta ricevuta g̃(t) presenta un picco a t = 0 ed isi su entrambi i lati (Fig. 15.19↓a).
Figura 15.19 Impulso con isi prima e dopo equalizzazione
Ponendo g̃(t) in ingresso al filtro heq(t), e considerando il ritardo τ tra gli ingressi pari a T, in uscita si ottiene l’impulso
(16.77) geq(t) = N⎲⎳n = − Ncng̃(t − nT − NT)
che campionato agli istanti tk = kT + NT fornisce
(16.78) geq(tk) = N⎲⎳n = − Ncng̃(kT − nT) = N⎲⎳n = − Ncng̃k − n
avendo adottato l’abbreviazione g̃k − n = g̃(kT − nT); il risultato prende quindi la forma di una convoluzione discreta↓. 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
(16.79) 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 (16.78↑) e 16.79↑, e rappresentato in forma matriciale come
(16.80) ⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣ g̃0 ⋯ g̃ − 2N ⋮ ⋮ g̃N − 1 ⋯ g̃ − N − 1 g̃N ⋯ g̃ − N g̃N + 1 ⋯ g̃ − N + 1 ⋮ ⋮ g̃2N ⋯ g̃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 g̃(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 il principio illustrato all’impulso con ISI mostrato alla fig. 15.19↑a. Inserendo quei valori di g̃k nella matrice dei coefficienti (16.80↑), 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 g̃(t) in un filtro trasversale con questi coefficienti, si ottengono i valori di geq(t) mostrati in fig. 15.19↑b assieme ad una curva interpolata. Notiamo che sebbene sia stato ottenuto il risultato desiderato di azzerare geq(t) ai due istanti di simbolo ai lati del picco, risulta ancora essere 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) = 1⁄Hc(f) come desiderato: il rumore in uscita presenterà allora una densità di potenza pari a Pn(f) = (N0)/(2)|HR(f)|2|He(f)|2 = (N0)/(2)(|HR(f)|2)/(|Hc(f)|2), e dunque può subire una amplificazione notevole in corrispondenza delle frequenze per le quali |Hc(f)|2 è particolarmente ridotta. Illustriamo dunque nel seguito alcune tecniche che invece tengono conto della presenza del rumore.
15.4.3 Equalizzatore MMSE↓ e filtro di Wiener↓
Innanzitutto, decidiamo di realizzare il filtro fir He(f) in forma totalmente numerica (§ 4.5.1↑), scegliendo di campionare y(t) con periodo di campionamento τ = Ts⁄2 [691] [691] 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 τ = Ts⁄2. Infatti, un segnale dati di banda base a coseno rialzato occupa una banda a frequenze positive pari a B = (fs)/(2)(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., facendo dunque lavorare il filtro alla velocità di due campioni per simbolo.
In questo approccio i coefficienti c del filtro fir He(f) di fig. 15.17↑ sono individuati come quelli in grado di rendere minimo [692] [692] Piuttosto che l’azzeramento dell’errore, come nell’approccio zero forcing. l’errore quadratico medio σ2e = E{e2m} in cui
(16.81) em = z(mTs) − am
è l’errore tra i campioni z(mTs) della (16.76↑) in uscita da He(f), ed i corrispondenti valori am della sequenza informativa [693] [693] 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 [694] [694] 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 (16.76↑) alla (16.81↑)) può essere espressa come
(16.82) σ2e = E{(z(mTs) − am)2} = E{(N⎲⎳n = − Ncny(mTs − nτ) − am)2}
evidenziandone la dipendenza dai coefficienti cn. La minimizzazione di σ2e si ottiene dunque calcolandone le derivate rispetto ai coefficienti cn, ed eguagliando l’espressione delle stesse a zero [695] [695] 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
(16.83) (∂)/(∂ck)σ2e = 2E{(N⎲⎳n = − Ncny(mTs − nτ) − am)y(mTs − kτ)} = = 2(N⎲⎳n = − NcnE{y(mTs − nτ)y(mTs − kτ)} − E{amy(mTs − kτ)}) = 0
da cui si ottengono le condizioni
(16.84) N⎲⎳n = − NcnℛY(n − k) = ℛYA(k) k = − N, − N + 1, ⋯, 0, ⋯, N − 1, N
che rappresentano un sistema di 2N + 1 equazioni nelle incognite cn, note come equazioni di Wiener-Hopf, e la cui matrice dei coefficienti e vettore dei termini noti sono costituiti rispettivamente dai valori di autocorrelazione (§ 6.1.4↑)
(16.85) ℛY(n − k) = E{y(mTs − nτ)y(mTs − kτ)}
tra coppie di campioni del segnale ricevuto, e dal vettore di intercorrelazione
(16.86) ℛYA(k) = E{y(mTs − kτ)am}
tra i campioni di y(t) e la sequenza dei simboli trasmessi, dove il valore atteso è calcolato rispetto alla variabilità della sequenza am e del rumore.
Soluzione delle equazioni di Wiener-Hopf↓
Adottiamo innanzitutto per la (16.84↑) una notazione matriciale del tipo
(16.87) Bc = d
dove B = [bnk] = [ℛY(n − k)] è una matrice (2N + 1) × (2N + 1), c = [cn] è un vettore colonna i cui elementi sono i coefficienti del filtro, e d è il vettore dei termini noti d = [dk] = [ℛYA(k)] [696] [696] In effetti, ℛY(n) e ℛYA(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, per il quale il ricevitore calcola le medie temporali R̂Y(n) = (1)/(K)∑Kk = 1y(kTs − nτ)y(kTs) e R̂YA(n) = (1)/(K)∑Kk = 1y(kTs − nτ)ak, che quindi utilizza al posto delle medie di insieme nella (16.84↑).. Con tale notazione, i coefficienti ottimi c̃ si ottengono come
c̃ = B − 1 d
B = ℛY(0) ℛY(1) ℛY(2) ⋯ ℛY(2N) ℛY(1) ℛY(0) ℛY(1) ⋯ ℛY(2N − 1) ℛY(2) ℛY(1) ℛY(0) ⋯ ℛY(2N − 2) ℛY(3) ℛY(2) ℛY(1) ⋯ ℛY(2N − 3) ⋮ ⋱ ⋱ ⋱ ⋮ ℛY(2N) ℛY(2N − 1) ⋯ ⋯ ℛY(0)
Inoltre, la parità di ℛY(n) rispetto ad n (vedi schema a lato) rende B una matrice di Toepliz [697] [697] 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 12.1.2.2↑ a pag. 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. 15.17↑ è esattamente pari ai coefficienti c, ovvero he(n) = cn − N con n = 0, 1, 2⋯, 2N. Pertanto la (16.84↑) può essere letta come l’espressione della sequenza ℛYA(k), con k = 0, ±1, ±2, ⋯, ±N, nei termini di una convoluzione discreta tra he(n) ed ℛY(n) anticipata di N:
(16.88) ℛYA(k) = 2N⎲⎳n = 0he(n)ℛY(k − n + N)
Effettuando la dtft (§ 4.3↑) di entrambi i membri si ottiene [698] [698] 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)ej2π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 [699] [699] 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
(16.89) 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 (16.88↑), che (per simboli am incorrelati) risultano [700] [700] 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. 15.16↑) e ν(t) rappresenta l’effetto di HR(f) su n(t), dalla (16.85↑) scriviamo ℛY(n) = E{y(mTs)y(mTs + nτ)} e quindi esprimendo h(mTs − kTs) come h((m − k)Ts) si ottiene
ℛY(n) = E{(∑kakh((m − k)Ts) + ν(mTs))(∑iahh((m − i)Ts + nτ) + ν(mTs + nτ))} = E{∑k∑iakaih((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τ) = ℛA(0)ℛH(n) = σ2aℛH(n) avendo considerato gli ak a media nulla. Infine, il termine E{ν(mTs)ν(mTs + nτ)} risulta pari alla correlazione ℛνν(n) del processo di rumore.
ℛY(n) = σ2aℛH(n) + ℛν(n) e [701] [701] Dalla (16.86↑) scriviamo ℛYA(n) = E{y(mTs − nτ)am} e quindi
ℛYA(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.
ℛYA(n) = σ2ah( − n), in cui ℛH(n) è l’autocorrelazione della risposta impulsiva complessiva h(t) = hT(t)*hc(t)*hR(t), ℛν(n) la correlazione tra campioni di ν(t) a distanza nτ, e σ2a = E{a2k}. La (16.89↑) si riscrive quindi come
(16.90) He(f) = (σ2aH*(f))/(σ2a|H(f)|2 + Pν(f))
Possiamo osservare come nel caso in cui Pν(f) = 0 si ottenga He(f) = (1)/(H(f)) che pertanto assolve in pieno il compito di equalizzazione, come avviene per l’approccio zero forcing (§ 15.4.2↑). D’altra parte, dividendo numeratore e denominatore di He(f) per σ2a|H(f)|2 si ottiene He(f) = (1)/(H(f))(1)/(1 + 1⁄SNR(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 (16.90↑) diviene He(f) = H*(f)(σ2a)/(Pν(f)) (o, in caso di rumore bianco, He(f) = H*(f)(σ2a)/(σ2υ)) come per un filtro adattato (§ 6.5↑); essendo il termine H*(f) comunque presente, si può scegliere di realizzare HR(f) (vedi fig. 15.16↑) con il solo scopo di limitare la potenza di rumore [702] [702] In particolare, scegliendo HR(f) = rect2fs(f) si ottiene che i campioni di rumore presi con intervallo τ = 1⁄2Ts sono incorrelati e dunque statisticamente indipendenti perché gaussiani. Infatti Pν(f) = (N0)/(2)|HR(f)|2 e dunque ℛν(τ) = (N0)/(2)2fssinc(2fsτ), che quindi si azzera per τ = 1⁄2Ts, vedi § 6.2.3↑. In tal caso la (16.90↑) diviene He(f) = (σ2aH*(f))/(σ2a|H(f)|2 + σ2υ)..
Qualora i simboli informativi am siano tra loro correlati, la (16.90↑) diviene [703] [703] Per quanto il risultato sembri banale, la dimostrazione non è troppo diretta, e si basa sullo scomporre il termine E{∑k∑iakaih((m − k)Ts)h((m − i)Ts + nτ)} = ∑k∑iℛA(i − k)h((m − k)Ts)h((m − i)Ts + nτ), tenendo conto della stazionarietà di am e dunque di simmetria di ℛA(n), in una somma di termini ∑pℛA(p)∑ih((m − i)Ts)h((m − i − p)Ts + nτ) = ∑pℛA(p)ℛH(n + 2p), in cui si tiene conto che Ts = 2τ, mentre gli am sono prodotti uno per simbolo; introducendo ℛ’A(n) = ⎧⎨⎩ ℛA⎛⎝(n)/(2)⎞⎠ n pari 0 altrimenti e con qualche cambio di variabile si ottiene infine ∑qℛ’A(q)ℛH(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 ℛA(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 (16.82↑) come
(16.91) σ2e(c) = E{(N⎲⎳n = − Ncny(mTs − nτ) − am)(N⎲⎳k = − Ncky(mTs − kτ) − am)} = = N⎲⎳n = − NN⎲⎳k = − NcnckℛY(n − k) − 2N⎲⎳k = − NckℛYA(k) + E{a2m}
che è un polinomio completo di secondo grado nelle 2N + 1 variabili cn, ed essendo [ℛY(n − k)] una matrice definita positiva, σ2e(c) presenta un unico minimo globale [704] [704] Ciò deriva dal fatto che [ℛY(n − k)] = B è legata alla matrice di covarianza ΣY (§ 6.9.2↑) dalla relazione [ℛY(n − k)] = ΣY + m2Y (vedi eq. (10.20↑) a pag. 1↑ in condizioni stazionarie), e dato che ΣY è una matrice definita positiva lo è anche [ℛY(n − k)], non decadendo la proprietà in seguito alla somma per una quantità positiva (m2Y). Pertanto la forma quadratica ∑Nn = − N∑Nk = − NcnckℛY(n − k) è ovunque convessa (vedi § 6.9.2↑), e dotata di un unico minimo globale. Questa proprietà permane anche considerando gli altri due termini della (16.91↑) 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 [705] [705] Considerando la sequenza informativa am a media nulla, si ha E{a2m} = σ2a.
(16.92) σ2e(c) = ctBc − 2 ctd + σ2a
In corrispondenza della soluzione c̃ = B − 1 d della (16.87↑) si ottiene la minima varianza di errore, pari a [706] [706]
σ2e(c̃) = c̃tBc̃ − 2c̃td + σ2a = c̃tBc̃ − 2 c̃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.
(16.93) σ2emin = σ2e(c̃) = σ2a − dtB − 1 d = σ2a − c̃tBc̃ = σ2a − σ2z
avendo notato che il termine σ2z = c̃tBc̃ corrisponde [707] [707] 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 (16.92↑) può essere espressa anche come [708] [708] 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 (16.93↑) si ottiene
(16.94) σ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.9.2↑) 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 (16.94↑) diviene
σ2e(u) = σ2emin + utΛu = σ2emin + 2N⎲⎳i = 0(u2i)/(λi)
che rappresenta l’equazione di un iperparaboloide ellittico, con assi principali pari agli autovettori di B − 1.
Dopo aver verificato l’unicità del minimo per σ2e(c), illustriamo un modo per individuarlo mediante una tecnica iterativa che evita di risolvere la (16.87↑) in modo diretto. Come discusso, la (16.94↑) esprime σ2e in funzione del vettore di coefficienti c di He(f), e il metodo prende il nome di discesa del gradiente↓ [709] [709] Vedi http://it.wikipedia.org/wiki/Discesa_del_gradiente in quanto sfrutta la conoscenza del gradiente di σ2e(c) indicato come g(c), ovvero del vettore i cui elementi gn sono le derivate parziali di σ2e rispetto ai corrispondenti elementi di c, e cioè gn = (∂σ2e(c))/(∂cn). Osserviamo che anche il gradiente è una funzione di c il cui valore si ottiene dalla (16.92↑) come g(c) = 2 Bc − 2 d, che infatti si azzera per c̃ = B − 1 d, ed il cui orientamento per ogni vettore ci ≠ c̃ indica la direzione verso la quale σ2e(c)|c = ci cresce di più.
Scegliendo casualmente un vettore iniziale di coefficienti c0 (eventualmente nullo), ad ogni iterazione sono calcolati i nuovi valori
(16.95) ci + 1 = ci − Δg(ci)
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 proporzionale mediante il parametro Δ, un piccolo numero positivo che determina la velocità di convergenza dell’algoritmo [710] [710] Una regola pratica suggerisce di porre Δ = (1)/(5(2N + 1) PY) in cui PY è la potenza ricevuta di segnale più rumore. Valori maggiori possono accelerare la convergenza, ma anche dar luogo ad instabilità della soluzione, mentre valori più piccoli rallentano la convergenza, ma possono produrre errori finali minori.. Quindi, viene calcolato un nuovo valore gi + 1 = g(ci + 1), ed il procedimento iterato fino a quando non si verifica che |gi| < ε, nel cui caso si ritiene raggiunto l’ottimo c̃. La figura a lato rappresenta un esempio unidimensionale di applicazione del metodo, in cui il gradiente è pari alla derivata dy⁄dx, ovvero alla tangente dell’angolo α tra la funzione e l’asse orizzontale, e mostra i diversi valori ci ottenuti nelle iterazioni.
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 per il valore dei coefficienti c̃! Per fronteggiare tale evenienza, ed allo stesso tempo evitare di stimare a parte ℛY(n) e ℛYA(n), si può adottare un diverso metodo di discesa del gradiente, detto ora stocastico↓ (o lms [711] [711] 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, utilizzati allo stesso tempo per eseguire l’equalizzazione.
Tutto inizia considerando che in base alla (16.83↑) il gradiente può essere valutato (a meno di un fattore due) per i valori cm utilizzati all’istante t = mTs anche come [712] [712] Un interessante modo di interpretare la (16.96↓) si basa sull’osservare che la minimizzazione di (16.82↑) ovvero l’azzeramento del gradiente (16.83↑) gm = 0, comporta che ciascun valore di errore em deve essere ortogonale (in senso statistico, vedi § 6.9.1↑) 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 cioè prive di legami di tipo lineare.
(16.96) 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 [713] [713] La sequenza dei simboli trasmessi è nota all’inizio della trasmissione, e spesso generata nella forma di una sequenza pseudo-noise. Dopo questa fase iniziale di apprendimento, l’equalizzatore commuta su di una modalità dipendente dalle decisioni, in cui l’errore em è valutato rispetto ai valori a~m 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 (16.96↑) viene quindi approssimata tralasciando di effettuare la media di insieme, ossia valutando la stima del gradiente come [714] [714] Poniamo di eseguire l’aggiornamento (16.97↓) 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 (16.97↓). ĝm = emym, da usare poi nella formula di aggiornamento dei coefficienti cn derivata dalla (16.95↑):
(16.97) cm + 1 = cm − Δemym
La (16.97↑) è 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 [715] [715] Possiamo infatti notare che alla m − esima iterazione della (16.97↑) 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) δ
+  +  ↓ +  +  ↓
+  +  ↓ −  −  ↓
+  −  ↑ +  −  ↓
+  −  ↑ −  +  ↓
−  +  ↑ +  +  ↑
−  +  ↑ −  −  ↑
−  −  ↓ +  −  ↑
−  −  ↓ −  +  ↑
. La figura a lato mostra uno schema di architettura per il filtro adattivo, che opera come equalizzatore con periodo di campionamento τ = Ts⁄2, e ad ogni periodo di simbolo esegue l’aggiornamento dei propri coefficienti, in accordo alla (16.97↑), mediante l’operatore di accumulo simbolizzato dalla ∑ cerchiata.
15.4.4 Equalizzatore a reazione↓
L’errore em = z(mTs) − am tra l’uscita zm di He(f) ed il simbolo trasmesso am è una sequenza aleatoria di valori correlati, dato che per le sue due componenti accade che
il rumore bianco n(t) si è colorato attraversando hR(t)*he(t);
se l’isi non è completamente rimossa significa che He(f) ≠ 1⁄H(f) e quindi non si verificano le condizioni di Nyquist, ed i simboli sono tra loro dipendenti.
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 êm = ∑Nn = 1pnem − n, e contribuisce ad una grandezza di decisione zm = am + em − êm affetta da un errore ancora più piccolo.
Il filtro di predizione è indicato come P(f) nello schema di figura, nel quale si suppone assenza di errori di decisione, ovvero âm = am, ed i coefficienti pn ottimizzati applicando ad es. il criterio mmse all’errore sull’errore, ossia E{(em − êm)2} = min . Ma lo stesso schema può essere ricablato come appare in fig. 15.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 [716] [716] Ovvero, il filtro fir ha solo i ritardi relativi ai coefficienti cn con n ≥ 0, così come la sommatoria (16.76↑)..
Lo schema di equalizzazione diviene quindi quello di fig. 15.23↓-b), in cui il filtro all’indietro o di controrazione è indicato come di feedback, opera alla frequenza di simbolo fs, e la sua uscita êm dipende solamente dalle decisioni precedenti âm [717] [717] Anche qui, nella fase di apprendimento sono usati i valori am noti a priori, mentre in quella successiva si usano quelli ãm emessi dal decisore, supposti per la maggior parte esatti., una cui combinazione lineare è usata per correggere i valori emessi dal primo filtro: il valore in ingresso al decisore può quindi essere ora espresso come
(16.98) zm = N1⎲⎳n = 0cny(mTs − nτ) − N2⎲⎳n = 1dnâm − n
Figura 15.23 Schema simbolico di un decision feedback equalizer
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 15.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, e dunque la (16.97↑) si scrive ora 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.
Figura 15.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 simulazioni.
15.4.5 Equalizzatore a massima verosimiglianza di sequenza↓↓
Le tecniche finora illustrate effettuano la decisione simbolo per simbolo, mentre il metodo che analizziamo ora 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 è assorbita dal decisore, operando 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 (16.75↑) come
(16.99) ym = N⎲⎳n = 0anh(mTs − nTs) + νm = h0am + N⎲⎳n = 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; impostando ora il problema come quello di stimare la sequenza a = {am} conoscendo solo quella di osservazione y = {ym}, la soluzione di massima verosimiglianza↓ individua la sequenza â in modo che p(y ⁄ a)|a = â sia massima.
La (16.99↑) 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 [718] [718] 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 â = argmax∏Mm = 0pν(ym ⁄ a) o, equivalentemente
(16.100) â = argminM⎲⎳m = 0 − ln(pν(ym ⁄ a))
Quest’ultimo passaggio trova motivazione nella espressione della d.d.p. gaussiana pν(y) = (1)/(√(2π)σν)e − ((y − y)2)/(2σ2ν) per cui ln(pν(y)) = − ln(√(2π)σν) − ((y − y)2)/(2σ2ν), e dato che σν è la stessa per tutti gli istanti m, il suo valore non contribuisce alla minimizzazione (16.100↑), che diviene pertanto
â = argminM⎲⎳m = 0(ym − ym(a))2
La sequenza ottima â è 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.
Ipotizziamo una hn = ⎧⎨⎩ 1 con n = 0 0.5 con n = 1 ed una trasmissione antipodale binaria con a = {1, − 1}; la (16.99↑) 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
amam − 1 ym
1,1 1.5
1,-1 0.5
-1,1 -0.5
-1,-1 -1.5
possibili valori mostrati in tabella in funzione di amam − 1. Il traliccio di ricerca può quindi essere tracciato come appare nella parte superiore della figura in basso, 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 di 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.
Il metodo con cui l’algoritmo di Viterbi esplora il traliccio per individuare il percorso di minimo costo, e l’associata sequenza â, è illustrato a pag. 1↑ e non viene qui ripetuto.
15.4.6 Confronto delle prestazioni di equalizzazione
La figura che segue [719] [719] 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.
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 [720] [720] Nonostante mmse tenti di minimizzare σ2e tenendo conto sia dell’isi che del rumore, le sue prestazioni degradano in presenza di canali che presentano 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.

References: § 8
 § 15
 § 6
 § 6
 § 6
 § 6
 § 6