lezioni elaborazione dei segnali 2011 12 versione 2
DESCRIPTION
aTRANSCRIPT
c©Prof. Davide Mattera. 08/12/2011
Indice
Prefazione iii
Elaborazione dei Segnali v
1 Sistemi lineari e tempo invarianti fisicamente realizzabili 1
1.1 Inquadramento storico e culturale della disciplina . . . . . . . . . . . 1
1.2 Confronto tra l’elaborazione numerica e quella analogica . . . . . . . 3
1.3 La struttura generale di un elaboratore dei segnali . . . . . . . . . . 4
1.4 Struttura di un elaboratore lineare . . . . . . . . . . . . . . . . . . . 6
1.5 Proprieta della zeta trasformata . . . . . . . . . . . . . . . . . . . . . 8
1.5.1 Conseguenze per lo studio del sistema (1.1) nel dominio zeta 8
1.6 Dettagli di implementazione . . . . . . . . . . . . . . . . . . . . . . . 9
1.7 Definizione di trasformata zeta razionale . . . . . . . . . . . . . . . . 13
1.7.1 Antitrasformazione nel dominio del tempo . . . . . . . . . . . 15
1.7.2 Sistemi distinguibili nel dominio zeta solo per la ROC . . . . 17
1.8 I filtri lineari non ricorsivi . . . . . . . . . . . . . . . . . . . . . . . . 18
2 Progetto mediante utilizzazione di dati sperimentali 25
2.1 Il primo approccio: caratterizzazione statistica disponibile ovvero
filtro di Wiener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1.1 Metodi di stima delle statistiche richieste . . . . . . . . . . . 33
2.1.2 Generazione di funzioni membro di processi aleatori a cam-
pioni indipendenti . . . . . . . . . . . . . . . . . . . . . . . . 34
2.1.3 Generazione di un processo aleatorio colorato . . . . . . . . . 36
2.2 Il filtro di Wiener senza il vincolo della risposta impulsiva di durata
finita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3 Variazioni dell’algoritmo per il caso della decisione . . . . . . . . . . 38
3 Progetto adattativo del filtro lineare 41
3.1 Ottimizzazione iterativa di una funzione di costo fissata . . . . . . . 41
3.2 L’algoritmo steepest-descent e l’analisi della sua convergenza . . . . 42
3.3 Adattemento del filtro lineare in accordo al gradiente stocastico:
algoritmo LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4 Approccio alternativo basato sui dati: il metodo ricorsivo ai minimi
quadrati (RLS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
c©Prof. Davide Mattera. 08/12/2011
ii CONTENTS
4 La predizione lineare ottima secondo il criterio MMSE 53
4.1 Effetti spettrali nel tempo discreto della modifica della frequenza di
campionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.2 Predizione di un passo in avanti . . . . . . . . . . . . . . . . . . . . . 59
4.3 Predizione di un passo indietro . . . . . . . . . . . . . . . . . . . . . 60
4.4 Relazione tra il filtro forward e backward . . . . . . . . . . . . . . 62
4.5 La relazione ricorsiva di Levinson e Durbin . . . . . . . . . . . . . . 63
4.6 Alcune proprieta del filtro predittore ottimo MMSE . . . . . . . . . 68
4.7 La relazione inversa di Levinson e Durbin . . . . . . . . . . . . . . . 74
4.8 Il test di Schur-Cohn . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.9 Filtro predittore come filtro sbiancante . . . . . . . . . . . . . . . . . 78
4.10 La formula di Burg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.11 Il filtro predittore come strumento per realizzare il filtro di Wiener . 82
4.12 Il cancellatore d’eco come applicazione del filtro di Wiener . . . . . . 85
5 Realizzazione di un filtro FIR 89
5.1 Realizzazione in forma diretta . . . . . . . . . . . . . . . . . . . . . . 90
5.2 Struttura a cascata . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.3 Struttura con campionamento in frequenza . . . . . . . . . . . . . . 95
5.4 Struttura a traliccio . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.5 Struttura basata su DFT . . . . . . . . . . . . . . . . . . . . . . . . 101
5.5.1 Convoluzione lineare . . . . . . . . . . . . . . . . . . . . . . . 102
5.5.2 Convoluzione circolare . . . . . . . . . . . . . . . . . . . . . . 103
5.5.3 Strutture veloci per il calcolo della DFT . . . . . . . . . . . . 105
5.5.4 Le due strutture overlap . . . . . . . . . . . . . . . . . . . . . 108
c©Prof. Davide Mattera. 08/12/2011
Prefazione iii
Prefazione
Il testo raccoglie una trattazione degli argomenti del corso di “Elaborazione dei
Segnali”, che sto tenendo presso la Facolta di Ingegneria della Universita degli
Studi di Napoli Federico II. La presente versione e ancora una bozza transitoria ma
e abbastanza matura da diventare un utile riferimento per lo studente.
I diversi capitoli sono dedicati alla trattazione teorica degli argomenti. Essa e
stata corredata da una parte del corso (fornita in software sullo stesso sito) in cui si
e mostrato - in maniera esemplificativa con riferimento alla teoria considerata - come
trasformare agevolmente le formule teoriche trattate in teoria in un potente stru-
mento tecnologico, cercando soprattutto di consentire allo studente l’acquisizione
della forma mentis necessaria a procedere in autonomia, conformemente ad una
specializzazione della teoria generale ad un particolare contesto applicativo.
Agli studenti che leggeranno questo testo chiedo la cortesia di segnalarmi tutti i
tipi di svista (dal piu piccolo al piu grande) che non ho trovato nelle mie riletture
del testo inviandomi una e-mail all’indirizzo [email protected].
Il programma del corso e proprio l’indice del presente testo a cui si deve ag-
giungere la capacita di scrivere routine Matlab del tipo fornito a breve sul sito nel
file software.zip. Tale capacita va acquisita attraverso l’esercizio autonomamente
compiuto a scrivere routine simili dopo averne compreso dagli esempi il modo di
operare.
Prof. Davide Mattera
Facolta di Ingegneria della Universita degli Studi di Napoli Federico II
Dicembre 2011
c©Prof. Davide Mattera. 08/12/2011
iv Prefazione
c©Prof. Davide Mattera. 08/12/2011
Lezioni di Elaborazione dei Segnali v
Lezioni di Elaborazione dei Segnali
Esiste una tendenza fondamentale nell’ingegneria moderna; essa e costituita
dallo spazio sempre maggiore concesso alla componente programmabile introdotta
all’interno del prodotto ingegneristico, componente che incorpora capacita di ela-
borazione sempre maggiore e che finisce per configurare quello che in ambito inter-
nazionale vengono definiti gli intelligent systems. Lo spazio sempre maggiore con-
cesso alla componente software significa compressione degli spazi riservati alla com-
ponente hardware che sempre piu si specializza in pochi prodotti general-purpose
cioe diversificabili nel funzionamento finale in base alla componente programmabile.
Saper contribuire alla realizzazione della parte programmabile e particolarmente
importante per un giovane studente italiano di ingegneria. Infatti, l’evoluzione
dell’ingegneria moderna sembra individuare due compiti, uno e quello di realizzare
l’hardware dei vari dispositivi mentre l’altro e quello di definirne il software che ne
determina uno specifico comportamento. Siccome il nostro Paese sembra tagliato
fuori dalla possibilita di ambire ad una posizione di rilievo nel primo campo,
soprattutto in conseguenza della sua concentrazione in poche (e lontane dal nostro
Paese) strutture industriali che proprio dalle enormi dimensioni della produzione
immessa sul mercato mondiale derivano la capacita di generare delle economie di
scala che costituiscono a tutti gli effetti delle barriere di accesso per produttori
alternativi in condizioni di competizione di mercato. Inoltre, i grandi raggiungimenti
ottenuti in questo primo ambito negli ultimi decenni fanno presumere che possano
esistere dei fenomeni di saturazione dell’innovazione tecnologica i quali lasciano
presumere una ulteriore difficolta di inserimento da parte di eventuali produttori
alternativi.
Nel secondo campo, invece, esistono moltissimi ambiti ingegneristici in cui si
puo presumere che, risolta la difficolta di definirne matematicamente la struttura
astratta di funzionamento, risulti abbastanza diretta la scrittura di un software
che abilita l’hardware sottostante a costituire un dispositivo innovativo. Esistono
cosı tanti ambiti nei quali si possono presumere sviluppi a breve e medio termine su
base mondiale, che si evita qui di introdurne una descrizione; tali ambiti sono carat-
terizzati da una relativa semplicita delle strutture attualmente disponibili quando
confrontate con quelle che si possono concepire come potenzialmente possibili sulla
base delle attuali conoscenze tecnologiche.
In questo ambito di innovazione tecnologica il nostro Paese potrebbe trovare
la possibilita di inserirsi proprio in virtu della esistenza di pre-condizioni che ne
possono consentire lo sviluppo. In particolare, questa evoluzione dell’ingegneria
c©Prof. Davide Mattera. 08/12/2011
vi Lezioni di Elaborazione dei Segnali
moderna e perfettamente coerente con l’idea di societa della conoscenza che si va
sempre piu affermando nella civilta planetaria e che afferma il valore essenziale della
conoscenza, valore in senso astratto che diventa valore economico concreto in quanto
abilita la produzione ingegneristica innovativa. In effetti, le pre-condizioni favorevoli
nel nostro Paese sono proprio costituite dalla diffusione, relativamente elevata, di
giovani dotati di conoscenze ingegneristiche adeguate per guidare la progettazione
di questi sistemi innovativi. Inoltre, tale linea di sviluppo tecnologico, che viene
definita di industria leggera in quanto incide minimamente sull’ambiente circostante,
e perfettamente coerente con la preservazione del patrimonio architettonico e
quindi appare una strada quasi obbligata per mantenere una apprezzabile presenza
industriale nel nostro Paese che sia coerente con la importanza economica delle
attivita turistiche.
I concetti fondamentali riguardanti la costruzione di un elaboratore lineare, in-
trodotti in queste lezioni, si trovano certamente all’interno del nucleo essenziale di
conoscenze di base su cui e inevitabile doversi fondare qualora si voglia perseguire
una strategia volta ad incrementare il valore aggiunto dalla produzione indus-
triale del nostro Paese e su cui e inevitabile per un Ingegnere delle Tecnologie
dell’Informazione dover dimostrare competenza qualora si proponga di entrare nel
mercato del lavoro in un contesto industriale che si caratterizza per un elevato
valore aggiunto.
Tali concetti si riferiscono alla componente programmabile ma non nel senso
che costituiscono concetti fondamentali di programmazione dei calcolatori; questi
ultimi, studiati in altri corsi, costituiscono solo lo strumento di base da utilizzare
per realizzare procedure elaborative dei segnali che si vanno distinguendo dagli
altri software proprio per l’elevata base di conoscenza che la loro concezione
necessariamente richiede. Ed il corso e dedicato a trasferire allo studente questa
base di conoscenza delle metodologie di Elaborazione dei Segnali e la capacita
di realizzare un software che trasformi in uno strumento concreto la relazione
matematica astratta che viene concepita. Questa seconda fase si concentra su
un software molto semplice e generale come il linguaggio utilizzato dal diffuso
software Matlab proprio perche intende dedicarsi alla difficolta di trasferire il sistema
matematico in un software e non sulle problematiche, peraltro influenti ma studiate
in altri corsi, del linguaggio di programmazione.
c©Prof. Davide Mattera. 08/12/2011
1 Sistemi lineari e tempo invarianti fisicamente
realizzabili
In questo capitolo si descrive dapprima l’inquadramento culturale della disciplina
nel paragrafo 1.1, la struttura generale di un elaboratore numerico dei segnali nel
paragrafo 1.3, la struttura generale di un elaboratore lineare dei segnali, gli effetti
di una struttura ricorsiva sulla stabilita del sistema.
1.1 Inquadramento storico e culturale della disciplina
La disciplina rappresenta un completamento ed un’estensione della Teoria dei Se-
gnali, la quale si limita ad una osservazione e ad una analisi quantitativa della
realta e quindi si mantiene molto piu nel piano delle scienze che delle tecnologie.
L’elaborazione numerica dei segnali si presenta come una tecnologia volta a rea-
lizzare strumenti reali che possono essere progettati correttamente solo quando i
concetti della Teoria dei Segnali siano stati ben compresi.
Nella parte iniziale della lezione si discutono le prospettive future - alla luce della
loro evoluzione storica - dei sistemi che incorporano al proprio interno una scheda
di elaborazione numerica del segnale.
La Teoria dei Segnali affonda le sue radici nel concetto di modello; d’altronde,
trovare un modello adeguato alla descrizione delle leggi di evoluzione dei segnali fisici
costituisce il cuore della attivita scientifica e pertanto l’evoluzione della disciplina
e strettamente connessa con lo sviluppo fondamentale delle scienze moderne. Un
concetto fondamentale, quello di modello, definito dapprima in ambito filosofico,
che segna in effetti la nascita della ricerca scientifica; la maturita scientifica e
segnata dall’ancoraggio del concetto di modello al concetto di numero in una
opportuna visione dello stesso, che non si limita semplicemente a concepire una
visione analogica oppure discreta del concetto di numero ma che si riferisce in
maniera essenziale allo strumento di elaborazione del numero concepito; d’altronde,
e una banalita che il concetto di numero non abbia utilita quando concepito in
astratto ma in relazione alle operazioni che con esso si possono compiere ovvero
in relazione ai modelli quantitativi che esso consente di costruire. La conseguenza
immediata della introduzione dei modelli numerici e il salto epocale, dalla tecnologia
pre-scientifica alla tecnologia scientifica.
Dal punto di vista dell’evoluzione storica, occorre distinguere una prima fase in
c©Prof. Davide Mattera. 08/12/2011
2 Sistemi lineari
cui il concepimento di un modello quantitativo della realta fisica avviene nell’ambito
di una visione analogica del concetto di numero e delle sue evoluzioni. In particolare,
sono da ricordare l’uso della riga e del compasso come strumenti di elaborazione
quantitativa nell’ambito di una visione geometrica del concetto di numero e, alla
ripresa scientifica in eta moderna, l’uso dell’analisi matematica - ed in particolare
del concetto di derivata1 - come elemento essenziale della costruzione di modelli
quantitativi, accompagnato dallo sviluppo di un solido contesto teorico a cui
ancorare una nuova concezione del numero che Dedekind e Waierstrass portano
a compimento nella seconda meta dell’Ottocento.
Il successivo utilizzo tecnologico di tali modelli, che dalla seconda meta dell’Otto-
cento segna in maniera netta la separazione tra la tecnologia pre-scientifica e la
tecnologia scientifica su cui si regge gran parte dello sviluppo tecnico esistente, si
arena di fronte alla incapacita di integrare certi tipi di funzioni, che si incontrano
in molti ambiti della fisica matematica, segnando il punto di compimento di un
appproccio che aveva ampiamente dispiegato le sue potenzialita a partire dalla sua
introduzione da parte di G. Torricelli. Cio motiva l’analisi dei sistemi mediante
l’emulazione di un sistema fisico con un altro sistema fisico retto dallo stesso
modello (in via approssimativa) e riferito ad un diversa grandezza fisica, tipicamente
elettrica, che ne rende piu semplice la costruzione. Modificando a piacere il sistema
che viene considerato per emulare il sistema originario e dotandosi di un opportuno
trasduttore diretto ed inverso, si giunge in questo modo alla elaborazione analogica
dei segnali.
Questa linea di aggiramento del problema posto dai limiti del metodo di Torri-
celli, cioe attraverso l’emulazione analogica che poi genera l’elaborazione analogica
dei segnali, si rivelera di piu rapida concretizzazione ma meno comoda di una linea
di aggiramento alternativa che discende direttamente dall’idea che si possa svol-
gere l’integrazione in base alla definizione del limite dell’area dei plurirettangoli.
Cio sollecita lo sviluppo di una macchina di calcolo, il calcolatore elettronico, nec-
essaria allo svolgimento delle numerose operazioni che questo approccio comporta
di svolgere. Quando lo sviluppo di tale macchina e giunto ad un punto sufficiente-
mente avanzato, si e completato il problema dell’analisi dell’evoluzione dei modelli
matematici retti da equazioni differenziali non elementarmente integrabili; cioe si e
raggiunto l’obiettivo originario e si e creato un nuovo metodo analisi mediante si-
mulazione al calcolatore che domina fino ad oggi incontrastato nel modo di operare
di moltissimi settori scientifico-tecnologici ma anche ormai e abbastanza diretta-
mente evidente il passo successivo: quello di creare un sistema fisico la cui relazione
ingresso-uscita sia programmabile in software e venga poi realizzata mediante una
1. Si ricordi l’affermazione di A. Einstein in Come io vedo il mondo (per esempio, a pag. 66nella edizione dei Grandi Tascabili Economici Newton): “Per dare una forma matematicaal suo sistema, Newton doveva necessariamente ricorrere all’idea delle derivate e stabilirele leggi del movimento sotto forma di equazioni differenziali totali; e questo forse il piugran passo in avanti che mai sia stato consentito di fare ad un uomo nel dominio delpensiero.”
c©Prof. Davide Mattera. 08/12/2011
1.2 Confronto tra l’elaborazione numerica e quella analogica 3
elaborazione al calcolatore dei numeri che rappresentano i valori delle grandezze
fisiche in ingresso al sistema, opportunamente rappresentati in formato numerico
attraverso appositi dispositivi di conversione analogico/digitale. Una volta compiuto
il percorso delineato, si finisce per disporre di una tecnica di elaborazione dei se-
gnali superiore per diversi punti di vista alla precedente tecnica analogica che aveva
dominato i precedenti cinquanta anni (all’incirca dagli anni Venti agli anni Sessanta
del Novecento), che viene definita numerica per definirne la diversita rispetto alla
tecnica precedente, che sollecita uno sviluppo della tecnologia sottostante per poter
godere - con riferimento a segnali di ingresso da elaborare aventi una banda sempre
maggiore2 - dei vantaggi che una realizzazione in tecnica numerica comporta e che,
infine, contribuisce in maniera essenziale alla definizione del concetto di numero che
caratterizza l’epoca contemporanea.
Detto in altri termini, esaurita la spinta innovativa piu diretta con l’analisi dei
modelli piu semplici, la difficolta di prevedere a priori l’evoluzione del modello
spinge a creare dei sistemi che emulino il modello; quando tale raggiungimento e
conseguito, non solo i metodi di analisi si sono enormemente potenziati ma ormai si
e implicitamente fatto un importante passo avanti: si e creato un dispositivo il cui
comportamento puo essere sintetizzato a piacimento (immediatamente verificato
e contestualmente implementato), il che fornisce un potenziamento notevole alla
tecnologia scientifica. Realizzati trasduttori idonei, l’estensione non riguarda piu
solo l’ingegneria dell’informazione ma tutta l’ingegneria, nei limiti in cui si riesce
a progettare un opportuno metodo di elaborazione. L’ingegneria biomedica e solo
una direzione in cui avanza questa onda di innovazione che promana dal cuore
stesso della Ingegneria dell’Informazione, quello in cui si individuarono i metodi
per la concreta realizzazione della macchina astratta generalizzata di Von Neumann
attraverso strumenti alternativi alla tradizionale elaborazione analogica dei segnali,
dominante in tutta la prima meta del Novecento.
1.2 Confronto tra l’elaborazione numerica e quella analogica
Tradizionalmente i testi di elaborazione numerica dei segnali si aprono con la de-
scrizione dei vantaggi che l’adozione di un approccio numerico comporta rispetto
ad una tecnica analogica. Si capisce che tali considerazioni sono tanto piu essen-
ziali quanto piu e ancora marginalmente diffuso l’approccio analogico e sono sempre
meno importanti oggi che non sussistono alternative concrete all’utilizzo di un elab-
oratore in tecnologia numerica essendo da tempo divenuto marginale l’approccio
analogico. Anzi oggi svolgere questo confronto comporta il dover preventivamente
descrivere l’approccio analogico in modo da poter illustrare i suoi svantaggi che
2. Vedremo infatti gia in questo capitolo che sussiste una relazione tra la velocita di calcolodell’hardware sottostante e la banda dei segnali che possono essere elaborati dai sistemicostruiti con tecnologia di elaborazione numerica.
c©Prof. Davide Mattera. 08/12/2011
4 Sistemi lineari
oggi non si presentano con un approccio numerico, il che significa ricadere in una
discussione di storia dell’elaborazione dei segnali a cui abbiamo devoluto il para-
grafo precedente. Pertanto tale discussione tradizionale non viene qui introdotta e
viene lasciata la questione agli interessi di uno studente particolarmente interes-
sato alla questione, lasciando abbastanza superficiale la descrizione di cosa fosse
l’elaborazione analogica dei segnali, in passato ben chiara a tutti quelli a cui si
rivolgeva chi volesse convincerli della superiorita dell’approccio numerico.
1.3 La struttura generale di un elaboratore dei segnali
Un moderno elaboratore di segnali con singolo ingresso e singola uscita e provvisto
di cinque stadi: il primo stadio realizza la trasduzione in formato elettrico della
grandezza fisica in ingresso all’elaboratore, il secondo stadio realizza la conversione
A/D del segnale elettrico, il terzo stadio realizza l’elaborazione numerica del se-
gnale, il quarto stadio realizza la conversione D/A del segnale ed il quinto stadio
realizza la trasduzione nel formato originario. Pertanto si e in questo modo realiz-
zato un sistema che, dal punto di vista ingresso/uscita, appartiene potenzialmente
ad altro campo dell’ingegneria (determinato dalla natura fisica della grandezza orig-
inaria) e che presenta un comportamento ingresso/uscita determinabile liberamente
modificando il software che descrive il terzo stadio.
Non sempre tutti gli stadi sono necessari; per esempio, il trasduttore iniziale e/o
quello finale non sono necessari se la grandezza fisica originaria o quella finale e di
tipo elettrico; inoltre, il secondo e/o il quarto stadio non sono necessari se il segnale
e gia disponibile in formato numerico o deve essere fornito in uscita in formato
numerico. Il progetto del primo e del secondo stadio avvengono secondo requisiti
congiunti, in particolare la frequenza di campionamento del secondo stadio influenza
il progetto del primo stadio che deve garantire la trasduzione nella opportuna banda;
analogo discorso riguarda l’accoppiamento tra il quarto ed il quinto stadio.
Il sistema complessivo funziona in modo da trasdurre l’ingresso del primo stadio
in un formato elettrico adatto alla elaborazione nel terzo stadio, il quale rappresenta
un meccanismo di elaborazione programmabile che puo assumere una ampia varieta
di comportamenti. Il legame funzionale ingresso/uscita del sistema complessivo
corrisponde direttamente ad un legame ingresso/uscita del terzo stadio; tale legame
lega l’uscita all’istante n all’ingresso all’istante n ed in altri istanti. Il terzo stadio
nel breve periodo di tempo dedicato alla fornitura dell’uscita all’istante n realizza
le operazioni contemplate nel modello ingresso/uscita realizzando in tal modo
un sistema in cui l’uscita e legata all’ingresso dal legame funzionale specificato.
Quando il processore non e in grado di svolgere le operazioni necessarie nel breve
tempo necessario prima di passare al campione di uscita successiva si dice che
non e soddisfatto il vincolo di tempo reale e dunque si puo procedere solo ad
una elaborazione in batch che non consente la costruzione di un autentico sistema
reale. La capacita di soddisfare il vincolo di tempo reale dipende sia dal tipo di
elaborazione da compiere sia dal tempo a disposizione, che si riduce al crescere
c©Prof. Davide Mattera. 08/12/2011
1.3 La struttura generale di un elaboratore dei segnali 5
della banda del segnale di ingresso, sia dalla velocita dell’hardware di elaborazione
sia dalla struttura centralizzata o distribuita dell’elaboratore.
La questione fondamentale riguarda le limitazioni alla realizzazione di uno stru-
mento di elaborazione che sia in grado di ottenere un qualsiasi sistema, cioe una
qualsiasi realizzazione ingresso/uscita; esse sono elencate nel seguito:
a) La banda dei segnali di ingresso e di uscita per cui il sistema garantisce il
comportamento desiderato; tale limitazione coinvolge tutti e cinque gli stadi. Spesso
il collo di bottiglia (cioe lo stadio del sistema complessiva che garantisce la minima
banda passante) e costituito dal terzo stadio; in caso di segnali elettrici passabanda
con frequenza portante molto elevata, la limitazione si puo anche trovare nel secondo
stadio siccome in tali casi le elaborazioni da compiere nel terzo stadio possono essere
anche trascurabili rispetto al problema di realizzare un convertitore A/D avente
banda adeguata.
b) La capacita di progettare il terzo stadio quando lo strumento si riferisce ad altro
ramo dell’ingegneria o addirittura ad un settore in cui l’ingegneria non ancora fatto
il suo ingresso. In tali casi, puo succedere che il comportamento ingresso/uscita
desiderato si riesce ad esprimerlo solamente in forma qualitativa ma non lo si
riesce a porre in forma quantitativa. Pertanto, anche in questo caso si tratta
di una limitazione che coinvolge il terzo stadio. Tuttavia, mentre la limitazione
precedente era una limitazione riferibile alla capacita computazionale del terzo
stadio (una problema riferibile ad una limitazione hardware, talvolta dipendente da
una concezione inadeguata della elaborazione), ora ci si riferisce ad una limitazione
dei meccanismi di progetto del terzo stadio. Un esempio tipico in cui si incontra
questo tipo di limitazioni e quello in cui il comportamento ingresso/uscita e descritto
mediante richiamo ad altro sistema gia esistente e di cui non sia possibile studiare il
funzionamento interno secondo il modello della scatola nera (cioe in cui il requisito
di progetto e il seguente “Desidero un sistema che sia identico, dal punto di vista
ingresso/uscita, a quel tale sistema gia esistente; dell’altro sistema gia esistente si
puo osservare il comportamento ingresso/uscita ma non si puo osservare - se non
in misura limitatissima - il funzionamento interno.”).
Qualunque sia il tipo di sistema da imitare, il problema considerato e dato dal fatto
che non e possibile fornire una descrizione matematica ingresso/uscita del compor-
tamento del sistema da realizzare, il che rappresenta un impedimento fondamentale
in un approccio che puo trasformare una qualsiasi realizzazione matematica in-
gresso/uscita in un sistema concreto. Al superamento di tali difficolta e devoluto
il corso di Elaborazione dei Segnali ma mentre i piu semplici casi possono essere
aggirati ricorrendo ad elaborazioni lineari, quelli piu difficili richiedono di ricorrere
ad elaborazioni non lineari. I sei crediti formativi del presente corso sono appena
sufficienti a trattare le elaborazioni lineari dei segnali.
c) La rappresentazione numerica dei segnali e dei sistemi puo dar luogo ad approssi-
mazioni nella realizzazione del sistema desiderato. Generalmente gli effetti relativi
possono essere tenuti ridotti pur di utilizzare un numero sufficientemente elevato
di bit per la rappresentazione dei segnali e dei sistemi. Tuttavia questo comporta
c©Prof. Davide Mattera. 08/12/2011
6 Sistemi lineari
✲ rit ✲ rit ✲ rit ✲ ✲ rit
❄ ❄ ❄ ❄ ❄ ❄
Σ ✲
rit ✛✛rit✛✛rit
✻ ✻ ✻ ✻
b0 b1 b2 b3 bM−2 bM−1
a1a2aN−1aN
x(n) x(n−1) x(n−2) x(n− 3) x(n− (M − 2)) x(n− (M − 1))
y(n)
y(n−1)y(n− 2)y(n−(N−1))y(n−N)
Figure 1.1 Schema logico dell’elaboratore lineare considerato.
spesso di dover ricorrere ad una elaborazione in virgola mobile. Siccome questa e
piu costosa capita spesso che si ricorra ad una elaborazione in virgola fissa cercando
di fronteggiare gli effetti negativi degli arrotondamenti piu grossolani.
In presenza di un numero superiore di ingressi e di uscite, e necessario un
trasduttore diretto ed un convertitore A/D (primo e secondo stadio nel sistema
a singolo ingresso) per ciascuno dei segnali di ingresso ed un convertitore D/A ed
un trasduttore inverso (quarto e quinto stadio nel sistema a singola uscita) per
ciascuno dei segnali di uscita.
1.4 Struttura di un elaboratore lineare
Si consideri il sistema mostrato nella figura 1.1 in cui i blocchi denotati con “rit”
denotato l’unita di ritardo nel tempo discreto e la freccia lungo la linea indica
l’operazione di moltiplicazione per il coefficiente ai o bi riportato a fianco.
Il sistema considerato puo essere considerato un modello molto generale per la
costruzione di una elaborazione lineare. Esso puo essere descritto dalla seguente
procedura di calcolo:
y(n)←M−1∑
k=0
bkx(n− k)−N∑
k=1
aky(n− k) (1.1)
dove x(n) ed y(n) rappresentano i segnali di ingresso e di uscita del sistema. La
freccia a sinistra indica il fatto che y(n) e determinato attraverso l’espressione di
c©Prof. Davide Mattera. 08/12/2011
1.4 Struttura di un elaboratore lineare 7
calcolo riportata, che trascrive in termini matematici il comportamento del sistema
a sinistra.
Il sistema (1.1) non e equivalente ad una qualsiasi struttura descritta dalla
seguente relazione di uguaglianza:
y(n) =
M−1∑
k=0
bkx(n− k)−N∑
k=1
aky(n− k) (1.2)
Infatti la (1.2) consente di generare diversi sistemi di cui quello nella (1.1) e solo
uno di questi.
Per approfondire la questione, si consideri che la relazione di uguaglianza (1.2)
consente di trovare l’uscita y(n) corrispondente all’ingresso x(n); d’altronde anche
la relazione (1.1) consente di calcolare una uscita y(n) corrispondente ad un ingresso
x(n). Come si puo spiegare allora il fatto che esse non sono equivalenti?
La spiegazione risiede nel fatto che esistono molte y(n) che risolvono l’equazione
(1.2) per un fissato segnale x(n) mentre esiste una sola y(n) che corrisponde ad una
fissata x(n) secondo la relazione (1.1).
Infatti, detto yo(n) un segnale che soddisfa la relazione seguente (che rappresenta
la (1.2) per x(n) = 0):
yo(n) = −N∑
k=1
akyo(n− k) (1.3)
e detto yr(n) una qualsiasi soluzione della relazione (1.2), allora y(n) = yr(n)+yo(n)
rappresenta anche una soluzione della (1.2). Infatti,
y(n) = yr(n) + yo(n)
=
M−1∑
k=0
bkx(n + r − k)−N∑
k=1
akyr(n− k)−N∑
k=1
akyo(n− k)
=
M−1∑
k=0
bkx(n + r − k)−N∑
k=1
ak(yo(n− k) + yr(n− k))
=
M−1∑
k=0
bkx(n + r − k)−N∑
k=1
aky(n− k) (1.4)
Pertanto la relazione (1.2) non ammette una sola soluzione nella misura in cui la
(1.3) non ammette3 solo la soluzione yo(n) ≡ 0.
D’altronde, siccome la yo(n) non dipende dall’ingresso x(n), la presenza di
3. Per trovare alcune soluzioni della (1.3), si consideri ad esempio una sequenza yo(n) =an; in tal caso, la condizione diventa cn = −
∑N
k=1 akcn−k ovvero 1 +
∑N
k=1 akcn−k = 0
e quindi il segnale cn rappresenta un segnale yo(n) purche c rappresenti la soluzionedell’equazione sopra riportata. Altre ipotesi parametriche su yo(n) conducono ad ulterioricondizioni sui parametri. Combinazioni lineari di segnali yo(n) restano soluzioni della (1.3)e quindi generano altri segnali yo(n).
c©Prof. Davide Mattera. 08/12/2011
8 Sistemi lineari
una soluzione yo(n) 6≡ 0 lede la natura lineare e tempo-invariante del sistema
potenzialmente realizzato, a meno che non si tratti di un sistema non ricorsivo
(N = 0). D’altronde il sistema considerato (1.1) intende essere definito in modo da
realizzare un sistema lineare e tempo-invariante; di conseguenza, ammettiamo che
il nostro sistema definito in figura sia tale da corrispondere alla soluzione yo(n) ≡ 0
della omogenea (1.3).
Questo non significa comunque individuare un’unica soluzione della (1.2) ma
almeno garantirsi che il nostro sistema sia LTI e pertanto poterlo studiare nel
dominio della zeta trasformata.
1.5 Proprieta della zeta trasformata
La trasformata zeta che qui si considera e definita come segue:
X(z) =
+∞∑
n=−∞
x(n)z−n (1.5)
La si usa definire bilatera per distinguerla da quella monolatera, definita invece
come∑+∞
n=0 x(n)z−n.
Le due principali proprieta della trasformata zeta sono il teorema del ritardo e
quello della convoluzione, che qui non vengono dimostrati.
Il primo teorema afferma che la zeta trasformata di x(n−no) vale X(z)z−no dove
X(z) e la zeta trasformata di x(n) ed i due segnali hanno la stessa ROC.
Il secondo teorema afferma che la zeta trasformata della convoluzione lineare tra
x(n) ed h(n) vale H(z)X(z) dove X(z) e la zeta trasformata di x(n) ed H(z) e
la zeta trasformata di h(n) e la ROC della convoluzione e data dall’intersezione
delle ROC di x(n) e di h(n). Siccome la convoluzione descrive la relazione ingresso
uscita dei sistemi LTI, allora si capisce la possibilita di utilizzare tale teorema con
riferimento alla relazione ingresso/uscita dei sistemi LTI. Il teorema afferma che
Y (z) = X(z)H(z) nella ROC intersezione o, in altri termini, il rapporto tra l’uscita
e l’ingresso del sistema LTI Y (z)/X(z) risulta indipendente da X(z) e da Y (z) e
quindi rappresenta una caratteristica specifica del sistema, e che e la trasformata
zeta della risposta impulsiva del sistema.
1.5.1 Conseguenze per lo studio del sistema (1.1) nel dominio zeta
Aver assunto che il nostro sistema rappresenta una soluzione del sistema (1.2)
corrispondente alla scelta yo(n) ≡ 0 consente di considerare LTI il nostro sistema e
quindi di studiarlo nel dominio della zeta trasformata.
Per prima cosa occorre notare che il sistema “rit” e definito dalla relazione
y(n) = x(n− 1); siccome esso e LTI, si puo trasformare nel dominio zeta: si ottiene
Y (z) = X(z)z−1 da cui discende che Y (z)/X(z) = z−1. Pertanto la risposta del
sistema nel dominio zeta e data da z−1 e pertanto il blocco ritardatore sara indicata
c©Prof. Davide Mattera. 08/12/2011
1.6 Dettagli di implementazione 9
con la sua risposta in frequenza. La risposta impulsiva vale δ(n−1) e lo si puo vedere
direttamente con riferimento al sistema sia antitrasformando la zeta trasformata
del sistema. La ROC della trasformata zeta e data da tutto il piano complesso con
l’eccezione dell’origine dove si trova un polo semplice.
Quando si considera la relazione ricorsiva (1.2) e si assume LTI la relazione
ingresso/uscita in conseguenza della assunzione che yo(n) ≡ 0, allora e lecito passare
al dominio zeta e scrivere pertanto
Y (z) =M−1∑
k=0
bkX(z)z−k −N∑
k=1
akY (z)z−k (1.6)
da cui discende che
Y (z)
X(z)=
M−1∑
k=0
bkz−k
1 +
N∑
k=1
akz−k
(1.7)
Siccome il sistema e LTI, allora il rapporto Y (z)/X(z) rappresenta la zeta trasfor-
mata della risposta impulsiva H(z) del sistema considerato:
H(z) =
M−1∑
k=0
bkz−k
1 +N∑
k=1
akz−k
(1.8)
Prima di occuparci della questione di progettare un sistema LTI (ovvero di
definirne i parametri M ed N nonche i coefficienti {ak, bk}, occorre introdurre una
digressione importante sulla questione di come venga realizzato in pratica un tale
sistema LTI. Tale discussione ci spingera a non escludere dalle nostre prospettive
di progetto i sistemi non causali.
1.6 Dettagli di implementazione
Quando si procede a realizzare il sistema considerato, occorre distinguere il caso in
cui il sistema lo si voglia realizzare in tempo reale oppure no. Nel primo caso occorre
rispettare il vincolo di tempo reale: detto Tc il tempo di campionamento del segnale
di ingresso, ovvero il tempo analogico che trascorre tra due campioni relativi a
successivi istanti di tempo discreto, tale tempo costituisce il tempo entro cui devono
concludersi tutte le operazioni necessarie a fornire il corrispondente campione di
uscita y(n). In tal caso, il campione di ingresso x(n) viene ricevuto all’istante
nTc mentre il campione di uscita y(n) viene fornito all’istante nTc + ∆ dove
∆ ≤ Tc rappresenta il ritardo di realizzazione del sistema considerato. Pertanto,
c©Prof. Davide Mattera. 08/12/2011
10 Sistemi lineari
y(n) viene considerata l’uscita istantaneamente ottenuta rispetto all’ingresso nello
stesso istante x(n); tuttavia, cio e ottenuto usando un asse temporale a tempo
discreto virtuale e sfalsato rispetto a quello effettivo. Nel nostro caso tra l’asse
temporale effettivo e quello virtuale, cioe tra gli istanti in cui i campioni di uscita
del sistema sono effettivamente disponibili e quelli in cui dovrebbero teoricamente
essere disponibili, sussiste una traslazione temporale pari al tempo analogico ∆
(spesso ∆ ≃ Tc). Tale tempo viene definito ritardo di realizzazione e rappresenta
un parametro di qualita importante di una realizzazione di un sistema numerico.
In caso contrario (∆ > Tc), non concludere tutte le operazioni in tali termini
comporterebbe iniziare in ritardo le operazioni relative al calcolo del campione di
uscita nell’intervallo successivo e quindi di conseguenza incrementare il ritardo con
cui viene fornito il successivo campione di uscita. Tra l’asse temporale effettivo e
quello virtuale in questo caso non sussiste una semplice traslazione temporale ma
una relazione piu complicata. Infatti, i ritardi tra il momento effettivo in cui e
disponibile il campione di uscita e quello in cui avrebbe dovuto essere disponibile
cresce linearmente nel tempo. In ultima analisi, non e piu possibile immaginare un
ritardo ∆ finito che diventa una imperfezione del meccanismo di realizzazione in
tempo reale e va riguardato come un meccanismo di realizzazione alternativo detto
in batch. Non sussiste in questo caso alcuna garanzia riguardante il fatto che si e
trovato un sistema che puo essere incorporato (embedded) in un sistema reale ma
si e realizzato un sistema che puo essere utile solo laddove i tempi di ritardo con
cui esso viene implementato sono tollerabili (cio accade spesso in applicazioni di
ingegneria biomedica).
Lo schema realizzativo prima delineato conduce alla realizzazione per singolo
campione. Uno schema piu sofisticato di realizzazione conduce alla realizzazione
per singolo blocco. In questo caso tutto un blocco di Nx campioni di ingresso viene
raccolto e viene poi elaborato in modo da produrre in un sol colpo il blocco di
uscita corrispondente. Il blocco di uscita puo avere la stessa estensione del blocco
di ingresso ma puo anche essere piu limitato, ottenendosi le uscite corrispondenti
alla parte finale di un blocco al momento di elaborare il blocco successivo. Cio che e
rilevante e che il numero di campioni di uscita sia sempre costante, diciamo Ny tale
numero (con l’eccezione del primo o dell’ultimo blocco che forniscono un numero
diverso di campioni).
Per una elaborazione a blocchi, durante il tempo NyTc necessario a raccogliere
gli Ny campioni di ingresso che completano il blocco degli Nx > Ny elementi del
blocco di ingresso da elaborare (gli altri Nx − Ny campioni nella parte iniziale
del blocco sono gli ultimi Nx campioni del precedente blocco di ingresso), occorre
procedere a svolgere tutte le operazioni necessarie a produrre il blocco di uscita
a partire dal precedente blocco di ingresso. Detto ∆Nytale tempo, il vincolo
di tempo reale impone la condizione ∆Ny≤ NyTc. Quando tale condizione sia
soddisfatta resta comunque un ritardo diverso a cui va incontro ciascun campione
del blocco. Il campione piu fortunato, l’ultimo ad entrare nel blocco e che vede
l’uscita corrispondente immediatamente calcolata, vede limitato il suo ritardo alla
quantita ∆Ny+ (Nx −Ny)Tc. Viceversa quello piu sfortunato e il primo ad entrare
c©Prof. Davide Mattera. 08/12/2011
1.6 Dettagli di implementazione 11
nel blocco di lunghezza Ny che viene acquisito in ingresso; infatti al ritardo
precedente occorre sommare il ritardo (Ny − 1)Tc corrispondente all’acquisizione
dei successivi Ny − 1 elementi del blocco di ingresso; pertanto il ritardo di tale
campione vale ∆Ny+ (Nx − Ny)Tc + (Ny − 1)Tc = (Nx − 1)Tc + ∆Ny
. Va anche
considerato il fatto che il primo elemento del blocchetto di lunghezza Nx − Ny
che viene acquisito subito ma non riceve l’uscita corrispondente prima del blocco
successivo, si ritrova ad affrontare un ritardo pari a (Nx−Ny−1)Tc per completare
l’acquizione dei successivi Nx−Ny − 1 campioni del blocco di campioni di ingresso
di lunghezza Ny e quindi gli ultimi del blocchetto di lunghezza Nx−Ny per i quali
le uscite sono fornite durante il blocchetto successivo. A tale tempo va sommato
tutto un intervallo di lunghezza NyTc dove si raccolgono i campioni del successivo
blocco di elaborazione ed in cui esso e collocato nella parte iniziale (ne ricevera
quindi l’uscita solo allora) ma si elabora il blocco successivo ed infine il tempo di
elaborazione ∆Nydel blocchetto che lo riguarda. Complessivamente il ritardo vale:
(Nx−Ny − 1)Tc +NyTc + ∆Ny= (Nx− 1Tc + ∆Ny
. Pertanto il valore massimo del
ritardo per gli istanti piu sfortunati vale circa (Nx+Ny−1)Tc siccome ∆Ny≃ NyTc
e quindi, nel caso piovvio in cui Nx = Ny, il ritardo vale all’incirca 2NyTc. Nel
caso piu fortunato, viceversa, il ritardo minimo vale ∆Ny+ (Nx − Ny)Tc ≃ NxTc
(siccome ∆NysimeqNyTc) e pertanto e pari a circa la meta di quello massimo
quando Nx = Ny. Entrambi i valori, quello massimo e quello minimo, sono in ogni
caso proporzionali ad Ny, il che ci fa capire che questo parametro delle prestazioni
si deteriora proporzionalmente alla dimensione Ny del blocco di elaborazione.
Un altro importante parametro di elaborazione e la massima banda ammissibile
per il segnale in ingresso al sistema che sia compatibile con il vincolo di tempo
reale per una fissata complessita dell’hardware. Si ricorda che dal teorema del
campionamento tale banda non puo superare la frequenza di ripiegamento 1/(2Tc).
In una struttura a singolo processore occorre considerare la quantita Σ(Ny) che e il
numero di operazioni necessarie ad elaborare ciascun blocco di ingresso ed il tempo
τ necessario al singolo processore ad effettuare ogni singola operazione. Pertanto il
vincolo di tempo reale diventa:
Σ(Ny)τ ≤ NyTc (1.9)
Se si considera la condizione imposto dal teorema del campionamento
B ≤ 1/(2Tc)⇔ Tc ≤ 1/(2B) (1.10)
e quindi la relazione precedente diventa
Σ(Ny)τ ≤ Ny
2B(1.11)
o equivalentemente
B ≤ fτNy
2Σ(Ny)(1.12)
c©Prof. Davide Mattera. 08/12/2011
12 Sistemi lineari
dove si e definito fτ = 1/τ il numero di operazioni che il processore puo realizzare
in un secondo e che rappresenta un parametro che misura la qualita dell’hardware
disponibile. La relazione ottenuta mostra che, a parita di hardware disponibile, la
massima banda elaborabile dal segnale di ingresso aumenta con Ny purche la quan-
tita Σ(Ny) cresca meno che linearmente, come e spesso il caso. Infatti, la crescita
lineare della complessita di calcolo e la situazione peggiore che possa occorrere e
corrisponde al caso in cui ciascun campione del blocco di uscita viene valutato in-
dipendentemente da quelli precedenti e seguenti senza portare in conto della natura
block-wise della procedura di elaborazione. Quindi, tipicamente l’elaborazione a
blocchi tende a guadagnare in termini di banda del segnale che puo essere elabo-
rato e paga questo vantaggio in termini di ritardo di realizzazione che deve essere
tollerato.
Si consideri ora la realizzazione di un sistema lineare anticausale. Esso richiede
di accumulare un blocco di ingresso e far partire una ricorsione all’indietro che
parta dalla fine del blocco. Tuttavia, per far partire correttamente questa ricorsione
occorre conoscere i valori delle uscite future che non sono note. Accettare un
errore su tale dato, per esempio mettendo erroneamente a zero le uscite future,
introduce un errore sulla uscita calcolata che tende a diventare sempre piu piccola,
man mano che la ricorsione ritorna all’indietro e la velocita con cui tale errore
decresce e legato direttamente alla lunghezza della risposta impulsiva del filtro. Tale
termine corrisponde in pratica al termine yo(n) di evoluzione libera e rappresenta
un termine che determina le caratteristiche di non linearita e di tempo varianza
del sistema realizzato (infatti solo la scelta yo(n) ≡ 0 consente di ottenere la
linearita e la tempo invarianza del sistema complessivo nel senso definito al corso di
Teoria dei Segnali); per i sistemi causali si puo imporre il suo annullarsi perche le
caratteristiche causali del filtro ed il fatto che il segnale di ingresso diventi diverso
da zero a partire da un certo istante implicano che le uscite precedenti siano nulle
e quindi il sistema puo essere fatto evolvere da tali condizioni nulle ottenendo una
realizzazione lineare e tempo-invariante di un sistema causale. Allo stesso modo
posso ripetere l’evoluzione a ritroso a partire da condizioni nulle solo quando il
segnale di ingresso sia diventato definitivamente nullo; a partire da tale istante le
uscite precedenti diventeranno esattamente nulle per un sistema anticausale e quindi
otterro la realizzazione esattamente lineare e tempo-invariante. Diversamente dal
caso causale, nel caso anticausale non posso pero procedere ad iniziare la ricorsione
fino al momento in cui il segnale di ingresso sia diventato definitivamente nullo. In
questo modo il ritardo di implementazione raggiunge valori estremamente elevati e
spesso inaccettabili.
In pratica, si puo procedere ad una elaborazione a blocchi, aspettando non gia
la fine del segnale ma solo la fine del blocco ed immaginando erroneamente che le
uscite future dopo la fine del blocco siano nulle. Nella ricorsione all’indietro che
ne consegue, possono essere scartati i termini che corrispondono ad un intervento
molto pesante del termine additivo corrispondente all’evoluzione libera a partire da
condizioni iniziale erroneamente poste a zero; se si aspetta un numero di passi nella
ricorsione all’indietro proporzionale alla lunghezza della risposta impulsiva del filtro,
c©Prof. Davide Mattera. 08/12/2011
1.7 Definizione di trasformata zeta razionale 13
si ottengono valori minimamente influenzati da questa risposta libera additiva. I
campioni da scartare, che sono i primi ad essere calcolati nella ricorsione all’indietro,
sono gli ultimi del blocco di uscita; essi verranno pertanto scartati in quanto
corrotti dal termine di disturbo risultante dalla mancata conoscenza delle uscite
future ma verranno conservati come corretti i termini calcolati successivamente
con la ricorsione all’indietro. In questo modo potremo anche calcolare gli ultimi
Nx − Ny campioni del blocco precedente che avevamo dovuto scartare per gli
stessi motivi nell’elaborare il blocco precedente. In questo modo risultera realizzare
in maniera approssimata anche sistemi teoricamente anticausali ed il prezzo con
cui bisogna pagare tale capacita e un aumento del ritardo di realizzazione del
sistema. Infatti ora occorre prima aspettare che si riempia un blocco e poi aspettare
l’esito della ricorsione all’indietro. Tale attesa sara inutile per gli ultimi elementi
del blocco che vedranno calcolata l’uscita corrispondente solo quando andremo ad
elaborare il blocco successivo. Ancora una volta si otterra pero un vantaggio in
termini di banda massima del segnale da elaborare, che risultera essere crescente
con Ny e quindi meno stringente sara la limitazione sulla banda del segnale
quanto pi‘u grande e stato l’incremento del ritardo di implementazione che si e
tollerato accettando blocchi di ingresso di lunghezza sempre maggiore. Inoltre,
l’aumento delle dimensioni del blocco di ingresso migliora la qualita media della
implementazione perche tende a ridurre sui campioni iniziali del blocco (gli ultimi
calcolati con la ricorsione all’indietro) l’effetto della evoluzione libera conseguente
agli ingressi futuri non disponibili. Ritardi minori tendono dunque a produrre
realizzazioni piu fedeli del filtro con segnali di ingresso di banda sempre maggiore.
Tutti questi discorsi verranno approfonditi discutendo della implementazione
dei filtri lineari e tempo invarianti ma ci servono a concepire fin d’ora come
opportuno imporre il vincolo di stabilita al filtro risultante dalle operazioni di
progetto riservandoci di evitare di imporre il vincolo di causalita, accettando in
fase di realizzazione una realizzazione di un filtro anticausale che comporti un
incremento del ritardo di implementazione. In questo si e semplificato il problema
del progetto del filtro perche si e eliminato un vincolo da imporre in fase di progetto.
1.7 Definizione di trasformata zeta razionale
Consideriamo la seguente funzione razionale
H(z) = zr
M∑
k=0
bkz−k
N∑
k=0
akz−k
(1.13)
c©Prof. Davide Mattera. 08/12/2011
14 Sistemi lineari
dove r e un intero relativo. Si assuma che a0 e b0 siano non nulli; cio non lede alla
generalita della trattazione4.
Per tale sistema la relazione (1.13) si puo riscrivere riguardando numeratore e
denominatore come polinomi in una variabile s = z−1, fattorizzando tali polinomi
rispetto agli zeri di s e risostituendo ad s la variabile z−1. Si ottiene in tal modo
H(z) = zrG
M∏
k=1
(1− zkz−1)
N∏
k=1
(1 − pkz−1)
(1.14)
dove G = b0a0
, zk e pk diversi da zero.
Dim.
M∑
k=0
bkz−k
N∑
k=0
akz−k
=
M∑
k=0
bksk
N∑
k=0
aksk
(1.15)
=
bM
M∏
k=1
(s− sz,k)
aM
N∏
k=1
(s− sp,k)
=
bM
M∏
k=1
(z−1 − sz,k)
aM
N∏
k=1
(z−1 − sp,k)
4. Se b0 fosse nullo, la (1.13) si potrebbe riscrivere mettendo in evidenza il fattore z−1; rdiventerebbe r − 1, M diventerebbe M − 1 il nuovo bk per k = 0, . . . ,M − 1 sarebbe
pari al vecchio bk+1: H(z) = zr
M∑
k=0
bkz−k
N∑
k=0
akz−k
= zr
M∑
k=1
bkz−k
N∑
k=0
akz−k
= zr−1
M∑
k=1
bkz−(k−1)
N∑
k=0
akz−k
=
zr−1
M−1∑
k=0
bk+1z−k
N∑
k=0
akz−k
; in modo analogo si itera se anche il nuovo b0 e nullo e si procede
allo stesso modo nel caso a0 = 0; risulta, pertanto, sempre possibile scrivere la H(z) nellaforma (1.13) per opportune scelte di bk, ak, M , N ed r.
c©Prof. Davide Mattera. 08/12/2011
1.7 Definizione di trasformata zeta razionale 15
=
bM
M∏
k=1
(−sz,k)
aM
N∏
k=1
(−sz,k)
M∏
k=1
(1− 1
sz,kz−1)
N∏
k=1
(1− 1
sp,kz−1)
(1.16)
= G
M∏
k=1
(1− zkz−1)
N∏
k=1
(1 − pkz−1)
dove G = b0a0
, sz,k sono gli zeri del polinomio in s al numeratore, sp,k sono gli zeri
del polinomio in s al denominatore, zk△= s−1
z,k e pk△= s−1
p,k. L’espressione di G e
determinata facendo tendere z ad infinito o, equivalentemente, s = z−1 a zero. Si
noti che dalla definizione risulta che zeri e poli siano non nulli. Il caso in cui sz,koppure sp,k siano nulli va escluso poiche questo accade solo se il termine noto dei
polinomi in s e cioe a0 e b0 siano nulli; cio e stato escluso dal rimaneggiamento
iniziale dei termini in (1.13) fin dal principio.
Gli zeri di una funzione razionale sono tutti i punti z per cui la H(z) si annulla;
i poli di H(z) sono tutti i punti z per cui H(z) tende all’infinito. La fattorizzazione
(1.14) ci consente di capire che zk sono zeri di H(z) e pk sono poli di H(z); ci
permette anche di capire che un polo ed uno zero nello stesso punto si cancellano
(cancellazione poli-zeri).
Es. 1 H(z) = 1 − az−1 (r = 0, M = 1, N = 0, b0 = 1 , b1 = a, a0 = 1,
G = 1, z1 = a).
Es. 2 H(z) = 1− az
La sua espressione nella forma (1.13) si trova come H(z) = 1 − az = z(−a + z−1)
(r = 1, M = 1, N = 0, b0 = −a , b1 = 1, a0 = 1).
La sua espressione nella forma (1.14) si trova come H(z) = 1−az = z(−a)(1− 1az
−1)
(G = −a, z1 = 1a ).
Es. 3 H(z) = 1−az1−bz
La sua espressione nella forma (1.13) si trova come H(z) = 1−az1−bz = −a+z−1
−b+z−1 (r = 0,
M = 1, N = 1, b0 = −a , b1 = 1, a0 = −b, a1 = 1).
La sua espressione nella forma (1.14) si trova come H(z) = 1−az1−bz = a
b
1a−z
1b−z
=
ab
1az−1−1
1bz−1−1
= ab
1− 1az−1
1− 1bz−1 ( G = a
b , z1 = 1a , p1 = 1
b ).
1.7.1 Antitrasformazione nel dominio del tempo
In questo paragrafo facciamo riferimento alla H(z) in (1.13) limitatamente al caso
r = 0. Mediante utilizzazione della sostituzione s = z−1, si puo decomporre in fratti
semplici l’espressione (1.14) assumendo che non siano presenti poli a molteplicita
c©Prof. Davide Mattera. 08/12/2011
16 Sistemi lineari
maggiore di uno e poi sostituire s con z−1; si ottiene
H(z) =
N∑
k=1
Ak
1− pkz−1+
{M−N∑
k=0
ckz−k
}u(M −N) (1.17)
dove
Ak = limz→pk
(1− pkz−1)H(z) = G
M∏
i=1
(1− zip−1k )
N∏
i=1,i6=k
(1− pip−1k )
(1.18)
dove u(n) e la funzione gradino (cioe u(n) = 1 se n ≥ 0 e u(n) = 0 se n < 0).
Consideriamo ora la trasformazione delle due seguenti sequenze
h(n) = pnu(n) ≡ H(z) =1
1− pz−1|z| > |p| (1.19)
h(n) = −pnu(−n− 1) ≡ H(z) =1
1− pz−1|z| < |p|
(1.20)
Dim. Nel primo caso, purche |z| > |p|,+∞∑
n=0
pnz−n =1
1− pz−1
Nel secondo caso, purche |z| < |p|,
−−1∑
n=−∞
pnz−n=−+∞∑
n=1
(z
p)n=−
+∞∑
n=0
(z
p)(n+1)=−z
p
+∞∑
n=0
(z
p)n=−z
p
1
1− zp
=−zp− z
=1
1− pz−1
Le due condizioni su z, imposte dalla convergenza delle due serie geometriche,
mostrano che una espressione analitica come la H(z) in (1.13) non specifica chiara-
mente una antitrasformata se non si specifica anche l’insieme dei valori di z (ROC)
da utilizzarsi per la antitrasformazione. La antitrasformata di una generica coppia
(H(z), ROC) puo essere considerata come la risposta impulsiva di un sistema LTI;
in tal caso, le proprieta della antitrasformata corrispondono a proprieta del sistema,
come gia visto nello studio della Teoria dei Segnali (ad esempio, la sommabilita della
antitrasformata corrisponde alla stabilita del sistema, la causalita e la anticausalita
della antitrasformata alla causalita e la anticausalita del sistema). Nel seguito ci
riferiremo indifferentemente a queste proprieta della antitrasformata e del segnale;
per esempio, diremo che H(z) con una certa ROC e stabile, intendendo dire che e
stabile il sistema con risposta impulsiva pari all’antitrasformata di (H(z), ROC).
Con riferimento alla espressione (1.17), poiche compaiono N termini del tipo1
1−pkz−1 , avendo ordinato in modo crescente nel modulo i vari poli pk ci ritroviamo
c©Prof. Davide Mattera. 08/12/2011
1.7 Definizione di trasformata zeta razionale 17
con N + 1 possibili scelte per la ROC:
(a)
{|z| > maxk|pk|} ≡ h(n) =
N∑
k=1
Akpnku(n) +
{M−N∑
k=0
ckδ(n− k)
}u(M −N)
(b)
{|z| < mink|pk|} ≡ h(n) = −
N∑
k=1
Akpnku(−n−1)+
{M−N∑
k=0
ckδ(n− k)
}u(M−N)
(c)
{|pℓ| < |z| < |pℓ+1|} ≡ h(n) =
ℓ∑
k=1
Akpnku(n)−
N∑
k=ℓ+1
Akpnku(−n−1)+
{M−N∑
k=0
ckδ(n− k)
}u(M−N)
Si noti che il termine pnku(n), ovviamente causuale, e sommabile se e solo se
|pk| < 1; inoltre, il termine pnku(−n− 1), ovviamente anticausale, e sommabile se e
solo se |pk| > 1. Si noti, inoltre, che la somma di diversi termini e sommabile solo
se tutti i termini lo sono, e causale solo se tutti i termini lo sono, e anticausale solo
se tutti i termini lo sono, e non causale se alcuni termini sono causali ed altri sono
anticausali. Si possono pertanto, svolgere le seguenti osservazioni:
• La presenza di poli sul cerchio unitario e incompatibile con la stabilita del sistema.
• La scelta (a) ci da certamente una h(n) causale; essa, pero, risulta non sommabile
(e quindi il corrispondente sistema LTI instabile) se esiste anche un solo polo a
modulo maggiore di uno cioe esterno al cerchio unitario.
• La scelta (b) ci da un primo termine anticausale nella h(n) (e, quindi, ci da
una h(n) anticausale se M < N); essa, pero, risulta non sommabile (e quindi il
corrispondente sistema LTI instabile) se esiste anche un solo polo a modulo minore
di uno cioe interno al cerchio unitario.
• La scelta (c) ci da certamente una h(n) non causale. Essa ci da una h(n)
sommabile (e quindi un corrispondente sistema LTI stabile) purche si sia scelto
quel valore di ℓ per cui |pℓ| < 1 e |pℓ+1| > 1 (la ROC contiene il cerchio unitario).
La scelta che ci interessa e ovviamente quella che garantisce un sistema LTI
stabile. Essa e anche causale se tutti i poli sono interni al cerchio unitario ed e
anche anticausale se tutti i poli sono esterni al cerchio unitario con N > M . In
generale, pero, essa e non causale.
1.7.2 Sistemi distinguibili nel dominio zeta solo per la ROC
Vediamo ora come si realizza un sistema descritto dalla relazione ricorsiva (1.1)
che implica una trasformata zeta nella forma (1.13) o, equivalentemente, (1.14).
Ancora limitiamo la nostra attenzione al caso r = 0; conviene dapprima derivare
c©Prof. Davide Mattera. 08/12/2011
18 Sistemi lineari
dalla relazione (1.1) il seguente insieme di sistemi LTI coerenti con esso:
y(n− i)←M∑
k=0
bkai
x(n− k)−N∑
k=0,k 6=i
akai
y(n− k) i = 0, . . . , N (1.21)
o, equivalentemente, per le proprieta di tempo invarianza, sostituendo n con n + i,
y(n)←M∑
k=0
bkai
x(n + i− k)−N∑
k=0,k 6=i
akai
y(n + i− k) i = 0, . . . , N (1.22)
Tale relazione puo essere utilizzata per realizzare un sistema nei casi estremi i = 0
ed i = N . Nel primo caso si ottiene l’uscita all’istante n mediante utilizzazione
delle uscite gia ottenute negli istanti precedenti e nel secondo caso si ottiene
l’uscita all’istante n−N mediante utilizzazione delle uscite negli istanti successivi
procedendo a ritroso nel tempo, dopo aver accumulato una certo insieme di campioni
del segnale di ingresso. La scelta i = 0 corrisponde ad una risposta all’impulso del
tipo (a) e realizza il sistema (a) che e stabile solo se tutti i poli sono interni al
cerchio unitario mentre la scelta i = N fornisce una risposta all’impulso del tipo
(b) e realizza il sistema (b) che e stabile solo se tutti i poli sono esterni al cerchio.
Per comprendere meglio la questione qui considerata, consideriamo per esempio
la semplice relazione ricorsiva:
y(n) = bx(n) + ay(n− 1) (1.23)
a cui corrispondono i seguenti due sistemi LTI:
y(n)← bx(n) + ay(n− 1) n ≥ nc x(n) = y(n) = 0 n < nc (1.24)
y(n− 1)← − b
ax(n) +
1
ay(n) n ≤ na x(n) = y(n) = 0 n > na (1.25)
dove nc e un istante a partire dal quale si attiva il segnale di ingresso e fino a
quell’istante la nostra relazione ci garantisce che y(n) valga zero ed, analogamente,
na e un istante in seguito al quale si annulla il segnale di ingresso e la relazione
costitutiva del nostro sistema ci garantisce che y(n) valga zero dopo tale istante na.
Abbiamo visto che tali due sistemi corrispondono alla stessa equazione alle
differenze ma sono due sistemi LTI diversi e che corrispondono a due ROC diverse.
Dei due sistemi uno solo e stabile: il primo sistema (1.24) se a < 1 e il secondo
sistema (1.25) se a > 1 e nessuno dei due se a = 1.
1.8 I filtri lineari non ricorsivi
La realizzazione di un sistema lineare ricorsivo considerato nel capitolo precedente
richiede di tenere sotto controllo la stabilita del sistema. Cio richiede di monitorare
la posizione dei suoi poli rispetto al cerchio di raggio unitario, decomporre in
c©Prof. Davide Mattera. 08/12/2011
1.8 I filtri lineari non ricorsivi 19
✲ z−1 ✲ z−1 ✲ z−1 ✲ ✲ z−1
❄ ❄ ❄ ❄ ❄ ❄
Σ ✲
b0 b1 b2 b3 bM−2 bM−1
x(n) x(n−1) x(n−2) x(n− 3) x(n− (M − 2)) x(n− (M − 1))
y(n)
Figure 1.2 Schema logico dell’elaboratore lineare non ricorsivo.
una una struttura seriale o parallela il sistema complessivo in modo che ciascun
sottosistema costituente sia strettamente causale oppure strettamente anticausale
e procedere alla realizzazione di ciascun sottosistema facendo correre la ricorsione
nella direzione che garantisce la stabilita del sistema realizzato (cio procedendo
in avanti per il caso in cui i poli sia tutti interni al cerchio di raggio unitario e
procedendo a ritroso quando essi siano tutti esterni).
Tale operazione e sempre possibile da realizzare anche se e esposta al rischio di
uno spostamento dall’interno all’esterno del cerchio di raggio unitario di ciascun
polo che al cerchio considerato si avvicini. E viene effettivamente realizzata quando
si voglia cogliere il vantaggio che ne deriva rispetto ad un approccio piu semplice
dal punto di vista realizzativo.
L’alternativa alla struttura considerata nel capitolo precedente e un suo caso
specifico, quello in cui N = 0, cioe in cui non sia presente alcuna ricorsione delle
uscite precedenti nella struttura di calcolo. Lo schema generale considerato nel
capitolo precedente si riduce allo schema considerato nella figura 1.2.
Esso e descritto dalla relazione
y(n)←M−1∑
k=0
bkx(n− k) (1.26)
che si trova in corrispondenza uno ad uno con la relazione matematica
y(n) =
M−1∑
k=0
bkx(n− k) (1.27)
siccome essa ammette un’unica soluzione y(n) per ogni fissato ingresso x(n). E
ovvio verificare che esso e LTI e la zeta trasformata della sua risposta impulsiva
c©Prof. Davide Mattera. 08/12/2011
20 Sistemi lineari
vale
H(z) =
M−1∑
k=0
bkz−k (1.28)
e la sua risposta impulsiva vale
h(n) =
M−1∑
k=0
bkδ(n− k) (1.29)
ed e quindi di durata finita. Per tale motivo il sistema lineare non ricorsivo qui
considerato e chiamato filtro FIR (FIR, finite impulse response), cioe filtro con
risposta impulsiva a durata finita. Di converso, quelli ricorsivi vengono denotati
come filtri IIR (IIR, infinite impulse response) cioe filtri con risposta impulsiva a
durata infinita.
Il confronto tra l’espressione (1.28) e l’espressione (1.17) del sistema piu generale
considerato nel capitolo 1 indica con chiarezza che l’effetto della mancata inclusione
della retroazione delle uscite nello schema realizzativo e quello di limitare la zeta
trasformata della risposta impulsiva ad essere una funzione polinomiale di z−1
invece che una funzione razionale di z−1. Occorre quindi considerare la relazione
tra i due insiemi di funzioni, quello S1 delle funzioni polinomiali e quello S2 delle
funzioni razionali che possono essere scritte come rapporto di funzioni polinomiali. E
evidente che S1 e un sottoinsieme di S2 ma per comprendere l’effetto della rinuncia
all’insieme S2 a favore dell’insieme S1 occorre considerare cosa significa dover
ricorrere ad un elemento dell’insieme S1 per approssimare un qualsiasi elemento
dell’insieme S2. Il rapporto tra i due insiemi e praticamente equivalente a quello
che sussiste tra l’insieme dei numeri razionali e quello dei numeri razionali con un
numero finito di cifre decimali: se non viene posto un limite all’ordine delle funzioni
polinomiali in S1 i due insiemi risultano equivalenti, se invece si pone un limite M
all’insieme delle funzioni polinomiali in S1 e possibile approssimare una qualsiasi
funzione in S2 pur di scegliere un ordine M sufficientemente elevato.
Come esempio si consideri il numero razionale 10/3 e si considerino le sue ap-
prossimazioni ottenute con un numero finito di cifre decimali {3, 3.3, 3.33, 3.333, 3.3333}.E chiaro che quanto maggiore e il limite superiore posto al numero di cifre decimali
utilizzate tanto maggiore e la qualita dell’approssimazione ottenuta.
Come esempio di sistema lineare si consideri quello descritto dalla relazione (1.24)
con a < 1 fissato. Esso e stabile e la zeta trasformata della sua risposta impulsiva
vale
H(z) =b
1− az−1(1.30)
con ROC esterna al cerchio di raggio a; la sua risposta impulsiva vale dunque
h(n) = banu(n) (1.31)
ed e pertanto di durata infinita. Ricorrere alla struttura FIR significa approssimare
c©Prof. Davide Mattera. 08/12/2011
1.8 I filtri lineari non ricorsivi 21
tale risposta impulsiva con una risposta impulsiva di durata finita usando la liberta
di scegliere i coefficienti {bk}. Si puo scegliere bk = bak per k ∈ {0, . . . ,M − 1} ed
in questo modo coprire la parte piu rilevante della risposta impulsiva 1.31. La dif-
ferenza tra le due risposte impulsiva, quella esatta in (1.31) e quella approssimante
considerata, vale ban per n > M e zero altrimenti. L’energia della differenza vale
dunque
+∞∑
n=M
ban =
+∞∑
n=0
ban −M−1∑
n=0
ban =b
1− a− b
1− aM
1− a=
baM
1− a(1.32)
La qualita dell’approssimazione ottenuta e tanto maggiore quanto minore e l’energia
in (1.32) della differenza tra la risposta impulsiva vera e quella approssimante. Si
nota che l’approssimazione e tanto migliore quanto maggiore e M . Per un fissato
M , l’energia cresce e l’approssimazione quindi peggiora quando a < 1 si avvicina
ad 1. Se a e piccolo puo bastare un piccolo valore di M ad ottenere una buona
approssimazione mentre occorre un valore di M sempre piu elevato per conservare
la stessa qualita di approssimazione al crescere di M .
Si noti che il sistema ricorsivo originario (1.24) richiede due moltiplicazioni ed
un addizione per ogni campione di uscita da calcolare mentre il sistema FIR
approssimante richiede M moltiplicazioni ed M − 1 addizioni con due addendi.
Pertanto, la complessita computazionale del sistema approssimante puo diventare
molto elevata quando a si avvicina ad uno.
In conseguenza dei rapporti che sussistono tra i due insiemi S1 ed S2, il ricorso
allo schema di figura 1.2 consente di realizzare in maniera approssimata un qualsiasi
sistema di figura 1.1 pur di scegliere un ordine sufficientemente elevato per la strut-
tura non ricorsiva. Siccome tale ordine e inevitabilmente legato alla sua complessita
computazionale cioe, come si e anticipato nell’esempio precedente e come si vedra
meglio in seguito, al numero di operazioni Σ(Ny) che occorre compiere per calcolare
l’uscita di un blocco di dimensione Ny, risulta limitata la banda dei segnali che pos-
sono essere elaborati con lo schema considerato se entrambe le strutture ricorrono
ad una realizzazione a singolo processore.
Il ricorso ad una struttura di realizzazione del sistema basato sulla disponibilita
di M moltiplicatori che operano in parallelo consente di ridurre i tempi per calcolare
l’uscita secondo la definizione (1.26) data e rende sostanzialmente indipendente da
M tali tempi; in tal modo si finisce per evitare la limitazione imposta alla banda dei
segnali elaborabili dalla struttura FIR ed ottenere praticamente la stessa limitazione
alla banda dei segnali; questo argomento verra approfondito in fase di studio delle
strutture realizzative dei sistemi FIR.
Lo svantaggio fondamentale della struttura FIR, qui considerato, ne ha pertanto
parzialmente limitato la diffusione, almeno fino a quando (a) il ricorso ad una
struttura realizzativa basata sulla disponibilita di strutture elaborative in parallelo
e (b) la disponibilita di strutture hardware a singolo processore piu veloci (cioe
caratterizzate da valori piu elevati del parametro fτ ) non hanno reso impercettibile
l’effetto di tale svantaggio.
c©Prof. Davide Mattera. 08/12/2011
22 Sistemi lineari
Un ulteriore svantaggio della soluzione IIR e dato dall’effetto non lineare che
introduce la rappresentazione approssimata dei numeri reali con un numero finito
di bit; cio introduce effetti non lineari che nella struttura (1.1) si inseriscono sul ciclo
di retroazione ed introducono maggiori disturbi rispetto al comportamento ideale
desiderato, che verranno considerati trattando la questione della realizzazione di tali
strutture. Tale svantaggio risulta molto piu influente in uno schema di elaborazione
a virgola fissa (piu economico e quindi piu diffuso nei dispositivi a larga diffusione)
che non in uno a virgola mobile.
Il vantaggio fondamentale della struttura FIR appare evidente dall’osservazione
della sua H(z) in (1.28): zMH(z) e un polinomio in z che ha solo zeri e non
ha poli ovvero l’unico polo di H(z) si trova nell’origine ed ha molteplicita M ;
la convergenza della zeta trasformata sul cerchio di raggio unitario si ottiene
qualunque siano i coefficienti {bk}; pertanto, la stabilita della struttura realizzativa
in figura 1.2 e garantita qualunque siano i valori dei suoi coefficienti. Viceversa,
la struttura realizzativa in figura 1.1 richiede di verificare che non ci siano poli
sul cerchio di raggio unitario e richiede di scegliere la direzione in cui avviene la
ricorsione conformemente alla posizionamento dei poli (ovvero di ripartire il sistema
complessivo in sottosistemi causali ed anticausali). Quando si progetti un filtro in
maniera statica, tali operazioni possono anche essere compiute, oggi diremo pure
agevolmente. Quando invece si consideri un filtro adattativo, cioe che modifichi
ad ogni istante del tempo discreto (oppure con una cadenza piu ridotta) i valori
dei suoi coefficienti (per inseguire un comportamento ideale a cui un opportuno
algoritmo adattativo lo faccia convergere), allora poter evitare di verificare ad ogni
passo di iterazione la stabilita del sistema (ovvero il posizionamento esterno ed
interno dei suoi poli per poter procedere ad una elaborazione adattativa a blocchi)
costituisce una notevole semplificazione del meccanismo di adattamento del filtro ai
dati disponibili. Pertanto, anche se ci sono stati tentativi di congegnare meccanismi
di filtro IIR adattativo, proprio dalla macchinosita dei meccanismi cosı ottenuti,
da diversi decenni e abbastanza chiaro il vantaggio di operare con una struttura
FIR della cui stabilita e possibile non occuparsi in fase di progetto del meccanismo
adattativo; rimuovere un vincolo come questo in fase di progetto, da verificare con
una certa cadenza, ovviamente semplifica il problema di progettare il meccanismo
che regola la modifica adattativa dei coefficienti del filtro. Il vantaggio e ancora piu
netto se si confrontano i sistemi FIR ed IIR in un contesto nel quale l’adattamento
dei coefficienti avviene ad ogni istante di tempo discreto.
Solo oggi quando si comincia a parlare dei consumi energetici dei sistemi di ela-
borazione, che essendosi diffusi, arrivano a percentuali non trascurabili del consumo
energetico complessivo delle societa tecnologicamente avanzate, lo svantaggio cor-
relato al ricorso a strutture di elaborazione in parallelo, e cioe il maggiore consumo
energetico di tali dispositivi che operano in parallelo, appare non piu facilmente ac-
cettabile e potrebbe precludere ad una maggiore attenzione alle strutture ricorsive
in una elaborazione adattativa a blocchi. Tale prospettiva potrebbe essere rafforzata
dalla tendenza a costruire strutture di elaborazione che si occupano di elaborare
in contemporanea un numero elevato di segnali di ingresso, in cui pertanto un ap-
c©Prof. Davide Mattera. 08/12/2011
1.8 I filtri lineari non ricorsivi 23
proccio parallelo alla elaborazione finisce per incrementare il consumo energetico.
Dal punto di vista della progettazione dei filtri, la scelta di progettare fin
dall’inizio il filtro nella forma IIR, ancorch‘e evidentemente piu complicata, rap-
presenterebbe la via maestra in quanto consentirebbe di apprezzare la qualita di
una sua approssimazione con un filtro FIR, ovvero di dimensionare opportunamente
l’ordine M del filtro FIR in modo da poter ottenere una qualita praticamente equi-
valente a quella ottenibile con il filtro IIR. Una volta dimensionato, il filtro potrebbe
essere riprogrammato ottimizzando conseguentemente i suoi parametri oppure, in
maniera semplificata, il filtro FIR lo si potrebbe ottenere come troncamento del
filtro IIR configurando quindi la definizione dei parametri della struttura FIR come
una semplice questione di realizzazione approssimata del filtro IIR determinato.
c©Prof. Davide Mattera. 08/12/2011
24 Sistemi lineari
c©Prof. Davide Mattera. 08/12/2011
2 Progetto mediante utilizzazione di dati
sperimentali
Un primo criterio di progetto dei parametri di una struttura lineare e quella
che si basa sulla disponibilita di due segnali x(n) e d(n) per un certo intervallo
n ∈ {1,M + ℓ − 1}. Con riferimento al presente capitolo faremo riferimento alla
sola struttura 1.2 per la maggiore semplicita di applicazione di questo criterio a tale
struttura e per la ampia diffusione della opzione in favore di tale struttura.
Il passo fondamentale e quello di assumere che il segnale di ingresso e quello di
uscita siano due processi aleatori congiuntamente stazionari. Conseguentemente, si
individua una funzione di costo che misura lo scostamento dell’uscita realmente
ottenuta dal filtro determinato (processo aleatorio in quanto elaborazione lineare
del processo aleatorio di ingresso) e quello desiderato d(n) caratterizzato come
processo aleatorio. Lo scostamento dipende dal filtro; il filtro ottimo sara quello che
minimizza tale funzione di costo. Esso dipendera dalla caratterizzazione statistica
marginale e congiunta dei segnali dati x(n) e d(n).
A questo punto si distungono due approcci fondamentali. Nel primo approccio
si presume anche di possedee la caratterizzazione statistica congiunta dei segnali
aleatori x(n) e d(n). Una volta individuata l’espressione del filtro ottimo in funzione
delle caratterizzazioni statistiche sintetiche necessarie a determinare il filtro ottimo,
si utilizzano le serie temporali disponibili per stimare tali caratterizzazioni sintetiche
sulla base dell’assunzione di ergodicita dei segnali coinvolti e si usano tali stime in
luogo dei valori esatti nella relazione matematica che esprima il filtro ottimo in
funzione di questi valori.
Nel secondo approccio, invece, si non si presume di possedere una caratteriz-
zazione statistica dei segnali aleatori, si individua una nuova funzione che dipende
solo dai dati disponibili e si verificano le condizioni che garantiscono che l’ottimo di
tale funzione converga al filtro ottimo che minimizza la vera funzione di costo (che
non puo essere maneggiata siccome non si conoscono le caratteristiche statistiche
dei segnali x(n) e d(n)).
Il primo approccio e piu ovvio e semplice nel caso lineare e solo nel caso di
elaborazioni non lineari mostra i suoi limiti effettivi e quindi la sua inferiorita
rispetto al secondo approccio. In ogni caso anche in ambito lineare la discussione
mostrera alcuni limiti del primo approccio.
c©Prof. Davide Mattera. 08/12/2011
26 Progetto mediante utilizzazione di dati sperimentali
2.1 Il primo approccio: caratterizzazione statistica disponibile ovvero filtro di
Wiener
L’uscita del filtro descritto nella schema di figura 1.2 puo essere scritta nel modo
seguente:
y(n) = b0x(n)+b1x(n−1)+b2x(n−2)+ . . .+bM−1x(n− (M−1)) =
M∑
k=0
bkx(n−k)
(2.1)
dove x(n) rappresenta l’ingresso del filtro visto come segnale a valore reale ed y(n)
rappresenta l’uscita del filtro quando il coefficienti del filtro sono fissati ai generici
valori reali {bk}. Se si definisce il vettore x(n)△= [x(n) x(n− 1) x(n− 2) . . . x(n−
(M − 1))]T ed il vettore b△= [b0 b1 b2 . . . bM−1]T , la relazione precedente puo
essere scritta nella seguente forma compatta:
y(n) = bTx(n) (2.2)
Progettare il filtro FIR significa determinare il vettore b siccome esso contiene tutti
i coefficienti liberi del filtro. Sia y(n) sia d(n) ad un generico ma fissato istante di
tempo n sono variabili aleatorie; la variabile aleatoria y(n) dipende da b e si vuole
scegliere il vettore b in modo tale che le due variabili aleatorie y(n) e d(n) siano
quanto piu possibili simili tra loro.
L’insieme delle variabili aleatorie e uno spazio vettoriale dotato di prodotto
scalare1; date due variabili aleatorie A e B, il loro prodotto scalare e definito
come E[AB∗], di conseguenza la norma di una variabile aleatoria A e E[|A|2] e la
distanza tra due variabili aleatorie e la norma della differenza E[|A−B|2]. Un primo
semplice e diretto approccio alla soluzione di questo problema consiste nel misurare
lo scostamento tra le due variabili aleatorie y(n) e d(n) attraverso la loro distanza
nello spazio vettoriale considerato e quindi cercare di minimizzare al variare di b la
quantita E[|y(n)−d(n)|2]. Siccome la quantita y(n)−d(n) rappresenta l’errore cioe
lo scostamento tra il valore ottenuto ed il valore desiderato, allora la quantita da
minimizzare viene chiamata l’errore quadratico medio (MSE, mean square error).
Prima di procedere con la derivazione del filtro conseguente, e opportuno richia-
mare un aspetto su cui in seguito andremo a discutere. Noi abbiamo assunto di
conoscere la caratterizzazione statistica completa di d(n) e facendo uso di tale carat-
terizzazione potremmo definire una funzione di costo in maniera piu opportuna.
Tuttavia, abbiamo richiamato fin dall’inizio che il primo approccio qui considerato
si limita dapprima a assumere tutto noto per capire che cosa alla fine occorre stimare
dai dati. Pertanto, con la scelta fatta non abbiamo assunto noto ancora nulla men-
tre se usiamo la conoscenza della caratterizzazione statistica di d(n), troveremmo
1. Per dimostrare cio, occorre verificare che la media del prodotto E[AB∗] tra due variabilialeatorie A e B soddisfi tutte le proprieta che definiscono un prodotto scalare.
c©Prof. Davide Mattera. 08/12/2011
2.1 Il primo approccio: caratterizzazione statistica disponibile ovvero filtro di Wiener 27
una soluzione dipendente dalla funzione di costo adottata che dipende dalla carat-
terizzazione statistica che, a sua volta, deve essere stimata dai dati. Per tale motivo
l’idea di non utilizzare la eventuale conoscenza della caratterizzazione statistica di
d(n) consente di semplificare la procedura. Quando venga scartata l’idea di utiliz-
zare la caratterizzazione statistica di d(n) per definire la funzione di costo, resta
la questione di come motivare la scelta fatta. In primo luogo, anticipiamo che la
soluzione adottata e quella che semplifica al massimo il problema di ottimizzazione
rispetto a b che dovra essere risolto. E questo e una motivazione storicamente molto
importante; anche oggi potremmo dire che una funzione di costo non convessa com-
plicherebbe di molto il problema della ottimizzazione ma quando e stato derivato
questo metodo da Wiener (con notazione relativa alla elaborazione analogica allora
in voga negli anni Trenta del Novecento) anche la differenza tra l’ottimizzazione
quadratica che risultera dalla scelta fatta e la generica ottimizzazione convessa era
sicuramente molto importante. Inoltre, una funzione di costo oppure un’altra non
sempre produce una qualita apprezzabilmente diversa in molte applicazioni e questo
spinge ad adottare quella che semplifica la derivazione del filtro ottimo. Infine, ri-
porto le parole con cui Wiener se la cava parlando delle basi e dei risultati del
suo lavoro nel suo libro autobiografico [3]: “For the actual distribution of curves
which we wanted to predict, or let us say for the actual distribution of airplanes
that we wanted to shoot down, we might seek a prediction making some quantity
a minimum; and the most natural quantity to choose at the start, if we should be
guided by easy computation, if not military significance, was the mean square er-
ror of prediction”. In altri termini, specifica che la semplicita di calcolo e stata una
guida e che probabilmente poteva anche trovare qualche ulteriore giustificazione con
riferimento alla specifica applicazione militare. Esistono tuttavia tante applicazioni
nelle quali produce una progettazione migliore cercare di stimare e poi utilizzare
nozioni riguardanti la caratterizzazione statistica di d(n), il che impone il dover
ritornare sulla questione per cercare di capire sia come stimare la caratterizzazione
statistica di d(n) sia come utilizzare tale informazione per minimizzare la funzione
di costo sia come minimizzare la funzione di costo conseguente. Ma come primo
caso di progetto del filtro, e certamente istruttivo seguire fino in fondo il metodo di
base introdotto da Wiener prima di andare a descriverne sviluppi evolutivi.
La funzione di costo introdotta puo essere riscritta come segue:
E[y(n)− d(n)|2] = E[bTx(n)− d(n)|2]
= E{
[bTx(n)− d(n)][bTx(n)− d(n)]}
= E{
[bTx(n)− d(n)][bxT (n)− d(n)]}
= E{
[bTx(n)− d(n)][xT (n)b− d(n)]}
= E{bTx(n)xT (n)b− bTx(n)d(n) − d(n)xT (n)b + d2(n)
}
= E[bTx(n)xT (n)b]− E[bTx(n)d(n)]− E[d(n)xT (n)b] + E(d2(n))
dove si e usata la linearita della media e la seguente aTb = bTa per due vettori a
c©Prof. Davide Mattera. 08/12/2011
28 Progetto mediante utilizzazione di dati sperimentali
e b.
Il primo addendo dell’espressione trovata risulta2 uguale a E[bTx(n)xT (n)b] =
bTE[x(n)xT (n)]b secondo una procedura che applicheremo diverse volte nel corso
delle lezioni e pertanto puo essere riscritta come bTRb dove R
△= E[x(n)xT (n)]
Analogamente, E[bTx(n)d(n)] = bTE[x(n)d(n)] e pertanto puo essere scritta come
bHp dove si e definito il vettore p△= E[x(n)d(n)] Inoltre, E[d(n)xT (n)b] = pT b =
bTp e E[d2(n)] = rd(0) e l’autocorrelazione del segnale d(n) nell’origine.
Pertanto, possiamo scrivere che la nostra funzione di costo vale
bTRb− 2pT b + rd(0) (2.3)
Per studiare la forma quadratica osserviamo dapprima che la matrice R della
forma quadratica e semidefinita positiva ed e definita positiva con l’eccezione dei
casi in cui il processo aleatorio x(n) sia degenere, tale cioe da confinare il supporto
della densita di probabilita del vettore x(n) ad un sottospazio. Infatti, fissato un
qualsiasi vettore w si ha che la forma quadratica conseguente e non negativa:
wTRw = wTE[x(n)xT (n)]w
= E[wT (x(n)xT (n))w]
= E[(wT (x(n))(xT (n)w)]
= E[(wTx(n))(wTxT (n))]
= E[(wTx(n))2] ≥ 0 (2.4)
in quanto la media di una variabile aleatoria non negativa e essa stessa non negativa.
Inoltre, la forma quadratica e strettamente positiva - a meno di casi degeneri3 - per
2. La dimostrazione e ovvia e segue direttamente dalla linearita della media:
E[(bTx(n))(xT (n)b)] = E[bT (x(n)xT (n))b] = E[bTMb]
dove M△= x(n)xT (n). L’elemento (i, j) della matrice M vale Mi,j = xi(n)xj(n) dove
xi(n) denota la i-esima componente del vettore x(n). Conseguentemente,
E[bTMb] = E
[∑
i,j
bibjMi,j
]=
∑
i,j
bibjE[Mi,j ] =∑
i,j
bibjri,j
dove
ri,j△= E[Mi,j ] = E[xi(n)xj(n)]
e pari alla componente (i, j) della matrice R△= E[x(n)xT (n)] da cui segue che∑
i,j bibjri,j = bTRb.
3. Il caso degenere e quello in cui il vettore x(n) giaccia in un sottospazio con probabilitauno. Si ricordi che x(n) e un vettore aleatorio che ammette diverse realizzazioni; se x(n)fosse un vettore fissato, sarebbe ovvio trovare un vettorew non nullo che annulli il prodottoscalare w
Tx(n). Siccome x(n) e un vettore aleatorio, affinche la potenza E[(wT
x(n))2]del prodotto scalare tra un vettore deterministico w ed il vettore aleatorio x(n) sia nulla
c©Prof. Davide Mattera. 08/12/2011
2.1 Il primo approccio: caratterizzazione statistica disponibile ovvero filtro di Wiener 29
ogni vettore w che non sia identicamente nullo.
Siccome la matrice R della forma quadratica (2.3) e definita positiva, a meno di
casi degeneri, il minimo della forma quadratica puo essere ottenuto annullandone
il gradiente. Il gradiente di una forma quadratica bTAb vale4 (A + AT )b, che
per una matrice simmetria (A = AT ) implica che la seguente espressione: 2Ab.
E abbastanza ovvio verificare che il gradiente (rispetto al vettore b) della forma
lineare pT b e pari proprio al vettore p. Di conseguenza il gradiente della forma
quadratica considerata e pari proprio a 2Rb − 2p e pertanto la condizione che
porta ad annullare il gradiente e la seguente:
RbrmMMSE = p (2.6)
dove si e denotato con bMMSE il vettore ottimo secondo il criterio adottato. Il filtro
trovato viene usualmente chiamato il filtro di Wiener in omaggio a chi lo introdusse
e la condizione (2.6) viene usualmente chiamata la condizione di Wiener.
E opportuno anche considerare il caso di segnali x(n) e d(n) a valori complessi
e seguire un altro metodo piu sintetico di derivazione del filtro ottimo di Wiener.
In questo caso, la distanza tra le due variabili aleatorie d(n) e y(n), viste come
elementi di uno spazio vettoriale dotato di prodotto scalare, viene minimizzata
guardando alla scelta della variabile aleatoria y(n) che, in base alla defizione (2.1),
e un elemento dello spazio vettoriale ottenuto come combinazione lineare delle
variabili aleatorie {x(n), x(n − 1), ldots, x(n − (M − 1))}; al variare del vettore b
si ottengono tutti gli elementi di questo sottospazio vettoriale. Il vettore d(n) avra
e necessario che abbia probabilita nulla l’evento che wTx(n) 6= 0 o, equivalentemente, che
abbia probabilita nulla l’evento secondo cui il vettore x(n) esca dal sottospazio costituitodai vettori ortogonali a w.
4. La k-esima componente del gradiente della funzione bTAb =
∑i,j bibjAi,j e pari alla
derivata della funzione rispetto alla variabile bk che vale
d
dbk
{∑
i,j
bibjAi,j
}=
{∑
i,j
Ai,jd
dbk(bibj)
}
=∑
i,j
Ai,j(biδ(j − k) + bjδ(i− k))
=∑
i,j
Ai,jbiδ(j − k) +∑
i,j
Ai,jbjδ(i− k)
=∑
i
Ai,kbi +∑
j
Ak,jbj
= [ATb]k + [Ab]k
= [ATb+Ab]k
= [(A+AT )b]k (2.5)
dove si e denotato con [Ab]k la k-esima componente del vettore Ab. Se la k-esimacomponente del gradiente e pari alla k-esima componente del vettore (A + A
T )b alloracio significa che il gradiente e pari al vettore (A+A
T )b.
c©Prof. Davide Mattera. 08/12/2011
30 Progetto mediante utilizzazione di dati sperimentali
una componente nel sottospazio ed una componente ortogonale a tale sottospazio. Il
teorema di Pitagora negli spazi vettoriali ci assicura che la distanza al quadrato tra
i due vettori e pari alla distanza al quadrato tra le due componenti nel sottospazio
sommata alla norma al quadrato della componente di d(n) ortogonale al sottospazio.
Siccome tale secondo addendo non dipende dal variabile y(n), tale distanza puo
essere minimizzata annullando il primo addendo, cioe rendendo y(n) pari alla
proiezione ortogonale di d(n) nel sottospazio, ovvero rendendo la differenza tra
d(n) ed y(n) ortogonale al sottospazio:
E[(wTx(n))(d(n) − bH
MMSEx(n))∗] = 0 ∀w
Tale principio viene detto principio di ortogonalita. Essa puo essere riscritta nel
modo seguente:
wTE[(x(n))(d(n) − bH
MMSEx(n))∗] = 0 ∀w
e puo essere soddisfatta per ogni vettore w solo se
E[(x(n))(d(n) − bH
MMSEx(n))∗] = 0
o equivalentemente
E[(x(n))(d∗(n)− xH(n)bMMSE)] = 0
o equivalentemente
E[x(n)d∗(n)] = E[x(n)xH(n)bMMSE]
che risulta equivalente alla (2.6) purche si definisca in senso esteso al caso complesso
la matrice
R△= E[x(n)xH(n)] (2.7)
ed il vettore
p△= E[x(n)d∗(n)] (2.8)
in modo coerente con il caso precedente che si limitava ai vettori reali e si tenga
conto - seguendo la falsariga della dimostrazione nella nota 2 di questo capitolo -
che
E[x(n)xH(n)bMMSE] = E[x(n)xH(n)]bMMSE = RbMMSE (2.9)
Un ulteriore modo per dimostrare lo stesso risultato consiste nel considerare la
funzione di costo (2.3) nel punto R−1p+v, dove si e assunta la matrice R invertibile,
e di verificare che la funzione del vettore v che cosı si ottiene si minimizza in
corrispondenza del vettore v = 0. Tornando al caso di segnali reali, la funzione di
c©Prof. Davide Mattera. 08/12/2011
2.1 Il primo approccio: caratterizzazione statistica disponibile ovvero filtro di Wiener 31
v risulta pari a
bTRb− 2bTp + rd(0) = (R−1p + v)TR(R−1p + v)− 2(R−1p + v)Tp + rd(0)
= (pTR−1 + vT )R(R−1p + v)− 2(pTR−1 + vT )p + rd(0)
= pTR−1RR−1p + pTR−1Rv + vTRR−1p + vTRv
− 2pTR−1p− 2vTp + rd(0)
= pTR−1p + pTv + vTp + vTRv
− 2pTR−1p− 2vTp + rd(0)
= rd(0)− pTR−1p + vTRv
= rd(0)− pT bMMSE + vTRv (2.10)
dove si e tenuto conto che la matrice R−1 e simmetrica e che pTv = vTp. siccome
lo e R. L’espressione ottenuta mostra chiaramente che il minimo rispetto a v si
ottiene per v = 0, il che dimostra che R−1p, rappresenta la soluzione ottima,
siccome R e definita positiva (salvo casi degeneri). Inoltre, ci consente di ricavare
che il minimo valore del MSE, quello che viene detto MMSE (minimum MSE), vale
rd(0) − pT bMMSE. Infine la relazione ottenuta ci consente di apprezzare l’effetto
di uno scostamento dalla soluzione ottima. Infatti, decomposta la matrice R in
autovettori ed autovalori:
R =
M∑
i=1
λiuiuTi = QΛQT (2.11)
dove la matrice Q△= [u1u2 . . .uM ] e la matrice Λ e definita come una matrice
diagonale avente λi come elemento i-esimo sulla diagonale. Il termine vTRv che
rappresenta l’effetto di incremento dell’MSE in corrispondenza di uno scostamento
v dal punto di ottimo si puo scrivere nel modo seguente
vTRv = vT (QΛQT ]v
= (vTQ)Λ(QTv)
= vTQΛvQ =
M∑
i=1
λi|vQ,i|2 (2.12)
dove vQ△= QTv la cui i-esima componente rappresenta il prodotto scalare tra
il vettore v e l’i-esimo autovettore ui e dunque la componte del vettore v lungo
l’autovettore ui. Pertanto, l’espressione trovata ci dice che, parita di scostamento
lungo la direzione individuata da ogni autovettore, l’incremento di MSE e pesato
dall’autovalore λi e dunque risulta molto maggiore nella direzione degli autovalori
maggiori. Pertanto se si sbaglia nella direzione dell’autovettore a cui compete
l’autovalore massimo si ha il massimo scostamento dell’MSE e dunque e piu facile
notare lo scostamento in una certa direzione poiche produce un forte effetto in
termini di MSE. Viceversa, se ci si muove nella direzione dell’autovettore “minimo”
l’effetto sull’MSE e meno marcato, e piu difficile ricavare piccoli scostamenti in
c©Prof. Davide Mattera. 08/12/2011
32 Progetto mediante utilizzazione di dati sperimentali
tale direzione poiche producono effetti piu ridotti in termini di MSE. Tuttavia,
un eventuale scostamento lungo l’autovettore “minimo” risulta meno rilevante in
quanto produce un minimo incremento in termini di MSE.
La trattazione svolta ci ha rivelato che il progetto del filtro FIR secondo il criterio
considerato prevede la soluzione del sistema di equazioni lineari (2.6) nel vettore
incognito bMMSE. Abbiamo pure presupposto di conoscere la caratterizzazione
statistica completa congiunta dei segnali aleatori x(n) e d(n) al fine di comprendere
quali caratterizzazioni sintetiche fossero necessarie a trovare la soluzione e procedere
poi quindi alla loro stima sulla base dell’assunzione ergodica. Adesso abbiamo la
risposta, sono necessarie le caratterizzazioni sintetiche che consentono di costruire la
matrice R ed il vettore p. Vediamo percio quali sono tali caratterizzazioni sintetiche.
L’elemento (i, j) della matrice R e dato dalla quantita ri,j△= E[xi(n)x∗
j (n)] dove
xi(n) denota l’i-esima componente del vettore x(n) e quindi e pari a x(n− (i− 1))
per i ∈ {1, 2, . . . ,M}. Di conseguenza,
ri,j = E[x(n− (i− 1))x∗(n− (j − 1))] = rx(j − i)
dove si e tenuto conto che il processo aleatorio x(n) e stato assunto essere stazionario
e si e denotato con rx(·) l’autocorrelazione del processo x(n). Pertanto, la prima
riga della matrice R vale
[rx(0) rx(1) rx(2) . . . rx(M − 2) rx(M − 1)]
mentre la prima colonna5 vale
[rx(0) rx(−1) rx(−2) . . . rx(−(M − 2)) rx(−(M − 1))]T
e puo essere riscritta come segue
[rx(0) r∗x(1) r∗x(2) . . . r∗x(M − 2) r∗x(M − 1)]T
tenendo conto che rx(−m) = r∗x(m) per le note proprieta dell’autocorrelazione.
Inoltre si puo vedere che tutti gli elementi della diagonale principale valgono rx(0),
tutti gli elementi della diagonale minore a destra della principale valgono rx(1)
mentre quelli della diagonale minore appena a sinistra della principale valgono
r∗x(1); analoga proprieta di avere tutti gli elementi uguali valgono per le altre
diagonali minori. In sintesi si puo affermare che la matrice R e di tipo Toeplitz
e che per costruire tale matrice sono necessari i valori della autocorrelazione rx(m)
per m ∈ {0, 1, 2, . . . ,M − 1}.Consideriamo, inoltre, il vettore p che contiene le caratterizzazioni statistiche
congiunte. Si consideri l’i-esima componente del vettore p; essa si puo scrivere come
E[xi(n)d∗(n)] e che vale quindi E[x(n− (i− 1))d∗(n)] = rxd(−(i− 1)) = r∗dx(i− 1)
5. Si noti che la trasposizione rende una colonna quanto scritto come riga per motivi dioccupazione dello spazio sul foglio.
c©Prof. Davide Mattera. 08/12/2011
2.1 Il primo approccio: caratterizzazione statistica disponibile ovvero filtro di Wiener 33
per i ∈ {1, 2, . . . ,M}. Pertanto il vettore colonna p si puo scrivere come segue:
[r∗dx(0) r∗dx(1) r∗dx(2) . . . r∗dx(M − 2) r∗dx(M − 1)]T
Pertanto per costruire il vettore p e necessario conoscere la mutua correlazione
rdx(i) per i ∈ {0, 1, . . . ,M − 1}.
2.1.1 Metodi di stima delle statistiche richieste
Finora ci siamo occupati di come determinare il filtro ottimo note le statis-
tiche; adesso ci dobbiamo occupare di come trovare l’autocorrelazione marginale
e congiunta sulla base delle serie temporali disponibili. A questo scopo si ricorre
all’assunzione ergodica e si sostituisce la media statistica con la media temporale.
Al fine di stimare l’autocorrelazione rx(i) (con i ≥ 0) a partire dalle misurazioni
di una serie temporale x(n) per n ∈ {1, . . . , Nx}, si puo considerare la seguente
stima campionaria:
rx(i)△=
1
Nx − i
Nx∑
n=i+1
x(n)x∗(n− i) (2.13)
e l’autocorrelazione rxd(i) (con i ≥ 0) a partire dalle misurazioni di due serie
temporali x(n) e d(n) per n ∈ {1, . . . , Nx}, si puo considerare la seguente stima
campionaria:
rdx(i)△=
1
Nx − i
Nx∑
n=i+1
d(n)x∗(n− i) (2.14)
Gli stimatori appena considerati ammettono diverse varianti migliorative delle
prestazioni. L’assunzione di segnale ergodico equivale a dimostrare che, al crescere
del numero di campioni Nx disponibili, si ottiene la convergenza delle variabili
aleatorie rx(i) e rdx(i) alle quantita deterministiche vere rx(i) e rdx(i).
Nel prossimo sottoparagrafo si discute piu in dettaglio con riferimento ai concetti
sottostanti l’assunzione di ergodicita siccome essa e cruciale per il corretto fun-
zionamento degli algoritmi di elaborazione dei segnali. In particolare, si illustrano
i metodi per generare la realizzazione di un segnale aleatorio che presenti determi-
nate caratteristiche. La generazione di un processo aleatorio non e stata studiata
in teoria ma risulta utile per poter generare le sequenze temporali da sottoporre ad
elaborazione con i metodi che andiamo a studiare. Inoltre, la capacita di generare
una realizzazione di un processo aleatorio ci consente di modellare in maniera ap-
propriata la generica serie temporale misurata ed assunta essere la realizzazione di
un processo aleatorio.
c©Prof. Davide Mattera. 08/12/2011
34 Progetto mediante utilizzazione di dati sperimentali
2.1.2 Generazione di funzioni membro di processi aleatori a campioni
indipendenti
In primo luogo, si consideri il problema di generare una serie temporale di N
campioni che sia una realizzazione di un processo aleatorio a tempo discreto
costituito da una sequenza di variabili aleatorie indipendenti tra loro e distribuite
tutte allo stesso modo secondo una variabile uniforme nell’intervallo (0, 1).
Questo problema e stato studiato sin dai primi tempi di sviluppo dei calcolatori
elettronici. Esistono diversi algoritmi ricorsivi che, partendo da un valore iniziale
x(0), generano una sequenza x(n) = f(x(n − 1)) attraverso una funzione f(·) ap-
positamente fissata. Molti contributi in letteratura sono volti a definire la funzione
f(·) piu opportuna che approssimi (nel modo piu appropriato al contesto di elabo-
razione caratterizzato da una rappresentazione finita dei numeri) la funzione ideale
fU (·) che garantisca l’uniformita della distribuzione risultante. La funzione fU (·)ideale e quella che garantisca la seguente proprieta: data la variabile aleatoria X
avente densita di probabilita pari ad una uniforme in (0, 1), la funzione fU deve
garantire che la variabile aleatoria fU (X) conservi la stessa pdf uniforme. Inoltre,
deve garantire che la sequenza generata dalla relazione ricorsiva x(n) = fU (x(n−1))
a partire da un qualsiasi valore iniziale x(0) ricada nel generico intervallo I, sot-
tinsieme dell’intervallo (0, 1), con una cadenza pari proprio alla probabilita che
una variabile uniforme in (0, 1) cada proprio nell’intervallo I (che e pari proprio
alla larghezza dell’intervallo I) dove la cadenza e la frazione di valori della serie
temporale che ricade nell’intervallo I. Scritto in formule, si deve cioe garantire che
la media statistica di una qualsiasi elaborazione non lineare senza memoria della
sequenza X(n)
E[g(X(n))] =
∫ 1
0
g(x)dx (2.15)
si possa scrivere come media temporale su un intervallo infinito, cioe come il limite
per N che tende a ∞ della media temporale su N campioni
1
N
N∑
n=1
g(x(n)) (2.16)
Si noti che la funzione g(·) puo essere l’indicatore dell’intervallo I, cioe che vale uno
su tale intervallo e zero altrimenti. In tal caso, la (2.15) diventa pari alla larghezza
dell’intervallo I e la (2.16) diventa pari alla cadenza con cui la sequenza ricade
nell’intervallo I.
Si noti che la sequenza di variabili aleatorie X(n) = fU (X(n− 1)) a partire dalla
variabile aleatoria X(0) genera tanti diversi processi aleatori a seconda della scelta
della densita della variabile di partenza X(0). In particolare, esistera il processo che
parte dalla variabile aleatoria uniforme in (0, 1); per quanto detto, questo processo
sara stazionario, cioe avra una densita che non dipende da n. Gli altri processi non
saranno stazionari.
c©Prof. Davide Mattera. 08/12/2011
2.1 Il primo approccio: caratterizzazione statistica disponibile ovvero filtro di Wiener 35
L’uguaglianza di (2.15) e (2.16) implica che solo quando si considera il processo
che parte da X(0) uniforme mi ritrovo con un processo ergodico. Tutti gli altri pro-
cessi mancano della proprieta di ergodicita; in questo caso, mancando la staziona-
rieta, la quantita al primo membro della (2.15) dipende ulteriormente da n e non
si puo proprio attendere che essa possa uguagliarsi alla media temporale (2.16),
che non dipende da n. Detto in altri termini, presa una qualsiasi serie temporale
generata ricorsivamente a partire da un qualsiasi valore iniziale, le medie temporali
che vengono realizzate saranno uguali asintoticamente alle medie statistiche che si
riferiscono al processo stazionario. Sara quindi la funzione fU (·) usata per definire
la regola ricorsiva a definire la stessa densita dei dati e non quella che uso per
generare il punto di partenza, detto seme, della sequenza temporale ottenuta.
Molte variazioni sono presenti in letteratura al riguardo di come approssimare in
pratica la funzione fU (·); alcune approssimazioni consentiranno di avere approssi-
mazioni migliori su un certo intervallo mentre altre funzioneranno meglio su altri
intervalli; il tutto dipende dalla approssimazione numerica usata per la rappresen-
tazione dei numeri.
Dal punto di vista di Matlab, la generazione avviene usando il comando rand
(N,1) che genera un vettore colonna di N elementi che contiene N elementi della
serie temporale considerata, che puo essere vista come funzione membro del processo
aleatorio considerato.
Quando la sequenza da generare fosse la realizzazione di un processo aleatorio a
campioni indipendenti come prima ma non uniforme, allora esistono diverse regole
di trasformazione non lineare delle variabili aleatorie che, partendo da variabili
gia generate, provvedono a generare quelle mancanti. Gran parte delle variabili
aleatorie vengono generate per trasformazione di quelle uniformi. Detta U una
variabile uniforme in (0, 1), allora la CDF della variabile aleatoria Y = g(U)
PY (x)△= Prob[Y ≤ y] = Prob[g(U) ≤ y] = Prob[U ≤ g(−1)(y)] = g(−1)(y) (2.17)
dove si e assunto che la funzione g(·) ha per dominio e codominio l’insieme (0, 1) e
sia anche invertibile; si e denotato con g(−1)(·) l’inversa della funzione g(·). In tal
modo anche la sua inversa e invertibile ed e pari alla CDF di Y . Pertanto, fissata una
CDF di Y desiderata e monotona crescente, la sua inversa (che soddisfa le proprieta
di essere in (0, 1) come dominio e codominio ed e ora monotona crescente) ci fornisce
la funzione g(·) da usare per elaborare la variabile U per ottenere una sequenza di
realizzazioni della variabile aleatoria con CDF desiderata.
Questo metodo non e semplice da impiegare per le densita che hanno una
CDF che non puo essere scritta e quindi invertita con semplicita, tra cui la
molto importante densita gaussiana. Per giungere a generare queste variabili, si
effettuano trasformazioni di variabili ottenibili col metodo appena delineato al fine
di completare l’insieme di pdf che puo essere generato. In particolare, la generazione
di una realizzazione di un processo gaussiano a campioni indipendenti in Matlab
avviene con il comando randn (N,1) che genera un vettore colonna di N elementi.
c©Prof. Davide Mattera. 08/12/2011
36 Progetto mediante utilizzazione di dati sperimentali
2.1.3 Generazione di un processo aleatorio colorato
I processi considerati nel paragrafo precedente sono a campioni indipendenti. La
funzione di autocorrelazione di tali processi e impulsiva:
rx(m) = Pxδ(m) (2.18)
dove Px = rx(0) e la potenza del processo x(n) mentre la funzione δ(n) denota la
delta di Kronecker. La densita spettrale Sx(F ) di tale processo vale
Sx(F ) = Px (2.19)
che e quindi costantemente pari a Px. Un processo di questo tipo viene detto
bianco, in quanto il colore della luce che l’uomo avverte come bianco corrisponde
ad un andamento costante della densita spettrale di potenza nella banda ottica.
Per analogia, si dice colorato un processo che non e bianco.
Quando si vuole imporre alla autocorrelazione una certa forma, si parte da un
processo bianco generato come visto al paragrafo precedente e lo si trasforma
attraverso un filtro lineare. In questa operazione si perdono le proprieta statistiche
imposte al processo al paragrafo precedente, a meno che questo non sia un processo
gaussiano. Infatti, e peculiare di un processo gaussiano la proprieta secondo cui
all’uscita di un filtro si trova un processo gaussiano se al suo ingresso si trova
un processo gaussiano. Per gli altri processi la densita del processo e mutata dal
filtraggio.
In pratica, ai processi che vengono generati viene imposta la densita come visto al
paragrafo precedente, oppure viene imposta l’autocorrelazione dando per scontato
che sia un processo gaussiano. In tal caso, quando un processo gaussiano a variabili
indipendenti con autocorrelazione rx(m) = Pxδ(m) viene posto in ingresso ad
un filtro LTI con risposta in frequenza pari a H(F ), alla sua uscita il processo
y(n) avra densita spettrale pari a Sy(F ) = Sx(F )|H(F )|2 = Px|H(F )|2. Pertanto,
variando il filtro H(F ) varia la densita spettrale di potenza del processo ottenuto.
La procedura che consente di determinare la risposta impulsiva del filtro sulla base
della densita spettrale di potenza che si vuole imporre a Sy(F ) non viene qui trattata
ed e notevolmente complicata. In questo breve paragrafo si e voluto solo ricordare
che esiste la possibilita di colorare un processo gaussiano bianco facendolo passare
attraverso un filtro lineare.
2.2 Il filtro di Wiener senza il vincolo della risposta impulsiva di durata finita
Se si considera la condizione (2.6), tenendo conto del fatto che la componente (k,m)
della matrice R vale rx(m− k), la k-esima riga del vettore RbMMSE vale
M−1∑
m=0
rx(m− k)bm k ∈ {0, 1, . . . ,M − 1} (2.20)
c©Prof. Davide Mattera. 08/12/2011
2.2 Il filtro di Wiener senza il vincolo della risposta impulsiva di durata finita 37
dove si e denotato con bm la m-esima componente del vettore bMMSE△=
[b0 b1 . . . bM−1]T . Pertanto, tenendo conto la k-esima componente del vettore p
vale r∗dx(k); pertanto la condizione (2.6) puo riscritta nel modo seguente:
M−1∑
m=0
rx(m− k)bm = r∗dx(k) k ∈ {0, 1, . . . ,M − 1} (2.21)
Siccome l’uscita del filtro di Wiener si scrive come
bMMSEx(n) = [b∗0 b∗1 . . . b∗M−1]x(n)
= b∗0x(n) + b∗1x(n− 1) + . . . + b∗M−1x(n− (M − 1))
=
M−1∑
m=0
b∗mx(n−m)
=
M−1∑
m=0
bw(m)x(n −m) (2.22)
dove si e indicato con bw(n) = b∗m - e nulla al di fuori dell’intervallo {0, 1, . . . ,M−1}- la risposta impulsiva del filtro di Wiener. Pertanto, la (2.21) si puo riscrivere come
segue:
M−1∑
m=0
rx(m− k)b∗w(m) = r∗dx(k) k ∈ {0, 1, . . . ,M − 1}
o equivalentemente, tenendo conto che rx(m) = r∗x(−m),
M−1∑
m=0
r∗x(k −m)b∗w(m) = r∗dx(k) k ∈ {0, 1, . . . ,M − 1}
M−1∑
m=0
rx(k −m)bw(m) = rdx(k) k ∈ {0, 1, . . . ,M − 1} (2.23)
Tale relazione tiene conto del fatto che il filtro approssimante era un filtro FIR;
facendo tendere M ad infinito, si giunge a verificare che la risposta impulsiva bw(n)
causale di durata infinita soddisfa pertanto la seguente relazione:
+∞∑
m=0
rx(k −m)bw(m) = rdx(k) ∀k ≥ 0 (2.24)
Se si rimuove il vincolo di causalita del filtro considerato, si puo dimostrare
agevolmente (anche se noi qui non possiamo dire di averlo esattamente fatto) -
e si puo accettare se non altro per analogia col passaggio dalla (2.2) alla (2.24) -
che la condizione di Wiener diviene:
+∞∑
m=−∞
rx(k −m)bw(m) = rdx(k) ∀k (2.25)
c©Prof. Davide Mattera. 08/12/2011
38 Progetto mediante utilizzazione di dati sperimentali
o equivalentemente
rx(·)⊗ bw(·) = rdx(·) (2.26)
La relazione consente di determinare agevolmente il filtro di Wiener ricorrendo alle
rispettive trasformate zeta (o anche trasformate di Fourier) dove il prodotto di
convoluzione corrisponde al semplice prodotto:
Sx(z)Bw(z) = Sdx(z)
Pertanto, il filtro di Wiener non causale e ottenuto dalla seguente relazione:
Bw(z) =Sdx(z)
Sx(z)(2.27)
dove le due quantita al numeratore e al denominatore sono definite come segue:
Sdx(z)△=
+∞∑
k=−∞
rdx(k)z−k (2.28)
Sx(z)△=
+∞∑
k=−∞
rx(k)z−k (2.29)
Non e agevole trasformare le stime di rx(k) ed rdx in stime di Sdx(z) e Sx(z) che
possano agevolmente inserirsi nella (2.27); pertanto, il risultato nel dominio zeta
senza il vincolo di causalita e di ordine finito non verra utilizzato nei capitoli dedicati
alla concreta realizzazione ma e stato introdotto nella trattazione sia per illustrare
quale sia il risultato asintotico a cui tendono i filtri FIR di ordine fissato sia perche
secondo alcuni autori il termine “filtro di Wiener” va limitato a questo specifico caso
perche il vincolo FIR era escluso dalla originaria trattazione di Norbert Wiener.
2.3 Variazioni dell’algoritmo per il caso della decisione
Quando il segnale desiderato d(n) ∈ {−1, 1}, allora una funzione di costo piu
ragionevole di quella basato sul rischio quadratico, puo essere la seguente:
E
cb
(d(n)
[bH(n)x(n)
]) (2.30)
dove la funzione cb(ρ) vale 1 quando ρ < 0 e zero altrimenti. Infatti, in tal caso la
funzione di costo (2.30) rappresenta il numero medio di errore di decisione commessi
dal nostro filtro. La decisione e presa guardando al segno dell’approssimazione
ottenuta bH(n)x(n); pertanto un errore di decisione rappresenta l’eventualita che
d(n) e bH(n)x(n) abbiano segno discorde e cioe d(n)[bH(n)x(n)
]< 0. Percio se
c©Prof. Davide Mattera. 08/12/2011
2.3 Variazioni dell’algoritmo per il caso della decisione 39
l’argomento e negativo cb vale uno (altrimenti vale zero) e la media di cb rappresenta
il numero medio di decisioni errate, che adottando la funzione di costo (2.30) ci
proponiamo di minimizzare.
Procedere con questa funzione di costo come fatto nel caso precedente con la
funzione quadratica prevede nuovi problemi. I problemi di ottimizzazione che si
generano non sono convessi. Di conseguenza, i metodi iterativi basati sugli sviluppi
in serie di Taylor finiscono bloccati nei minimi locali, cosı come l’annullare il
gradiente garantisce solo il fatto di essere in un minimo locale ma non in un minimo
globale.
Inoltre, la funzione di costo non e facile da gestire analiticamente. Per gestirla
analiticamente si puo usare una funzione sigmoidale che vale 0.5 nell’origine e si
avvicina asintoticamente a 0 quando la variabile indipendente tende a +∞ e tende
asintoticamente a 1 quando la variabile indipendente tende a −∞. Si puo introdurre
un parametro che ne controlli la velocita di convergenza e conseguentemente il
grado di somiglianza alla funzione di costo cb(·). La scelta di questa funzione
rende analiticamente piu facile da gestire il problema ma non consente di superare
il problema dei minimi locali nei meccanismi iterativi collegato alla natura non
convessa del problema complessivo.
Un modo di superare il problema e quella di approssimare la funzione cb(·) con
una funzione che conservi la convessita del problema complessivo. Una delle migliori
approssimazioni convesse di cb(·) e quella della funzione che vale 1 − x per x ≤ 1
e zero per x > 1. Questa soluzione e spesso migliore della soluzione quadratica
trattata in questo capitolo; anche se non e migliore della soluzione ideale cb(·) non
e soggetta al problema dei minimi locali ammettendo un’unica soluzione globale.
A partire dalla soluzione trovata in questo modo si puo usare l’algoritmo derivante
dall’approssimazione di cb(·) con la funzione sigmoidale e trovare il minimo locale
piu vicino al punto determinato dalla approssimazione convessa, migliorandone cosı
il risultato ottenuto.
c©Prof. Davide Mattera. 08/12/2011
40 Progetto mediante utilizzazione di dati sperimentali
c©Prof. Davide Mattera. 08/12/2011
3 Progetto adattativo del filtro lineare
La soluzione del sistema lineare (2.6) a cui si riduce la condizione di Wiener e troppo
difficile da risolvere (la complessita e di un sistema di ordine M e dell’ordine di M3)
e questo motiva un approccio alternativo di tipo iterativo a minore complessita.
A questi metodi e dedicato il presente capitolo. Nel capitolo successivo torneremo
sulla questione e mostreremo il contributo di Levinson che consente di calcolare la
soluzione del sistema d’equazioni (2.6) con una complessita dell’ordine di M2.
Mentre si sviluppava l’algoritmo adattativo, si andava anche sviluppando un
metodo basato sull’approccio deterministico che punta a minimizzare la somma dei
quadrati dello scostamento tra l’uscita del filtro e l’uscita desiderata. Tale soluzione
viene determinata andando a minimizzare i minimi quadrati, la soluzione LS (least
squares), cioe la soluzione ai minimi quadrati).
Una volta individuata la quantita da minimizzare, si puo determinare il filtro
a cui compete il minimo. Dapprima in maniera statica e poi in maniera adattiva,
individuando un algoritmo piu efficace in un contesto adattativo, che comporta
una complessita computazione dell’ordine di M2 ad ogni passo di iterazione. La
derivazione dell’algoritmo RLS a complessita lineare e troppo complicata per poter
essere studiata in questo corso.
3.1 Ottimizzazione iterativa di una funzione di costo fissata
Si introduce dapprima il concetto di meccanismo iterativo volto ad individuare il
minimo di una funzione. Si aggiunge che esso si basa su due passi: il primo e la
individuazione della direzione di spostamento e il secondo e la ricerca lungo la linea
individuata. Per svolgere il primo passo si sviluppa la funzione di costo in serie di
Taylor del primo ordine nel punto corrente
f(x) ≃ f(xk) + g(xk)(x− xk) (3.1)
dove g(x denota il gradiente della funzione f(·) e si individua conseguentemente
come direzione migliore quella opposta al grandiente. Alternativamente, si sviluppa
la funzione in serie di Taylor del secondo ordine
f(x) ≃ f(xk) + gT (xk)(x− xk) +1
2(x− xk)TH(xk)(x− xk) (3.2)
c©Prof. Davide Mattera. 08/12/2011
42 Progetto adattativo del filtro lineare
dove H(·) denota la matrice Hessiana della funzione f(·) e si individua come
direzione migliore quella pari ad −H−1g dove H e la matrice hessiana nel punto
corrente e g e il gradiente nel punto corrente:
xk + 1 = xk + H−1(xk)g(xk) (3.3)
Esiste anche una soluzione semplice: individuare ad ogni passo ciclicamente una
direzione diversa o generarla a caso.
Tra le soluzioni per la ricerca lungo la linea, c’e quella di ottimizzare esausti-
vamente la funzione monodimensionale (la funzione multidimensionale considerata
lungo la linea) o quella di scalare g o R−1g di un coefficiente costante piccolo
a piacere o ancora - quando possibile - di risolvere per via analitica il problema
monodimensionale risultante. Siccome i metodi finora considerati individuano la
direzione di miglioramento usando uno sviluppo in serie valido intorno al punto
corrente, essi sono inevitabilmente attratti da minimi locali che non sono globali.
Tale problema non si pone in fase di progetto del filtro lineare ottimo a minimo
errore quadratico medio.
3.2 L’algoritmo steepest-descent e l’analisi della sua convergenza
Per il progetto del filtro lineare si considera l’assetto del problema che conduce alla
funzione di costo del caso del filtro di Wiener e si sceglie di usare il gradiente e
di scalarlo con un coefficiente fisso e molto piccolo µ. Si ottiene che il gradiente
coniugato rispetto a w vale:
grad[wHRw − pHw − wHp + ryd(0)] = Rw − p (3.4)
e quindi la regola adattativa vale
bk+1 = bk − µ(Rbk − p) (3.5)
L’algoritmo cosı ottenuto viene detto steepest descent (discesa piu veloce).
L’analisi della convergenza della procedura (3.5) intende dimostrare che la dif-
ferenza tra il vettore corrente wk ed il vettore ottimo R−1p:
∆bk = bk − bMMSE = bk −R−1p (3.6)
c©Prof. Davide Mattera. 08/12/2011
3.2 L’algoritmo steepest-descent e l’analisi della sua convergenza 43
converga verso il vettore nullo. Vediamo la legge che ne regola l’evoluzione
∆bk+1 = bk+1 −R−1p
= bk − µ(Rbk − p)−R−1p
= bk − µ(Rbk −RR−1p)−R−1p
= (bk −R−1p)− µR(bk −R−1p)
= ∆bk − µR∆bk
= (I − µR)∆bk
= (I − µQΛQH)∆bk
= (QQH − µQΛQH)∆bk
= Q(I − µΛ)QH∆bk (3.7)
dove si e tenuto conto che la matrice R = QΛQH secondo la (2.11).
Si definisca il vettore ∆b(Q)k
△= QH∆bk e si noti che la i-esima componente
di questo vettore costituisce la proiezione del nostro vettore differenza ∆bk sull’i-
esimo autovettore della matrice R. Pertanto, annullare il vettore ∆bk equivale ad
annullare le proiezioni su tutti gli autovettori, ovvero annullare il vettore ∆b(Q)k .
Dalla relazione precedente segue che
∆b(Q)k+1
△= QH∆bk
= (I − µΛ)QH∆bk
= (I − µΛ)∆b(Q)k (3.8)
da cui segue che, essendo diagonale la matrice (I − µΛ) con i-esimo elemento sulla
diagonale pari a 1 − µλi, segue che la i-esima componente ∆i(k + 1) del vettore
∆b(Q)k+1 soddisfa la relazione
∆i(k + 1) = (1− µλi)∆i(k) (3.9)
da cui segue che, usando la stesse relazione ricorsivamente, si ottiene
∆i(k + 1) = (1 − µλi)k+1 (3.10)
Pertanto il vettore ∆b(Q)k+1 converge a zero se convergono a zero tutte le sue
componenti e cioe se e solo se sono soddisfatte tutte le seguenti condizioni:
|1− µλi| < 1 ∀ i ∈ {1, . . . ,M} (3.11)
ovvero, tenendo conto che λi > 0 siccome la matrice R e semidefinita positiva,
−1 < 1− µλi < 1 ∀ i
ovvero
0 < µ <2
λi∀ i (3.12)
c©Prof. Davide Mattera. 08/12/2011
44 Progetto adattativo del filtro lineare
o, equivalentemente,
0 < µ <2
λmax∀ i (3.13)
La rapidita di convergenza e massima quando µ ≃ 1λi
. Siccome i diversi autovalori
sono diversi, non e possibile soddisfare questa condizione per ogni i. Se anche
fissiamo µ ≃ 2λmax
, potrebbe accadere che µ ≪ 1λmin
e quindi far convergere molto
lentamente a zero le componenti del vettore differenza ∆bk lungo l’autovettore
minimo e massimo siccome per nessuno dei due possiamo soddisfare la condizione
µ ≃ 1λi
. Di conseguenza, se vale la condizione λmin ≪ λmax ovvero se il numero
di condizionamento della matrice R λmax
λmin≫ 1 ovvero se la matrice R e mal
condizionata, allora la convergenza dell’algoritmo steepest descent e molto lenta.
In ogni caso, la sua convergenza richiede che il parametro µ sia limitato.
3.3 Adattemento del filtro lineare in accordo al gradiente stocastico: algoritmo
LMS
Dalla relazione (3.5) segue che
w(n + 1) = w(n)− µ(E[u(n)uH(n)]w(n)− E[u(n)d∗(n)]) (3.14)
da cui
w(n + 1) = w(n)− µ(E(u(n)y∗(n))− E[u(n)− d∗(n)]) (3.15)
w(n + 1) = w(n)− µE[u(n)(y∗(n)− d∗(n))] (3.16)
w(n + 1) = w(n)− µE[u(n)e∗(n)] (3.17)
dove d(n) e l’uscita desiderata all’istante n, y(n) = wH(n)u(n) e l’uscita del filtro
all’istante n se in tale istante il vettore dei coefficienti vale w(n) (si assume che ad
ogni nuovo dato avvenga un aggiornamento del vettore w) e e(n) = y(n)− d(n).
Tale relazione in condizioni di ergodicita povrebbe essere calcolata nel modo
seguente:
w(n + 1) = w(n)− µ1
No
No−1∑
k=0
u(n− k)e∗(n− k) (3.18)
Infatti negli istanti futuri non sono noti ne il segnale ne l’errore. Resta la complessita
di calcolo per realizzare la (3.18) e la necessita di memoria per i dati che cresce con
No che dovrebbe essere incrementato fino al massimo consentito dai dati disponibili
in condizioni di stazionarieta. Riduzioni di No determinano errori nella stima del
gradiente ma semplificano l’algoritmo. Storicamente si e preferito fissare No = 1
c©Prof. Davide Mattera. 08/12/2011
3.4 Approccio alternativo basato sui dati: il metodo ricorsivo ai minimi quadrati (RLS) 45
ottenendo l’algoritmo LMS:
w(n + 1) = w(n)− µu(n)e∗(n) (3.19)
Tale algoritmo derivato in ambiente stazionario per barattare complessita e
prestazioni si e poi rivelato particolarmente adatto in ambiente non stazionario
quando non aver mediato negli istanti precedenti ha costituito un vantaggio dal
punto di vista della capacita di stima della direzione del gradiente. Si e poi di-
mostrato una ottimalita dell’algoritmo LMS rispetto ad una funzione di costo che
fosse robusta rispetto ad un ambiente particolarmente poco conosciuto. Tuttavia
la grande diffusione dell’algoritmo e stata essenzialmente dovuta alla sua capacita
di adattarsi ad un ambiente iniziale in cui la disponibilita di memoria e di potenza
di calcolo era molto limitata.
Un aspetto particolarmente importante e costituito dall’esistenza di un excess
noise power, cioe dal fatto che la potenza media dell’errore ottenuto a regime
dall’LMS e superiore a quella del filtro di Wiener corrispondente per una quan-
tita che viene detta potenza in eccesso del rumore e che e dovuta all’incapacita
dell’algoritmo LMS di stimare con la dovuta precisione il gradiente quando esso
e in prossimita della soluzione. Si puo notare sperimentalmente che la potenza in
eccesso decresce al decrescere di µ (si e anche tentato di dare una spiegazione in-
tuitiva della proprieta a lezione); tuttavia al descerere di µ si allunga il transitorio
dell’algoritmo LMS per giungere al valore di regime della potenza. Pertanto spesso
si suole decrescere il valore di µ nel tempo con legge prefissata, privilegiando i valori
piu elevati di µ in fase iniziale per velocizzare la convergenza e riducendo il valore
di µ in fase finale per ridurre la potenza in eccesso. L’algoritmo non puo migliorare
gli svantaggi dello steepest descent; non puo avere convergenza quando µ supera
certi limiti dettati dal suo autovalore massimo e conserva la proprieta sgradevole
della lentezza di convergenza dello steepest descent in presenza di una matrice di
correlazione mal condizionata.
3.4 Approccio alternativo basato sui dati: il metodo ricorsivo ai minimi quadrati
(RLS)
Quando non siano note le caratterizzazione statistiche dei segnali x(n) e d(n), non
e possibile calcolare la quantita
E[|y(n)− d(n)|2] = E[bHx(n)− d(n)|2]
Il criterio di minimizzazione del rischio empirico propone di considerare le coppie
ingresso-uscita (x(i), d(i)) per i ∈ {1, . . . , ℓ} che possono essere costruite sulla base
delle serie temporali disponibili. Queste coppie vengono chiamate esempi e vengono
costruite prendendo il campione di ingresso in un certo istante e i campioni di
ingresso negli M − 1 istanti precedenti, ed in questo modo si forma il vettore di
ingresso. Si prende anche il corrispondente valore di uscita nello stesso istante e si
c©Prof. Davide Mattera. 08/12/2011
46 Progetto adattativo del filtro lineare
forma in tal modo la relazione ingresso-uscita corrispondente.
Sarebbe desiderabile che il filtro trovato b sia tale che, quando applicato al vettore
x(i), si ottenga una quantita bHx(i) che sia molto simile a d(i). Pertanto, si definisce
il rischio empirico nel modo seguente:
ℓ∑
i=1
|bHx(i)− d(i)|2 (3.20)
Il criterio di minimizzazione del rischio empirico impone di minimizzare la funzione
di costo (3.20) per trovare il vettore ottimo b. L’analisi della convergenza di questo
criterio fornisce come risultato che la condizione ℓ≫M e una condizione necessaria
e sufficiente alla convergenza del criterio considerato. Quando la condizione non e
soddisfatta, diversi approcci alternativi convergono nel definire un criterio alter-
nativo in cui al rischio empirico si somma un termine aggiuntivo che ha il senso
di termine di regolarizzazione e che puo essere quantificato nella forma seguente
bHMrb dove Mr e una matrice di regolarizzazione, definita positiva, che spesso e
presa pari alla matrice identica.
Conseguentemente, la funzione di costo diviene
ℓ∑
i=1
|bHx(i)− d(i)|2 + γbHMrb (3.21)
dove γ > 0 e un termine molto ridotto che quantifica il peso del termine di
regolarizzazione rispetto a quello del rischio empirico.
Una volta definita la matrice A△= [x(1) x(2) . . . x(ℓ)]H ed un vettore
d△= [d(1) d(2) . . . d(ℓ)]H , la funzione di costo (3.21) puo essere riscritta1 come
segue
‖Ab− d‖2 + γbHM rb (3.22)
Manipolando la funzione di costo, essa puo essere riscritta (almeno per il caso di
segnali reali in maniera agevole)
[Ab− d]T [Ab− d] + γbHMrb = bTR′b− 2bTp′ + ‖d‖2 (3.23)
dove R′ △= ATA + γMr e p′ = ATd. Calcolando il gradiente di questa funzione
di costo analogamente a quanto gia calcolato con riferimento alla (2.3), si ottiene
che esso e annullato dalla condizione
R′bLS = p′ (3.24)
1. Si noti che, con queste definizioni, la i-esima componente diAb vale xH(i)b = (bHx(i))∗
e la i-esima componente di d vale d∗(i); pertanto la i-esima componente di Ab − d vale(bHx(i))∗ − d∗(i) = (bHx(i) − d(i))∗ e il quadrato della sua norma vale la sommatorianella (3.21).
c©Prof. Davide Mattera. 08/12/2011
3.4 Approccio alternativo basato sui dati: il metodo ricorsivo ai minimi quadrati (RLS) 47
e la matrice Hessiana vale R′ ed e definita positiva, come si puo agevolmente
dimostrare2. L’analogia con la funzione (2.3) ci consente di concludere che
l’espressione trovata vale anche nel caso di segnali a valori complessi pur di sos-
tituire il trasporto con il trasposto hermitiano. La soluzione (3.24) e detta LS
(least squares), cioe la soluzione ai minimi quadrati; piu correttamente, dovrebbe
essere detta ai minimi quadrati regolarizzati siccome quella esattamente ai minimi
quadrati viene ottenuta per γ = 0. In tal caso l’espressione (3.24) si puo semplificare
nella forma seguente nella ipotesi, non necessariamene verificata sulla base delle
ipotesi fatte, che ATA sia definitiva positiva e quindi invertibile (e che ℓ > M)
bLS = A+p′ (3.25)
dove A+ △= (ATA)−1AT e detta la pseudo-inversa destra della matrice A. Tale
nome deriva dalla proprieta A+A = I, nonche dalla (3.25), che la fa assomigliare
alla matrice inversa (che non esiste) della matrice A.
La funzione di costo
ℓ∑
i=1
(bTx(i)− d(i))2 + γbHMrb (3.26)
puo essere leggermente modificata nel modo seguente
ℓ∑
i=1
λℓ−i(bTx(i)− d(i))2 + γλℓbHMrb (3.27)
dove 0 < λ ≤ 1, detto il fattore di dimenticanza, modella il fatto che gli esempi
meno recenti vengono pesati di meno quando λ < 1 e cio consente di adattare il
nostro modello stazionario ad uno scenario lentamente tempo-variante usando un
appropriato valore di λ.
Inoltre, la modifica al termine di regolarizzazine tiene conto del fatto che, al
crescere di ℓ, la condizione ℓ > M e soddisfatta sempre meglio e cio consente di
pesare sempre meno il termine di regolarizzazione, tendendo a sfumare il criterio
utilizzato verso il criterio di minimizzazione del rischio empirico.
La funzione di costo precedente puo essere riscritta nel modo seguente:
ℓ∑
i=1
(bTx′(i)− d′(i))2 + γ′bHMrb (3.28)
x′(i)△=√λℓ−ix(i), d′(i)
△=√λℓ−id(i) e γ′ △
= γλℓ; si puo notare che la i-esima
riga della matrice A′ e pari alla i-esima riga della matrice A moltiplicata per√λℓ−i
ed analogamente per d′ rispetto a d.
2. La forma quadratica wTR
′w = w
T (ATA + γMr)w = (wT
ATAw) + γwT
Mrw =(Aw)T (Aw)+γwT
Mrw = ‖Aw‖2+γwTMrw. La dimostrazione segue dall’assunzione
che M r e definita positiva e γ > 0, anche se molto piccolo.
c©Prof. Davide Mattera. 08/12/2011
48 Progetto adattativo del filtro lineare
La soluzione (3.24) puo pertanto essere scritta nella stessa forma, quasi identica
che denota esplicitamente la dipendenza della soluzione dal numero di esempi ℓ,
R′(ℓ)bLS(ℓ) = p′(ℓ) (3.29)
dove pero ora la nuova matrice R′(ℓ) ed il nuovo vettore p′ sono definiti sulla
base della nuova matrice A′ (invece di A) e del nuovo vettore p′ (invece di p):
R′(ℓ) = A′HA′ + γ′Mr e p′(ℓ) = A′Hd′. Conseguentemente,
R′(ℓ) =
ℓ∑
i=1
λℓ−ix(i)xH(i) + γλℓM r (3.30)
e
p′(ℓ) =
ℓ∑
i=1
λℓ−ix(i)d∗(i) (3.31)
Notiamo ora che la matrice R′(ℓ) ammette una semplice espressione in funzione
di R′(ℓ−1), dove con tale espressione intendiamo la matrice R′ costruita sulla base
della stessa matrice A′ usando solo i primi ℓ− 1 esempi:
R′(ℓ − 1) =
ℓ−1∑
i=1
λ(ℓ−1)−ix(i)xH(i) + γλℓ−1Mr (3.32)
Infatti,
R′(ℓ) =ℓ∑
i=1
λℓ−ix(i)xH(i) + γλℓM r
= [λℓ−ix(i)xH(i)]i=ℓ +
ℓ−1∑
i=1
λℓ−ix(i)xH(i) + γλℓMr
= x(ℓ)xH(ℓ) +
ℓ−1∑
i=1
λℓ−ix(i)xH(i) + γλℓM r
= x(ℓ)xH(ℓ) + λ
[ℓ−1∑
i=1
λℓ−i−1x(i)xH(i) + γλℓ−1Mr
]
= x(ℓ)xH(ℓ) + λR′(ℓ − 1) (3.33)
c©Prof. Davide Mattera. 08/12/2011
3.4 Approccio alternativo basato sui dati: il metodo ricorsivo ai minimi quadrati (RLS) 49
p′(ℓ) =
ℓ∑
i=1
λℓ−ix(i)d∗(i)
= [λℓ−ix(i)d∗(i)]i=ℓ +
ℓ−1∑
i=1
λℓ−ix(i)d∗(i)
= x(ℓ)d∗(ℓ) +
ℓ−1∑
i=1
λℓ−ix(i)d∗(i)
= x(ℓ)d∗(ℓ) + λ
[ℓ−1∑
i=1
λℓ−i−1x(i)d∗(i)
]
= x(ℓ)d∗(ℓ) + λp′(ℓ − 1) (3.34)
Usando le proprieta (3.33) e (3.34) si puo individuare una relazione ricorsiva che
lega bLS(ℓ) a bLS(ℓ − 1) partendo dalla relazione (3.29). Infatti,
bLS(ℓ) = R′−1(ℓ)p′(ℓ)
=[λR′−1(ℓ)
] [p′(ℓ)
λ
]
=[x(ℓ)xH(ℓ) + λR′(ℓ− 1)
]−1[x(ℓ)d∗(ℓ) + λp′(ℓ− 1)]
=
[R′(ℓ − 1) +
x(ℓ)xH(ℓ)
λ
]−1 [p′(ℓ − 1) +
x(ℓ)d∗(ℓ)
λ
](3.35)
dove si e tenuto conto del fatto che dividere per λ all’interno della matrice da
invertire equivale a moltiplicare per λ l’espressione. A questo occorre fare uso del
lemma di inversione matriciale3
(A +
ccT
d
)−1
= A−1 − A−1ccTA−1
d + cTA−1c(3.36)
3. La sua dimostrazione e abbastanza diretta; occorre verificare che il prodotto delle duematrici ci fornisca la matrice identica(A+
ccT
d
)·
(A
−1 −A
−1cc
TA
−1
d+ cTA−1
c
)= AA
−1 +cc
T
dA
−1 −AA
−1cc
TA
−1
d+ cTA−1
c−
ccT
d
A−1
ccTA
−1
d+ cTA−1
c
= I +cc
T
dA
−1 −cc
TA
−1
d+ cTA−1
c−
[ccT ]A−1[ccT ]A−1
d(d+ cTA−1
c)
= I +cc
T
dA
−1 −cc
TA
−1
d+ cTA−1
c−
c[cTA−1c]cTA−1
d(d+ cTA−1
c)
= I + ccTA
−1
(1
d−
1
d+ cTA−1
c−
cTA
−1c
d(d+ cTA−1
c)
)
= I + ccTA
−1
(1
d−
1
d+ d0−
d0
d(d+ d0)
)
= I + ccTA
−1 (d+ d0)− d− d0
d(d+ d0)
= I
dove si e definito nel modo seguente la quantita scalare d0△= c
TA
−1c. Analogamente,
c©Prof. Davide Mattera. 08/12/2011
50 Progetto adattativo del filtro lineare
che vale purche le due matrici A e A+ ccT
d siano invertibili. Usando la (3.36) nella
(3.35) si ottiene:
bLS(ℓ) =
[R′−1(ℓ − 1)− R′−1(ℓ− 1)x(ℓ)xH(ℓ)R′−1(ℓ− 1)
λ + xH(ℓ)R′−1(ℓ − 1)x(ℓ)
] [p′(ℓ− 1) +
x(ℓ)d∗(ℓ)
λ
]
=[λR′−1(ℓ)
] [p′(ℓ)
λ
]
=
[R′−1(ℓ − 1)− R′−1(ℓ− 1)x(ℓ)xH(ℓ)R′−1(ℓ− 1)
λ + xH(ℓ)R′−1(ℓ − 1)x(ℓ)
]p′(ℓ− 1) +
[λR′−1(ℓ)
] x(ℓ)d∗(ℓ)
λ
=[R′−1(ℓ− 1)− k(ℓ)xH(ℓ)R′−1(ℓ − 1)
]p′(ℓ− 1) +
[λR′−1(ℓ)
] x(ℓ)d∗(ℓ)
λ(3.37)
dove si e denotato con
k(ℓ)△=
R′−1(ℓ − 1)x(ℓ)
λ + xH(ℓ)R′−1(ℓ− 1)x(ℓ)(3.38)
e si e tenuto conto che, usando la (3.36) e tenendo conto della definizione (3.38), si
e appena verificato che
λR′−1(ℓ) = R′−1(ℓ− 1)− k(ℓ)xH(ℓ)R′−1(ℓ − 1) (3.39)
Dalla (3.38) segue che
λk(ℓ) + k(ℓ)xH(ℓ)R′−1(ℓ− 1)x(ℓ) = R′−1(ℓ− 1)x(ℓ) (3.40)
invertendo l’ordine dei fattori, il prodotto non cambia:(A
−1 −A
−1cc
TA
−1
d+ cTA−1
c
)·
(A+
ccT
d
)= A
−1A−
A−1
ccTA
−1
d+ cTA−1
cA+A
−1 ccT
d−
A−1
ccTA
−1
d+ cTA−1
c
ccT
d
= I −A
−1cc
T
d+ cTA−1
c+A
−1 ccT
d−
A−1[ccT ]A−1[ccT ]
d(d+ cTA−1
c)
= I −A
−1cc
T
d+ cTA−1
c+A
−1 ccT
d−
A−1
c[cTA−1c]cT
d(d+ cTA−1
c)
= I −A−1
ccT
(1
d+ cTA−1
c−
1
d+
cTA
−1c
d(d+ cTA−1
c)
)
= I −A−1
ccT
(1
d+ d0−
1
d+
d0
d(d+ d0)
)
= I −A−1
ccT
(d
d(d+ d0)−
d+ d0
d(d+ d0)+
d0
d(d+ d0)
)
= I
c©Prof. Davide Mattera. 08/12/2011
3.4 Approccio alternativo basato sui dati: il metodo ricorsivo ai minimi quadrati (RLS) 51
da cui segue che
λk(ℓ) = R′−1(ℓ− 1)x(ℓ)− k(ℓ)xH(ℓ)R′−1(ℓ− 1)x(ℓ)
=[R′−1(ℓ − 1)− k(ℓ)xH(ℓ)R′−1(ℓ− 1)
]x(ℓ)
= λR′−1(ℓ)x(ℓ) (3.41)
dove nell’ultimo passaggio si e tenuto conto della (3.39).
Usando la relazione (3.41) nella (3.37) si ottiene
bLS(ℓ) =[R′−1(ℓ− 1)− k(ℓ)xH(ℓ)R′−1(ℓ − 1)
]p′(ℓ − 1) + k(ℓ)d∗(ℓ)
= R′−1(ℓ− 1)p′(ℓ− 1)− k(ℓ)(xH(ℓ)R′−1(ℓ− 1)p′(ℓ − 1)− d∗(ℓ)
)
= bLS(ℓ − 1)− k(ℓ)(xH(ℓ)bLS(ℓ − 1)− d∗(ℓ)
)
= bLS(ℓ − 1)− k(ℓ)(
(bHLS(ℓ − 1)x(ℓ))∗ − d∗(ℓ))
= bLS(ℓ − 1)− k(ℓ)(bHLS(ℓ− 1)x(ℓ)− d(ℓ)
)∗
= bLS(ℓ − 1) + k(ℓ)(d(ℓ)− bHLS(ℓ− 1)x(ℓ)
)∗
= bLS(ℓ − 1) + k(ℓ)e∗(ℓ) (3.42)
dove si e tenuto conto che R′−1(ℓ− 1)p′(ℓ− 1) = bLS(ℓ− 1) per la stessa relazione
(3.29) che vale per ℓ generico e quindi anche per ℓ− 1. Inoltre, si e definito
e(ℓ)△= d(ℓ)− bHLS(ℓ− 1)x(ℓ) (3.43)
In sintesi ad ogni passo di iterazione posso enucleare il seguente algoritmo, detto
RLS (recursive LS), ottenuto estraendo dai passaggi precedenti le relazioni (3.43),
(3.38), (3.42) e (3.39).
e(ℓ) = d(ℓ)− bHLS(ℓ− 1)x(ℓ)
k(ℓ) = P (ℓ−1)x(ℓ)
λ+xH(ℓ)P (ℓ−1)x(ℓ)
bLS(ℓ) = bLS(ℓ− 1) + k(ℓ)e∗(ℓ)
P (ℓ) = 1λ
[P (ℓ− 1)− k(ℓ)xH(ℓ)P (ℓ− 1)
]
(3.44)
dove si e denotato con P (ℓ)△= R′−1(ℓ).
Per svolgere le quattro operazioni precedenti, la parte computazionalmente piu
complicata e data dalla quarta relazione che puo anche essere riscritta in questo
modo:
P (ℓ) =1
λ
[I − k(ℓ)xH(ℓ)
]P (ℓ− 1) (3.45)
Per aggiornare la matrice inversa P (ℓ − 1), che e di dimensione M , occorrono
un numero di operazione proporzionali ad M2 cosı come risulta proporzionale
c©Prof. Davide Mattera. 08/12/2011
52 Progetto adattativo del filtro lineare
ad M2 l’operazione di aggiornamento del vettore k(ℓ). Siccome, a causa degli
arrotondamenti, si puo perdere la simmetria hermitiana di P (ℓ), la si puo imporre
attraverso l’operazione P (ℓ) ← P (ℓ)+PH(ℓ)
2 , eventualmente svolta con una certa
cadenza.
Per determinare il valore iniziale P (0) occorre considerare che dalla (3.30) segue
che R(0) = γMr e pertanto la matrice P (0) va inizializzata come 1γM
−1r ; siccome
Mr non interviene direttamente nell’algoritmo, e possibile definire direttamente la
matrice M−1r , come la matrice che inizializza la matrice P (0), in modo da evitare
l’inversione.
c©Prof. Davide Mattera. 08/12/2011
4 La predizione lineare ottima secondo il
criterio MMSE
In questo capitolo ci occuperemo di una importante applicazione del filtraggio
lineare ottimo introdotta nel capitolo precedente, la predizione lineare.
Il problema e quello di effettuare una predizione del valore del segnale x(t)
all’istante to sulla base della conoscenza de segnale x(t) nell’intervallo (t1, t2)
con to /∈ (t1, t2). Il problema si dice di predizione forward quando to > t2 e si
dice di predizione backward quando to < t1. Detta B la banda del segnale x(t),
e possibile rappresentare in maniera equivalente il segnale nell’intervallo (t1, t2)
attraverso i suoi campioni ottenuti con periodo di campionamento Tc ≤ 12B .
Supponiamo pertanto di disporre di N campioni del segnale x(n) ottenuti dal
segnale analogico xa(t) ad un passo opportuno Tc; a partire da tali campioni
x(n) per n = 1, . . . , N , si supponga che si desidera il valore all’istante (N + 1)Tc.
Denotiamo con x(N+1) = f(x(N)) la predizione di tale valore a partire dal vettore
x(N) definito come nel paragrafo precedente come il vettore
x(n)△= [x(N) x(N − 1) . . . x(N − (M − 2)) x(N − (M − 1))]T
La predizione lineare si ottiene vincolando la funzione f(·) ad essere una funzione
lineare. Al fine di apprendere la funzione f(·) occorre utilizzare tutti i valori
disponibili del segnale x(n).
Quando invece di desiderare la predizione riguardante l’istante N + 2 invece
che l’istante N + 1, si puo procedere ad apprendere direttamente una diversa
funzione f2(·) che applicata allo stesso vettore x(N) fornisca una stima di x(N +2):
x(N + 2) = f2(x(N). E pero anche possibile effettuare la predizione per l’istante
N + 1 con la funzione considerata prima e poi usare la predizione ottenuta per
stimare il vettore x(N + 1 ed applicare su questo vettore la stessa funzione f(·) per
trovare la stima desiderata:
x(N + 1) = [f(x(N)) x(N) x(N − 1) . . . x(N − (M − 2))]T
x(N + 2) = f(x(N + 1))
Analogamente, se l’obiettivo e quello di avere la predizione del valore x(N +4), si
possono avere diverse possibilita. Si puo trovare in un sol colpo la stima di x(N +4)
attraverso una apposita funzione f4(·) da apprendere (come f2(·) e f(·)) a partire
c©Prof. Davide Mattera. 08/12/2011
54 Predizione lineare
dagli N campioni disponibili del segnale x(n). Esiste pero l’alternativa di usare la
funzione f2(·) nel modo seguente:
x(N + 2) = [f2(x(N)) f2(x(N − 1)) x(N) x(N − 1) . . . x(N − (M − 3))]T
x(N + 4) = f(x(N + 2))
Esiste inoltre anche la possibilita di usare la sola funzione f(·):
x(N + 1) = [f(x(N)) x(N) x(N − 1) . . . x(N − (M − 2))]T
x(N + 2) = [f(x(N + 1)) f(x(N)) x(N) . . . x(N − (M − 3))]T
x(N + 3) = [f(x(N + 2)) f(x(N + 1)) f(x(N)) x(N) . . . x(N − (M − 4))]T
x(N + 4) = f(x(N + 3))
e di combinare l’uso delle due funzioni f(·) e f2(·). Mentre quando si considera una
generica funzione non lineare il problema della scelta di come impostare il problema
e rilevante, nel caso lineare il problema non si pone poiche se f(·) e lineare, saranno
equivalente ad una funzione lineare l’uso iterativo della funzione f(·) invece della
sola funzione f2(·) e cosı via. Per questo motivo quando trattiamo della predizione
lineare ha senso considerare il solo problema della predizione nella piu semplice
forma della predizione ad un passo in avanti.
Una delle piı classiche applicazioni della predizione lineare e nel campo della
compressione di un segnale analogico. Invece di sottoporre a quantizzazione il
campione del segnale x(n) si procede a quantizzare l’errore di predizione e(n),
ottenendo il valore eq(n). A questo punto si invia il campione eq(n) e dal lato
opposto si utilizzano i valori precedentemente ottenuti x(n−1), x(n−2), . . . , x(n−(M−1)) per ottenere una stima di x(n), diciamola x(n), a questo valore di aggiunge
il valore ricevuto eq(n) e si ottiene la ricostruzione del valore del segnale nell’istante
n: x(n)△= x(n) + eq(n). A partire dal valore ottenuto x(n) si puo ottenere una
stima x(n + 1) del campione successivo a cui sommare eq(n + 1) per ottenere la
ricostruzione x(n + 1) del campione all’istante successivo.
Si noti la differenza tra cio che e possibile in trasmissione (ovvero in compressione)
operando direttamente sui valori precedenti veri x(n− 1), x(n− 2), . . . e quello che
e possibile in ricezione dove e necessario operare sui valori precedenti cosı come
risultano ricostruiti x(n − 1), x(n − 2), . . .. Per questo motivo risulta opportuno
operare sui valori ricostruiti anche in fase di trasmissione in modo da svolgere una
operazione che poi sara replicabile in ricezione. In questo modo l’unica operazione
irreversibile sara quella di quantizzazione svolta sul segnale e(n).
Per quale motivo risulta opportuno operare la quantizzazione sul segnale e(n)
invece che sul segnale x(n)? La potenza dell’errore granulare, a parita di probabilita
c©Prof. Davide Mattera. 08/12/2011
Predizione lineare 55
di sovraccarico, dipende dalla ampiezza ∆ dell’intervallo di quantizzazione; in
particolare, usando l’assunzione di rumore granulare uniforme in (−∆2 ,
∆2 ), la
potenza dell’errore granulare vale ∆2/12. Infatti,
∫ ∆/2
−∆/2
e2(
1
∆
)de =
1
∆
[e3
3
]∆/2
−∆/2
= 21
∆
(∆/2)3
3=
∆2
12(4.1)
Inoltre, detta I la larghezza dell’intervallo al di fuori del quale il segnale ricade
con una probabilita pari a quella fissata di sovraccarico, risulta che
∆ =I
2b(4.2)
dove b e il numero di bit utilizzati per rappresentare ciascun campione mediante
quantizzazione uniforme.
Supposto l’intervallo di larghezza I centrata nell’origine, si ha che tale intervallo
e definito dalla relazione
Prob[|x(n)| > I
2] ≤ Pc (4.3)
dove Pc e la probabilita di sovraccarico. Pertanto, se si riesce a ridurre la larghezza
dell’intervallo che soddisfa la relazione (4.3), allora di conseguenza si riduce ∆ e
quindi la potenza dell’errore granulare a parita di b ovvero si puo ridurre b a parita
di ∆ e quindi di potenza dell’errore granulare. Ridurre b a parita di potenza dei
due tipi di errore significa realizzare compressione.
Al fine di facilitare l’operazione di quantizzazione si puo spingere questo concetto
al punto estremo in cui l’intervallo I si e ridotto al punto di poter acconsentire la
scelta b = 1. Tale scelta consente di semplificare molto la struttura hardware del
quantizzatore che si riduce ad essere un semplice comparatore. Tuttavia, richiede di
ridurre di molto la larghezza I dell’intervallo; a questo scopo, piu che migliorando la
qualita del predittore, la soluzione piu semplice e quella di aumentare la frequenza di
campionamento del segnale analogico. In tal modo, usando semplicemente il valore
precedente, si riesce ad ottenere una notevole qualita della predizione, una ridotta
potenza dell’errore di predizione e quindi la possibilita di confinarlo con elevata
probabilita in un intervallo molto ristretto (cioe ridurre il valore di I che serve a
soddisfare la (4.3)).
L’operazione di sovracampionamento e molto piu semplice da ottenere tecnologi-
camente rispetto alla costruzione di un quantizzatore, che e comunque un dispositivo
che deve lavorare in elettronica analogica in ingresso. L’operazione di sovracampi-
onamento consente anche di semplificare il filtro analogico antialiasing.
c©Prof. Davide Mattera. 08/12/2011
56 Predizione lineare
4.1 Effetti spettrali nel tempo discreto della modifica della frequenza di campionamento
Si consideri il segnale analogico xa(t) avente trasformata di Fourier Xa(f). Si
consideri il segnale
combTxa(t)△=
+∞∑
n=−∞
xa(nT )δ(t− nT ) (4.4)
La sua trasformata di Fourier vale
1
Trep 1
TXa(f)
△=
1
T
+∞∑
n=−∞
Xa(f − n/T ) (4.5)
La trasformata di Fourier d’altronde si puo anche scrivere come
∫ +∞∑
n=−∞
xa(nT )δ(t− nT )e−j2πftdt =
+∞∑
n=−∞
xa(nT )e−j2πfTn (4.6)
Si consideri ora il processo x(n) = xa(nTc). La sua trasformata di Fourier X(F )
vale
X(F ) =+∞∑
n=−∞
xa(nT )e−j2πFn (4.7)
Dal confronto delle ultime due espressioni, risulta pertanto che l’ultima quantita
X1(F ) in (4.7) vale la quantita in (4.6) purche fT = F e siccome l’espressione in
(4.6) e uguale a quella in (4.5) si ha che
X(F ) =1
T
+∞∑
n=−∞
Xa(F/T − n/T ) =1
T
+∞∑
n=−∞
Xa
(F − n
T
)(4.8)
La formula ci dice che per passare dalla trasformata di Fourier del tempo continuo
a quello del tempo discreto occorre scalare l’asse delle frequenze in modo che la
frequenza di ripiegamento 1/(2T ) diventi pari a quella 1/2 e poi occorre sommare
le repliche opportunamente traslate di passo uno nella frequenza discreta F ; infine
bisogna scalare per 1/T .
Supponiamo ora di avere due segnali a tempo discreto campionati con due
periodi di campionamenti diversi T1 e T2 = pT1 con p intero: x1(n) = xa(nT1)
e x2(n) = xa(nT2). Cerchiamo la relazione tra gli spettri X1(F ) ed X2(F ). Da
quanto appena calcolato sappiamo che
X1(F ) =1
T1
+∞∑
n=−∞
Xa
(F − n
T1
)(4.9)
c©Prof. Davide Mattera. 08/12/2011
4.1 Effetti spettrali nel tempo discreto della modifica della frequenza di campionamento 57
X2(F ) =1
T2
+∞∑
n=−∞
Xa
(F − n
T2
)=
1
T2
+∞∑
n=−∞
Xa
(F − n
pT1
)=
1
T2
p−1∑
i=0
+∞∑
n=−∞
Xa
(F − np− i
pT1
)
(4.10)
X2(Fp) =1
T2
p−1∑
i=0
+∞∑
n=−∞
Xa
(Fp− np− i
pT1
)
=1
pT1
p−1∑
i=0
+∞∑
n=−∞
Xa
(F − n
T1− i
pT1
)
=1
p
1
T1
p−1∑
i=0
+∞∑
n=−∞
Xa
((F − i
p )− n
T1
)
=1
p
p−1∑
i=0
X1
(F − i
p
)
=1
prep 1
pX1(p) (4.11)
o equivalentemente
X2(F ) =1
p
p−1∑
i=0
X1
(F
p− i
p
)=
1
p
p−1∑
i=0
X1
(F − i
p
)(4.12)
Quindi la relazione precedente ci chiarisce l’effetto nel dominio della frequenza
dell’operazione di decimazione. In base alla definizione x2(n) = x1(np) e la versione
decimata della sequenza x1(n); si supponga che x1(n) e stata ottenuta con la
frequenza di campionamento molto elevata, intorno alla frequenza di ripiegamento
usata per la conversione dall’analogico, il segnale utile non presenta delle code che
potrebbero ripiegare in maniera significativa all’interno della banda convertita e
per questo motivo si puo usare un filtro antialiasing semplificato.
Poi se procedo in numerico a decimare il segnale x1(n) ottengo il segnale x2(n).
In frequenza, l’effetto della decimazione e la divisione per p dell’argomento che
equivale a scalare per p l’asse delle frequenze. Per esempio, se p = 5 ed X1(F ) e
diverso da zero tra (−0.1, 0.1) allora la divisione per p al secondo membro della
(4.12) implica un cambiamento di scala. In particolare, quello che accade ad X2(F )
alla frequenza F = 0.5 e quello che accade ad X1(F ) alla frequenza F = 0.1. Con
questo cambiamento di scala, si sarebbe persa la periodicita di periodo 1 che viene
ottenuta pero con la replicazione di passo 1 (per p traslazioni consecutive) della
funzione risultante dal cambiamento di scala; infine devo dividere per p.
La replicazione di passo 1 produce aliasing; nell’esempio considerato, le frequenze
tra 0.1 e 0.5 si riportano tra 0 e 0.1 (che poi per il cambiamento di scala sta occu-
pando tutta la banda numerica). Per questo motivo occorre far precedere la deci-
mazione con un filtraggio numerico volto ad ripulire la banda tra il punto ultimo
occupato dal segnale utile e la frequenza numerica pari a 0.5. In particolare, il filtro
numerico antialiasing deve ripulire la frequenza numerica che si trova 1/(2p) e 0.5.
Infine occorre ricordare che la decimazione di una sequenza sovracampionata non
c©Prof. Davide Mattera. 08/12/2011
58 Predizione lineare
deve in ogni caso condurre ad un segnale numerico caratterizzato da una frequenza
di campionamento inferiore alla frequenza di Nyquist del segnale analogico da cam-
pionare; in caso contrario, si vanno a cancellare con filtraggio antialiasing numerico
frequenze numeriche che dovrebbero essere conservate nel segnale numerico.
Viceversa, consideriamo il problema di tornare indietro quando si voglia innalzare
in numerico la frequenza di campionamento, cioe si voglia ottenere x2(n) a partire
da x1(n). Per prima cosa, si genera la sequenza x3(n) = x2(n/p) dove x3(n) vale
zero quando n/p non e intero. Significa sostanzialmente inserire p− 1 zeri al posto
dei campioni sovracampionati che non sono presenti nella sequenza decimata.
La trasformata di Fourier
X3(F ) =+∞∑
n=−∞
x3(n)ej2πFn =+∞∑
n=−∞
x2(n/p)ej2πFn =+∞∑
n=−∞
x2(n)ej2πFpn = X2(Fp)
(4.13)
La funzione X3(F ) e periodica di periodo 1/p siccome X2(F ) e periodica di
periodo 1; per esempio, la trasformata X3(F ) alla frequenza F = 1/p presenta la
replica presente per F = 1 in X2(F ).
Usando l’espressione (4.12), si ottiene poi che
X3(F ) = X2(Fp) =1
p
p−1∑
i=0
X1
(Fp− i
p
)=
1
p
p−1∑
i=0
X1
(F − i
p
)(4.14)
Pertanto, occorre selezionare la funzione X1(F ) che occupa come componente
spettrale significativa lo spettro tra (− 12p ,
12p ), usando il fatto che X1
(F − i
p
)per
i 6= 0 non e sovrapposta in frequenza ad X1(F ) come componenti significative. Per-
tanto, un filtro che seleziona la banda tra (− 12p ,
12p ) seleziona solo la sequenza X1(F )
(a meno del fattore costante p per cui bisogna moltiplicare l’uscita del filtro). Si noti
che la sequenza ottenuta presenta nella banda di frequenze (− 12p ,
12p ) il contenuto
originale e fuori da questa banda, nella banda ( 12p , 0.5) presenta un valore nullo
imposto dal filtraggio e non il valore che avrebbe avuto se avessi convertito diretta-
mente dal segnale analogico con tale frequenza piu elevata. Pertanto, l’innalzamento
in numerico della frequenza di campionamento non puo avere l’effetto di far com-
parire nel segnale numerico frequenze piu elevate gia definitivamente eliminate me-
diante il filtraggio antialiasing prima della conversione al segnale numerico.
Finora abbiamo considerato i due casi in cui si voglia modificare in numerico la
frequenza di campionamento di un fattore intero: decimare di passo p la frequenza
di campionamento (il fattore 1/p significa passaggio da x1(n) ad x2(n)) oppure
innalzare in numerico di un fattore intero la frequenza di campionamento (il fattore
p significa passaggio da x2(n) ad x1(n)). Quando si voglia modificare la frequenza
di campionamento di un fattore razionale p1/p2, occorre procedere in primo luogo
ad innalzare di un fattore p1 la frequenza di campionamento e poi sulla sequenza
ottenuta decimarla di un fattore p2. E importante l’ordine, occorre prima innalzare
e poi decimare, poiche nella decimazione il filtraggio antialiasing rappresenta una
operazione non reversibile.
c©Prof. Davide Mattera. 08/12/2011
4.2 Predizione di un passo in avanti 59
4.2 Predizione di un passo in avanti
Consideriamo il problema della predizione di un passo in avanti (forward ) ottima
secondo il criterio MMSE di un segnale u(n) assunto stazionario in senso lato.
Questo problema puo essere vista come un applicazione del metodo di Wiener
quando il segnale di ingresso al filtro e x(n) ≡ u(n−1) e quello di uscita d(n) ≡ u(n).
In tal caso, il vettore x(n)△= [x(n) x(n− 1) . . . x(n− (M − 1))]T ≡ [u(n− 1) u(n−
2) . . . u(n−M)]T . Definito il vettore uM (n)△= [u(n) u(n− 1) . . . u(n− (M − 1))]T ,
l’uscita del filtro predittore puo essere scritto come segue:
u(n) = bf,MuM (n− 1) (4.15)
Il filtro ottimo si ottiene particolarizzando la condizione di Wiener (2.6) ottenendo
R′′b(MMSE)f,M = p′′ (4.16)
dove
R′′ △= E[x(n)xH(n)] = E[uM (n− 1)uH
M (n− 1)] (4.17)
e
p′′ △= E[x(n)d∗(n)] = E[uM (n− 1)u∗(n)] (4.18)
L’elemento (i, j) della matrice R′′ vale E[xi(n)x∗j (n)] ≡ E[u(n−i)u(n−j)] = ru(j−
i). Pertanto, la prima riga della matrice R′′ si scrive come ru(0) ru(1) . . . ru(M−1)]
e la prima colonna si scrive ru(0) r∗u(1) . . . r∗u(M − 1)]T ed ha una struttua di tipo
Toeplitz. Essa coincide quindi con la matrice R del filtro di Wiener riferita pero
al segnale u(n). La chiamiamo RM per denotare la dipendenza dall’ordine su cui
discuteremo in seguito.
La i-esima componente del vettore p vale E[xi(n)d∗(n)] = E[u(n − i)u∗(n)] =
ru(−i) = r∗u(i) e pertanto esso vale [r∗u(1) r∗u(2) . . . r∗u(M)]. Lo denotiamo con rM .
Pertanto, la relazione (4.16) si riscrive come
RMbf,M = rM (4.19)
dove non abbiamo denotato - per allegerire la notazione - che la soluzione del sistema
e la soluzione ottima secondo il criterio MMSE.
Inoltre, la potenza P dell’errore di predizione - usando la relazione (2.10) per
v = 0 - si puo scrivere come segue
PM = rd(0)− p′′Hbf,M = ru(0)− rHMbf,M (4.20)
dove si e denotato anche la dipendenza di tale potenza dall’ordine M del predittore.
Le due relazioni (4.19) e (4.20) si possono riscrivere in forma compatta come
c©Prof. Davide Mattera. 08/12/2011
60 Predizione lineare
segue:
ru(0) rHM
rM RM
1
−bf,M
=
PM
0
(4.21)
dove la prima riga esprime la condizione (4.20) e le altre righe esprimono la
condizione (4.19). Ricordando la struttura della matrice RM e del vettore rM
appena ottenute, si puo notare che la matrice nella relazione (4.21) e proprio la
matrice RM+1. Pertanto la relazione (4.21) puo essere riscritta piu sinteticamente
come
RM+1aM =
PM
0
(4.22)
dove si e denotato con aM il vettore
aM△=
1
−bf,M
(4.23)
L’errore di predizione del filtro forward si scrive come segue usando la (4.15):
ef,M (n)△= u(n)− u(n) = u(n)− bHf,MuM (n− 1) (4.24)
ed usando la relazione (4.23) si puo anche scrivere come
ef,M (n) = [1 − bHf,M ]
u(n)
uM (n− 1)
= aH
MuM+1(n) (4.25)
Pertanto, il vettore aM e il vettore di M + 1 componenti che applicato al vettore
uM+1(n) ci fornisce il segnale di errore forward ef,m(n).
4.3 Predizione di un passo indietro
Consideriamo il problema della predizione di un passo indietro (backward ) ottima
secondo il criterio MMSE di un segnale u(n) assunto stazionario in senso lato.
Questo problema puo essere vista come un applicazione del metodo di Wiener
quando il segnale di ingresso al filtro e x(n) ≡ u(n) e quello di uscita d(n) ≡u(n −M). In tal caso, il vettore x(n)
△= [x(n) x(n − 1) . . . x(n − (M − 1))]T ≡
[u(n) u(n − 1) . . . u(n − (M − 1))]T . Definito il vettore uM (n)△= [u(n) u(n −
c©Prof. Davide Mattera. 08/12/2011
4.3 Predizione di un passo indietro 61
1) . . . u(n− (M − 1))]T , l’uscita del filtro predittore puo essere scritto come segue:
u(n−M) = bb,MuM (n) (4.26)
Il filtro ottimo si ottiene particolarizzando la condizione di Wiener (2.6) ottenendo
R′′′b(MMSE)b,M = p′′′ (4.27)
dove
R′′′ △= E[x(n)xH(n)] = E[uM (n)uH
M (n)] (4.28)
e
p′′′ △= E[x(n)d∗(n)] = E[uM (n)u∗(n−M)] (4.29)
L’elemento (i, j) della matrice R′′′ vale E[xi(n)x∗j (n)] ≡ E[u(n − (i − 1))u(n −
(j − 1))] = ru(j − i). Pertanto, la prima riga della matrice R′′′ si scrive come
ru(0) ru(1) . . . ru(M − 1)] e la prima colonna si scrive ru(0) r∗u(1) . . . r∗u(M − 1)]T
ed ha una struttua di tipo Toeplitz. Essa coincide quindi con la matrice R del filtro
di Wiener riferita pero al segnale u(n) che abbiamo gia chiamato RM .
La i-esima componente del vettore p vale E[xi(n)d∗(n)] = E[u(n− (i−1))u∗(n−M)] = ru(M−i+1) = r∗u(M−i+1) e pertanto esso vale [r∗u(M) r∗u(M−1) . . . r∗u(1)].
Si noti che tale vettore e stato ricavato invertendo l’ordine delle componenti del
vettore rM e coniugando tutte le componenti; il vettore cosı ottenuto viene detto
vettore di backward e lo denotiamo pertanto con rBM . Pertanto, la relazione (4.27)
si riscrive come
RMbb,M = rBM (4.30)
dove, di nuovo, non abbiamo denotato - per allegerire la notazione - che la soluzione
del sistema e la soluzione ottima secondo il criterio MMSE.
Inoltre, la potenza P ′ dell’errore di predizione - usando come prima la relazione
(2.10) per v = 0 - si puo scrivere come segue
P′
M = rd(0)− p′′′Hbb,M = ru(0)− (rBM )Hbb,M (4.31)
dove, come prima, si e denotato anche la dipendenza di tale potenza dall’ordine M
del predittore.
Le due relazioni (4.30) e (4.31) si possono riscrivere in forma compatta come
segue:
RM rBM
rBHM ru(0)
−bb,M
1
=
0
P′
M
(4.32)
dove la prima riga esprime la condizione (4.20) e le altre righe esprimono la
condizione (4.19). Ricordando la struttura della matrice RM e del vettore rM
c©Prof. Davide Mattera. 08/12/2011
62 Predizione lineare
appena ottenute, si puo notare che la matrice nella relazione (4.21) e proprio la
matrice RM+1. Pertanto la relazione (4.21) puo essere riscritta piu sinteticamente
come
RM+1bM =
0
PM
(4.33)
dove si e denotato con bM il vettore
bM△=
−bb,M
1
(4.34)
L’errore di predizione del filtro backward si scrive come segue usando la (4.15):
eb,M (n)△= u(n−M)− u(n−M) = u(n−M)− b
Hb,MuM (n) (4.35)
ed usando la relazione (4.34) si puo anche scrivere come
eb,M (n) = [−bHb,M 1]
uM (n)
u(n−M)
= bHMuM+1(n) (4.36)
Pertanto, il vettore bM e il vettore di M + 1 componenti che applicato al vettore
uM+1(n) ci fornisce il segnale di errore backward eb,M (n).
4.4 Relazione tra il filtro forward e backward
Il filtro forward bf,M e quello backward bb,M sono legati tra loro da una semplice
relazione. Si consideri la relazione (4.30): si inverta l’ordine delle righe della matrice
RM e, per non alterare l’uguaglianza, anche del vettore rM ; inoltre si inverta
l’ordine delle colonne e, per non alterare l’uguaglianza, anche del vettore bb,M ;
infine si coniughino entrambi i membri dell’uguaglianza. In questo modo la matrice
e tornata alla sua forma originaria rM mentre i due vettori sono diventati la loro
versione backward ottenendo cosı
RMbBb,M = rM (4.37)
Dal confronto tra (4.37) e (4.19) segue che bBb,M = bf.M o equivalentemente
bb,M = bBf,M (4.38)
c©Prof. Davide Mattera. 08/12/2011
4.5 La relazione ricorsiva di Levinson e Durbin 63
Dalle (4.38), (4.23) e (4.34) segue che l’operazione backward su bM ci fornisce aM
e viceversa:
bM = aBM (4.39)
Dalla (4.38) segue che
(rBM )Hbb,M = (rBM )HbBf,M = (rH
Mbf,M )∗ (4.40)
Infatti, dati due vettori a e b, si ha che aBHbB = aHb; infatti, l’operazione backward
finisce per l’invertire l’ordine del prodotto delle componenti omologhe, non la loro
somma, eccetto per la coniugazione a cui sottopone ogni addendo nella definizione
del prodotto.
Dalla (4.31) e (4.40) segue che
P′
M = ru(0)− (rHMbf,M )∗ (4.41)
Dalla (4.41) e dal fatto che PM ed ru(0) sono quantita reali - siccome sono pari
alla media statistica del modulo quadro di variabili aleatorie - segue che anche
(rHMbf,M )∗ e una quantita reale. Da cio segue che la (4.41) si puo scrivere come
segue
P′
M = ru(0)− rHMbf,M (4.42)
da cui, tendendo conto della (4.20), segue che P′
M = PM . Pertanto, gli errori di
predizione forward e backward hanno la stessa potenza. In tutte le formule del
paragrafo precedente la quantita P′
M puo essere sostituita da PM .
4.5 La relazione ricorsiva di Levinson e Durbin
Si consideri il vettore bf,M di M componenti e si consideri il vettore bf,M,p di
M − 1 componenti estratto da bf,M eliminando l’ultima componente e si consideri
lo scalare bf,M,u pari all’ultima componente di bf,M :
bf,M△=
[bf,M,p
bf,M,u
](4.43)
Si puo dimostrare che
bf,M,p = bf,M−1 − bf,M,ubb,M−1 (4.44)
Esso puo anche essere scritta nel modo seguente
bf,M,p = bf,M−1 + kMbb,M−1 (4.45)
dove kM = −bf,M,u e l’opposto dell’ultima componente del vettore bf,M
c©Prof. Davide Mattera. 08/12/2011
64 Predizione lineare
Prima di andare a dimostrare l’uguaglianza si consideri che da essa discende che
1[−bf,M,p
−bf,M,u
] =
1[−bf,M−1
0
]+ kM
[0
−bb,M−1
]
1
(4.46)
Infatti si noti che la prima condizione e banale e l’ultima e una conseguenza della
definizione di kM mentre tutte le righe intermedie esprimono la condizione (4.45).
Da essa discende che
[1
−bf,M
]=
[1
−bf,M−1
]
0
+ kM
0[−bb,M−1
1
] (4.47)
dove si sono diversamente accoppiate le varie componenti al secondo membro e si e
tenuto conto della (4.43). Tenendo conto della (4.23) e della (4.34), la (4.47) si puo
riscrivere nel modo seguente:
aM =
[aM−1
0
]+ kM
[0
bM−1
](4.48)
A tale relazione viene usualmente dato il nome di relazione ricorsiva di Levinson e
Durbin. Di essa faremo uso nei prossimi paragrafi.
Prima di chiudere questo paragrafo, passiamo pero a fornire la promessa di-
c©Prof. Davide Mattera. 08/12/2011
4.5 La relazione ricorsiva di Levinson e Durbin 65
mostrazione della (4.45). Dalla relazione (4.19) segue che
bf,M = R−1M rM
=
[RM−1 rBM−1
rBHM−1 ru(0)
]−1 [rM−1
r∗u(M)
]
=
R−1M−1 +
R−1
M−1rBM−1r
BHM−1R
−1
M−1
δ − 1δR
−1M−1r
BM−1
− 1δr
BHM−1R
−1M−1
1δ
rM−1
r∗u(M)
=
R−1M−1rM−1 +
R−1
M−1rBM−1r
BHM−1R
−1
M−1rM−1
δ − 1δR
−1M−1r
BM−1r
∗u(M)
− 1δr
BHM−1R
−1M−1rM−1 + 1
δ r∗u(M)
=
bf,M−1 +bb,M−1rBH
M−1bf,M−1
δ − 1δ bb,M−1r
∗u(M)
− 1δr
BHM−1bf,M−1 + 1
δ r∗u(M)
=
bf,M−1 + bb,M−1
(rBH
M−1bf,M−1
δ − r∗u(M)δ
)
− 1δr
BHM−1bf,M−1 +
r∗u(M)δ
=
bf,M−1 + kMbb,M−1
−kM
(4.49)
dove si sono definite
δ = ru(0)− rBHM−1RM−1r
BM−1 = ru(0)− rBH
M−1bb,M−1 = P′
M−1 = PM−1 (4.50)
kM△=
rBHM−1bf,M−1
δ− r∗u(M)
δ= −
[ru(M)
rBM−1
]H [1
−bf,M−1
]
PM−1= −rBH
M aM−1
PM−1(4.51)
o equivalentemente
kM = −∆M−1
PM−1∆M−1
△= rBH
M aM−1 (4.52)
Nella primo dei passaggi che hanno condotto alla (4.49) si e tenuto conto della
c©Prof. Davide Mattera. 08/12/2011
66 Predizione lineare
condizione di Wiener (4.19) mentre nel secondo passaggio si e decomposto la
matrice RM usando la matrice RM−1 ed il vettore rBM−1 in base alla struttura della
matrice (che e stata ricavata nella discussione tra le formule (4.18) ed (4.19)). Nel
terzo passaggio si e usata la formula seguente riguardante l’inversione della matrice
partizionata a blocchi: assumendo che la matrice A e la matrice partizionata siano
invertibili, allora l’inversa della matrice partizionata si puo scrivere come segue
[A B
C D
]−1
=
[A−1 + A−1BE−1CA−1 −A−1BE−1
−E−1CA−1 D−1
](4.53)
dove E△= D − CA−1B, che e ovvio verificare direttamente mostrando che il
prodotto (con entrambi gli ordini dei due fattori) del primo e del secondo membro
della (4.53) produce la matrice identica I. E banale verificare che il blocco (1, 1)
valga la matrice identica: infatti esso e uguale a
A[A−1 + A−1BE−1CA−1
]+ B(E−1CA−1) = I (4.54)
Analogamente, si dimostra (ricordando la definizione data di E) che l’elemento
(2, 1) sia nullo. Infatti,
C[A−1 + A−1BE−1CA−1
]+ D
[−E−1CA−1
]=
= CA−1 + CA−1BE−1CA−1 −DE−1CA−1 =
= CA−1 +(CA−1B −D
)E−1CA−1 =
= CA−1 + (−E)E−1CA−1 = CA−1 −CA−1 = 0
Gli altri passaggi per la definizione della (4.49) sono abbastanza diretti quando
si tengano presente la (4.19) e (4.30) riferite all’ordine M − 1. La stessa proprieta e
anche usata per dimostrare il primo passaggio nella (4.50); per il secondo passaggio
si e usata la (4.31) ed infine la dimostrata uguaglianza tra P′
M e PM . Infine per
dimostrare nella (4.51) si e tenuto conto della forma di rM e quindi della sua
versione backward nonche della definizione (4.23).
Abbiamo in tal modo dimostrato la (4.45) e quindi di conseguenza la (4.48).
Usando quest’ultima relazione, possiamo ricavare la relazione che sussiste le potenze
PM e PM−1. In particolare, consideriamo la (4.48), qui riscritta per comodita
aM =
[aM−1
0
]+ kM
[0
bM−1
]
e moltiplichiamo ambo i membri da sinistra per RM , usando al secondo membro
c©Prof. Davide Mattera. 08/12/2011
4.5 La relazione ricorsiva di Levinson e Durbin 67
ciascuna delle due seguenti forme partizionate della matrice RM :
RM =
[RM rBM
rBHM ru(0)
]=
[ru(0) rH
M
rM RM
](4.55)
Risulta di conseguenza che
RMaM =
[RM rBM
rBHM ru(0)
][aM−1
0
]+ kM
[ru(0) rHM
rM RM
] [0
bM−1
](4.56)
Da tale relazione, usando la (4.22) segue che
[PM
0
]=
[RMaM−1
rBHM aM−1
]+ kM
[rHMbM−1
RMbM−1
](4.57)
Si noti che
rHMbM−1 = (rBH
M bBM−1)∗ = (rBHM aM−1)∗ = ∆∗
M−1 (4.58)
dove si e tenuto conto della (4.38), della (4.52) e del fatto, gia usato in precedenza,
che l’operazione di backward sui due fattori del prodotto finisce per coniugare il
risultato.
Usando le (4.58, (4.22), (4.52) e (4.33) nella (4.57) si ottiene che
[PM
0
]=
[PM−1
0
]
∆M−1
+ kM
∆∗M−1[0
PM−1
] (4.59)
Siccome nella (4.59), solo la prima e l’ultima componente rappresentano una
uguaglianza non banale, conviene estrarre le due condizioni corrisponenti a tali
componenti:{
PM = PM−1 + kM∆∗M−1
0 = ∆M−1 + kMPM−1
(4.60)
da cui segue sia la conferma della (4.52) che, sostituendo la (4.52) nella prima
condizione, la relazione cercata tra PM e PM−1:
PM = PM−1 + kM (−kMPM−1)∗ = PM−1(1− |kM |2) (4.61)
La condizione (4.61) ed il fatto che PM e PM−1 siano quantita reali e positive (in
quanto medie statistiche di un modulo quadro di una variabile aleatoria) implica
che
|kM | < 1 (4.62)
Inoltre, il caso |kM | = 1, che non e impossibile ma certamente anomalo, implica che
PM = 0 e quindi implica che si e portato a compimento il processo di predizione
c©Prof. Davide Mattera. 08/12/2011
68 Predizione lineare
ottenendo un errore di predizione a potenza nulla; quindi, non si puo porre la
questione di migliorare con un filtro di ordine maggiore il meccanismo di predizione.
Si noti che in questo modo siamo in grado di compiere il passo avanti dall’ordine
M−1 all’ordine M . Supponiamo di aver completato il progetto all’ordine M−1 e che
quindi si disponga1 di bf,M−1. bb,M−1, PM−1, nonche delle quantita gia utilizzate
per giungere a questo progetto {ru(0), ru(1), . . . , ru(M − 1)}. Supponiamo a questo
punto di disporre ulteriormente della quantita ru(M) che non e necessaria per
calcolare i predittori di ordine M − 1 ma e cruciale per calcolare quelli di ordine
M . Il punto chiave e la capacita di calcolare kM che consente i filtri di ordine M
tramite la (4.45) - equivalentemente tramite la (4.48) - e PM tramite la (4.61). Si puo
direttamente notare dalla (4.52) che per calcolare kM sono necessari i filtri di ordine
M − 1 ammessi disponibili ed il vettore rM , disponibile in base all’assunzione di
disporre delle quantita {ru(0), ru(1), . . . , ru(M)}. Non si dimentichi poi che i valori
della funzione di autocorrelazione ru(m) vanno stimati sulla base dei dati disponibili
sulla base dell’assunzione ergodica a riguardo del segnale u(n).
Un approccio alternativo e basato su una formula che consente di ottenere
direttamente kM a partire dai segnali di errore forward e backward di ordine
inferiore ma questa formula verra introdotta nel seguito. Nel prossimo paragrafo
saranno prima dimostrate alcune proprieta del filtro predittore ottimo ottenuto
finora.
4.6 Alcune proprieta del filtro predittore ottimo MMSE
Si consideri il vettore aM che descrive la relazione ingresso/uscita (4.25). Esso
contiene i valori diversi da zero della risposta impulsiva di un filtro FIR che opera
sul segnale di ingresso u(n) per generare un segnale di uscita ef,M (n). Scrivendo
per esteso la relazione (4.25) si ottiene la seguente espressione:
ef,M (n) = aHMuM+1(n) =
aM,0
aM,1
. . .
aM,M
H
u(n)
u(n− 1)
. . .
u(n−M)
=
M∑
i=0
a∗M,iu(n−i)=+∞∑
i=−∞
ha,M (i)u(n−i)
(4.63)
dove si e denotato con aM,i la i-esima componente del vettore aM per i =
0, 1, . . . ,M e con
ha,M (i)△=
{a∗M,i i ∈ {0, 1, . . . ,M}
0 i /∈ {0, 1, . . . ,M}(4.64)
1. O che equivalentemente si disponga di aM−1, bM−1 e PM−1.
c©Prof. Davide Mattera. 08/12/2011
4.6 Alcune proprieta del filtro predittore ottimo MMSE 69
Pertanto, ha,M (·) rappresenta la risposta impulsiva di tale filtro LTI; il vettore aM
contiene i valori diversi da zero della risposta impulsiva, che sono quelli riferiti
all’intervallo {0, . . . ,M}. I valori non presenti nel vettore aM sono quelli che non
ricadono nell’intervallo {0, . . . ,M} e sono quindi tutti nulli.
Tale corrispondenza tra un vettore ed una risposta impulsiva e generale. Si
considerino tre vettori colonna delle stesse dimensioni a, b e c a cui corrispondono
rispettivamente tre risposte impulsive ha(n), hb(n) e hc(n); se vale a = b+ c allora
e ovvio che anche ha(n) = hb(n) + hc(n) e viceversa.
Pertanto, applicando tale risultato alla relazione (4.48), che qui riscriviamo per
comodita
aM =
[aM−1
0
]+
[0
kMbM−1
]
si puo scrivere la relazione seguente tra le tre risposte impulsive corrisponenti:
ha,M (n) = ha,M−1(n) + k∗Mhb,M−1(n− 1) (4.65)
Infatti, lo zero in ultima posizione non altera la risposta impulsiva che si ottiene
dal vettore mentre lo zero in prima posiziona corrisponde ad un ritardo unitario
nella risposta impulsiva. La risposta impulsiva ha,M−1(n) e quindi quella del filtro
che ha in ingresso il segnale u(n) ed in uscita l’errore forward ef,M−1(n) di ordine
M − 1 mentre la risposta impulsiva hb,M−1(n) e quindi quella del filtro che ha in
ingresso il segnale u(n) ed in uscita l’errore backward eb,M−1(n) di ordine M − 1.
Dalla (4.65) segue che
Ha,M (z) = Ha,M−1(z) + k∗Mz−1Hb,M−1(z) (4.66)
D’altronde, dalla (4.64) segue che
Ha,M (z) =
M∑
i=0
a∗M,iz−i (4.67)
Le relazioni (4.65) e (4.66) sono perfettamente equivalente alla relazione (4.48)
in quanto consentono di determinare il filtro forward ottimo di ordine M a partire
da quelli forward e backward di ordine M − 1 e dal coefficiente di riflessione kM .
Si consideri la trasformata zeta del filtro backward di ordine M e si denoti con
c©Prof. Davide Mattera. 08/12/2011
70 Predizione lineare
bM,i la i-esima componente del vettore bM :
Hb,M (z) =
M∑
i=0
b∗M,iz−i
=
M∑
i=0
aM,M−iz−i
=
[M∑
i=0
a∗M,M−i(z∗)−i
]∗
=
[M∑
ℓ=0
a∗M,ℓ(z∗)−(M−ℓ)
]∗ℓ
△= M − i
= z−M
[M∑
ℓ=0
a∗M,ℓ(z∗)ℓ
]∗
=
[z−M
M∑
ℓ=0
a∗M,ℓ
(1
z∗
)−ℓ]∗
= z−MH∗a,M
(1
z∗
)(4.68)
Dalla (4.68) segue che
Hb,M (ejθ) =(ejθ)−M
H∗a,M
(1
e−jθ
)=(ejθ)−M
H∗a,M
(ejθ)
(4.69)
e da questa segue che
|Hb,M (z)| = |Ha,M (z)| ∀z : |z| = 1 (4.70)
Applichiamo il teorema2 di Rouche alla relazione (4.66) mediante la scelta
2. Il teorema di Rouche afferma che, date due funzioni F (z) e G(z) entrambe olomorfe in
un dominio C△= CUc (dove c e la frontiera di C) limitato e regolare, qualora valga la
condizione |F (z)| > |G(z)| sulla frontiera dello stesso dominio C, allora F (z) e F (z)+G(z)hanno lo stesso numero di zeri in C. La dimostrazione e qui fornita solo per dare lapossibilita allo studente di collegarsi con quanto studiato nell’insegnamento di Metodimatematici per l’ingegneria e non sara oggetto di verifica in sede di esame; essa richiededi considerare la formula dell’indicatore logaritmico per la funzione F (z) + λG(z)
NF+λG(λ) =1
2πj
∫
c
F′
(z) + λG′
(z)
F (z) + λG(z)dz λ ∈ [0, 1]
Si ricorda che il teorema dell’indicatore logaritmico afferma che l’integrale al secondomembro rappresenta la differenza tra il numero degli zeri di F (z) + λG(z), contatisommando gli ordini di molteplicita di ciascuno zero, ed il numero dei poli, contati allostesso modo. Il fatto che F (z) eG(z) siano olomorfe in C implica che l’integrale rappresentisolo il numero degli zeri perche F (z) + λG(z) non presenta poli in C. Se lo studente hadifficolta gia a comprendere questo punto e opportuno che si rivolga al docente in modo
c©Prof. Davide Mattera. 08/12/2011
4.6 Alcune proprieta del filtro predittore ottimo MMSE 71
F (z) ≡ Ha,M−1(z), G(z) ≡ k∗Mz−1Hb,M−1(z), e il dominio C scelto e |z| ≥ 1.
Con le scelte effettuate, le condizioni (4.62) e (4.70) garantiscono la condizione
|F (z)| > |G(z)| sulla frontiera |z| = 1 del dominio C scelto. Il teorema ci garantisce
pertanto che F (z) ≡ Ha,M−1(z) e F (z) + G(z) ≡ Ha,M (z) hanno lo stesso numero
di zeri. Ora all’ordine zero Ha,0(z) = 1 (infatti all’ordine zero non si puo realizzare
predizione, quindi u(n) = 0, ef,0(n)△= u(n) − u(n) = u(n); pertanto il legame
tra u(n) ed ef,0(n) e quello di un sistema identico, la cui risposta impulsiva ha
una zeta trasformata e costantemente pari a 1 per ogni z complesso e quindi non
ammette zeri in C). Conseguentemente, per il teorema neppure Ha,1(z) ammette
zeri in C; cio implica, per lo stesso teorema, che Ha,2(z) neppure ammette zeri in
C. Siccome Ha,1(z) e un filtro FIR di ordine 1 e quindi e un polinomio FIR di
ordine 1, esso ammettera uno zero, che - per quanto gia dedotto - deve essere
necessariamente interno. Analogamente, Ha,2(z) non avra zeri in C e quindi i
suoi due poli saranno entrambi interni. E possibile ripetere in questo modo il
ragionamento e concludere che Ha,M (z) non ammette zeri esterni qualunque sia
l’ordine M considerato. Pertanto, Ha,M (z) ha tutti zeri interni al cerchio di raggio
unitario o, come si dice sinteticamente, e a fase minima. Cio significa che il filtro
inverso H−1a,M (z) e un filtro stabile e casuale. Se |kM | = 1, il filtro di ordine M avra
uno zero in piu di Ha,M−1(z) e questo zero ulteriore sara proprio sul cerchio di
raggio unitario; per cui la condizione kM < 1 e equivalente a dire che Ha,M (z) e
fase minima.
A questo pare opportuno che lo studente si fermi e si chieda il perche si sia svolto
che il raccordo con l’insegnamento propedeutico venga meglio rifinito.Il denominatore della funzione integranda non si annulla sulla linea di integrazione c
in virtu del fatto che F (z) + λG(z) = 0 per z ∈ c implicherebbe |F (z)| = λ|G(z)| che,essendo λ ∈ [0, 1], implicherebbe |F (z)| ≤ |G(z)|, contro l’ipotesi del teorema. Se si fissaF (z) eG(z), la funzione integranda (intesa come funzione della variabile λ) e continua nellavariabile λ perche e rapporto di polinomi di primo grado. La funzione integranda, del resto,e anche continua come funzione di z perche rapporto di funzioni continue, avendo appenadimostrato che F (z)+λG(z) 6= 0 ∀λ ∈ [0, 1] ∀z ∈ c. Quindi essa e una funzione continuadelle variabili λ e z. Quando si scrive la rappresentazione parametrica di c in funzione dellavariabile reale t si ottiene una funzione integranda continua di λ e t definita nell’intervallobase della rappresentazione parametrica (siamo passati alle rappresentazioni parametricheperche il teorema di passaggio al limite sotto il segno di integrale si usa dimostrarlo per lefunzioni reali ed anche per le funzioni complesse - basta considerare una alla volta la partereale e quella immaginaria). Quindi e possibile passare al limite sotto il segno di integrale(limite rispetto alla variabile λ) e dalla continuita rispetto a λ della funzione integranda,segue la continuita di NF+λG(λ) in [0, 1] che a sua volta implica che essa non dipendada λ poiche essa assume solo valori interi siccome conta il numero degli zeri. Se N(λ)passasse da 1 a 2 si creerebbe una discontinuita; questo vale per ogni funzione che assumavalori interi in un intervallo. Segue pertanto che N(0) = N(1), ovvero che la funzioneF (z) + λG(z) assume lo stesso numero di zeri in C sia per λ = 0 che per λ = 1, ovveroF (z) e F (z)+G(z) assumono lo stesso numero di zeri in C. Passando a F (z)+G(z) restainalterata la somma degli ordini di molteplicita degli zeri della F (z). Puo essere che duezeri semplici della F (z) confluiscano in un solo zero di F (z)+G(z) di molteplicita doppia.
c©Prof. Davide Mattera. 08/12/2011
72 Predizione lineare
la dimostrazione con riferimento al dominio z ≥ 1. Cosa ci ha impedito di selezione
l’insieme |z| ≤ 1 e di ripetere analogamente la dimostrazione con riferimento al
tentativo di dimostare che tutti gli zeri sono esterni al cerchio di raggio unitario?
La risposta e lasciata come esercizio agli studenti.
Dalla relazione (4.68) segue che zb = 1z∗
adove zb e uno zero di Hb,M (z) ed za e uno
zero di Ha,M (z). Pertanto, |za| < 1⇒ |zb| > 1 e quindi il filtro backward Hb,M (z)
ha tutti zeri esterni al cerchio di raggio unitario o, come si dice sinteticamente, e a
fase massima.
Facendo il backward dei due membri della (4.48) e tenendo conto della (4.39) si
ottiene la formula seguente:
bM =
[0
bM−1
]+ k∗M
[aM−1
0
](4.71)
Passando alla relazione analoga in termini di zeta trasformata, seguendo una
procedura analoga a quella seguita per trasformare la (4.48) nella relazione nel
dominio zeta, si ottiene:
Hb,M (z) = z−1Hb,M−1(z) + k∗MHa,M−1(z) (4.72)
Si noti che (4.72) e equivalente alla (4.71) cosı come la (4.66) e equivalente alla
(4.48).
La coppia di relazioni ricorsive (4.66) e (4.72) puo essere anche equivalentemene
rappresentato dallo schema di figura (4.1): una volta realizzati i due filtri Ha,M−1(z)
e Hb,M−1(z) che producono in uscita gli errori forward and backward ef,M−1(n)
ed eb.M−1, basta combinarne le uscite come mostrato dalle relazioni (4.66) e (4.72)
per ottenere la realizzazione dei filtri Ha,M (z) e Hb,M (z) che producono in uscita
gli errori di ordine superiore ef,M (n) e eb,M (n). Si noti la opportunita di costruire
anche il filtro backward ad un certo ordine perche la uscita e necessaria per costruire
il filtro forward all’ordine superiore.
D’altronde e possibile usare le stesse relazioni anche per realizzare i filtri
Ha,M−1(z) e Hb,M−1(z) immaginando di aver gia realizzato i filtri di ordine in-
feriore Ha,M−2(z) e Hb,M−2(z). Iterando molte volte questa proprieta e ricordando
che Ha,0(z) ≡ Hb,0(z) e il sistema identico siccome all’ordine zero non si realizza
alcuna predizione e, pertanto, u(n) ≡ 0, e ef,0(n)△= u(n)− u(n) = u(n) cosı come
eb,0(n) = u(n−M)|M=0 − u(n−M)|M=0 = u(n). Quindi, all’ordine zero, le uscite
ef,0(n) ed eb,0(n) coincidono con l’ingresso u(n) ovvero in altri termini, Ha,0(z) e
Hb,0(z) sono il filtro identico. Pertanto, si puo costruire il filtro di ordine 1 usando
u(n); poi si puo costruire quello di ordine 2 usando quello di ordine 1 e cosı via
sempre usando ad ogni passo le relazioni ricorsive (4.66) e (4.72). Lo schema che ne
risulta e rappresentato in figura (4.3) e viene detta a traliccio (lattice). Lo schema
riportato in figura (4.3 e quello di ordine 2 e puo essere trasformato nella strut-
tura di ordine generico mediante l’aggiunta in cascata di un opportuno numero di
ulteriori stadi della forma rappresentato in figura (4.2).
Si noti la modularita della struttura e la possibilita di incrementare l’ordine (per
c©Prof. Davide Mattera. 08/12/2011
4.6 Alcune proprieta del filtro predittore ottimo MMSE 73
✲
✲
✲
✲
✲ z−1
+
+✲ ✲
✲
✒
❘
Ha,M−1(z)
Hb,M−1(z)
u(n)
ef,M (n)ef,M−1(n)
eb,M (n)eb,M−1(n)
k∗M
kM
Figure 4.1 Schema realizzativo equivalente alla coppia di relazioni (4.66) e (4.72).
✲
✲ z−1
+
+✲ ✲
✲
✒
❘
k∗
k
Figure 4.2 Il singolo stadio della struttura modulare a traliccio (4.3).
ridurre la potenza dell’errore di predizione) senza modificare la parte gia esistente
della struttura ma semplicemente aggiungendo un nuovo stadio.
Siccome abbiamo dimostrato che il filtro Ha,M (z) e a fase minima ed ammette
inversa stabile e causale, puo essere necessario realizzare il filtro inverso. Per
realizzare il filtro inverso occorre invertire la direzione dei flussi nella struttura di
figura (4.3) facendo in modo che il segnale ef,M (n) rappresenti il flusso di ingresso e
quello corrispondente ad u(n) diventi il flusso di uscita. Per fare cio occorre notare
che la seguente equivalenza:
A + B = C ⇔ A = C −B (4.73)
viene rappresentata negli schemi a blocchi dalla relazione di equivalenza mostrata
in figura (4.4). Applicando tale equivalenza sullo schema di figura (4.3) possiamo
cosı ottenere lo schema complessivo della struttura che corrisponde ad H−1a,M (z)
c©Prof. Davide Mattera. 08/12/2011
74 Predizione lineare
✲
✲
✲ z−1
+
+
✒
❘✲
k∗1
k1
✲
✲ z−1
+
+✲ ✲
✲
✒
❘
u(n)
ef,2(n)ef,1(n)
eb,2(n)eb,1(n)
k∗2
k2
. . .
. . .
Figure 4.3 Schema realizzativo conseguente all’utilizzo ricorsivo della coppia di
relazioni (4.66) e (4.72).
riportato in figura (4.5). Si noti che l’uscita della struttura inversa e stata denotata
con u(n) invece che con u(n) per mettere in evidenza come la sua uscita possa essere
diversa in pratica da u(n) per il fatto che l’errore ef,M (n) immesso in ingresso alla
struttura inversa possa essere diverso da quello in uscita alla struttura diretta,
non fosse altro che per l’effetto della quantizzazione a cui viene inevitabilmente
sottoposto il segnale di uscita di ogni sistema di elaborazione numerica, ma anche
per le imprecisioni di realizzazione sia della strutture diretta sia di quella inversa.
La struttura di figura (4.5), in quanto inversa del filtro Ha,M (z), che e un filtro
FIR e quindi avente solo M zeri, possiede M poli interni al cerchio di raggio unitario
e pertanto viene realizzato da una struttura ricorsiva stabile e causale. Si noti come
la struttura ottenuta in figura (4.5 sia una struttura ricorsiva in quanto l’uscita u(n)
dipende dai valori precedenti dell’uscita attraverso il flusso sul ramo inferiore del
traliccio che riporta nei calcoli che determinano l’uscita u(n) quantita che dipendono
dai valori precedenti della stessa uscita.
4.7 La relazione inversa di Levinson e Durbin
La relazione vettoriale (4.48) puo essere riscritta in forma scalare se si denotano
le componenti del vettore aM nel modo seguente aM△= [aM,0aM,1 . . . aM,M ]T e
conseguentemente le componenti del vettore aM−1 nel modo seguente aM−1△=
[aM−1,0aM−1,1 . . . aM−1,M−1]T . Di conseguenza, il vettore bM−1 diventa pari a
bM−1 = [a∗M−1,M−1a∗M−1,M−2 . . . a
∗M−1,0]T . Pertanto la k-esima componente (per
k ∈ {0, 1, . . . ,M) del vettore aM e pari a aM,k; la k-esima componente (per k ∈{0, 1, . . . ,M − 1) del vettore aM−1 e pari a aM−1,k mentre la k-esima componente
(per k ∈ {0, 1, . . . ,M − 1) del vettore bM−1 e pari a a∗M−1,M−1−k; di conseguenza,
la k-esima componente del vettore che compare come secondo addendo al secondo
c©Prof. Davide Mattera. 08/12/2011
4.7 La relazione inversa di Levinson e Durbin 75
+✲ ✲
✻
A C
B
⇔ +✛ ✛
✻
A C
−B
Figure 4.4 Modifiche sullo schema conseguenti alla inversione dell’ingresso e
dell’uscita.
✛
✛
✲ z−1
+
+
✒
❘✲
−k∗1
k1
✛
✲ z−1
+
+✲ ✲
✛
✒
❘
u(n)
ef,2(n)ef,1(n)
eb,2(n)eb,1(n)
−k∗2
k2
. . .
. . .
Figure 4.5 Schema realizzativo del filtro predittore inverso dove ur(n) denota il
segnale ricostruito sulla base del segnale di errore forward.
c©Prof. Davide Mattera. 08/12/2011
76 Predizione lineare
membro della (4.48) e pari a∗M−1,M−k per k = 1, . . . ,M mentre e nulla per
k = 0. Pertanto, le componenti per k ∈ {1, . . . ,M − 1} della (4.48) si possono
equivalentemente scrivere nel modo seguente
aM,k = aM−1,k + kMa∗M−1,M−k (4.74)
Inoltre, quando si adotti la convenzione di assumere aM,k△= 0 quando k /∈
{0, 1, . . . ,M}, la stessa relazione viene a valere anche per la prima3 e per l’ultima4
componente della relazione (4.48); pertanto, la 4.74) vale per ogni k ∈ {0, 1, . . . ,M}.Coniugando ambo i membri della (4.74) e sostituendo M con M − k si puo
equivalentemente scrivere la seguente relazione:
a∗M,M−k = a∗M−1,M−k + k∗MaM−1,k (4.75)
Le due relazioni (4.74) e (4.75) si possono scrivere in forma compatta nel modo
seguente:[
aM,k
a∗M,M−k
]=
[1 kM
k∗M 1
][aM−1,k
a∗M−1,M−k
](4.76)
da cui segue che
[aM−1,k
a∗M−1,M−k
]=
[1 −kM−k∗M 1
]
1− |kM |2
[aM,k
a∗M,M−k
]=
[aM,k − kMa∗M,M−k
−k∗MaM,k + a∗M,M−k
]
1− |kM |2(4.77)
da cui, estraendo la sola prima componente e tenendo conto che kM e proprio
l’ultima componente del vettore aM , segue che
aM−1,k =aM,k − aM,Ma∗M,M−k
1− |aM,M |2k ∈ {0, 1, . . . ,M − 1} (4.78)
e viene detta la relazione inversa di Levinson e Durbin siccome essa consente di
calcolare il filtro ottimo aM−1 una volta noto il filtro ottimo aM .
4.8 Il test di Schur-Cohn
La relazione (4.78) e equivalente alla (4.48), la quale e a sua volta equivalente alla
coppia di relazioni (4.66) e (4.72), le quali sono a loro volta equivalenti allo schema
3. Per k = 0, infatti, il secondo addendo al secondo membro della (4.74) vale zero e larelazione esprime l’uguaglianza ad uno di entrambe le prime componenti dei vettori aM eaM−1
4. Per k = M , infatti, il primo addendo al secondo membro della (4.74) vale zero e larelazione esprime l’uguaglianza a kM dell’ultima componente del vettor e aM : aM,M = kM
c©Prof. Davide Mattera. 08/12/2011
4.8 Il test di Schur-Cohn 77
realizzativo mostrato in figura (4.3).
Si noti pero che un filtro a traliccio e comunque un filtro FIR; ogni filtro FIR
puo essere realizzato con una struttura a traliccio. Infatti, dato un qualsiasi filtro
FIR causale di memoria M
H(z) = h(0) + h(1)z−1 + . . . + h(M)z−M (4.79)
dopo aver normalizzato ad uno il suo primo coefficiente:
HM (z)△=
H(z)
h(0)= 1+
h(1)
h(0)z−1+. . .+
h(M)
h(0)zM
△= hM,0+hM,1z
−1+. . .+hM,Mz−M
(4.80)
e possibile trovare una sequenza di filtri FIR, HM−1(z), HM−2(z), . . . , H1(z), 1, che
si appoggiano l’uno sull’altro nella struttura a traliccio, in modo tale che l’M -
esimo filtro nella struttura a traliccio sia proprio quello considerato HM (z). Tutti
questi filtri della sequenza si trovano uno alla volta a partire da HM (z) applicando
la relazione inversa di Levinson e Durbin (4.78). Usando la relazione ki = hi,i
(i ∈ {1, . . . ,M}) si ottengono i valori del coefficiente di riflessione in tutti gli stadi
e quindi si ottiene la struttura a traliccio che realizza il filtro considerato HM (z).
Ovviamente non e detto che i coefficienti di riflessione rispettino la condizione
ki < i ∀i ∈ {1, 2, . . . ,M}. Se la rispettano, e possibile ripetere pari pari la
dimostrazione fatta nel paragrafo 4.6 e concludere quindi che il filtro HM (z) sia a
fase minima. Se invece almeno un coefficiente ki > 1 allora il filtro non e a fase
minima cioe esso ha almeno uno zero esterno al cerchio unitario. Pertanto, si puo
anche procedere a calcolare tutti di filtri Hi(z) allo scopo di trovarne i coefficienti
di riflessione ki che vengono ricercati al solo scopo di verificare il fatto che essi siano
oppure no maggiori di uno, ovvero al solo scopo di verificare se HM (z) sia oppure
no a fase minima. Tale procedura prende il nome di test di Schur-Cohn.
Se la zeta trasformata HM (z) rappresenta il denominatore di una zeta trasfor-
mata di un sistema lineare ricorsivo, allora il test di fase minima di HM (z) diventa
un test di stabilita della versione causale del sistema lineare ricorsivo in considera-
zione.
Dato il filtro predittore di ordine M e data la sequenza di filtri individuati dalla
struttura a traliccio m = 0, . . . ,M − 1 mediante la formula (4.78), non sarebbe
detto in generale che il filtro per m = M − 1 della struttura a traliccio coincida con
il predittore ottimo di ordine M − 1. Che i due filtri coincidano e il risultato della
dimostrazione di Levinson e Durbin; cio e anche equivalente, d’altra parte, al fatto
che, quando si cerca di incrementare di ordine il predittore, non si devono cercare i
nuovi valori dei coefficienti di riflessione gia fissati negli stadi gia costruiti ma basta
limitarsi ad individuare (per esempio usando la formula di Burg) il coefficiente
di riflessione del nuovo stadio da aggiungere in cascata alla struttura esistente,
lasciando inalterati quelli dei moduli gia inseriti.
4.9 Filtro predittore come filtro sbiancante
c©Prof. Davide Mattera. 08/12/2011
78 Predizione lineare
Se il segnale u(n) e bianco, allora la matrice RM e diagonale mentre il vettore rM
e nullo. Di conseguenza, dalla (4.19) segue che bf,M = 0; di conseguenza, in questo
caso, u(n) = bf,MuM (n− 1) ≡ 0 e pertanto, ef,M (n) ≡ u(n). Pertanto il predittore
ottimo Ha,M (z) secondo MMSE lascia inalterato il segnale u(n). Affinche dunque un
filtro lineare abbia fatto il massimo possibile mediante elaborazione lineare, l’errore
di predizione deve essere bianco.
In pratica, l’errore di predizione non e bianco e quindi incrementando l’ordine
del predittore si migliora, riducendo la potenza dell’errore di predizione. In effetti,
il massimo che si puo fare corrisponde al limite asintotico quando l’ordine del filtro
tende ad infinito. In tal caso, l’errore di predizione tende ad un segnale bianco che
rappresenta la componente del segnale impredicibile mediante elaborazione lineare.
Questo significa che il filtro Ha,M (z) quando l’ordine M e sufficientemente elevato
tende ad approssimare il filtro sbiancante; l’ordine opportuno dipende dal fatto
che si sta approssimando mediante un filtro FIR un filtro che potenzialmente ha
lunghezza infinita. L’ordine opportuno e quello che consente di coprire mediante il
filtro FIR gran parte della energia della risposta impulsiva di lunghezza infinita e
quindi dipende in pratica dalle caratteristiche del segnale da sbiancare.
Consideriamo, in particolare, la questione di approssimare un filtro causale di
lunghezza infinita hIIR(n) con un filtro di lunghezza finita hFIR(n) che copra
l’intervallo [0,M − 1]. Se si denota con
yIIR(n)△=
+∞∑
n=0
hIIR(m)x(n−m) (4.81)
yFIR(n)△=
M−1∑
n=0
hFIR(m)x(n−m) (4.82)
e(n)△= yIIR(n)− yFIR(n)
=
M−1∑
n=0
(hIIR(m)− hFIR(m))x(n−m) +
+∞∑
n=M
hIIR(m)x(n−m) (4.83)
un parametro che fornisce una misura attendibile della qualita della approssi-
mazione e il rapporto tra la potenza dell’errore e(n) di approssimazione dell’uscita
yIIR(n) e la potenza del segnale utile yIIR(n):
E[|e(n)|2]
E[|yIIR(n)|2](4.84)
Se si assume che il segnale considerato di ingresso x(n) sia bianco, la potenza di
e(n) si scrive nel modo seguente:
E[|e(n)|2 = Px
{M−1∑
n=0
|hIIR(m)− hFIR(m)|2 ++∞∑
n=M
|hIIR(m)|2}
(4.85)
c©Prof. Davide Mattera. 08/12/2011
4.9 Filtro predittore come filtro sbiancante 79
mentre quella del segnale yIIR(n) vale
E[|yIIR(n)|2] = Px
+∞∑
n=0
|hIIR(m)|2 (4.86)
Di conseguenza, il rapporto in (4.84) diventa
E[|e(n)|2]
E[|yIIR(n)|2]=
M−1∑
n=0
|hIIR(m)− hFIR(m)|2 ++∞∑
n=M
|hIIR(m)|2
+∞∑
n=0
|hIIR(m)|2(4.87)
La scelta del filtro hFIR(m) che minimizza il rapporto (4.87) e quella che sceglie
il filtro FIR come troncamento del filtro IIR:
hFIR(m) = hIIR(m) m ∈ {0, . . . ,M − 1} (4.88)
Con tale scelta, il rapporto (4.87) diventa pari a
E[|e(n)|2]
E[|yIIR(n)|2]=
+∞∑
n=M
|hIIR(m)|2
+∞∑
n=0
|hIIR(m)|2=
ηMη
(4.89)
dove η denota l’energia della risposta impulsiva hIIR(n) da approssimare mentre ηMdenota l’energia della risposta impulsiva a partire dall’istante M . In altri termini,
la qualita dell’approssimazione migliore ottenuta troncando la risposta di durata
infinita e proporzionale alla frazione di energia intercettata mediante il troncamento.
Potrebbe sembrare paradossale che si valuti la qualita di approssimare un filtro
sbiancante con risposta impulsiva di durata infinita con un filtro FIR assumendo
che il segnale di ingresso sia bianco. Si e fatto cio per semplificare la derivazione
della scelta ottima ed ottenere in forma chiusa la dipendenza, espressa nella (4.89),
della qualita ottenuta dall’ordine M del filtro FIR approssimante considerato.
Quando il segnale non e bianco, la derivazione del filtro ottimo si complica dal
punto di vista matematico (il filtro approssimante andra confrontato con il filtro
da approssimare nel dominio della frequenza e la differenza andra pesata tenendo
conto della distribuzione nel dominio della frequenza della potenza del segnale di
ingresso x(n) - se x(n) non e bianco la sua potenza e concentrata in alcune zone
della frequenza e diradata in altre ed e in quelle zone in cui la potenza del segnale
di ingresso e concentrata che l’approssimazione tra le risposte in frequenza e piu
rilevante). Tuttavia, la derivazione del filtro FIR ottimo la abbiamo gia ottenuta
nei paragrafi precedenti; qui ci interessa la questione qualitativa di legare l’ordine
scelto per il filtro FIR alle potenzialita che possono essere conseguite. E chiaro
che il massimo e conseguito con il limite asintotico ma il calcolo in questa sezione
e volto a comprendere con quale legge possiamo attendere la convergenza delle
c©Prof. Davide Mattera. 08/12/2011
80 Predizione lineare
prestazioni del filtro FIR a quelle del filtro ideale di lunghezza infinita. Per questi
scopi l’assunzione di segnale x(n) bianco e adeguata.
4.10 La formula di Burg
Dal punto di vista della realizzazione del filtro predittore la formula di Burg e molto
utile poiche essa lega la quanita ∆M−1 al numeratore della (4.52) ad un parametro
statistico ottenuto elaborando gli errori di predizione forward e backward. Piu
specificamente, si puo dimostrare che
E[eb,M−1(n− 1)e∗f,M−1(n)] = ∆M−1 (4.90)
Prima della dimostrazione, si tenga conto che la (4.90) e la (4.52) implicano che si
possono usare le uscite ef,M−1(n) e eb,M−1(n) dello stadio precedente, per stimare,
assumendo l’ipotesi ergodica, il coefficiente riflessione kM rendendo in tal modo
possibile realizzare lo stadio successivo. Passiamo a dimostare la (4.90):
E[eb,M−1(n− 1)e∗f,M−1(n)] = E[(bHM−1uM (n− 1))(aHM−1uM (n))∗]
= E[(bHM−1uM (n− 1))(uHM (n)aM−1)]
= bHM−1E[uM (n− 1)uHM (n)]aM−1
=
E[uM (n)uH
M (n− 1)]bM−1
H
aM−1 (4.91)
Cominciamo a rimaneggiare la matrice E[uM (n)uHM (n− 1)].
E[uM (n)uHM (n− 1)] = E
(
u(n)
uM−1(n− 1)
)(uM−1(n− 1)
u(n−M)
)H
=
[E[u(n)uH
M−1(n− 1)] E[u(n)u∗(n−M)]
E[uM−1(n− 1)uHM−1(n− 1)] E[uM−1(n− 1)u∗(n−M)]
]
=
[rHM−1 ru(M)
RM−1 rBM−1
](4.92)
Infatti, tenendo conto delle definizioni di uM )(n) e di rM , si puo scrivere il
termine in alto a sinistra del penultimo passaggio nei passaggi appena concluso nel
modo seguente
E[u(n)uHM−1(n− 1)] = E[u(n)[u∗(n− 1) . . . u∗(n− 1− (M − 2))]]
= E[u(n)[u∗(n− 1) . . . u∗(n−M + 1)]]
= [ru(1) . . . ru(M − 1)]△= rHM−1 (4.93)
c©Prof. Davide Mattera. 08/12/2011
4.10 La formula di Burg 81
ed il termine in basso a destra come segue
E[uM−1(n− 1)u∗(n−M)] = E[[u(n− 1) . . . u(n− 1− (M − 2)]Tu∗(n−M)]
= E[[u(n− 1) . . . u(n−M + 1)]Tu∗(n−M)]
= [ru(M − 1) . . . ru(1)]T△= rB
M−1 (4.94)
Infine la matrice in basso a sinistra e pari a E[uM−1(n − 1)uHM−1(n − 1)] =
E[uM−1(n)uHM−1(n)] = RM−1 dove si e tenuto conto della stazionarieta del segnale
u(n).
Usando la (4.92) e la (4.34) si puo riscrivere la quantita E[uM (n)uHM (n−1)]bM−1
come segue:
E[uM (n)uHM (n− 1)]bM−1 =
[rHM−1 ru(M)
RM−1 rBM−1
][−bb,M−1
1
]
=
[−rHM−1bb,M−1 + ru(M)
−RM−1bb,M−1 + rBM−1
]
=
[rM−1
r∗u(M)
]H [−bb,M−1
1
]
0
=
[rHMbM−1
0
]
=
[(rBH
M aM−1)∗
0
]
=
[∆∗
M−1
0
](4.95)
Nel quart’ultimo passaggio si e tenuto conto della (4.30) e nell’ultimo passag-
gio della (4.52), dopo aver notato che l’uguaglianza −rHM−1bb,M−1 + ru(M) =
(−rBHM−1bf,M−1 + r∗u(M))∗.
Usando la (4.95) nella (4.91) si ottiene infine:
E[eb,M−1(n− 1)e∗f,M−1(n)] =
[∆∗
M−1
0
]HaM−1
=
[∆∗
M−1
0
]H [1
bf,M−1
]= ∆M−1 (4.96)
c©Prof. Davide Mattera. 08/12/2011
82 Predizione lineare
4.11 Il filtro predittore come strumento per realizzare il filtro di Wiener
Si consideri lo schema di relazione ingresso-uscita mostrato in figura (4.6) dove il
segnale di ingresso viene sottoposto al filtro predittore e successivamente il segnale
di uscita viene ottenuto come combinazione lineare con coefficienti hi dei vari segnali
di errore backward ai diversi ordini:
y(n) = h∗0eb,0(n) + h∗
1eb,1(n) + . . . + h∗M−1eb,M−1(n) = hHeb(n) (4.97)
dove si e denotato con h△= [h0 h1 . . . hM−1]T e con eb(n)
△= [eb,0(n) eb,1(n) . . . eb,M−1(n)]T .
Fissato il criterio E[|y(n) − d(n)|2], sulla base di quanto studiato nel capitolo
dedicato al filtro di Wiener in relazione alla combinazione lineare ottima del vettore
x(n) in modo da approssimare il segnale desiderato d(n), si ottiene che il vettore
ottimo h soddisfa la relazione:
E[eb(n)eHb (n)]h = E[eb(n)d∗(n)] (4.98)
Notiamo che la matrice E[eb(n)eHb (n)] e diagonale. Fissati due indici m1 e m2 con
m1 > m2, si consideri l’elemento (m1,m2) della matrice:
E[eb,m1(n)e∗b,m2
(n)] = E
[eb,m1
(n)
(m2∑
k=0
b∗m2,kx(n− k)
)∗]=
m2∑
k=0
b∗m2,kE[eb,m1(n)x∗(n−k)]
(4.99)
dove si e tenuto conto che il filtro predittore ora lavora sul segnale x(n). Il filtro
predittore di ordine m1 fornisce una stima di x(n −m1) ottima secondo il criterio
MMSE sulla base dei valori precedenti x(n), x(n− 1), x(n− 2), . . . , x(n− (m1− 1)).
Pertanto, in base al principio di ortogonalita, l’errore che ne consegue e ortogonale
ai dati su cui si basa l’elaborazione:
E[eb,m1(n)x∗(n− k)] = 0 k ∈ {0, 1, . . . ,m1 − 1} (4.100)
Siccome m1 > m2, allora dalla relazione precedente segue che
E[eb,m1(n)x∗(n− k)] = 0 k ∈ {0, 1, . . . ,m2} (4.101)
Da (4.101) e da (4.99) segue che E[eb,m1(n)e∗b,m2
(n)] = 0 quando m1 > m2. Si
consideri inoltre la quantita E[eb,m1(n)e∗b,m2
(n)] quando m1 < m2; tenendo conto
che E[eb,m1(n)e∗b,m2
(n)] =(E[eb,m2
(n)e∗b,m1(n)]
)∗e che E[eb,m2
(n)e∗b,m1(n)] = 0
(siccome m2 > m1), allora E[eb,m1(n)e∗b,m2
(n)] anche quando m1 < m2. Pertanto
la matrice E[eb(n)eHb (n)] e diagonale e gli elementi sulla diagonale E[|eb,i(n)|2] = Pi
per i ∈ {0, 1, . . . ,M − 1}.La soluzione del sistema (4.98) e molto semplificata dalla struttura diagonale
della matrice. La soluzione e data dalla seguente relazione:
hi =E[eb,i(n)d∗(n)]
Pi(4.102)
c©Prof. Davide Mattera. 08/12/2011
4.11 Il filtro predittore come strumento per realizzare il filtro di Wiener 83
Pertanto basta stimare il parametro statistico al numeratore della (4.102) per
ottenere facilmente i coefficienti hi.
Vogliamo verificare che la struttura cosı ottenuta e equivalente al filtro di Wiener
e pertanto l’approccio puo essere considerato un metodo semplice ed efficace di
costruire il filtro di Wiener. Si noti che
eb,i(n) =
i∑
k=0
bi,kx(n− k) i ∈ {0, 1, . . . ,M − 1} (4.103)
che puo essere scritta in forma equivalente:
eb(n) = Lx(n) (4.104)
Si noti che la prima componente di eb(n) e cioe eb,0(n) dipende solo da x(n), la
seconda componente dipende solo da x(n) e da x(n − 1), eccetera. Pertanto la
matrice L e diagonale inferiore; inoltre, sulla diagonale ci sono i coefficienti bi,i che
e pari ad uno per ogni i. Pertanto, la matrice e anche invertibile perche e una
matrice quadrata con determinante pari ad uno (il prodotto degli elementi sulla
diagonale). Siccome L e invertibile, vale la seguente relazione
x(n) = L−1eb(n) (4.105)
Dimostriamo ora l’equivalenza della struttura considerata con il filtro di Wiener.
c©Prof. Davide Mattera. 08/12/2011
84 Predizione lineare
Si consideri l’uscita della struttura considerata:
y(n) = hHeb(n)
=
[E[eb(n)eH
b (n)]]−1
E[eb(n)d∗(n)]
H
eb(n)
=
[E[ (
Lx(n)) (
Lx(n))H]
]−1
E[ (
Lx(n))d∗(n)
]
H
( Lx(n)
)
=
[E[ Lx(n)xH(n) LH
]]−1
LE[x(n)d∗(n)
]
H
Lx(n)
=
[
LE[x(n)xH(n)
] LH
]−1
Lp
H
Lx(n)
=
[ LR LH
]−1
Lp
H
Lx(n)
=
[ L−HR−1 L−1
] Lp
H
Lx(n)
=
L−HR−1
[ L−1 L
]p
H
Lx(n)
=
L−HR−1p
H
Lx(n)
=
L−Hb
H
Lx(n)
=[bH L−1
] Lx(n)
= bH[ L−1 L
]x(n)
= bHx(n) (4.106)
Pertanto, l’uscita della struttura (4.6) coincide con l’uscita bHx(n) del filtro di
Wiener. La struttura e piu semplice da progettare in quanto non richiede l’inversione
di una matrice.
c©Prof. Davide Mattera. 08/12/2011
4.12 Il cancellatore d’eco come applicazione del filtro di Wiener 85
✲
✲
✲ z−1
+
+
✒
❘✲
k∗1
k1
✲
✲ z−1
+
+✲ ✲
✲
✒
❘
x(n)
ef,2(n)ef,1(n)
eb,2(n)eb,1(n)
k∗2
k2
. . .
. . .
y(n)
❄×✲h∗
0
❄ ✲
❄×✲h∗
1
❄+ ✲
❄×✲h∗
2
❄+ ✲
Figure 4.6 Schema realizzativo del filtro di Wiener attraverso l’uso del filtro
predittore. I puntini indicano che l’ordine puo essere incrementato e l’uscita e presa
in corrispondenza della somma di tutti gli errori di predizioni backward considerati.
4.12 Il cancellatore d’eco come applicazione del filtro di Wiener
Si consideri il caso in cui il segnale desiderato u(n) non e disponibile direttamente
in base al procedimento di misura; in particolare, si assume che sia disponibile un
segnale m2(n) = u(n) + h2(n) ⊗ i(n) dove h2(n) denota la risposta impulsiva che
modella la presenza nel segnale misurato di un segnale interferente i(n) indipendente
da - o quanto meno incoerente con - il segnale utile u(n). Si assume inoltre che sia
disponibile il segnale m1 = h1(n) ⊗ i(n) che misura il solo segnale interferente
attraverso un ulteriore filtro h1(n).
A partire dai due segnali disponibili m1(n) ed m2(n) si cerca un filtro h(n) al
cui ingresso operi il segnale m1(n) e che punti a stimare il segnale m2(n). Si tratta
quindi del classico problema del filtro di Wiener che cerca di minimizzare la potenza
dell’errore e(n)
e(n)△= m2(n)− h(n)⊗m1(n) (4.107)
Sulla base delle assunzioni fatte il segnale e(n) si puo riscrivere come
e(n) = [h2(n)⊗i(n)+u(n)]−h(n)⊗[h1(n)⊗i(n)] = u(n)+[h2(n)−h(n)⊗h1(n)]⊗i(n)
(4.108)
Si noti che esiste un filtro che annulla il secondo addendo al secondo membro della
(4.108); esso e tale che h2(n)− h(n)⊗ h1(n) ≡ 0 o equivalentemente - definite con
c©Prof. Davide Mattera. 08/12/2011
86 Predizione lineare
la solita notazione le loro trasformate zeta -
H(z) = Hid(z)△=
H2(z)
H1(z)(4.109)
Si noti che, quando H1(z) presenta degli zeri, Hid(z) presentera dei poli e quindi
la risposta impulsiva hid(n) avra una durata infinita ed esso potra essere solo
approssimato da un filtro FIR, anche se l’approssimazione sara tanto migliore
quanto maggiore sara l’ordine del filtro FIR. Quanto piu vicino sara al cerchio
unitario il polo di H1(z) tanto maggiore sara l’ordine richiesto al filtro FIR per
ottenere una certa qualita dell’approssimazione al filtro ideale hid(n).
Se si cerca il filtro H(z) in modo da soddisfare la condizione e(n) ≡ u(n), si ottiene
che la soluzione e H(z) = Hid(z). Se si cerca il filtro H(z) in modo da minimizzare
la potenza di e(n), si trova la stessa soluzione: H(z) = Hid(z). Infatti, l’ipotesi di
incoerenza di u(n) ed i(n) implica che la potenza di e(n) si scrive come somma
della potenza del primo e del secondo addendo. La potenza del primo addendo non
dipende H(z). Pertanto, minimizzare la potenza di e(n) equivale a minimizzare la
potenza del secondo addendo; la potenza del secondo addendo e poi minimizzata
annullando proprio il secondo addendo della (4.108) mediante la condizione (4.109).
Pertanto, se si sta cercando di ottenere il segnale u(n), basta cercare di minimiz-
zare la potenza di e(n) e questo equivale a cercare il filtro di Wiener che opera sul
segnale di ingresso m1(n) e assume come segnale desiderato m2(n). In tal modo
si otterra anche di soddisfare la condizione e(n) ≡ u(n) e quindi il segnale di er-
rore e(n) rappresentera una stima del segnale desiderato u(n). Tale condizione e
approssimata sempre meglio quando l’ordine del filtro si incrementa e copre una
frazione sempre maggiore della energia della risposta impulsiva di hid(n).
Si noti che in questo caso il filtro di Wiener lo si introduce non perche si sia
interessati al segnale in uscita dal filtro di Wiener ma perche l’errore commesso
dal filtro di Wiener nell’approssimare m2(n) con una versione filtrata di m1(n)
rappresenta proprio una approssimazione del segnale desiderato u(n).
Si noti infine che abbiamo omesso di considerare la potenza del rumore di fondo -
sempre inevitabilmente presente - sui due segnali di misura. Assumendo incoerenti
i due segnali di disturbo di fondo, la potenza del rumore su m2(n) e come se
fosse incorporato in u(n) ed andra poi affrontato separatamente in modo da poter
completare l’elaborazione. L’elaborazione in questione e solo volta ad eliminare
l’effetto del segnale interferente ed il segnale di rumore di fondo su m2(n) non
rappresenta un ostacolo al raggiungimento di questo obiettivo. Il rumore di fondo
su m1(n) finisce invece per ostacolare il meccanismo di stima del filtro di Wiener
(si e studiato gia, trattando il filtro di Wiener in presenza di misure rumorose,
come sia dannoso la presenza di rumore sull’ingresso). Pertanto, per semplificare la
realizzazione del cancellatore d’eco e migliorare la qualita del risultato ottenuto e
cruciale il modo in cui il segnale m1(n) stima l’interferente i(n); si dovra cercare di
ottenere un segnale poco distorto (quindi zeri lontani dal cerchio di raggio unitario
che implicano una possibilita di approssimare hid(n) con un filtro FIR piu corto a
parita di qualita dell’approssimazione) e caratterizzato da elevati valori di rapporto
c©Prof. Davide Mattera. 08/12/2011
4.12 Il cancellatore d’eco come applicazione del filtro di Wiener 87
segnale/rumore di fondo.
c©Prof. Davide Mattera. 08/12/2011
88 Predizione lineare
c©Prof. Davide Mattera. 08/12/2011
5 Realizzazione di un filtro FIR
In questa lezione si descrive come e possibile realizzare concretamente un sistema
che effettui una elaborazione di un segnale numerico che sia lineare ed invariante
nel tempo (LTI) con risposta impulsiva di durata finita (filtro FIR).
Esistono diverse strutture per implementare un filtro lineare FIR. Esse dif-
feriscono per i diversi tipi di calcoli da eseguirsi al fine di determinare l’uscita a
partire dall’ingresso. Le strutture quindi rappresentano algoritmi diversi (dal punto
di vista del tipo di calcoli che essi prevedono) ma equivalenti (dal punto di vista
del comportamento ingresso/uscita). Si pensi quindi al legame tra la definizione
di sistema in termini di ingresso-uscita e quella in termini di ingresso-stato-uscita;
nel primo caso si tratta di strutture realizzative alternative dello stesso sistema
astratto, nel secondo caso si tratta di sistemi diversi da accorpare all’interno di una
classe di equivalenza.
Esse possono differire inoltre in termini di frequenza di campionamento a cui
opera l’elaborazione a parita di hardware disponibile (inteso sia come spazio di
memoria richiesto sia come numero di operazioni in virgola fissa o virgola mobile
(floating point operations, flops) al secondo realizzabile da ciascun elaboratore, sia
come ricchezza dei calcoli che ciascun elaboratore puo realizzare, sia come numero
di elaboratori disponibili). La frequenza di campionamento che esse consentono
di raggiungere rappresenta il piu importante parametro di qualita della struttura
realizzata poiche la stabilita e garantita ovviamente dalla natura FIR del filtro da
realizzare, cioe dal fatto che la struttura non presenti poli. Tuttavia, anche il ritardo
di implementazione costituisce un parametro di qualita la cui importanza dipende
nettamente dal contesto applicativo: esso rappresenta il ritardo di tempo analogico
tra il momento in cui si inserisce il segnale di ingresso e quello in cui si osserva il
corrispondente segnale di uscita.
Per i filtri FIR la trasformata zeta H(z) della risposta impulsiva del filtro vale
H(z) =
M−1∑
k=0
bkz−k (5.1)
e dunque la relazione ingresso/uscita vale
y(n) =M−1∑
k=0
bkx(n + r − k) (5.2)
c©Prof. Davide Mattera. 08/12/2011
90 Realizzazione di un filtro FIR
✲+ ✲
❄
z−1
❄
✲+
✻
z−1
❄
✲+
✻
✻
. . .. . .
❄
z−1
❄
✲+
✻
z−1
✻
x(n) y(n)b0
b1
b2
bM−2
bM−1
Figure 5.1 Prima forma diretta
dove x(n) ed y(n) rappresentano i segnali di ingresso e di uscita del sistema LTI.
Nel seguito si illustrano le principali strutture di realizzazione. Si noti il cambio
di notazione rispetto al paragrafo precedente da M ad M − 1.
5.1 Realizzazione in forma diretta
Tale struttura deriva direttamente dalla (5.2). Esistono due diverse varianti ripor-
tate nelle figure 5.1 e 5.2.
Le due strutture sono equivalenti se esse sono realizzate mediante una struttura
c©Prof. Davide Mattera. 08/12/2011
5.1 Realizzazione in forma diretta 91
✲✲
✻+
z−1
✻
✲+
✻
z−1
✲
✻
+
✻
. . . . . .
z−1
✻
+
✻
✲
✻
z−1
✲+
✻
b0
b1
b2
bM−2
bM−1
x(n) y(n)
Figure 5.2 Seconda forma diretta
c©Prof. Davide Mattera. 08/12/2011
92 Realizzazione di un filtro FIR
a singolo processore. In tal caso infatti sono richieste M − 1 locazioni di memoria,
M − 1 addizionatori ed M moltiplicatori; pertanto vanno realizzati 2M − 1 flops
in ciascuna unita di tempo discreto. Pertanto, detto τ il tempo necessario a
realizzare un singolo flop (tipicamente la qualita di un processore viene indicata
con fτ△= 1/τ , cioe con il numero di flops che il processore puo realizzare in un
secondo), e necessario che ciascuna unita di tempo discreto valga 1/fc ≥ (2M −1)τ
da cui fc ≤ fτ/(2M − 1). Esiste pertanto una limitazione superiore alla frequenza
di campionamento a cui l’elaboratore che diviene sempre piu restrittiva al crescere
di M .
Quando si consideri una realizzazione in cui si disponga di M processori in
parallelo, allora appare una importante differenza tra le due strutture. Infatti la
prima struttura richiede un tempo pari a τ per effettuare in parallelo tutte le
moltiplicazioni; inoltre dopo un tempo pari a 2τ solo la prima addizione e stata
realizzata; dopo un tempo pari a 3τ solo le prime due addizioni sono state realizzate.
Infine dopo un tempo pari ad Mτ l’uscita risulta ottenuta e tutte le altre variabili
di stato hanno assunto il valore corretto. Pertanto, puo essere inviato l’impulso che
fa commutare tutti gli elementi di ritardo, all’arrivo dell’impulso essi presentano
come uscita il valore al loro ingresso. I vari impulsi vanno sincronizzati in modo da
essere leggermente sfalsati in modo che il primo registro a commutare sia quello piu
a destra nella struttura. Risulta pertanto che la seguente limitazione risulta valida
fc ≤ fτ/M .
In realta la prima forma diretta potrebbe essere migliorata usando addizionatori
binari da utilizzarsi in una struttura gerarchica che elabori a coppie tutti gli addendi
da sommare. In tal caso, il numero di stati successivi e circa pari a 1+log2(M) ed il
tempo di elaborazione diventa pari a τ(1+log2(M)): di conseguenza, la limitazione
precedente diventa meno stringente fc ≤ fτ/(1 + log2(M)).
Con riferimento alla seconda struttura in figura 5.2, ancora dopo un intervallo pari
a τ tutte le moltiplicazioni sono realizzate in parallelo; tuttavia, dopo un tempo pari
a 2τ tutte le addizioni sono state realizzate, l’uscita e gia disponibile, tutte le altre
variabili di stato sono state correttamente calcolate. Pertanto, e possibile inviare
l’impulso che commuta alla successiva unita di tempo discreto. La limitazione
risulta pertanto: fc ≤ fτ/2; al crescere di M , il vantaggio della seconda struttura
aumenta. Non appaiono altre differenze in termini di altri parametri di qualita della
realizzazione. Si noti che a ciascun processore e richiesta solo una moltiplicazione
ed una addizione (tranne che ad uno di essi) per ciascuna unita di tempo discreto,
pertanto e anche possibile una implementazione che faccia uso di M moltiplicatori
ed M − 1 addizionatori.
Un importante parametro di realizzazione e anche il ritardo di implementazione.
In effetti, idealmente si vorrebbe che nello stesso istante di tempo i campioni di
ingresso e di uscita all’istante discreto n siano disponibili. Tuttavia, non puo non
esistere un ritardo tra il momento in cui inizia l’elaborazione e quello in cui e
disponibile l’uscita corrispondente. Nel caso considerato tale ritardo vale (2M−1)τ
per la struttura a singolo processore mentre vale Mτ oppure 2τ per ciascuna
delle due strutture in presenza di implementazione parallela. Si noti che quando
c©Prof. Davide Mattera. 08/12/2011
5.2 Struttura a cascata 93
il ritardo di implementazione e costante per ogni unita di tempo discreto, il vincolo
di tempo reale impone che esso sia inferiore alla durata 1/fc di ciascuna unita di
tempo discreto; tale condizione e stata appena imposta per ottenere il vincolo sulla
frequenza di campionamento. In generale pero tali concetti sono distinti; si individua
il ritardo tra l’istante in cui il primo ingresso viene immesso in ingresso al filtro e
quello in cui la prima uscita viene fornita in uscita dalla struttura; tale ritardo,
T∆, rappresenta il ritardo di implementazione; esso rappresenta una traslazione
temporale tra l’asse temporale analogico a cui si riferisce per campionamento il
segnale di ingresso e quello temporale analogico a cui si riferisce per campionamento
il segnale di uscita. In effetti, tali due assi temporali non sono introdotti ma
si continua a considerare un unico asse temporale siccome la traslazione T∆ e
ridotta; tuttavia, in fase di realizzazione della struttura e importante considerare il
parametro ottenuto per T∆.
Viceversa, il tempo che trascorre tra l’istante in cui viene fornito l’n-esimo
campione di uscita e l’istante in cui viene fornito l’(n+ 1)-esimo campione di uscita
viene denotato con Tcc; in generale e possibile che T∆ ≥ Tcc. In effetti il vincolo di
tempo reale impone che Tcc ≤ 1/fc e quasi sempre Tcc ≃ 1/fc. Pertanto specificare
la frequenza di campionamento specifica il valore di Tcc ma il valore di T∆ ≥ 1/fcrappresenta un parametro differente che specifica un diverso requisito di qualita
della struttura e va in generale caratterizzato caso per caso. Nel caso specifico
T∆ ≃ 1/fc. Per apprezzare la differenza tra i due parametri, si consideri l’analogia
tra i due parametri di qualita nella fornitura di un servizio di telecomunicazione:
ritardo di transito di un flusso che attraversa la rete e suo ritmo binario.
5.2 Struttura a cascata
In tal caso si usa la seguente proprieta della H(z):
H(z) = G
K∏
k=1
Hk(z) (5.3)
dove K e la parte intera di (M − 1)/2
Hk(z) = (1 − zk,1z−1)(1 − zk,2z
−1) = bk,0 + bk,1z−1 + bk,2z
−2 (5.4)
dove l’insieme degli zeri dei vari elementi della cascata deve coincidere con l’insieme
degli zeri della struttura da realizzare. Pertanto il filtro complessivo e realizzato
come cascata di K stadi dove ciascuno stadio puo essere realizzato per esempio
mediante una struttura in forma diretta. E possibile fare in modo che bk,0 sia
pari ad uno eccetto che in un solo stadio (per esempio, il primo o l’ultimo)
per controllare il guadagno di ampiezza G complessivo del filtro. In tal modo
ho circa due moltiplicazioni per stadio e circa M/2 stadi per cui la complessita
complessiva non e significativamente mutata e quindi la limitazione alla frequenza
di campionamento in una struttura a singolo processore non si e significativamente
c©Prof. Davide Mattera. 08/12/2011
94 Realizzazione di un filtro FIR
modificata.
Quando si dispone di soli addizionatori e moltiplicatori reali e si sta realizzando
un filtro a coefficienti reali e opportuno distribuire in modo oculato gli zeri tra
i diversi elementi della struttura in modo che ciascun elemento della cascata sia
un filtro a coefficienti reali. A tal fine, siccome il filtro e a coefficienti reali, sia zkche z∗k risultano zeri della struttura complessiva perche sono zeri di un polinonio
a coefficienti reali. Si noti che se zk e reale, questo non significa che lo zero reale
ha molteplicita doppia; tuttavia, in tal caso, il generico stadio della cascata ha
coefficienti reali anche se non si usa una particolare accortezza nella scelta dei due
zeri ad esso assegnati purche entrambi reali; inoltre, anche un singolo zero reale puo
essere assegnato ad un singolo stadio - senza ledere al fatto che esso sia a coefficienti
reali - e cio e necessario quando il numero complessivo di zeri e dispari. Se invece zke a valori complessi, allora assegnando zk e z∗k allo stesso elemento della struttura,
la trasformata zeta dello stadio a cui essi sono assegnati vale:
(1− zkz−1)(1− z∗kz
−1) = 1− (zk + z∗k)z−1 + |zk|2z−2 = 1− 2Re(zk)z−1 + |zk|2z−2
(5.5)
e dunque i coefficienti della sua risposta impulsiva sono a valori reali.
Lo svantaggio fondamentale rispetto alla forma diretta e nel ritardo di realiz-
zazione. Infatti, nella cascata di diverse strutture, il ritardo di implementazione
della struttura complessiva e pari alla somma dei ritardi di implementazione dei
vari elementi della cascata mentre la frequenza di campionamento e imposta da
quello che presenta il vincolo piu stringente. Nel caso specifico qui considerato, cia-
scun elemento della cascata presenta un ritardo di implementazione pari a 3τ se
realizzato a singolo processore e 2τ se realizzato con parallelismo e lo stesso vin-
colo di tempo reale su tutti gli elementi della cascata. Pertanto, anche la cascata
presenta lo stesso vincolo di tempo reale a parita di soluzione adottata. Tuttavia,
il ritardo di implementazione della cascata diventa significativamente piu elevato
se entrambe le soluzioni utilizzano parallelismo (infatti la struttura a cascata non
consente di trarre vantaggio da una struttura di calcolo in cui si possono realizzare
in parallelo le operazioni) mentre e solo aumentato del 50 % in una elaborazione
a singolo processore; tale incremento di ritardo puo essere anche ulteriormente an-
nullato programmando in maniera oculata il software durante il transitorio iniziale,
eliminando quelle operazioni che sono rese inutili dal fatto che i registri di memoria
sono ancora nulli negli ultimi elementi della cascata. Il dettaglio della procedura
viene lasciato per esercizio.
Il vantaggio della soluzione a cascata rispetto a quella diretta (ed alle alter-
native introdotte in seguito) risulta nel miglioramento della sensibilita agli effetti
dell’arrotondamento dei coefficienti del filtro. Tale aspetto merita un esame det-
tagliato che quest’anno non ha trovato posto durante il corso; tale esame mostr-
erebbe che gli arrotondamenti possono spostare gli zeri del filtro, cosı come i poli di
una struttura ricorsiva e che la struttura in cascata riduce l’effetto di spostamento
degli zeri per effetto di un arrotondamento dei coefficienti.
c©Prof. Davide Mattera. 08/12/2011
5.3 Struttura con campionamento in frequenza 95
5.3 Struttura con campionamento in frequenza
In tale struttura appaiono come coefficienti non i campioni bn della risposta
impulsiva ma quelli della sua DFT
B(k) =
M−1∑
n=0
bne−j2πkn
M (5.6)
ovvero i campioni della trasformata di Fourier del filtro da realizzare, intercalati di
1/N nel dominio della frequenza numerica. Di conseguenza, i coefficienti bn possono
essere scritti in termini dei coefficienti B(k) attraverso l’espressione della IDFT:
bn =1
M
M−1∑
k=0
B(k)ej2π
kn
M (5.7)
La trasformata zeta del sistema FIR da realizzare si puo scrivere come segue:
B(z)△=
M−1∑
ℓ=0
bℓz−ℓ (5.8)
c©Prof. Davide Mattera. 08/12/2011
96 Realizzazione di un filtro FIR
Usando la (5.7) nella (5.8) segue che
B(z) =
M−1∑
ℓ=0
[1
M
M−1∑
k=0
B(k)ej2πkℓM
]z−ℓ
=1
M
M−1∑
k=0
B(k)
M−1∑
ℓ=0
ej2πkℓM z−ℓ
=1
M
M−1∑
k=0
B(k)
M−1∑
ℓ=0
(ej2π
kM z−1
)ℓ
=1
M
M−1∑
k=0
B(k)1−
(ej2π
kM z−1
)M
1− ej2πkM z−1
=1
M
M−1∑
k=0
B(k)1− ej2πkz−M
1− ej2πkM z−1
=1
M
M−1∑
k=0
B(k)1− z−M
1− ej2πkM z−1
=1− z−M
M
M−1∑
k=0
B(k)
1− ej2πkM z−1
(5.9)
L’espressione finale trovata per B(z) mostra che essa puo essere vista come
cascata di due termini, di cui il primo e un filtro FIR mentre il secondo e costituito
dal parallelo di M strutture. Ciascuna struttura e costituita da un filtro IIR avente
la seguente risposta in frequenza
1
1− ej2πkM z−1
(5.10)
e che quindi presenta il polo pari a ej2πkM . Siccome la risposta nel dominio zeta e
pari al rapporto Y (z)X(z) dove si e denotato con X(z) l’ingresso del sistema (5.10) ed
Y (z) la sua uscita:
Y (z)
X(z)=
1
1− ej2πkM z−1
(5.11)
che puo essere equivalentemente scritta nel modo seguente:
Y (z) = X(z) + ej2πkM z−1Y (z) (5.12)
La (5.12) conduce ovviamente allo schema realizzativo in figura 5.3. Utilizzando
c©Prof. Davide Mattera. 08/12/2011
5.3 Struttura con campionamento in frequenza 97
✲ + ✲
❄
✻
✛ z−1 ✛
ej2πkM
x(n) y(n)
Figure 5.3 Schema a blocchi corrispondente alla (5.12).
tale schema realizzativo per il generico elemento del parallelo, la struttura definita
dalla (5.9) diventa quella riportata in figura 5.4. Si noti che ciascun elemento del
parallelo e costituito da un filtro ricorsivo del primo ordine, a valori complessi,
pesato da un campione della risposta in frequenza. Si noti anche che ciascun
elemento del parallelo e instabile perche presenta un polo sul cerchio di raggio
unitario ma che la struttura complessiva e stabile poiche il primo elemento della
cascata ha M zeri e ogni zero cancella il polo in ciascun elemento del parallelo.
Infatti i diversi poli ej2πkM per k ∈ {0, . . . ,M − 1} di ciascun elemento del parallelo
rappresentano1 proprio gli M zeri della trasformata zeta del primo stadio, 1−z−M
M .
Il vantaggio fondamentale della struttura proposta e che essa non dipende dai
coefficienti della risposta impulsiva bn ma dipende invece dai valori della sua DFT,
B(k). Quando il filtro da realizzare e specificato nel dominio della frequenza, come
risultato di una qualsiasi procedura di progetto, si puo realizzarlo mediante la
struttura considerata usando come coefficienti B(k) i campioni della risposta in
frequenza da realizzare con passo 1/M nell’intervallo [0, 1) delle frequenze numeriche
F la trasformata di Fourier: F = k/M per k ∈ {0, 1, . . . ,M − 1}.Se la risposta in frequenza data rappresenta la trasformata di un filtro FIR di
memoria minore o uguale a M − 1, in tal caso si riesce a realizzare esattamente
la risposta in frequenza desiderata. In caso contrario, si riesce a realizzare una
struttura con una risposta in frequenza che coincide con quella desiderata nei
soli punti di campionamento mentre negli intervalli intermedi le due risposte in
frequenza sono differenti.
E chiaro che aumentando M e quindi aumentando il carico computazionale
della struttura, si infittisce il campionamento (l’intervallo della frequenza [0, 1] e
campionato prendendo M campioni con passo 1/M) e quindi migliora la qualita
dell’approssimazione della risposta desiderata. Pertanto, tale struttura, pur essendo
generale (cioe puo essere usata per realizzare un qualsiasi filtro FIR specificato
1. Si ricordi la formula di De Moivre oppure si noti che ej2πkM elevato alla potenza M -
esima vale proprio uno per ogni k intero, che le quantita sono distinte tra loro per i diversik ∈ {0, 1, . . . ,M − 1} e che il polinomio zM − 1 non ha piu di M zeri.
c©Prof. Davide Mattera. 08/12/2011
98 Realizzazione di un filtro FIR
✲ + ✲
❄
✻
✛ z−1 ✛
ej2πM−1
M
✲ + ✲
❄
✻
✛ z−1 ✛
ej2πkM
✲ + ✲
❄
✻
✛ z−1 ✛ej2π
0M
+❄
✻
✲
−
y(n)
. . .
. . .
B(0)
B(k)
B(M − 1)
✲+✲
z−M✲
✻1M
x(n) ···
···
Figure 5.4 Schema a blocchi corrispondente alla (5.9).
tramite i coefficienti B(k) o tramite i coefficienti bn da cui mediante DFT si otten-
gono i coefficienti della struttura), e particolarmente indicata in corrispondenza di
un particolare problema di progetto: realizzare un filtro FIR che approssimi una
specificata risposta in frequenza. Tale vantaggio viene apprezzato pienamente solo
quando lo si possare confrontare (ed uno studente a questo punto non puo) con la
notevole complessita di altre procedure di progetto che consentono di determinare
i coefficienti bn della risposta impulsiva del filtro FIR che costituisca una approssi-
mazione di ottima qualita alla risposta in frequenza desiderata.
Un ulteriore vantaggio di questa struttura e dato dal fatto che, quando alcuni
campioni della DFT si presentano identicamente nulli (perche la risposta in fre-
quenza desiderata si presenta nulla su un intervallo di frequenza - si pensi al caso
in cui viene assegnata una risposta in frequenza desiderata di tipo passabasso o
passabanda), si ottiene un vantaggio computazionale perche il numero di rami nel
parallelo si riduce proporzionalmente alla frazione di campioni nulli nella DFT.
Siccome si procede a campionare la risposta in frequenza con passo 1/M , invece
di partire dalla frequenza zero proseguendo con passo 1/M ottenendo l’insieme
di frequenze k/M per k ∈ {0, 1, . . . ,M − 1}, si puo procedere al campionamento
partendo dalla frequenza α ∈ [0, 1/M), ottenendo l’insieme di frequenze k/M +α. I
campioni della risposta in frequenza (imposti alla struttura e coincidenti con quelli
c©Prof. Davide Mattera. 08/12/2011
5.3 Struttura con campionamento in frequenza 99
della desiderata) cosı ottenuti sono
Bα(k) =
[M−1∑
n=0
bne−j2πnF
]
|F= k
M+α
=M−1∑
n=0
bne−j2π
(kn
M+ nα
)
=
M−1∑
n=0
(bne−j2πnα) e
−j2πknM
= DFT[bne−j2πnα] (5.13)
dove si e denotato con Bα(k) il campione della risposta in frequenza del filtro
realizzato per F = k/M + α. Dalla (5.13) segue che
bne−j2πnα = IDFT [Bα(k)] =
1
M
M−1∑
k=0
Bα(k)ej2π
kn
M (5.14)
Da (5.14) segue che l’espressione di bn in termini dei parametri Bα(k) e la seguente:
bn =1
M
M−1∑
k=0
Bα(k)ej2π
(kn
M+ nα
)
=1
M
M−1∑
k=0
Bα(k)ej2πn
(k
M+ α
)
(5.15)
c©Prof. Davide Mattera. 08/12/2011
100 Realizzazione di un filtro FIR
Usando la (5.15) nella (5.8) segue che
B(z) =
M−1∑
ℓ=0
[1
M
M−1∑
k=0
Bα(k)ej2πℓ(kM
+α)
]z−ℓ
=1
M
M−1∑
k=0
Bα(k)
M−1∑
ℓ=0
ej2πℓ(kM
+α)z−ℓ
=1
M
M−1∑
k=0
Bα(k)
M−1∑
ℓ=0
(ej2π( k
M+α)z−1
)ℓ
=1
M
M−1∑
k=0
Bα(k)1 −
(ej2π( k
M+α)z−1
)M
1− ej2π( kM
+α)z−1
=1
M
M−1∑
k=0
Bα(k)1 − ej2π(k + αM)z−M
1− ej2π( kM
+α)z−1
=1
M
M−1∑
k=0
Bα(k)1− ej2παMz−M
1− ej2π( kM
+α)z−1
=1− ej2παMz−M
M
M−1∑
k=0
Bα(k)
1− ej2π( kM
+α)z−1(5.16)
Si noti come la relazione (5.16) coincide con la (5.9) quando α = 0. Lo schema
diventa conseguentemente pari a quello riportato in figura 5.5.
Quando la risposta impulsiva e a valori reali, si puo utilizzare la proprieta di
simmetria hermitiana della trasformata di Fourier per dimezzare il numero di
elementi in parallelo, rendendoli tutti filtri ricorsivi a valori reali. Il prezzo da pagare
e nel fatto che ciascun elemento del parallelo diventa del secondo ordine.
Passiamo infine al conteggio della complessita della struttura in figura (5.4).
Consideriamo dapprima il caso di struttura di calcolo a singolo processore: nel
primo stadio, occorre una moltiplicazione ed una sottrazione; in ciascun elemento
del parallelo occorre realizzare due moltiplicazioni ed una addizione e ci sono M
elementi nel parallelo; infine ci sono M−1 addizioni finali (si tratta di una addizione
con M addendi che equivalgono ad M − 1 addizioni con due addendi); infine, c’e’
da notare che alcuni elementi del parallelo potrebbero non essere presenti perche il
coefficiente B(k) corrispondente potrebbe essere nullo, pertanto denotiamo con Me
il numero di elementi non nulli nel parallelo. Complessivamente le operazioni da
svolgere sono 2+3Me+Me−1 = 4Me−2. Pertanto, la soluzione non e competitiva
con quella diretta a meno che Me ≤M/2.
Se si considera il caso di struttura di calcolo con molti processori in parallelo,
occorre attendere un tempo pari a 2τ per avere il risultato in uscita dal primo stadio;
occorre ulteriormente attendere un tempo pari a 2τ per avere l’uscita da tutti gli
elementi del parallelo. Infine occorre attendere un tempo circa pari a log2(M)τ
c©Prof. Davide Mattera. 08/12/2011
5.4 Struttura a traliccio 101
✲ + ✲
❄
✻
✛ z−1 ✛
ej2π(M−1
M+α)
✲ + ✲
❄
✻
✛ z−1 ✛
ej2π(kM
+α)
✲ + ✲
❄
✻
✛ z−1 ✛ej2πα
+❄
✻
✲
−
y(n)
. . .
. . .
Bα(0)
Bα(k)
Bα(M − 1)
✲+✲
z−M
ej2παM
✲
✻1M
x(n) ···
···
Figure 5.5 Schema a blocchi corrispondente alla (5.16).
per ottenere la somma finale del secondo stadio. Il tempo complessivo di attesa
risulta pari a 4 + log2(Me) e quindi la condizione da soddisfare e fc ≤ fτ4+log2(Me)
: Il
confronto e di nuovo negativo se Me ≃M . Pertanto, la struttura del campionamento
in frequenza viene preferita perche Me ≪ M oppure per semplificare il metodo di
progetto del filtro di cui e specificata la risposta in frequenza desiderata.
5.4 Struttura a traliccio
E possibile usare la struttura a traliccio di cui si e discusso ampiamente trattando la
predizione lineare. I vantaggi della struttura a traliccio sono notevoli quando si pensi
a realizzare la predizione lineare o altra applicazione per la quale vale la proprieta
che l’ordine del filtro puo essere aggiornato aggiungendo un ulteriore stadio della
struttura senza modificare gli stadi precedentemente fissati. In generale per la gran
parte delle applicazioni tale proprieta non vale. Inoltre, e molto semplice invertire
un filtro quando esso sia stato realizzato con una struttura a traliccio.
5.5 Struttura basata su DFT
Per comprendere il funzionamento della struttura basata su DFT e necessario
ricordare - ricordare per le parti gia studiate ed apprendere preliminarmente per
le parti non ancora studiate - il legame tra due importanti tipi di convoluzione, la
c©Prof. Davide Mattera. 08/12/2011
102 Realizzazione di un filtro FIR
convoluzione lineare e la convoluzione circolare.
5.5.1 Convoluzione lineare
La convoluzione lineare tra due sequenze x(n) ed y(n) e definita nel modo seguente:
z(n)△= x(n)⊗ y(n) =
+∞∑
m=−∞
x(m)y(n−m) =
+∞∑
m=−∞
x(n−m)y(m) (5.17)
Affinche abbia senso la somma di convoluzione devono essere esclusi alcuni casi che
si limitano ad escludere il caso di due segnali di potenza e alcuni casi particolari2
nel prodotto di convoluzione tra un segnale di energia ed uno di potenza.
Si dimostra che la trasformata di Fourier Z(F ) del segnale z(n), definita nel modo
seguente
Z(F )△=
+∞∑
n=−∞
z(n) exp (−j2πnF ) (5.18)
e pari al prodotto delle trasformate di Fourier dei due segnali x(n) ed y(n).
Infatti
Z(F )△=
+∞∑
n=−∞
z(n) exp (−j2πnF )
=
+∞∑
n=−∞
[+∞∑
m=−∞
x(m)y(n−m)
]exp (−j2πnF )
=+∞∑
m=−∞
x(m)+∞∑
n=−∞
y(n−m) exp (−j2πnF )
=
+∞∑
m=−∞
x(m)
+∞∑
n=−∞
y(n) exp (−j2π(n + m)F )
=
+∞∑
m=−∞
x(m) exp (−j2πmF )
+∞∑
n=−∞
y(n) exp (−j2πnF )
=
{+∞∑
m=−∞
x(m) exp (−j2πmF )
}{+∞∑
n=−∞
y(n) exp (−j2πnF )
}
= X(F )Y (F ) (5.19)
2. Si immagini che uno sia un segnale di potenza e l’altro di energia, in tal caso la sommadi convoluzione (in cui non e presente l’elevazione al quadrato della sequenza infinitesimacome accade nella definizione di potenza) non e garantita di convergere perche il segnaledi energia potrebbe convergere a zero con legge piu lenta - da lineare a quadratica - dellalegge quadratica inversa che garantisce la convergenza della somma di convoluzione.
c©Prof. Davide Mattera. 08/12/2011
5.5 Struttura basata su DFT 103
5.5.2 Convoluzione circolare
Si considerino due sequenze x(n) e y(n) che sono nulle rispettivamente esternamente
all’intervallo [0, Lx − 1]) ed [0, Ly − 1].
Si consideri la convoluzione circolare xc(n) tra x(n) e y(n) definita come la
restrizione all’intervallo [0, N − 1] di z(n):
xc(n) = uN(n)z(n) (5.20)
in cui uN (n) vale uno per n ∈ {0, 1, . . . , N − 1} e zero altrimenti e z(n) e definita
come segue:
z(n)△= xN (n)⊗ y(n) =
[+∞∑
k=−∞
x(n− kN)
]⊗ y(n)
=+∞∑
k=−∞
[x(n− kN)⊗ y(n)] =+∞∑
k=−∞
z(n− kN) (5.21)
dove ⊗ denota la convoluzione lineare e
z(n)△= x(n)⊗ y(n) =
Lx−1∑
m=0
x(m)y(n−m) =
Ly−1∑
m=0
x(n−m)y(m) (5.22)
Si noti che la convoluzione lineare z(n) e nulla esternamente all’intervallo (0, Lz−1)
dove Lz = Lx + Ly − 1.
Il segnale z(n) e un segnale periodico; infatti, la (5.21) mostra che esso e ottenuto
come replicazione di passo N di un suo generatore z(n). Inoltre, la (5.22) mostra
che uno dei generatori di z(n) e proprio la convoluzione lineare tra x(n) ed y(n).
La convoluzione circolare e pertanto definita come la restrizione al primo pe-
riodo (ottenuta formalmente usando il fattore uN(n)) del segnale periodico z(n).
Pertanto, anche xc(n) e un generatore di z(n).
La convoluzione lineare e la convoluzione circolare sono due generatori di uno
stesso segnale periodico. Questo ha due conseguenze importanti:
le due convoluzioni coincidono quando Lz ≤ N : infatti, dato un segnale periodico
di periodo N , un suo generatore, la cui durata sia minore o uguale a N , coincide
necessariamente con la restrizione (del segnale periodico) al primo periodo. In caso
contrario, quando N < Lz, la restrizione al primo periodo xc(n) non coincide
col generatore di lunghezza Lz poiche la restrizione al primo periodo e ottenuta
sommando alcune repliche di tale generatore.
le due convoluzioni, in quanto entrambi generatori di uno stesso segnale periodico,
hanno la stessa risposta in frequenza nei multipli di 1/N . Infatti, per la formula di
Poisson, il coefficiente di Fourier cz(k) del segnale periodico z(n) puo essere valutato
mediante la formula di Poisson usando uno qualsiasi dei due generatori:
cz(k) =1
NZ(F )|F= k
N=
1
NXc(F )|F= k
N(5.23)
c©Prof. Davide Mattera. 08/12/2011
104 Realizzazione di un filtro FIR
dove Z(F ) e Xc(F ) denotano le trasformate di Fourier di z(n) e xc(n) rispettiva-
mente.
Dalla (5.23) e tenendo conto della ben nota (5.19) si ottiene che
W = X ∗Y (5.24)
dove ∗ denota il prodotto componente per componente, W△= DFTN [xc(n)],
X = DFTN [x(n)], Y = DFTN [y(n)] e DFTN [·] denota la DFT su N punti del
segnale x(n):
X△= [X0 X1 . . . XN−1] = DFTN [x(n)] ⇔ Xk =
N−1∑
n=0
x(n) exp
(−j2πkn
N
)
(5.25)
Infatti il vettore X contiene i campioni della risposta in frequenza X(F )|F= kN
ed Y
i campioni della risposta in frequenza Y (F )|F= kN
purche N sia maggiore (o uguale)
sia di Lx sia di Ly. Inoltre, certamente W contiene di campioni della risposta in
frequenza Xc(F )|F= kN
.
Equivalentemente, usando le ben note proprieta della DFTN e della sua inversa,
si puo riscrivere la (5.24) nel modo seguente
xc(n) = IDFTN [X ∗Y] (5.26)
dove IDFTN [X] denota la IDFT su N punti del vettore X△= [X0 X1 . . . XN−1]:
x(n) = IDFTN [X] ⇔ x(n) =1
N
N−1∑
k=0
Xk exp
(j2π
kn
N
)(5.27)
La relazione (5.26) consente di calcolare con minima complessita computazionale
la convoluzione circolare tra due sequenze x(n) ed y(n); inoltre, quando N ≥ Lz e
pertanto le due convoluzioni coincidono, la (5.26) diventa un metodo per calcolare
a minima complessita la convoluzione lineare. Siccome N e un parametro della
convoluzione circolare, si puo sempre sceglie N sufficientemente elevato in modo
che le due convoluzioni coincidono e la (5.26) diventi un metodo per calcolare la
convoluzione lineare.
Una variante piu sofisticata di tale problema e quella in cui siamo interessati
non a calcolare tutta la convoluzione lineare ma solo i suoi valori nell’intervallo
(Ma,Mb) dove Ma > 0 ed Mb < Lz − 1. In tal caso, occorre verificare se
nell’intervallo di interesse c’e coincidenza tra il generatore del segnale periodico (che
e la convoluzione lineare e si estende nell’intervallo [0, Lz − 1]) e la sua restrizione
al primo periodo; occorre prima di tutto imporre che l’instante Mb non sia uscito
dall’intervallo [0, N − 1] in cui si ottiene la restrizione al primo periodo; pertanto
la prima condizione e che Mb ≤ N − 1 ovvero N ≥Mb + 1; inoltre e necessario che
non ci sia sovrapposizione tra diverse repliche nell’intervallo di interesse. Siccome
la prima replica occupa l’intervallo [0, Lz − 1], la sua replica successiva verso
destra occupa l’intervallo [N,N + Lz − 1] e pertanto la condizione precedente
c©Prof. Davide Mattera. 08/12/2011
5.5 Struttura basata su DFT 105
Mb ≤ N − 1 implica che tale replica non incide sull’intervallo desiderato. La replica
analoga verso sinistra occupa l’intervallo [−N,−N + Lz − 1] e pertanto non c’e
interferenza con l’intervallo desiderato purche−N+Lz−1 < Ma o equivalentemente
N > Lz −Ma − 1 o equivalentemente N ≥ Lz −Ma. Pertanto, il periodo N andra
scelto secondo la regola seguente N ≥ max(Mb + 1, Lz −Ma) o equivalentemente
N ≥ max(Mb + 1, Lx + Ly −Ma − 1). Si ritorna al caso generale in cui si desidera
ottenere tutta la risposta di convoluzione quando Ma = 0 e Mb = Lz−1, ritornando
alla regola precedente N ≥ Lz.
Il problema duale si pone quando si vuole realizzare la convoluzione circo-
lare usando la convoluzione lineare in modo da semplificare l’espressione della
DFT dell’uscita. In tal caso la relazione (5.21) imporrebbe di trovare prima la
convoluzione lineare xN (n) ⊗ y(n) e successivamente finestrare tale convoluzione
all’intervallo [0, N−1]. Tuttavia, in vista della successiva finestrazione non e oppor-
tuno calcolare tutta la convoluzione lineare ma solo i valori nell’intervallo [0, N−1].
I valori in tale intervallo non sono modificati se il primo fattore viene modificato
annullando tutti i suoi valori per n ≤ −Ly e per n ≥ N . Se N e maggiore delle
lunghezze Lx ed Ly, occorre in pratica convolvere y(n) con la sequenza x(n) oppor-
tunamente riempita nell’intervallo (−Ly+1, . . . ,−1) dai valori (usualmente indicati
col nome di prefisso ciclico) che essa assume nell’intervallo (N −Ly + 1, . . . , N − 1),
cioe dagli ultimi Ly − 1 valori assunti dal segnale x(n) nell’intervallo (0, N − 1).
5.5.3 Strutture veloci per il calcolo della DFT
L’algoritmo FFT con decimazione nel tempo e l’unico algoritmo veloce per il calcolo
della DFT di cui ci occuperemo. Si consideri la sequenza x(n) con N valori diversi
c©Prof. Davide Mattera. 08/12/2011
106 Realizzazione di un filtro FIR
da zero; la sua DFT si scrive come segue:
X(k) = DFTN [x(n)]
=
N−1∑
n=0
x(n) exp
(−j2πnk
N
)
=
N2−1∑
n=0
x(2n) exp
(−j2π 2nk
N
)+
N2−1∑
n=0
x(2n + 1) exp
(−j2π (2n + 1)k
N
)
=
N2−1∑
n=0
x(2n) exp
(−j2π 2nk
N
)+ exp
(−j2π k
N
) N2−1∑
n=0
x(2n + 1) exp
(−j2π 2nk
N
)
=
N2−1∑
n=0
x(2n) exp
(−j2π nk
N/2
)+ exp
(−j2π k
N
) N2−1∑
n=0
x(2n + 1) exp
(−j2π nk
N/2
)
=
N2−1∑
n=0
x0(n) exp
(−j2π nk
N/2
)+ exp
(−j2π k
N
) N2−1∑
n=0
x1(n) exp
(−j2π nk
N/2
)
= DFT [xo(n)] + exp
(−j2π k
N
)DFT [x1(n)]
= X0(k) + exp
(−j2π k
N
)X1(k) k ∈ {0, 1, . . . , N − 1} (5.28)
dove si e definito x0(n)△= (2n) ed x1(n)
△= x(2n + 1); si noti che x0(n) sono
le due sequenze di lunghezza N/2 ottenute decimando con passo due la sequenza
originaria. Si e inoltre definito
Xo(k)△=
N2−1∑
n=0
x0(n) exp
(−j2π nk
N/2
)= DFT [xo(n)] (5.29)
X1(k)△=
N2−1∑
n=0
x1(n) exp
(−j2π nk
N/2
)= DFT [x1(n)] (5.30)
periodiche di periodo N/2, pertanto basta calcolarne il valore per k ∈ {0, 1, . . . , N/2−1} con la DFT su N/2 punti per avere anche i valori k ∈ {N/2, . . . , N − 1}. La
relazione (5.28) ci dice che si puo calcolare la DFT su N punti calcolando 2 DFT su
N/2 punti e facendone la combinazione specificata (5.28). Analogamente, la (5.28)
ci dice anche che si puo ottenere una DFT su N/2 punti facendo due DFT su N/4
punti e combinandole opportunamente. Supponendo che N sia una potenza di due
questa operazione puo essere reiterata fino a giungere alla DFT su un solo punto,
che lascia inalterata il valore di ingresso.
Pertanto, lasciando inalterati i valori di ingresso si fanno le N DFT su singoli
punti, combinandoli a due a due tramite la (5.28) si fanno N/2 DFT su due punti,
c©Prof. Davide Mattera. 08/12/2011
5.5 Struttura basata su DFT 107
mediante quella che viene definita struttura a farfalla:
X(k) = X0(k) + exp(−j2π k
N
)X1(k)
X(k + N/2) = X0(k) + exp(−j2π k+N/2
N
)X1(k)
k ∈ {0, 1, . . . , N2− 1}
(5.31)
X(k) = X0(k) + exp
(−j2π k
N
)X1(k)
X(k + N/2) = X0(k) + exp(−j2π k
N
)exp
(−j2πN/2
N
)X1(k)
k ∈ {0, 1, . . . , N2−1}
(5.32)
{X(k) = X0(k) + exp
(−j2π k
N
)X1(k)
X(k + N/2) = X0(k) + exp(−j2π k
N
)exp (−jπ)X1(k)
k ∈ {0, 1, . . . , N2−1}
(5.33)
X(k) = X0(k) + WkX1(k)
X(k + N/2) = X0(k)−WkX1(k)
Wk = exp(−j2π k
N
)k ∈ {0, 1, . . . , N
2− 1} (5.34)
In questo primo stadio ci saranno N/2 farfalle. Combinando coppie di DFT su due
punti si ottengono le N/4 DFT su quattro punti, ciascuna combinazione richiede due
farfalle e ci sono N/4 combinazioni per cui sono richieste N/2 farfalle. Combinando
coppie di DFT su quattro punti si ottengono le N/8 DFT su otto punti, ciascuna
combinazione richiede quattro farfalle e ci sono N/8 combinazioni da svolgere per cui
sono richieste N/2 farfalle. Combinando coppie di DFT su otto punti si ottengono
le N/16 DFT su sedici punti, ciascuna combinazione richiede otto farfalle e ci sono
N/16 combinazioni da svolgere per cui sono richieste N/2 farfalle.
In definitiva, ogni stadio richiede N/2 farfalle e ciascuna farfalla di ogni stadio puo
operare parallelamente alle altre; il numero di stadi richiesti e pari a log2 N : infatti
il primo stadio consente di passare dalla DFT su un punto a quelle su due punti; il
secondo stadio consente di passare da quelle su due punti a quelle su quattro punti;
il terzo stadio consente di passare da quelle su quattro punti a quelle su otto punti.
Ogni farfalla svolge esattamente tre operazioni (due addizioni ed una moltipli-
cazione) per cui il numero di operazioni da svolgere e pari a 3(N/2) log2(N) =32N log2(N), che, assumendo 6 flops reali per ogni moltiplicazione complessa e 2
flops per ogni addizione complessa, risulta pari a (6 12 + 2)N log2(N) = 5N log2(N).
Questo e sostanzialmente il contributo fondamentale di Cooley e Tukey, detto oggi
radix-2, del 1965. Molte altre varianti piu efficienti di tale algoritmo fondamentale
sono state sviluppate in seguito. Gia tre anni dopo si era giunti con l’algoritmo
detto split-radix ad un coefficiente 4, che per quarant’anni e rimasto insuperato ed
e stato ridotto un paio di anni fa a 34/9 (anche se la formula si complica per la
presenza di altri fattori).
c©Prof. Davide Mattera. 08/12/2011
108 Realizzazione di un filtro FIR
5.5.4 Le due strutture overlap
Il segnale di ingresso di potenza x(n) si puo riscrivere nel modo seguente:
x(n) =
+∞∑
k=−∞
xk(n−kN) ⇔ xk(n) =
{x(n + kN) n ∈ {0, 1, 2, . . . , N − 1}
0 n /∈ {0, 1, 2, . . . , N − 1}(5.35)
Pertanto il segnale di partenza viene scritto come la successione, al variare di k, di
tanti blocchi xk(n) di lunghezza N .
L’uscita del nostro filtro, avente risposta impulsiva h(n) nulla per n /∈ {0, 1, . . . ,M},si puo scrivere come
z(n) = x(n)⊗ h(n)
=
[+∞∑
k=−∞
xk(n− kN)
]⊗ h(n)
=
+∞∑
k=−∞
[xk(n− kN)⊗ h(n)]
=
+∞∑
k=−∞
yk(n− kN) (5.36)
dove
yk(n)△= xk(n)⊗ h(n) (5.37)
Si noti che, siccome xk(n) e diversa da zero in [0, N − 1] ed h(n) e diversa da
zero in [0,M ], yk(n) e diversa da zero in [0, Ly − 1] dove Ly = N + M . Dunque,
yk(n) puo essere calcolata mediante trasformazione DFT di xk(n), moltiplicazione
componente per componente con la DFT di h(n), calcolata una volta per tutte,
ed infine IDFT del risultato. Si noti che si richiedono almeno N + M punti per le
operazioni di DFT ed IDFT per fare in modo che convoluzione circolare e lineare
coincidano; siccome il segnale di ingresso xk(n) ha lunghezza N , esso dovra essere
allungato con M zeri nella parte finale prima di operare la DFT.
A partire da yk(n), il segnale complessivo puo essere ottenuto sommando le varie
repliche, ciascuna traslata di kN . Si noti che yk(n) eccede di M la lunghezza N ;
pertanto, la finestra di uscita di lunghezza N + M si prolunga nella successiva
finestra di ingresso di lunghezza N della quantita M e su di essa per i primi M
campioni si prolungano gli effetti della finestra di uscita precedente. Pertanto, la
sommatoria in (5.36) non comprende infiniti termini ma un solo termine se esso non
e tra i primi M o gli ultimi M della finestra di uscita oppure comprende solo due
addendi (la parte finale della finestra precedente e la parte iniziale della finestra
successiva). In altri termini l’uscita di lunghezza N + M alla finestra di ingresso
di lunghezza N non viene data tutta in uscita; la parte finale di M campioni
viene conservata per essere sommata alla parte iniziale della finestra di uscita
successiva; la parte iniziale di lunghezza M viene sommata alla porzione finale -
c©Prof. Davide Mattera. 08/12/2011
5.5 Struttura basata su DFT 109
opportunamente conservata - della finestra di uscita precedente. Tale metodo viene
detto overlap & add.
Il metodo precedente richiede una memoria di ampiezza M in cui conservare la
parte finale della finestra di uscita della DFT. Una alternativa consiste nell’allungare
la finestra di ingresso del segnale xk(n) di lunghezza N con gli M valori precedenti
del segnale di ingresso x(n), ottenendo pertanto blocchi xk(n) di lunghezza pari ad
N + M .
xk(n) =
{x(n + kN) n ∈ {−M, . . . ,−1, 0, 1, . . . , N − 1}
0 n /∈ {−M, . . . ,−1, 0, 1, . . . , N − 1}(5.38)
Si noti che ora non vale piu la formula x(n) =∑+∞
k=−∞ xk(n− kN).
Quando si va a calcolare
yk(n−M)△= xk(n−M)⊗ h(n) (5.39)
si deve notare che
• il segnale xk(n−M) e diverso da zero solo se n ∈ {0, 1, . . . , N+M−1}; i suoi valori
possono pertanto essere contenuti in una finestra di ampiezza N + M . Il segnale
xk(n−M)⊗ h(n) ha lunghezza N + 2M e pertanto puo essere calcolato mediante
DFT se essa opera su N+2M punti dopo aver praticato lo zero-filling di M zeri della
sequenza di N+M valori non nulli di xk(n); in altri termini, si resta apparentemente
costretti a fare comunque lo zero filling con gli M valori finali e si aggiungono anche,
in testa alla finestra, gli ultimi M valori della finestra di ingresso precedente. Dopo
aver calcolato il risultato finale che compare in un vettore di ampiezza N + 2M ,
si ottiene il risultato finale tenendo presente che la prima componente del vettore
finale corrisponde all’uscita all’istante −M del segnale yk(n), l’ultima componente
del vettore finale corrisponde all’uscita all’istante N + M − 1 del segnale yk(n).
• si noti, tuttavia, che i primi M valori della finestra d’uscita non contengono il
risultato esatto della convoluzione finale ma devono essere corretti per il risultato
degli ultimi M valori dell’uscita precedente. Pertanto, siccome la finestra di uscita
ha ora lunghezza N + 2M , i primi M non sono direttamente esatti, gli N intermedi
sono gia corretti e non vanno corretti oltre, gli ultimi M andrebbero conservati per
correggere i primi M della finestra di uscita successiva. Tuttavia, ora le finestre di
uscita sono lunghe N + 2M ma sono sempre traslate di N tra loro; i primi M si
sovrappongono nel tempo agli ultimi M degli N gia corretti del blocco precedente
e gli ultimi M si sovrappongono ai primi M degli N gia corretti. Il risultato e che i
blocchetti iniziali e finali da correggere si sovrappongono temporalmente a porzioni
gia corrette del blocco, che non hanno bisogno di essere corretti e che oltretutto non
costituiscono i blocchi adatti alla correzione. In altri termini, della finestra di uscita
di ampiezza N + 2M occorre buttare via gli M iniziali e gli M finali e conservare
come corretti e definitivi gli N centrali, ai quali seguiranno, nel segnale finale di
c©Prof. Davide Mattera. 08/12/2011
110 Realizzazione di un filtro FIR
uscita, gli N centrali della finestra di uscita successiva.
• siccome nella convoluzione xk(n −M) ⊗ h(n), diverso da zero per n ∈ {0, N +
2M−1}, non siamo interessati ai primi M ed agli ultimi M valori della convoluzione,
si applicano i risultati stabiliti al paragrafo precedente, dove ora Lz = N + 2M ,
Ma = M (siccome i primi M nell’intervallo [0,M − 1] non sono di interesse) ed
Mb = N + M − 1 (siccome gli ultimi M nell’intervallo [N + M,n + 2M − 1] non
sono di interesse). Come visto nel paragrafo precedente, e dunque sufficiente che il
numero di punti su cui si calcola la DFT sia pari a
max(Mb + 1, Lz−Ma) = max((N +M − 1) + 1, (N + 2M)−M) = N +M (5.40)
Pertanto, se e necessario operare con la DFT su N+M punti, i blocchi di ingresso
non dovranno essere caricati con lo zero-filling di M zeri finali; inoltre, gli N+M
punti ottenuti rappresentano una restrizione al primo periodo di lunghezza N+M
della convoluzione lineare di lunghezza N+2M usato come generatore di un segnale
periodico mediante replicazione di passo N + M ; pertanto, i primi M campioni
saranno la somma dei primi M campioni e degli ultimi M campioni del blocco di
uscita da N + 2M punti di cui al punto precedente si e detto che fosse necessario
conservare solo gli N valori interni. Risulta di conseguenza che, operando con N+M
punti, basta scartare i primi M valori e conservare gli ultimi N che coincidono con
il blocco di N centrale quando si opera con la DFT su N + 2M punti.
Il vantaggio di tale struttura, detta overlap & save, e nella drastica riduzione del
numero di flops rapportati al numero di campioni di uscita ottenuti e, quindi, in
un drastico rilassamento della limitazione alla frequenza di campionamento nella
realizzazione a singolo processore; in particolare, tale limitazione risulta non piu
inversamente proporzionale ad M ma al logaritmo di M . Tuttavia, a causa del
numero di operazioni accessori di trasformazione tra i due dominii, tale convenienza
non si palesa fino a che il valore di M non supera il valore 64. Inoltre, tale vantaggio
non si presenta in una realizzazione con parallelismo.
Si consideri infatti il caso overalap & add, occorre caricare gli N valori di xk(n) in
ingresso alla DFT; pertanto, occorre attendere un tempo pari ad N/fc per caricare
gli ingressi della DFT. Il numero di flops richiesto per realizzare l’operazione di
DFT e pari a 32 (N + M) log2(N + M) e dunque il tempo necessario a svolgere le
tre operazioni (FFT, prodotto, IDFT) risulta pari a
(3(N + M) log2(N + M) + N + M)τ
Dopo tale tempo non puo essere presentato il segnale di uscita - poiche i primi M
istanti di tempo vanno anche sommati a quelli gia memorizzati - e pertanto occorre
attendere un tempo ulteriore pari a Mτ . A questo punto possono essere forniti N
campioni di uscita. Pertanto il tempo necessario a fare i calcoli necessari a fornire gli
N campioni di uscita deve essere inferiore a quello necessario a caricare i successivi
c©Prof. Davide Mattera. 08/12/2011
5.5 Struttura basata su DFT 111
N campioni di ingresso:
(3(N + M) log2(N + M) + N + M)τ + Mτ ≤ N
fc(5.41)
o, equivalentemente,
fc ≤N
(3(N + M) log2(N + M) + N + M)τ + Mτ=
fτ3(1 + α) log2(M(1 + 1/α)) + 1 + 2α
(5.42)
dove α△= M
N . Occorre confrontare il risultato in (5.42) con quello trovato per la
soluzione diretta con struttura a singolo processore fc ≤ fτ/M . Si vede come, al
crescere di M , la struttura con DFT consenta di raggiungere frequenze di campio-
namento piu elevate. Tuttavia, per M = 16, anche giocando con il valore di α, non
si riesce a rendere il denominatore piu piccolo di 25 e quindi la struttura proposta
non e migliore di quella diretta (in termini di frequenza di campionamento che riesce
a conseguire). Per M = 32, scegliendo N = 256 si ottiene un denominatore pari a
28.8; quindi, un leggero miglioramento (rendendo pero, come descritto nel seguito)
sedici volte maggiore il ritardo massimo di implementazione); scegliendo solo N=64
(si quadruplica solo il tempo massimo di ritardo), si ottiene un denominatore pari
a 31.6.
Solo a partire da M = 64 si inizia a vedere un reale miglioramento, fissando
N=128 si ottiene un denominatore pari a 36.1 (cioe si raddoppia quasi la frequenza
di campionamento); fissando N=256 (si incrementa di otto volte il massimo ritardo
di realizzazione), il denominatore diventa 32.07, e quindi si raddoppia la frequenza
di campionamento.
Occorre anche effettuare il confronto nel caso multiprocessore: la limitazione della
struttura in forma diretta (fc ≤ fτ/2) e superiore a quella con DFT. Infatti in
una struttura multiprocessore, la realizzazione della DFT richiede un tempo 2τ
per ognuno dei log2(N + M) stadi della IDFT e della DFT. Si ottiene pertanto un
tempo di elaborazione pari a (4 log2(N +M)+2)τ ; il vincolo di tempo reale impone
dunque
(4 log2(N + M) + 2)τ ≤ N
fc(5.43)
o, equivalentemente,
fc ≤N
(4 log2(N + M) + 2)τ=
Nfτ2(2 log2(N + M) + 1)
(5.44)
Si vede anche in questo caso il vantaggio di questa struttura siccome al crescere del
numero di punti su cui si effettua la DFT si ottiene un innalzamento della frequenza
di campionamento a cui si puo operare.
Lo svantaggio, che - se non erro - non appare nei testi consigliati come nella
maggior parte dei testi, e nel fatto che il ritardo di realizzazione non appare
trarre vantaggio dalla soluzione adottata, addirittura esso finisce per incrementarsi.
Infatti, dal momento in cui viene ricevuto il primo campione della DFT, a quello
c©Prof. Davide Mattera. 08/12/2011
112 Realizzazione di un filtro FIR
in cui viene fornito in uscita il blocco di N campioni, trascorre un tempo pari
a (N − 1)/fc per memorizzare gli altri N − 1 elementi della DFT, un tempo
(specificato in dettaglio prima con riferimento sia al caso di singolo processore che
multiprocessore) per realizzare le operazioni richieste dalla struttura; questo ultimo
tempo e imposto essere minore di N/fc dal vincolo di tempo reale e praticamente
uguale ad N/fc al fine di non limitare inutilmente fc. Pertanto, il tempo di ritardo a
cui va incontro il primo campione che carica la DFT e pari a (2N − 1)/fc, l’ultimo
campione della DFT va incontro ad un ritardo minore pari ad N/fc. Pertanto,
il ritardo di implementazione cresce corrispondentemente con N ; la crescita del
ritardo con N e in parte compensata dal fatto che fc si incrementa al crescere
di N . L’analisi svolta per il ritardo di implementazione e valida sia per il caso a
singolo processore che per quello multiprocessore; cambia solo la diversa dipendenza
di fc da N ; nel caso multiprocessore, N/fc e praticamente espresso dal primo
membro della (5.43) e, nel caso a singolo processore, dal primo membro della
(5.41) siccome la disuguglianza e tipicamente soddisfatta quasi con uguaglianza.
Si noti che mentre nel caso multiprocessore il ritardo cresce lentamente con N ,
il caso a singolo processore e molto piu svantaggioso siccome il ritardo presenta
un termine di crescita lineare con N . Si noti che in ogni caso, per la struttura
multiprocessore, il numero di moltiplicatori ed addizionatori richiesti (e quindi
l’assorbimento energetico dell’elaboratore) cresce linearmente con N .
Si lascia per esercizio svolgere l’analisi della struttura overlap & save.
c©Prof. Davide Mattera. 08/12/2011
5.5 Struttura basata su DFT 113
Letture consigliate
[1] J. Proakis, Manolakis, “Digital Signal Processing”
[2] S. Haykin, “Adaptive Filter Theory”
[3] N. Wiener, “I am a mathematician”
[4] S. Johnson, M. Frigo, “A modified split-radix FFT with fewer arithmetic
operations”, IEEE Trans. on Signal Processing, vol. 55, n. 1, pagg. 111-119, 2007.