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 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ò
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 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, 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
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, e l’equalizzazione di
Hc(f) sia demandata per intero al ricevitore, per mezzo di
He(f).
In ingresso ad
He(f) si presenta dunque il segnale
che dipende oltre che dai simboli
am della sequenza informativa, anche dalla risposta impulsiva complessiva
g̃(t) = hT(t) * hc(t) * hR(t), 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
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 g̃(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.
Per poter funzionare, si fa precedere il messaggio informativo dalla trasmissione di un impulso isolato
di apprendimento, la cui forma d’onda
g̃(t) ricevuta distorta presenta un picco a
t = 0 ed
isi su entrambi i lati (Fig.
18.19a). Tale impulso
g̃(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
che campionato agli istanti
tk = kT + NT fornisce
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
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
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 quanto esposto all’impulso con ISI mostrato alla fig.
18.19a. Inserendo i valori di
g̃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
g̃(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) = 1⁄Hc(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
τ = Ts⁄2, 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 l’
errore quadratico medio σ2e = E{e2m}, in cui
è l’errore tra i campioni
z(mTs) della
(21.135) in uscita da
He(f), ed i corrispondenti valori
am della sequenza informativa 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. 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
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, ovvero
nella quale riconosciamo che i
valori attesi che vi compaiono corrispondono rispettivamente all’
autocorrelazione (§
7.1.4)
tra coppie di campioni del segnale ricevuto distanti
|n − k|τ, ed all’
intercorrelazione
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
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
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)]. Con tale notazione i coefficienti
ottimi c̃ 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, 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:
Effettuando la
dtft (§
4.4) di entrambi i membri di
(21.147) si ottiene
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 tra
y(n) e la sequenza informativa
a(n). Otteniamo pertanto
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
RY(n) = σ2aRH(n) + Rν(n) e
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
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.
Qualora i simboli informativi
am siano tra loro
correlati la
(21.149) diviene
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
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, e la sua espressione può essere riscritta in forma matriciale come
In corrispondenza della soluzione
c̃ = B− 1 d della
(21.146) si ottiene la
minima varianza di errore, pari a
avendo notato che il termine
σ2z = c̃tBc̃ corrisponde alla potenza dell’uscita
z = zm, ovvero
σ2z = E{z2}. Accade ora che la
(21.151) può essere espressa anche come
σ2e(c) = (Bc − d)tB− 1( Bc − d) − dtB− 1 d + σ2a
e tenendo conto della prima delle
(21.152) si ottiene
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 + 2N⎲⎳i = 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 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 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
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. 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
dy⁄dx, 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) 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
in cui
em = z(mTs) − am è l’errore commesso dall’equalizzatore rispetto al simbolo trasmesso (e, nella fase di
apprendimento, noto in ricezione 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
ĝm = emym, da usare poi nella formula di aggiornamento dei coefficienti
cn derivata dalla
(21.154):
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. Il
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
τ = Ts⁄2, 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
- il rumore bianco n(t) (da cui z(mTs) anche dipende) 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 ricevuti am divengono statisticamente 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
êm = ∑Nn = 1 pnem − n, e contribuisce ad una grandezza di decisione
zm = am + em − ê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
â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.
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, 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
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.
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
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 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
Quest’ultimo passaggio trova motivazione nella espressione della d.d.p. gaussiana
pν(y) = 1√2πσν 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
â = argminM⎲⎳m = 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.
Ipotizziamo una hn = ⎧⎨⎩ 1 con n = 0 0.5 con n = 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.
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 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; 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 = an ⋅ 1Hn. 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, 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.