119
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 Propriet`a 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

Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

Embed Size (px)

DESCRIPTION

a

Citation preview

Page 1: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 2: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 3: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 4: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

c©Prof. Davide Mattera. 08/12/2011

iv Prefazione

Page 5: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 6: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 7: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 8: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.”

Page 9: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 10: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 11: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 12: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 13: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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).

Page 14: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 15: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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,

Page 16: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 17: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 18: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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,

Page 19: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 20: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 21: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 22: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 23: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 24: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 25: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 26: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 27: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 28: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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-

Page 29: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 30: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

c©Prof. Davide Mattera. 08/12/2011

24 Sistemi lineari

Page 31: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 32: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 33: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 34: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 35: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 36: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 37: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 38: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 39: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 40: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 41: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 42: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 43: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 44: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 45: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 46: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

c©Prof. Davide Mattera. 08/12/2011

40 Progetto mediante utilizzazione di dati sperimentali

Page 47: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 48: Lezioni Elaborazione Dei Segnali 2011 12 Versione 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)

Page 49: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 50: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 51: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 52: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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).

Page 53: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 54: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 55: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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,

Page 56: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 57: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 58: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 59: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 60: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 61: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 62: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 63: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 64: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 65: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 66: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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 −

Page 67: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 68: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 69: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 70: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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-

Page 71: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

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

Page 72: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 73: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 74: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 75: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 76: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 77: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 78: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 79: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 80: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 81: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 82: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 83: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 84: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 85: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 86: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 87: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 88: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 89: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 90: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 91: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 92: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 93: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

c©Prof. Davide Mattera. 08/12/2011

4.12 Il cancellatore d’eco come applicazione del filtro di Wiener 87

segnale/rumore di fondo.

Page 94: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

c©Prof. Davide Mattera. 08/12/2011

88 Predizione lineare

Page 95: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 96: Lezioni Elaborazione Dei Segnali 2011 12 Versione 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

Page 97: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 98: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 99: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 100: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 101: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 102: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 103: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 104: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 105: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 106: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)τ

Page 107: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 108: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 109: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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)

Page 110: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 111: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 112: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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,

Page 113: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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).

Page 114: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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 -

Page 115: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 116: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 117: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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

Page 118: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.

Page 119: Lezioni Elaborazione Dei Segnali 2011 12 Versione 2

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.