Appunti di Elaborazione Numerica dei...

226
Appunti di Elaborazione Numerica dei Segnali Gian Antonio Mian Universit` a degli Studi di Padova Dipartimento di Elettronica e Informatica Anno accademico 2002-2003

Transcript of Appunti di Elaborazione Numerica dei...

Appunti di Elaborazione Numerica dei Segnali

Gian Antonio Mian

Universita degli Studi di Padova

Dipartimento di Elettronica e Informatica

Anno accademico 2002-2003

1

Questa dispensa contiene le lezioni del corso di Elaborazione Numerica deiSegnali che, negli ultimi anni, sono state dedicate agli effetti che la aritmeticaa precisione finita ha sulla rappresentazione dei segnali e sulle realizzazionidei filtri numerici.

Desidero ringraziare il prof. Doriano Ciscato col quale, molti anni fa, estata stesa una prima versione di questa dispensa ed i molti studenti che, invario modo, mi hanno aiutato: tra di essi un ringraziamento particolare vaa Marco Barbina per l’aiuto nella preparazione di parte delle figure, a PaoloCampagnaro per gli esempi numerici di realizzazioni “ad onda” ed a CarloMeneghini per gli esempi numerici di realizzazioni a minimo rumore di calcolo.

Desidero, infine, ringraziare gli amici Riccardo Bernardini, Giancarlo Cal-vagno e Roberto Rinaldo: senza il loro aiuto starei ancora lottando con ladiagnostica del LATEX.

Indice

1 Sistemi quasi–lineari 1

1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Caratteristiche di quantizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1 Quantizzatori uniformi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.2 Quantizzatori logaritmici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3 Metodi di studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Effetti della quantizzazione dei coefficienti moltiplicatori 15

2.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2 Calcolo della sensibilita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3 Sensibilita di poli e zeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4 Realizzazioni in forma diretta, cascata e parallelo . . . . . . . . . . . . . . . . . 22

2.5 Normalizzazione dei coefficienti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.6 Lunghezza statistica di parola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.7 Una classe di realizzazioni a piccola sensibilita. . . . . . . . . . . . . . . . . . . . 48

2.7.1 Funzioni di trasferimento doppiamente complementari . . . . . . . 50

2.7.2 Realizzazioni mediante f.d.t. passa-tutto . . . . . . . . . . . . . . . . . . . 52

2.7.3 Filtri di Butterworth, Chebychev e Cauer . . . . . . . . . . . . . . . . . . . 55

2.7.4 Filtri numerici ad “onda” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2.7.5 Un esempio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

3 La quantizzazione nelle conversioni da segnale analogico a numericoe da segnale numerico ad analogico. 79

3.1 Modello deterministico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

3.2 Modello statistico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

3.3 Propagazione del rumore di quantizzazione. . . . . . . . . . . . . . . . . . . . . . . 89

3.4 Convertitori a sovracampionamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

3.4.1 Convertitori A/D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

3.4.2 Convertitori sigma-delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

3.4.3 Convertitori D/A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

ii

4 Valutazione degli errori di calcolo. 105

4.1 Il caso della aritmetica a virgola fissa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054.1.1 Modello deterministico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054.1.2 Modello statistico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094.1.3 Normalizzazione delle variabili. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134.1.4 Normalizzazione dell’uscita. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244.1.5 Realizzazioni cascata e parallelo . . . . . . . . . . . . . . . . . . . . . . . . . . . 1314.1.6 Realizzazioni a traliccio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1394.1.7 Realizzazioni a variabili di stato a minimo rumore di calcolo . 1494.1.8 Cicli limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

4.2 Il caso della aritmetica a virgola mobile. . . . . . . . . . . . . . . . . . . . . . . . . . . 1664.2.1 Realizzazioni non–ricorsive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1674.2.2 Realizzazioni ricorsive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

A Rappresentazione in virgola fissa e mobile 179

A.1 Rappresentazione in virgola fissa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179A.1.1 Notazione modulo e segno (MS). . . . . . . . . . . . . . . . . . . . . . . . . . . 179A.1.2 Notazione in complemento a due (C2). . . . . . . . . . . . . . . . . . . . . . 180A.1.3 Eccesso 2n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184A.1.4 Notazione CSDC (Canonical Signed Digit Code). . . . . . . . . . . . 185

A.2 Rappresentazione in virgola mobile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

B Funzioni di trasferimento passatutto. 191

C Proprieta associate alla realizzazione a traliccio. 195

C.1 La decomposizione An(z) = An−1(z) + knz−1An−1(z). . . . . . . . . . . 195C.2 Un test di stabilita. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197C.3 Polinomi ortogonali sul cerchio di raggio unitario. . . . . . . . . . . . . . . . . . 199C.4 Polinomi ortogonali sul cerchio di raggio unitario e predizione lineare.203

C.4.1 Algoritmo di Levinson e realizzazione a traliccio del filtrosbiancante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

C.4.2 Proprieta spettrali dell’errore di predizione . . . . . . . . . . . . . . . . . . 213

Capitolo 1

Sistemi quasi–lineari

1.1 Introduzione

La ”realizzazione” fisica dei sistemi discreti nel tempo e continui nelle ampiezze(ad esempio filtri e regolatori) avviene con tecniche numeriche, in hardware osoftware, utilizzando necessariamente una aritmetica a precisione finita, nellaquale i numeri sono rappresentati in virgola fissa o mobile. Poiche sia i segnalidi ingresso/uscita che le variabili interne e le costanti del sistema devono essererappresentate con un numero finito di cifre binarie (”registro” o ”parola” dilunghezza finita), i sistemi a tempo discreto, una volta calati dal corpo deinumeri reali all’insieme dei numeri ”realmente” rappresentabili in un ambienteoperante con aritmetica a precisione finita, diventano sistemi numerici e quindisistemi a stati finiti.

Si consideri, ad esempio, il sistema elementare descritto dalla funzione ditrasferimento:

H(z) =b

1 − a z−1(1.1)

che corrisponde nel dominio delle frequenze ad un filtro ricorsivo passa–bassoo passa–alto del primo ordine a seconda che sia a > 0 o a < 0, rispettivamente,e in cui di solito per garantire guadagno unitario a z = 1 (f = 0) se a > 0 oa z = −1 (f = Fc/2 con Fc frequenza di campionamento) se a < 0, si poneb = 1 − |a|.

Il segnale di ingresso x(kT ) sia ottenuto mediante campionamento a fre-quenza costante Fc = 1/T di un segnale analogico a banda limitata, e ilsegnale a tempo discreto di uscita y(kT ) sia trasformato nel segnale ana-logico y(t) mediante un convertitore digitale–analogico ideale, modellabilecome la cascata di una trasformazione elementare di dominio da Z(T ) a Rseguita da un semplice filtro interpolatore a tenuta di funzione di trasferi-mento H0(s) = (1 − e−sT )/sT .Uno schema a blocchi del sistema e riportato in Fig. 1.1 a), in cui il legamefra l’ingresso x(kT ) e l’uscita y(kT ) e dato dalla:

y(kT ) = a y((k − 1)T ) + b x(kT ) (1.2)

La sequenza di operazioni per ottenere Y = y(kT ) a partire da X = x(kT ) eSTATO = y((k−1)T ) secondo la (1.2) e la seguente (le operazioni di ingresso

2 1.1 Introduzione

e uscita si suppongono opportunamente sincronizzate):

t = kT → leggi XY = b ∗ XY = a ∗ STATO + YSTATO = Yscrivi Y

(1.3)

Z(T) R

a)

b)

~

x(t)b

z

x(t)

A/D

[]b’

[]

-1

H (s)y(t)0

S []

Qa[]

a’ z

Qu[]

D/AH0(s) y(t)

iQ

a

R

a

Q

-1

Figura 1.1 Esempio: a) di sistema a dati campionati e b) di sistema numericocorrispondente

In Fig. 1.1 b) e riportato lo schema a blocchi di una possibile realizzazionenumerica.

Il campionamento del segnale analogico di ingresso x(t) viene ottenuto conun convertitore analogico–numerico (A/D) il quale, oltre al campionamentoideale, esegue anche una quantizzazione Qi[x(kT )] con modalita che dipen-dono dalla legge di quantizzazione adottata e dal numero di cifre scelto per ilconvertitore (lunghezza di parola del convertitore A/D). Il segnale numerico diuscita y(kT ) viene trasformato in segnale analogico mediante un convertitorenumerico–analogico (D/A), che esegue oltre all’operazione di tenuta, H0(s),anche una quantizzazione, Qu[y(kT )], nel caso la rappresentazione numerica”interna” scelta per y(kT ) sia (come quasi sempre avviene) diversa da quellascelta per il convertitore D/A (lunghezza di parola del convertitore D/A).

I coefficienti a e b vengono memorizzati con un numero finito di cifre, percui i valori a′ e b′ effettivamente utilizzati si puo pensare derivino da una quan-tizzazione, Qc[·], di a e b (a′ = Qc[a] e b′ = Qc[b]) la cui caratteristica dipende

Capitolo 1. Sistemi quasi–lineari 3

dalla lunghezza di parola scelta per rappresentare i coefficienti moltiplicatori(lunghezza di parola dei coefficienti).

Il risultato dell’operazione di moltiplicazione possiede, come noto, un nu-mero di cifre superiore a quello dei fattori: per evitare un aumento infinitodel numero di bit nell’anello di reazione, si rende necessario riportarlo, at-traverso il quantizzatore Qa[·], alla lunghezza di parola scelta per memorizzarela variabile di stato associata all’uscita dall’elemento di ritardo z−1 (lunghezzadi parola dell’unita aritmetica ). Questa normalizzazione della lunghezza diparola puo avvenire come in Fig. 1.1 b) prima dell’operazione di somma op-pure dopo di essa, utilizzando per la somma un accumulatore di lunghezzamaggiore. Infine anche l’operazione di somma puo introdurre degli errori (adesempio, overflow), di cui rende conto il legame non lineare S(x) tra la sommaideale, x, ed il risultato effettivo, S(x).

La presenza in Fig. 1.1 b) dei vari blocchi non lineari comporta che l’uscita,y(t), del sistema numerico differisca da quella, y(t), del sistema lineare di Fig.1.1 a) (a pari ingresso ed a partire dallo stesso stato iniziale). In particolarecon ingresso nullo o periodico il sistema di Fig. 1.1 b), in quanto a stati finiti,si porta a regime in un numero finito di passi (se, ad esempio, si associa allavariabile di stato una parola di 16 bit, il sistema si porta a regime, al massimo,in 216 passi).

L’errore y(t)−y(t) che si verifica nella realizzazione numerica di un sistemalineare dipende, in generale, sia dalla caratteristica dei vari blocchi non lineari:Qi, Qa, Qc, Qu e S che dalla struttura dell’algoritmo (cioe dalla realizzazionescelta, ad esempio, diretta, cascata, parallelo, traliccio ecc.), in quanto, essendoil sistema non lineare, l’uscita e in generale influenzata sia dal tipo di operazionieffettuate che dall’ordine nel quale esse vengono eseguite. E ovvio l’interesse aridurre tale errore entro limiti accettabili mediante una opportuna scelta dellarealizzazione e delle lunghezze di parola. Spesso un sistema numerico che siastato ben progettato e che quindi sia una buona approssimazione del sistemalineare prototipo, viene detto sistema ”quasi lineare”.

Le caratteristiche dei quantizzatori dipendono dalla rappresentazione nu-merica impiegata per le variabili. Come noto, le due principali rappresen-tazioni utilizzate in un sistema numerico sono: virgola mobile (floating point)e virgola fissa (fixed point), le cui proprieta sono richiamate nella AppendiceA.Allo stato attuale dello sviluppo dei microprocessori per la elaborazione numer-ica di segnali (DSP: Digital Signal Processor), la rappresentazione numericapiu diffusa e quella a virgola fissa. Essa, pero, puo comportare errori che pos-sono rendere inaccettabile il comportamento del sistema numerico che realizzail sistema a tempo discreto prototipo. Nel seguito percio la maggior partedelle considerazioni svolte si riferira al caso in cui le variabili numeriche sianorappresentate in notazione binaria in virgola fissa ed in complemento a due

4 1.2 Caratteristiche di quantizzazione

(C2).Nel caso di sistemi per il filtraggio numerico di segnali, e importante disporredi metodi che consentano di valutare lo ”scostamento” introdotto nella re-alizzazione, e di guidare la scelta della struttura e delle caratteristiche deiquantizzatori.Nel caso di sistemi di controllo a controreazione in cui l’organo di controllo eun sistema numerico, occorre inoltre studiare l’effetto di tale scostamento sulcomportamento del sistema a catena chiusa.

1.2 Caratteristiche di quantizzazione

Nel seguito si richiamano le principali caratteristiche dei quantizzatori uniformie logaritmici. I primi servono sempre come modello dei quantizzatori Qi e Qu

di Fig. 1.1 b), dato che i numeri di uscita e ingresso ai convertitori A/D eD/A sono sempre numeri in virgola fissa, e sono inoltre il modello anche deiquantizzatori Qc e Qa se l’unita di calcolo utilizza aritmetica a virgola fissa. Isecondi servono come modello di Qc e Qa nel caso in cui si utilizzi aritmeticaa virgola mobile.

1.2.1 Quantizzatori uniformi

Si consideri nuovamente il sistema di Fig. 1.1 b). L’operazione svolta daiquantizzatori Qi e Qu consiste nell’associare al segnale di ingresso, variabilein un certo intervallo, un numero in virgola fissa di n + 1 bit. L’ingresso diQi e il segnale analogico campionato x(kT ), mentre quello di Qu e il risultatodella elaborazione, che per il momento possiamo ritenere un numero reale.Poiche i numeri rappresentabili con n + 1 bit sono in totale 2n+1 (in notazionecomplemento a due e 2n+1 − 1 in notazione modulo e segno), l’intervallo divariazione di x puo essere suddiviso in 2n+1 intervalli elementari (xk, xk+1),a ciascuno dei quali viene associato lo stesso numero Q(x), detto valore diricostruzione. Se −M ≤ x ≤ +M , si definisce passo di quantizzazione oquanto q la quantita:

q =2M

2n+1= M 2−n (1.4)

e la legge di quantizzazione Q(x) e scelta in modo da soddisfare la relazioneQ(x) = x per ogni x per cui si abbia x = Nq con N intero di n + 1 bit(N = −2n,−2n + 1, · · · ,−1, 0, 1, · · · , 2n − 1 in C2). I valori Nq costituisconol’alfabeto del quantizzatore. Dato che la differenza tra due valori successividell’alfabeto e costante e pari a q, la legge di quantizzazione corrispondente edetta ”lineare” o uniforme.Per quanto riguarda i valori di x per cui x 6= Nq vengono seguite due diverse

Capitolo 1. Sistemi quasi–lineari 5

tecniche di approssimazione, e cioe: arrotondamento o troncamento, che cor-rispondono a modalita diverse di suddivisione del campo di variazione di x eche verranno descritte nel seguito.

In ogni caso il valore di uscita Q(x) = Nq e rappresentato univocamente dalnumero intero N , e l’operazione di quantizzazione puo essere vista come unamappa che trasforma l’ingresso x in un numero intero N di n+1 bit, la cui scalae data da q. Nel caso di Qi, in particolare, il fattore di scala qi viene sottintesoin tutta la successiva elaborazione numerica del segnale. Di esso si dovratener conto solo quando interessi il valore ”fisico” di una variabile ottenutaper elaborazione dell’ingresso, e necessariamente all’atto della conversione dasegnale digitale ad analogico. Secondo questa convenzione si puo assumereche sia qi = 1, cioe che tutta l’elaborazione operi su numeri interi provenientidal convertitore analogico–numerico e produca dei numeri che alimentano ilconvertitore digitale–analogico di uscita, cui e associato un quanto qu in genereuguale a qi (si veda il par 4.1.4).

Talora, anziche interpretare il risultato della quantizzazione come un interoN multiplo del quanto q, si preferisce interpretare detto risultato come unafrazione del fondo scala, cioe Q(x) = f M con |f | < 1. Evidentemente le dueconvenzioni sono perfettamente equivalenti, e si ha: f = N 2n, cioe f si ottieneda N pensando la ”virgola” alla destra del bit di segno, anziche alla destra delbit meno significativo.

-2q -q

q

2q

3q

QR(x)

-q

-2q

q 2q 3q x -2q -q

-q

q

eR(x)

q 2q 3q x

Figura 1.2 Quantizzatore ad arrotondamento: caratteristica QR(x) ed errore eR(x).

6 1.2 Caratteristiche di quantizzazione

Arrotondamento

Nella quantizzazione ”lineare” ad arrotondamento si associa a x il valore diricostruzione Q(x) = Nq piu prossimo, cioe l’intero N per cui:

(N − 1/2)q ≤ x < (N + 1/2)q (1.5)

Essa corrisponde a dividere il campo di variazione di x negli intervalli [(N −1/2)q, (N + 1/2)q) e ad associare ad ogni intervallo il valore del punto medio1.Per definizione essa e indipendente dalla notazione di x. La caratteristicaQR(x) del quantizzatore corrispondente e riportata in Fig. 1.2 e risulta sim-metrica, cioe QR(−x) = −QR(x), eccetto che nei punti x = (N − 1/2)q.La legge di quantizzazione data dalla (1.5), secondo la quale tutti gli intervallisono chiusi a sinistra, e la piu semplice da realizzare nel caso x sia rappresen-tato in complemento a due ed e la legge di arrotondamento utilizzata in quasitutti i microprocessori. Infatti, per effettuare l’arrotondamento su n + 1 bit diun numero rappresentato in C2 su n′ + 1 > n + 1 bit, e sufficiente sommare1 al bit piu significativo tra quelli da scartare, e conservare gli n + 1 bit piusignificativi del risultato. (Verificarlo arrotondando ai 4 bit piu significativi inumeri rappresentati in C2 da 0100.1011 e 1100.1011). E possibile adottareuna legge di arrotondamento che sia perfettamente simmetrica, e qualche mi-croprocessore in effetti la adotta.

L’andamento dell’errore eR(x), definito come:

eR(x) = QR(x) − x, (1.6)

e riportato in Fig. 1.2. Esso risulta periodico di periodo q e per ogni x(|x| ≤ M) si ha:

−q

2< eR(x) ≤ q

2(1.7)

e quindi il valore massimo di |eR(x)| e pari a q/2.

Quanto detto vale esattamente se l’ingresso del quantizzatore assume valorinel continuo, cioe x ∈ R, e quindi si applica alla quantizzazione del segnaledi ingresso x(kT ) di Fig. 1.1, cioe a Qi, ed alla quantizzazione dei coefficientimoltiplicatori, cioe a Qc.

Per quanto riguarda la quantizzazione del segnale di uscita, associata alquantizzatore Qu, si osserva che se la lunghezza di parola adottata interna-mente (cioe per memorizzare la variabile di stato in Fig.1.1 b) e na + 1 bit, equella associata alla conversione del segnale da digitale ad analogico e nu + 1bit, l’errore di quantizzazione e una variabile i cui valori appartengono adun insieme finito, costituito da valori equispaziati con passo determinato da

1La quantizzazione ad arrotondamento corrisponde alla istruzione Matlab: qx =round(x/q) ∗ q.

Capitolo 1. Sistemi quasi–lineari 7

qa = M 2na , se, come e normalmente, si ha na > nu. L’errore massimo |eR(x)|e in questo caso dato da (M 2nu −M 2na)/2, cioe dalla semidifferenza dei duequanti. Se pero na e abbastanza piu grande di nu, si puo ancora ritenere cheeR(x) assuma tutti i valori in (−qu/2, qu/2].

Per il quantizzatore Qa valgono considerazioni analoghe a quelle relative aQu non appena il numero di bit associati alla parte frazionaria dei moltiplica-tori sia abbastanza grande.

-3q -2q -q

QTs(x)

3q

2q

q

-q

q 2q 3q x -2q -q

q

-q

eTs (x)

q 2q 3qx

-2q

Figura 1.3 Quantizzatore a troncamento simmetrico: caratteristica QTs(x) ed erroreeTs(x).

Troncamento simmetrico

Dato x, si rappresenti |x| nella forma: |x| = N+ q +r con N+ ≥ 0 e 0 ≤ r < q.La quantizzazione per troncamento simmetrico corrisponde a porre

QTs(x) = sign(x) N+ q (1.8)

Il campo di variazione di x risulta diviso negli intervalli di lunghezza q: [(Nq, (N+1)q) con N intero positivo, ((N−1)q, Nq] con N intero negativo, e nell’intervallodi lunghezza 2q: (−q, q), a cavallo dello zero. Il valore QTs(x) e dato, rispet-tivamente, dall’estremo sinistro, destro e dal punto centrale2.

La (1.8) corrisponde alla nozione usuale di troncamento in base 10, incui ad esempio il numero −5.7 troncato ad una cifra decimale diviene −5e, simmetricamente, 5.7 diviene 5. Analogamente, nel caso binario, dato unnumero x in notazione MS su n′ + 1 bit, la operazione di troncamento a n + 1bit, con n < n′, corrisponde a conservarne solo gli n bit piu significativi (e il bitdi segno, ovviamente). Nel caso il numero x sia in notazione C2 (come avviene

2La quantizzazione a troncamento simmetrico corrisponde alla istruzione Matlab: qx =fix(x/q) ∗ q.

8 1.2 Caratteristiche di quantizzazione

sempre per i segnali associati ai quantizzatori Qa e Qu) e ancora possibileoperare un troncamento secondo la (1.8). In questo caso pero l’operazione e”meno banale”, e corrisponde a rappresentare per arrotondamento su n + 1bit il numero di n′ + 1 bit: (x)c2 + (q/2)c2 con (·)c2 rappresentazione in C2dell’argomento.

La caratteristica QTs(x) di un quantizzatore a troncamento simmetrico eriportata in Fig. 1.3. Essa e simmetrica, QTs(−x) = −QTs(x), e gode dellaproprieta fondamentale di non amplificare, cioe vale la |QTs(x)| ≤ |x| per ognix.L’andamento dell’errore eTs(x) = QTs(x) − x e riportato ancora in Fig. 1.3,da cui risulta:

0 ≤ eTs(x) < q per x < 0−q < eTs(x) ≤ 0 per x > 0

(1.9)

e ovviamente si ha: |eTs| < q. Si osserva che il segno dell’errore dipende daquello del segnale (e sempre opposto a quello del segnale) e quindi questo tipodi quantizzazione tende ad introdurre un legame sistematico tra segnale x ederrore eTs(x).

Troncamento in complemento a due

QT2(x)

3q

2q

q

-3q -2q -q q 2q 3q x

-q

-2q

-3q

e T2(x)

-3q -2q -q

-q

q 2q 3qx

Figura 1.4 Quantizzatore a troncamento in complemento a due: caratteristica QT2(x)ed errore eT2(x).

Nella quantizzazione di un numero x rappresentato in complemento a duesu n′ + 1 bit (quindi solo nei quantizzatori Qa e Qu di Fig. 1.1 b), e pos-sibile ridurre la lunghezza di parola a n + 1 bit, con n < n′, troncando larappresentazione di x agli n + 1 bit piu significativi.

Capitolo 1. Sistemi quasi–lineari 9

La Fig. 1.4 riporta la caratteristica del quantizzatore QT2(x), che rapp-resenta la corrispondente operazione di troncamento, detta in complementoa due: per x ≥ 0 la caratteristica di quantizzazione coincide con quella deltroncamento simmetrico, mentre risulta diversa per x < 03. Se, infatti, siricorda che in complemento a due il bit piu significativo (e che segnala ilsegno del numero) ha peso negativo (Appendice A), ci si rende conto che, perx < 0, il troncamento della rappresentazione di x porta al numero negativorappresentabile con n + 1 bit minore o uguale a x. Ad esempio, se n′ = 11ed n = 7, a (x)c2 = 11111111.1111 corrisponde QT2(x) = 11111111, cioe alnumero negativo massimo su n′ + 1 bit corrisponde l’analogo su n + 1 bit.

La funzione QT2(x)/q = N e la funzione parte intera4 di x modulo q,caratterizzata dalla: Nq ≤ x < (N + 1) q, N ∈ Z, e corrisponde alla rappre-sentazione di x secondo la: x = N q + r con 0 ≤ r < q, con resto cioe semprenon negativo indipendentemente dal segno di x. In corrispondenza il campodi variazione di x risulta diviso negli intervalli di lunghezza q: [Nq, (N + 1)q),a ciascuno dei quali resta associato come valore rappresentativo l’estremo sin-istro.La caratteristica QT2(x) risulta dissimmetrica, cioe QT2(−x) 6= −QT2(x), perx 6= Nq, e si ha sempre QT2(x) ≤ x. Quindi il segno dell’errore eT2(x) eindipendente dal segno di x e risulta sempre:

−q < eT2(x) ≤ 0 (1.10)

Dall’esame delle caratteristiche di quantizzazione di Fig. 1.2, 1.3 e 1.4risulta che quella relativa all’arrotondamento dipende solo da q, mentre quellarelativa al troncamento dipende anche dalla notazione impiegata. In ogni casol’errore assoluto introdotto dalla quantizzazione uniforme e limitato e dipendesolo da q:

|eR(x)| ≤ q/2|eT (x)| < q,

(1.11)

mentre l’errore relativo aumenta al diminuire di x, a differenza di quantoavviene nella quantizzazione associata alla rappresentazione in virgola mobile,nella quale e il massimo assoluto dell’errore relativo ad essere costante su tuttoil campo dei numeri rappresentabili.Dalle considerazioni ora svolte appare evidente l’interesse, dal punto di vistadegli errori, ad usare un elevato numero di bit (q piccolo) e la tecnica dell’arrotondamento.(La caratteristica di ”non-amplificare” della quantizzazione a troncamento

3La quantizzazione a troncamento in complemento a due corrisponde alla istruzione Mat-lab: qx = floor(x/q) ∗ q.

4Si veda G. De Marco: ”Analisi zero”, Decibel, Padova, 1981

10 1.2 Caratteristiche di quantizzazione

simmetrico risulta invece utile per la soppressione dei cicli limite di piccolaampiezza.)Per quanto riguarda, ad esempio, il quantizzatore di ingresso Qi i convertitoriad approssimazioni successive operano un arrotondamento, mentre quelli incui si esegue un conteggio di impulsi in un certo intervallo di tempo (ad esem-pio, convertitori a rampa) operano un troncamento simmetrico. In entrambi,comunque, l’aumento del numero dei bit in uscita comporta un aumento delcosto e del tempo di conversione. Si osserva che convertitori A/D a 8, 10 o 12(talora 16) bit sono generalmente sufficienti in quasi tutte le applicazioni.

Per quanto riguarda Qa e Qc la tecnica di riduzione della lunghezza dellaparola di ingresso (arrotondamento o troncamento) e talora fissata dall’hardwarea disposizione, mentre in altri casi puo essere scelta dal progettista, ad esempionel caso in cui le operazioni vengano realizzate su un DSP : in questo caso ilnumero di bit per i coefficienti moltiplicatori e 12, 16, 24 bit, a seconda delprocessore, e il numero di bit associato alle variabili di stato e comunemente16 e talora 24 bit, a seconda del processore.

1.2.2 Quantizzatori logaritmici

_

_

x

2

1

1/2

1/4

1/4 1/2 1 2 x

er

2-3

2-4

x

2-4

2-3

Figura 1.5 Caratteristica di quantizzazione, Q(x), ed errore relativo, er(x), cor-rispondenti ad una rappresentazione in virgola mobile con mantissa su n + 1 = 4bit.

La rappresentazione in virgola mobile di un numero corrisponde alla scrit-tura x = f 2e con f (1 > |f | ≥ 1/2) ed e numeri in virgola fissa di n + 1 em + 1 bit, rispettivamente (si veda la Appendice A).

I numeri rappresentabili sono compresi tra (circa) −2m e 2m e, ordinati glix in ordine crescente, ogni numero differisce dal precedente di 2e−n, che rappre-

Capitolo 1. Sistemi quasi–lineari 11

senta il passo di quantizzazione. Esso e costante solo all’interno di ogni ottava,mentre raddoppia passando da una ottava alla successiva. La caratteristicadi quantizzazione e caratterizzata dall’avere errore assoluto massimo costanteall’interno di ogni ottava ed errore relativo massimo costante all’interno delcampo dei numeri rappresentabili.Dato il numero x da rappresentare e indicata con Q[x] l’operazione di quan-tizzazione della mantissa (spesso indicata con fl[x] dove fl sta per float), siha

x = Q[x] = x + x er(x) = x(1 + er(x)) (1.12)

dove max |er(x)| dipende (almeno finche non si ha overflow nella rappresen-tazione) dal tipo di quantizzazione: arrotondamento o troncamento. Nel casodi arrotondamento l’errore assoluto massimo non supera mezzo quanto, cioe2e−n/2, e quindi l’errore relativo soddisfa la:

|er(x)| =

x − x

x

≤ 2−n, (1.13)

mentre nel caso di troncamento simmetrico si ha: |er| < 21−n.

La Fig. 1.5 riporta, limitatamente a 3 ottave, la caratteristica di quantiz-zazione e l’errore relativo per n + 1 = 4, nel caso di arrotondamento.

Ricordiamo che la funzione y = f(x) caratterizzata da dy = k dx/x,cioe da ”errore relativo costante”, e la funzione logaritmo. Ne viene che laquantizzazione uniforme con quanto qy di y = sign(x) log |x| induce su xuna quantizzazione con quanto qx variabile con x che soddisfa la qy ' qx/xe che ha quindi errore relativo (massimo) costante. La x = Q(x) associataalla rappresentazione in virgola mobile e di tipo logaritmico nei riguardi dellacaratteristica, da cui il nome di quantizzazione logaritmica che le e stato dato.

1.3 Metodi di studio

Sulla base delle precedenti considerazioni si e ora in grado di associare ai variquantizzatori di Fig. 1.1 b) la loro reale caratteristica. Il sistema numericorisultante puo essere interpretato come un sistema non lineare a tempo dis-creto, la cui analisi presenta notevoli difficolta non appena il sistema sia piucomplesso di quello del primo ordine di Fig. 1.1. Per tale motivo le tecnichedi simulazione risultano particolarmente importanti in fase di progetto.

Ogni quantizzatore di Fig. 1.1 b) puo essere rappresentato ”formalmente”nel caso di notazione in virgola fissa mediante un modello ad errore additivo(Fig. 1.6 a), in cui cioe la non linearita viene rappresentata con un bloccolineare di guadagno unitario all’uscita del quale viene sommato l’errore e(x),funzione di x, e nel caso di virgola mobile mediante un modello ad erroremoltiplicativo, in cui viene sommato ad x l’errore er(x) x.

12 1.3 Metodi di studio

^ ^

a) b)

x

e(x)

x x

x e r (x)

x

Figura 1.6 Modello pseudo–additivo dell’errore di quantizzazione.

Si osserva che, noto il segnale di ingresso al quantizzatore, e sempre pos-sibile in linea di principio determinare il corrispondente segnale di errore e(x)(o xer(x) nel caso di virgola mobile). Usando questo modello il sistema diFig. 1.1 b) diviene quello di Fig. 1.7, in cui i valori effettivi dei vari segnali dierrore dipendono ovviamente dai segnali in gioco e quindi dall’ingresso x(kT )e dallo stato iniziale del sistema.

~x(t)

A/D ei

b’

ea1

S []

ea2

z-1

D/Aeu

0H (s) y(t)

a’

Figura 1.7 Modello del sistema di Fig. 1.1 b).

Dall’esame di Fig. 1.7 si possono trarre le seguenti conclusioni:

a) ea(kT ), ei(kT ) ed eu(kT ) possono far variare l’uscita, ma, essendo limitati,non possono influenzare la stabilita BIBO del sistema. Se la realizzazionee di tipo ricorsivo, cioe comprende anelli chiusi, come in Fig. 1.7, possonoverificarsi pero oscillazioni permanenti (dette cicli limite di piccola ampiezzao da granularita della caratteristica di quantizzazione ) limitate in ampiezza edovute ai quantizzatori in reazione (par 4.1.8). E evidente che tale compor-tamento deve essere evitato. Si osserva che in una realizzazione non ricorsiva(quindi priva di anelli chiusi) questo problema non si pone.

b) L’influenza di ei(kT ) sull’uscita (in assenza di altri quantizzatori) dipendeunicamente dalla funzione di trasferimento e non dalla realizzazione.

c) L’influenza di ea(kT ) sull’uscita dipende (sempre in assenza di altri quan-tizzatori) dalla funzione di trasferimento tra il punto dove l’errore e applicatoe l’uscita, e quindi dipende dalla realizzazione.

Capitolo 1. Sistemi quasi–lineari 13

d) Assunto un fondo scala unitario per i numeri rappresentati, la relazioneingresso-uscita, S(x), del sommatore e ”trasparente” per −1 ≤ x < 1, cioe siha S(x) = x. Per valori oltre il fondo scala si ha overflow, ed il valore restituitoS(x) dipende dalla caratteristica del sommatore. Ad esempio, in un somma-tore in complemento a due per |x| = |x1 + x2| > 1 si ha S(x) = x− 2 sign(x),e quindi l’errore: x − S(x) risulta sempre pari a due volte il fondo scala (siveda la Appendice A). Se, invece, si corregge la caratteristica introducendouna saturazione, l’errore risulta inferiore e dato da: x − S(x) = x − 1, perx > 1, e x − S(x) = x + 1, per x < −1. In ogni caso un overflow introduceun errore di notevole ampiezza, e il suo effetto e equivalente alla introduzione(all’istante in cui si verifica l’overflow) nella struttura di Fig. 1.7 di un im-pulso di ampiezza pari all’errore stesso. In una realizzazione ricorsiva esso sitraduce in un ”disturbo” di notevole entita il cui effetto si ripercuote anche suivalori calcolati negli istanti successivi, puo provocare altri overflow e, in con-dizioni particolarmente sfavorevoli legate alla realizzazione, alla aritmetica inC2 e all’ingresso, puo innescare oscillazioni di grande ampiezza (cicli limite digrande ampiezza o da overflow) che rendono inutilizzabile il sistema. (Questadescrizione dei possibili effetti perversi degli overflow in aritmetica a virgolafissa ha lo scopo di sensibilizzare alla importanza del problema. Nel par. 4.1.3si vedra come assicurarsi contro il verificarsi del fenomeno.)

e) Per effetto della quantizzazione dei coefficienti, associata a Qc, i poli e glizeri del sistema con i coefficienti quantizzati sono diversi da quelli del sistemalineare prototipo, e quindi la rappresentazione dei coefficienti con un numerofinito di cifre influenza la dinamica e la risposta in frequenza risultante.

Non esiste attualmente una teoria generale in grado di analizzare il com-portamento di un sistema numerico. In effetti, un sistema numerico e perdefinizione un sistema a stati finiti, ma la teoria relativa non risulta pratica-mente applicabile dato l’elevato numero di stati da considerare. I vari metodidi studio consentono di analizzare solo problemi particolari, considerando sep-aratamente l’effetto delle singole non linearita. Questo modo di procedere ein qualche modo giustificato se il comportamento del sistema numerico non siscosta molto da quello del sistema a tempo discreto prototipo, come avvienein un sistema ben progettato (sistema “quasi–lineare”). Questo modo di pro-cedere permette, inoltre, di rendersi conto dei fenomeni indesiderati che pos-sono essere presenti nel sistema numerico, e di suggerire gli accorgimenti nec-essari per evitarli.A questo proposito, nel seguito vedremo che per i sistemi “quasi–lineari” esiste,fortunatamente, una relazione fondamentale tra la sensibilita alla variazionedei coefficienti moltiplicatori e la robustezza numerica (insensibilita agli erroridi calcolo) della realizzazione adottata, nel senso che realizzazioni a piccola

14 1.3 Metodi di studio

(grande) sensibilita alle variazioni dei coefficienti sono anche numericamentemolto (poco) robuste e viceversa.

I metodi di studio di un sistema del tipo di Fig.1.2 si possono dividere in:

- metodi ”esatti”, in cui si considera l’effettivo andamento dei vari errorie[x(kT )] e, cioe, si studia l’effettivo sistema discreto non lineare;

- metodi ”approssimati”, in cui i vari errori vengono considerati come variabiliindipendenti dall’ingresso, e quindi come ingressi (indipendenti) del sistema,considerato lineare.

I metodi ”esatti” possono essere applicati solo a casi semplici e per lo stu-dio di particolari problemi. Per quanto riguarda i metodi ”approssimati”, essisono di tipo deterministico o probabilistico.Nel primo caso, fra tutte le sequenze di errore si considerano le sequenze checausano il massimo scostamento dell’uscita. Si tratta quindi di una appli-cazione del criterio del caso peggiore (”worst case”), che spesso fornisce risul-tati eccessivamente pessimistici.Nel secondo caso i vari errori vengono considerati come segnali aleatori, noncorrelati tra loro e con i segnali “utili” in gioco, e se ne studia l’influenzasull’uscita . In tal modo, pero, non viene reso conto dei fenomeni determinis-tici (tipo cicli limite), che richiedono una analisi a parte.

Capitolo 2

Effetti della quantizzazione dei coefficienti

moltiplicatori

2.1 Introduzione

Data una realizzazione di una funzione di trasferimento H(z), la H(z) risultafunzione dei coefficienti moltiplicatori: c1, c2...cL che intervengono nella real-izzazione. In generale quindi si puo scrivere: H(z; c), dove c e il vettore deicoefficienti.

I coefficienti vengono rappresentati su nc+1 bit nel sistema numerico sceltoe quindi ogni parametro subisce una quantizzazione. Ne deriva che (nell’ipotesidi trascurare gli errori introdotti dalle altre operazioni di quantizzazione) lafunzione di trasferimento corrispondente e data da: H(z; c + dc), dove dc e laperturbazione del vettore c dovuta alla quantizzazione, ed e quindi una fun-zione di trasferimento diversa da quella di partenza. (Il problema e analogo aquello che si incontra nella sintesi di una f.d.t. H(s) mediante reti elettriche,attive o passive, quando si tenga conto delle tolleranze dei componenti.)Si osserva inoltre che, anche se nel seguito le variazioni dei coefficienti sarannoattribuite alla quantizzazione, molte delle considerazioni che verranno esposterimangono valide anche quando le dc sono di natura diversa. In particolare,in un sistema di controllo numerico a catena chiusa, la f.d.t. che rappresentail processo da controllare puo avere dei coefficienti affetti da incertezze o ad-dirittura lentamente variabili nel tempo.

Per piccoli scostamenti risulta:

H(z; c + dc) = H(z, c) +L∑

i=1

∂H

∂cidci + · · · (2.1)

da cui

∆H(z; c) 'L∑

i=1

∂H

∂cidci =

L∑

i=1

(

ci∂H

∂ci

)

dci

ci, (2.2)

dove le derivate sono calcolate in corrispondenza dei valori nominali dei parametrici . La (2.2) esprime la sensibilita assoluta della funzione di trasferimentorispetto a variazioni (assolute la prima e relative la seconda) dei coefficientidella realizzazione.

16 2.1 Introduzione

E evidente che una realizzazione e ”migliore” di un’altra dal punto di vistadella sensibilita alle variazioni dei coefficienti, se presenta un valore minoredi |∆H(z; c)|, a parita di numero di bit utilizzati per la rappresentazione deicoefficienti.Si osserva che in certe realizzazioni esistono moltiplicatori ci e cj con i 6= jche sono vincolati ad avere valori e quindi variazioni uguali. Cio accade, adesempio, nella realizzazione in forma diretta di f.d.t. “passa-tutto” e nellerealizzazioni a traliccio a due e a quattro moltiplicatori. In tal caso nella (2.2)gli addendi corrispondenti vanno riscritti come: (∂H/∂ci + ∂H/∂cj) dcij condcij = dci = dcj .

Note le ∂H/∂ci, che dipendono dalla realizzazione scelta, e possibile in gen-erale scegliere i coefficienti c′i = ci +dci in modo da rendere minimo |∆H(z; c)|nella regione di interesse del piano z (tipicamente sul cerchio di raggio unitario:|z| = 1). In tal caso il problema diviene quello della minimizzazione a numeriinteri di una funzione quadratica. In alternativa (ed e la soluzione migliore)e possibile costruire la H(z, c) a partire dalle specifiche, tenendo conto dellanatura quantizzata dei coefficienti gia in fase di sintesi [36], [2].

Dalla prima delle (2.2) si ha:

| |H(z; c + dc)| − |H(z; c)| | ≤ |∆H(z; c)| ≤L∑

i=1

∂H

∂ci

max(|dci|) (2.3)

che, utilizzando la |dci| < q o q/2 nella ipotesi qi = q per tutti i coefficienti,consente di stimare il massimo valore di q (e quindi il minimo numero di bitnc + 1) per il quale lo scostamento del modulo risulti inferiore ad un certovalore prefissato.La (2.3), valutata per z = ejθ con θ = 2πfT e T periodo di campionamento,fornisce il massimo dello scostamento del modulo della risposta in frequenzadovuto all’errore di quantizzazione dei coefficienti. Essa fornisce una stimain genere molto pessimistica dello scostamento massimo, in quanto in essaviene considerata la combinazione dei dci che provoca il massimo scostamento|∆H(z)|. Per una stima meno pessimistica si possono considerare le variazionidci come variabili aleatorie indipendenti, con densita di probabilita uniforme,ottenendo una stima di tipo probabilistico per |∆H(z; c)| come illustrato in2.6.

Nel caso interessi lo scostamento corrispondente ad una rappresentazionein virgola mobile dei coefficienti, la seconda delle (2.2) porge la maggiorazione:

|∆H(z; c)| ≤L∑

i=1

ci∂H

∂ci

max(

dci

ci

), (2.4)

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 17

che, posto max(|dci/ci|) = er per tutti i coefficienti, consente di stimare lamassima deviazione corrispondente all’errore relativo (massimo) er da cui sonoaffetti i coefficienti ci.

2.2 Calcolo della sensibilita

Per il calcolo della funzione sensibilita e possibile ricorrere ad una proprietagenerale dei sistemi lineari, che consente di ricondurre il calcolo delle derivateparziali ∂H/∂ci a quello di due funzioni di trasferimento associate alla realiz-zazione della f.d.t.

Si consideri una realizzazione, <, di H(z) e si metta in evidenza, comeillustrato in fig. 2.1, il coefficiente moltiplicatore ci rispetto al quale si vuoledeterminare la sensibilita. Il sistema lineare a due ingressi, U1(z) = X(z) eU4(z), ed a due uscite, Y2(z) = Y (z) e Y3(z), ottenuto estraendo dal sistemadi partenza il coefficiente ci, e descritto in termini di trasformate zeta da:

Y2 = T12U1 + T42U4

Y3 = T13U1 + T43U4(2.5)

dove le quattro trasferenze Tmn(z) sono funzioni razionali in z, definite da:

Tmn(z) =Yn(z)

Um(z)

Ul(z)=0

l 6= m. (2.6)

La realizzazione risulta descritta dalle (2.5) e dalla equazione che porge illegame tra Y3 e U4 associato al coefficiente moltiplicatore ci:

U4 = ciY3. (2.7)

Dalle (2.5) e (2.7) risulta:

H(z) =Y2(z)

U1(z)= H12 = T12 + ci

T42T13

1 − ciT43(2.8)

H13(z) =Y3(z)

U1(z)=

T13

1 − ciT43(2.9)

Si valuti ora la f.d.t. H42(z) = Y2(z)/W (z) con riferimento alla Fig. 2.1b). La (2.7) diviene:

U4(z) = ciY3(z) + W (z) (2.10)

e quindi:

H42(z) =Y2(z)

W (z)=

T42

1 − ciT43(2.11)

18 2.2 Calcolo della sensibilita

3 4

y

y u

c

1 2

2

3 4

u1

ib)

=0

w

3 4

y

y u

c

1 2

2

3 4

u1

ia)

R R

Figura 2.1 Per il calcolo di ∂H/∂ci.

In conclusione dalla (2.9) risulta:

∂H

∂ci=

∂H12

∂c34=

T42T13

(1 − ciT43)2= H13(z) H42(z). (2.12)

dove si e posto H = H12 (trasferenza che porta dal nodo 1 al nodo 2) e ci = c34

(trasferenza che porta dal nodo 3 al nodo 4) per facilitare la memorizzazionedella (2.12).

La sensibilita della f.d.t. H(z) = H12(z) alle variazioni del coefficientemoltiplicatore ci = c34 e quindi data dal prodotto della f.d.t. H13(z) che portadall’ingresso X(z) = U1(z) (nodo 1) all’ingresso del moltiplicatore c34 (nodo 3)e della f.d.t. H42(z) che lega l’uscita del moltiplicatore c34 (nodo 4) all’uscitaY2(z) = Y (z) (nodo 2).Si osserva che e notevole che la derivata ∂H/∂ci possa essere espressa medianteil prodotto di due funzioni di trasferimento, ciascuna ottenibile con una analisiin regime lineare della realizzazione, <, di H(z). Si osserva inoltre che lasensibilita rispetto al coefficiente c34 e la stessa nella realizzazione, <, e nellarealizzazione duale, <t, ottenuta da < mediante trasposizione, cioe invertendoi versi delle varie trasferenze del grafo associato, e scambiando l’ingresso conl’uscita.

Esempio. Si consideri una realizzazione a variabili di stato:

s(k + 1) = As(k) + bx(k)y(k) = cs(k) + dx(k)

(2.13)

con s(k) vettore di stato N × 1, x(k) e y(k) ingresso e uscita scalari e conA = [aij ], b = [bi], c = [ci] matrici N × N , N × 1, 1 × N , rispettivamente, ed scalare.Si ha H(z) = c(zI−A)−1b + d e se ne calcoli la sensibilita alle variazioni deicoefficienti. Si trova direttamente o tramite la (2.12):

∂H

∂bi= [c(zI −A)−1]i = Gi(z)

∂H

∂ci= [(zI −A)−1b]i = Fi(z)

(2.14)

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 19

dove [v]i indica la componente i–esima del vettore (riga o colonna) v, Gi(z)denota la f.d.t. dal nodo associato alla variabile di stato “futura” si(k + 1) alnodo di uscita e Fi(z) la f.d.t. dall’ingresso alla variabile di stato si(k).Si ha quindi tramite la (2.12) (il moltiplicatore aij collega il nodo associatoalla variabile di stato sj(k) a quello associato alla variabile di stato “futura”si(k + 1)) o tramite un meno immediato calcolo diretto

∂H

∂aij= Fj(z)Gi(z). (2.15)

e quindi ∂H/∂aij risulta pari al prodotto delle due sensibilita ∂H/∂bi e ∂H/∂ci.

Ha particolare interesse valutare la (2.12) per z = ejθ, ottenendo in talcaso la sensibilita della risposta in frequenza alle variazioni dei coefficientimoltiplicatori. La analisi puo essere condotta in modo automatico medianteun programma di calcolo che valuti la (2.12) su una griglia di punti zk = ejθk

distribuiti sul cerchio di raggio unitario. In tal caso risulta particolarmenteconveniente calcolare il valore H42(ejθ) come il valore H t

24(ejθ) della realiz-zazione ottenuta per trasposizione, <t , dato che con una sola analisi dellarealizzazione trasposta e possibile calcolare le trasferenze H t

2n(ejθ) associatea tutti i coefficienti cmn, cosı come una sola analisi di < fornisce tutte letrasferenze H1m(ejθ).

La (2.12) consente di valutare anche la sensibilita di modulo e fase diH(ejθ). Infatti si ha:

H(ejθ) = |H(ejθ)|ejφ(θ); ln H(ejθ) = ln |H(ejθ)| + jφ(ejθ) (2.16)

da cui si ottiene la relazione:

1

H

∂H

∂ci=

1

|H|∂|H|∂ci

+ j∂φ

∂ci(2.17)

che consente di risalire a ∂|H|/∂ci ed a ∂φ/∂ci dalla conoscenza di ∂H/∂ci eH.

Inoltre, tenuto conto che ∂H13/∂c34 = H13H43 e ∂H42/∂c34 = H43H42,dalla (2.12) si ottiene:

∂2H12

∂c234

= 2H13H42H43 = 2H43∂H12

∂c34. (2.18)

In generale, per la derivata n–esima si ha:

∂nH12

∂cn34

= n!Hn−143

∂H12

∂c34= nH43

∂n−1H12

∂cn−134

(2.19)

20 2.3 Sensibilita di poli e zeri

Tali relazioni mostrano che la variazione ∆H12 dipende solo dalle tre f.d.t.H13, H42 e H43, qualsiasi sia la entita della variazione ∆c34. Ritroveremoqueste f.d.t. nel Cap. 4 quando tratteremo della propagazione degli errori dicalcolo.

Si osserva infine che dalla (2.9) si puo dedurre il cosiddetto ”teorema bi-lineare” [42]. Infatti da (2.9) risulta che, in generale, la dipendenza di unaqualsiasi f.d.t. H(z) da un qualsiasi parametro c e del tipo:

H(z; c) =α(z) + β(z) c

γ(z) + δ(z) c(2.20)

con α(z), β(z), δ(z) e γ(z) opportune funzioni razionali (indipendenti da c), equindi H(z) e una funzione bilineare del parametro c. Essa e individuata, inaccordo con la (2.19), dalla conoscenza al massimo di tre funzioni razionali, lequali riassumono la dipendenza della f.d.t. dal parametro. (La (2.9) e un casoparticolare corrispondente a: α = 0, T13 = β/γ e T43 = −δ/γ, e analogamentela (2.10)).Conseguenza notevole della dipendenza di tipo bilineare e che fissato z, adesempio z = z0 = ejθ0 , se il parametro c e complesso e varia su un cerchio(c = c0+r ejφ con 0 ≤ φ ≤ 2π), che eventualmente puo degenerare in una retta(ad esempio, nell’asse reale), corrispondentemente il vettore H(z0; c) descriveanch’esso un cerchio (eventualmente degenere) di raggio e centro dipendentida α(z0), β(z0), γ(z0) e δ(z0).

2.3 Sensibilita di poli e zeri

Il calcolo di ∂H/∂ci a partire dalla realizzazione non e sempre agevole. Epossibile, pero, giungere ad alcune conclusioni generali mediante le seguenticonsiderazioni.

I poli, pj, e gli zeri, zj, costituiscono una parametrizzazione particolar-mente significativa di una f.d.t., H(z), e sono funzioni dei coefficienti ci dellarealizzazione in esame, per cui risulta:

∂H

∂ci=

N∑

j=1

∂H

∂pj

∂pj

∂ci+

M∑

j=1

∂H

∂zj

∂zj

∂ci(2.21)

dove le derivate vanno (al solito) valutate in corrispondenza dei valori nominalidei poli e degli zeri, e dei coefficienti.Per quanto riguarda i valori di ∂H/∂pj e ∂H/∂zj , considerata H(z) in formafattorizzata:

H(z) =B(z)

A(z)= b0

∏Mi=1(1 − ziz

−1)∏N

i=1(1 − piz−1)(2.22)

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 21

risulta (nella ipotesi di poli semplici):

∂H

∂pj= H(z)

z−1

1 − pjz−1(2.23)

da cui:∂H/H

∂pj/pj=

pjz−1

1 − pjz−1(2.24)

Analogamente per gli zeri si ottiene:

∂H

∂zj= H(z)

−z−1

1 − zjz−1(2.25)

∂H/H

∂zj/zj=

−zjz−1

1 − zjz−1(2.26)

Queste relazioni valutate per z = ejθ forniscono la sensibilita della rispostain frequenza alle variazioni dei poli e degli zeri. Le sensibilita date dalle (2.24)e (2.26) risultano massime per θ = arg(pj) e θ = arg(zj) ed aumentano per|pj | → 1 e |zj | → 1.

E interessante osservare che nella (2.21) le derivate ∂H/∂pj e ∂H/∂zj

dipendono solamente dagli zeri e poli di H(z), e misurano la difficolta ”intrin-seca” di realizzare la H(z) stessa, mentre ∂pj/∂ci e ∂zj/∂ci dipendono dallarealizzazione scelta, e misurano la sensibilita dei poli e degli zeri a piccoleperturbazioni nei coefficienti della realizzazione.

A causa della discretizzazione dei coefficienti ci, dovuta alla quantizzazione,i poli e gli zeri possono occupare un numero finito di posizioni nel piano z(griglia degli zeri e dei poli): ad ogni realizzazione corrisponde una griglia di-versa.Con riferimento ai poli (per gli zeri valgono considerazioni analoghe), definitii vettori p = [p1, · · · , pN ]t e c = [c1, · · · , cL]t e la matrice Jacobiana J =[∂pj/∂ci] della trasformazione p = f(c) che lega i coefficienti ai poli, si ha∆p ' J∆c, e quindi lo scostamento ∆p risulta piccolo (grande) nelle regionidove il valore assoluto dello jacobiano assume valori piccoli (grandi). Con-seguentemente ci si puo attendere una densita elevata (piccola) della grigliadei poli dove lo jacobiano assume valori piccoli (grandi). A questo propositosarebbe desiderabile individuare per ogni H(z) la realizzazione cui corrispondelo jacobiano che ha valori minimi in corrispondenza dei valori nominali deiparametri della realizzazione.

Esempio 1. Si consideri il sistema di fig. 1.1 in cui a = 0.95, e si impongaun guadagno statico unitario: b = 1 − a = 0.05. I corrispondenti codici

22 2.4 Realizzazioni in forma diretta, cascata e parallelo

binari sono: a = (0.11110011001100 · · ·)c2, b = (0.0000110011001100 · · ·)c2;utilizzando 8 bit e troncamento si ha: a′ = (0.1111001)c2 = (0.9453)10 e b′ =(0.0000110)c2 = (0.046875)10 . Il polo del sistema originale e in z = a = 0.95,e per effetto della quantizzazione si sposta in z = a′ = 0.9453. Il guadagnostatico varia da 1 al valore: H ′(1) = b′/(1 − a′) = 0.857, e quindi, anche se larappresentazione di a e b su 8 bit comporta un errore inferiore a 2−7, pari allo0.8% del fondo scala, il guadagno risulta variato di circa il 14%.Si consideri ora il problema di stimare il numero di bit necessari affinche ilguadagno H(1) vari meno del 5%. Utilizzando il fatto che q = 2−nc e ilmassimo errore di troncamento per a e b:

∆H(1) '∣

db

1 − a+

b da

(1 − a)2

≤∣

db

1 − a

+

b da

(1 − a)2

(2.27)

≤ 2−nc

(

1

1 − a+

b

(1 − a)2

)

< 0.05 (2.28)

Da tale relazione risulta che |∆H(1)| aumenta al crescere di a, cioe all’avvicinarsidel polo al cerchio di raggio unitario. Nel caso attuale risulta nc > 9.6, cioenc + 1 = 11 bit. Il numero di bit cosı determinato rappresenta una stimapessimistica di nc; si verifica infatti che sono sufficienti nc + 1 = 10 bit.In questo esempio l’effetto della quantizzazione dei coefficienti puo esseredimezzato approssimando il valore a = 0.95 mediante arrotondamento. Cor-rispondentemente si ha:

a′ = (0.1111010)c2 = (0.953125)10 , b′ = (0.0000110)c2 = (0.046875)10 ,

per cui il guadagno H(1) non viene influenzato dalla quantizzazione. Si puo,infatti, verificare che per il sistema considerato tale situazione si verifica perogni valore di a′ = QR[a] e b′ = QR[1 − a].

2.4 Realizzazioni in forma diretta, cascata e parallelo

Si consideri la realizzazione in forma diretta di H(z):

H(z) =

∑Mi=0 biz

−i

1 −∑Ni=1 aiz−i

=B(z; b)

A(z; a)(2.29)

nella quale i coefficienti moltiplicatori che intervengono nella realizzazione sonoi coefficienti bi e ai che definiscono i polinomi a numeratore e a denominatore.Lo studio dell’effetto della quantizzazione di ai e bi sui poli e sugli zeri deipolinomi B(z; b) e A(z; a) puo essere risolto col metodo del luogo delle radicifacendo variare un coefficiente alla volta. Per piccole variazioni dei coefficientie possibile ricorrere ad una linearizzazione, e ricavare delle indicazioni di tipo

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 23

generale. Ogni radice pi dell’equazione A(z; a) = 0, risulta una funzione pi(a)dei coefficienti per cui si puo scrivere:

dpi =N∑

k=1

∂pi

∂akdak (2.30)

Per il calcolo di ∂pi/∂ak si consideri il polinomio A(z; a) espresso in formadiretta e in forma fattorizzata (per semplicita si suppongono i poli semplici):

A(z; a) = 1 −N∑

k=1

akz−k =

N∏

k=1

(1 − pkz−1) (2.31)

e si derivino entrambe le espressioni rispetto al coefficiente ak. Si ottiene:

∂A

∂ak= −z−k =

N∑

j=1

−z−1N∏

n=1;n6=j

(1 − pnz−1)

∂pj

∂ak(2.32)

Valutando le due espressioni ottenute in z = pi risulta:

−p−ki = −p−1

i

N∏

n=1;n6=i

(1 − pn/pi)∂pi

∂ak(2.33)

e quindi si ha:

∂pi

∂ak=

pN−ki

∏Nn=1;n6=i(pi − pn)

(2.34)

∆pi ' pN−1i da1 + · · · + pi daN−1 + daN

∏Nn=1;n6=i(pi − pn)

(2.35)

La (2.34) esprime la sensibilita del polo pi rispetto al coefficiente ak nelcaso di realizzazione diretta, e la (2.35) la variazione del polo pi corrispondentea piccole variazioni dei coefficienti ak, k = 1, .., N .

Con riferimento alla (2.34) si osserva che:

1 - poiche |pi| < 1 (sistema stabile) il modulo del numeratore della (2.34)cresce esponenzialmente con k da |pi|N−1 a 1. Risulta quindi che le variazioniche influenzano maggiormente i poli sono le variazioni del coefficiente aN =−∏i(−pi);

2 - il modulo del numeratore della (2.34) cresce per |pi| → 1;

3 - il modulo del denominatore e pari al prodotto delle distanze dei poli pn dalpolo in esame pi. La sensibilita aumenta quanto piu vicini sono i poli tra loro(quindi nei filtri a banda stretta) ed all’aumentare dell’ordine N.

24 2.4 Realizzazioni in forma diretta, cascata e parallelo

Si osserva che, essendo sup |pn−pi| = 2, la situazione piu favorevole si incontrain sistemi in cui i poli sono equispaziati, cioe per pn = r ej2πn/N . Purtroppotale configurazione di poli si incontra raramente in pratica.La situazione piu critica si verifica nel caso di ”grappoli” di poli complessi econiugati prossimi a z = ±1, quali si presentano in filtri passa-basso (o passa-alto) di ordine elevato con frequenza di taglio molto piu piccola della frequenzadi campionamento o prossima alla meta della frequenza di campionamento. Se,ad esempio, si ha |pn| = 0.8 e max |pn − pi| = 1/10 , dalla

dpi

pi

'

n6=i

pn

pi − pn

daN

aN

si ottiene che la variazione |daN/aN | viene amplificata 8, 3 · 103 e 108 volteper N = 2, 5 e 10, rispettivamente.

-1

z -1z -1

z -1

z -1

z -1

z

x(k) y(k)

a

b

b

b

a1 1

2 2

0

α

α

x(k)

b’c

βd

y(k)

−β

b’

c

1

2

2

1

b)

c)

a)

x(k)

y(k)

k

dd

-k

d

k2

1

1

2 0

-k2 1

Figura 2.2 Funzione di trasferimento del secondo ordine: a) realizzazione in formadiretta, b) a variabili di stato e c) a traliccio a due moltiplicatori.

Queste considerazioni spiegano perche la realizzazione in forma diretta dif.d.t. I.I.R. di ordine elevato debba essere guardata sempre con ”sospetto” an-che in ambiente con aritmetica in virgola mobile (devono in particolare esseresempre effettuate con molta cautela tutte le manipolazioni che coinvolgonodirettamente i coefficienti di un polinomio), non venga mai impiegata in am-biente con aritmetica in virgola fissa e le si preferiscano realizzazioni a minore

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 25

sensibilita, come ad esempio le realizzazioni cascata o parallelo di f.d.t. delprimo o secondo ordine che, anche se realizzate in forma diretta, corrispondonoalmeno a ”piccoli” valori di N .

In linea di principio, considerazioni analoghe valgono anche per il numera-tore della (2.29) e quindi per la realizzazione in forma diretta di f.d.t. F.I.R..Fortunatamente, pero, in pratica non si incontrano quasi mai ”grappoli dizeri”, per cui la realizzazione in forma diretta e la realizzazione piu usata peri F.I.R. (si vedano gli esempi 2 e 3 del par. 2.5).

Si consideri ora la realizzazione in cascata, la quale fa riferimento all’espressionefattorizzata di H(z). Per poli reali la realizzazione risulta una combinazionein cascata di f.d.t. del tipo:

H(z) =1 − z1z

−1

1 − p1z−1(2.36)

I coefficienti sono i poli e gli zeri di H(z): gli errori massimi su di essi dovutialla quantizzazione sono facilmente determinabili a priori sulla base del nu-mero di bit scelto.Nel caso di coppie di poli complessi e coniugati, la f.d.t elementare da consid-erare risulta:

H(z) =b0 + b1z

−1 + b2z−2

1 − a1z−1 − a2z−2(2.37)

Se per essa si utilizza una realizzazione in forma diretta (Fig. 2.2 a), poli ezeri risultano legati ai coefficienti da relazioni semplici. Ad esempio, per lacoppia di poli complessi coniugati : p1,2 = α ± jβ = re±jθ0 risulta:

a1 = p1 + p2 = 2r cos θ0

a2 = −p1p2 = −r2 (2.38)

e per |p1,2| < 1 si ha: |a2| < 1 e |a1| < 2 (si ricorda che la condizione esolo necessaria, dato che la regione di stabilita nel piano (a1, a2) e il triangolo−1 < a2 < |a1| + 1).A causa della quantizzazione dei coefficienti a1 e a2, la griglia delle posizionipossibili dei poli e data dall’intersezione dei cerchi di raggio

Q[−a2] conle rette Re(z) = Q[a1/2]. In fig. 2.3 a e riportata (limitatamente al primoquadrante) la griglia dei poli corrispondente ad una rappresentazione in virgolafissa di a1 e a2 su nc + 1 = 5 bit, nel formato:

(a1)c2 = b1b0.b−1b−2b−3 (a2)c2 = b0.b−1b−2b−3b−4,

con bi ∈ (0, 1). I coefficienti a1/2 e a2 risultano numeri del tipo I · 2−4 conI = −16,−15, .., 0, .. + 15. Corrispondentemente risultano realizzabili solo i

26 2.4 Realizzazioni in forma diretta, cascata e parallelo

valori del modulo r pari a:

0, 0.25, 0.35, 0.43, 0.5, 0.56, 0.61, 0.66, 0.71, 0.75, 0.79, 0.83, 1.

La figura 2.3 b) e relativa al caso nc + 1 = 8bit.Si osserva che le posizioni possibili dei poli si addensano verso la periferia e perθ0 = ±π/2, in accordo con le considerazioni generali fatte sulla realizzazionein forma diretta e con le proprieta dello jacobiano della mappa: α = a1/2 e

β =√

(4a2 − a21)/4 con p1,2 = α ± jβ.

In Fig. 2.2 b e riportata una realizzazione ”a variabili di stato” (A,b, c, d),con A matrice 2 × 2, b vettore colonna 2 × 1, c vettore riga 1 × 2 e d scalare,della f.d.t. del secondo ordine (2.37). In questo caso la quaterna (A,b, c, d)soddisfa la H(z) = c(zI −A)−1b + d e si hanno 9 gradi di liberta e 5 vincoli.In particolare si ha d = b0, ed i poli di H(z) sono le soluzione della equazione|(zI − A)| = 0, alla quale nel caso di poli complessi p1,2 = α ± jβ = r ejθ0

corrispondono le equazioni di vincolo sugli elementi di A:

|A| = p1p2 = r2 tr(A) = p1 + p2 = 2α

con tr(·) traccia della matrice in argomento. La matrice A di aggiornamentodello stato di Fig. 2.2 b) e data da:

A =

[

α −ββ α

]

(2.39)

e la realizzazione corrispondente viene spesso detta in ”forma accoppiata”. Lamatrice A e interpretabile come il prodotto di una matrice di rotazione e diuna matrice “cambio di scala” e gode della proprieta AAt = AtA = r2I.Ai coefficienti moltiplicatori, α e β, che compaiono in Fig. 2.2 b) corrispondeuno jacobiano unitario: corrispondentemente la loro rappresentazione in vir-gola fissa da luogo ad una griglia dei poli distribuita uniformemente nel quadrato|α|, |β| < 1, come illustrato in Fig. 2.3 c) (limitatamente ai poli interni al cer-chio di raggio unitario) per nc + 1 = 5 bit e in Fig. 2.3 d) per nc + 1 = 8 bit .

In Fig. 2.2 c) e riportata la realizzazione a traliccio ”a due moltiplicatori”(si veda par. 4.1.6) della f.d.t.

H(z) =1 + b1z

−1 + b2z−2

1 − a1z−1 − a2z−2=

2∑

i=0

diAi(z)

A2(z)(2.40)

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 27

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

a)0 0.2 0.4 0.6 0.8 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

b)

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

c)0 0.2 0.4 0.6 0.8 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

d)

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

e)0 0.2 0.4 0.6 0.8 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

f)

Figura 2.3 Griglia dei poli corrispondente a nc +1 = 5 e 8 bit: a) e b) realizzazione informa diretta; c) e d) realizzazione a variabili di stato; e) e f) realizzazione a traliccioa due moltiplicatori.

28 2.4 Realizzazioni in forma diretta, cascata e parallelo

In essa si ha: a1 = −k1(1 + k2) e a2 = −k2 , e nel caso di poli complessiconiugati r e±jθ0 risulta:

r =√

k2 cos θ0 = −k1(1 + k2)

2√

k2(2.41)

Le Fig. 2.3 e) e f) riportano, rispettivamente, le griglie dei poli corrispon-denti alla rappresentazione di k1 e k2 come frazioni su nc + 1 = 5 e 8 bit (laregione di stabilita e il quadrato (|k1|, |k2| < 1)). La distribuzione dei poli enon uniforme ed e simile a quella di Fig. 2.3 a) e b).

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

a)−2 −1.5 −1 −0.5 0 0.5 1 1.5 20

0.5

1

1.5

b)

Figura 2.4 Esempi di griglie degli zeri in una realizzazione a traliccio con coefficientidi rappresentati su 8 bit.

Per quanto riguarda gli zeri della H(z), nel caso di zeri complessi coniugati:z1,2 = rz e±jθz , sussistono le tre relazioni:

d2 = b2 = r2z

d1 + d2k1(1 + k2) = b1 = −2rz cos θz

d0 + d1k1 + d2k2 = b0 = 1(2.42)

da cui risulta:

rz =√

d2 cos θz = f(d1, d2; k1, k2) (2.43)

Essendo il numeratore ottenuto per via ”indiretta” come somma pesata∑

i diAi(z) dei polinomi Ai(z) che sono funzione di k1 e k2, la posizione deglizeri e funzione anche dei valori k1 e k2 (quindi dei poli), e quindi una quan-tizzazione di k1 e k2 influenza anche la griglia degli zeri.La Fig. 2.4 illustra la griglia degli zeri ottenibile con i coefficienti di (e ki)rappresentati su nc + 1 = 8 bit, per:

r = 0.9, θ0 = π/4; k1 ' −0.07, k2 ' 0.8125.

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 29

La Fig. 2.4 a) si riferisce al caso |di| < 1 e la Fig. 2.4 b) al caso |di| < 2.Si osserva che in questo caso e conveniente, una volta quantizzati i coefficientiki, ricalcolare i polinomi Ai(z) a partire dai valori k′

i = Q[ki], ottenendo i poli-nomi A′

i(z), e quantizzare i coefficienti d′i associati alla B(z) =

i d′iA′i(z).

In questo modo si disaccoppiano (parzialmente) i problemi di quantizzazioneassociati ai poli ed agli zeri.Questo procedimento e sempre consigliabile quando il numeratore B(z) dellaf.d.t. venga ottenuto come somma pesata (come avviene in una realizzazioneparallelo o in una realizzazione a variabili di stato).

In alternativa alla realizzazione cascata si puo considerare la realizzazioneparallelo che fa riferimento allo sviluppo in frazioni parziali di H(z), e perla quale i blocchi da considerare sono ”simili” a quelli di Fig. 2.2. Per ipoli valgono le considerazioni svolte in relazione alla realizzazione in cascata,mentre gli zeri risultano legati ai coefficienti dello sviluppo in frazioni parzialiin modo complesso (analogamente a quanto visto per la realizzazione a tralicciodi una f.d.t. del secondo ordine). Quando la posizione degli zeri e moltoimportante per determinare alcune caratteristiche della H(z) (come si verificaper gli zeri di un filtro ellittico nei confronti del comportamento nelle ”bandeattenuate”), puo risultare quindi conveniente ricorrere alla realizzazione incascata.

Non esiste una metodologia generale per scegliere la realizzazione piu op-portuna di una data H(z) dal punto di vista della sensibilita alla quantiz-zazione dei coefficienti. Nella letteratura sull’argomento sono state propostenumerose varianti alle realizzazioni classiche, ciascuna delle quali adatta a par-ticolari applicazioni. Tra queste sono risultate particolarmente importanti lerealizzazioni a variabili di stato a minimo rumore di calcolo [46, 47, 57], adattea f.d.t. di tipo generale, e trattate nel par. 4.1.7, e quelle proposte da Fettweis[15, 16], denominate ”filtri numerici d’onda” (wave digital filters) e derivate,mediante opportune trasformazioni, da reti L−C a scala largamente utilizzatanei filtri analogici per la loro bassa sensibilita alle tolleranze dei componentielettrici (recentemente sono state ”reinterpretate” in [67] e rese indipendentidalla loro origine analogica). Ad esse e dedicato il par. 2.7.4.

30 2.5 Normalizzazione dei coefficienti

2.5 Normalizzazione dei coefficienti

In tutte le realizzazioni di una f.d.t. l’operazione fondamentale e la operazionedi somma pesata (o prodotto interno):

s(k) =r∑

i=1

cixi(k)

dove ci e xi sono, rispettivamente, i coefficienti moltiplicatori e le variabiliinterne che concorrono a determinare l’uscita s(k) di un nodo sommatore. Siconsideri l’esempio di Fig. 2.5, dove le variabili e i coefficienti sono rappresen-tati in C2.

z -1

z -1

y = 1.75 x

y = .75 x

2

3

2

3

s = x + y +y2 31

sx

x

x

1

2

3

.75

1.75

Figura 2.5 Per la normalizzazione dei coefficienti.

Si supponga che per x1, x2 e x3 si sia adottata la convenzione dei numerifrazionari (|xi| < 1), e che la realizzazione sia stata opportunamente normal-izzata in modo che non si verifichi overflow, cioe s appartenga al campo deinumeri frazionari rappresentabili (|s| < 1 per ogni |x1| < 1, si veda par. 4.1.3).Se vengono impiegati n + 1 = 4 bit per xi e ci risulta:

c2 = 0.75 → 0.110; xi → b0.b−1b−2b−3

c3 = 1.75 → 01.11

mentre il coefficiente c1 = 1 non deve essere ovviamente rappresentato. Levariabili y2 e y3 siano disponibili come parole binarie di 2n + 1 = 7 bit, 1 e sisupponga di eseguire la somma, s, con un sommatore a 7 bit per cui i numeri

1Nell’esempio si e supposto che sia |x| < 1, cioe che non sia rappresentato il valorex = −1 (peraltro rappresentabile in C2), e che il moltiplicatore tenga conto di questo fatto.In caso contrario, per poter rappresentare correttamente anche il prodotto (1.000×10.00)c2 =(010.00000)c2 = (2)10 corrispondente ad un coefficiente c = −2, sarebbero necessari 2n+2 =8 bit, e nella rappresentazione di y2 e y3 si avrebbe un altro bit alla sinistra della “virgola”. (Siricordi la regola imparata alle elementari per determinre la posizione della virgola nel risultatodi una moltiplicazione.) Dato che tale bit serve solo per la rappresentazione corretta di taleprodotto, con uno shift a sinistra di un bit si torna alla convenzione utilizzata nell’esempio.

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 31

binari da sommare risultano:

(x1)c2 = b0.b−1b−2b−3000(y3)c2 = m0.m−1m−2m−3m−4m−5m−6

(y2)c2 = s1s0.s−1s−2s−3s−4s−5

(2.44)

Si noti che le posizioni delle ”virgole” non risultano allineate perche, anche sesi e adottata la convenzione dei numeri frazionari per xi, i coefficienti molti-plicatori possono essere in modulo maggiori di uno. Per eseguire la somma,quindi, e necessario allineare la posizione delle virgole nei singoli addendi.Cio puo essere ottenuto con una operazione di shift a sinistra di 1 bit di y2

(moltiplicazione per 2) con possibilita di overflow parziale, che pero non haconseguenze sul risultato finale nelle ipotesi fatte (par. 4.1.3).L’operazione y2 = (c2·x2) (mod 2) e equivalente alla y2 = (c′2·x2)·2 (mod 2)con c′2 = c2/2. Nel caso generale risulta quindi conveniente adottare la con-venzione dei numeri frazionari, anche per i coefficienti. Ogni coefficiente ci

con |ci| > 1 viene rappresentato come: ci = c′i2j con 1/2 ≤ |c′i| < 1 e il passo

di quantizzazione diviene: qi = 2j−n, se c′i e rappresentato su n + 1 bit. Lamoltiplicazione corrispondente viene realizzata come: (c′i · xi) · 2j (mod 2) ela struttura si modifica per i coefficienti per cui |ci| > 1 come illustrato in Fig.2.6, in cui si e supposto |c1| > 1 e |c3| > 1.

2j1

c’

x

3

1

c)b)a)

x

x

2

3

x1

2-j

ssx

x

2

3

x1

c’

c’2

1

3j3

c2 c

2

c’1

s

c

c2

c

x

x

2

3

1

3

Figura 2.6 Normalizzazione dei coefficienti di un prodotto interno

Si osserva che, mentre l’equivalenza delle due realizzazioni e ovvia nel casodi aritmetica a precisione infinita, con aritmetica a virgola fissa essa e validasolo se e possibile trascurare l’eventuale overflow nella moltiplicazione per 2j .Il fattore di normalizzazione 2j puo essere diverso per ogni coefficiente di mod-ulo maggiore dell’unita, e, al limite, la rappresentazione ci = c′i · 2j puo venireapplicata ad ogni coefficiente (la rappresentazione dei ci risulta a virgola mo-bile), se si ammette che ogni moltiplicazione sia seguita da una operazione dishift per un numero di bit che dipende dal coefficiente stesso.In alternativa, per tutti i coefficienti che afferiscono ad uno stesso nodo disomma si puo considerare un fattore di normalizzazione unico , dato dallaminima potenza di 2 per cui : max |c′i|/2j ≤ 1. In ogni caso, se il rapportomax |ci|/ min |ci| e elevato, i coefficienti di modulo minore risultano rappre-sentati con pochi bit significativi, e conseguentemente con un elevato errore

32 2.5 Normalizzazione dei coefficienti

relativo.Ad esempio, se c1 = 1.75, c2 = 10−2 e c3 = 1.25, risulta j = 1, e per nc +1 = 8si ha:

c′1 = 1.75/2 → 0.1110000; c′2 = 0.01/2 → 0.0000000; c′3 = 1.25/2 → 0.1010000.

Se (come accade per i FIR a banda stretta realizzati in forma diretta) tuttii coefficienti ci, che concorrono allo stesso nodo sommatore, soddisfano alla|ci| < 1/2, e conveniente modificare la struttura come illustrato in Fig. 2.6 c),dove c′i = ci/ max |ci| e, per semplicita, si e posto max |ci| pari alla potenzadi due immediatamente superiore. Il passo di quantizzazione risulta: q =max |ci| · 2−n.

Sulla base delle considerazioni di sensibilita alla quantizzazione dei coeffi-cienti le realizzazioni di tipo generale piu usate sono quelle cascata e parallelo.Nella realizzazione cascata il blocco fondamentale e un sistema del seconoordine del tipo:

H(z) =1 + b1z−1 + b2z

−2

1 − a1z−1 − a2z−2

che puo essere realizzato, ad esempio, come in Fig. 2.2. H(z) puo essereparticolarizzata nei seguenti modi:

1 polo reale b1 = b2 = a2 = 01 polo e 1 zero reali b2 = a2 = 02 poli b1 = b2 = 02 poli e 1 zero reali b2 = 0

(2.45)

Dato che H(z) e (ovviamente) stabile risulta come visto a proposito della(2.38): |a1| < 2 e |a2| < 1. Nella maggior parte delle applicazioni (filtri a faseminima o controllori numerici) gli zeri di H(z) non sono esterni al cerchio diraggio unitario, e quindi si ha |b1| ≤ 2 e |b2| ≤ 1. (Fa eccezione la realizzazionedegli equalizzatori di fase: per essi risulta |b1| < 4 e |b2| < 2 in tutti i casi diinteresse pratico).Se gli zeri sono sul cerchio di raggio unitario, risulta b1 = −2 cos θz e b2 = 1per cui in una realizzazione in forma diretta viene eliminata la corrispondentemoltiplicazione per b2. Inoltre, fatto molto piu importante, viene garantito chegli zeri rimangano sul cerchio di raggio unitario indipendentemente dalla quan-tizzazione di b1, il cui effetto si traduce solo in una variazione della anomalia θz

degli zeri. La situazione e analoga a quella di una coppia di zeri, s1,2 = ±jω0,realizzati in una rete a scala L−C con un circuito risonante serie o parallelo:una variazione dei valori di induttanza e capacita fa solo variare la frequenzadi risonanza o antirisonanza, lasciando gli zeri sull’asse immaginario.

Nella realizzazione parallelo il blocco fondamentale e:

H(z) =b0 + b1z

−1

1 − a1z−1 − a2z−2oppure

b′1z−1 + b′2z

−2

1 − a1z−1 − a2z−2

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 33

Per quanto riguarda a1 e a2 valgono le considerazioni svolte nel caso dellarealizzazione in cascata. Per b0 e b1 (b′1 e b′2) si dovra procedere in generale aduna normalizzazione secondo quanto illustrato precedentemente, non essendopossibile determinare, in generale, un limite superiore per i loro moduli.

2.6 Lunghezza statistica di parola

Nel seguito viene presentato un metodo di stima del numero di bit su cui rapp-resentare i coefficienti moltiplicatori nel caso la quantita di interesse sia il solomodulo della risposta in frequenza (l’estensione al caso generale e immediata).

Sia D(ejθ) ≥ 0 l’andamento desiderato per il modulo, e sia T (ejθ) la fun-zione che rappresenta la tolleranza ammessa nella approssimazione di D(ejθ)e che supponiamo strettamente positiva: T (ejθ) > 0 (Fig. 2.7).Sia M(ejθ) = |H(ejθ; c)| e M ′(ejθ) = |H(ejθ; c′)| con c e c′ i vettori dei coef-ficienti a precisione infinita e finita, rispettivamente. Vogliamo garantirci chelo scostamento di M ′ da D sia non superiore a T , cioe:

|M ′(ejθ) − D(ejθ)| ≤ T (ejθ). (2.46)

Allo scopo osserviamo che se, dato M , lo scostamento di M da D e minore insenso stretto di T (cioe, se esiste un certo margine)

|M(ejθ) − D(ejθ)| < T (ejθ), (2.47)

per soddisfare la (2.46) e sufficiente rendere abbastanza piccola la quantita

|∆| = |M ′ − M | = |(M ′ − D) − (M − D)|. (2.48)

Ricordando la | |a| − |b| | ≤ |a − b|, si ha

| |M ′ − D| − |M − D| | ≤ |∆| (2.49)

e si ottiene che la (2.46) e soddisfatta, non appena e soddisfatta la:

|∆| = |M ′ − M | ≤ | T − |M − D| | (2.50)

La (2.50) dice, quindi, quale debba essere il margine con cui progettare laf.d.t. con coefficienti a precisione infinita per garantire che anche la f.d.t. acoefficienti a precisione finita soddisfi alle specifiche. Linearizzando, come in(2.2), ∆(ejθ) si ha:

∆(ejθ) 'L∑

i=1

∂M

∂cidci (2.51)

34 2.6 Lunghezza statistica di parola

T (θ)

T (θ)

θ θ π θp s

0

D( θ )

Figura 2.7 Esempio di tolleranza.

e lo scostamento D(ejθ) risulta funzione lineare delle variazioni dci, le qualidipendono dalla rappresentazione scelta per i coefficienti, cioe virgola fissa ovirgola mobile.

Sia

|ci| =mi∑

k=−∞

qik2k

la rappresentazione in binario di |ci| con mi bit piu significativo e sia

|c′i| =mi∑

k=li

q′ik2k

la corrispondente versione in virgola fissa, ottenuta per arrotondamento allacifra li . Supponiamo che il bit meno significativo, li, sia lo stesso per tuttii coefficienti, cioe li = l, per cui max |ci − c′i| = q/2 = 2l/2. Nella ipotesi dirappresentare tutti i coefficienti sullo stesso numero di bit, si ha che il numerodi bit (segno compreso) associato ad ogni coefficiente c′i risulta B = nc + 1 =m − l + 2 con m = max(mi).

In definitiva dalla (2.51) si ottiene la maggiorazione:

∣∆(ejθ)∣

∣ ≤L∑

i=1

∂M

∂ci

|dci| ≤L∑

i=1

∂M

∂ci

max |dci|

=2l

2

L∑

i=1

∂M

∂ci

(2.52)

con li = l per ogni i. (In caso contrario e semplice modificare la (2.52)scrivendo max |dci| = Ki2

l/2 con l = min(li) e Ki = 1, 2, 4, · · ·).

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 35

Imponendo che la maggiorazione ottenuta per |∆| sia non superiore amax |T − |M − D| | si puo calcolare il valore di l che consente di soddisfarealla (2.46). La relazione (2.52) conduce pero, in generale, a stime molto pes-simistiche del numero di bit su cui rappresentare i coefficienti per mantenerela variazione ∆ entro i limiti prefissati.

In alternativa si puo utilizzare un modello statistico delle variazioni dci ilquale in genere conduce a stime del numero di bit molto piu attendibili. Lalunghezza di parola (o numero di bit) cosı determinata viene generalmentedetta lunghezza statistica di parola, mentre si riserva il nome di lunghezzaeffettiva di parola alla lunghezza effettivamente necessaria per memorizzare icoefficienti e garantire un certo scostamento ∆. L’utilita di detta quantita stanel fatto che consente di mettere in luce le regioni della risposta in frequenzapiu critiche per una certa realizzazione (cioe le zone dove ci si puo aspettarele maggiori variazioni), consente di confrontare le proprieta di realizzazionidiverse senza quantizzarne i coefficienti moltiplicatori, e, inoltre, puo essereusata, come illustrato negli esempi, per guidare il progetto della f.d.t. concoefficienti a precisione infinita, anticipando gli effetti della quantizzazione deicoefficienti.E importante ricordare che, nel caso attuale, le ”perturbazioni” dci sono deltutto deterministiche e che, note le dci, la f.d.t. corrispondente H(z; c + dc)e perfettamente calcolabile! Il modello presentato va quindi interpretato solocome un utile strumento di lavoro che consente di prevedere la entita probabiledello scostamento (come tale e largamente usato per prevedere gli effetti delletolleranze dei componenti passivi e attivi nel progetto di circuiti elettronicianalogici).

Interpretiamo le variazioni dci come variabili aleatorie, indipendenti edequidistribuite con d.d.p. uniforme in [−q/2, q/2] con q = 2l, per cui E[dci] = 0e σ2[dci] = q2/12. Poiche , nelle ipotesi fatte, la ∆(ejθ) e una combinazionelineare di variabili indipendenti, si puo assumere che la variabile ∆(ejθ) abbiaapprossimativamente d.d.p. gaussiana, con media e varianza date dalle:

E[∆(ejθ)] =L∑

i=1

∂M

∂ciE[dci] = 0 (2.53)

σ2[∆(ejθ)] =L∑

i=1

(

∂M

∂ci

)2 q2

12= S2(ejθ; c)

q2

12(2.54)

con S2 funzione della sensibilita alle variazioni dei coefficienti della realiz-zazione considerata.

Secondo questo modello si puo dire che:∣

∣∆(ejθ)∣

∣ ≤ m σ[∆(ejθ)] (2.55)

36 2.6 Lunghezza statistica di parola

con probabilita Pm controllata dal valore di m: generalmente si pone m = 2,cui corrisponde una probabilita P ' 95%. (Si osserva che sarebbe sbagliatousare un valore elevato di m, dato che la stima corrispondente di max |∆|potrebbe risultare maggiore di quella data dalla (2.52)).Utilizzando nella (2.50) la stima del valore massimo di |∆| data dalla (2.55),si ha:

m σ[∆(ejθ)] ≤∣

∣T (ejθ) − |M(ejθ) − D(ejθ)|∣

∣ (2.56)

da cui si ottiene che deve essere:

q ≤√

12

m

T (ejθ) − |M(ejθ) − D(ejθ)|S(ejθ)

(2.57)

La (2.57) porge per un dato valore di θ il valore massimo di q che consentedi soddisfare le specifiche. Ovviamente, per soddisfare le specifiche date perogni valore di θ, si scegliera come passo di quantizzazione il valore minimo diq(θ).

Esempio 1: realizzazioni I.I.R.Le specifiche di un filtro passabanda siano: banda passante: 2 ÷ 3 kHz conondulazione (DBR) ≤ 0.2 dB; banda attenuata: 0 ÷ 1.6 kHz e 3.26 ÷ 4 kHzcon attenuazione (A) ≥ 50 dB; frequenza di campionamento: 8 kHz.Si progetta un filtro ellittico di ordine N = 10 con DBR = 0.1 dB (< 0.2dB)e attenuazione 54.5 dB (> 50dB), quindi con un certo margine (distribuito frabanda passante e attenuata in modo abbastanza arbitrario).Si considerano tre realizzazioni: cascata e parallelo di celle del secondo ordinein forma diretta, e traliccio a quattro moltiplicatori. La Fig. 2.8 riportala lunghezza statistica di parola (segno escluso), ns, nelle bande passante eattenuata, calcolata con m = 2 tramite il programma FAP, e la Fig. 2.9 riportagli andamenti delle risposte in frequenza corrispondenti ad una quantizzazionesu 10 bit (segno compreso) dei coefficienti moltiplicatori delle tre realizzazioni:la colonna di sinistra riporta l’andamento complessivo in [0, Fc/2] e quella didestra l’andamento nella sola banda bassante.

L’analisi delle figure consente di trarre alcune interessanti conclusioni:

a) nelle realizzazioni considerate, i massimi della lunghezza statistica di parolacadono in corrispondenza dei massimi e minimi di |H(ejθ)| nella banda pas-sante ed in corrispondenza dei massimi di |H(ejθ)| nella banda attenuata;

b) per la realizzazione cascata si ha una previsione: Bs = ns + 1 ' 15 bit,valore determinato dalla sensibilita in banda passante. Si osserva che sareb-bero sufficienti solo circa 8 bit per garantire i 50 dB di attenuazione richiestiin banda attenuata. Questo comportamento e da attribuire al fatto che larealizzazione in forma diretta si sposa particolarmente bene con gli zeri sul

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 37

cerchio, dato che una quantizzazione dei coefficienti del numeratore di ognicella lascia gli zeri sul cerchio e ne sposta solo la posizione angolare. Dallafigura risulta, inoltre, che sarebbe stato preferibile progettare il filtro ellitticolasciando piu margine in banda passante e meno in banda attenuata. (A taleproposito una procedura euristica consiste, dato N , nel dividere l’intervallo[min DBR, max DBR], ammissibile per l’errore in banda passante, in un certonumero di intervalli uguali, di progettare un filtro per ogni estremo di taliintervalli, di quantizzarne i coefficienti e di scegliere la/e soluzione/i cui cor-risponde il minimo numero di bit.)Le previsioni fatte in base alla lunghezza statistica Bs sono ben soddisfatte.Si vede infatti che gia con 10 bit la attenuazione e circa 56 dB e la ondulazionein banda passante pari a circa 0.25 dB (la lunghezza effettiva di parola risulta12 bit).

c) Per la realizzazione parallelo valgono considerazioni simili a quelle fatte perla cascata, cioe Bs = ns + 1 (pari a circa 13 bit) e ancora determinata dallasensibilita in banda passante. La differenza tra i valori assunti da Bs in bandapassante e attenuata e pari a circa 1 bit ed e quindi minore che nella realiz-zazione cascata, dato che in questo caso il controllo della posizione degli zerie molto meno forte. In particolare si nota la riduzione di attenuazione legataal fatto che gli zeri hanno abbandonato il cerchio di raggio unitario. Anchein questo caso le previsioni sono ben verificate dall’andamento corrispondentead una quantizzazione su 10 bit.

d) La realizzazione a traliccio a quattro moltiplicatori ha comportamento sim-ile a quello della realizzazione parallelo. Confrontando i risultati con quellidella realizzazione cascata si nota che al controllo indiretto sul posizionamentodegli zeri corrispondono valori maggiori di sensibilita in banda attenuata equindi valori di Bs maggiori (circa 10 ÷ 11 bit in banda attenuata).

38 2.6 Lunghezza statistica di parola

0 0.5 1 1.5 2 2.5 3 3.5 40

5

10

15

f (KHz)

n c (f)

Cascata

0 0.5 1 1.5 2 2.5 3 3.5 40

2

4

6

8

10

12

14

f (KHz)

n c (f)

Parallelo

0 0.5 1 1.5 2 2.5 3 3.5 40

2

4

6

8

10

12

f (KHz)

n c (f)

Traliccio

Figura 2.8 Per l’esempio 1: lunghezza statistica di parola

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 39

0 0.5 1 1.5 2 2.5 3 3.5 4−80

−70

−60

−50

−40

−30

−20

−10

0

10

f (KHz)

|H(f

)| (

dB)

Cascata

2 2.2 2.4 2.6 2.8 3

−0.1

−0.05

0

0.05

0.1

0.15

f (KHz)

|H(f

)| (

dB)

Cascata

0 0.5 1 1.5 2 2.5 3 3.5 4−80

−70

−60

−50

−40

−30

−20

−10

0

10

f (KHz)

|H(f

)| (

dB)

Parallelo

2 2.2 2.4 2.6 2.8 3−0.2

−0.1

0

0.1

f (KHz)

|H(f

)| (

dB)

Parallelo

0 0.5 1 1.5 2 2.5 3 3.5 4−80

−70

−60

−50

−40

−30

−20

−10

0

10

f (KHz)

|H(f

)| (

dB)

Traliccio

2 2.2 2.4 2.6 2.8 3−0.25

−0.2

−0.15

−0.1

−0.05

0

0.05

f (KHz)

|H(f

)| (

dB)

Traliccio

Figura 2.9 Per l’esempio 1: risposta in frequenza con nc + 1 = 10 bit.

40 2.6 Lunghezza statistica di parola

Esempio 2: filtri FIR.Si consideri la applicazione della (2.51) (o della (2.2)), ad un filtro FIR diordine N−1 a fase lineare, realizzato in forma diretta. La risposta in frequenza,per N dispari, puo essere scritta in funzione dei coefficienti della rispostaimpulsiva h(k) = h(N − 1 − k) come:

H(ejθ) = e−j N−1

[

h

(

N − 1

2

)

+ 2r∑

k=0

h(k) cos

((

N − 1

2− k

)

θ

)

]

= e−j N−1

2θH(θ) (2.58)

dove H(θ) e un polinomio trigonometrico di grado r = (N − 3)/2 e |H(ejθ)| =|H(θ)|. (Per N pari vale una espressione simile). Data la linearita di H(ejθ)e H(θ) rispetto ai coefficienti h(k), si ha (esattamente):

∆H = H(θ; h + dh) − H(θ; h) = dh

(

N − 1

2

)

+ 2r∑

i=0

dh

(

N − 1

2+ i

)

cos iθ

(2.59)e quindi:

|∆|H| | ≤ |∆H| =∣

∣∆H∣

∣ ≤ max(dh(k))

1 +r∑

i=0

cos iθ

(2.60)

Se la quantizzazione dei coefficienti avviene per arrotondamento, risulta nelcaso peggiore (θ = 0 o π):

∣∆H∣

∣ ≤ max |dh(k)|N = Nq

2, (2.61)

valore chiaramente pessimistico.In alternativa, si puo arrivare ad una stima piu realistica per max |∆H|,

interpretando nella (2.59) gli errori dh(k) come variabili aleatorie, incorrelatee uniformemente distribuite nell’intervallo [−q/2, +q/2]. Secondo questo pro-cedimento, ∆H risulta (per ogni θ) una variabile aleatoria di cui e possibilecalcolare media e varianza:

E(∆H) =

(

1 + 2r∑

i=0

cos iθ

)

E(dh) = 0 (2.62)

σ2(∆H) =

(

1 + 4r∑

i=0

cos2 iθ

)

σ2dh = S2(ejθ)σ2

dh

≤ σ2∆ = (2N − 1) σ2

dh = (2N − 1)q2

12(2.63)

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 41

Approssimando ∆H con una variabile gaussiana a media nulla e varianza σ2∆,

si puo dire che, per un certo valore di θ e con probabilita dipendente dal valoredi m (P ' .95 per m = 2), si ha:

∣∆H∣

∣ ≤ m σ∆ =mq

2

(2N − 1)/2 (2.64)

La (2.64) porge una stima di max |∆H| piu conservativa della (2.61), gen-eralmente ben soddisfatta in pratica gia’ con m = 2, cui corrisponde la

|∆H| ≤ 0.82q√

N,

e indipendente dai valori dei coefficienti h(k), cioe dalla f.d.t. realizzata.Si osserva che e possibile utilizzare la funzione S(ejθ), definita nella (2.63),

direttamente nel progetto del filtro FIR. Se D(ejθ) rappresenta l’andamentodesiderato per il modulo e W (ejθ) > 0 la funzione peso dell’ errore di approssi-mazione, si puo impostare il problema di progetto come:

minh

maxθ

[

W (ejθ)S(ejθ)∣

∣D(ejθ) − H(ejθ)∣

]

(2.65)

In tal modo, tramite la S(ejθ) si tiene gia conto nel progetto del filtro a coeffi-cienti a precisione infinita degli effetti prodotti dalla quantizzazione dei coeffi-cienti, anticipandone gli effetti. Con questa procedura si possono guadagnareuno/due bit nella rappresentazione dei coefficienti del filtro, rispetto alla quan-tizzazione dei coefficienti ottenuti progettando il filtro nel modo usuale, cioecon S(ejθ) = 1.

Tornando alla (2.64), indichiamo con D, H e H′, rispettivamente, l’andamento

desiderato per il modulo, il polinomio trigonometrico con coefficienti a preci-sione infinita e quantizzati; si ha:

H′ − D = H − D + ∆H (2.66)

maxθ

|H ′ − D| ≤ maxθ

|H − D| + |∆H| ' maxθ

|H − D| + 2σ∆

Questa relazione mostra che max |H ′ − D| e limitato superiormente dallasomma di due addendi, dei quali il primo tende a zero (a norma del teoremadi Weierstrass, se D e W sono continue sul dominio di definizione) al cresceredell’ordine N del filtro, mentre il secondo diverge con

√N . Tale relazione

suggerisce che per ”piccoli” valori di N predominera il primo effetto, mentreper ”grandi” valori di N predominera il secondo, e che quindi il massimo delvalore assoluto dell’errore di approssimazione presentera un minimo per uncerto valore di N , minimo di valore tanto piu piccolo quanto minore risulta q(o quanto maggiore il numero di bit).Ne viene che, fissato l’errore massimo ammesso per il filtro a coefficienti quan-tizzati, esiste un valore massimo di q, max(q), (o un valore minimo del numero

42 2.6 Lunghezza statistica di parola

di bit) al di sopra (sotto) del quale non e possibile soddisfare le specifiche, in-dipendentemente dal valore della lunghezza N della risposta impulsiva del fil-tro. Si ha inoltre che per q < max(q) esistono piu coppie (N, q) che soddisfanole specifiche.

Tali considerazioni da qualitative possono diventare quantitative, se siconosce la dipendenza di max |H − D| da D, da W e da N , come avvienenel caso D sia di tipo passa basso (o passa alto). In questo caso indicati conδp e δs gli errori massimi in banda passante e attenuata corrispondenti a H, econ δ′p e δ′s le analoghe quantita corrispondenti a H ′, si ha:

δ′p ' δ + 2σ∆ δ′s ' δs + 2σ∆, (2.67)

mentre la relazione tra δp, δs , N e la banda di transizione normalizzata∆F = ∆f/Fc e data dalla:

N − 1 ' −10 log10(δpδs) + 13

14.6∆F(2.68)

Si ha inoltre:

|h(k)| ≤∫ 2π

0

∣H(ejθ)∣

∣ dθ/2π '∫ 2π

0D(ejθ)dθ/2π < 1 (2.69)

da cui risulta che per ogni D(ejθ) costante a tratti (D(ejθ) = 1 o D(ejθ) = 0)si puo assumere per i coefficienti h(k) un fondo scala unitario. Corrisponden-temente si ha q = 2−nc , ed i coefficienti h′(k) risultano numeri in virgola fissadi nc + 1 bit con nc bit di parte frazionaria.Fissato il rapporto k′ = δ′p/δ

′s e il valore di ∆F , e possibile risolvere il sistema

costituito dalle (2.67) e (2.68) e ottenere famiglie di curve che riportano ladipendenza di δ′p e δ′s da N e da nc + 1 [43]. Ad esempio, in Fig. 2.10 lecurve a tratto continuo mostrano la dipendenza prevista per la attenuazioneA′ = −20 log10 δ′s nel caso k′ = 1, ∆F = 0.1 e hM = 0.25 (vedi dopo); i puntimostrano i risultati di simulazioni ed i valori corrispondenti risultano in buonaccordo con le previsioni.

Dalla figura risulta che, come gia anticipato, fissato un valore di A′ (ad es.40 dB) esiste un valore minimo di nc (pari a circa 8, nell’esempio) al di sotto delquale non e possibile scendere, qualsiasi sia N . Risulta, inoltre, che per ognivalore di nc > min(nc) esistono due valori di N che soddisfano le specifiche (ilmaggiore dei due non ha ovviamente interesse pratico), e che quindi esistonoinfinite coppie (N,nc) che soddisfano le specifiche. Di queste hanno interesseparticolare: quella che corrisponde al valore minimo di nc + 1, e quella checorrisponde al valore minimo del prodotto N(nc +1) (cioe ad una occupazionedi memoria minima per i coefficienti del filtro, e ad un numero minimo di

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 43

h =0.25M

∆ F=0.1

n =c

k’=1

A (

dB)

Figura 2.10 Andamento previsto per la attenuazione in funzione dell’ordine peralcuni valori di nc.

operazioni elementari di ”shift and add” nel calcolo di ogni campione di uscitaper una prefissata lunghezza di parola dello stato). Per quest’ultima esistonole relazioni approssimate (corrispondenti a un valore m = 2):

Nopt ' A′ − 7.5 − 11.5 log10 k′

14.8∆F(2.70)

nopt ' 0.17A′ + 0.49 + 0.76/k′ − 1.9 log10 ∆F (2.71)

con Nopt(nopt + 1) ' min(N(nc + 1)). Le (2.70) e (2.71) consentono di stimarel’ordine N del filtro passa-basso (con coefficienti a precisione infinita) ottimoin norma di Chebychev, che con coefficienti quantizzati su nopt +1 bit soddisfale specifiche imposte (con elevata probabilita).

Si osserva che la (2.71) vale nella ipotesi q = 2−nc . Se invece si normaliz-zano i coefficienti h(k) dividendoli per max |h(k)| = hM prima di quantizzarli(e si modifica la realizzazione, utilizzando i coefficienti moltiplicatori h(k)/hM

e premoltiplicando l’ingresso o postmoltiplicando l’uscita per hM ), si aumentala precisione di rappresentazione, ad esempio, di un bit se 1/2 ≥ hM > 1/4.In questo caso, trascurando la quantizzazione di hM , risulta: q = hM2−nc e al

44 2.6 Lunghezza statistica di parola

secondo membro della (2.71) va aggiunto l’addendo (negativo) log2 hM , doveper hM si puo usare la approssimazione:

hM ' fp + fs

Fc=

2fp

Fc+ ∆F ' 2fp

Fc

facilmente ricavabile dalla (2.69).

Sia, ad esempio, Fc = 1Hz, fp = 0.248 Hz, fs = 0.2955 Hz, A′ = 74 dB eδ′p = 10−2:

a) si ponga q = 2−nc ; si ha δ′p/δ′s ' 50, Nopt ' 66.8 e nopt ' 15.8. Per

progettare la H(z) corrispondente e necessario calcolare il rapporto k = δp/δs

fra gli errori massimi in B.P. e B.A., rapporto che determina i pesi da dareagli errori in dette bande. Si ha con m = 2:

k 'δ′p − mσ∆

δ′s − mσ∆' 100.

Il filtro con N = 67 e nc + 1 = 17 bit soddisfa le specifiche; variando N fra 60e 75 e quantizzando i coefficienti dei filtri ottenuti con nc + 1 variabile tra 13 e20 bit, si trova che il minimo per N(nc + 1) lo si ha per N = 69 e nc + 1 = 15,ed e quindi abbastanza vicino al valore predetto in base alle (2.70) e (2.71);

b) si ponga q = hM2−nc ; si ha N = 66.8 come prima, ma nc = 15; il filtro amin N(nc + 1) corrisponde a N = 67 e nc + 1 = 16.

Esempio 3: filtri IFIR.Come visto nel precedente esempio, la sensibilita alla quantizzazione dei coeffi-cienti di un filtro F.I.R. realizzato in forma diretta cresce con la lunghezza delfiltro ed e quindi inversamente proporzionale alla banda di transizione normal-izzata. In questo esempio accenneremo ad una tecnica che consente di ridurrel’entita di questo fenomeno e di ridurre contemporaneamente la complessitadi calcolo associata alla realizzazione del filtro nel caso la banda passante oquella attenuata siano ”piccole” [48], [58].

Per fissare le idee consideriamo il progetto di un filtro FIR passa-basso conbanda passante [0, θp] e banda attenuata [θs, π] con θs < π/2.Per prefissati valori di δp e δs la lunghezza N della risposta impulsiva risultadata dalla (2.68). Consideriamo un filtro con gli stessi valori di δp e δs ,ma con θ′p = 2θs e θ′s = 2θs e quindi con banda di transizione normalizzataθ′p − θ′s doppia di quella del filtro originale e lunghezza N1 ' N/2. Indichiamocon H1(z) la f.d.t. corrispondente e consideriamo la f.d.t. H1(z2), la cuirealizzazione si puo ottenere da quella di H1(z) sostituendo ogni ritardo con unritardo doppio. H1(z2) ha lunghezza 2N1 − 1 ' N , quindi ancora dimensione

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 45

di stato pari a N − 1, ma ha solo N/2 coefficienti non nulli.Come illustrato in Fig. 2.11, la risposta in frequenza H1(ej2θ) corrispondenteha periodo π e quindi risulta del tipo ”elimina banda” e presenta una bandapassante [−θp, θp] centrata nell’origine e una [π− θp, π + θp] centrata in θ = π.

θp

θp

π

πθs

θs π-π0

1

1

2

H (

H (2

H (

θ

θ

θ

)

)

)

θp θs2 2

Figura 2.11 Per i filtri IFIR.

Se mettiamo in cascata ad H1(z2) un FIR passabasso, H2(z), con bandapassante [−θp, θp] e banda attenuata [π− θs, π + θs], otteniamo un sistema chesoddisfa le specifiche iniziali, ma con un numero di coefficienti non nulli paria N1 + N2 ' N/2 + N2 con N2 lunghezza di H2(z). Il filtro H2(z) ha bandadi transizione π − (θp + θs) e, se la quantita θp + θs e sufficientemente piccola,risulta N2 << N/2, e quindi N1 + N2 ' N/2 (e talvolta possibile utilizzarecome filtro H2(z) un filtro ”senza moltiplicatori” [48], [32]).

Quindi, dal punto di vista della complessita di calcolo tutto va come se sifosse utilizzato un filtro di lunghezza meta. Generalmente H1(z) e detto filtro”modello”, H1(z2) filtro ”sagomatore”, e H2(z) filtro ”interpolatore”, dato chela sua funzione e quella di eliminare la replica della banda passante a θ = π o,nel tempo, di interpolare i coefficienti nulli della risposta impulsiva di H1(z2).Da qui il nome di ”Interpolated FIR” (IFIR) dato alla realizzazione.

Se θs ha valori sufficientemente piccoli, e possibile partire da un filtro H1(z)di specifiche θ′p = Lθp e θ′s = Lθs con Lθs < π e L ≥ 2, e quindi con una bandadi transizione L(θs − θp). In questo caso H1(z) ha lunghezza N1 ' N/L, chediminuisce al crescere di L, e H1(zL) presenta L bande passanti centrate nelleradici L-esime dell’unita, L−1 delle quali devono essere cancellate da H2(z), ilcui ordine quindi cresce con L. Se ne deduce che per un certo valore massimo,Lmax, consentito per L, esiste un valore ottimo di L cui corrisponde il minimo

46 2.6 Lunghezza statistica di parola

numero totale di coefficienti non nulli e quindi la minima complessita di calcoloe minima sensibilita.In ogni caso la risposta in frequenza complessiva dipende dal prodotto

H1(ejLθ) H2(ejθ)

ed e sufficiente che H1(ejθ) e H2(ejθ) garantiscano singolarmente un erroremassimo pari a δs in banda attenuata, mentre in banda passante deve essere:

1 − δp ≤ |H1(ejLθ) H(ejθ)| ≤ 1 + δp

Quindi gli errori δp1 e δp2 di H1 e H2 devono soddisfare alla condizione: δp1 +δp2 ≤ δp. Tale condizione puo essere soddisfatta:a) con la scelta δp1 = δp2 = δ/2;b) ripartendo l’errore totale δp tra δp1 e δp2 in modo da minimizzare la quantitaN1 + N2 . Il problema diviene:

min[N1(δp1) + N2(δp2)],

con N(δp) dato dalla (2.68), soggetto alla condizione

δp1 + δp2 = δp,

che, risolto col metodo dei moltiplicatori di Lagrange, porge

δp1 =∆F2

∆F1 + ∆F2δp δp2 =

∆F1

∆F1 + ∆F2δp;

c) progettando iterativamente H1 e H2 [58]. Ad esempio, progettato H1 comein b), si determina H2 in modo che il prodotto H1H2 soddisfi le specifiche(allo scopo e sufficiente definire opportunamente la funzione peso dell’errorenell’algoritmo di Remez). A questo punto si riprogetta H1 in modo che ilprodotto H1H2 soddisfi le specifiche e si itera.

A titolo di esempio sia: fp = 200Hz, fs = 500Hz, Fc = 10 kHz, δp ≤ 1/50e δs ≤ 1/200. La lunghezza del filtro corrispondente risulta N = 63 e si haLmax = 10. Posto per semplicita δp1 = δp2 = δp/2, al variare di L tra 2 e 9 siottengono i valori N1 e N2 riportati in Tab. 2.6. (I valori N1 e N2 non sono ivalori stimati in base alla (2.68), ma sono i valori effettivi ottenuti progettandoi filtri con l’algoritmo di Remez). Dalla tabella risulta che N1 + N2 e minimoper L = 4 ed in corrispondenza assume il valore 30, valore che va confrontatocol valore N = 63, corrispondente a L = 1! Quindi si e dimezzato il numero dicoefficienti non nulli (cioe di operazioni di moltiplicazione e somma) a spesedi un modesto aumento della dimensione dello stato (16 × 4 + 12 = 76 verso62).

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 47

L 1 2 3 4 5 6 7 8 9

N1 63 33 25 17 15 13 11 9 9N2 0 5 9 13 17 21 29 41 53

N1 + N2 63 38 33 30 32 34 40 50 62

Tabella 2.1

La soluzione puo essere leggermente migliorata introducendo nel progettodi H2(ejθ) delle bande di transizione in corrispondenza delle bande attenuatedi H1(ej4θ): N2 passa da 13 a 11, o progettando anche H2(z) come un IFIR,cioe facendo H2(z) = H21(z)H22(z2), senza vantaggi ulteriori in questo caso.

Per quanto riguarda la riduzione della sensibilita alla quantizzazione deicoefficienti, si ha H(ejθ) = H1(ejLθ)H2(ejθ) e risulta

∆H ' H1∆H2 + H2∆H2

da cui e agevole ricavare la:

|∆H| ≤ |∆H1| + |∆H2|

e quindi, se si assume un fondo scala unitario per i coefficienti (cioe se q = 2−nc ,si vedano le considerazioni fatte sulla (2.71)), la variazione |∆H| risulta nonsuperiore a quella corrispondente ad una realizzazione in forma diretta diun FIR con N = N1/L + N2 coefficienti non nulli. Nell’esempio numericoconsiderato si trova che, in ottimo accordo con quanto prevedibile in base alla(2.64), alla realizzazione con L = 4 corrisponde un risparmio di circa un bitrispetto alla realizzazione corrispondente al caso L = 1. Si osserva che non edifficile dimostrare che la cosa non e piu vera se si normalizzano i coefficientidei due FIR al valore massimo (cioe se q = hM2−nc).

Quanto detto relativamente al caso di un passa-basso, si puo applicarecon semplici modifiche al caso di un filtro passa-alto o passa-banda, purchela banda passante sia piccola (cambia il solo filtro interpolatore H2(z)). Se labanda passante e estesa, quanto detto si puo ancora applicare pur di riferirsial filtro complementare G(z). Se H(z) ha lunghezza N dispari, si ha:

H(z) = z−(N−1)/2 − G(z) (2.72)

con G(z) f.d.t. F.I.R. a fase lineare, che soddisfa la

H(ejθ) + G(ejθ) = 1, (2.73)

dove al solito si e posto H(z) = z−(N−1)/2H(z) e G(z) = z−(N−1)/2G(z).Se quindi, ad esempio, H(ejθ) e di tipo passa-basso, ma con θs > π/2, basta

48 2.7 Una classe di realizzazioni a piccola sensibilita.

applicare quanto visto a G(ejθ), che risulta di tipo passa-alto, e realizzare laH(z) secondo la (2.72). (Il ritardo z−(N−1)/2 e gia presente nella realizzazionedi G(z), se questa e del tipo a post-moltiplicazione).

2.7 Una classe di realizzazioni a piccola sensibilita.

In questo paragrafo verra presentata una classe di realizzazioni a piccola sen-sibilita alla variazione dei coefficienti moltiplicatori. Verra introdotta unacondizione cui deve obbedire la realizzazione di una f.d.t. in un punto, es.z0 = ejθ0 , per avere minima sensibilita (cioe sensibilita nulla) per z = z0

e quindi piccola sensibilita in un opportuno intorno di z0 . Tale condizionesi rivela molto utile nel caso di filtri selettivi in frequenza, perche consentedi individuare realizzazioni con valori molto piccoli della sensibilita in bandapassante, cioe proprio nella regione in cui generalmente le realizzazioni cascatae parallelo di celle del secondo ordine in forma diretta presentano elevati valoridella sensibilita (si veda l’esempio 1 del precedente paragrafo).

Si consideri una realizzazione di una f.d.t. con moltiplicatori c . Si sup-ponga che i coefficienti possano variare in un certo dominio D, conservandola stabilita della f.d.t., e si supponga inoltre che la realizzazione sia tale dagarantire che, per ogni c ∈ D e ogni θ, sia verificata la condizione

|H(ejθ; c)| ≤ 1 ∀c ∈ D; θ (2.74)

cioe il modulo della risposta in frequenza non possa mai superare un certovalore che si e assunto pari all’unita. Se per un particolare valore c0 delvettore c e per un certo valore θ = θ0 si ha

|H(ejθ0 ; c0)| = 1, (2.75)

allora a fronte di una qualsiasi perturbazione dc si ha:

∣H(ejθ0 ; c0 + dc)∣

∣ ≤ 1. (2.76)

Quindi una tale realizzazione gode della proprieta di avere sensibilita alle vari-azioni dei parametri nulla a θ = θ0 , cioe:

∂|H(ejθ0 ; c)|∂c

c=c0

= 0 (2.77)

e sensibilita piccola in un intorno di θ0. Essa si presta particolarmente benea realizzare la f.d.t. dei filtri ellittici, dato che un filtro ellittico di ordine Npresenta in banda passante b(N + 1)/2c punti (con bxc parte intera di x) chesoddisfano la (2.75).

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 49

Il riconoscimento dell’esistenza di realizzazioni che soddisfano la (2.77) edella importanza della (2.77) stessa, e avvenuto nel campo dei filtri analogici.Esso e dovuto ad Orchard [51], al quale va il merito di aver individuato ilmotivo per cui la sensibilita alle variazioni parametriche dei filtri L − C ascala era cosı eccezionalmente inferiore a quella dei filtri attivi proposti fino al’66.

La linea di ragionamento seguita e nota come ”the Orchard’s argument”ed e la seguente. Si consideri una f.d.t. selettiva in frequenza, Ha(s) =V2(s)/VG(s), realizzata con un due-porte passivo e privo di perdite, cioe cos-tituito solo di induttanze e capacita, interposto tra il generatore di resistenzainterna RG e un carico adattato RL = RG = R, come illustrato in fig. 2.12.

C2

L 2

C

R

VG

1 C3

V2

R

Figura 2.12 Filtro analogico a scala.

La potenza attiva erogata dal generatore viene tutta trasferita al carico edha valore massimo pari alla potenza disponibile del generatore V 2

G/4R. Sisupponga che, in corrispondenza ai valori nominali dei parametri (resistenze,induttanze e capacita), si abbia il massimo trasferimento di potenza tra gen-eratore e carico ad una frequenza f0. A tale frequenza una qualsiasi variazionedei parametri rispetto ai valori nominali non puo che provocare una riduzionedella potenza erogata. Quindi la funzione (V 2

2 (f)/R)/(V 2G(f)/4R) = 4|Ha(f)|2

ha un massimo alla frequenza f0 e soddisfa una equazione analoga alla (2.77):essa ha sensibilita nulla per f = f0 e piccola per f ' f0, cioe in banda pas-sante.Se poi la rete L − C e del tipo a scala, come in figura, e gli zeri di Ha(s)sono realizzati come antirisonanze di rami serie (o come risonanze di ramiparallelo), una variazione dei valori di induttanza e capacita provoca solo unospostamento degli zeri lungo l’asse immaginario s = j2πf . Conseguentementele reti a scala hanno piccola sensibilita anche in banda attenuata.

La messa in luce di queste proprieta ha portato successivamente all’impiegoquasi generale di strutture per filtri attivi che copiassero la topologia del cir-cuito L − C (realizzazioni a giratore o a FDNR), conservandone quindi tuttele eccellenti proprieta di bassa sensibilita. La stessa strada e stata seguita daFettweis [15], [16] in campo digitale ed ha portato ai filtri numerici d’onda (oad onda).

Nel seguito presenteremo, per prima, la classe di realizzazioni di filtri nu-

50 2.7 Una classe di realizzazioni a piccola sensibilita.

merici tramite il parallelo di f.d.t. passatutto. Tale classe garantisce bassasensibilita in banda passante e, con una attenta scelta della realizzazione adot-tata per i passatutto, buone prestazioni anche in banda attenuata. Successi-vamente, nel paragrafo 2.7.4 introdurremo i filtri numerici d’onda. Concluder-emo con un esempio di confronto della sensibilita alle variazioni dei coefficientimoltiplicatori delle realizzazioni considerate.

2.7.1 Funzioni di trasferimento doppiamente complementari

Due risposte in frequenza H(ejθ) e G(ejθ) vengono dette complementari, quandosoddisfano la condizione:

∣H(ejθ) + G(ejθ)∣

∣ = 1 (2.78)

e vengono dette complementari in potenza quando soddisfano la condizione

∣H(ejθ)∣

2+∣

∣G(ejθ)∣

2= 1 (2.79)

Risposte in frequenza che soddisfano entrambe le condizioni vengono dettedoppiamente complementari. In tal caso si ha:

∣H(ejθ) + G(ejθ)∣

∣ =∣

∣H(ejθ)∣

2+∣

∣G(ejθ)∣

2= 1 (2.80)

La (2.80) indica che H(ejθ) e G(ejθ) devono essere in quadratura di fase adogni θ, per cui H(ejθ) + G(ejθ) e H(ejθ) − G(ejθ) devono avere entrambemodulo unitario.

Per prolungamento analitico si ha

H(z) + G(z) = H1(z)H(z) − G(z) = H2(z)

(2.81)

con H1(z) e H2(z) f.d.t. passa-tutto razionali e stabili, se lo sono H(z) e G(z).Dalle (2.81) si ha:

H(z) =1

2[H1(z) + H2(z)]

G(z) =1

2[H1(z) − H2(z)] (2.82)

e quindi f.d.t. doppiamente complementari possono essere realizzate comesomma e differenza di f.d.t. passatutto (Fig. 2.13).

Se quindi si adotta una realizzazione dei passatutto che garantisca

|H1(ejθ; c)| = |H2(ejθ; c)| = 1

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 51

-1

H (z)

H (z)

H(z)X(z)

G(z)X(z)

X(z)0.5

1

2

Figura 2.13 Realizzazione tramite f.d.t. passatutto di f.d.t. doppiamente comple-mentari.

per ogni c ∈ D (ad esempio, una realizzazione in forma diretta o a traliccio aduno o due moltiplicatori), si e nelle condizioni richieste dalla (2.75) e si ottieneuna realizzazione a piccola sensibilita nella banda passante di H(ejθ) e G(ejθ).E evidente che la banda passante (|H| ' 1) e la banda attenuata (|H| ' 0)di H(ejθ) corrispondono, rispettivamente, ai valori di θ per cui H1(ejθ) =exp[jφ1(θ)] e H2(ejθ) = exp[jφ2(θ)] sono circa in fase e circa in opposizione difase, e viceversa per G(ejθ).

Consideriamo il caso in cui H(z) sia di tipo passa-basso (e G(z) passa-alto)e H1(z) e H2(z) siano f.d.t. passatutto stabili a coefficienti reali di ordine N1

e N2, rispettivamente, con H1(1) = H2(1) = 1, cioe φ1(0) = φ2(0) = 0.Dalla (2.7.1) risulta immediatamente H(1) = 1 e G(1) = 0. Ricordando poiche φ1(θ) e φ2(θ) sono funzioni monotone decrescenti di θ (si veda la AppendiceB) e φ1(π)−φ1(0) = N1π e φ2(π)−φ2(0) = N2π, sempre dalla (2.7.1) si ricavache, affinche H(ejθ) sia di tipo passa-basso, deve essere N1 − N2 = 1 e quindil’ordine N1+N2 di H(z) e G(z) deve essere dispari. (In generale, per N1−N2 =2n + 1 si hanno n bande attenuate). In conclusione, se ci si restringe a f.d.t.passatutto a coefficienti reali e a coppie di f.d.t. doppiamente complementaridi tipo passabasso/passalto, la decomposizione (2.7.1) puo essere applicatasolo nel caso H(z) e G(z) abbiano grado dispari.

Come illustrato nel seguito, per ottenere una coppia passa–basso/passa–alto di grado pari e, infatti, necessario ricorrere a f.d.t. passatutto a coefficienticomplessi [68, 55, 69].

Comportamento in banda attenuata.

La realizzazione tramite passatutto di f.d.t. doppiamente complementari assi-cura una bassa sensibilita alla quantizzazione dei coefficienti nella banda pas-sante di entrambi i filtri. Va osservato, a questo proposito, che cio non assicuraautomaticamente anche una bassa sensibilita nella banda attenuata. Infattiuna piccola deviazione nella banda passante di uno dei filtri puo corrisponderea una variazione (in dB) ben piu sensibile nella banda attenuata dell’altro. Ad

52 2.7 Una classe di realizzazioni a piccola sensibilita.

esempio, |H(ejθ)| abbia deviazione dall’unita δHp = 10−2 (DBR' 0.1 dB) edeviazione dallo zero δHs = 10−2 (A=40 dB). Dalla condizione di complemen-tarita in potenza si ricava:

δGp ' 1

2δ2Hs = 5 · 10−5 δGs '

2δHp ' 1/7

e quindi G(z), a fronte delle prestazioni ”ragionevoli” di H(z), risulta avereprestazioni molto sbilanciate: eccezionali in banda passante e molto scadentiin banda attenuata. Se la quantizzazione dei coefficienti provoca una vari-azione di δGp dello stesso ordine di δGp, cioe se e δ′Gp ' 2δGp, si trova che

detta (piccolissima) variazione porta ad un valore δ ′Hs '√

2δHs e quindi auna riduzione di attenuazione pari a 3dB.Questo comportamento in banda attenuata puo essere anche interpretato conla considerazione generale che gli zeri di H(z) e G(z) sono realizzati indiret-tamente tramite la somma e la differenza di due f.d.t.

In conclusione con riferimento a Fig. 2.13 si ha che, mentre a qualsiasi real-izzazione dei passa-tutto, H1(z) e H2(z), che garantisca che le f.d.t. rimanganotali anche dopo quantizzazione dei coefficienti, corrisponde una realizzazionedi H(z) e G(z) che ha sensibilita minima in banda passante, lo stesso nonrisulta necessariamente vero relativamente al comportamento in banda atten-uata.In particolare ci si puo aspettare che realizzazioni dei passa-tutto come cascatadi celle dal primo e secondo ordine, abbiano un migliore comportamento peril controllo piu diretto che esse esercitano su poli e zeri di ogni cella (si vedail par. 2.7.5) e quindi sulla caratteristica di fase associata.

Infine osserviamo che la realizzazione tramite f.d.t. passatutto puo risultarepiu efficiente della realizzazione cascata o parallelo di H(z) o G(z), almeno intermini di numero di moltiplicazioni. Allo scopo basta ricordare che esistonorealizzazioni di f.d.t. passa-tutto che richiedono un numero di moltiplicazionie di elementi di memoria pari all’ordine della f.d.t. (e un numero di sommepari a tre volte l’ordine).

2.7.2 Realizzazioni mediante f.d.t. passa-tutto

Nel precedente paragrafo si e trovato che, se H(z) e G(z) sono doppiamentecomplementari, vale la decomposizione (2.81). Ora, data una f.d.t. H(z),e sempre possibile trovare una G(z) complementare in potenza, e ci si puochiedere se esistano condizioni esplicite su H(z) e G(z) che garantiscano cheH(z) e G(z) siano doppiamente complementari e garantiscano, quindi, la pos-sibilita della decomposizione (2.81).A questo proposito, indicato con

D(z) = z−ND(z−1)

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 53

il polinomio “reciprocato” del polinomio D(z) di grado N (D(zk) = 0 k =1, · · · , N ↔ D(1/zk) = 0 e D(1) = D(1)), vale il seguente risultato:

Siano H(z) = P (z)/D(z) e G(z) = Q(z)/D(z) due f.d.t. a coefficienti reali,stabili e complementari in potenza di grado N , sia P (z) =

∑Ni=0 piz

−i sim-metrico, Q(z) =

∑Ni=0 qiz

−i antisimmetrico, D(z) = 1 +∑N

i=1 diz−i e non ci

siano fattori comuni tra P (z) e D(z) e tra Q(z) e D(z). Sotto queste con-dizioni H(z) e G(z) sono doppiamente complementari e vale la decomposizione(2.81) con

H1(z) =D1(z)

D1(z)H2(z) =

D2(z)

D2(z)

f.d.t. passatutto a coefficienti reali di grado N1 e N2, rispettivamente, conN1 + N2 = N e D(z) = D1(z)D2(z).

Per la dimostrazione osserviamo che la (2.79) si puo scrivere come:

P (z)P (z−1) + Q(z)Q(z−1) = D(z)D(z−1) (2.83)

e che le condizioni di simmetria e antisimmetria implicano le:

P (z−1) = zNP (z) Q(z−1) = −zNQ(z). (2.84)

La (2.83) diviene quindi P 2(z) − Q2(z) = z−ND(z)D(z−1) che puo riscriversicome:

[P (z) + Q(z)] [P (z) − Q(z)] = D(z)D(z), (2.85)

relazione che lega gli zeri dei polinomi P (z) + Q(z) e P (z) − Q(z) a quelli(reciproci rispetto al cerchio di raggio unitario) del polinomio D(z)D(z).Dalle (2.84) risulta: P (z) + Q(z) = z−N [P (z−1)−Q(z−1)], per cui gli zeri delpolinomio a coefficienti reali P (z)+Q(z) sono reciproci di quelli di P (z)−Q(z)e possiamo, quindi, limitarci a considerare quali fra gli zeri di D(z)D(z) sianozeri di P (z) + Q(z).Ora D(z) ha tutti gli zeri entro al cerchio di raggio unitario e quindi P (z)+Q(z)non puo avere zeri sul cerchio. Sia N1 il numero di zeri di P (z) + Q(z) entroal cerchio: raccogliamoli nel polinomio monico D1(z) = 1 +

n d1nz−n, cherisulta un fattore di D(z)D(z); sia N2 = N −N1 il numero degli zeri di P (z)+Q(z) esterni al cerchio: raccogliamoli nel polinomio D2(z) con reciprocato,D2(z), monico.Si ha:

D(z) = D1(z)D2(z) (2.86)

P (z) + Q(z) = αD1(z)D2(z) (2.87)

54 2.7 Una classe di realizzazioni a piccola sensibilita.

con α costante reale, e quindi:

P (z) − Q(z) =1

αD1(z)D2(z) (2.88)

Per quanto riguarda α dalla:

P (1) + Q(1) = αD1(1)D2(1) = P (1) − Q(1) = D1(1)D2(1)/α

si ha α2 = 1 e non e limitativo scegliere α = 1.Dividendo le (2.87) e (2.88) per D(z) = D1(z)D2(z) si ottiene

H(z) + G(z) =P (z) + Q(z)

D(z)=

D2(z)

D2(z)= H2(z) (2.89)

H(z) − G(z) =P (z) − Q(z)

D(z)=

D1(z)

D1(z)= H1(z) (2.90)

con H1(z) e H2(z) f.d.t. passatutto a guadagno unitario di grado N1 e N−N1,rispettivamente, e si conclude la dimostrazione (si osservi che la (2.89) implicala |H(ejθ)+G(ejθ)| = 1). 2

Se, fermo il resto, si fa l’ipotesi che P (z) che Q(z) siano entrambi polinomisimmetrici, la (2.85) diviene:

[P (z) + jQ(z)] [P (z) − jQ(z)] = D(z)D(z) (2.91)

In questo caso si ha

P (z) ± jQ(z) = z−N (P (z−1 ± jQ(z−1)

e quindi entrambi i polinomi a coefficienti complessi P (z) + jQ(z) e P (z) −jQ(z) hanno zeri reciproci, e si puo escludere la presenza di zeri reali (seP (z1) + jQ(z1) = 0, z1 ∈ R → P (z1) = Q(z1) = 0, contro l’ipotesi che P e Qnon abbiano fattori comuni con D(z) e quindi, in base alla (2.83), tra loro).Quindi D(z) non puo avere zeri reali e deve avere ordine pari. Inoltre gli zeridi P (z) + jQ(z) sono i coniugati di quelli di P (z) − jQ(z) e quindi ad ognicoppia di zeri (zk, 1/zk) dell’uno corrisponde la coppia (z∗k, 1/z∗k) dell’altro. Inquesto caso, il polinomio D1(z) puo essere costruito prendendo un solo zerodi ogni coppia di zeri complessi coniugati (zk, z∗k) di D(z). Similmente si puooperare per D2(z). In definitiva si arriva alle

H(z) + jG(z) = βM∏

k=1

z−1 − zk

1 − z∗kz−1= H2(z) (2.92)

H(z) − jG(z) = β∗M∏

k=1

z−1 − z∗k1 − zkz−1

= H1(z) (2.93)

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 55

con M = N/2, |β| = 1 e H1(z) e H2(z) f.d.t. passatutto a coefficienti comp-lessi. Quindi

H(z) =1

2[H1(z) + H2(z)] (2.94)

G(z) =1

2j[H1(z) − H2(z)] (2.95)

in cui i coefficienti (complessi) della f.d.t. H1(z) sono i coniugati dei coefficientidi H2(z).

2.7.3 Filtri di Butterworth, Chebychev e Cauer

Nel seguito ci riferiamo ai soli filtri di Cauer (o ellittici), ma e immediatoverificare che le stesse conclusioni valgono anche per quelli di Butterworth eChebychev.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

a) f/Fc

|H(f)|2

|G(f)|2

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

b) f/Fc

|H(f)|2

|G(f)|2

Figura 2.14 Andamento delle funzioni modulo quadro di f.d.t. complementari inpotenza.

La Fig. 2.14 a) mostra l’andamento tipico della funzione modulo quadro diun filtro passa-basso ellittico di ordine dispari (N = 5 nella figura). La f.d.t.H(z) = P (z)/D(z) corrispondente ha tutti gli zeri sul cerchio e il numera-tore P (z), essendo P (1) 6= 0, risulta simmetrico. In figura e anche riportatol’andamento del modulo quadro della f.d.t. G(z) complementare in potenza:|G(ejθ)|2 = 1 − |H(ejθ)|2. La G(z) = Q(z)/D(z) corrispondente ha gli N zerisul cerchio, uno dei quali si trova in z = 1. Quindi il numeratore Q(z) risultaantisimmetrico e H(z) e G(z) soddisfano alle condizioni del teorema riportatonel paragrafo precedente. Inoltre le caratteristiche di equioscillazione in bandapassante e attenuata di |G(ejθ)|2 fanno sı che anche G(z) sia un filtro ellittico.

56 2.7 Una classe di realizzazioni a piccola sensibilita.

Si puo quindi concludere che ogni passa basso/alto ellittico di ordine dis-pari puo sempre essere realizzato come il parallelo di due f.d.t. passatutto acoefficienti reali.

In fig. 2.14 b) e riportato l’analogo andamento della funzione moduloquadro per N pari. In questo caso i numeratori di H(z) e G(z) risultanoentrambi simmetrici, e quindi nel caso N pari si puo sempre ricorrere allarealizzazione di H(z) e G(z) tramite il parallelo di due f.d.t. passatutto acoefficienti complessi secondo la (2.95).

La cosa rimane vera anche per i filtri passabanda (o elimina banda). Uti-lizzando, infatti, la trasformazione:

z−1 → −z−1 z−1 − α

1 − αz−1

con |α| < 1, che trasforma una f.d.t. passa-basso H(z) in una f.d.t. passa-banda L(z), si verifica che, se H(z) ha grado N dispari e quindi numeratoresimmetrico, L(z) ha numeratore antisimmetrico di grado M = 2N (lo zero in−1 va in −1 e +1), mentre il complementare in potenza di L(z) ha numeratoresimmetrico. Se invece H(z) ha ordine N pari, entrambi i numeratori di L(z)e del complementare in potenza risultano simmetrici.Pertanto filtri ellittici passa banda (o eliminabanda) di ordine M = 2N con Ndispari possono essere realizzati secondo la (2.7.1), mentre se N e pari possonoessere realizzati secondo la (2.95).

Si osserva che, in generale, data una f.d.t. passa basso H(z) = P (z)/D(z),la costruzione delle f.d.t. H1(z) e H2(z) richiede nel caso N dispari la deter-minazione di Q(z) tramite la (2.83), ed il calcolo degli zeri di P (z) + Q(z).Gli zeri interni al cerchio di raggio unitario determinano il polinomio D1(z) equindi H1(z), mentre quelli esterni determinano D2(z) e quindi H2(z).Nel caso di f.d.t. di tipo ellittico esiste una procedimento piu semplice cherichiede la sola conoscenza dei poli di H(z), cioe degli zeri di D(z): se p1, p2, p3, · · ·sono gli zeri di D(z) ordinati in modo che 0 < arg(p1) < arg(p2) < · · · < π,i poli di H2(z) sono dati dai poli p2k e p∗2k e quelli di H1(z) dai poli p2k+1 ep∗2k+1 [18]. Quindi, in questo caso, i poli di H1(z) e H2(z) si ”interlacciano” epossono essere direttamente dedotti da quelli di D(z).

Esempio 1. Per illustrare le proprieta di bassa sensibilita in banda passantedei filtri realizzabili come parallelo di f.d.t. passa-tutto, consideriamo un filtroellittico di ordine N = 5 e specifiche: ondulazione (DBR) 0.12 dB in bandapassante [0, 200 Hz], attenuazione 58 dB in banda attenuata [400, 4000 Hz] efrequenza di campionamento 8 kHz.

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 57

Gli zeri e i poli della f.d.t. corrispondente, H(z), sono:

poli 0.9139, (0.9314 ± j0.1057), (0.9659 ± j0.1631),zeri −1., (0.9507 ± j0.3100), (0.8854 ± j0.4648)

(2.96)

e il guadagno b0 (si veda la (2.22) risulta 0.840373 · 10−3. Si osserva che i policadono nell’intorno di z = 1, quindi in posizione critica.La decomposizione (2.7.1) porta alle f.d.t. passatutto H1(z) e H2(z) di ordini3 e 2, rispettivamente, aventi poli:

H1(z) 0.9139, (0.9659 ± j0.1631),H2(z) (0.9314 ± j0.1057),

(2.97)

in accordo con la osservazione fatta alla fine del paragrafo precedente, e zeriin posizione reciproca.

0 50 100 150 200−4

−2

0

2

4Banda Passante

Fas

e H

1, H2 (

rad)

a)1000 2000 3000 4000

−4

−2

0

2Banda Attenuata

Fas

e H

1, H2 (

rad)

b)

0 50 100 150 2000.6

0.8

1

1.2

1.4

1.6

1.8

|H| (

dB)

c)1000 2000 3000 4000

−120−110−100

−90−80−70−60−50

|H| (

dB)

d)

1000 2000 3000 4000−120−110−100

−90−80−70−60−50

|H| (

dB)

f) f (Hz) 0 50 100 150 200

−1.2

−1

−0.8

−0.6

−0.4

−0.2

0

|H| (

dB)

e) f (Hz)

Figura 2.15 Per l’esempio 1.

In Fig. 2.15 a) e b) sono riportati gli andamenti delle fasi di H1(ejθ) eH2(ejθ) con θ = 2πfT : si nota che, al variare di f tra 0 e Fc/2, le fasi di

58 2.7 Una classe di realizzazioni a piccola sensibilita.

H1 e H2 subiscono una variazione di 3π e π, rispettivamente, e sono quasicoincidenti in banda passante (la discontinuita per f ' 170 Hz e dovuta allarappresentazione della fase modulo 2π), mentre differiscono di circa π in bandaattenuata.

Le Fig. 2.15 c), d) ed e), f) mostrano l’andamento della risposta in fre-quenza corrispondente, rispettivamente, ad una realizzazione di H(z) comecascata di celle del secondo ordine in forma diretta e come parallelo delle f.d.t.H1(z) e H2(z) realizzate ancora come cascata di celle del secondo ordine informa diretta. I coefficienti sono stati quantizzati in entrambi i casi su 10 bit.Si osserva che alla realizzazione cascata di H(z) rimane associato un ottimocomportamento in banda attenuata (Fig. 2.15 d: attenuazione ' 57.5 dB)e un cattivo comportamento in quella passante (Fig. 2.15 c: DBR ' 0.75dB), mentre alla realizzazione parallelo di H1(z) e H2(z) rimane associato unottimo comportamento in banda passante (Fig. 2.15 e: DBR ' 0.14 dB), se sitrascura la variazione di fp che e compensabile “predistorcendo” le specifiche,ed un buon comportamento in quella attenuata (Fig. 2.15 f: attenuazione' 54 dB).

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 59

2.7.4 Filtri numerici ad “onda”

Il procedimento comunemente seguito per la sintesi di un filtro numerico conrisposta in frequenza di tipo selettivo, consiste nel determinare una f.d.t. ana-logica Ha(s) del tipo di Butterworth, Chebycev o Cauer, che soddisfi agli erroridi approssimazione ammessi nelle bande passante e attenuata, e nel trasfor-marla, tramite la trasformazione bilineare s = (z − 1)/(z + 1), nella f.d.t.H(z) = Ha((z − 1)/(z + 1)) di un sistema lineare a tempo discreto. A questopunto ci si pone il problema di individuare una realizzazione (un sistema diequazioni lineari alle differenze finite) numericamente “robusta”.In precedenza abbiamo visto che, nel caso di filtri analogici selettivi, la real-izzazione con una rete (adattata) a scala costituita di induttanze e capacita,possiede eccellenti proprieta di insensibilita alla variazione dei parametri. Que-sta proprieta e legata al fatto che una tale realizzazione non e descritta comple-tamente dalla sola equazione differenziale che lega l’ingresso alla uscita ( comeavverrebbe per una realizzazione in forma diretta mediante interconnessionedi integratori), ma e invece descritta da un sistema di equazioni differenzialilineari la cui struttura corrisponde non solo alla f.d.t. Ha(s) ma anche allatopologia della rete [15]. La piccola sensibilita parametrica della rete a scalae quindi dovuta al particolare sistema di equazioni che descrivono la realiz-zazione.

Una volta accertato questo fatto, si puo cercare di tradurre tale sistema diequazioni differenziali in un sistema di equazioni alle differenze finite che neerediti le proprieta. Allo scopo dovremo tradurre le leggi costitutive degli ele-menti che compongono la rete e le leggi di Kirkhoff, che rendono conto di comequesti elementi sono interconnessi, quindi della topologia del circuito. Inoltre,dato che le f.d.t. a tempo–continuo e a tempo–discreto sono collegate dallatrasformazione bilineare, e naturale utilizzare proprio tale trasformazione comestrumento per discretizzare il sistema di equazioni differenziali. Le difficoltanascono, pero, proprio a questo punto.

Se, infatti, descriviamo la rete elettrica in termini di correnti e tensioni eapplichiamo la trasformazione bilineare alle corrispondenti equazioni, arrivi-amo ad un grafo non computabile. (Merita ricordare che la nozione di grafocomputabile e nata proprio in questo contesto.)Consideriamo, ad esempio, una induttanza L, descritta dalla: v = L di/dt →V (s) = sLI(s). La corrispondente equazione alle differenze e:

v(n) + v(n − 1) = L (i(n) − i(n − 1))

nel cui grafo compare un cammino privo di elementi di ritardo che collega inodi associati alle variabili v(n) e i(n). La stessa proprieta vale per i grafiassociati agli altri elementi. Ne viene che la interconnessione dei vari elementidel circuito porta inevitabilmente a cammini chiusi privi di elementi di ritardo

60 2.7 Una classe di realizzazioni a piccola sensibilita.

e quindi ad un grafo non computabile.

La soluzione del problema e data dalla descrizione degli elementi analogiciin termini di combinazioni lineari di tensioni e correnti. La soluzione classicaproposta da Fettweis [15] fa ricorso alla descrizione tramite le “onde di ten-sione” o “ di corrente” [42], da cui il nome di filtri numerici ad onda (wavedigital filters: WDF).In particolare, dato un bipolo di impedenza Z(s) = V (s)/I(s), la soluzionebasata sulle onde di tensione porta a caratterizzare il bipolo tramite le quan-tita:

onda incidente: a = V + RIonda riflessa: b = V − RI

dove R, che ha le dimensioni fisiche di una resistenza, e detta resistenza diriferimento, ed il suo valore, che puo essere una quantita positiva arbitraria,e scelto in modo tale da semplificare la descrizione del bipolo. Considerandol’onda incidente come causa e quella riflessa come effetto, possiamo rappre-sentare il bipolo con il coefficiente di riflessione:

S =V − RI

V + RI=

Z(s) − R

Z(s) + R. (2.98)

Ad esempio, per una induttanza si ha:

Z(s) = sL ⇒ SL =sL − R

sL + R(2.99)

che per R = L diviene

SL =s − 1

s + 1.

Se quindi, applichiamo la trasformazione bilineare otteniamo:

SL(z) = −z−1

che non pone problemi di computabilita. Procedendo allo stesso modo si trovache l’equivalente di una capacita per R = 1/C diviene SC(z) = z−1 e si trovanogli equivalenti degli altri elementi di circuito. Per interconnettere questi bipoli,caratterizzati da diversi valori di resistenza di riferimento, si ricorre ad adat-tatori a 3 e 2 porte aventi come corrispondente analogico i circolatori dellateoria delle microonde. Purtroppo tali strutture portano a realizzazioni com-plesse e costose dal punto di vista computazionale, in particolar modo ad unelevato numero di sommatori. Naturalmente visto l’alto grado di flessibilitasi prestano alla realizzazione delle piu svariate applicazioni, come elencato in[16]. Un approccio alternativo e quello suggerito in [12].

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 61

Nel seguito utilizzeremo il procedimento introdotto da Cucchi e Molo [13],che considera la rete elettrica come interconnessione di doppi bipoli (anzichebipoli) e che, con una scelta accorta di onda incidente e riflessa, porta ad unarealizzazione numerica modulare ed efficiente.

Consideriamo dunque un filtro analogico, caratterizzato da una f.d.t. diordine N , realizzato mediante una struttura a scala come in Fig. 2.16, in cuile Z2n+1(s) sono le impedenze dei rami serie, le Y2n(s) le ammettenze dei ramiparallelo, E(s) e il generatore di tensione e RG e RL, con RG = RL, sono laresistenza interna del generatore e la resistenza di carico.

Y (s) Y (s)3

Z (s) Z (s)

E(s)

RRG N

L2 N-1

Z (s)1+

Figura 2.16 Rete a scala

Nel caso di filtri passivi e privi di perdite, ogni ramo puo quindi assumerequattro configurazioni tipiche: induttanza, capacita, serie di induttanza e ca-pacita e parallelo di induttanza e capacita, ed ognuna di esse verra vista comeun doppio bipolo serie o parallelo. Inoltre, supponendo di avere un manualedi filtri analogici, ad esempio [72], i valori dei componenti si possono supporrenoti.

Rappresentazione degli elementi fondamentali

Consideriamo il doppio bipolo di Fig. 2.17 (il verso di I2 e opposto a quellousuale per gli utilizzatori) e la sua rappresentazione equivalente in termini dicombinazioni di tensioni e correnti di porta: (a1, b1) e (a2, b2) sono le ondeincidente e riflessa alle porte uno e due e Rk e la resistenza di riferimentodella porta k = 1, 2. Il valore delle resistenze Rk e a priori arbitrario, ma sivedra in seguito che una loro scelta opportuna semplifichera notevolemente larealizzazione numerica.

VV1

I I 2

2

1

Doppio bipolo Doppio bipoloR 1 R 2b

2

a2

a1

b1

Figura 2.17 Rappresentazioni di un doppio bipolo

62 2.7 Una classe di realizzazioni a piccola sensibilita.

Le onde riflesse dipendono dalle onde incidenti secondo la relazione:

b1

b2

=

S11(s) S12(s)

S21(s) S22(s)

a1

a2

= S(s)

a1

a2

La matrice S(s) e detta matrice di diffusione, ed e rappresentata dal grafo diFig.2.18.

Considerando la cascata di siffatte celle, risulta evidente che nella con-troparte numerica ottenuta tramite la trasformazione bilineare, possono essercianelli chiusi privi di elementi di ritardo. Quindi per garantire la computabilitadel grafo imponiamo la condizione S22(z) = z−1S′

22(z), quindi che S22(z) siannulli all’infinito: S22(∞) = 0. L’imporre uno zero per z → ∞ equivale adimporre su S22(s) = S22((z − 1)/(z + 1)) la condizione:

S22(s)∣

s=1= 0. (2.100)

Imposta tale condizione, si tratta ora di calcolare gli elementi della matriceS(s) associata ai vari elementi circuitali. L’utilizzo della definizione usuale dionda incidente e riflessa di tensione (o di corrente) porterebbe ad una matricepiena, e quindi ad una struttura complessa; una idea che semplifica notevol-mente tale struttura e stata sviluppata in [13] con una scelta opportuna delladefinizione delle “onde”. Il criterio scelto e stato quello di imporre che unelemento della matrice sia sempre nullo, ad esempio S11(s):

S11(s) =b1

a1

a2=0= 0 (2.101)

Per poter soddisfare a tale vincolo, b1 ed a2 devono essere definite opportuna-mente, cioe in modo che quando a2 = 0 si abbia anche b1 = 0.

S11~

S~ 22

a

b

b

a

S21

S 12

~

~ 2

2

1

1

Figura 2.18 Grafo associato alla matrice di diffusione

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 63

Realizzazione del ramo serie

Z(s)

I I1 2

V1

(z)F

= +R1R 2 Z(1)

-1

a b 2

a

1

2-b1

R1

V 2

β

Figura 2.19 Ramo serie e grafo equivalente in z

Consideriamo il doppio bipolo di Fig. 2.19 caratterizzato dai vincoli:

V2 = V1 − Z(s)II = I1 = I2

. (2.102)

Le definizioni delle onde che soddisfano la (2.101) (a2 = 0 implica b1 = 0),diventano :

a1 = V1 + R1I1

b1 = R1I1

b2 = V2 + R2I2

a2 = R2I2

. (2.103)

Dalle definizioni degli elementi della matrice S(s) otteniamo:

S11(s) =b1

a1

a2=0=

R1 I

V1 + R1 I

I=0= 0

S12(s) =b1

a2

a1=0=

R1 I

R2 I

V1=−R1 I=

R1

R2

S21(s) =b2

a1

a2=0=

V2 + R2 I2

V1 + R1 I1

I=0=

V1 − Z(s) I

V1

I=0= 1

S22(s) =b2

a2

a1=0=

V2 + R2 I2

R2 I2

V1=−R1 I=

R2 − R1 − Z(s)

R2.

Per la computabilita, imponiamo la condizione:

S22(s)∣

s=1= 0 ⇒ R2 = R1 + Z(1) (2.104)

ottenendo un vincolo tra i valori delle due resistenze di riferimento R1 e R2.Si ha quindi:

S22(s) =

(

1 − R1

R2

)(

1 − Z(s)

Z(1)

)

(2.105)

64 2.7 Una classe di realizzazioni a piccola sensibilita.

per cui:

b1

b2

=

0 α

1 (1 − α)F (s)

a1

a2

(2.106)

dove:

α =R1

R2=

R1

R1 + Z(1)F (s) = 1 − Z(s)

Z(1)(2.107)

Notiamo fin d’ora che essendo Z(1) > 0, si ha sempre R2 > R1 e quindi risulta0 < α < 1 .L’equazione matriciale (2.106) si mappa nel piano z nel grafo di Fig. 2.19, doveak e bk sono segnali a tempo discreto: dato che spesso α < 0.5 si e introdottoil moltiplicatore β = 1 − α e, anticipando una esigenza sulla connessione tracelle, si e introdotta una moltiplicazione per −1 su b1.

F (z) e ottenuta applicando la trasformazione bilineare a F (s), la qualedipende a sua volta dalla effettiva configurazione del ramo.Consideriamo, ad esempio, una induttanza: si ha Z(s) = sL, e quindi

α =R1

R1 + L(2.108)

F (s) = 1 − sL

L= 1 − s

bilin⇒ F (z) = 2z−1

1 + z−1(2.109)

la cui equazione ingresso-uscita risulta:

y(n) = 2x(n − 1) − y(n − 1)

e il cui grafo di flusso e riportato in Fig. 2.20.

-12

y(n)x(n)-1

z

Figura 2.20 Realizzazione della F (z) corrispondente a Z(s) = sL.

Realizzazione del ramo parallelo

Consideriamo il doppio bipolo di Fig. 2.21 a) caratterizzato dai vincoli:

V2 = V1 = VI2 = I1 − Y (s)V.

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 65

Le definizioni delle onde che soddisfano la (2.101) diventano:

a1 = V1 + R1I1

b1 = V1

a2 = V2

b2 = V2 + R2I2

e gli elementi della matrice di diffusione risultano:

S11(s) =b1

a1

a2=0=

V

V + R1 I1

V =0= 0

S12(s) =b1

a2

a1=0=

V

V

V =−R1 I= 1

S21(s) =b2

a1

a2=0=

V + R2 I2

V + R1 I1

V =0=

R2(I1 − Y (s) V )

R1 I1

V =0=

R2

R1

S22(s) =b2

a2

a1=0=

V + R2 I2

V

V =−R1 I=

R1 − R2 − R1 R2Y (s)

R1

Per la computabilita imponiamo la condizione:

S22(s)∣

s=1= 0 ⇒ R2 =

R1

1 + R1Y (1), (2.110)

che introduce un vincolo sulle resistenze R1 e R2. Otteniamo:

S22(s) =

(

1 − R2

R1

)(

1 − Y (s)

Y (1)

)

. (2.111)

In conclusione si ha:

b1

b2

=

0 1

α (1 − α)F (s)

a1

a2

(2.112)

b 1

a 1

b 1

1/ α

Y(s)

I I1 2

V1 2V

a)

a 1^

^ α

b)

Figura 2.21 a) ramo parallelo e b) trasformazione

66 2.7 Una classe di realizzazioni a piccola sensibilita.

dove:

α =R2

R1=

1

1 + R1Y (1)F (s) = 1 − Y (s)

Y (1). (2.113)

Alla 2.112 corrisponde in z una struttura in cui compaiono due moltiplicazionipiu quella/e associate alla F (z). Se applichiamo alla (2.112) la trasformazioneriportata in Fig. 2.21 b):

a1 =a1

α

b1 =b1

α

(2.114)

otteniamo una descrizione uguale a quella trovata per il ramo serie:

b1

b2

=

0 α

1 (1 − α)F (s)

a1

a2

(2.115)

Si osserva che con la trasformazione applicata risulta b1(z)/a1(z) = b1(z)/a1(z),mentre si ha b2(z)/a1(z) = (1/α)b2(z)/a1(z). Quindi la f.d.t. complessiva cheverra realizzata, risultera pari ad 1/α volte la f.d.t. originale. Ritroveremotale trasformazione elementare nel Cap. 4 nella operazione di “messa in scala”delle variabili nelle realizzazioni a traliccio e “ad onda”.

Consideriamo come esempio il caso di una ammettenza costituita dallaserie di una induttanza e di una capacita: Y (s) = 1/(sL + 1/sC). Si ha

α =R2

R1=

(1 + LC)

1 + C(R1 + L)(2.116)

F (s) = 1 −sL

1+s2LCL

1+LC

bilin⇒ F (z) = 2kz−1 + z−2

1 + 2kz−1 + z−2(2.117)

dove:

k =1 − LC

1 + LC(2.118)

L’equazione alle differenze corrispondente alla F (z) risulta

y(n) = 2[x(n − 2) + kx(n − 1)] − y(n − 2) − 2ky(n − 1)

ed una realizzazione con il solo moltiplicatore k, che determina la frequenzadi risonanza, e riportata in Fig. 2.22.

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 67

z

-1

z 2-1 -1

kx(n) y(n)

-1

Figura 2.22 Realizzazione della F (z) corrispondente a Y (s) = 1/(sL + 1/sC).

V 1V’2Z Y

I2 1I’

Figura 2.23 Collegamento serie–parallelo

Interconnessione tra le celle

Finora ci si e solo preoccupati di trovare la ”rappresentazione in z” di rami seriee parallelo isolati. Nella rete a scala analogica essi sono collegati ed il collega-mento introduce vincoli su tensione e corrente alle porte dei rami, vincoli di cuie necessario rendere conto. Nel caso analogico, possiamo avere due situazioni:connessione ramo serie–ramo parallelo e connessione ramo parallelo–ramo se-rie.Ad esempio in Fig. 2.23 e riportata la cascata di un ramo serie e di uno par-allelo ( il risultato cui si arrivera, e lo stesso se si scambiano i rami). Il lorocollegamento implica:

V2 = V ′1 = V

I2 = I ′1 = I

Inserendo tali vincoli nelle equazioni:

a2 = R2I2

b2 = V2 + R2I2

a′1 = V ′1 + R′

1I′1

b′1 = V ′1

si trovano le relazioni tra a2, b2 e a′1, b′1. Tali relazioni si semplificano (non siintroducono moltiplicazioni), se si impone che sia

R2 = R′1, (2.119)

cioe che la resistenza di riferimento alla porta di ingresso del ramo derivatosia pari alla resistenza di riferimento della porta di uscita del ramo serie. Taleipotesi si supporra sempre verificata nel seguito. In corrispondenza si ottiene:

68 2.7 Una classe di realizzazioni a piccola sensibilita.

2F (z)1

β3

F (z)

F (z) θ

x(n) y(n)

y(n)~

Z Y A Z

3

1 2 3A

-1 -1 -1β2

Figura 2.24 Realizzazione a scala

a′1 = b2

a2 = b2 − b′1(2.120)

Il blocco “adattatore” assume la struttura associata ai due blocchi A di Fig.2.24 relativa ad un prototipo a scala del terzo ordine con due rami serie, Z1(s)e Z2(s), ed un ramo parallelo, Y2(s). Nelle tre sezioni corrispondenti si eassorbita la moltiplicazione per −1 di b1k associata agli adattatori A e si eusato il parametro βk = 1 − αk.Dalla figura si intuisce che la realizzazione numerica cui si arrivera sara ancoradel tipo a scala.

Connessione col generatore e col carico

V

R G

R11E+

I1

a b

a 1

1

b=e(n)

Figura 2.25 La connessione col generatore

Dallo schema di Fig. 2.25, indicata con R11 la resistenza di riferimento allaporta 1 della prima cella e posto RG = R11 per semplificare le relazioni risul-tanti, si deduce che le grandezze dal lato del generatore risultano:

b = V + RG I = E(s) = a1

a = RG I = b1,(2.121)

dove le onde senza indice sono relative al generatore e quelle con l’indice sonorelative alla prima cella del filtro.

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 69

I =IN L

RCella N V =VN L L

bN

aN

θy

Figura 2.26 La connessione col carico

Quindi l’onda incidente il doppio bipolo, a1 = b, che e quella che piu ci inter-essa, dipende solo dal generatore. E interessante osservare che l’onda riflessadal doppio bipolo, b1 = a, rappresenta la caduta di tensione su RG e quindi larisposta in frequenza associata a b1(z)/a1(z) risulta di tipo “complementare”rispetto a quella realizzata dal filtro (passa–alto se il filtro e passa–basso).

Nel caso analogico, l’ultima cella puo’ essere: un ramo in parallelo al caricoo un un ramo in serie al carico. La connessione e illustrata in fig.2.26, la qualeimplica i vincoli:

VN = VL = VIN = IL = IVL = RL I

(2.122)

Corrispondentemente si ottiene la relazione tra le onde in uscita dal filtro:

bN = V + R2NI =⇒ I =bN

R2N + RL

aN = R2N I =R2N

R2N + RLbN = ϑ bN ramo serie

aN = V =RL

R2N + RLbN = ϑ bN ramo parallelo

(2.123)

dove R2N e la resistenza di riferimento in uscita dell’ultima cella del filtro.

Collegamento delle celle

Cella

1 RRCella

N

Cella

N

x(n) y(n)

θ11

A

1,2 R12

A

R1NN-1,2 R2N21

Figura 2.27 Struttura di un filtro ad “onda”

In conclusione La struttura di un WDF e costituita da una cascata di celleinterconnesse come in Fig. 2.27, dove Ri,j con i = 1, 2 indica la resistenza

70 2.7 Una classe di realizzazioni a piccola sensibilita.

RL

R

E(s)

G

L 2 4

L1 L3C2

L

L5C4

+

Figura 2.28 Per l’esempio: rete a scala

della porta i della cella j. Ogni cella puo avere una o due variabili di stato, aseconda dell’impedenza F (z) a partire dalla quale e stata calcolata e quindi larealizzazione risultante non risulta canonica nei ritardi (al pari del prototipoanalogico). Inoltre ad ogni cella rimangono associate una o due moltipli-cazioni, sempre a seconda sempre della tipologia del ramo originale, e si hauna moltiplicazione per ogni adattatore ed una associata al carico.

La Fig. 2.24 mostra piu in dettaglio la realizzazione corrispondente aduna f.d..t. del terzo ordine nelle ipotesi RG = R11, R21 = R12 e R22 =R13 (nella figura non si e compensata la moltiplicazione per 1/α2 associataalla realizzazione della seconda cella). Si osserva che, tramite il principio ditrasposizione e possibile ottenere una realizzazione equivalente.

Esempio 1. Vediamo un esempio di realizzazione ad “onda” di filtro passa–basso ellittico di ordine N = 5 di specifiche: fp = Fc/4 (θp = 2πfp/Fc = π/2),ripple massimo ammesso in banda passante DBR = 0.2 dB e minima attenu-azione in banda oscura A = 46 dB. Bisogna quindi progettare un filtro ana-logico ellittico avente: ωp = tan(π(fp/Fc)) = 1 rad/s e ωs = tan(π(fs/Fc)) =1.5243 rad/s. Dalle tabelle di un catalogo di filtri analogici [72] si trova unfiltro che, con le bande passante e attenuata assegnate, ha DBR = 0.18 dB eA = 46.3 dB. La rete a scala corrispondente e riportata in Fig. 2.28.

Il valore dei componenti per RG = RL = 1Ω e:

• L1 = 1.18411 H

• L2 = 0.14706 H

• L3 = 1.77455 H

• L4 = 0.41894 H

• L5 = 0.97798 H

• C2 = 1.20241 F

• C4 = 0.95213 F

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 71

Le resistenze di porta risultano:

• RG = RL = 1Ω

• R11 = RG = 1Ω

• R12 = R21 = R11 + L1 = 2.18411Ω

• R13 = R22 =R21(1 + L2C2)

1 + C2(L2 + R21)= 0.675862Ω

• R14 = R23 = R22 + L3 = 2.45041Ω

• R15 = R24 =R23(1 + L4C4)

1 + C4(L4 + R23)= 0.918501Ω

• R25 = R24 + L5 = 1.89648Ω

e quindi i coefficienti moltiplicatori di cella risultano:

• α1 = R11/R21 = 0.457852397

• α2 = R22/R21 = 0.309445061

• α3 = R22/R23 = 0.275815674

• α4 = R24/R23 = 0.374835685

• α5 = R24/R25 = 0.484318827

• k2 = (1 − L2C2)/(1 + L2C2) = 0.699485986

• k4 = (1 − L4C4)/(1 + L4C4) = 0.429709740

• θ = R25/(1 + R25) = 0.65475358

da cui si ottengono immediatamente i coefficienti βi = 1−αi che intervengonoin una realizzazione del tipo di Fig. 2.24. Merita osservare come la dispersionedei valori dei coefficienti sia molto piccola.La realizzazione richiede (3N − 1)/2 = 7 elementi di ritardo, (3N + 1)/2 = 8moltiplicazioni e (9N −3)/2 = 21 somme contro gli N = 5 elementi di ritardo,2N + 1 = 11 moltiplicazioni e 2N = 10 somme richieste da una realizzazionecanonica.

La Fig. 2.29 riporta il modulo della risposta in frequenza (normalizzataal valore massimo) corrispondente ad una quantizzazione per arrotondamentodei coefficienti su 4, 6 e ≥ 8 bit segno escluso (i βi sono numeri positivi eminori dell’unita)). Data la dipendenza tra i valori dei coefficienti, indotta daivincoli sulle resistenze di riferimento, si e quantizzato β1 e, con la condizione

72 2.7 Una classe di realizzazioni a piccola sensibilita.

0 0.05 0.1 0.15 0.2 0.25

−0.25

−0.2

−0.15

−0.1

−0.05

0

0.05 Banda passante

|H| d

B

f/Fc

≥ 8 bit6 bit 4 bit

0.32 0.34 0.36 0.38 0.4 0.42 0.44 0.46 0.48 0.5−75

−70

−65

−60

−55

−50

−45Banda attenuata

|H|

dB

f/Fc

≥ 8 bit6 bit 4 bit

Figura 2.29 Per l’esempio: risposta in frequenza a coefficienti quantizzati

RG = R11 = 1 Ω, si e ricalcolata R21 utilizzando il valore quantizzato per β1,si e quindi quantizzato β2 e · · ·Dall’esame della figura risulta palese come siano effettivamente mantenute le“promesse” di piccola sensibilita parametrica della realizzazione. Una real-izzazione come cascata di celle del secondo ordine richiederebbe una rappre-sentazione dei coefficienti su 10 bit per ottenere le prestazioni del filtro ad“onda” con coefficienti su 4 bit. Si osserva che la rappresentazione dei coef-ficienti a 4 bit consente una realizzazione “senza moltiplicatore”, realizzandoogni moltiplicazione con una sequenza “cablata” di operazioni di “shift andadd”.

Riduzione del cammino critico

La realizzazione a scala ottenuta e caratterizzata da un valore elevato dellalunghezza del cammino critico: se consideriamo come prevalente il costo dellemoltiplicazioni (il che e certamente vero se le moltiplicazioni sono realizzatecome sequenza cablata di “shift and add”), al cammino critico restano asso-ciate N + 2 operazioni di moltiplicazione, con N ordine della f.d.t. Il motivorisiede nel fatto che nella realizzazione si hanno due “linee” lungo le qualisi propagano, rispettivamente, l’onda incidente e la riflessa, ed i calcoli asso-ciati all’onda riflessa non possono iniziare prima che l’onda incidente sia ar-rivata all’uscita. Ad esempio, con riferimento alla Fig. 2.24, dalla conoscenzadell’ingresso e delle uscite da F1(z), F2(z) e F3(z) (variabili di stato) e possi-bile calcolare l’uscita y(n) con una serie di somme e, in parallelo, il prodottoper il coefficiente k che interviene nella F2(z); a questo punto calcolato ilprodotto θy(n), e possibile aggiornare le variabili di stato di F3(z), F2(z) eF1(z) nell’ordine.

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 73

Una soluzione per ridurre la lunghezza del cammino critico [13], consisteproprio nel sezionare, con un taglio, la rete a scala analogica in due sezioni,una alimentata dal generatore di tensione E1(s) = E(s) e resistenza internaRG e l’altra alimentata da un generatore di tensione E2(s) = 0 e resistenzainterna RL (in corrispondenza il segnale di uscita viene cambiato di segno: siveda (2.121)). Si realizzano, quindi, in modo indipendente le due sezioni conil procedimento illustrato in precedenza e le si adatta in corrispondenza delpunto di taglio.

b =a2s 1

a =b2s 1

b =a2d2

y =y1~

a =b2d2

y =y

e =0

"destra"

Adattatore

S-D

e =e1 2

"sinistra"

Sottorete Sottorete

2

Figura 2.30 Per la riduzione del cammino critico

Il procedimento e schematizzato in Fig. 2.30 nella quale, riferendoci alfiltro di Fig. 2.24, possiamo pensare che il blocco di sinistra corrisponda, adesempio, al generatore che alimenta la impedenza Z1(s) e quello di destracorrisponda ad un generatore di tensione nulla e resistenza interna RL chealimenta la impedenza Z3(s) e la ammettenza Y2(s). Ovviamente nel punto digiunzione e necessario introdurre un adattatore il quale, nelle ipotesi attuali,deve adattare la uscita dal ramo serie, Z1(s), con la uscita dal ramo parallelo,Y2(s).

Indichiamo con a2s e a2d, rispettivamente, le onde incidenti sulla strutturaa “sinistra” e a “destra” dell’adattatore, con b2s e b2d le onde riflesse e con R2s eR2d le resistenze di riferimento di uscita delle due strutture. Le definizioni delleonde ai e bi incidente e riflessa alla porta i dell’adattatore, sono nell’ipotesiR1 = R2s e R2 = R2d:

a1 = V1 + R1I1 = b2s

b1 = R1I1 = a2s

a2 = V2 + R2I2 = b2d

b2 = V2 = a2d.

Tramite i vincoli analogici:

V1 = V2 = VI1 = −I2 = I

si ottiene:

74 2.7 Una classe di realizzazioni a piccola sensibilita.

S11 = b1a1

a2=0= R1 I1

V + R1 I

V =R2 I= R1

R1 + R2= ϑ1

S12 = b1a2

a1=0= R1 I1

V − R2I

V =−R1 I= −R1

R1 + R2= −ϑ1

S21 = b2a1

a2=0= V

V + R1 I

V =R2 I= R2

R1 + R2= ϑ2

S22 = b2a2

a1=0= V

V − R2I

V =−R1 I= R1

R1 + R2= ϑ1

avendo definito :

ϑi =Ri

R1 + R2i = 1, 2 .

Si ottiene, quindi, la seguente matrice di diffusione per l’adattatore:

b1

b2

=

ϑ1 −ϑ1

ϑ2 ϑ1

a1

a2

da cui, essendo ϑ1 + ϑ2 = 1, si puo ricavare una realizzazione con una solamoltiplicazione e due somme, ad esempio, la:

b1 = ϑ1(a1 − a2)b2 = a1 − ϑ1(a1 − a2).

associata al blocco A′ di Fig. 2.31.In definitiva la realizzazione della Fig. 2.24 si modifica come in Fig. 2.31.

In essa la moltiplicazione per β1 puo avvenire in parallelo con le moltiplicazioniper β′

2 e β′3 associate al calcolo dell’uscita, e l’aggiornamento dello stato asso-

ciato a F1(z) in parallelo con quello di F ′2(z) e F ′

3(z). Ovviamente il guadagnoin termini di parallelismo sarebbe maggiore in una f.d.t. di ordine piu elevato.

2.7.5 Un esempio

Concludiamo con un esempio in cui viene messa a confronto la sensibilitaparametrica di alcune realizzazioni.

Consideriamo la famiglia di filtri passa-basso ellittici con parametri: ordineN = 5, ondulazione in banda passante: DBR = 0.2 dB e attenuazione inbanda attenuata: A ' 47 dB. Tutte le f.d.t. corrispondenti possono esserededotte dalla f.d.t. associata ad un valore arbitrario della banda passante,tramite la trasformazione

z−1 → z−1 − a

1 − az−1

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 75

3Z

F’(z)3

’3βy(n)~

-1

-1

θ11

F (z)

Z1

-1

A’

-y(n)

e (n)=02x(n)

-1β2’

2F’(z)

Y 2

-1

A

Figura 2.31 Esempio di riduzione del cammino critico

con |a| < 1.Si considerano tre realizzazioni come parallelo di f.d.t. passatutto H1(z) eH2(z) (di secondo e terzo ordine):

a) realizzazione R1: H1(z) e H2(z) sono realizzate come cascata di celle delprimo e secondo ordine, in cui ad ogni cella e associata una struttura a traliccioad un moltiplicatore, normalizzata in norma L∞ (paragrafo 4.1.6). Questa re-alizzazione e stata presa in considerazione perche coincide con la realizzazione“ad onda” di Tipo 2 di f.d.t. passatutto del primo e secondo ordine proposta in[18]. Essendo una realizzazione ad onda ha potenzialmente piccola sensibilitaparametrica;

b) realizzazione R2: H1(z) e H2(z) sono realizzate con una struttura a traliccioa quattro moltiplicatori;

c) realizzazione R3: H1(z) e H2(z) sono realizzate come cascata di celle delprimo e secondo ordine, in cui ogni cella e realizzata in forma diretta ad uscitemultiple dallo stato.

Si sono inoltre considerate la realizzazione R4 della f.d.t. H(z) come cascatadi celle del primo e secondo ordine ad uscite multiple dallo stato e la realiz-zazione R5 come filtro numerico “ad onda”. Il prototipo analogico di R5 hala struttura di Fig. 2.28 e si e utilizzata la realizzazione a ridotto camminocritico nella quale un blocco comprende il generatore, Z1(s) e Y2(s), e l’altroblocco comprende Z3(s), Y4(s), Z5(s) ed il carico (le prestazioni sono le stesseanche per la realizzazione originale).

Si e calcolata la lunghezza statistica di parola imponendo: DBR = 0.4dB e A = 40 dB al variare della banda passante fp/Fc tra 0.05 e 0.45. Gliandamenti corrispondenti sono riportati in Fig. 2.32 a) per la banda passantee in Fig. 2.32 c) per la banda attenuata. Le fig. 2.32 b) e d) riportano i valorieffettivi di DBR e A corrispondenti ad una quantizzazione dei coefficienti sunc + 1 = 8 bit.

Dalle figure si nota che, in ottimo accordo con le considerazioni svolte inprecedenza, nella banda passante la sensibilita alla quantizzazione dei coeffici-

76 2.7 Una classe di realizzazioni a piccola sensibilita.

enti della realizzazione R4 aumenta per valori molto piccoli e molto grandi difp/Fc (valori corrispondenti a configurazioni di poli molto prossimi a z = +1e z = −1, rispettivamente). Al contrario, la sensibilita in banda attenuata diR4 e molto piccola.Considerazioni simmetriche valgono per le realizzazioni tramite passatutto:R1, R2 e R3, nelle quali e molto piccola la sensibilita in banda passante erelativamente elevata quella in banda attenuata.La realizzazione R5, come ci si poteva aspettare, ha piccola sensibilita in en-trambe le bande.

Considerando i valori effettivi di DBR e A corrispondenti ad una quantiz-zazione dei coefficienti su 8 bit, si conclude che la realizzazione “ad onda” haprestazioni nettamente superiori alle altre realizzazioni considerate. In effettisi trova che solo 4 bit (piu segno) sono sufficienti ad ottenere variazioni dientita trascurabile per tutti i valori di fp/Fc considerati. Quindi il comporta-mento effettivo risulta migliore di quanto previsto sulla base della lunghezzastatistica di parola. Questo fatto puo essere attribuito, almeno in parte, alfatto che per quantizzare i coefficienti si e seguita la strategia illustrata aproposito dell’esempio di Fig. 2.29. Nel par. 4.1.6 vedremo che R5 risulteraanche robusta nei confronti della propagazione degli errori di calcolo.

Tra le altre realizzazioni, le realizzazioni tramite passatutto hanno prestazioniuniformemente buone in banda passante per tutti i valori di fp/Fc, in partico-lare nel caso di R1. Questa realizzazione, inoltre, ha un buon comportamentoanche in banda attenuata, comportamento che si discosta poco (al massimo 3dB), ad eccezione che per Fp/Fc = 0.05, da quello di R4 e R5.Fra le realizzazioni non “ad onda” considerate, la realizzazione R1 risulta larealizzazione complessivamente migliore dal punto di vista della sensibilita allaquantizzazione dei coefficienti. Tale conclusione sara, purtroppo, solo parzial-mente confermata nel par. 4.1.6 quando ne consideremo la robustezza aglierrori di calcolo.

Si osserva che il comportamento anomalo della realizzazione R2 in bandapassante (Fig. 2.32 b) puo essere attribuito al fatto che dopo la quantizzazione

su 8 bit dei coefficienti ki e√

1 − k2i , la somma dei loro quadrati non e piu

esattamente uguale a uno, e quindi le corrispondenti f.d.t. H ′1(z) e H ′

2(z)risultano ”quasi” passa-tutto.

Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 77s

n s

DB

R

fp/F

Cfp/F

*

C

*

n

0.05 0.15 0.25 0.35 0.450.05 0.15 0.25 0.35 0.45

0.05 0.15 0.25 0.35 0.45

14

8

6

10

12

a)

c)

0.05 0.15 0.25 0.35 0.45

b)

0.6

0.5

0.4

0.3

0.2

0.05 0.15 0.25 0.35 0.45

d)

R1R2R3R4

11

9

7

5

3

1

50

45

40

35

30

25

A (

dB)

*

*

* * * * *

R1R2R3R4

*

** *

*

*

*

*

R5

* * * * * * *

* * * * * * *

* *R5

Figura 2.32 Per l’esempio

78 2.7 Una classe di realizzazioni a piccola sensibilita.

Capitolo 3

La quantizzazione nelle conversioni da segnale

analogico a numerico e da segnale numerico ad

analogico.

3.1 Modello deterministico.

La operazione di conversione di un segnale da analogico a numerico effettuatada un convertitore A/D, puo essere schematizzata, come in Fig. 3.1, con lacascata di un campionatore ideale e di un quantizzatore uniforme Qi[x] (dalpunto di vista ingresso-uscita, e perfettamente equivalente un modello in cuiil quantizzatore precede il campionatore). La caratteristica del quantizzatoree una di quelle riportate in Fig. 1.2 e 1.3. Il convertitore A/D e previsto perun certo campo di variazione del segnale analogico d’ingresso (tipicamente ±5V, 0 ÷ 10 V per segnali di tensione bipolari e unipolari, rispettivamente), cuicorrisponde il campo dei numeri di uscita, rappresentati con ni + 1 bit nellanotazione propria del convertitore. La risoluzione q del convertitore (o quanto)risulta per segnali bipolari

q =2 Mx

2ni+1= Mx 2−ni (3.1)

Ad esempio, in un convertitore A/D a 8, 10, 12 bit per segnali bipolari com-presi tra ±5 V, risulta q ' 39, 10, 2.5 mV, rispettivamente. Si ricorda che se siinterpreta il numero (in virgola fissa) di uscita dal convertitore come un intero,`, si ha: Qi[x(kT )] = ` · q, mentre se lo si interpreta come frazione, f , si ha:Qi[x(kT )] = f ·Mx. Il fattore di scala q (o Mx) puo essere ignorato in tutte lesuccessive elaborazioni numeriche. E invece necessario tenerne conto quandosi debba attribuire una unita di misura al risultato di una elaborazione, esempre all’atto della conversione da segnale numerico ad analogico, dato cheil ”guadagno” complessivo del sistema dipende, ovviamente, da detto fattoree dall’analogo fattore del convertitore D/A.

E evidente che il segnale analogico deve essere opportunamente condizion-ato, in modo che risulti compreso con alta probabilita entro ±Mx (oppure0÷Mx). Nel caso che il segnale analogico di ingresso esca dal campo nominaledel convertitore A/D, e necessario ricorrere ad opportuni accorgimenti. Nor-malmente si ricorre ad una saturazione, e la caratteristica di quantizzazione

80 3.1 Modello deterministico.

Q

x(t)

R Z(T)

x(kT)

i

Q [x(kT)]i

Figura 3.1 Modello del convertitore A/D.

Q(x)

x

Figura 3.2 Caratteristica di quantizzazione con saturazione.

diviene del tipo di Fig. 3.2, nella quale si distinguono la regione (”lineare”) dinormale funzionamento e la regione di saturazione corrispondente a condizionidi sovraccarico.

La distorsione del segnale di ingresso x(kT ) introdotta dal quantizzatore,determina una variazione del segnale di uscita dal sistema a valle rispetto alcaso di campionamento ideale (q = 0).Tale variazione puo essere valutata con riferimento alla Fig. 3.3 dove si e fattal’ipotesi che il sistema di elaborazione sia a tempo discreto, lineare e stabile,anziche numerico (cio corrisponde, ad esempio, in Fig. 1.7 a trascurare l’effettodelle altre non linearita). Da Fig. 3.3 si ricava per la risposta forzata:

y(k) =k∑

i=0

h(i)x(k − i) (3.2)

y(k) =k∑

i=0

h(i)x(k − i) (3.3)

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 81

ey(k) = y(k) − y(k) =k∑

i=0

h(i)e(k − i) (3.4)

dove: e(k) = x(k) − x(k) e, al solito, si e posto T = 1 per semplicita dinotazione. Dalla (3.4) risulta che, nota la sequenza e(k), e immediato calcolarela corrispondente sequenza di uscita ey(k). Ad esempio, se il segnale x(t) diingresso al convertitore e un gradino, e(k) risulta costante e si ha:

ey(k) = ek∑

i=0

h(i)

e quindi il segnale di errore ey(k) coincide con la risposta forzata del sistemaad un gradino di ampiezza e. In particolare per l’errore a regime risulta:

ey(∞) = e∞∑

i=0

h(i) = e H(z)|z=1 = e H(1) (3.5)

Se h(k) ha lo stesso segno per ogni k (cioe se la risposta al gradino e monotona),si ha |ey(k)| < |ey(∞)| e quindi |ey(∞)| porge anche lo scostamento massimo.

^y(kT)

e (kT)y+

-

y(kT)

x(kT)x(t)

Q i H(z)

H(z)

Figura 3.3 Per il calcolo di ey(k).

A parte casi particolari (come quello appena considerato) la determinazionedel segnale di errore e(k) risulta praticamente impossibile, e si rende quindinecessario adottare un modello per e(k). Se, ad esempio, si considera la classedei segnali di ingresso ai quali corrisponde la sequenza di errore e(k) che rendemassimo lo scostamento dell’uscita (metodo del caso peggiore), si arriva allarelazione:

|ey(k)| ≤k∑

i=0

|h(i)x(k − i)| ≤ maxi≤k

|e(i)|k∑

i=0

|h(i)| (3.6)

e quindi alla:

|ey(k)| ≤ maxk

|e(k)|∞∑

i=0

|h(i)|. (3.7)

82 3.1 Modello deterministico.

La (3.7) fornisce il valore del massimo scostamento possibile del segnaledi uscita in funzione della risposta impulsiva del sistema e dell’unica infor-mazione certa sull’errore di quantizzazione, cioe del suo valore massimo (paria q/2 per un convertitore ad arrotondamento). Si osserva che il sistema lin-eare determina la massima amplificazione di max |e(k)| attraverso l’indice distabilita BIBO, S =

k |h(k)|, il quale risulta tanto maggiore quanto piu ilsistema e prossimo alla instabilita, cioe i poli di H(z) prossimi al cerchio diraggio unitario. Se la risposta al gradino e monotona, la (3.7) coincide con la(3.5).

Q u

x(kT)~ y(t)~

a

R

H (f )

Z(T)

x(kT)

Figura 3.4 Modello della conversione D/A

Per la operazione di conversione da segnale a tempo discreto a segnalea tempo continuo, valgono considerazioni simili a quelle appena svolte. InFig. 3.4 e riportato il modello delle operazioni svolte da un convertitore D/Aa nu + 1 bit. Si osserva che tale modello e ottenibile, tramite il principiodi trasposizione, da quello della conversione A/D quando in quest’ultima siincluda il filtro passa basso antialiasing.Il segnale x(kT ) viene quantizzato (previa eventuale saturazione) su nu +1 bit con passo di quantizzazione qu = Mx 2−nu con Mx = max |x(kT )| eapplicato, tramite la trasformazione di dominio da Z(T ) a R, al filtro passabasso analogico Ha(f) di ricostruzione. Posto t = nT + τ con 0 ≤ τ < T ,x(kT ) = x(kT ) + e(kT ) e supposto x(kT ) causale al pari di ha(t), l’erroreey(t) indotto dalla quantizzazione di x(kT ) sul segnale ricostruito risulta

ey(t) = ey(nT + τ) = Tn∑

k=0

e(kT )ha(nT + τ − kT ). (3.8)

Per t → ∞ si ottiene che il valor massimo dell’errore di ricostruzione e datodalla relazione

|ey(t)| ≤ maxk

|e(kT )|(

max0≤τ<T

T∞∑

i=0

|ha(iT + τ)|)

. (3.9)

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 83

d.d.p. media varianza potenza

arrotondamento 1qrect(a

q ) 0 q2/12 q2/12

tronc. MS 12qrect( a

2q ) 0 q2/3 q2/3

tronc. C2 1q rect(a+q/2

q ) −q/2 q2/12 q2/3

Tabella 3.1

3.2 Modello statistico.

Un approccio diverso al problema e quello statistico, in cui il segnale di in-gresso ed il corrispondente segnale di errore vengono considerati come processialeatori stazionari. In questo caso e(k) viene spesso detto ”rumore di quantiz-zazione”.

Per rendere trattabile la analisi si fanno le ipotesi che e(k):1) abbia densita di probabilita uniforme;2) abbia (parte continua della) densita spettrale costante, cioe sia un ”rumorebianco”;3) sia incorrelato col processo di ingresso x(k) [30], [49].La Tabella 3.1 riporta la densita di probabilita fe(a), la media me = E[e], lavarianza σ2

e = E[(e−me)2] e la potenza P = E[e2] del processo aleatorio e(k)in dipendenza dal tipo di quantizzatore.

Le ipotesi fatte semplificano drasticamente la analisi e risultano sufficiente-mente verificate non appena il quanto q sia abbastanza piu piccolo del campodi variazione del segnale di ingresso, il segnale di ingresso vari ”abbastanza”(rispetto a q) da campione a campione e la probabilita di sovraccarico siatrascurabile. In ogni caso esse consentono di ricavare delle relazioni che sisono dimostrate fondamentali dal punto di vista applicativo.

Nel seguito verificheremo la liceita delle ipotesi 1 ÷ 3 riferendoci, per sem-plicita, al caso del quantizzatore uniforme ad arrotondamento e supponendotrascurabile la probabilita di sovraccarico. In questo caso l’errore di quan-tizzazione dipende dal segnale tramite la relazione: e(x) = Q(x) − x conQ(x) = `q = round(x/q) · q, con ` intero. La funzione e(x) risulta periodicacon periodo q: per ogni a con |a| ≤ q/2, tutti i valori di x che soddisfano laequazione: x = −a + `q danno quindi luogo al medesimo valore dall’errore(e(−a + `q) = a).Detta fx(a) la d.d.p. di x, si ha

fe(a) = rect(a

q)

∞∑

`=−∞

fx(−a + `q). (3.10)

dove rect(t) = 1 per |t| ≤ 1/2 e rect(t) = 0 per |t| > 1/2. La fe(a) risulta

84 3.2 Modello statistico.

quindi la restrizione all’intervallo [−q/2, q/2] della ripetizione periodica conperiodo q della fx(−a). Se ne deduce che fe(a) = rect(a

q )/q per tutte lefx(a) la cui ripetizione periodica con periodo q e costante (e pari a 1/q):esempi possibili sono fx(a) uniforme, triangolare e costante su ogni intervallo[(` − 1/2)q, (` + 1/2)q). Quest’ultimo esempio ci garantisce che la fe(a) tendealla densita uniforme per q → 0, se la fx(a) e continua o, al piu, possiedediscontinuita di prima specie (ogni tal funzione si puo infatti approssimarecon una funzione “costante a tratti”).

La presenza dell’operatore di ripetizione periodica nella (3.10) suggerisce,inoltre, di analizzare la relazione tra fx(a) e fe(a) nel dominio della trasformatadi Fourier. Allo scopo consideriamo la funzione caratteristica di e (coniugatadella trasformata di Fourier di fe(a)) che risulta:

Ce(u) = E[ej2πue] =∞∑

k=−∞

C∗x(

k

q)sinc(uq − k) (3.11)

dove (·)∗ indica il coniugato dell’argomento, sinc(u) = (sin πu)/(πu) e Cx(u) =E[ej2πux] e la funzione caratteristica di x.Dalla (3.11) si deduce che Ce(u) ' sinc(uq), quindi fe(a) ' rect(a/q)/q, nonappena sia Cx(k/q) ' 0 per k 6= 0, condizione soddisfatta, come anticipato aproposito della (3.10), se fx(a) non contiene “righe” ed il quanto q e sufficien-temente piccolo.

Si osserva che la (3.10) o la (3.11) consentono di concludere che fe(a) =rect(a/q)/q sse la funzione fx(a) appartiene alla classe di Nyquist relativa-mente al passo di campionamento q.Tale condizione e soddisfatta esattamente da molte densita e, in particolare,e soddisfatta se x = x1 + x2 , x1 e x2 sono indipendenti e fx1

(a) e/o fx2(a)

appartengono alla classe di Nyquist. In tal caso, infatti, la indipendenza com-porta che si abbia: Cx(u) = Cx1

(u)Cx2(u) ed e sufficiente che uno dei due

fattori si annulli per u = k/q con k 6= 0 per garantire che si annulli ancheCx(u). Questa condizione e alla base della tecnica di “dithering”, cui si accen-nera nel seguito, nella quale al segnale utile da convertire x1 viene sommato(prima della conversione) un segnale pseudo–aleatorio x2 con densita (tipica-mente) uniforme in [−q/2, q/2].

A titolo di esercizio, verifichiamo direttamente che, se fx(a) e sufficiente-mente “regolare”, il valor medio dell’errore di quantizzazione e circa nullo eche la sua varianza e circa q2/12.Per il valore medio dell’errore e(x) = Q(x) − x si ha

E[e] =

∫ ∞

−∞(Q(a) − a) fx(a) da '

k

Ik

(yk − a)fx(a) da (3.12)

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 85

dove yk = kq indica il punto di mezzo dell’intervallo Ik, [yk−q/2, yk+q/2), ed ilsegno di circa dipende dall’avere trascurato l’errore di sovraccarico (ipotesi cheutilizzeremo anche nel seguito). Approssimando fx(a) su Ik con la: fx(a) 'fx(yk) + f ′

x(yk)(a − yk), si ottiene

E[e] ' − q2

12

k

f ′x(yk)q ' − q2

12(fx(Mx) − fx(−Mx)), (3.13)

confondendo la somma con l’integrale di f ′x(a) ed indicando con Mx = 2niq

il valore di fondo scala del quantizzatore. Si ha quindi che il valor medio ealmeno un infinitesimo del secondo ordine rispetto al quanto q. In effetti, essoe esattamente nullo se la fx(a) e simmetrica.

Per la potenza statistica si ha, applicando il teorema della media,

E[e2] =

∫ ∞

−∞(Q(a) − a)2 fx(a) da '

k

Ik

(yk − a)2fx(a) da

=∑

k

fx(ξk)

Ik

(yk − a)2 da =q2

12

k

fx(ξk)q ' q2

12(3.14)

con ξk ∈ Ik, e dove l’approssimazione finale dipende dall’aver approssimato lasomma con l’integrale. Quindi la varianza risulta

σ2e = E[e2] − E2[e] ' q2

12. (3.15)

Per la statistica del secondo ordine dell’errore di quantizzazione, postox1 = x(n) e x2 = x(m), m 6= n, si ha, analogamente alla (3.10) e sempretrascurando la probabilita di sovraccarico,

fe1 e2(a, b) =

mn

fx1 x2(−a + mq,−b + nq) |a|, |b| ≤ q/2 (3.16)

da cui risulta fe1e2(a, b) = fe1

(a)fe2(b) = 1/q2 per |a|, |b| ≤ q/2, se fx1x2

(a, b)e costante su ogni quadrato Im × In. Se ne deduce che per q sufficientementepiccolo e(m) ed e(n), m 6= n, risultano statisticamente indipendenti (quindiincorrelati).

Per la correlazione tra errore e(n) e segnale x(n) si ha, tramite la approssi-mazione lineare di fx(a) su Ik usata per il calcolo di E[e],

E[e(x)x] '∑

k

Ik

(yk − a)afx(a) da ' − q2

12= −E[e2] (3.17)

86 3.2 Modello statistico.

ed il corrispondente coefficiente di cross–correlazione risulta

ρex(0) =E[e(n)x(n)]

σeσx' −σe

σx= − 1√

12

q

σx(3.18)

e quindi risulta ρex ' 0 per σx q. In modo analogo si dimostra cheE[e(x(n))x(k)]/(σeσx) ' 0 per ogni n e k.

Infine si ha

E[e(x)Q(x)] = E[e(x)(x + e(x))] = E[e(x)x] + E[e2] ' 0 (3.19)

In definitiva, per piccoli valori di q e per valori trascurabili della probabilitadi sovraccarico e quindi per un elevato numero di bit, la media dell’erroree molto piu piccola della sua deviazione standard e puo ritenersi nulla, lasua funzione di autocorrelazione soddisfa la re(k) ' δ(k)q2/12, e l’errore eincorrelato col processo di uscita Q(x) e quasi incorrelato con quello di ingressox.Merita osservare che, se fx(a) e fx1 x2

(a, b) sono sufficientemente regolari, taliproprieta sono ben soddisfatte fino a valori di q dell’ordine di σx. Ad esempio,la Fig. 3.5 a) riporta, nel caso di una variabile gaussiana, l’andamento diσ2

e/σ2x in funzione di q/σx (linea continua) e l’andamento (q/σx)2/12 previsto

per piccoli valori di q (linea punteggiata). La Fig. 3.5 b) riporta, semprein funzione di q/σx, il valore di ρex(0) = E[e(n)x(n)]/(σeσx). Dalle figure,ottenute per simulazione e in assenza di errore di sovraccarico, risulta che(forse inaspettatamente) σ2

e ' q2/12 e ρex(0) ' 0 fino a valori di q pari a circa2σx. (Perche σ2

e → σ2x e ρex(0) → −1 per q → ∞ ?)

0 1 2 3 4 5 60

0.5

1

1.5

2

2.5

3

q/σx

σ2 e/σ2 x

0 1 2 3 4 5 6−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

q/σx

ρ ex(0

)

Figura 3.5 Andamento di σ2

e/σ2

x e ρex(0) in funzione di q/σx nel caso di variabilegaussiana.

Sulla base di tali proprieta il modello del quantizzatore diviene il modellorealmente additivo di Fig. 3.6, nel quale e(kT ) si suppone non correlato con

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 87

x(kT ), ed e quindi possibile applicare il principio di sovrapposizione dellepotenze. Il rapporto segnale/rumore di quantizzazione all’ingresso di H(z),SNRi, fornisce una indicazione dell’errore relativo ”medio” introdotto dallaquantizzazione, ed e dato da:

SNRi = 10 log10

Px

Pe(dB) (3.20)

dove Px e la potenza del segnale utile di ingresso x(kT ) e Pe quella del rumoredi quantizzazione e(kT ).

y(kT)^

H(z)+

+x(kT)

e(kT)

Figura 3.6 Modello dell’errore di quantizzazione.

Dalla Tab. 3.1 risulta: Pe = cq2 con c = 1/12 o 1/3, e la (3.20) diviene:

SNRi = 10 log10 Px − 20 log10 q − 10 log10 c (dB) (3.21)

che mostra una dipendenza lineare di SNRi da log10 Px e da log10 q.Dalla (3.21) risulta che:

1) a pari potenza Px del segnale di ingresso, il rapporto SNRi aumenta di 6 dBper ogni bit addizionale introdotto nella conversione A/D (in corrispondenza qdimezza). Il limite inferiore a q e posto non solo da limiti tecnologici, ma anchedalla ampiezza dei disturbi inevitabilmente sovrapposti al segnale analogicod’ingresso x(t);2) a pari numero di bit, il rapporto SNRi cresce di 6 dB ad ogni raddoppiodella dinamica del segnale di ingresso (in corrispondenza Px quadruplica),almeno finche non interviene la saturazione del quantizzatore (Fig. 3.2), incorrispondenza della quale la (3.21) perde di validita.

Per valutare il rapporto segnale/errore, SNRi, tramite la (3.21) occorreconoscere la statistica del segnale di ingresso, il fondo scala del convertitore ela legge di quantizzazione, che nel seguito supporremo ad arrotondamento:a) l’ingresso sia sinusoidale: x(kT ) = Xsen(2πfkT + φ) con φ uniformementedistribuita tra 0 e 2π e X = Mx. Dato che Px = X2/2 e q = Mx2−ni , si ha:

SNRi = 1.8 + 6(ni + 1); (3.22)

b) l’ingresso abbia d.d.p. uniforme in [−Mx,Mx]. Si ha Px = M2x/3 e quindi:

SNRi = 6(ni + 1); (3.23)

88 3.2 Modello statistico.

c) l’ingresso sia gaussiano, quindi non limitato nelle ampiezze, ma la proba-bilita di sovraccarico sia trascurabile. Sia, ad esempio, 4σx = Mx, cui cor-risponde una probabilita di overflow pari a circa 6.3 · 10−5 e quindi una prob-abilita di avere in media un overflow su 6 campioni ogni 10 secondi di segnalecampionato con Fc = 10 kHz. Essendo Px ' σ2

x = M2x/16, si ha:

SNRi = −7.3 + 6(ni + 1). (3.24)

A pari numero di bit si ha, quindi, un peggioramento di circa 7 dB rispettoal caso precedente (equivalente all’impiego di un bit in piu, a pari SNRi),dovuto al fatto che in b) e maggiore la probabilita che il segnale di ingressosia prossimo al fondo scala.Si osserva che la (3.24) e valida finche la varianza σ2

q = q2/12 e molto maggioredel contributo associato alla regione di sovraccarico:

σ2o = 2

∫ ∞

Mx

(a − Mx)2fx(a) da = σ2x

[

2(1 + m2)Q(m) −√

2

πe−m2/2

]

con m = Mx/σx e Q(m) =∫∞m exp(−a2/2) da/

√2π. Ad esempio, la σ2

q/σ2o ≥

10 e soddisfatta per m = 4 se q/σx ≤ 2.7 · 10−2, quindi solo per ni + 1 ≤ 8 bit.Per rendere la (3.24) valida fino a circa 17 bit e necessario porre m = 6, cioeporre Mx = 6σx. In corrispondenza, nella (3.24) l’addendo −7.3 diviene −10.8.

Le relazioni trovate mostrano esplicitamente che il rapporto SNRi e datodalla somma di un termine, 6(ni + 1), proporzionale al numero di bit, ni + 1, edi un termine dipendente solo dalle caratteristiche del segnale di ingresso, chepero perde di importanza al crescere di ni. Esse consentono di determinareil minimo numero di bit, ni + 1, necessario ad ottenere un certo valore delrapporto tra la potenza del segnale e la potenza dell’errore di quantizzazionenell’ipotesi la probabilita di sovraccarico del convertitore sia trascurabile.Ad esempio, in base alla (3.24) si ha che sono necessari circa: ni + 1 = 11e 16 bit, rispettivamente, per ottenere un rapporto segnale/rumore di quan-tizzazione pari a 60 e 90 dB. In quest’ultimo caso la risoluzione richiesta alconvertitore e pari a 2−15Mx, e con Mx = 5 V risulta q ' 155 µV. Affincheuna tale risoluzione abbia ”senso” occorre che i disturbi sovrapposti al segnaledi ingresso x(kT ) abbiamo una varianza σ2

n per cui, ad esempio, 3σn < q/2,e di conseguenza che il valore del rapporto segnale/disturbo del segnale ana-logico di ingresso sia maggiore di 90 dB (valore difficilmente ottenibile). Incaso contrario i bit meno significativi del numero in uscita dal convertitorerisentiranno del disturbo di ingresso, e varieranno ”a caso” (proprieta che sitrovera utile per assicurare la assenza di cicli limite di piccola ampiezza nellarealizzazione della f.d.t. H(z) in ambiente in virgola fissa: si veda par. 4.1.8).

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 89

3.3 Propagazione del rumore di quantizzazione.

Si consideri ora la propagazione del rumore di quantizzazione all’uscita delsistema lineare di Fig. 3.6. Risulta:

y(k) =k∑

i=0

h(i)x(k − i) +k∑

i=0

h(i)e(k − i) (3.25)

e, quindi, per la distorsione (o rumore) di uscita, ey(k) si ha:

ey(k) =k∑

i=o

h(i)e(k − i) (3.26)

Dalla (3.26) si puo ricavare la media e la varianza del processo aleatorio ey(k).Risulta:

mey(k) = me

k∑

i=0

h(i) (3.27)

σ2ey(k) = σ2

e

k∑

i=0

h2(i) (3.28)

Per k → ∞ (nel caso di un sistema IIR e k > N − 1 nel caso di un FIR diordine N−1) il processo ey(k) risulta (asintoticamente) stazionario con media,varianza e potenza:

mey = me

∞∑

i=0

h(i) = meH(1) (3.29)

σ2ey = σ2

e

∞∑

i=0

h2(i) =σ2

e

∫ 2π

0

∣H(ejθ)∣

2dθ

=σ2

e

2πj

CH(z)H(z−1)

dz

z(3.30)

Pey = m2ey + σ2

ey (3.31)

dove C e la circonferenza |z| = 1 orientata in verso antiorario.Si definisce il guadagno di rumore di quantizzazione come:

Gq =Pey

Pe(3.32)

che, nel caso mx = me = 0, diviene:

Gq =σ2

ey

σ2e

=∞∑

i=0

h2(i) =

∫ 2π

0

∣H(ejθ)∣

2 dθ

2π(3.33)

90 3.3 Propagazione del rumore di quantizzazione.

Per ottenere una relazione di tipo probabilistico analoga alla (3.7), e neces-sario conoscere la d.d.p. di ey. Il calcolo esatto (tramite la (3.26) e con ipotesiaggiuntive su e(i)) e tutt’altro che agevole. Spesso, tuttavia, e possibile ap-prossimare tale d.d.p. con una gaussiana di pari media e varianza. In tal casosi ha:

|ey − mey| < 3σey = 0.87q√

Gq (3.34)

con probabilita pari a (circa) il 99.%. Si osserva che, nel caso di sistema stabile,la variabile ey ha, in base alla (3.7), un intervallo di variazione limitato, equindi non puo essere gaussiana. La approssimazione tende pero a migliorarequanto piu la f.d.t. H(z) e del tipo a banda stretta, e quindi con rispostaimpulsiva poco smorzata.

Le (3.29÷3.31) consentono di valutare il rapporto segnale/rumore all’uscitadi H(z). Infatti, considerata l’uscita utile: y(k) corrispondente al segnalex(k), e indicate con mx e Rc

x(ejθ) la media e la (parte continua della) densitaspettrale di x(k) si ha:

my = mxH(1) (3.35)

σ2y =

∫ 2π

0Rc

x(ejθ)∣

∣H(ejθ)∣

2dθ/2π (3.36)

Py = m2y + σ2

ey (3.37)

Il rapporto segnale/disturbo in uscita da H(z), SNRu, risulta nel caso mx =me = 0:

SNRu = 10 log10

σ2y

σ2ey

(3.38)

Si osserva che il rapporto SNRu puo risultare maggiore, uguale o minore diSNRi a seconda delle caratteristiche di H(z) e di Rx(z). In particolare, sex(k) e un rumore bianco (come e(k)) oppure se |H(ejθ)| e costante, risultaovviamente SNRu = SNRi.

Concludiamo il paragrafo considerando la propagazione del rumore di quan-tizzazione nella operazione di conversione del segnale da digitale ad analogico(Fig. 3.4).Dalla (3.8) si ricava che asintoticamente (t → ∞), ey(t) risulta ciclostazionario.Nella ipotesi di quantizzazione ad arrotondamento la sua media e nulla e lasua varianza risulta

σ2ey(τ) = σ2

eT2

∞∑

i=0

h2a(iT + τ) (3.39)

con 0 ≤ τ < T e σ2e = q2

u/12.

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 91

Per la varianza media si trova quindi la espressione

σ2ey =

1

T

∫ T

0σ2

ey(τ) dτ = σ2e T

∫ ∞

0h2

a(t) dt. (3.40)

In particolare, se Ha(f) e una buona approssimazione di un passa basso ideale(|Ha(f)| ' 1 per |f | ≤ fp ' Fc/2 e |Ha(f)| ' 0 per |f | ≥ fs ' Fc/2) si ha∫∞0 h2

a(t) dt =∫∞−∞ |Ha(f)|2 df ' Fc e quindi

σ2ey ' σ2

e . (3.41)

In ogni caso, nota la σ2ey, e possibile calcolare il rapporto tra la potenza del

segnale utile ricostruito e la potenza del rumore di quantizzazione associatoalla conversione D/A, in perfetta analogia a quanto fatto in (3.38).

Esempio. Si consideri il sistema di Fig.1.1 in cui H(z) = b/(1 − az−1) eb = 1 − |a|. Si supponga mx = me = 0, e la densita spettrale Rx(z) delprocesso x(k) di ingresso sia:

Rx(z) =α2

(1 − pxz−1)(1 − pxz)(3.42)

cui corrisponde per z = ejθ uno spettro di tipo passa-basso (passa-alto) se1 > px > 0 (−1 < px < 0). Nel seguito, per semplicita, si suppone px 6= a.La varianza σ2

x e data da:

σ2x =

1

2πj

CRx(z)

dz

z=

α2

2πj

C

z

(z − px)(1 − pxz)

dz

z=

α2

1 − p2x

(3.43)

dove C e la circonferenza |z| = 1 orientata in senso antiorario e per il calcolodel corrispondente integrale e conveniente utilizzare il metodo dei residui. Ilvalore di α e scelto in modo che la probabilita di sovraccarico del convertitoreA/D sia trascurabile (ad esempio, 4σx ' Mx).In base alla (3.36) la varianza di y(k) risulta:

σ2y =

1

2πj

CRx(z)H(z)H(z−1)

dz

z(3.44)

=b2α2

2πj

C

z2

(z − a)(z − px)(1 − az)(1 − pxz)

dz

z

= b2σ2x

1 + apx

(1 − apx)(1 − a2)(3.45)

Dalla (3.30) si ha per la varianza del rumore di quantizzazione all’uscita:

σ2ey =

σ2e

2πj

CH(z)H(z−1)

dz

z=

σ2e

2πj

C

b2z

(z − a)(1 − az)

dz

z

=σ2

eb2

1 − a2(3.46)

92 3.4 Convertitori a sovracampionamento.

Quindi:σ2

y

σ2ey

=σ2

x

σ2e

1 + apx

1 − apx(3.47)

e si conclude che:

SNRu > SNRi apx > 0, → sign(a) = sign(px)SNRu < SNRi apx < 0, → sign(a) = −sign(px)SNRu = SNRi apx = 0, → a = 0 e/o px = 0

(3.48)In conclusione SNRu risulta maggiore di SNRi se la risposta frequenzialeH(ejθ) e dello stesso ”tipo” della densita spettrale di ingresso, cioe se entrambesono tipo passa-basso o passa-alto. Risulta SNRu = SNRi se a = 0 e quindiH(z) =cost., oppure se Rx(z) =cost., cioe l’ingresso e un rumore bianco.

Se, ad esempio, a = 0.9 e px ' 0.9, risulta: (1 + apx)/(1 − apx) ' 9.5, edalla (3.47) si ottiene: SNRu = SNRi + 9.8 dB, e quindi il segnale di uscita emeno affetto dal rumore di quantizzazione di quello di ingresso: tutto va comese il convertitore di ingresso avesse 1.5 bit in piu rispetto al valore reale. Seviene prefissato SNRu > 60 dB, deve risultare SNRi ≥ 60 − 9.8 = 50.2 dB enell’ipotesi di validita della (3.24) risulta ni + 1 > 9 bit.Per ottenere una stima dell’ordine di grandezza dell’errore di quantizzazionein uscita, si puo ricorrere alla (3.34), che tramite la (3.46) fornisce la:

|ey| ≤ 3σey = 3

b2

1 − a2

q2

12' q

5

che ancora mostra che l’errore massimo all’uscita e piu che dimezzato rispettoal valore q/2 dell’errore massimo da cui e affetto l’ingresso per effetto dellaconversione A/D.

La possibilita di ridurre con un filtraggio per via numerica il rumore diquantizzazione e fondamentale. Il prossimo paragrafo illustra la applicazioneche (forse) per prima ha sfruttato tale possibilita.

3.4 Convertitori a sovracampionamento.

3.4.1 Convertitori A/D

Si vuole convertire in forma numerica con frequenza di campionamento Fc

il segnale x(t), avendo a disposizione un convertitore analogico-numerico conni + 1 bit.

La struttura “naturale” del sistema e quella di Fig. 3.7 a). In essa il segnaleviene limitato in banda con un filtro passa-basso analogico, che ha banda pas-sante [0, fp] e banda attenuata [fs,∞] con fs ' Fc/2. La attenuazione in bandaattenuata del filtro passa basso controlla la entita dell’aliasing introdotto dal

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 93

H (s)a x(kT)^

R Z(T)

a)

x(t)

n +1

Q 1

i

n +1

Q 1

i

R

a H(z) ^y(kT)x(t)^

Z(T)Z(T’)

v (kT’)

b)

H ’(s)u(t) ^u(kT’)

Figura 3.7 Conversione A/D: a) sistema convenzionale e b) sistema a sovracampi-onamento.

campionamento e la deviazione dall’unita in banda passante controlla la fedeltadi riproduzione della parte “utile” dello spettro. La complessita (numero dicomponenti attivi e/o passivi) ed il costo del filtro crescono, a parita di erroridi approssimazione in banda passante ed attenuata, al diminuire della bandadi transizione: (fs − fp)/fp. Non e inoltre banale realizzare un filtro analogicoavente fase quasi-lineare in banda passante, e si ha quindi, quasi inevitabil-mente, distorsione di fase se non si introduce un equalizzatore di fase analogicoo numerico. Il segnale di uscita x(kT ) = x(kT ) + e(kT ) risulta affetto dal ru-more di quantizzazione, e(kT ), corrispondente al numero di bit, ni + 1, delconvertitore impiegato.

Si consideri ora il sistema di Fig. 3.7 b), detto a sovracampionamento. Inesso il segnale e convertito in forma numerica ancora su ni + 1 bit, ma confrequenza di campionamento F ′

c = MFc maggiore di Fc (M intero; M = 4in Fig. 3.8), dopo esser stato limitato in banda con un filtro passa basso dispecifiche: f ′

p ' Fc/2 e f ′s ' F ′

c − Fc/2 (Fig. 3.8 a, b, c). Il segnale numericocosı ottenuto, u(kT ′), viene filtrato e limitato in banda a f ′′

s ' f ′′p ' Fc/2

tramite il filtro passa-basso numerico H(z), e viene decimato nel rapportoM : 1 (Fig.3.8 f). Si arriva, in tal modo, ancora ad un segnale campionatoa Fc = F ′

c/M . In condizioni ideali, cioe con filtri e convertitori ideali, i duesistemi sono perfettamente equivalenti. La differenza si manifesta quando sene analizzi il comportamento in presenza di filtri e convertitori reali.

A tale proposito si osserva che il filtro antialiasing analogico di ingresso diFig. 3.7 b) puo avere una banda di transizione (f ′

s − f ′p)/f ′

p molto maggiore diquella richiesta al filtro antialiasing di Fig. 3.7 a), e quindi puo essere molto

94 3.4 Convertitori a sovracampionamento.

Fc

1

f ’ = F /2p~

c

cF ’

cF ’

Re’

|Y’|

c c c2F 3F 4F

p sf " f "

f

f

f

Re

|X|

|H|1

sf ’

a)

b)

c)

d)

e)

f)

^

|U|

|U|

^|Y|

a|H’ |

Figura 3.8 Per il convertitore a sovracampionamento.

piu semplice e meno costoso e, al limite, ridursi ad un semplice partitore aresistenza e capacita.Infatti l’aliasing che viene introdotto nel segnale u(kT ′) dal filtro analogico(andamento a tratteggio di Fig. 3.8 d) per Fc/2 < f < F ′

c − Fc/2), vieneeliminato dal filtro numerico H(z). Da questo punto di vista il sistema asovracampionamento risulta preferibile, se il costo complessivo associato allepreelaborazioni analogica e numerica e inferiore a quello della sola preelabo-razione analogica del sistema ”diretto” di Fig. 3.7 a). Questo e quanto accadecon i bassi costi della moderna tecnologia digitale. Si osserva, inoltre, che seH(z) e un FIR a fase lineare, non c’e praticamente distorsione di fase nellaoperazione di campionamento.

Il sistema a sovracampionamento presenta un’altra e ancora piu impor-tante proprieta nei confronti degli errori di quantizzazione. Infatti, il segnale

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 95

u(kT ′) = u(kT ′) + e′(kT ′) a valle del convertitore e affetto, al pari di x(kT )di Fig. 3.7 a), dall’errore di quantizzazione e′(kT ′), che possiamo supporrebianco con densita spettrale Re(ej2πfT ′

) = σ2e′ T ′ e varianza σ2

e′ = σ2e = q2/12

con q = 2−niMx.Se la attenuazione in banda attenuata di H(z) e abbastanza elevata, la potenzadi rumore da cui e affetto il segnale di uscita: v(kT ′) = v(kT ′)+ev(kT ′) risultainferiore a σ2

e . Infatti solo la densita spettrale di potenza del rumore di quan-tizzazione che cade nella banda passante di H(z), contribuisce alla potenza dirumore di uscita e si ha :

σ2ev = σ2

eT′∫ F ′

c/2

−F ′

c/2|H(ej2πfT ′

)|2 df ' σ2eT

′∫ f ′′

p

−f ′′

p

df ' Fc

F ′c

σ2e =

σ2e

M(3.49)

dove si e supposto f ′′p ' Fc/2. Il rumore di quantizzazione associato al segnale

di uscita dal sistema: y(kT ) = y(kT ) + ey(kT ), ha potenza σ2ey = σ2

ev ' σ2e/M

e quindi nel sistema di Fig. 3.7 b) tutto va come se si fosse utilizzato unconvertitore analogico-digitale piu preciso.

In particolare, se M = 4 come in Fig. 3.8, σ2ey ' σ2

e/4, e quindi tutto vacome se si fosse effettuata la conversione con un convertitore avente ni + 2 bitanziche ni + 1. Se M = 42 = 16, si ottengono due bit in piu di precisione, e seM = 4m, si ottengono m bit addizionali.

In conclusione, ad ogni quadruplicazione della frequenza di campionamentocorrisponde un aumento di precisione pari ad un bit. Al limite, se il semplicemodello additivo del rumore di quantizzazione fosse valido anche per un con-vertitore ad un bit, sarebbe possibile utilizzare un convertitore ad un solo bitoperante a frequenza molto elevata, F ′

c, per ottenere tramite filtraggio passa-basso e decimazione un ”convertitore equivalente” a frequenza Fc = F ′

c/4m

avente un numero di ”bit equivalenti” pari a m + 1. Ad esempio, per ottenerem + 1 = 8 bit a Fc = 1 kHz sarebbe necessario campionare ad un bit allafrequenza F ′

c = 47Fc = 214Fc = 16 MHz. Nel paragrafo successivo vedremouno schema adatto allo scopo.

E importante osservare che i ”bit guadagnati” dipendono strettamentedalla aderenza alla realta del modello assunto per il rumore di quantizzazione.In applicazioni nelle quali i segnali da convertire non garantiscano di per sela validita del modello (si pensi, ad esempio, ad un segnale periodico in cuil’errore di quantizzazione e anch’esso periodico) si rende necessario ”aiutare” larealta, aggiungendo ad esempio, al segnale analogico da convertire un rumorea media nulla, bianco e indipendente dal segnale (”dither noise”) uniforme-mente distribuito tra −q/2 e q/2. In tal caso si puo dimostrare che il rumoredi quantizzazione obbedisce a tutte le ipotesi fatte nel par. 3.2 [59, 19, 37].

Per quanto riguarda il filtro H(z) di Fig. 3.7 b), esso puo essere sia FIRa fase lineare che IIR. La scelta di un filtro FIR porta a ordini molto piu

96 3.4 Convertitori a sovracampionamento.

elevati di quelli corrispondenti ad un filtro IIR; tuttavia la presenza del deci-matore all’uscita del filtro fa sı che nel caso FIR sia sufficiente calcolare soloun campione ogni M (quali sono le riduzioni possibili nel caso di un filtro IIRrealizzato in forma diretta, cascata o parallelo?). Indicata con N la lunghezzadella risposta impulsiva di H(z) e assunta come operazione elementare unamoltiplicazione e una somma, il numero di operazioni al secondo risulta quindipari a (N/M) F ′

c op/s. Se si utilizza la realizzazione a ”pre-moltiplicazione”,si verifica facilmente che anche la dimensione del vettore di stato puo essereportata a d(N − 1)/Me, dove dxe indica il minimo intero non inferiore a x.

Z(2T’)Z(T’) Z(4T’)=Z(T)

y(kT)

1 2H (z) H (z)1u (2kT ’)u(kT ’)

Figura 3.9 Decimazione a due passi.

A questo proposito si ricorda, inoltre, che per M = 4 (o in generale perM = 4m ) e conveniente, nel caso si utilizzino filtri FIR, effettuare la deci-mazione in due (o piu) passi: M = 2 · 2, passando da F ′

c a F ′c/2 e da F ′

c/2 aF ′

c/4 = Fc, come illustrato in Fig. 3.9 e Fig. 3.10.Si osserva, infatti, che nel primo passo e sufficiente che il filtro H1(z), che

lavora alla frequenza F ′c, attenui solo le componenti di U(ej2πfT ′

) che cadononella banda: 3Fc/2 < f < 5Fc/2, dato che le componenti spettrali che cadononella regione: Fc/2 < f < 3Fc/2 verranno comunque filtrate da H2(z), e si puoquindi accettare la introduzione di aliasing in detta regione. Il filtro H1(z) haquindi banda di transizione normalizzata grande (fs1−fp1)/F ′

c ' Fc/F′c = 1/4,

e la lunghezza corrispondente, N1 , risulta piccola. Il filtro antialiasing cheinterviene nel secondo passo, H2(z), ha banda di transizione: fs1 − fp1 pari aquella che avrebbe il filtro H(z) nella procedura ad un passo. Tenuto contoche H2(z) lavora alla frequenza F ′

c/2, e dette N e N2 le lunghezze di H(z) eH2(z), rispettivamente, si ha N2 ' N/2 e, in generale, risulta N2 N1.In definitiva, passando dalla decimazione ad un passo alla decimazione a duepassi, il numero di variabili di stato passa da N − 1 a (N1 − 1) + (N2 − 1) '(N −1)/2, e la complessita di calcolo passa da NF ′

c/4 op/s a N1F′c/2+N2F

′c/4

op/s. Entrambe tali quantita, quindi, circa dimezzano se, come avviene gen-eralmente, N1 e abbastanza piu piccolo di N2 e N2 ' N/2.Se, inoltre, le lunghezze N1 e N2 sono dispari, le bande di transizione di H1(z)e H2(z) vengono scelte simmetriche rispetto ad un quarto della frequenza dicampionamento (cioe rispetto a F ′

c/4 e F ′c/8, rispettivamente) e si impongono

errori eguali in banda passante e attenuata (δpi = δsi, i = 1, 2), i filtri FIRcorrispondenti godono della notevole proprieta di avere circa meta coefficienti

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 97

nulli, precisamente si ha: h(n0 + 2k) = 0, n0 = (N − 1)/2 e k 6= 0. Si haquindi un dimezzamento ulteriore della complessita di calcolo. I filtri FIRcorrispondenti vengono detti ”half-band”.

Si osserva che non e difficile dimostrare che la decimazione a due passi eequivalente ad una decimazione ad un passo nella quale la f.d.t. H(z) vengavincolata alla forma H(z) = H1(z2)H2(z) e quindi H(z) sia la f.d.t. di unfiltro IFIR (cap. 2).

1

Fc c2F

c2F

c~f = F /2p1

f = 3F /2cs1~

F /2c c2F

c2F

|H |1

|H |2

|Y|

c3F

p2 s2f f

4F =F ’c c

1c4F

c4F

c4F

c4F

1

|U|

|U |

Figura 3.10 Per la decimazione in due passi.

La tecnica del sovracampionamento e stata originariamente introdottanegli anni ’80 dai ricercatori dei laboratori Philips proprio per guadagnare unbit di precisione nella conversione A/D associata alla registrazione dei CD[9].Il valore desiderato era di 16 bit a Fc = 44.1 kHz, e la precisione massima deiconvertitori realizzabili a quell’epoca (ma le cose non sono molto cambiate)era di 14 bit. Con il sovracampionamento con M = 4 si e riusciti ad arrivarea 15 bit con F ′

c ' 176 kHz. (La utilizzazione del valore M = 16 avrebbefatto guadagnare due bit, ma dato che il FIR passa-basso, H(z), aveva ordine

98 3.4 Convertitori a sovracampionamento.

del centinaio, si sarebbe ottenuto un numero di op/s superiore alle capacitatecnologiche del momento).

E importante ricordare come e stato ottenuto il bit mancante per arrivarea 16 bit, dato che il corrispondente principio, detto di colorazione del rumoredi quantizzazione (”noise shaping”), ha trovato svariate applicazioni (ad es-empio, nei convertitori ”sigma-delta” [19, 1, 25] cui si accennera nel paragrafosuccessivo; si veda inoltre l’esempio 2 del par. 4.1.2).A tale scopo il segnale u(t) di Fig. 3.7 b) veniva fatto passare attraversoun integratore analogico. La distorsione introdotta dalla operazione di in-tegrazione analogica (U(f) → U ′(f) = U(f)/(j2πf)), veniva compensata”derivando” il segnale numerico u′(kT ′), cioe costruendo il segnale: w(kT ′) =u′(kT ′) − u′(kT ′ − T ′). Tale operazione compensa quasi esattamente la oper-azione analogica di integrazione, almeno per |f | < Fc/2, ed ha l’importanteeffetto di sagomare lo spettro del rumore, confinando in alta frequenza lamaggior parte della sua potenza. Dato che la porzione di spettro sopra Fc/2viene rimossa dal filtro H(z), si ha una riduzione della potenza di rumore ”inbanda”, cioe per |f | < Fc/2, che, come dimostrato nel successivo paragrafo,da luogo ad un guadagno complessivo di due bit.

3.4.2 Convertitori sigma-delta

Come accennato in precedenza, e possibile ricondursi ad un convertitore A/Dad un bit operante a frequenza molto elevata. In effetti nei convertitori cor-rispondenti (detti sigma-delta) si utilizza anche la tecnica di colorazione delrumore di quantizzazione. Questo fatto consente di aumentare il guadagno inbit corrispondente ad un certo rapporto F ′

c/Fc e quindi di limitare il valore diF ′

c necessario ad ottenere un certo valore del numero di bit equivalenti ad unadata Fc.

Lo schema di principio di un convertitore sigma-delta (del primo ordine) eillustrato in Fig. 3.11 a).Il sistema a reazione schematizzato alla sinistra della linea tratteggiata e unmodulatore sigma-delta: esso e realizzato con la tecnica delle capacita com-mutate (”switched capacitor”) come sistema analogico a dati campionati equindi, ad esempio, x(nT ′) indica il valore del segnale x(t) all’istante nT ′ (ameno delle imprecisioni associate alla realizzazione dell’interruttore analogico,che si suppongono modellabili come un rumore additivo a banda larga). Ilsistema di filtraggio e decimazione alla destra della linea tratteggiata e invecenumerico.Il quantizzatore e ad un bit: per semplicita di rappresentazione, in figura sie supposto che esso restituisca un livello Mx per valori positivi e −Mx pervalori negativi dell’ingresso u(nT ′), con Mx fondo scala di |x(nT ′)|, anzichedue valori (0 e 1) convertiti nel segnale di reazione analogico, Mx o −Mx, da

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 99

z-1 Q

x(nT ’)

-

+ +

+H(z)

y(nT)

Z(T)Z(T’)

u(nT ’)

w(nT ’)

a)

z-1 Q-

+

+

-

v(nT ’)

u(nT ’) w(nT ’)x(nT ’)

b)

Figura 3.11 Convertitore sigma–delta.

un convertitore D/A ad un bit. La relazione ingresso–uscita corrispondente equindi w(nT ′) = Mx sign[u(nT ′)].

In assenza della nonlinearita associata al quantizzatore, e immediato veri-ficare che il sistema a reazione a sinistra della linea a tratteggio e equivalentead un ritardo z−1. Tuttavia, per dare una interpretazione semplice del suofunzionamento in presenza del quantizzatore, e utile osservare che la presenzadell’accumulatore z−1/(1− z−1) nella catena diretta, lo rende un regolatore ditipo 1 e quindi con errore a regime nullo ad un ingresso costante. La presenzadel quantizzatore forza il segnale di reazione w(nT ′) ad assumere solo i valoriMx e −Mx e l’errore a regime risulta nullo solo per un ingresso x(nT ′) pari aMx o −Mx. Per ogni altro valore dell’ingresso, costante o variabile lentamenterispetto a T ′, il segnale di reazione a regime risulta costituito da sequenze divalori Mx e −Mx, tali che il loro valor medio su un tempo sufficientementelungo sia pari a x(nT ′). Ad esempio, per x = Mx/2 i 3/4 dei valori di w(nT ′)sono pari a Mx e 1/4 dei valori pari a −Mx. Mediando quindi su un nu-mero grande di valori consecutivi di w(nT ′) e possibile approssimare il valoredell’ingresso. La semplice operazione di media puo essere sostituita da un fil-tro passa-basso, H(z), di migliori caratteristiche, che consente di ricostruireuna migliore approssimazione del segnale di ingresso a pari valore del fattoredi sovracampionamento F ′

c/Fc.

E utile ridisegnare il sistema di Fig. 3.11 a) come in Fig. 3.11 b), da cuirisulta che in sostanza si e dotato il quantizzatore di “memoria”, rendendoil valore attuale quantizzato w(nT ′) dipendente anche dall’errore commessoall’istante precedente, (n − 1)T ′.

100 3.4 Convertitori a sovracampionamento.

Si ha

v(nT ′) = w(nT ′) − u(nT ′)

u(nT ′) = x((n − 1)T ′) − v((n − 1)T ′)

w(nT ′) = Q[

u(nT ′)]

= x((n − 1)T ′) + v(nT ′) − v((n − 1)T ′) (3.50)

e quindi l’uscita w(nT ′) risulta pari a x((n− 1)T ′) a meno della differenza tragli errori associati alla quantizzazione di u(nT ′) e u((n − 1)T ′).Se si ammette valido anche in questo caso il modello additivo dell’errore diquantizzazione (v(nT ′) = e(nT ′) con e incorrelato con l’ingresso u del quan-tizzatore), si trova

w(nT ′) = x((n − 1)T ′) + ew(nT ′) (3.51)

ew(nT ′) = e(nT ′) − e((n − 1)T ′) (3.52)

e si conclude che mentre la f.d.t associata al segnale x(nT ′) risulta un ritardo,quella associata all’errore di quantizzazione risulta 1 − z−1.Il rumore di quantizzazione ew(nT ′) ha varianza doppia di quella di e(nT ′),ma non e piu bianco, bensı “passa–alto”: si ha

Rew(ej2πfT ′

) = σ2eT

′|1 − e−j2πfT ′ |2 = 2σ2eT

′(1 − cos(2πfT ′))

e la operazione di ”derivazione” confina la maggior parte della potenza dirumore alle alte frequenze, cioe nell’intorno di F ′

c/2, e quindi in una regionedisgiunta da quella associata al segnale utile x(nT ′). Se |f | ≤ fp ' Fc/2 ela banda passante del filtro passabasso H(z), la varianza del rumore da cui eaffetto il segnale decimato y(nT ) risulta

σ2ey =

∫ F ′

c/2

−F ′

c/2Rew(ej2πfT ′

)∣

∣H(ej2πfT ′

)∣

2df ' 2σ2

eT′∫ fp

−fp

(1 − cos(2πfT ′)) df

= σ2e

2

π(θp − sin θp) (3.53)

dove θp = 2πfpT′ ' πFc/F

′c. Per valori piccoli dell’angolo si ha sin x ' x−x3/6

e la (3.53) diviene:

σ2ey ' σ2

e

π2

3

(

Fc

F ′c

)3

(3.54)

da cui risulta che la varianza del rumore di quantizzazione si riduce ad unottavo ad ogni raddoppio della frequenza di campionamento F ′

c rispetto a Fc.Esprimendo tale guadagno in dB si ha:

G = 10 log10

σ2ey

σ2e

' 5.2 + 30 log10Fc

F ′c

(3.55)

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 101

e quindi ad ogni raddoppio di F ′c rispetto a Fc corrisponde un guadagno di 9

dB, cioe un guadagno pari a 1.5 bit.Si osserva che gia in corrispondenza al valore F ′

c/Fc = 4, la (3.55) risulta validaed in corrispondenza si ha che la azione combinata di sovracampionamento ecolorazione del rumore comporta un guadagno di circa 13 dB, pari quindi a duebit di precisione (come anticipato alla fine della sezione precedente). Al valoreF ′

c/Fc = 2048 corrisponde invece un guadagno di circa 95 dB, equivalente acirca 15 bit: in corrispondenza la conversione a un bit effettuata alla frequenzadi campionamento F ′

c = 2048 Fc risulta equivalente ad una conversione a 16bit effettuata alla frequenza di campionamento Fc.

Per aumentare i guadagni ottenibili e quindi ottenere valori ragionevolidella frequenza F ′

c per una data Fc, sono possibili molte varianti: si puo uti-lizzare nello schema di Fig. 3.11 a) un quantizzatore a piu bit (in genere 2o 3 bit); si possono mettere in cascata convertitori del primo ordine; si puoricorrere a schemi in cui la f.d.t vista dal rumore di quantizzazione e del tipo(1 − z−1)n e si parla allora di convertitori sigma-delta di ordine n (in pratican = 2 o 3) [1].

In [19],[25] sono illustrati i principali effetti indotti dalla nonlinearita delquantizzatore, cioe le deviazioni di comportamento rispetto alle previsioni fattein base al modello semplificato utilizzato in precedenza. Resta il fatto che leprevisioni fatte sulla base della (3.53) sono in pratica sufficientemente benverificate.

3.4.3 Convertitori D/A

Da ultimo osserviamo che se si applica il principio di trasposizione ai sistemidi Fig. 3.7 a) e b), e si sostituisce ogni decimatore con una trasformazioneideale del dominio temporale da Z(T ) a Z(T/M), si ottengono due sistemi diconversione numerico-analogica. Il duale del sistema di Fig. 3.7 b) divieneun sistema in cui il segnale di uscita a frequenza Fc viene interpolato di unfattore M prima di essere inviato al convertitore D/A, che lavora a frequenzaF ′

c = MFc. In entrambi i sistemi i filtri analogici giocano il ruolo di filtri diricostruzione.

Al confronto fra i due sistemi cosı ottenuti si applicano le considerazionifatte a proposito dei sistemi di Fig. 3.7 a) e b). Si conclude ancora che lastruttura a sovracampionamento (o, meglio, a interpolazione) duale di quella diFig. 3.7 b), risulta vantaggiosa perche richiede un filtro di ricostruzione tantopiu semplice quanto piu elevato e il fattore di interpolazione M . (Questaproprieta e importante se il dispositivo deve essere prodotto in massa, cioeappartiene alla fascia ”consumer” come e il caso dei lettori di CD, nei quali taletecnica e stata forse per la prima volta impiegata). Si ha ancora un guadagnonella precisione della conversione numerico-analogica, dato che solo la frazione

102 3.4 Convertitori a sovracampionamento.

della potenza del rumore di quantizzazione introdotto dal convertitore D/Ache corrisponde alla banda del segnale analogico ricostruito, contribuisce alrapporto segnale/rumore di quantizzazione.

^y(kT’)y(kT’)

ey

+

+

c)

e (kT’)=e(kT’)-e((k-1)T’)

H(z) aH (s)^y(kT’)

yye (kT’)

n +1

Q

u

u

Z(T’)Z(T) R

z-1

a)

y(kT ’) +

++

+

+

b)

e(kT’)

-1z

+

Figura 3.12 Conversione D/A con quantizzatore con memoria.

E interessante osservare che anche nella conversione D/A e possibile uti-lizzare la tecnica di colorazione del rumore di quantizzazione. Si consideri ilsistema di Fig. 3.12 a), duale del sistema di Fig. 3.7 b). In esso, anziche quan-tizzare su nu + 1 bit l’uscita y(kT ′) del filtro passa basso H(z), si memorizzal’errore di quantizzazione ey(kT ′) = y(kT ′) − y(kT ′), lo si somma all’uscitadi H(z) con un ritardo pari a T ′, si quantizza il segnale cosı ottenuto e losi applica al convertitore D/A. In questo modo il quantizzatore diviene unquantizzatore con ”memoria” pari ad un quanto temporale T ′.

Utilizzando il modello additivo per l’errore di quantizzazione, e(kT ′), as-sociato a Qu, si ottiene il modello di Fig. 3.12 b), da cui risulta che la f.d.t.dell’errore di quantizzazione e la G(z) = 1−z−1, mentre si deduce immediata-mente dal grafo che quella relativa a y(kT ′) e unitaria. Quindi, analogamentea quanto visto nel paragrafo precedente, il segnale utile rimane inalterato,mentre il rumore subisce una operazione di ”derivazione”, e tutto va comese il rumore di quantizzazione avesse, anziche spettro bianco, spettro di tipopassa-alto:

Rey(z) = σ2eT

′(1 − z−1)(1 − z) → Rey(ej2πfT ′

) = 2σ2eT

′(1 − cos(2πfT ′)),

con σ2e = q2

u/12.In conclusione, la maggior parte della potenza di rumore: σ2

ey = 2σ2e viene

confinata fuori dalla banda-passante di Ha(s), cioe fuori dalla banda del seg-

Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico

ad analogico. 103

nale, e per M = T ′/T = 4 il rapporto segnale/rumore di quantizzazionemigliora di circa 13 dB, cioe tutto va come se il convertitore D/A avesse(nu + 1) + 2 = nu + 3 bit.

Si osserva che si puo aumentare il guadagno migliorando la azione filtrantedel rumore. Ad esempio, se in Fig. 3.12 a) si sostituisce il ritardo z−1 con laf.d.t. 2z−1−z−2, la f.d.t. vista da e(kT ′) diviene 1−(2z−1−z−2) = (1−z−1)2,con un aumento della attenuazione nell’intorno di f = 0.

104 3.4 Convertitori a sovracampionamento.

Capitolo 4

Valutazione degli errori di calcolo.

4.1 Il caso della aritmetica a virgola fissa

4.1.1 Modello deterministico.

L’operazione fondamentale nella realizzazione di una f.d.t. e la operazione diaccumulo di prodotti tra coefficienti e variabili:

s(k) =N∑

i=1

cixi(k), (4.1)

In aritmetica a virgola fissa la (4.1) puo essere calcolata nei seguenti due modi:

s1(k) = Qa[N∑

i=1

cixi(k)] (4.2)

s2(k) =N∑

i=1

Qa[cixi(k)], (4.3)

che corrispondono a ridurre la lunghezza di parola dei prodotti cixi(k) aquella associata alle variabili xi(k) e s(k), rispettivamente, dopo o primadell’operazione di somma.Se la lunghezza di parola di xi(k) e s(k) e na + 1 bit, l’errore introdotto dallaquantizzazione 1 ha un valore massimo, max |e|, pari a qa nel caso di tronca-mento e qa/2 nel caso di arrotondamento, e si ha:

|s1 − s| ≤ max |e| (4.4)

|s2 − s| ≤ N · max |e| (4.5)

Le (4.4) e (4.5) forniscono il massimo assoluto dell’errore dovuto alla quantiz-zazione della somma di prodotti o dei prodotti, ed indicano che e preferibile(quando possibile) effettuare la somma utilizzando un accumulatore con nu-mero di bit pari a quello di uscita del moltiplicatore. Tale possibilita e comune

1Quanto detto vale relativamente ai coefficienti moltiplicatori che non sono numeri interi.

106 4.1 Il caso della aritmetica a virgola fissa

a tutti i microprocessori per elaborazione numerica dei segnali disponibili sulmercato.

In generale nella realizzazione di una H(z) vi sono piu operazioni del tipo(4.1) ed ha interesse valutare l’effetto complessivo degli errori dovuti ai quan-tizzatori Qai sulla uscita del sistema (Fig. 4.1). Si ha:

y(k) = y(k) + ey(k) (4.6)

dove y(k) e l’uscita che si otterrebbe in assenza di errori di calcolo in base alla(3.2).Nella ipotesi che non si verifichino overflow, e quindi che le variabili internesiano state opportunamente normalizzate (vedi par. 4.1.3), l’errore sulla uscitapuo essere espresso mediante la:

ey(k) =L∑

i=1

k∑

j=0

e[xi(j)]gi(k − j) (4.7)

dove L e il numero di quantizzatori Qa e gi(k) e la risposta impulsiva tral’uscita del quantizzatore i-esimo e l’uscita del sistema.Maggiorando la (4.7), si ottiene:

|ey(k)| ≤L∑

i=1

max|ei|∞∑

k=0

|gi(k)| = Ka qa (4.8)

aQx

i

y(k)^

ig (k)e

i

+

+xi

y(k)^x(k)

a)

Rx(k)

b)

R

Figura 4.1 Per la propagazione degli errori di calcolo.

Ogni risposta impulsiva gi(k) che compare nella (4.8) e una combinazionelineare di modi del sistema: di conseguenza quanto piu i poli sono prossimial cerchio di raggio unitario, tanto maggiori risultano le quantita

k |gi(k)| equindi max |ey|.Cio significa che, a parita di errore massimo ammesso, tanto piu prossimi al

Capitolo 4. Valutazione degli errori di calcolo. 107

cerchio di raggio unitario sono i poli della f.d.t. tanto piu elevato risulta ilnumero di bit necessario per la aritmetica interna (oltre che per la rappresen-tazione dei coefficienti della realizzazione secondo quanto illustrato nel cap.2).Come si vedra nel par. 4.1.3, tale esigenza e associata anche alla operazionedi messa in scala delle variabili.

Si osservi che il secondo membro della (4.8) porge una stima generalmentemolto pessimistica di max |ey(k)|. Esso risulta, infatti, dato dalla sommadei valori che max |ey(k)| assumerebbe nel caso peggiore se ogni sorgente dierrore agisse singolarmente, cioe per xi(k) (e quindi x(k)) tale che e[xi(j)] =max |e| ·sign[gi(k−j)] per 0 ≤ j ≤ k e k → ∞. Quindi, il segno di uguaglianzanella (4.8) vale solo per la classe (in genere molto ristretta e al limite vuota)dei segnali di ingresso per i quali risulta applicabile la ”sovrapposizione deicasi peggiori”.

Esempio 1. Si consideri il sistema del primo ordine di Fig. 4.2. Nella ipotesidi quantizzare dopo la somma dei due prodotti: b x(k) e a y(k − 1), si haL = 1 e risulta:

g1(k) = akδ−1(k) (4.9)

Per a = 0.9 e b = 0.1 si ottiene:

|ey(k)| ≤ max |e| 1

1 − a

5qa arrotondamento10qa troncamento

(4.10)

[ ].^

a

aQ^y(k)y(k)x(k) b

z

x(k) b

z-1 -1

e(n)

x(k)x(k)x(k)x(k)

a

Figura 4.2 Per l’esempio 1.

La (4.10) puo essere interpretata dicendo che, indipendentemente dallalunghezza di parola, gli errori di calcolo influiscono al massimo sui 3 bit menosignificativi nel caso di arrotondamento e 4 bit nel caso di troncamento. Ilmassimo si verifica per un ingresso a gradino x(k) = Uδ−1(k) per a > O,oppure per un segnale del tipo x(k) = U(−1)kδ−1(k) di ampiezza opportuna,per a < 0.Ad esempio, se si desidera che l’errore sia inferiore all’ 1% del valore di fondoscala (pari a 1, adottando la convenzione dei numeri frazionari) risulta: 5qa <0.01, cioe: qa < 2 · 10−3 e quindi na + 1 ≥ 10 bit. Si rifletta sul fatto che laprecisione dell’1% e garantita solo sul valore di fondo scala!

108 4.1 Il caso della aritmetica a virgola fissa

Esempio 2. Si consideri il sistema del secondo ordine:

y(k) = a1y(k − 1) + a2y(k − 2) + x(k) (4.11)

realizzato in forma diretta (Fig. 4.3). Nel caso di quantizzazione dopo lasomma si ha L = 1 e risulta:

g1(k) = h(k) =1

p1 − p2

(

pk+11 − pk+1

2

)

k ≥ 0 (4.12)

con h(k) risposta impulsiva di (4.11) e con p1 e p2 poli della f.d.t. corrispon-dente. Dalla (4.12) risulta:

|ey(k)| ≤ max |e|∞∑

k=0

|h(k)| (4.13)

-1z

z

-1z

-1z 1a

2a

1a

^y(k)aQ

-1

.

y(k)[ ]

a

^

2

x(k)x(k)

e(n)

Figura 4.3 Per l’esempio 2.

Si osservi che∑

k |h(k)| rimane invariata se entrambi i poli cambiano disegno, cioe se si considera la coppia (−p1,−p2), cui corrispondono i coefficienti−a1 e a2.Nel caso di poli reali non e difficile dimostrare [38] che risulta:

|ey(k)| ≤ max |e| 1

1 − |a1| − a2(4.14)

Nel caso di poli complessi e coniugati: p1,2 = re±jθ0 , non e possibile esprimerela (4.13) in forma chiusa, per cui essa deve essere calcolata numericamente,limitando l’estremo superiore della sommatoria, ad esempio, a quattro volte la”costante di tempo equivalente” dei poli, cioe a 4/(1 − r) per r ' 1. Tuttaviaper una stima di max |ey| e possibile utilizzare le seguenti due maggiorazioni:

∞∑

k=0

|h(k)| =∞∑

k=0

rk sin(k + 1)θ0

sin θ0

1

| sin θ0|(1 − r)4

π| sin θ0|(1 − r2)

(4.15)

Capitolo 4. Valutazione degli errori di calcolo. 109

r = 0.8 r = 0.9 r = 0.95

θ0 (a) (b) (c) (a) (b) (c) (a) (b) (c)

π/18 8. 14.4 10.2 18.1 28.8 19.3 37. 57. 37.6π/12 6.1 8.6 6.8 12.6 19.3 12.9 24.9 38.7 25.2π/6 3.8 5. 3.6 6.5 10. 6.7 12.7 20. 13.1π/4 2.3 3.2 2.5 4.5 7. 4.7 8.8 14.1 9.3π/3 1.8 2.9 2.1 3.5 5.8 3.9 6.8 11.5 7.6π/2 1.4 2.5 1.8 2.6 5. 3.3 5.2 10. 6.6

Tabella 4.1 Per l’Esempio 2: stime di max |ey|/qa

La prima delle (4.15) e di immediata derivazione, mentre per la seconda sirimanda a [66]. Si noti che 1 − r e la distanza dei poli dal cerchio di raggiounitario, per cui per r → 1 il valore fornito dalle (4.15) diverge (analogaconsiderazione vale per la (4.14) per |p1| e/o |p2| → 1).

Nelle colonne a, b e c di Tab. 4.1.1 sono riportate, rispettivamente, le stimedi max |ey|/qa ottenute tramite la (4.13) e la prima e la seconda delle (4.15) perpoli complessi (r = 0.8, 0.9, 0.95) nel caso di arrotondamento (max |e| = qa/2).Si osserva che il massimo di |ey| aumenta all’aumentare di r da 0.8 a 0.95 (apari θ0) e per |θ0| → 0 (a pari r). Si noti, inoltre, la buona corrispondenzafra il valore vero calcolato tramite la (4.13) e la maggiorazione fornita dallaseconda delle (4.15).

4.1.2 Modello statistico.

Analogamente a quanto fatto per la quantizzazione del segnale di ingresso x(k),e possibile adottare un modello statistico dell’errore anche per la operazionedi riduzione della lunghezza di parola associata ai quantizzatori Qa. In questocaso si aggiunge la ipotesi che le sequenze di errore ei(k) siano mutuamente noncorrelate, cioe E[ei(k)en(m)] = 0 per i 6= n. Gli errori ei(k) vengono spessodenominati ”rumori” di calcolo (nella letteratura inglese si parla di ”round-off-errors” indipendentemente dal fatto che si usi troncamento o arrotondamento).L’effetto totale delle varie sorgenti di rumore (bianco) ei(k) sulla uscita e datodalla:

ey(k) =L∑

i=1

k∑

j=0

ei(k − j)gi(j) (4.16)

sempre nell’ipotesi di assenza di overflow. Si noti che, avendo supposto ei(k)non correlato con xi(k) e con en(k) con n 6= i, il modello di Fig. 4.1 b)diviene ”realmente” additivo. La (4.16) esprime, quindi, una relazione con-

110 4.1 Il caso della aritmetica a virgola fissa

cettualmente molto diversa dalla (4.7). Dalla (4.16) si ha a regime (cioe perk → ∞):

mey =L∑

i=1

mei

∞∑

k=0

gi(k) =L∑

i=1

meiGi(1) (4.17)

σ2ey =

L∑

i=1

σ2ei

∞∑

k=0

g2i (k) =

L∑

i=1

σ2ei

2πj

cGi(z)Gi(z

−1)dz

z(4.18)

dove Gi(z) e la f.d.t. tra la sorgente ei(k) e l’uscita, e mei e σ2ei sono la media

e la varianza di ei(k).

Si osserva che in questo caso le variabili aleatorie ei(k) risultano discretenelle ampiezze. Tuttavia se, come generalmente avviene, la riduzione dellalunghezza di parola interessa un numero di bit abbastanza grande (≥ 4 bit),si possono ancora utilizzare per mei e σ2

ei i valori riportati in Tab. 1 del Cap.3. Per una stima del valore massimo di |ey| si puo ancora ricorrere alla (3.34)utilizzando le (4.17) e (4.18).

La potenza totale del rumore di calcolo di uscita dovuto alle sorgenti ei(k)e data da:

Pey = m2ey + σ2

ey (4.19)

Nel caso di arrotondamento alla stessa lunghezza di parola: σ2ei = σ2

e = q2a/12,

la (4.19) diviene

Pey = Gaσ2e (4.20)

con Ga guadagno di rumore di calcolo, quantita che non dipende dal segnaledi ingresso. Risulta inoltre per il rapporto segnale/errore di calcolo:

SNRu = 10 log10Py

Pey= 10 log10 Py − 10 log10 Ga + 6(na + 1) + 4.8 (dB)

(4.21)dove Py e la potenza del segnale di uscita in assenza di errori di calcolo e na +1e il numero di bit usati per la aritmetica. Si osservi che per la (4.21) valgonole considerazioni svolte a proposito della (3.21) (in particolare anche per la(4.21) vale la legge dei ”6 dB/bit”), alle quali si deve aggiungere l’effetto delguadagno di rumore Ga, che dipende dalla realizzazione.

Un criterio per dimensionare la aritmetica interna consiste nello sceglierena +1 in modo che la potenza del rumore di calcolo di uscita non superi quellaassociata alla quantizzazione dell’ingresso data dalla (3.31) e che, quindi, laincertezza sul segnale di uscita dovuta agli errori di calcolo non superi laincertezza intrinseca da cui e affetta l’uscita stessa per effetto degli errori diquantizzazione da cui e affetto il segnale di ingresso.

Capitolo 4. Valutazione degli errori di calcolo. 111

Esempio 1. Si consideri ancora il sistema di Fig. 4.2, e si valuti l’effettodell’errore associato alla quantizzazione della somma dei due prodotti, erroreconsiderato come variabile aleatoria. Nell’ipotesi di arrotondamento risulta:

σ2ey = σ2

e1y = σ2e

∞∑

i=0

h2(i) =σ2

e

1 − a2> σ2

e (4.22)

La varianza del rumore di calcolo aumenta per |a| → 1 in accordo con le con-siderazioni svolte in 4.1. Per |a| = 0.9, risulta: σ2

ey = 5σ2e e |ey| < 3σey ' 2qa.

L’errore di calcolo cosı valutato influenza al massimo i 2 bit meno significativi,anziche i 3 bit come risulta dalla stima del caso peggiore data dalla (4.10).

Esempio 2: quantizzatore con memoria. Con riferimento al semplice esempiodi Fig. 4.2 illustriamo una tecnica, detta di reazione del rumore di quantiz-zazione (”error feedback”), che risulta molto efficace per ridurre il rumore dicalcolo nelle realizzazioni in forma diretta di f.d.t. ricorsive del primo e sec-ondo ordine [3,4]. La tecnica, che e stata gia vista alla fine del par. 3.3, ha lacaratteristica essenziale di sostituire il quantizzatore ”istantaneo” dei risultatiintermedi con un quantizzatore con ”memoria”.

aQ [ ]. y(k)

-1z

-1z

β

a

e(k)

b

+

x(k)

-

Figura 4.4 Esempio di quantizzatore con memoria

La Fig. 4.4 illustra il principio relativamente alla f.d.t. H(z) = b/(1 −az−1): il segnale di errore e(k), anziche venir semplicemente scartato, vieneutilizzato per influenzare l’ingresso del quantizzatore all’istante successivo. Ilcoefficiente moltiplicatore β, che interviene nell’anello di reazione dell’errore,e un numero intero (perche?). Posto y(k) = Q[v(k)] + e(k), e immediatoverificare che risulta

y(k) = ay(k − 1) + e(k) + βe(k − 1) + bx(k) (4.23)

La f.d.t. G1(z) associata alla propagazione dell’errore e(k) e

G(z) =1 + βz−1

1 − az−1

112 4.1 Il caso della aritmetica a virgola fissa

e la varianza del rumore di uscita risulta:

σ2ey =

1 + 2aβ + β2

1 − a2σ2

e = G′aσ

2e (4.24)

Il numeratore: 1 + 2aβ + β2 rappresenta il guadagno, G′a/Ga, in termini di

guadagno di rumore rispetto al caso β = 0 considerato nell’Esempio 1.E facile verificare che i valori ottimi di β sono: β = 0 per |a| ≤ 0.5, β = −1per 0.5 < a < 1 e β = 1 per −1 < a < 0, e che il rapporto G′

a/Ga aumentaper |a| → 1, cioe proprio nelle situazioni piu critiche. Per |a| ' 1 risultaG′

a ' 1 e quindi tutto va come se l’uscita del sistema al tempo k risentissesolo dell’errore commesso al tempo k stesso, cioe non risentisse degli erroricommessi negli istanti precedenti. (Se |a| = 0.9 come nel precedente esempio,si ha G′

a = Ga/5 ' 1.05.)L’equazione della f.d.t. dell’errore mostra che essa e uguale a quella che

si avrebbe con β = 0 moltiplicata per 1 + βz−1. Si puo quindi dire che lareazione dell’errore di quantizzazione ”sagoma” lo spettro del rumore stesso,trasformandolo da bianco a colorato con densita spettrale: (1 + βz−1)(1 +βz)σ2

e . Ad esempio, per β = −1 l’errore ”colorato” ha spettro 2(1 − cos θ)σ2e ,

che e di tipo ”passa-alto”, e vede la f.d.t. 1/(1 − az−1), che e invece di tipo”passa-basso” se a > 0. La riduzione della potenza rumore di calcolo e propriodovuta al fatto che la potenza di rumore di quantizzazione e per la maggiorparte confinata nella ”banda attenuata” di 1/|1 − ae−jθ|2.

Esempio 3. Si riconsideri l’esempio di fig. 4.3 a); nella ipotesi di arrotonda-mento dopo la somma si ha:

y(k) = QR[a1y(k−1)+a2y(k−2)+x(k)] = a1y(k−1)+a2y(k−2)+x(k)+e1(k).

La f.d.t. tra la sorgente di rumore e1(k) e l’uscita e uguale alla f.d.t. delsistema (fig. 4.3 b), per cui risulta:

σ2ey = σ2

e1y = σ2e

∞∑

i=0

h2(i) (4.25)

Per poli complessi-coniugati p1,2 = re±jθ0 con r ' 1 si ha:

∞∑

i=0

h2(i) =1

2πj

cH(z)H(z−1)

dz

z=

1 + r2

1 − r2· 1

1 − 2r2 cos 2θ0 + r4

' 1

4 sin2 θ0(1 − r)(4.26)

e la (4.25) diviene con σ2e = q2

a/12:

σ2ey ' q2

a

48· 1

sin2 θ0(1 − r)(4.27)

Capitolo 4. Valutazione degli errori di calcolo. 113

r=0.8 r=0.9 r=0.95

θ0 σ2ey/σ

2e 3σey/qa σ2

ey/σ2e 3σey/qa σ2

ey/σ2e 3σey/qa

π/18 22. 2.8 71. 5.2 165. 7.8π/12 15.1 2.4 37.6 3.8 77.5 5.4π/6 5.9 1.4 11.3 2. 21.4 2.8π/4 3.2 1.1 5.7 1.5 10.8 2.π/3 2.2 0.9 3.9 1.2 7.2 1.6π/2 1.8 0.6 1.5 0.8 2.2 1.

Tabella 4.2 Per l’Esempio 3

Ancora una volta risulta che σ2ey aumenta per r → 1. Inoltre, nella realiz-

zazione in forma diretta considerata, σ2ey aumenta per θ0 → 0 e per θ0 → π,

come illustrato in Tab. 4.2 per r = 0.8, 0.9, 0.95, analogamente a quanto vistonel par. 2.4 per la sensibilita alla quantizzazione dei coefficienti. Confrontandoquesti risultati con quelli riportati nella Tab. 4.1.1, risulta che (come nell’Esempio1) il modello statistico fornisce per max |ey| valori abbastanza minori di quelliottenuti col metodo del ”caso peggiore” (circa due bit di meno nell’esempioper r = 0.9). A questo proposito si ricorda che quanto piu ampia e la dinamicadei segnali in gioco e quanto piu i segnali variano da campione a campione,tanto piu sono verificate le ipotesi su cui si basa il modello statistico.

4.1.3 Normalizzazione delle variabili.

Nell’operazione di somma tra variabili in virgola fissa non sono presenti erroridi arrotondamento (o troncamento), ma vi e la possibilita di overflow cuicorrisponde un errore multiplo del fondo scala. In complemento a due, adesempio, assunto un fondo scala unitario si ha:

x1 = 0.75 + → 0.110 +x2 = 0.50 = → 0.100 =s = 1.25 1.010 → s = −0.75

(4.28)

e quindi si ha un errore s− s = 2 cioe pari al doppio del fondo scala. In questoesempio, in assenza di altre informazioni su x1 e x2 e sufficiente introdurre unfattore di scala pari a 1/2 per x1 e x2, cioe considerare x′

1 = x1/2 e x′2 = x2/2

in modo da garantire |s′| = |x′1 + x′

2| ≤ 1. Ovviamente s′ = s/2 e del fattoredi scala 1/2 si dovra tener conto nei calcoli successivi.

Nella realizzazione di una f.d.t. questo metodo puo essere generalizzato, in-troducendo opportuni fattori di scala in maniera da ridurre il livello dei segnaliin alcuni nodi della realizzazione e assicurare che non si verifichi overflow (op-pure che si verifichi raramente) nel risultato finale di ogni somma, nell’ipotesi

114 4.1 Il caso della aritmetica a virgola fissa

di aritmetica in complemento a due (Appendice A). 2 All’operazione relativaviene spesso dato il nome di ”normalizzazione” o ”messa in scala” (“scaling”)delle variabili associate alla realizzazione.

I fattori di scala devono essere scelti in modo da assicurare la minimaprobabilita di overflow compatibilmente con un valore elevato del rapportoSNRu dovuto agli errori di calcolo.

Si osserva che la scelta dei fattori di scala e la loro dislocazione nella strut-tura possono essere fatte in piu modi in dipendenza dalla particolare appli-cazione. In ogni caso per la determinazione dei fattori di scala e necessariostimare i valori massimi che possono essere assunti dalle variabili di uscita, yi,dei vari sommatori. Se e noto l’andamento “tipico” del segnale di ingresso,i valori massimi possono essere determinati mediante simulazione. In alter-nativa, se sono note solo alcune caratteristiche del segnale di ingresso, si puoricorrere ai metodi che verranno descritti nel seguito. Tali metodi consentonodi rendersi conto di come e quanto la realizzazione influisca sui valori mas-simi delle variabili (analogamente a quanto avviene per la propagazione deglierrori).

I vari metodi che verranno illustrati si basano sulle ipotesi che la realiz-zazione sia lineare, cioe che nella determinazione di max |yi(k)| possa esseretrascurato l’effetto degli errori di calcolo, e che l’ingresso venga applicato apartire dallo stato zero.Sotto tali ipotesi, la risposta forzata associata al segnale di uscita, yi(k), dalsommatore i-esimo puo essere calcolata mediante la:

yi(k) =k∑

j=0

x(k − j)fi(j) (4.29)

dove fi(j) e la risposta impulsiva tra l’ingresso del sistema e l’uscita del som-matore i–esimo.Dalla (4.29) si ricava:

|yi(k)| ≤ max |x(k)|∞∑

k=0

|fi(k)| (4.30)

e quindi condizione sufficiente affinche |yi(k)| ≤ 1 per ogni ingresso x(k) (cioenon si verifichi mai overflow al nodo i–esimo) e che:

max |x(k)|∞∑

k=0

|fi(k)| ≤ 1 (4.31)

2In effetti tale condizione e sovrabbondante, essendo sufficiente garantire che non vadanoin overflow le variabili che devono essere moltiplicate per coefficienti che non sono numeriinteri: si vedano gli esempi 2 e 4 del par. 4.1.4.

Capitolo 4. Valutazione degli errori di calcolo. 115

cioe:

max |x(k)| ≤ 1∑∞

j=0 |fi(j)| =1

si(4.32)

Si osserva che la condizione e anche necessaria, nel senso che esiste un segnaledi ingresso per il quale la (4.32) e verificata col segno di uguaglianza. Infatti alsegnale: x(j) = sign[fi(k−j)]Mx, j = 0, 1, · · · , k, (k → ∞) che assume semprevalori pari in valore assoluto al fondo scala e segno uguale a quello della rispostaimpulsiva, corrisponde all’istante k proprio la uscita yi(k) = Mx

∑kj=0 |fi(j)|.

x(k) x ’(k) y ’(k) y(k)1/s sH(z)

Figura 4.5 Normalizzazione concentrata all’ingresso.

Ricordiamo che la norma p-esima di una sequenza f(k) e definita dalla

`p(f) = (∞∑

k=0

|f(k)|p)1/p, (4.33)

e che le norme `p(f) soddisfano la relazione d’ordine:

`∞(f) = max |f(k)| ≤ · · · ≤ `p(f) ≤ `p−1(f) ≤ · · · ≤ `1(f). (4.34)

La (4.30) puo quindi essere riscritta come:

`∞(yi) = `∞(x)`1(fi). (4.35)

e la messa in scala delle variabili interne e di uscita secondo la (4.30) vieneanche detta messa in scala secondo la norma `1 di fi(k).

Affinche la (4.32) sia soddisfatta per tutti i nodi della struttura, e sufficiente”attenuare” il segnale di ingresso, introducendo all’ingresso un fattore di scala1/s con s dato dalla:

s = max(si) = max(∞∑

j=0

|fi(j)|) (4.36)

il quale garantisce |yi(k)| ≤ 1 in ogni sommatore (normalizzazione ”concen-trata” all’ingresso).

Ovviamente, come illustrato in Fig. 4.5, per ottenere la H(z) originalee necessario post-moltiplicare per s. Se, come quasi sempre avviene, risultas > 1, il fattore s risulta un moltiplicatore implicito dei risultati calcolati invirgola fissa, e puo essere associato alla conversione D/A.

116 4.1 Il caso della aritmetica a virgola fissa

In pratica, puo risultare conveniente approssimare s con la potenza 2m im-mediatamente superiore al valore dato dalla (4.36). Il segnale di ingressox(k) e fornito come parola binaria di ni + 1 bit in virgola fissa e la molti-plicazione per 1/s = 2−m corrisponde all’operazione di shift a destra di mbit (con propagazione del segno). Si osserva quindi che, se si vuole conser-vare la risoluzione, ni + 1, del segnale di ingresso, e necessario impiegare perl’aritmetica (cioe per x′(k) = x(k)/s e le altre variabili interne) una lunghezzadi parola na + 1 > na + m + 1 bit.

La parola binaria che rappresenta x′(k) ha quindi la struttura schematiz-zata in Fig.6.6, dove si e impiegata una lunghezza di parola pari a na + 1 =ni + 1 + m + ` bit. In Fig. 4.6 compaiono nella parte meno significativadella parola ` bit, necessari per ”assorbire” gli errori di calcolo introdotti dalleelaborazioni associate alla realizzazione scelta per la H(z).

ni

n +1a

m l

errori di calcolosegno |x(k)|overf low

Figura 4.6 Organizzazione della parola.

La normalizzazione delle variabili mediante la (4.36) consente di ”con-centrare” all’ingresso la attenuazione necessaria per evitare overflow in tuttii sommatori, senza modificare la struttura. Tale metodo ha il pregio dellasemplicita e il difetto di basare la attenuazione del segnale di ingresso sulsommatore ”peggiore”, cioe sulla variabile cui e associata la massima am-plificazione. Si supponga, ad esempio, che in una realizzazione si abbianoquattro nodi sommatori e che dalla (4.32) risulti: si = (1.2, 7, 1.8, 0.5). Inbase alla (4.36) l’ingresso deve essere attenuato di 1/8 = 2−3 e di conseguenzamax |y′i| = (1.2/8, 7/8, 1.8/8, 1/16); quindi, per le variabili y ′

1, y′3 e y′4 riman-gono ”inutilizzati”, rispettivamente, i 3, 2 e 4 bit piu significativi della rap-presentazione. Il rapporto segnale/errore di calcolo da cui e affetta y ′

2 e ilmassimo ottenibile senza overflow, mentre per y ′

1, y′3 e y′4 esso peggiora inquanto, a pari errore di calcolo (fissato dalla lunghezza di parola), i segnali y ′

1,y′3 e y′4 risultano molto piu piccoli del fondo scala.

Un metodo alternativo a quello indicato dalla (4.36) consiste nell’associare

Capitolo 4. Valutazione degli errori di calcolo. 117

un fattore di scala si ad ogni singolo sommatore, modificando la realizzazionecome illustrato in Fig. 4.7 (normalizzazione ”distribuita”). In questo caso lastruttura viene modificata nel senso che le risposte impulsive fi(k) divengonole

f ′i(k) = fi(k)/si (4.37)

che soddisfano alla condizione

∞∑

k=0

|f ′i(k)| = 1 (4.38)

Contemporaneamente ogni risposta impulsiva gi(k) tra l’uscita del sommatorei-esimo e l’uscita del sistema, diventa:

g′i(k) = sigi(k) (4.39)

in modo che la f.d.t. complessiva H(z) rimanga inalterata. 3

y ii

sc11x

e i

1x

x

x

2

3

2

3

1c ’

c ’

c ’

iy ’

c ’=c/s i

x

x

2

3

c

c2

3

ie

Figura 4.7 Normalizzazione distribuita.

Si ha, quindi, che l’operazione di ”normalizzazione” modifica le f.d.t. frale sorgenti di rumore (ei di Fig. 4.7) e l’uscita. Di conseguenza il rumoredi calcolo di uscita va calcolato utilizzando nella (4.18) le risposte impulsiveg′i(k) della realizzazione ”scalata” date dalla (4.39), cioe tramite la:

σ2ey = σ2

e

L∑

i=1

∞∑

k=0

g′2i (k) = σ2

e

L∑

i=1

s2i

∞∑

k=0

g2i (k) (4.40)

la quale porge il guadagno di rumore della realizzazione, in cui le variabilisiano state messe in scala, in termini di quantita calcolabili sulla realizzazioneoriginale.

A questo proposito e importante osservare lo stretto legame che esiste inuna realizzazione in cui le variabili sono state normalizzate, tra il rumore

3Dalla Fig. 4.7 appare inoltre che se, ad esempio, c1 = 1, per effetto della normalizzazionecompare una moltiplicazione in piu per c′1 = 1/si. Se la quantizzazione avviene dopo ogniprodotto c′ixi, lo scalamento introduce una nuova sorgente di errore di calcolo.

118 4.1 Il caso della aritmetica a virgola fissa

di calcolo associato ad un moltiplicatore (ad esempio, ci di Fig. 4.7) e lasensibilita ∂H/∂ci, data dalla (2.12), della f.d.t. H(z) rispetto al coefficientestesso. Infatti il rumore di calcolo dipende dalla f.d.t. G′

i(z) = siGi(z) equindi dipende, attraverso il fattore di scala si, dalla f.d.t. Fi(z) dall’ingresso,X(z), all’ingresso del moltiplicatore e, attraverso Gi(z), dalla f.d.t. dal nododi uscita del moltiplicatore (dove e iniettata la sorgente di rumore) all’uscitadella realizzazione. Se ne deriva la importante conclusione che le realizzazionia piccola sensibilita alle variazioni dei coefficienti sono anche numericamenterobuste, cioe presentano piccoli valori del guadagno di rumore di calcolo, eviceversa [27, 57]. Nel paragrafo 4.1.7 troveremo una relazione esplicita chelega un indice di sensibilita al guadagno di rumore.

Altre tecniche di messa in scala.

L’impiego dei fattori di scala si dati dalla (4.30), se da un lato assicura laassenza di overflow (nella risposta forzata), dall’altro provoca attenuazioniche risultano eccessive nel normale funzionamento del sistema. La (4.30),infatti, utilizza l’unica informazione certa sul segnale di ingresso, data dallamax |x(k)| ≤ Mx, e conseguentemente porge la stima del ”caso peggiore” perla dinamica delle variabili.

Per tale motivo spesso si utilizzano metodi alternativi di stima dei fattoridi scala si [29]. Tali metodi presuppongono la disponibilita di informazioniulteriori sulla classe dei segnali di ingresso.Ricordando la

yi(k) =1

2πj

cYi(z)zk dz

z=

1

2πj

cFi(z)X(z)zk dz

z(4.41)

e valutando gli integrali sul cerchio di raggio unitario z = ejθ, si ha:

|yi(k)| ≤∫ 2π

0|Fi(e

jθ)X(ejθ)| dθ

2π. (4.42)

Da (4.42) si ricavano facilmente le due maggiorazioni:

|yi(k)| ≤ maxθ

|X(ejθ)|∫ 2π

0|Fi(e

jθ)| dθ

2π= L∞(X) · L1(Fi) (4.43)

|yi(k)| ≤ maxθ

|Fi(ejθ)|

∫ 2π

0|X(ejθ)| dθ

2π= L∞(Fi) · L1(X), (4.44)

dove si e indicata con Lp(F ) la norma p–esima della funzione F (ejθ):

Lp(F ) =

(∫ 2π

0|F (ejθ)|p dθ

)1/p

(4.45)

Capitolo 4. Valutazione degli errori di calcolo. 119

e si ha limp→∞ Lp(F ) = L∞(F ) = max |F (ejθ)|.Si ricorda che tra le norme Lp intercorre la relazione d’ordine:

L1(F ) ≤ · · · ≤ Lp−1(F ) ≤ Lp(F ) ≤ · · · L∞(F ) (4.46)

e, indicata con f(k) la antitrasformata di F (ejθ), si ha il seguente legame tranorme `p e Lp:

`∞(f) = maxk

|f(k)| ≤ `2(f) = L2(F ) ≤ L∞(F ) = maxθ

|F (ejθ)| ≤ `1(f).

(4.47)In alternativa alle (4.43) e (4.44), applicando la disuguaglianza di Schwarz alla(4.42), si ottiene la maggiorazione:

|yi(k)| ≤(∫ 2π

0|X(ejθ)|2 dθ

)1/2 (∫ 2π

0|Fi(e

jθ)|2 dθ

)1/2

= L2(X) · L2(Fi)

=

(

∞∑

k=0

x2(k)

)1/2 ( ∞∑

k=0

f2i (k)

)1/2

. (4.48)

Si osserva che la (4.48) utilizza come misura della amplificazione tra l’ingressoed il nodo i–esimo la norma L2, cioe la stessa norma da cui dipende la potenzadell’errore di calcolo all’uscita dalla realizzazione, e corrisponde, quindi, all’impiegodella stessa metrica per misurare sia gli errori di calcolo che i fattori di scala.

Le (4.43) e (4.44) sono utilizzabili quando e disponibile una stima, rispet-tivamente, del valore massimo e del valore medio del modulo della trasformatadell’ingresso, mentre la (4.48) richiede la conoscenza dell’energia del segnale diingresso. In ogni caso e utile aver presente che, in pratica, nel caso di una f.d.t.H(z) la cui risposta in frequenza sia del tipo costante a tratti (|H(ejθ)| ' 1o ' 0), si trova sperimentalmente che le norme associate alle f.d.t. Fi(z),che intervengono nelle (4.30), (4.43), (4.44) e (4.48), soddisfano alle seguentirelazioni approssimate

`1(fi) ' 2L∞(Fi) ' 4L2(Fi) → L∞(Fi) ' 2L2(Fi). (4.49)

Condizione sufficiente affinche si abbia |y ′i(k)| ≤ 1 per ogni k, e che le f.d.t.

Fi(z) vengano modificate (analogamente alla (4.38)) introducendo dei fattoridi scala secondo la F ′

i (z) = Fi(z)/si, in modo che sia soddisfatta una dellerelazioni:

max |y′i(k)| = L∞(X)L1(F ′i ) = 1 (4.50)

max |y′i(k)| = L1(X)L∞(F ′i ) = 1 (4.51)

max |y′i(k)| = L2(X)L2(F ′i ) = 1 (4.52)

120 4.1 Il caso della aritmetica a virgola fissa

In particolare, se l’ingresso e un segnale sinusoidale: x(k) = X sin(kθ + φ)con X ≤ 1, o, piu in generale, un segnale a banda stretta, la (4.44) consentedi valutare il valore massimo a regime di yi(k):

|yi(k)| ≤ maxθ

|Fi(ejθ)| · X (4.53)

Lo scalamento corrispondente alla (4.51) porta ad avere max |F ′i (ejθ)| = 1, e,

pur essendo in base alla (4.47) il piu conservativo dopo quello in norma `1,rende conto solo del comportamento in regime permanente. E buona norma,a tale proposito, aumentare il fattore di scala corrispondente per garantireun comportamento corretto anche in transitorio (ad esempio, in realizzazionicascata e parallelo di celle del secondo ordine e buona regola garantire lamax |F ′

i (ejθ)| ≤ 1/2).

Se l’ingresso puo essere modellato come un processo aleatorio di cui e notala densita spettrale di potenza Rx(ejθ), la varianza σ2

yi di yi(k) risulta:

σ2yi =

∫ 2π

0|Fi(e

jθ)|2Rx(ejθ)dθ

2π. (4.54)

La (4.54) consente di stimare max |yi(k)| come (3÷4)σyi e, quindi, di introdurreun fattore di scala che renda la deviazione standard del segnale y ′

i(k) pari aduna frazione del fondo scala. In particolare, nel caso il processo di ingresso siabianco (o a banda larga) con varianza σ2

x e gaussiano (o approssimativamentetale) troncato al valore di fondo scala, si ha:

σ2yi = σ2

x

∫ 2π

0|Fi(e

jθ)|2 dθ

2π= σ2

x · L22(Fi) (4.55)

Le f.d.t. Fi(z) possono essere modificate in modo che risulti

L2(F ′i ) = 1. (4.56)

Corrispondentemente si haσ2

y′i = σ2x (4.57)

e la dinamica di tutte le variabili interne y ′i(k) risulta uguale a quella dell’ingresso.

Il controllo dell’overflow e ricondotto ad una corretta messa in scala del soloingresso e, assicurando che sia

σx = 1/m m > 1, (4.58)

si ottiene di rendere uguali le probabilita di overflow dell’ingresso e di tuttele variabili interne (e semplice, se necessario, modificare la procedura in mododa assicurare probabilita di overflow diverse).Per quanto riguarda la scelta di m si osserva che non e sensato scegliere un

Capitolo 4. Valutazione degli errori di calcolo. 121

valore troppo elevato, dato che si rischierebbe di introdurre fattori di scalasuperiori a quelli corrispondenti alla stima del ”caso peggiore”, cioe all’impiegodella (4.38), vanificando i miglioramenti di SNRu ottenibili con una sceltadei fattori di scala che utilizzi l’informazione a priori sul segnale di ingresso.Generalmente e sufficiente utilizzare un valore di m pari a quattro (σx = 1/4).

In conclusione una volta messe in scala le variabili, il guadagno di rumoredi calcolo dato dalla (4.40) dipende dal quadrato della norma L2 delle f.d.t.Gi(z) e dal quadrato della norma utilizzata per calcolare i fattori di scala si

associati alle f.d.t. Fi(z). In particolare, se si utilizza la (4.48) o (4.56), cioeper si = L2(Fi), si ha:

Ga =L∑

i=1

L22(Fi)L

22(Gi) (4.59)

da cui si deduce che il guadagno di rumore della realizzazione coincide conquello della realizzazione ”trasposta”.

Corrispondentemente alla adozione delle leggi di scalamento (4.43) (quasimai usata), (4.53) e (4.58) si ha una certa probabilita di overflow. Come giaosservato, il verificarsi di un overflow ad un certo istante k0 corrisponde allaintroduzione di un errore di calcolo di valore elevato (multiplo del fondo scala,si veda l’esempio all’inizio del paragrafo), il cui effetto e equivalente alla intro-duzione di un impulso Aδ(k − k0) di pari ampiezza nel nodo corrispondente.L’effetto di un overflow in una realizzazione ricorsiva, quindi, si propaga neltempo anche ai valori successivi, e puo provocare altri overflow e, in con-dizioni particolari, oscillazioni permanenti (cicli limite da overflow autonomio in regime forzato, si veda par. 4.1.8) che rendono inutilizzabile il sistema,dato che in tale situazione l’unico modo per ripristinarne il funzionamento eazzerare le variabili di stato.

2x

1

3

x

x

y ’ y

1c

2c

c3

Figura 4.8 Aritmetica a saturazione.

Per evitare questi fenomeni si ricorre alla aritmetica a saturazione, nellaquale il risultato dell’operazione di somma viene sottoposto ad una operazione

122 4.1 Il caso della aritmetica a virgola fissa

di saturazione al valore massimo positivo o minimo negativo, a seconda delsegno del risultato corretto, come schematicamente illustrato in Fig. 4.8. Inquesto caso e desiderabile applicare la saturazione al solo risultato finale y ′,in modo da sfruttare la capacita della notazione in C2 di ”assorbire” glioverflow parziali, almeno finche il risultato finale appartiene alla rappresen-tazione. Allo scopo si possono prevedere dei bit di guardia contro l’overflownell’accumulatore (sempre presenti nei moderni DSP) o, piu semplicemente,contare il numero di overflow parziali e distinguere se si tratta di un overflowparziale che porta da un risultato parziale il cui segno corretto sarebbe pos-itivo, ad un risultato negativo, o viceversa (soluzione adottata alcuni anni fain un DSP della Fujitsu).

Esempio 1. Si consideri il sistema di Fig. 4.2 con a > 0 e b = 1− a. In questocaso vi e un unico sommatore la cui uscita e anche l’uscita del sistema. Dalla(4.30) risulta:

|y(k)| ≤ max |x(k)|∞∑

k=0

bak = max |x(k)|

e quindi la premoltiplicazione per b = 1 − a rende impossibile l’overflow perogni ingresso. Se l’ingresso puo essere approssimato con un rumore bianco condensita di probabilita uniforme in [−1, 1) si ha:

σ2x = 1/3; σ2

y = σ2x

1 + a

1 − a.

In base alla (4.22) il rapporto segnale/rumore di calcolo risulta:

σ2y

σ2ey

= (1 − a2)σ2

y

σ2e

Nelle ipotesi fatte per x(k) si ha che per l’uscita vale la

max |y(k)| ' 4σy =√

(16/3)(1 − a)/(1 + a) ' 0.4 per a = 0.9

Risulta quindi che il modulo dell’uscita non e quasi mai superiore al 40% delfondo scala e quindi per alimentare il convertitore D/A si puo scartare il bitpiu significativo (saturando quando necessario). Si calcoli il rapporto SNRu

nell’ipotesi di segnale di ingresso sinusoidale.

Esempio 2. La Fig. 4.9 riporta un esempio degli andamenti del rapportosegnale/errore di calcolo, SNRu, in funzione di σx nel caso di scalamento innorma L2 secondo le (4.57) e (4.58), per aritmetica a saturazione e non.

I risultati si riferiscono alla simulazione in ambiente a virgola fissa (coef-ficienti, ingresso, uscita e stato su 16 bit, accumulatore di 32 bit ed arroton-damento dopo l’accumulo) di un filtro passa-basso ellittico del quarto ordine,

Capitolo 4. Valutazione degli errori di calcolo. 123

(dB)

x

0.2 0.3 0.4

20

40

60

80

σ0.1

0

C2

saturazione

Figura 4.9 SNRu in funzione di σx con aritmetica C2 e a saturazione.

realizzato come parallelo di due celle del secondo ordine del tipo a minimo ru-more di calcolo (si veda il paragrafo 4.1.7). Le specifiche sono: B.P. : [0, 250]Hz con DBR ' 0.2 dB; B.A. : [300, 4000] Hz con A ≥ 40 dB; Fc = 8 kHz.La simulazione e stata condotta inviando lo stesso segnale all’ingresso di duerealizzazioni aventi gli stessi coefficienti, ma operanti l’una in virgola fissae l’altra in float doppia precisione. Si e calcolata la differenza delle usciteey(k) = y(k) − y(k), e si e stimata la potenza del segnale di uscita con laσ2

y '∑

k y2(k)/N e la varianza del rumore di calcolo con la σ2ey '∑

k e2y(k)/N

con N = 104, scartando i campioni corrispondenti al transitorio iniziale. Ilsegnale di ingresso era costituito da campioni generati da un generatore dinumeri pseudo-gaussiani incorrelati di varianza unitaria, che venivano molti-plicati per 1/m (ottenendo un segnale di varianza 1/m2), saturati a −1 e1 − 2−15 e quantizzati su 16 bit.

La Fig. 4.9 mostra chiaramente che al variare del fattore di scala 1/m larealizzazione in virgola fissa presenta due regimi di funzionamento:

a) per ”piccoli” valori di σx (minori di ' 1/3) il rapporto SNRu cresce con σx

e quindi con la potenza del segnale di ingresso e di uscita (σ2y ' (2fp/Fc)σ

2x =

250/4000σ2x), in ottimo accordo con quanto previsto dalla teoria (SNRu au-

menta di 6 dB per ogni raddoppio di σx). Non si nota nessuna differenza fra idue tipi di aritmetica e, in effetti, per σx < 1/4 non si e avuto nessun overflow;

b) per valori ”elevati” di σx (maggiori di ' 1/3) il numero di overflow di-

124 4.1 Il caso della aritmetica a virgola fissa

viene via via piu rilevante e cosı il loro effetto, che ha come conseguenza unadrastica riduzione del valore di SNRu. In questo caso si lascia apprezzare lamaggiore insensibilita agli overflow della aritmetica a saturazione, che presentaun passaggio meno brusco fra i due regimi di funzionamento.

4.1.4 Normalizzazione dell’uscita.

Si consideri il sistema rappresentato in Fig. 4.10 a) dove V FSAD e V FSDA

sono i valori della tensione di fondo scala del convertitore A/D e D/A, rispet-tivamente. Lo schema a blocchi e riportato in Fig. 4.10 b). La presenza diQu e legata al fatto che il convertitore D/A accetta in ingresso un numeroin virgola fissa con un numero finito di bit nu + 1, mentre la parte di elab-orazione utilizza in genere una lunghezza di parola maggiore. In particolarese l’aritmetica e del tipo a virgola mobile, il segnale y(kT ) da convertire insegnale analogico, puo essere spesso considerato a ”precisione infinita”.

A/D

VFSAD

x(kT)^

VFS

D/Ay(kT)x(t)

DA

~y(t)H(z)

a)

H(z)Q Qi u

x(kT) x(kT) y(kT) y(kT)^^

0

y(t)~

H (s)

b)

x(t)

Figura 4.10 Per la normalizzazione dell’uscita.

Il segnale x(kT ) (si veda il par. 3.1) e un segnale numerico che puo essereespresso come frazione fx(kT ) del fondo scala V FSAD del convertitore A/D(non si confonda fx(kT ) con il simbolo usato per indicare la risposta impulsivafi(k) nel par. 4.1.3)

x(kT ) = fx(kT ) · V FSAD |fx(kT )| ≤ 1, (4.60)

e il segnale y(kT ) e dato da:

y(kT ) = x ∗ h(kT ) = fx ∗ h(kT ) · V FSAD (4.61)

dove ∗ indica l’operazione di convoluzione, e puo essere espresso come:

y(kT ) = fy(kT ) · V FSAD |fy(kT )|>≤ 1 (4.62)

Capitolo 4. Valutazione degli errori di calcolo. 125

con fy(kT ) numero puro risultato della elaborazione secondo H(z) di fx(kT ).Risulta:

max |y(kT )| = max |fy(kT )| · V FSAD (4.63)

Se si desidera che il comportamento dell’intero sistema sia lineare (trascurandole nonlinearita associate alla realizzazione della f.d.t.) anche per ”grandi seg-nali”, e necessario che il convertitore di uscita sia in grado di fornire il valore:

max |y(t)| = max |fy(kT )|V FSAD ≤ V FSDA (4.64)

dove V FSDA e la tensione di fondo scala del convertitore D/A. Poiche perle tensioni di fondo scala dei convertitori (A/D e D/A) commerciali ven-gono usualmente impiegati valori fissi (ad esempio 1, 5, 10 V), se max |y(t)| >V FSDA, e necessario introdurre un amplificatore analogico a valle del con-vertitore D/A. In ogni caso, per soddisfare la (4.64) e necessario stimaremax |fy(kT )| e cio puo essere fatto con uno dei metodi precedentemente il-lustrati nel par. 4.1.3, oppure mediante simulazione. In alcuni casi, tuttavia,e conveniente accettare che il sistema si comporti in maniera non-lineare per”grandi segnali”, ricorrendo ad una saturazione sull’uscita, analogamente aquanto illustrato precedentemente per il convertitore A/D.

n +1i

11

1000

0

00

f (k)x

n +1VFS 1

A / Dx(t)

VFS 2

D / Ay(t)~

segno

aritmetica

n +1a

11

10

0

f (k)y

00

0

00

0

1

1

1

1

10

n +1u

00

0

00

0

1

1

1

1

10

0

0

u

n +1a

1

1

a)

b)

Figura 4.11 Organizzazione delle parole di ingresso, dell’unita di calcolo e di uscita.

Si sottolinea che il problema ora considerato e indipendente dal tipo di ar-itmetica adottato per la realizzazione, essendo dovuto solo alla ”amplificazione

126 4.1 Il caso della aritmetica a virgola fissa

dinamica” tra l’ingresso e l’uscita di H(z). In particolare se l’aritmetica e deltipo a virgola mobile (precisione quasi infinita), l’uscita e l’unica variabile danormalizzare.

La fig. 4.11 a) mostra le varie lunghezze di parola ni + 1, na + 1 e nu + 1 inun esempio nel quale l’aritmetica e del tipo a virgola fissa. La lunghezza dellaparola impiegata per l’aritmetica e maggiore di quella del convertitore A/Dsecondo quanto illustrato in 4.1.3. Si e supposto di aver scelto nu (4 bit infig.4.11 a) sulla base della risoluzione richiesta nell’operazione di conversioneD/A.

A titolo di esempio, si supponga max |y(t)| = 1.6 · V FSAD per cui il reg-istro del convertitore D/A va ”allineato” come in Fig.6.11 a), cioe un bital di ”sopra” della posizione in fy(kT ) del bit piu significativo della paroladi ingresso fx(kT ). Il valore massimo di |y(t)| puo essere ottenuto ponendoV FSDA = 2 V FSad , oppure con V FSDA = V FSAD introducendo pero unamplificatore di guadagno 2. La disposizione di fig.4.11 a) puo essere adottatafinche V FSAD < max |y(t)| < 2 V FSDA.Nell’esempio di fig.6.11 a) vi sono due bit di guardia per l’overflow nell’aritmetica,mentre e sufficiente un solo bit per l’uscita. Poiche tre bit di fy(kT ) sono scar-tati nella operazione di conversione, l’uscita viene quantizzata con passo diquantizzazione pari a 2−nu ( per quanto riguarda l’errore dovuto a Qu valgonole considerazioni svolte per gli altri quantizzatori).

Se si verifica solo raramente che |y(t)| sia pari a 1.6 V FSAD (come, adesempio, avviene stimando max |y|(t) con il criterio del caso peggiore), il bitpiu significativo risulta scarsamente utilizzato, ed e conveniente ricorrere aduna saturazione dell’uscita come indicato schematicamente in fig. 4.11 b).Il registro del convertitore D/A va ”allineato” (nell’esempio) su quello delconvertitore A/D di ingresso nell’ipotesi V FSAD = V FSDA. Cio corrispondea forzare max |y(t)| = V FSAD.

Il sistema di fig. 4.11 a) e tipico dei regolatori numerici dove l’ingressoe l’errore della catena di controllo e l’uscita analogica e la grandezza agentesul processo da controllare. In molte applicazioni pero il segnale numericodi uscita non deve essere convertito in segnale analogico (ad esempio in unsistema di comunicazione numerica). Anche in questi casi puo essere necessarioquantizzare l’uscita se la lunghezza di parola di fy(k) e maggiore di quella conla quale deve essere rappresentato il segnale numerico di uscita. In questi casie ovviamente necessario che max |fy(k)| possa essere rappresentato in virgolafissa con nu + 1 bit a meno di un eventuale fattore di scala.

Esempio 1. Si consideri l’esempio di fig. 4.2. Poiche risulta, per b = 1 −a, |y(k)| ≤ max |x(k)| = 1, nella realizzazione considerata non e necessarionormalizzare l’uscita.

Dall’analisi svolta nell’esempio del par. 4.1.3 risulta che, nell’ipotesi che

Capitolo 4. Valutazione degli errori di calcolo. 127

x(k) sia un rumore bianco a d.d.p. uniforme in [−1, +1), l’intervallo di vari-azione dell’uscita e circa ±0.4 per a = 0.9, e quindi puo risultare conve-niente non considerare il bit piu significativo (del modulo) dell’uscita. Inquesto caso, se l’uscita deve essere convertita in segnale analogico si puo porreV FSDA = V FSAD /2 oppure V FSDA = V FSAD, introducendo un amplifica-tore di guadagno 0.5.

Esempio 2. Si consideri la seguente f.d.t., corrispondente ad un filtro passa–basso ellittico del secondo ordine con fp/Fc = 0.05 e fs/Fc = 0.1:

H(z) = 0.1331 − 1.34z−1 + z−2

1 − 1.63z−1 + 0.732z−2

la cui risposta in frequenza e il cui diagramma zeri–poli sono riportati in fig.4.12.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−40

−35

−30

−25

−20

−15

−10

−5

0

|H| (

dB)

f/Fc −1 10

Figura 4.12 Per l’esempio 2.

La fig. 4.13 a) mostra la realizzazione della H(z) nella forma canonica dicontrollo (o ad uscite multiple dallo stato) nella quale il guadagno A = 0.133e stato conglobato nel numeratore.Una simulazione della realizzazione di fig. 4.13 a) con x(k) = δ(k) porge le

`2(f1) =√

k |f1(k)|2 ' 4.3;`1(f1) =

k |f1(k)| ' 15;

`2(g1) = `2(h) =√

k |h(k)|2 '√

2fp/Fc ' 0.35;

`1(g1) = `1(h) =∑

k |h(k)| ' 1.23.

(4.65)

Si osservi che risulta `1(f1) ' 4`2(f1), relazione in generale ben verificata intutti i filtri con risposta in frequenza del tipo ”costante a tratti”. La realiz-zazione normalizzata e riportata in fig. 4.13 b), dove b′i = bis1/s2.

128 4.1 Il caso della aritmetica a virgola fissa

Utilizzando i fattori di scala si = `1(fi), risulta s2 = 1.23. Tale fattore puoscriversi come 0.625 · 2 e il fattore 2 puo essere associato al convertitore D/A.In alternativa, dato che si e utilizzata la norma del ”caso peggiore” per de-terminare i fattori di scala e che s2 ' 1, si puo evitare la normalizzazioneassociata al nodo 2, saturando pero il risultato della somma corrispondente incaso di overflow (l’errore introdotto dalla saturazione e raro e ”istantaneo”,cioe non si propaga ai valori successivi).

-1

2 z

b’a

-1a

a 1

a

1 z

2-1z

-1z1

1 A 2

1Ab

A

x(k)

a)

y(k) 1 2 y(k)

b’2

b’0

e2

1/s

b)

e1

1x(k)

Figura 4.13 Per l’esempio 2.

In questa ipotesi, il guadagno di rumore risulta nel caso di arrotondamentodopo la somma:

Ga =∞∑

k=0

g′21 (k) = s21

∞∑

k=0

g21(k) ' 28.

Si ha 3σey ' 4.6qa e quindi gli errori di calcolo interessano i tre bit meno signi-ficativi del segnale di uscita. Affinche la potenza di rumore di calcolo Gaq

2a/12

non superi la potenza di rumore dovuta alla quantizzazione dell’ingresso,∑

k h2(k)q2i /12 ' 0.35q2

i /12, deve essere qa ≤ qi/10 e quindi na ≥ n1 + (3÷ 4).

La Fig. 4.14 a) riporta la realizzazione in forma canonica di osservazione(o a ingressi multipli nello stato), trasposta della realizzazione di Fig. 4.13 a).Si osserva che in C2 gli eventuali overflow nell’aggiornamento delle variabilidi stato non hanno effetto sulla variabile associata al nodo 1, cioe sull’uscita,se si garantisce |y1(k)| = |y(k)| ≤ 1. Pertanto e sufficiente considerare il solonodo 1.

Utilizzando ancora la norma `1, si ha s1 =∑

k |h(k)| ' 1.23, la realiz-zazione diviene come in Fig. 4.14 b) e la moltiplicazione per s1 puo essereeffettuata come 0.615 · 2, come fatto relativamente a Fig. 4.13 b). In questocaso, anche quantizzando dopo ogni operazione di somma, si hanno tre sor-genti di errore che vedono le f.d.t. z−i/(1 − a1z

−1 − a2z−2), i = 0, 1, 2, e il

guadagno di rumore risulta:

Ga = 3s21

∞∑

k=0

g21(k) + 1 · 4 ' 89,

Capitolo 4. Valutazione degli errori di calcolo. 129

valore maggiore (in questo esempio) di quello della realizzazione di Fig. 4.13b).

-1z

-1z a ab’

11 -1z

2a

Ab1

2a

1

-1z

x(k) y(k)1

3

2

x(k)

a)

y(k)1A

A

3

22b’

b’0

b)

1s

b’ =Ab / s1 1i

Figura 4.14 Per l’esempio 2.

Si verifica facilmente che il guadagno sarebbe maggiore anche se si rinun-ciasse al fattore di scala s1, introducendo una saturazione nel calcolo di y1(k).E importante osservare che, in questo caso, un errore dovuto alla saturazionenon rimarrebbe isolato come in Fig. 6.13b, ma si propagherebbe alle variabilidi stato e quindi ai valori successivi.

I valori di Ga calcolati in questo esempio sono molto maggiori dei valoriche si incontreranno negli esempi del par. 4.1.5, pur relativi a f.d.t. di ordinemaggiore. Il motivo risiede nella diversa legge di messa in scala delle variabiliadottata: qui si e usata la norma `1, mentre negli esempi del par. 4.1.5 siusera la norma `2. Se si tiene conto che, generalmente, per filtri con rispostain frequenza costante a tratti si ha `1(f) ' 4`2(f) e che nel caso della norma`2 e necessario condizionare l’ingresso in modo che sia σx ≤ 1/4, si ha cheun confronto fatto sulla base del rapporto segnale/errore di calcolo porta aconcludere che il valore di SNRu corrispondente a questo esempio risulta,come ci si aspetta, maggiore di quello corrispondente agli esempi di par. 4.1.5a parita di numero di bit assegnati alla aritmetica.

Esempio 3. Si considerino le realizzazioni dirette (a ”pre” e a ”postmoltipli-cazione”) di un filtro FIR di ordine N − 1 a fase lineare (Fig. 4.15). Per lanormalizzazione della realizzazione di Fig. 4.15 a) e necessario considerare ilnodo di uscita per cui si ha:

y(k) =N−1∑

i=0

h(i)x(k − i)

ed i nodi di somma dove vengono calcolate le: yi(k) = x(k−i)+x(k−N−1−i).Utilizzando la norma `1, si ha,

sy =N−1∑

k=0

|h(k)|, si = 2.

130 4.1 Il caso della aritmetica a virgola fissa

3

z

e

-1

1e2e

-1z

-1z-1z

-1z

2e 3e

-1z

z

1

x(k)

y(k)

h(o)h(1)h(2)-1z

-1

1e

h(o) h(1) h(2)

x(k)

y(k)

1

Figura 4.15 Realizzazione di un FIR: a) a postmoltiplicazione e b) a premoltipli-cazione.

In questo caso e conveniente ricorrere ad una normalizzazione concentrataall’ingresso, introducendo un moltiplicatore 1/s con s = maxsy, 2. Per filtriFIR con risposta in frequenza (quasi) costante a tratti (|H(ejθ)| ' 1 o ' 0)si ha generalmente: 1 < sy < 2, e quindi s = 2.

Per la realizzazione di Fig. 4.15 b) e sufficiente prevenire l’overflow nellasola somma finale associata a y(k), dato che gli altri nodi di somma rappre-sentano somme parziali, e quindi si ha s = sy. Arrotondando sy alla potenzadi due immediatamente superiore, si ha ancora, in genere, s = 2.

Nella ipotesi di riduzione della lunghezza di parola dopo ogni moltipli-cazione, per la struttura di Fig. 4.15 a) si ottiene:

mey = sN + 1

2me, σ2

ey = s2 N + 1

2σ2

e (4.66)

mentre per quella di Fig. 4.15 b) si ha:

mey = sN me, σ2ey = s2 N σ2

e (4.67)

Indipendentemente dalla f.d.t. realizzata, la struttura a ”premoltiplicazione”presenta una media e una varianza del rumore di calcolo di uscita circa doppiedi quella a ”postmoltiplicazione”. Di conseguenza, nel caso di arrotondamentoessa richiede ”1/2 bit” in piu per la lunghezza di parola dell’aritmetica, a parierrore di uscita. Si ripeta il confronto nel caso di troncamento.

Il confronto fra le due strutture diviene ancora piu svantaggioso per larealizzazione di Fig. 4.15 b), se si suppone di quantizzare dopo la sommadei risultati parziali, come avviene in tutti i DSP in commercio. In tal caso,nell’ipotesi di arrotondamento, si ha σ2

ey = s2σ2e per la realizzazione a post

moltiplicazione. Nella struttura di Fig. 4.15 b), invece, tale possibilita non e dinessuna utilita e quindi continua a valere la (4.67), a meno di non utilizzare perle variabili di stato un numero di bit pari a quello di uscita dal moltiplicatoreanziche a quello (inferiore) associato all’ingresso.

Capitolo 4. Valutazione degli errori di calcolo. 131

Esempio 4: FIR a media mobile. Sia data la risposta impulsiva FIR: h(k) =1/N , k = 0, ..N − 1, cui corrisponde la

y(k) =1

N

k∑

i=k−N+1

x(i).

La corrispondente f.d.t. risulta:

H(z) =1

N

N−1∑

k=0

z−k =1

N

1 − z−N

1 − z−1

e la forma razionale della H(z) suggerisce la realizzazione ricorsiva:

s(k) = s(k − 1) + 1N x(k)

y(k) = s(k) − s(k − N)(4.68)

che risulta piu vantaggiosa dal punto di vista del numero di operazioni diquella non ricorsiva.

In ambiente in virgola fissa si pone il problema della messa in scala dellevariabili e, se si applicasse ciecamente la procedura finora illustrata, si tro-verebbe che il calcolo della variabile s(k) (cioe la realizzazione della f.d.t.dell’accumulatore, 1/(1 − z−1)) richiederebbe un fattore di scala infinito. Sinota, pero, che l’uscita y(k) e una ”pura” somma dei valori (scalati) dell’ingressoe, quindi, si conclude che con aritmetica modulare e possibile trascurare glioverflow dell’accumulatore, se si garantisce che l’uscita non vada in overflow.Allo scopo e sufficiente inserire (come fatto) all’ingresso il fattore di scala1/s = 1/

k |h(k)| = 1/N , cioe il guadagno della f.d.t..

4.1.5 Realizzazioni cascata e parallelo

Realizzazioni cascata.

In Fig. 4.16 a) e riportata, per una f.d.t. del quarto ordine, la realizzazionein cascata: H(z) = A · H1(z) · H2(z) con:

Hi(z) =1 + b1iz

−1 + b2iz−2

1 − a1iz−1 − a2iz−2i = 1, 2 (4.69)

ed A = H(∞) guadagno. La realizzazione di ogni cella e del tipo ad uscitemultiple dallo stato. Per quanto riguarda il fattore A, esso puo essere applicatoall’uscita, all’ingresso, distribuito tra le celle del secondo ordine o associato allaparte non ricorsiva dell’ultima cella (come indicato in Fig. 4.16).

In generale e necessario procedere ad una normalizzazione delle variabiliyi(k) associate ai nodi sommatori 1, 2, 3 e 4, e dell’uscita y(k).

132 4.1 Il caso della aritmetica a virgola fissa

z

z zb21a21 -1 -1

-1a -111 z 11

21s’/s’

b

b’02 4s

1/s’1

11/s

b’11 z

2=3=

-1z-1z

-1z

21a 21b

b1111a

-1z

-1z

-1z

-1z

3F (z)

2F (z)

1F (z)

2H (z)H (z)

1

1 3 4

a

a b

b

12 12

22 22

x(k) 2 y(k)

1x(k) 4

12

22 22

y(k)

b

-111

21 21

12

b’

b’

b’

a

a

a

a

b’01

c)

s’202b

b)

1

a)

3 402

a

a b

b

12 12

22 22

x(k) 2 y(k)

4F (z)=H(z)

Figura 4.16 Realizzazione cascata: messa in scala delle variabili e calcolo delguadagno di rumore di calcolo.

Per la stima dei valori massimi delle variabili yi(k) e necessario considerarele funzioni di trasferimento Fi(z) tra l’ingresso e il nodo i–esimo ed applicarei fattori di scala corrispondenti secondo quanto illustrato nel par. 4.1.3. Inparticolare per i nodi 2 e 3 si osserva che e sufficiente normalizzare y3(k), datoche gli eventuali overflow di y2(k) non provocano errori nel risultato finaley3(k).

La struttura normalizzata e riportata in Fig. 4.16 b) dove:

b′1i = b1is1/s3, b′2i = b2is3/s4 i = 0, 1, 2 (4.70)

La struttura di Fig. 4.16 b) introduce un nuovo coefficiente moltiplicatoreb′0i per cella (ne vengono introdotti due se gli zeri sono sul cerchio di raggiounitario, e quindi se b0i = b2i = 1).

In alternativa si puo impiegare la struttura di Fig. 4.16 c), nella quale i

Capitolo 4. Valutazione degli errori di calcolo. 133

coefficienti delle singole celle rimangono invariati ed i fattori di scala s ′1 e s′2sono scelti sulla base di:

s′1 = max(s1, s2), s′2 = max(s3, s4) (4.71)

La struttura di Fig. 4.16 c) comporta l’introduzione di un coefficiente molti-plicatore: (s′1/s

′2) tra le celle, e impone l’assenza di overflow nel nodo 2, non

strettamente necessaria.Per quanto riguarda gli errori di calcolo, in Fig. 4.16 b) e c) sono indicate

le sorgenti di errore di calcolo, nella ipotesi di ridurre la lunghezza di paroladopo la operazione di accumulo dei prodotti.Per la valutazione dell’effetto degli errori di calcolo sull’uscita e necessario con-siderare le funzioni di trasferimento G′

i(z) tra i vari nodi di somma e l’uscita.La normalizzazione delle variabili comporta, come gia osservato, una modificadelle f.d.t.: ad esempio in Fig. 4.16 b) si ha G′

1(z) = s1G1(z). D’altra parte ifattori di scala dipendono sia dall’ordine delle celle sia da come sono stati ac-coppiati i due poli ed i due zeri di ogni cella. (Fanno eccezione le f.d.t. passat-utto nelle quali gli errori di calcolo dipendono unicamente dall’accoppiamentozeri-poli, se si normalizzano le variabili utilizzando una norma Lp).

In generale, quindi, data una H(z) da realizzare come cascata di f.d.t.del secondo ordine, si pone il problema di scegliere sia le coppie di poli ezeri di ogni cella che l’ordine delle celle, in modo da rendere minimo l’effettodegli errori di calcolo sull’uscita. L’accoppiamento e l’ordinamento miglioridipendono dal tipo di realizzazione scelta per le celle del secondo ordine, dallalegge di scalamento adottata e dalla misura scelta per il rumore di calcolo diuscita: potenza o massimo della densita spettrale [29]. Le ”regole” date nelseguito valgono per la minimizzazione della potenza di rumore relativamentealla realizzazione di Fig. 4.16 e per le leggi di scalamento (4.52) o (4.53).

Per quanto riguarda l’accoppiamento zeri-poli si trova che e convenientecostruire ogni cella del secondo ordine con poli e zeri tra loro vicini. Cio puoessere spiegato osservando che con tale scelta si tende a ridurre la ”ampli-ficazione” di ogni cella e a filtrare il rumore di calcolo generato nella partericorsiva.Per quanto riguarda l’ordine delle singole celle, in genere risulta convenienteporre all’inizio le celle con i poli piu prossimi al cerchio di raggio unitario,in modo da rendere massima la azione di filtraggio del rumore di calcolo inesse generato da parte delle celle seguenti. In ogni caso risulta che l’ordinedelle celle non e molto critico, nel senso che esistono molti piu ordinamentiche danno luogo ad una potenza di rumore di calcolo prossima al minimo, chenon al massimo [14].

Esempio 1. In Fig. 4.17 e riportata la risposta in frequenza ed il diagramma deipoli e degli zeri di un filtro ellittico passa banda di ordine 6, la cui realizzazione

134 4.1 Il caso della aritmetica a virgola fissa

zeri/poli 1a cella 2a cella 3a cella Ga

zi/pi 1/1 2/2 3/3 1.5 (5.5)

zi/pi 2/2 1/1 3/3 1.6 (5.5)

zi/pi 2/3 3/2 1/1 1.7 (5.9)

zi/pi 1/3 2/2 3/1 2.6 (6.3)

zi/pi 3/3 2/2 1/1 1.6 (6.4)

zi/pi 1/2 2/3 3/1 4.8 (21.)

zi/pi 2/1 3/3 1/2 5.5 (25.)

zi/pi 1/2 3/3 2/1 6.4 (28.)

Tabella 4.3 Per l’esempio 1: accoppiamenti zeri/poli, ordinamenti delle celle delsecondo ordine e guadagni di rumore di calcolo corrispondenti.

in cascata comprende tre celle del secondo ordine. Gli zeri e i poli associati aitre fattori del secondo ordine, il modulo dei poli (r) e il guadagno (A) hannoi valori:

i zeri poli r A1 (−0.039, ±0.999) (0.186, ±0.936) 0.9542 (0.619, ±0.786) (0.433, ±0.855) 0.958 0.01853 (±1., 0.) (0.297, ±0.847) 0.897

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−50

−45

−40

−35

−30

−25

−20

−15

−10

−5

0

|H| (

dB)

f/F_c −1 10

1

2

33

123

Figura 4.17 Per l’esempio 1.

La normalizzazione delle variabili fa riferimento alla struttura di Fig. 4.16b): i fattori di scala sono stati calcolati secondo la (4.52) e il guadagno A estato conglobato nella parte non ricorsiva dell’ultima cella. Per determinarel’accoppiamento zeri-poli di ogni cella e l’ordine delle celle che danno luogo alminimo guadagno di rumore di calcolo, si e utilizzata una versione corretta del

Capitolo 4. Valutazione degli errori di calcolo. 135

programma riportato in [52]. La Tab. 4.3 riporta il guadagno di rumore, Ga,per alcune combinazioni delle celle del secondo ordine che forniscono i valoriminori e maggiori del guadagno di rumore, nel caso di quantizzazione dopo lasomma e dopo ogni prodotto (valore tra parentesi).Dai risultati di Tab. 4.3 risulta che le migliori combinazioni di zeri e poli sonoquelle nelle quali vengono accoppiati i poli e gli zeri piu vicini tra loro, e gliordinamenti migliori quelli nei quali nelle prime celle vi sono i poli piu prossimial cerchio unitario.Si osservi che, in questo esempio, la differenza tra il caso peggiore ed il casomigliore non e trascurabile: infatti, a pari SNRu, la configurazione peggioredelle celle (Ga ' 6.4) richiede un bit in piu per l’aritmetica rispetto allaconfigurazione migliore (Ga ' 1.5).

Esempio 2. In Fig. 4.18 e riportata la risposta in frequenza e la posizione deipoli e degli zeri di un filtro ellittico passa basso di ordine 5, la cui realizzazionein cascata comprende 2 celle del secondo ordine ed una del primo ordine. Glizeri e i poli associati ai tre fattori del secondo e primo ordine, il modulo deipoli (r) e il guadagno (A) hanno i valori:

i zeri poli r A1 (0.843, ±0.538) (0.895, ±0.376) 0.9712 (0.685, ±0.728) (0.859, ±0.251) 0.895 0.0073 (−1., 0.) (0.840, 0.) 0.840

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−60

−50

−40

−30

−20

−10

0

|H|

(dB

)

f/F_c −1 10

1

2

3

1

2

3

Figura 4.18 Per l’esempio 2.

Operando come indicato per l’Esempio 1 si ottengono i risultati riportatiin Tab. 4.4. Dalla Tab. 4.4 risulta che la combinazione e l’ordine migliorisono in buon accordo con quanto illustrato precedentemente. Il rapportomax Ga/ min Ga vale circa 9.6 e corrisponde ad una differenza di circa “un

136 4.1 Il caso della aritmetica a virgola fissa

zeri/poli 1a cella 2a cella 3a cella Ga

zi/pi 1/2 2/1 3/3 8.3 (34.)

zi/pi 2/2 1/1 3/3 8.6 (36.)

zi/pi 2/2 3/3 1/1 2.5 (41.)

zi/pi 1/1 2/2 3/3 13.5 (53.)

zi/pi 1/3 2/2 3/1 15.9 (80.)

zi/pi 3/1 2/2 1/3 24.2 (108.)

Tabella 4.4 Per l’esempio 2: accoppiamento zeri/poli, ordinamento delle celle delsecondo ordine e guadagno di rumore di calcolo corrispondente.

bit e mezzo” tra le lunghezze di parola necessarie per ottenere lo stesso SNRu

nella peggiore e nella migliore configurazione.

Vale la pena di osservare che Ga assume valori che sono circa due, tre voltequelli trovati nell’esempio precedente, anche se l’ordine del filtro e circa lostesso, come pure la distanza dei poli dal cerchio di raggio unitario. Questofatto puo essere spiegato osservando che, in questo esempio, i poli sono inposizione piu vicina al punto z = 1, per cui tendono ad aumentare (vedi (4.27)e Tab. 4.2 del paragrafo 4.1.2) sia il rumore di calcolo generato nelle partiricorsive delle celle che i fattori di scala ad esse associati.

Realizzazioni parallelo.

In Fig. 4.20 a) e riportata la realizzazione in parallelo di una f.d.t. del quartoordine: H(z) = A′ + H1(z) + H2(z), in cui le due f.d.t.

Hi(z) =c0i + c1iz

−1

1 − a1iz−1 − a2iz−2(4.72)

sono realizzate in forma diretta ad uscite multiple dallo stato.E necessario procedere ad una normalizzazione delle variabili yi(k) associateai nodi 1 e 2 e all’uscita (nodo 5). La Fig. 4.20 b) riporta la corrispondentestruttura normalizzata.

Si osserva che il rumore di calcolo di uscita e la somma di quelli generatidalle singole celle che quindi, a differenza della realizzazione cascata, possonoessere trattate separatamente.Generalmente, come mostrato nell’ Esempio successivo, la realizzazione paral-lelo si comporta almeno come la migliore realizzazione in cascata dal punto divista del rumore di calcolo in uscita. Per la sensibilita alla quantizzazione deicoefficienti moltiplicatori nel caso gli zeri abbiano modulo unitario, valgono leconsiderazioni a suo tempo svolte.

Capitolo 4. Valutazione degli errori di calcolo. 137

(dB)

Ga

40

35

25

30

20

15

10

5

00 0.1 0.2 0.3 0.4 0.5

pf / Fc

Parallelo

Cascata

Figura 4.19 Guadagno di rumore di calcolo in funzione della banda passante perrealizzazioni cascata e parallelo con celle del secondo ordine ad uscite multiple dallostato.

Esempio. Si consideri la famiglia di filtri passabasso ellittici di ordine N = 6,ondulazione in banda passante: DBR = 0.2 dB e attenuazione: A = 46.3 dB,ottenuta variando la banda passante tra i valori fp/Fc = 10−2 e fp/Fc = 0.490.

La Fig. 4.19 riporta l’andamento di 10 log10 Ga in funzione della bandapassante per le realizzazioni cascata e parallelo di celle del secondo ordine aduscite multiple dallo stato con messa in scala delle variabili in norma L2.

Dalla figura risulta che la realizzazione parallelo ha valori del guadagnodi rumore di calcolo, Gap, che sono inferiori a quelli della cascata, Gac, e chela quantita 10 log10(Gac/Gap) cresce da circa 2 dB a circa 12 dB al cresceredi fp/Fc. Si osserva inoltre l’andamento a ′′U ′′ di Gap e Gac in funzionedella banda passante, con un minimo per fp/Fc ' 1/4 e valori crescenti perfp/Fc → 0 e fp/Fc → 0.5. Tale andamento e caratteristico delle realizzazioniin forma diretta utilizzate per le celle del secondo ordine.

138 4.1 Il caso della aritmetica a virgola fissa

c11

c01 3

a

z

y(k)

2

z -1

a

z

c

z -1

a)

z -1

a11

a22

a21

12c

21a

22a

11

4

1/s

1/s

e1

e2

-1

1

z

12

-1

A’

z

02

5

-1

-1

x(k)

z

-1

2 4

1 01 3

a12

x(k)

02

5

b)

c’

11

12

c’

c’

c’

1

2

A’/s 5

e5

y(k)5s

Figura 4.20 Realizzazione parallelo: messa in scala delle variabili e calcolo delguadagno di rumore di calcolo.

Capitolo 4. Valutazione degli errori di calcolo. 139

4.1.6 Realizzazioni a traliccio.

La realizzazione a traliccio [20, 21] di una generica f.d.t. stabile

H(z) =

M∑

i=0

biz−i

N∑

i=0

aiz−i

=B(z)

A(z)

con A(z) e B(z) primi, a0 = 1 e M ≤ N , prende le mosse dalla realizzazionedella f.d.t. passatutto costruita con i poli di H(z):

HN (z) =AN (z)

AN (z)(4.73)

dove AN (z) = A(z) e AN (z) = z−NAN (1/z) e il polinomio ”reciprocato” diAN (z).La realizzazione di H(z) e costruita, come illustrato nel seguito, come com-binazione lineare di M + 1 variabili linearmente indipendenti estratte dallarealizzazione di HN (z) (ad esempio, le variabili di stato “future”: ingressidegli elementi di ritardo, o le variabili di stato: uscite dagli elementi di ri-tardo).Nel caso particolare in cui H(z) sia rappresentabile come somma o differenzadi due f.d.t. passatutto: H(z) = [H1(z) + H2(z)]/2 (vedi par. 2.7.2), quantodetto per HN (z) puo essere applicato sia a H1(z) che a H2(z).

Il caso delle f.d.t. passatutto

La realizzazione a traliccio di HN (z) si basa sulla decomposizione gia vista aproposito dei filtri FIR (Appendice C) e data dalle:

An(z) = An−1(z) + knz−1An−1(z)

An(z) = knAn−1(z) + z−1An−1(z)(4.74)

che per n = N,N − 1, · · · , 1 genera, a partire da AN (z) = A(z), le famiglie dipolinomi An(z) =

∑ni=0 an,iz

−i e An−1(z) (con an,0 = 1 e A0(z) = A0(z) = 1se aN,0 = 1), e la successione di coefficienti kn, detti coefficienti di riflessione.Risolvendo le (4.74) si ottiene:

kn =an,nan,0

n = N,N − 1, · · · , 1

An−1(z) =1

1 − k2n

(

An(z) − knAn(z))

z−1An−1(z) =1

1 − k2n

(

−knAn(z) + An(z))

(4.75)

140 4.1 Il caso della aritmetica a virgola fissa

k

~Y

-

n-1

n

Y Yn-1 n-1Y’

n-1

n

n-1Y’

-1

n-1

n~

z

H (z)

- kn

Yn

nk

~

-1

Y’

Y’

z

H (z)n-1

n

2n

~Y’n

2~n

nk

nk

-1z

n-1H (z)

Y’

-1z

H (z)n-1

n-1~Y’n-1

~

c) d)

1-k

1-k

n-1~

b)

Y’

1-

kn

a)

Y’

-1nY’

n

n

Y’

Y’

Figura 4.21 Realizzazioni a traliccio: tipi di cella.

con |kn| < 1 e An(z) polinomi a fase minima ∀n, nell’ipotesi AN (z) abbia tuttigli zeri interni al cerchio di raggio unitario (Appendice C).

In base alla (4.73), alla decomposizione (4.74) rimane associata la relazionetra le f.d.t. passatutto Hn(z) = An(z)/An(z)

Hn =An

An=

knAn−1 + z−1An−1

An−1 + knz−1An−1

=kn + z−1Hn−1

1 + knz−1Hn−1(4.76)

con n = N,N − 1, · · · , 1 e H0 = 1. Nella (4.76), per semplicita, non si eindicata esplicitamente la dipendenza di Hn , An e An dalla variabile z.Si osservi che dalla (4.76) risulta

kn = Hn(∞) = H−1n (0). (4.77)

Cella a due moltiplicatori

In base alla (4.76), la f.d.t. passatutto Hn(z) = Yn(z)/Yn(z) di ordine n puoessere realizzata come illustrato in Fig. 4.21 a) 4 , cioe come una cella a

4Si realizzi la f.d.t. corrispondente al solo denominatore, 1/(1 + knz−1Hn−1(z)), e sicostruisca il numeratore come kn/(1 + knz−1Hn−1(z)) + z−1Hn−1(z)/(1 + knz−1Hn−1(z)).

Capitolo 4. Valutazione degli errori di calcolo. 141

due moltiplicatori la quale ha due ingressi, Yn(z) e z−1Yn−1(z), e due uscite,Yn−1(z) e Yn(z), e vede come ”carico” la f.d.t. passa-tutto di ordine n − 1

z−1Hn−1(z) =z−1Yn−1(z)

Yn−1(z).

Quindi HN (z) puo essere realizzata come la cascata di N celle, come illustratoin Fig. 4.22.

E utile osservare che gli elementi di ritardo, z−1, possono seguire le trasferenzeHn−1(z) (come in Fig. 4.21 a) e in Fig. 4.22) e quindi comparire nella lineadi ”ritorno” che collega le varie celle, ma nulla cambierebbe se li si facesseprecedere le Hn−1(z) e, quindi, se fossero introdotti nella linea di ”andata”che collega le celle di Fig. 4.22. Questa osservazione e utile per collegare leproprieta della realizzazione a quelle della realizzazione trasposta.

z-1z-1

AN

AN

^

X

z-1

AN

k1

X

kN-1

kN

X

Figura 4.22 Realizzazione a traliccio.

Le equazioni associate alla cella di Fig. 4.21 a) sono:

Yn−1 = Yn − knz−1Yn−1

Yn = knYn−1 + z−1Yn−1

Yn−1 = Hn−1Yn−1

(4.78)

Si verifica facilmente che

Yn−1(z) =Yn(z)

1 + knz−1Hn−1(z)=

An−1(z)

An(z)Yn(z),

da cui, tenendo conto che l’ingresso X(z) di Fig. 4.22 soddisfa la X(z) =YN (z), risulta:

Yn(z)

X(z)= Fn(z) =

An(z)

AN (z),

Yn(z)

X(z)= Fn(z) =

An(z)

AN (z)(4.79)

con Fn(z) f.d.t. a fase minima e Fn(z) f.d.t. a fase massima corrispondente,quindi |Fn(ejθ)| = |Fn(ejθ)|. In particolare si ha:

FN (z) = 1, FN (z) = HN (z), F0(z) = F0(z) =1

AN (z)(4.80)

142 4.1 Il caso della aritmetica a virgola fissa

e, quindi, accanto all’uscita passatutto, HN (z)X(z), esiste l’uscita X(z)/AN (z)corrispondente alla f.d.t a ”soli poli” 1/AN (z).

Le risposte impulsive fn(k) godono della notevole proprieta di essere or-togonali (Appendice C):

∞∑

k=0

fm(k)fn(k) = 0 0 ≤ m 6= n ≤ N (4.81)

e le risposte impulsive fn(k) soddisfano la

∞∑

k=0

fm(k)fn(k) =∞∑

k=0

fn(k)f0(k) 0 ≤ m ≤ n ≤ N, (4.82)

mentre vale ovviamente la relazione

∞∑

k=0

f2m(k) =

∞∑

k=0

f2m(k) (4.83)

Poiche |Fn(z)| = |Fn(z)| per |z| = 1, le norme Lp, p = 1, 2, · · · ,∞, dellerisposte impulsive associate a Yn, Yn e z−1Yn sono uguali.

In particolare per p = 2 le norme corrispondenti possono essere calcolate informa chiusa. Allo scopo basta ricordare ( Appendice C) che i quadrati dellenorme `2 = L2 delle risposte impulsive f2

n(k) possono essere calcolati con la:

α2n = L2

2(Fn) = L22(z−1Fn) = L2

2(Fn) =N∏

i=n+1

(1 − k2i )−1 =

α2n+1

1 − k2n+1

(4.84)

partendo da α2N = L2

2(FN ) = 1 e facendo correre l’indice n da N − 1 a 0. Siha

L2(FN ) = 1, L2(FN−1) = (1−k2N )−1/2, · · · , L2(F0) =

N∏

i=1

(1−k2i )−1/2 (4.85)

e si puo concludere che, essendo |ki| < 1, la dinamica delle variabili dellarealizzazione di Fig. 4.22 va crescendo in modo monotono con n che va dan = N a n = 0, cioe man mano che ci si allontana dalla cella N cui e applicatol’ingresso X e ci si avvicina all’uscita della f.d.t a soli poli, Y0 = Y0 = F0X.Non e difficile inoltre verificare che il rapporto max / min di tali norme, cioeL2(F0)/L2(FN ), aumenta quanto piu i poli di H(z) si avvicinano al cerchio diraggio unitario (basta ricordare la |kN | =

∏Ni=1 |pN,i| con pN,i poli di HN(z)).

La messa in scala delle variabili puo essere effettuata in modo ”distribuito”,inserendo una coppia di moltiplicatori, cn e 1/cn, sulle linee della porta di

Capitolo 4. Valutazione degli errori di calcolo. 143

ingresso della cella n-esima (come in Fig. 2.21 b) o in modo ”concentrato”introducendo un fattore di scala all’ingresso della realizzazione. Generalmentesi preferisce la seconda modalita, mentre la prima viene utilizzata, come fattonel seguito, solo per ricavare realizzazioni equivalenti della cella.

Per il calcolo del guadagno di rumore di calcolo associato alla realiz-zazione di HN(z) e quindi all’uscita YN (z), conviene riferirsi alla realizzazionetrasposta. Con questo procedimento non e difficile dimostrare che i guadagnidi rumore associati ai due moltiplicatori +kn e −kn della celle ennesima diFig. 4.21 a) risultano:

Ga(+kn) = Ga(−kn) =N∏

i=n+1

(1 − k2i ) (4.86)

con n = 1, 2, ..N − 1 e Ga(±kN ) = 1.

Celle ad un moltiplicatore

Riprendiamo le relazioni ingresso-uscita (4.78). Sostituendo Yn−1 nella sec-onda equazione, otteniamo:

Yn−1 = Yn − knz−1Yn−1

Yn = knYn + (1 − k2n)z−1Yn−1

(4.87)

Le equazioni (4.87) portano ad una realizzazione della cella a tre moltiplicatori(detta di Kelly-Lochbaum) e sono il punto di partenza per derivare la cella adun moltiplicatore e quella normalizzata o a quattro moltiplicatori.

Allo scopo, ricordiamo le: Yn = (An/AN )X e Yn = (An/AN )X e alteriamoi polinomi monici An(z) moltiplicandoli per i coefficienti cn (per il momentoarbitrari) ad eccezione di AN (z), cioe consideriamo i polinomi A′

n = cnAn eA′

n = cnAn (A′N = cNAN con cN = 1). Corrispondentemente la (4.76) diventa

H ′n(z) =

knA′n−1(z) + z−1A′

n−1(z)

A′n−1(z) + knz−1A′

n−1(z)= Hn(z) (4.88)

e quindi la operazione fatta non altera le f.d.t. passa–tutto Hn(z) ne la f.d.t.HN (z).5

Posto Y ′n = cnYn e Y ′

n = cnYn, le equazioni della generica cella divengono:

Y ′n−1 =

cn−1

cnY ′

n − knz−1Y ′n−1

Y ′n = knY ′

n + (1 − k2n) cn

cn−1z−1Y ′

n−1

(4.89)

5Si osserva che l’operazione fatta sui polinomi An corrisponde ad inserire la coppia dimoltiplicatori cn , 1/cn sulle linee della porta di ingresso della cella n-esima, e le manipo-lazioni successive che portano alle (4.89) corrispondono a conglobare detti moltiplicatorinella cella stessa.

144 4.1 Il caso della aritmetica a virgola fissa

Se poniamocn−1

cn= 1 + kn (cN = 1), (4.90)

il moltiplicatore di z−1Y ′n−1 nella seconda delle (4.89) diviene 1 − kn e una

semplice manipolazione delle (4.89) porta alla cella ad un moltiplicatore (e 3somme) di Fig. 4.21 b).Analogamente, se poniamo

cn−1

cn= 1 − kn (cN = 1), (4.91)

otteniamo la cella ad un moltiplicatore (e 3 somme) di Fig. 4.21 c).

Si osserva che, a seconda del segno di kn, le scelte (4.90) e (4.91) alterano ladinamica di Y ′

n in modo diverso: si ha infatti Y ′n/X = A′

n/AN = cnAn/AN . Einoltre sempre possibile costruire una realizzazione in cui compaiano sia celledel tipo di Fig. 4.21 b) che celle del tipo di Fig. 4.21 c). Questa possibilitapuo essere utilmente sfruttata per la messa in scala delle variabili.

Allo scopo indichiamo, per semplicita di notazione, con 1 e 2 le “porte”di ingresso e di uscita, con a1 e a2, rispettivamente, i segnali entranti in ungenerico istante dalla porta di ingresso e uscita della cella di Fig. 4.21 b) econ b1 e b2 i corrispondenti segnali uscenti. Si ha

b1 = a2 + kn(a1 − a2)b2 = a1 + kn(a1 − a2).

(4.92)

In regime sinusoidale la natura passa–tutto di Hn(z) e Hn−1(z) implica: |a1(k)| =|A1exp(jθk)| = |b1(k)| e |a2(k)| = |b2(k)|. Applicando la disuguaglianza tri-angolare: |a ± b| ≥ |a| − |b| alla prima delle (4.92), si ottiene se kn ≤ 0:

|a1| = |b1| = |a2(1 + |kn|) − a1|kn|| ≥ |a2|(1 + |kn|) − |a1||kn| (4.93)

da cui risulta |a2| ≤ |a1|. Se ne deduce che in regime sinusoidale, se kn ≤ 0, lacella di Fig. 4.21 b) non “amplifica”.Dato che b1 e b2 sono calcolati secondo le (4.92), per calcolare correttamente ilprodotto kn(a1−a2) e pero necessario disporre del valore corretto di a1−a2, chesoddisfa la |a1 − a2| ≤ 2|a1|, e quindi e necessario aggiungere un bit ”in testa”alla rappresentazione di a1 e a2 durante la somma e la moltiplicazione. Talebit puo essere ignorato dopo la moltiplicazione dato che si sa che il risultatodelle somme ai + kn(a1 − a2) sta nella rappresentazione.Se kn > 0, si arriva alle medesime conclusioni riferendosi alla cella di Fig. 4.21c)6.

6Ringrazio Paola Donati, Massimo Pegorer e Debora Pelillo, A.A. 1997/98, per aversegnalato un errore in una precedente dimostrazione.

Capitolo 4. Valutazione degli errori di calcolo. 145

In definitiva, realizzando la cella n-esima come in Fig. 4.21 b), se kn < 0,e come in Fig. 4.21 c), se kn > 0, si ottiene una realizzazione a traliccio concelle ad un moltiplicatore che in regime sinusoidale non amplifica e quindi e gia”scalata”, cioe e normalizzata relativamente alla norma L∞, che e la norma piurestrittiva dopo la norma `1. Per assicurare un corretto funzionamento anchein transitorio e, in generale, in qualsiasi condizione e sufficiente aggiungerealla rappresentazione dell’ingresso un ulteriore bit di guardia per l’overflowe/o utilizzare aritmetica a saturazione.E interessante osservare che nel caso N = 1 e N = 2 le realizzazioni ottenutecoincidono con i filtri numerici d’onda (di “tipo 1”) presentati in [18].

Cella a quattro moltiplicatori

Esiste un’altra utile scelta dei moltiplicatori cn. Precisamente, possiamoscegliere i coefficienti cn in modo da rendere unitarie le energie delle risposteimpulsive associate a F ′

n = A′n/AN e F ′

n = A′n/AN . 7 Allo scopo deve essere:

L2(A′

n

AN) = L2(

A′n

AN) = cnL2(

An

AN) = cnL2(

An

AN) = cn

α2n = 1 (4.94)

con α2n dato dalla (4.84). In conclusione, si trova che deve essere:

cn−1

cn=√

1 − k2n (cN = 1) (4.95)

e corrispondentemente le (4.89) divengono:

Y ′n−1 =

1 − k2nY ′

n − knz−1Y ′n−1

Y ′n = knY ′

n +√

1 − k2nz−1Y ′

n−1

(4.96)

Alle (4.96) corrisponde la cella di Fig. 4.21 d), in cui compaiono quattro molti-plicazioni e due somme. La realizzazione corrispondente viene detta normaliz-zata (o di Gray-Markel [21]) dato che in essa tutte le variabili sono normalizzatein norma L2.

Si osserva che la matrice associata a (4.96) e una matrice ortonormale equindi corrisponde ad una rotazione (sin φn = kn, cos φn = (1 − k2

n)1/2): inogni istante i vettori costruiti con i segnali di uscita e di ingresso hanno lastessa lunghezza:

y′2n−1(k) + y′2n (k) = y′2n (k) + y′2n−1(k − 1) (4.97)

proprieta che talora viene espressa dicendo che la cella normalizzata e ”nondissipativa”.

7Tale scelta corrisponde a rendere i polinomi A′

n(z), n = 1, 2, ..., N − 1, ortonormali sulcerchio di raggio unitario rispetto alla funzione peso 1/|AN (ejθ)|2. Si veda la Appendice C

146 4.1 Il caso della aritmetica a virgola fissa

Una conseguenza notevole di questo fatto la si ha nella corrispondentedescrizione a variabili di stato. Infatti, posto y(k) = y ′

N (k) e scelte comevariabili di stato sn(k) le uscite dagli elementi di ritardo (sn(k) = y′n−1(k − 1)e s(k) = [s1(k), · · · , sN (k)]), si ha

[

s(k + 1)y(k)

]

= R

[

s(k)x(k)

]

R =

[

A b

c d

]

(4.98)

con A,b, c matrici N × N , N × 1, 1 × N , rispettivamente, e d scalare.In forza delle (4.96) la matrice R di aggiornamento dello stato e dell’uscita

risulta ortonormale:RRt = RtR = I, (4.99)

proprieta alla quale, come noto dall’Analisi Numerica [10], [63], restano asso-ciate ottime caratteristiche di robustezza numerica, cioe di non amplificazionedegli errori di calcolo. In effetti, nel par. 4.1.7 vedremo che la realizzazione atraliccio a quattro moltiplicatori e ”quasi” a minimo rumore di calcolo.

La (4.99) implica le:

AAt + bbt = I AtA + ctc = I

cct + d2 = 1 bbt + d2 = 1

Act + db = 0 Atb + dct = 0 (4.100)

da cui risulta che la matrice I−AAt e definita positiva (proprieta da cui none difficile dedurre che la corrispondente realizzazione e priva di cicli limite au-tonomi da overflow e da granularita della caratteristica di quantizzazione, se siquantizza dopo la somma e si usa un quantizzatore a troncamento simmetrico;si veda il par. 4.1.8).

Per quanto riguarda la propagazione degli errori di calcolo nella realiz-zazione a traliccio con cella a quattro moltiplicatori, e necessario calcolare lef.d.t. dai nodi di somma interni alle celle di Fig. 4.22 all’uscita y(k) = yN (k).Allo scopo e conveniente riferirsi alla realizzazione trasposta, che risulta co-incidere con la realizzazione originale, a parte lo spostamento inessenziale deiritardi dalla linea di ”ritorno” a quella di ”andata”. Ne viene che anch’essa enormalizzata in norma L2 e si ha il notevole risultato che tutte le sorgenti dierrore danno lo stesso contributo al guadagno di rumore totale, che risulta:

Ga = 2N (4.101)

nel caso di arrotondamento dopo la somma. Quindi il guadagno di rumore dicalcolo dipende solo dall’ordine N della f.d.t. passatutto, e non dalla partico-lare f.d.t. realizzata, proprieta che accomuna la realizzazione a traliccio concelle normalizzate di una f.d.t. passatutto alle realizzazioni a variabili di statoa minimo rumore di calcolo (par. 4.1.7).

Capitolo 4. Valutazione degli errori di calcolo. 147

Il caso generale

La realizzazione di una generica f.d.t. H(z) puo essere ottenuta come combi-nazione lineare delle variabili Yn(z) o Y ′

n(z) (variabili di stato ”future”), cioecome

H(z) =B(z)

A(z)=

M∑

n=0

dnAn(z)

AN (z)=

M∑

n=0

d′nA′

n(z)

AN (z)(4.102)

con M ≤ N grado di B(z) e con d′n = dn/cn, e quindi il numeratore risultaespresso come combinazione lineare dei polinomi An(z) o A′

n(z). Sono possibilivarianti, ad esempio, l’uso di Yn(z) anziche Yn(z), che non mutano pero leproprieta della realizzazione risultante.

Per il calcolo dei coefficienti dn , si ha che deve essere:

B(z) =M∑

n=0

dnAn(z).

Eguagliando i coefficienti di z−n , n = 0, 1, ..,M , ad ambo i membri dell’equazione,si ottiene un sistema lineare di M + 1 equazioni nelle M + 1 incognite dn. Lastruttura triangolare del sistema rende semplice la sua soluzione, che (ricor-dando la an,n = 1) puo essere espressa tramite la

BM = dM AM + BM−1 → dM = bM,M

BM−1 = BM − dM AM = dM−1AM−1 + BM−2 → dM−1 = bM−1,M−1...

B0 = B1 − d1A1 = d0A0 → d0 = b0,0

(4.103)dove BM (z) = B(z) e Bn(z) =

∑ni=0 bn,iz

−i.Anche nel caso generale si trova che le realizzazioni a traliccio con cella a

quattro moltiplicatori hanno ottime prestazioni per quanto riguarda il guadagnodi rumore di calcolo [57], [41].

Esempio. Si calcolano le prestazioni in termini di guadagno di rumore dicalcolo delle realizzazioni della famiglia di f.d.t. di tipo ellittico di ordineN = 5, utilizzate nell’esempio del par. 2.7.5. Le realizzazioni consideratefanno riferimento al parallelo di due f.d.t. passatutto (R1,R2 e R3), allacascata di f.d.t. del primo e secondo ordine ad uscite multiple dallo stato (R4)e ad una realizzazione “ad onda” (R5).

Per le f.d.t. passatutto il fattore 1/2 e stato associato al calcolo dell’uscitae si sono utilizzate:a) la realizzazione a traliccio a quattro moltiplicatori (R2);b) la realizzazione cascata di f.d.t. (passatutto) del primo e secondo ordine(R1 e R3). In R3 le f.d.t. passatutto sono state realizzate in forma diretta

148 4.1 Il caso della aritmetica a virgola fissa

c

0.150.05 0.25 0.35 0.45

5

10

15

20

G

f

a

p

25

*

*

**

*

R1

R2

R3

R4

R5* *

/F

Figura 4.23 Per l’esempio: guadagno di rumore di calcolo in funzione della bandapassante.

ad uscite multiple dallo stato, mentre in R1 si e utilizzata la realizzazione atraliccio ad un moltiplicatore normalizzata in norma L∞ (ogni f.d.t. e stata,quindi, realizzata tramite una o due celle, ciascuna del tipo di Fig. 4.21 b) oc) a seconda del segno di kn).

Le realizzazioni R2, R3 e R4 sono state normalizzate adottando la normaL2, mentre per le realizzazioni R1 e R5 si e adottata la norma L∞. Nel calcolodel guadagno di rumore non si e tenuto conto del contributo associato al nododi uscita (peraltro di valore unitario in tutte le realizzazioni). I risultati sonoriportati in Fig. 4.23 in funzione della banda passante fp/Fc.

Nel caso di R3 e R4 si osserva la caratteristica forma a ”U” della dipen-denza di Ga dalla banda passante, gia vista in Fig. 4.19 e dovuta alla realiz-zazione in forma diretta delle celle del secondo ordine. Tuttavia, lo stesso tipodi dipendenza vale anche per la realizzazione R1 che per piccoli e grandi valoridi fp/Fc presenta valori molto grandi del guadagno di rumore (Ga = 449 e 66per fp/Fc = 0.05 e 0.1, rispettivamente, e Ga = 65 e 447 per fp/Fc = 0.4 e0.45, rispettivamente). Si osserva, inoltre, la costanza di Ga = (2N)/4 = 2.5per la realizzazione a traliccio a quattro moltiplicatori R2 (si veda la (4.101)).

Va ricordato che un confronto corretto della robustezza numerica dellerealizzazioni considerate richiede che si adotti la stessa legge di messa in scala

Capitolo 4. Valutazione degli errori di calcolo. 149

delle variabili interne. In caso contrario, come e nell’esempio considerato, enecessario riferirsi al medesimo segnale di ingresso (o alla medesima classe disegnali di ingresso) e assicurare il medesimo utilizzo della dinamica disponibile(quindi la stessa probabilita di overflow) nelle realizzazioni messe a confronto.

Nel caso attuale si puo applicare un ingresso sinusoidale con ampiezza parial fondo scala (trascurando il transitorio) nel caso di R1 e R5, mentre, inbase alla (4.49), lo stesso ingresso va attenuato di un fattore pari a circa 2 nelcaso di R2, R3 e R4. Se si tiene in conto questo fatto, i valori del guadagnodi rumore di R2, R3 e R4 riportati in figura vanno moltiplicati per almeno4. Anche con questa correzione la realizzazione R2 risulta la realizzazione aminimo guadagno di rumore, seguita dalla R5 la quale, a confronto, perdecirca 1/2 bit (Ga(R5) ≤ 2Ga(R2)) per valori di fp/Fc ≤ 0.3 e circa 1 bit pervalori di fp/Fc prossimi a 0.5.Se mettiamo in conto, pero, anche la sensibilita parametrica e ricordiamo (par.2.7.5) che le prestazioni ottenibili da R5 con coefficienti quantizzati a 4 bit sonoottenibili da R2 con coefficienti quantizzati su 10÷16 bit, possiamo concludereche la realizzazione “ad onda” R5 risulta complessivamente la migliore, almenoin un ambiente in cui il progettista possa dimensionare sia la lunghezza diparola dei coefficienti che quella delle variabili di stato.

4.1.7 Realizzazioni a variabili di stato a minimo rumore di calcolo

E noto da Teoria dei Sistemi che ad una f.d.t. H(z) razionale e possibile asso-ciare una descrizione a variabili di stato, nella quale la f.d.t. e realizzata comeun sistema con un ingresso, una uscita ed un insieme di variabili interne, dettevariabili di stato, che riassumono tutto il passato del sistema. Le equazioniche governano il sistema sono:

s(k + 1) = As(k) + bx(k)y(k) = cs(k) + dx(k).

(4.104)

Lo stato e il vettore s(k) = [s1(k), · · · , sN (k)]t e ha dimensione N , l’ingressoe x(k) e l’uscita e y(k). La matrice A di dimensioni N × N rappresenta illegame tra lo stato al tempo k + 1 (“stato futuro”) e lo stato al tempo k. Ivettori colonna e riga b e c di dimensione N rappresentano rispettivamenteil legame fra lo stato al tempo k + 1 e l’ingresso al tempo k e fra l’uscita altempo k e lo stato al tempo k. Lo scalare d rappresenta il legame diretto fraingresso e uscita. Nel seguito supporremo che la f.d.t. (stabile) H(z) sia unrapporto di polinomi primi tra loro e che la descrizione di stato corrispondentesia minima, quindi controllabile ed osservabile [17].La Fig. 4.24 rappresenta graficamente le relazioni (4.104). Si osserva che larealizzazione ha una lunghezza del cammino critico piccola e quindi un elevatogrado di parallelismo.

150 4.1 Il caso della aritmetica a virgola fissa

(k)2

e(k)1

e

b c

d

(k+1) (k)

A

s sx(k) y(k)

Figura 4.24 Realizzazione a variabili di stato.

Indicati con fi(k) la risposta impulsiva tra l’ingresso e la variabile di statosi(k) e con f(k) = [f1(k), · · · , fN (k)]t il corrispondente vettore delle risposteimpulsive, dalla (4.104) si ricava facilmente

f(k) =

Ak−1b k > 00 k ≤ 0.

(4.105)

Indicati con gi(k) la risposta impulsiva tra variabile di stato “futura” si(k +1)e l’uscita e con g(k) = [g1(k), · · · , gN (k)] il corrispondente vettore (riga) dellerisposte impulsive, dalla (4.104) (o dal sistema duale) si trova:

g(k) =

cAk−1 k > 00 k ≤ 0.

(4.106)

Infine per la risposta impulsiva del sistema si ha:

h(k) =

cAk−1b k > 0d k = 00 k < 0

(4.107)

cui corrisponde la f.d.t.

H(z) = c(zI −A)−1b + d. (4.108)

per |z| > |max(λi)| con λi, i = 1, · · · , N , autovalori di A (poli di H(z).

Una importante proprieta del modello a variabili di stato e data dalla possi-bilita di modificare la descrizione associata alle matrici A, b e c semplicementecambiando la base dello spazio di stato. Detta T una matrice di dimensioniN × N non singolare, con la posizione

q(k) = T−1s(k) (4.109)

Capitolo 4. Valutazione degli errori di calcolo. 151

le equazioni di stato diventano

q(k + 1) = T−1ATq(k) + T−1bx(k)y(k) = cTq(k) + dx(k)

Si verifica facilmente che le f.d.t. H(z) dei due sistemi coincidono e che quindila trasformazione porta ad un sistema simile, cui rimane associata una diversadescrizione:

(A,b, c, d) ⇐⇒ (T−1AT,T−1b, cT, d). (4.110)

Il fatto che, senza alterare la f.d.t. ingresso–uscita H(z), sia possibile modifi-care sia le relazioni che intercorrono tra l’ingresso e le variabili di stato (cioe laf.d.t. F(z), trasformata di f(k)) che le relazioni tra il vettore di stato e l’uscita(cioe la f.d.t. G(z), trasformata di g(k)), e fondamentale per la costruzione direalizzazioni nelle quali e minimizzata la propagazione degli errori di calcolo.Allo scopo osserviamo che nel caso attuale gli errori di calcolo (schematizzatiin Fig. 4.24 come sorgenti additive) sono associati al calcolo di s(k + 1), la cuiequazione diviene

s(k + 1) = Q(As(k) + bx(k)) = As(k) + bx(k) + e1(k)

dove Q(·) indica la operazione di quantizzazione (componente per componente)e si suppone di quantizzare dopo la somma, ed al calcolo della uscita, la cuiequazione diviene

y(k) = Q(cs(k) + dx(k)) = cs(k) + dx(k) + e2(k).

Prima di procedere al calcolo della varianza dell’errore di calcolo di uscita,e necessario mettere in scala le variabili associate ai nodi di somma, che nelcaso in esame sono le variabili di stato si(k + 1) (o equivalentemente le si(k))e l’uscita. Dato che utilizzeremo la norma `2 e ci riferiremo a risposte infrequenza che soddisfano la |H(ejθ)| ≤ 1, la condizione `2(h) < 1 risultagarantita. Rimane quindi da condizionare solo le variabili di stato. Messe inscala le si(k) in modo che sia garantita la condizione:

`22(f ′

i) =∞∑

k=0

f ′2i (k) = 1,

la varianza del rumore di calcolo all’uscita assume la espressione (4.59) quiriprodotta per comodita:

σ2ey = σ2

e (N∑

i=1

`22(g′i) + 1) = σ2

e (N∑

i=1

`22(fi)`

22(gi) + 1) (4.111)

152 4.1 Il caso della aritmetica a virgola fissa

in cui il primo contributo e associato alle variabili di stato e dipende dalladescrizione (A, b, c), mentre il secondo e associato all’uscita ed e indipendentedalla descrizione. Quando applichiamo una trasformazione T, cambiano siale fi(k) che le gi(k) e, quindi, sia la dinamica delle variabili di stato che lavarianza del rumore di calcolo ad esse associato. Uno strumento efficiente pertener traccia di questi cambiamenti e dato dalle cosiddette matrici K e W

[46, 57].

Le matrici K e W

Poiche fi(k) e la i–esima componente del vettore f(k), gli elementi della di-agonale principale della matrice f(k)f t(k) sono proprio le quantita f 2

i (k). Sedefiniamo la matrice N × N

K =∞∑

k=0

f(k)f t(k) =∞∑

k=0

Akb(Akb)t, (4.112)

otteniamo che gli elementi Kii di K sono proprio le norme `2 al quadrato dellef.d.t. dall’ingresso ai nodi associati alle variabili di stato:

Kii =∞∑

i=0

f2i (k) = `2

2(fi). (4.113)

La matrice (simmetrica) K e la matrice di Gram associata agli N vettori[fi(0), fi(1), fi(2) · · ·]t, i = 1, · · · , N , che nella ipotesi di sistema controllabilerisulta definita positiva. E interessante osservare che la matrice K puo inter-pretarsi come la matrice covarianza degli stati E[s(k)s(k)t ] corrispondente adun ingresso bianco di varianza unitaria. Con questa interpretazione e agevoleverificare che essa soddisfa la equazione:

K = AKAt + bbt (4.114)

la quale, a partire da A e b, consente di calcolare gli elementi di K risolvendoun sistema lineare in N(N + 1)/2 incognite, anziche ricorrere ad una simu-lazione e sommare un numero sufficientemente grande di prodotti fm(k)fn(k).

In modo analogo, si definisce la matrice

W =∞∑

k=0

gt(k)g(k) =∞∑

k=0

(cAk)tcAk, (4.115)

i cui elementi diagonali sono:

Wii =∞∑

k=0

g2i (k) = `2

2(gi). (4.116)

Capitolo 4. Valutazione degli errori di calcolo. 153

e rendono conto della propagazione del rumore di calcolo. La matrice (sim-metrica) W e una matrice di Gram, che risulta definita positiva nel caso disistema osservabile. Essa soddisfa la equazione:

W = AtWA + ctc, (4.117)

che, come la (4.114), porge uno strumento per calcolare gli elementi di W

risolvendo un sistema lineare di N(N + 1)/2 equazioni.Non e difficile verificare attraverso le (4.114) e (4.117) che K e W, a seguito

della trasformazione (4.109), divengono

(K,W) =⇒ (T−1KT−t, TtWT) (4.118)

e quindiKW =⇒ T−1(KW)T. (4.119)

Ne viene che gli autovalori di KW risultano invarianti rispetto ad ogni trasfor-mazione lineare e risultano quindi dipendere solo dalla f.d.t. realizzata. Essidetermineranno il minimo errore di calcolo ottenibile.

La messa in scala

Per mettere in scala le variabili di stato associate ad una realizzazione de-scritta da (A,B, c,K,W) possiamo ricorrere ad una trasformazione diagonale,T = diag(t1, · · · , tN ). Una tale trasformazione modifica le matrici K e W nelseguente modo:

K = [Kmn] =⇒ K′ = [Kmn/(tm tn)]W = [Wmn] =⇒ W′ = [Wmntm tn)].

Se quindi si poneT = diag[

K11, · · · ,√

KNN ], (4.120)

si arriva ad una realizzazione con elementi unitari sulla diagonale principaledella matrice K′ e con elementi KiiWii su quella di W′. E facile verificare chel’effetto della trasformazione T e esattamente lo stesso che si sarebbe ottenutoapplicando alle variabili del grafo di Fig. 4.24 il procedimento di Fig. 4.7, cioeuna normalizzazione distribuita con fattori di scala pari a ti.

In definitiva, il guadagno di rumore di calcolo associato all’aggiornamentodelle variabili di stato, si lascia scrivere come:

Gas =N∑

i=1

KiiWii (4.121)

che esprime il guadagno di rumore della realizzazione “scalata” in termini deglielementi diagonali delle matrici K e W associate alla realizzazione originale.E banale verificare, ma importante ricordare che il guadagno fornito dalla(4.121) e invariante per ogni trasformazione diagonale.

154 4.1 Il caso della aritmetica a virgola fissa

Realizzazioni a minimo rumore

Il problema della minimizzazione del guadagno di rumore puo essere formulatonei seguenti termini: data una realizzazione iniziale (A,b, c, d), trovare unadescrizione equivalente che minimizzi

∑Ni=1 KiiWii.

Mullis e Roberts [46] hanno dimostrato che vale la sequente disuguaglianza:

1

N

N∑

i=1

KiiWii ≥ ρ2 (4.122)

dove

ρ =1

N

N∑

i=1

µi (4.123)

e i µ2i sono gli autovalori di KW, che prendono il nome di modi del secondo

ordine della f.d.t. Quindi il minimo guadagno di rumore e il quadrato dellamedia aritmetica dei µi, cioe delle radici quadrate dei modi del secondo ordine.

Si dimostra inoltre che la (4.122) vale col segno di uguaglianza, quindi larealizzazione corrispondente e una realizzazione a minimo rumore, se e solose le matrici K e W soddisfano le condizioni:

1. K = DWD per qualche matrice diagonale D definita positiva;

2. KiiWii = KjjWjj ∀i 6= j.

Si osserva che le condizioni precedenti non sono alterate da una trasfor-mazione diagonale e quindi e possibile prima cercare una realizzazione che lesoddisfi e poi “scalarla”. Mullis e Roberts hanno anche presentato un procedi-mento che, a partire da una descrizione arbitraria, costruisce una realizzazioneche soddisfa tali condizioni, dimostrando quindi la esistenza di una soluzionea minimo rumore.

Per una realizzazione “scalata” le condizioni 1) e 2) implicano che il rumoredi calcolo sia minimo se e solo se

W′ = ρ2K′, K ′ii = 1, i = 1, · · · , N. (4.124)

In conclusione per una tale realizzazione si ha W ′ii = ρ2 e tutte le sorgenti di

errore danno lo stesso contributo alla varianza del rumore di uscita. Talora,ad una tale realizzazione si da il nome di ”bilanciata”, dato che essa soddisfale condizioni K ′

ii = cost e W ′ii = cost.

Merita osservare che, in generale, la realizzazione a minimo rumore none unica (si escludono casi banali, ad esempio, b → −b e c → −c o la real-izzazione ottenuta per trasposizione), anzi esiste una famiglia di tali realiz-zazioni, possibilita studiata in [4].

Capitolo 4. Valutazione degli errori di calcolo. 155

Un esempio interessante di questo fatto e dato dalla realizzazione di una f.d.t.passatutto. Nel precedente paragrafo abbiamo dedotto dalla realizzazione atraliccio con celle a quattro moltiplicatori che, per una tale f.d.t., esiste larealizzazione a variabili di stato (4.98) con matrice R ortonormale (non e dif-ficile dimostrare che vale anche il viceversa, cioe che ad ogni realizzazione avariabili di stato con matrice R ortonormale corrisponde una f.d.t. passat-utto). Dalle prime due delle condizioni (4.100), che esprimono le condizionidi ortonormalita di R, si deduce immediatamente che le corrispondenti ma-trici K e W soddisfano la condizione K = W = I, quindi la realizzazione avariabili di stato con matrice R ortonormale e “scalata” e soddisfa la (4.124)con ρ2 = 1: essa e quindi a minimo rumore di calcolo e Gas = N con Nordine della f.d.t. passatutto (si ricordi che per la realizzazione a traliccio siha G = 2N). Se a tale realizzazione si applica una qualsiasi trasformazione T

ortonormale e si ricorda la (4.118), si trova che anche la nuova realizzazionesoddisfa la K = W = I. Essa e’ ancora a minimo rumore e in definitivaabbiamo verificato che, in questo caso, esiste una famiglia di realizzazioni aminimo rumore di calcolo.

Se la costruzione di una realizzazione a minimo rumore viene applicata aduna f.d.t. di ordine N , si arriva ad una realizzazione ottima dal punto di vistadella robustezza numerica, ma caratterizzata da matrici A,b, c “piene”. Lacomplessita di calcolo associata (pari a N 2 + 1 moltiplicazioni e N 2 somme)risulta piu elevata di quella di una realizzazione convenzionale. Ne viene cheoccorre valutare, caso per caso, se l’aumento di complessita sia giustificatodalla riduzione del rumore di calcolo.Un modo per ridurre il numero di operazioni consiste nell’applicare la pro-cedura di minimizzazione ad una realizzazione del tipo “a decimazione dellostato”, nella quale il vettore di stato viene aggiornato ogni L > 1 passi: perL '

√2N la complessita di calcolo e minima e pari a circa 3.4N operazioni di

somma e moltiplicazione per campione di uscita (il guadagno medio di rumoresi riduce di 1/L [57, 39]).Un’altra soluzione fa ricorso ad una realizzazione di tipo parallelo o cascata dicelle del secondo ordine (eventualmente, ancora “a decimazione dello stato”[39]). In questo caso, il numero di moltiplicazioni scende da N 2 + 1 a 4N (a2N + 2

√N se si ricorre alla “decimazione dello stato” e L ' 2

√N) e fortu-

natamente, in pratica, non si incorre in perdite significative di prestazioni.

Nel caso parallelo quanto detto continua a valere per ogni singola cellasenza modifiche: il guadagno di rumore totale risulta la somma dei guadagnidi rumore associati alle singole f.d.t. del secondo ordine. Nel caso della cas-cata, invece, nasce qualche complicazione. Infatti, l’ingresso di una cella chenon sia la prima, non e piu l’ingresso x(k) dell’intero sistema, ma l’uscita dallacella precedente e, inoltre, il rumore generato da una cella viene filtrato dalle

156 4.1 Il caso della aritmetica a virgola fissa

celle a valle ed esistono, inoltre, variabili “non di stato” (le uscite dalle celle)che devono essere messe in scala e sorgenti di rumore non associate a vari-abili di stato che e necessario mettere in conto. In [44, 57] e presentato unprocedimento efficiente per la soluzione del problema. Vedremo, comunque,su un esempio che il rumore generato in una realizzazione cascata non e maiinferiore a quello generato in una realizzazione parallelo ed e quindi utile parti-colarizzare il metodo generale al caso delle f.d.t. del secondo ordine “isolate”,riferendosi implicitamente al caso parallelo.

Effetto delle trasformazioni di frequenza

Una proprieta fondamentale delle realizzazioni a minimo rumore di calcolo el’invarianza dei modi del secondo ordine rispetto alle trasformazioni di fre-quenza.

Se applichiamo alla f.d.t. H(z) la trasformazione:

z −→ F (z) = ±M∏

i=1

z − a∗i1 − aiz

con |ai| < 1, otteniamo la f.d.t. H ′(z) = H(F (z)). Si dimostra [47] cheogni modo del secondo ordine µ2

i di H(z) diviene un modo del secondo ordineµ′2

i = µ2i di molteplicita M di H ′(z).

In particolare, se applichiamo la trasformazione F (z) = (z − a)/(1 − az),il minimo guadagno di rumore associato a H(z) risulta lo stesso di quello diH ′(z). Questo fatto vale indipendentemente dal valore della banda passantee costituisce un comportamento significativamente differente da quello che siriscontra nelle realizzazioni in forma diretta nelle quali, invece, il guadagnodi rumore tende a divergere per valori della banda passante prossimi a zeroe a meta della frequenza di campionamento (si veda la Fig. 4.19). Questaproprieta rende le realizzazioni a minimo rumore indispensabili nel caso difiltri a banda stretta.

Relazione tra sensibilita parametrica e guadagno di rumore

Ricordiamo che le sensibilita alle variazioni dei coefficienti moltiplicatori inuna realizzazione a variabili di stato sono date dalle (2.14) e (2.15):

Saij (z) =∂H

∂aij= Gi(z)Fj(z)

Sbi(z) =

∂H

∂bi= Gi(z)

Sci(z) =∂H

∂ci= Fi(z). (4.125)

Capitolo 4. Valutazione degli errori di calcolo. 157

Definite le quantita (z = ejθ):

Nb(z) = (∑

i

|Sbi(z)|2)1/2

Nc(z) = (∑

i

|Sci(z)|2)1/2

NA(z) = (∑

i

j

|Saij (z)|2)1/2 = Nb(z)Nc(z) (4.126)

assumiamo come indici di sensibilita le quantita:

MA = L22[Nb] L2

2[Nc] = tr(K)tr(W)

Mb = L22[Nb] = tr(W)

Mc = L22[Nc] = tr(K), (4.127)

dove tr(·) indica la traccia della matrice in argomento ed il secondo segno diuguaglianza discende dal teorema di Parseval tramite le (4.125) e la definizionedelle matrici K e W.Osserviamo che in base alla disuguaglianza di Schwartz:

L1[NbNc] ≤ L2[Nb] L2[Nc] = M1//2A

e quindi la quantita MA porge il massimo di L21[NA]. A questo punto possiamo

definire l’indice di sensibilita “globale”

M = MA + Mb + Mc = tr(K)tr(W) + tr(K) + tr(W). (4.128)

Se applichiamo la (4.128) ad una realizzazione nella quale le variabili distato siano state normalizzate in modo che `2(fi) =

√Kii = 1, troviamo

M = (N + 1) tr(W) + N (4.129)

e la minimizzazione di M si riduce alla minimizzazione di tr(W), quindi delguadagno di rumore di calcolo [64].

In conclusione, le realizzazioni a variabili di stato a minimo rumore dicalcolo sono anche a minima sensibilita, dove “minima sensibilita” va intesonel senso che minimizzano l’indice di sensibilita dato dalla (4.128). A questoproposito merita anche osservare che risulta L2

1(Saij ) ≤ Wii e quindi in talirealizzazioni, essendo Wii = cost, le norme L1 delle sensibilita alle variazionidegli elementi aij sono equilimitate superiormente.

Conseguenza importante del legame tra sensibilita e guadagno di rumore eche, nel caso di filtri selettivi, la sensibilita e, al pari del guadagno di rumore,indipendente dalla banda del filtro.

158 4.1 Il caso della aritmetica a virgola fissa

Il caso delle f.d.t. del secondo ordine

Particolarizziamo la (4.124) al caso di una f.d.t. del secondo ordine. Posto

M =

[

0 11 0

]

,

la (4.124) si puo scrivere [28] come

W′ = ρ2MK′M (4.130)

poiche W′ e K′ sono simmetriche e hanno uguali gli elementi sulla diagonaleprincipale. Tramite la (4.117), la (4.130) diviene

ρ2MK′M = ρ2AtMK′MA + ctc (4.131)

da cui, tramite la (4.114), si ottiene la equazione:

(MAtM)K′(MAM) +1

ρ2MctcM = AK′At + bbt. (4.132)

Una condizione sufficiente affinche sia soddisfatta la (4.132) e quindi la (4.130)e che sia:

MAtM = A −→ a11 = a22 (4.133)

Mct = ρb −→ b1c1 = b2c2 (4.134)

Nel caso di una coppia poli complessi coniugati

p1,2 = r e±jθ0 = r cos θ0 ± r sin θ0 = α ± jβ

a partire da tali condizioni e possibile costruire la realizzazione a minimo ru-more. Allo scopo si puo partire dalla osservazione (gia fatta piu volte) chele condizioni di minimo rumore non sono inflenzate da una trasformazionediagonale (quindi da un cambio di scala). Si puo quindi costruire una realiz-zazione che soddisfi le (4.133) e (4.134) e, successivamente, mettere in scalale variabili di stato. La (4.133) implica a11 = a22 = α (a11 + a22 = p1 + p2),ed e soddisfatta da una realizzazione in “forma accoppiata” con A data dalla(2.39) (A = r R con R matrice che rappresenta una rotazione pari a θ0).La (4.134) implica arctan(b2/b1) = 1/ arctan(c2/c1) e puo essere soddisfattatrasformando la descrizione di stato con una matrice T di rotazione, che nelcaso attuale, N = 2, lascia inalterata la matrice A. A questo punto si cal-colano K11 e K22 e si mettono in scala le variabili di stato.

Capitolo 4. Valutazione degli errori di calcolo. 159

Nel seguito riportiamo la soluzione in forma chiusa proposta da Barnes [3].Sia

H(z) =q0 + q1z

−1 + q−22

1 − a1z−1 − a2z

−2 = q0 +q′1z

−1 + q′2z−2

1 − a1z−1 − a2z

−2 . (4.135)

Quindi d = q0 ed e sufficiente costruire la realizzazione a minimo rumore diG(z) = H(z) − q0 che sviluppiamo in frazioni parziali:

G(z) =q′1z

−1 + q′2z−2

1 − a1z−1 − a2z

−2 =s

z − p1+

s∗

z − p∗1(4.136)

dove p1 = α + jβ con β > 0 ed il residuo s

s = sr + jsi. (4.137)

Definiamo i tre parametri reali P, Q, R

P =|s|

1 − r2 R + jQ =s

1 − p21

. (4.138)

dove r = |p1|. La realizzazione di G(z) scalata e a minimo rumore risulta:

A =

[

α kβ−β/k α

]

b =

[

b1

b2

]

ct =

[

c1

c2

]

(4.139)

dove

k =

P + Q

P − Q(4.140)

b1 =

|s| − si

P − Qb2 = −

|s| + si

P + Qsign(sr) (4.141)

c1 =sr

b1c2 =

sr

b2(4.142)

dove, nel caso sr = 0, le espressioni per c1 e c2 vanno intese come limite persr → 0.La realizzazione soddisfa le condizioni K ′

11 = K ′22 = 1, W ′

11 = W ′22 = P 2 −Q2

ed il guadagno di rumore associato all’aggiornamento dello stato, risulta:

Gas = 2 [P 2 − Q2]. (4.143)

Per avere il guadagno totale, Ga, ad esso va aggiunto il contributo unitarioassociato al calcolo dell’uscita.

In precedenza, si e accennato al fatto che, in generale, la realizzazione aminimo rumore non e unica. Nel caso N = 2 le cose stanno in questi termini8:

8La dimostrazione e dovuta a Renzo Grancara, A.A. 1991/92.

160 4.1 Il caso della aritmetica a virgola fissa

a) esistono infinite soluzioni se e solo se nella (4.124) K′ = I; in tal caso lematrici K′ = I e W′ = ρ2I risultano invarianti rispetto ad ogni trasformazioneortonormale (T−1 = T t) ed e ancora a minimo rumore ogni realizzazioneottenuta da una realizzazione a minimo rumore tramite una trasformazioneortogonale. La condizione e soddisfatta se e solo se lo zero di G(z) soddisfala z1 = (1 + p1p2)/(p1 + p2) con p1 e p2 poli della f.d.t. (in particolare, lacondizione e soddisfatta dalla H(z) = q(1−z−2)/(1−a1z

−1−a2z−2) e da una

H(z) passa–tutto);b) per ogni altra f.d.t. la soluzione e unica, e la matrice A della realizzazionea minimo rumore ricade in uno due casi: a11 = a22 (e il caso considerato inprecedenza) oppure a12 = a21.

Esempio 1. Consideriamo un filtro ellittico del secondo ordine con bandapassante fp/Fc = 1/100, ondulazione in banda DBR = 0.2 dB e attenuazioneA = 30 dB.La corrispondente f.d.t. e data dalla

H(z) = 0.031935 1 − 1.72999z−1 + z−2

1 − 1.87901z−1 + 0.887834z−2

= 0.031935 + 10−2 0.47589z−1 + 0.35818z−2

1 − 1.87901z−1 + 0.887834z−2

e possiede una coppia di modulo 0.942 e anomalia prossima a zero.La realizzazione a minimo rumore di calcolo ha la realizzazione d = b0:

A =

[

0.939505 0.108948−0.047398 0.939505

]

b =

[

−0.012906−0.401113

]

ct =

[

−0.184362−0.005932

]

(4.144)ed ha un guadagno di rumore associato all’aggiornamento dello stato, Gas, paria 0.42 (la varianza corrispondente e inferiore a σ2

e !) e guadagno totale, Ga,pari a 1.42, invariante rispetto ad una trasformazione di frequenza. Per contro,il guadagno di rumore della realizzazione ad uscite multiple dallo stato e paria 12.5 con una perdita di circa 1.5 bit. Se si quantizzano i coefficienti delledue realizzazioni, si trova che per avere variazioni trascurabili della rispostain frequenza sono sufficienti 12 bit per la realizzazione a minimo rumore e 16bit per quella ad uscite multiple dallo stato.

Esempio 2. Riprendiamo la famiglia di filtri ellittici del sesto ordine introdottanell’esempio del paragrafo 4.1.5.

In una realizzazione parallelo a minimo rumore, il guadagno di rumore Gas

associato all’aggiornamento dello stato delle tre celle del secondo ordine vale1.77 e quello totale, Ga, vale 2.77, indipendentemente dalla banda passante.

In una realizzazione cascata a minimo rumore, il guadagno di rumore as-sociato alle variabili di stato delle tre celle risulta 1.97, indipendentemente

Capitolo 4. Valutazione degli errori di calcolo. 161

dalla banda passante, mentre quello totale cresce (poco) con la banda pas-sante e varia da 3 per fp/Fc = 10−2 a 4.7 per fp/Fc = 0.49, risultando sempremaggiore di quello del parallelo (la perdita massima e inferiore a 1/2 bit).

(dB)

R

40

35

25

30

20

15

10

5

00 0.1 0.2 0.3 0.4 0.5

pf / Fc

Parallelo

Cascata

Figura 4.25 Per l’esempio: rapporto R tra i guadagni di rumore di realizzazioniparallelo e cascata ad uscite multiple dallo stato ed a minimo rumore.

La Fig. 4.25 riporta il rapporto (in dB) tra i guadagni di rumore dellerealizzazioni parallelo ad uscite multiple dallo stato (si veda la Fig. 4.19) eda minimo rumore, e l’analogo rapporto per la cascata. Dalla figura e appar-ente il guadagno associato alle realizzazioni a minimo rumore, guadagno cheraggiunge circa 4 ÷ 5 bit per valori molto piccoli e molto grandi di fp/Fc.

Anche le aspettative sulla sensibilita parametrica sono ben soddisfatte: peravere variazioni trascurabili nella risposta in frequenza sono sufficienti 12 bitper i coefficienti delle realizzazioni a minimo rumore, indipendentemente dallabanda passante, mentre per le realizzazioni ad uscite multiple sono sufficienti12 bit per fp/Fc ' 1/4 e almeno 16 bit per valori molto piccoli e molto grandidi fp/Fc.

Se si confrontano le prestazioni delle realizzazioni a minimo rumore conquelle delle realizzazioni “ad onda” (si veda l’esempio relativo a Fig. 4.23 cor-rispondente a specifiche confrontabili con quelle dell’esempio attuale), si trovache quest’ultime sono superiori se si considera sia la sensibilita parametrica cheil guadagno di rumore (ma non il grado di parallelismo). A questo propositova, pero, osservato che, mentre le realizzazioni “ad onda” sono adatte a sinte-tizzare solo f.d.t. cui corrisponde una risposta in frequenza di tipo selettivo,

162 4.1 Il caso della aritmetica a virgola fissa

le realizzazioni a minimo rumore di calcolo sono realizzazioni di tipo generale,quindi adatte a qualsiasi f.d.t.

4.1.8 Cicli limite

La analisi della propagazione degli errori di calcolo finora effettuata, si basa sulmodello statistico assunto per gli errori di calcolo, in particolare sulla ipotesiche gli errori siano incorrelati. Tale ipotesi, valida per una larga classe disegnali, puo cadere in difetto per segnali di ingresso di ampiezza molto piccolarispetto al fondo scala o per segnali periodici, per i quali, a regime, gli erroridi calcolo risultano correlati.

Un caso estremo e quello di ingresso nullo (o costante) e stato diverso dazero. In questo caso, mentre nel prototipo lineare (stabile) l’uscita tende azero (o ad un valore costante), nella realizzazione in ambiente a virgola fissa lanonlinearita associata alla operazione di quantizzazione, puo portare, in real-izzazioni ricorsive, ad un comportamento oscillatorio che interessa i bit menosignificativi della rappresentazione (cicli limite di piccola ampiezza). Tale com-portamento oscillatorio, in assenza di ingresso, e indesiderabile in tutte le ap-plicazioni, ed i metodi per evitarlo consistono nell’impiegare abbastanza bitper la aritmetica in modo che tali cicli non interessino il convertitore D/A (ela soluzione piu costosa) o nel sommare al segnale proveniente dal convertitoreA/D un rumore bianco di piccola ampiezza (“dither noise”) o nell’utilizzarerealizzazioni e leggi di quantizzazione che garantiscano la assenza del fenomeno(e la soluzione piu intelligente). A questo proposito, ci si puo aspettare che,se il prototipo lineare e stabile, la introduzione nei rami di reazione di non-linearita che “non amplifichino”, come la quantizzazione a troncamento sim-metrico, preservi la stabilita. Vedremo che questa aspettativa e, in molti casi,ben posta. Accanto a questo tipo di oscillazioni autonome, ne esiste un al-tro tipo, molto piu pericoloso, associato alla nonlinearita dell’overflow. Leoscillazioni corrispondenti sono dette oscillazioni da overflow o cicli limite digrande ampiezza. La loro possibilita e ancora legata alla realizzazione ed allacaratteristica del sommatore (complemento a due o saturazione).

Un semplice esempio di possibilita/impossibilita di cicli limite (di piccolaampiezza) e offerto dalla equazione

y(k) = Q[ay(k − 1) + x(k)] (4.145)

dove Q[·] denota la operazione di quantizzazione e |a| < 1.Se assumiamo per x e y la convenzione dei numeri interi (cioe un quantoqa unitario), per x(k) = 0 per k ≥ 0, a = 0.9 e y(−1) = 10, nel caso diarrotondamento si ha: y(k) = 10, 9, 8, 7, 6, 5, 5, · · · per k ≥ −1 e quindi l’uscitanon tende a zero ma si assesta su un valore pari a 5 quanti, che interessa i

Capitolo 4. Valutazione degli errori di calcolo. 163

tre bit meno significativi. Si verifica, inoltre, che per ogni valore di y(−1)compreso tra −5 e 5 si ha y(k) = y(−1) per k ≥ 0 e che ogni tale valoreK (ad esempio, y(k) = 4) e ottenibile solo a partire da y(−1) = K. I ciclicorrispondenti vengono detti non raggiungibili ed i cicli 5, 5, · · · e −5,−5, · · ·raggiungibili. (Si estenda il risultato al caso x(k) = cost, k ≥ 0.)Se a = −0.9, y(k) cambia segno ad ogni k e si ottengono cicli K,−K con−5 ≥ K ≤ 5.

L’esistenza di cicli limite e legata alla esistenza di soluzioni non nulle dellaequazione:

|y| = QR[|ay|] |a| < 1 (4.146)

dove QR[·] indica la quantizzazione per arrotondamento. Dalla equazioneequivalente

|y| − 1

2≤ |ay| < |y| +

1

2(4.147)

si trova che, per |a| ≥ 0.5, i cicli possibili appartengono all’intervallo [−M,M ]con

M = int

[

1

2(1 − |a|)

]

(4.148)

dove int[·] denota la parte intera dell’argomento, e quindi la loro ampiezzamassima cresce per |a| → 1. Se |a| < 0.5, non si hanno mai cicli limite (y(k)va a zero a partire da qualsiasi condizione iniziale).

Procedendo allo stesso modo, si verifica facilmente che se si usa tronca-mento simmetrico (caratterizzato dalla |QTs(x)| ≤ |x|), non si hanno mai ciclilimite, mentre se si usa troncamento in complemento a due, si hanno semprecicli per a > 0 e non si hanno mai cicli per a < 0.

Il caso di una realizzazione in forma diretta di una f.d.t. del secondo ordinee piu complicato. Per x(k) = 0 si hanno due casi:

y(k) = Q[a1y(k − 1)] + Q[a2y(k − 2)] (4.149)

y(k) = Q[a1y(k − 1) + a2y(k − 2)] (4.150)

legati alla quantizzazione prima o dopo dell’operazione di somma, e tre casilegati al tipo di quantizzazione, per un totale di sei casi diversi [6, 35].Per le (4.150) non e difficile trovare una condizione necessaria per la raggiun-gibilita dello stato zero e, quindi, una condizione sufficiente per l’esistenza dicicli limite. Infatti, se vogliamo che y(k) sia nulla da un certo istante in poi,ad esempio, per k ≥ −1, la equazione y(−1) = 0 ammette sempre soluzioninon nulle: y(−2) e y(−3), qualsiasi siano a1 e a2. Ci si riduce quindi, perentrambe le (4.150) alla equazione:

0 = y(0) = Q[a2y(−2)]) (4.151)

164 4.1 Il caso della aritmetica a virgola fissa

Nel caso di arrotondamento, la (4.151) ha soluzione y(−2) non nulla se |a2| <0.5, che diviene condizione necessaria per la raggiungibilita dello stato zero.Ne viene che, se |a2| ≥ 0.5, si va sempre in ciclo limite. Nel caso di tronca-mento simmetrico la (4.151) ha soluzione y(−2) non nulla se |a2| < 1 e quindiesistono condizioni iniziali (non nulle) che portano allo stato zero qualsiasi siala f.d.t. (stabile) del prototipo lineare (ovviamente questo non garantisce chesi converga allo stato zero a partire da qualsiasi coppia di condizioni iniziali,ma fa solo “ben sperare”).

In [35] sono riportate, per le (4.150) e per le tre leggi di quantizzazione, leregioni del triangolo di stabilita nel piano (a1, a2) nelle quali non sono possibilicicli limite, quelle in cui si hanno sempre cicli limite e quelle in cui il fatto chesi vada o meno in ciclo limite dipende dalle condizioni iniziali.

Nel caso i cicli limite siano possibili, ha interesse determinarne l’ampiezzamassima ed eventualmente il periodo. Con l’eccezione dei cicli costanti K, K,K, · · · o del tipo K,−K,K,−K, · · ·, l’unico strumento sicuro e dato da unasimulazione. Allo scopo si puo procedere nel seguente modo: si determinatramite la (4.8) il valore massimo My che |y(k)| puo assumere per effetto deglierrori di quantizzazione, si effettua una simulazione partendo da ogni coppiadi interi (y(−1), y(−2)) con |y(−1)|, |y(−2)| ≤ My (per leggi di quantizzazionesimmetriche e possibile ridurre ad un quarto il numero di condizioni iniziali daconsiderare [35]) e si tiene traccia del ciclo di ampiezza massima. Ad esempio,alla equazione

y(k) = QR[0.7716y(k − 1)] − QR[0.83y(k − 2)]

corrispondono i due cicli di valor massimo 2 e periodo 6 raggiungibili “dall’esterno”:2, 2, 0,−2,−2, 0 e 1, 2, 1,−1,−2,−1, e il ciclo non raggiungibile di valormassimo 1 e periodo 6: 1, 1, 0,−1,−1, 0.

La determinazione dei cicli costanti o di segno alterno e, invece, una sem-plice estensione del metodo utilizzato per l’equazione del primo ordine. Cer-chiamo, ad esempio, dove e possibile avere un ciclo costante di ampiezza Knell’ipotesi di quantizzazione dopo la somma:

K = Q[a1K + a2K]. (4.152)

Tale equazione e soddisfatta dove:

K − 1

2≤ (a1 + a2)K < K +

1

2arrotondamento (4.153)

K ≤ (a1 + a2)K < K + 1 (K > 0)tronc. simmetrico, (4.154)

e, ponendo K = ±1,±2, · · ·, si trova la regione del piano (a1, a2) in cui sonopossibili cicli costanti di ampiezza 1 quanto, 2 quanti,· · · Nel caso di arroton-damento, la regione corrispondente e una striscia di larghezza 1/|K| centrata

Capitolo 4. Valutazione degli errori di calcolo. 165

sulla retta a1 + a2 = 1, che delimita il triangolo di stabilita. Nel caso di tron-camento simmetrico, tale striscia e esterna al triangolo di stabilita e quindinon sono possibili cicli limite costanti. Allo stesso modo si verifica che nonsono possibili neanche cicli K,−K, · · ·.

Consideriamo, ora la possibilita che si verifichino cicli (autonomi) da over-flow e, per semplificare la analisi, trascuriamo la quantizzazione e assumiamounitario il fondo scala.La controparte della (4.150) diventa:

y(k) = S[a1y(k − 1) + a2y(k − 2)] (4.155)

dove S[x] rappresenta la caratteristica ingresso–uscita del sommatore. Sup-poniamo di usare il sommatore proprio della aritmetica complemento a due (siveda la Appenndice A). Non si hanno problemi se |a1y(k−1)+a2y(k−2)| < 1per ogni |y(k − 1)|, |y(k − 2)| < 1, condizione soddisfatta se |a1| + |a2| < 1,quindi solo in una piccola porzione del triangolo di stabilita. In caso contrario,verifichiamo la possibilita di un ciclo limite di tipo costante:

U = S[a1U + a2U ]. (4.156)

Dato che per 1 < x < 3 si ha S[x] = x−2 e per −3 < x < −1 si ha S[x] = x+2,troviamo che la (4.156) e soddisfatta per

U =±2

1 − (a1 + a2). (4.157)

Ad esempio, per a1 = −1 e a2 = −0.75 si ottiene U = ±8/11, quindi un ciclolimite costante di valore pari a 8/11 del fondo scala, che si merita il nome diciclo limite di grande ampiezza!Se si introduce una saturazione (S[x] = 1 per x ≥ 1 e S[x] = −1 per x ≤ −1),si puo verificare che un tale comportamento non e piu possibile.

Vediamo ora una realizzazione di f.d.t. del secondo ordine che puo essereresa priva di cicli di piccola e grande ampiezza. Riconsideriamo la realizzazionea variabili di stato “in forma accoppiata” (2.39). Se si tiene conto della pos-sibilita di overflow, l’equazione di evoluzione libera dello stato diviene:

s(k + 1) = S[As(k)]. (4.158)

Se consideriamo la lunghezza (al quadrato) del vettore di stato: sts = s21 + s2

2,la proprieta di “non amplificazione“ di S[x]: |S[ai1s1 +ai2s2]| ≤ |ai1s1 +ai2s2|e la struttura della matrice A (AtA = r2I), consentono di ricavare la:

st(k + 1)s(k + 1) ≤ st(k)AtAs(k) = r2st(k)s(k) < st(k)s(k) (4.159)

166 4.2 Il caso della aritmetica a virgola mobile.

essendo r < 1. Quindi, qualsiasi sia la caratteristica del sommatore, lo statodel sistema si porta al valore (0, 0), indipendentemente dal fatto che ci sianooverflow. Si puo, inoltre, dimostrare che, se si usa un sommatore a saturazione,risulta stabile anche la risposta forzata [61]. Si osserva che la (4.159) si applicaanche al caso della quantizzazione, se si sostituisce S[·] con la caratteristicadi quantizzazione a troncamento simmetrico, QTs[·], e si quantizza dopo lasomma.

Concludiamo il paragrafo con una condizione sufficiente per la assenza dicicli limite da overflow [57, 70], che generalizza la (4.159). Analogamente aquanto appena trovato per la realizzazione “in forma accoppiata”, la stessacondizione assicura la assenza di cicli limite di piccola ampiezza, se si utilizzala quantizzazione a troncamento simmetrico dopo la somma.

Data una realizzazione a variabili di stato con matrice di aggiornamentodello stato A, non sono possibili cicli limite da overflow, se esiste una matricediagonale D, definita positiva, tale che la matrice D−AtDA sia semidefinitapositiva .

Tale condizione e soddisfatta dalle realizzazioni a minimo rumore di calcoloe, su sue varianti, e basata la dimostrazione della assenza di cicli limite nellerealizzazioni a traliccio e “ad onda” [6, 55].

4.2 Il caso della aritmetica a virgola mobile.

Da quanto esposto nei paragrafi precedenti e evidente che il campo dinam-ico limitato della aritmetica a virgola fissa richiede una particolare cura nellamessa in scala delle variabili di una realizzazione. Tale necessita e essenzial-mente eliminata dall’impiego della aritmetica a virgola mobile (Appendice A).Tuttavia in questo caso (anche trascurando la possibilita di overflow) vengonointrodotti errori sia nella operazione di moltiplicazione che di somma, errorila cui entita e strettamente legata a quella del segnale.

Assumiamo per i numeri rappresentabili una notazione del tipo f2e con fmantissa di n + 1 bit (1/2 ≤ |f | < 1) ed e esponente di m + 1 bit, supponiamoche il risultato di una operazione venga arrotondato al numero rappresentabilepiu vicino e indichiamo con fl(·) il numero risultante. Allora il risultato diuna somma e di una moltiplicazione risultano

fl(x + y) = (x + y)(1 + ε) fl(xy) = xy(1 + ε) (4.160)

dove l’errore relativo ε soddisfa alla

−2−n ≤ ε ≤ 2−n (4.161)

con n + 1 numero di bit associati alla mantissa.

Capitolo 4. Valutazione degli errori di calcolo. 167

La variabile ε viene generalmente modellata come un processo bianco cond.d.p. uniforme in [−2−n, 2−n] (per un modello piu accurato si veda [45]).Quindi gli errori assoluti di calcolo si possono rappresentare come e = z ·ε, cioecome il prodotto del risultato esatto z per una variabile aleatoria ε associataall’errore relativo e si dice che il “rumore” di calcolo e di tipo moltiplicativo.Questo fatto rende, in generale, la analisi della propagazione degli errori dicalcolo molto piu complicata che nel caso di aritmetica a virgola fissa [63].Infatti l’errore assoluto in una operazione e intrinsecamente legato al valoreesatto z e, se z e il risultato di altre operazioni, all’errore introdotto su z dalleoperazioni precedenti.

Nel seguito considereremo la propagazione degli errori nel calcolo di unprodotto interno (quindi nella realizzazione in forma diretta di un FIR) e,successivamente, illustreremo un metodo approssimato per la analisi di real-izzazione ricorsive. Tale metodo consente di “linearizzare” il problema e dicollegare lo studio della propagazione degli errori ad una analisi di sensibilitaalle variazioni dei parametri moltiplicatori della realizzazione.

4.2.1 Realizzazioni non–ricorsive

Consideriamo a titolo di esempio il calcolo del prodotto interno

y = ctx = c0x0 + c1x1 + c2x2 + c3x3 (4.162)

con ct = [c0, · · · , c3] e xt = [x0, · · · , x3].Come verificheremo tra poco, l’errore nel calcolo di y dipende dall’ordine incui sono effettuate le somme. Allo scopo consideriamo due schemi di calcolo:nel primo y e calcolata accumulando i risultati delle moltiplicazioni (y = y +cixi con condizione iniziale y = c0x0), mentre nel secondo (adatto al calcoloparallelo) i prodotti vengono sommati a due a due (s1 = c0x0 + c1x1 e s2 =c2x2 + c3x3), le somme parziali ancora sommate a due a due (s1 + s2) fino aottenere il risultato finale.

Al primo schema corrisponde il risultato:

y = flfl[fl(fl(c0x0) + fl(c1x1)) + fl(c2x2)] + fl(c3x3)= [(c0x0(1 + ε0) + c1x1(1 + ε1))(1 + δ1) + c2x2(1 + ε2)](1 + δ2)

+c3x3(1 + ε3)(1 + δ3)

' c0x0(1 + ε0 + δ1 + δ2 + δ3) + c1x1(1 + ε1 + δ1 + δ2 + δ3)

+c2x2(1 + ε2 + δ2 + δ3) + c3x3(1 + ε3 + δ3)

= (c + ∆c)tx (4.163)

dove si e supposto ci 6= 2−ni , gli εi ed i δi indicano gli errori relativi nella i–esima moltiplicazione e somma, rispettivamente, e si sono trascurati i termini

168 4.2 Il caso della aritmetica a virgola mobile.

di errore del secondo ordine.Una importante conclusione che si trae dalla (4.163) e che il risultato y coincidecon il risultato esatto che si sarebbe ottenuto moltiplicando x per il vettoreperturbato c + ∆c, dove, ad esempio, ∆c0 = c0(ε0 + δ1 + δ2 + δ3) e ∆c3 =c3(ε3 + δ3).

Per l’errore efy = y − y si ha

efy = y − y= c0x0(ε0 + δ1 + δ2 + δ3) + c1x1(ε1 + δ1 + δ2 + δ3)

+c2x2(ε2 + δ2 + δ3) + c3x3(ε3 + δ3)(4.164)

e quindi efy dipende dall’ordine col quale sono accumulati i prodotti: in par-ticolare, per minimizzare max |efy| sarebbe desiderabile sommare i prodotticixi ordinati in valore assoluto non decrescente. Nella realizzazione in formadiretta di un FIR: y(k) =

∑Ni=0 h(i)x(k − i), tale regola si traduce nella

“ricetta” che e conveniente (in media) effettuare per prime le moltiplicazioniper i coefficienti h(i) di modulo minore e per ultime quelle per i coefficienti dimodulo maggiore.

Per dare una misura statistica dell’errore efy, supponiamo gli xi processistazionari e supponiamo che, come gli errori assoluti nel caso di aritmetica avirgola fissa, gli errori relativi εi e δi siano processi stazionari bianchi (medianulla e varianza σ2

e = 2−2n/3), incorrelati tra loro e con gli xi. Nel seguito ve-dremo che per rendere trattabili i risultati della analisi ci servira una ulterioreipotesi.Si verifica subito che anche efy ha media nulla. Per esprimere la varianza diefy e conveniente scrivere efy nella forma

efy = ∆atx (4.165)

con

∆a = Da D = diag[di] (4.166)

dove di indica la somma degli errori associati al prodotto i–esimo cixi. Nell’esempio(4.163) si ha, ad esempio, d0 = ε0 + δ1 + δ2 + δ3 e d3 = ε3 + δ3. Si osservache le variabili di hanno media nulla e varianza E[d2

i ] = miiσ2e , dove mii e il

numero di sorgenti di errore εi e δi che definiscono di e σ2e la loro varianza.

Esse non sono mutuamente incorrelate e si ha E[didj] = mijσ2e con mij intero

positivo pari al numero di sorgenti di errore εi e δi che intervengono sia in di

che in dj . Ad esempio, nell’esempio (4.163) si ha E[d20] = 4σ2

e , E[d23] = 2σ2

e eE[d0d3] = σ2

e .

Dalle (4.165) e (4.166) si ha

σ2ey = E[e2

fy] = atE[DxxtD]a (4.167)

Capitolo 4. Valutazione degli errori di calcolo. 169

e l’elemento generico (i, j) della matrice DxxtD risulta dixidjxj. Se supponi-amo incorrelate le due variabili prodotto: didj e xixj, si ha E[didjxixj ] =E[didj ]E[xixj ] con E[didj ] = mijσ

2e . La (4.167) si puo quindi scrivere nella

forma:

σ2ey = σ2

e at(R • M)a (4.168)

dove R = [rij ] = [E(xixj)], M = [mij] e il simbolo • indica il prodottoelemento per elemento delle matrici R e M (l’elemento di posto (i, j) dellamatrice prodotto e dato da rijmij).

Si osserva che la matrice M dipende dallo schema adottato per calcolareil prodotto interno. Nell’esempio (4.163) risulta

M =

4 3 2 13 4 2 12 2 3 11 1 1 2

(4.169)

Applicando lo schema (4.163) alla realizzazione in forma diretta a postmolti-plicazione di un FIR di ordine N e risposta impulsiva h(k), la (4.168) diviene

σ2ey = σ2

e ht(Rx • M)h = σ2e rx(0)

N∑

i,j=0

h(i)h(j)ρx(i − j) (4.170)

con Rx = [E(x(k − i)x(k − j))] = [rx(i − j)], i, j = 0, · · · , N , matrice dicorrelazione dell’ingresso x(k), ρx(i) = rx(i)/rx(0) e ht = [h(0), · · · , h(N)].

Dalla (4.171) risulta che, diversamente dal caso di aritmetica a virgolafissa, nel caso attuale la varianza dell’errore assoluto di calcolo dipende dalprocesso di ingresso attraverso rx(i) con i = 0, · · · , N , in particolare risultaproporzionale alla potenza rx(0) a parita di valori della correlazione normal-izzata ρx(i), i = 1, · · · , N .Si osserva che questo fatto, che di per se complica il calcolo della propagazionedegli errori, e conseguenza diretta della desiderabile proprieta della aritmeticaa virgola mobile di garantire che gli errori relativi siano limitati, anzi uniforme-mente distribuiti in [−2−n, 2−n] nelle ipotesi attuali.

Nel caso l’ingresso sia un processo bianco a media nulla (o approssimati-vamente tale: |rx(i)| rx(0) = σ2

x per i 6= 0) si ha Rx = diag[σ2x, · · · , σ2

x] e la(4.170) si semplifica nella

σ2ey = (N + 1)σ2

eσ2x [h2(0) + h2(1) + N

N+1h2(2) + N−1N h2(3)+

· · · + 2N+1h2(N)],

(4.171)

cui corrisponde il rapporto Na/S tra la potenza del “rumore” di calcolo e

170 4.2 Il caso della aritmetica a virgola mobile.

quella del segnale σ2y

σ2ey

σ2y

= (N + 1)σ2e

h2(0) +N∑

k=1

(1 − k − 1

N + 1)h2(k)

N∑

k=0

h2(k)

< (N + 1)σ2e (4.172)

Dalle (4.171) e (4.172) si puo concludere, in accordo con quanto detto inprecedenza, che nello schema di calcolo del prodotto interno esemplificatodalla (4.163) e conveniente ordinare le moltiplicazioni in modo da effettuare lemoltiplicazioni secondo coefficienti non decrescenti in modulo.

Si osserva, inoltre, che, mentre i rapporti S/Na calcolati in precedenza nelcaso di virgola fissa (si veda la (4.21)) dipendevano strettamente dal livello delsegnale di uscita e quindi di ingresso, nel caso di aritmetica a virgola mobile ilrapporto (4.172) risulta indipendente dal livello del segnale di ingresso almenofinche si puo assumere nulla la probabilita di overflow. Si ripeta il calcolo nelcaso di processo x(k) = XMsen(kθ0 + φ) con φ uniformemente distribuita in[0, 2π).

Consideriamo ora lo schema alternativo di calcolo di (4.162) (talora detto“piramidale” o “parallelo”)

y′ = flfl[fl(c0x0) + fl(c1x1)] + fl[fl(c2x2) + fl(c3x3)]= [c0x0(1 + ε0) + c1x1(1 + ε1)](1 + δ1) + [c2x2(1 + ε2)

+c3x3(1 + ε3)](1 + δ2)(1 + δ3)

' c0x0(1 + ε0 + δ1 + δ3) + c1x1(1 + ε1 + δ1 + δ3)

+c3x3(1 + ε2 + δ2 + δ3) + c4x4(1 + ε3 + δ2 + δ3). (4.173)

Ad esso corrisponde l’errore assoluto

e′fy = y′ − y

= c0x0(ε0 + δ1 + δ3) + c1x1(ε1 + δ1 + δ3) + c3x3(ε2 + δ2 + δ3)+c4x4(ε3 + δ2 + δ3)

(4.174)il cui valor assoluto massimo, max |e′fy|, e indipendente dall’ordine in cui sonoeffettuate le somme ed e inferiore al valore associato alla (4.164).

Ragionando come per la (4.164) si trova per la varianza di e′fy una espres-sione analoga alla (4.168), ma con la matrice M data dalla

M =

3 2 1 12 3 1 11 1 3 21 1 2 3

(4.175)

Capitolo 4. Valutazione degli errori di calcolo. 171

Applicando lo schema di calcolo ad un FIR di ordine N , si trova che, nellaipotesi di ingresso bianco, la varianza del rumore di calcolo all’uscita ed ilrapporto Na/S risultano, rispettivamente,

σ2e′y ' σ2

eσ2x(log2(N + 1) + 1) (4.176)

σ2e′y

σ2y

' σ2e(log2(N + 1) + 1) (4.177)

quantita molto piu piccole delle (4.171) e (4.172), rispettivamente, almeno perelevati valori di N .

4.2.2 Realizzazioni ricorsive

Nel caso di realizzazioni ricorsive, gli errori commessi nel calcolo delle variabilidi stato si propagano ai valori successivi e, in generale, il calcolo degli effetti ditale propagazione e difficile e puo essere effettuato solo in modo approssimato[63].

Allo scopo riconsideriamo la Fig. 2.1 che schematizza una realizzazione incui l’ingresso x(k) e applicato al nodo 1, la uscita y(k) e associata al nodo2 e nella quale e messo in evidenza un generico coefficiente moltiplicatore c,connesso tra i nodi 3 e 4 (c = c34).In presenza di errori di calcolo, vale la relazione

x4(k) = fl[cy3(k)] = cy3(k)(1 + ε(k)) = cy3(k) + cε(k)y3(k). (4.178)

Indichiamo con xi(k) e yi(k) e con xi(k) e yi(k), rispettivamente, i valoriassunti dalle variabili in assenza e in presenza di errori di calcolo nella molti-plicazione e indichiamo con ∆xi(k) e ∆yi(k) le corrispondenti variazioni. Siha

∆x4(k) = c∆y3(k) + cε(k)y3(k) (4.179)

da cui risulta che la variazione ∆x4(k) puo essere attribuita ad una variazione∆c(k) = cε(k) del coefficiente c. Se cε(k) e sufficientemente piccolo, si puoconfondere ∆x4(k) col differenziale di x4(k) = cy3(k) e riscrivere la (4.179)come

∆x4(k) ' c∆y3(k) + y3(k)∆c(k) (4.180)

Secondo la (4.179) gli effetti degli errori di calcolo sulla uscita y(k) = y2(k)sono calcolabili come il segnale di uscita ∆y(k) = ∆y2(k) corrispondente alsegnale y3(k)∆c(k) iniettato nel nodo 4. Si osserva che il segnale y3(k) chemoltiplica ∆c(k) e il segnale che si avrebbe in assenza di errori, e quindi laapprossimazione offerta dalla (4.180) corrisponde a supporre che gli errori dicalcolo siano sufficientemente piccoli da non alterare sensibilmente i risultati

172 4.2 Il caso della aritmetica a virgola mobile.

intermedi: y3(k) ' y3(k). (Alla fine dell’esempio 1 vedremo una situazione incui questa ipotesi non e valida.)

Se si indica con hij(k) la risposta impulsiva tra il nodo i e il nodo j, sitrova

∆y(k) ' h42 ∗ ∆w(k) (4.181)

con

∆w(k) = y3(k) · ∆c(k) = c · y3(k) · ε(k)

y3(k) = h13 ∗ x(k). (4.182)

Quindi la variazione ∆y(k) del segnale di uscita dovuta alla variazione ∆c(k) =cε(k) dipende da un lato dall’ingresso x(k) e dall’altro dalle due risposte im-pulsive h13(k) e h42(k) che determinano la sensibilita della risposta impulsivah(k) = h12(k) rispetto al moltiplicatore c = c34.

Posto efy(k) = ∆y(k), si verifica facilmente che, nelle solite ipotesi, il valoremedio di efy e nullo, mentre per il calcolo della varianza e utile osservare che,se y3(k)y3(k + i) e incorrelato con ε(k)ε(k + i), ∆w(k) risulta un processobianco perche tale e per ipotesi il processo di errore ε(k). Infatti

r∆w(i) = c2E[y3(k)y3(k + i)ε(k)ε(k + i)] = c2ry3(i) rε(i) = 0 k 6= 0.

(4.183)In definitiva si ha

σ2ey = σ2

∆w

∞∑

k=0

h242(k) = σ2

∆w

∫ 2π

0|H42(ejθ)|2 dθ

2π(4.184)

σ2∆w = c2E[y2

3 ]σ2e = σ2

ec2∫ 2π

0|H13(ejθ)|2Rx(ejθ)

2π(4.185)

e quindi, come gia osservato a proposito della (4.170), in virgola mobile lavarianza dell’errore di calcolo risulta proporzionale alla potenza dell’ingressorx(0) e al valor medio della densita spettrale normalizzata Rx(ejθ)/rx(0) pe-sata secondo |H13(ejθ)|2.

Se si calcola la varianza di ∆y3(k) = h43 ∗ ∆w(k), e possibile valutarela affidabilita della approssimazione fatta nella (4.180), affidabilita che risultatanto maggiore quanto piu e verificata la σ∆y3

σy3. Si osservi che in base alla

(2.19) e proprio la H43(ejθ) a determinare, assieme alle H13(ejθ) e H42(ejθ),le sensibilita ∂nH/∂cn di ordine superiore al primo.

Le relazioni si semplificano se x(k) e un processo bianco (o con densitaspettrale avete piccola dinamica). In tal caso si ha

σ2ey = σ2

eσ2x

∞∑

k=0

h213(k) ·

∞∑

k=0

h242(k) = σ2

eσ2x `2

2(h13) `22(h42) (4.186)

Capitolo 4. Valutazione degli errori di calcolo. 173

e si puo concludere che, nei limiti di validita delle ipotesi fatte, una realiz-zazione che presenti piccola sensibilita alle variazioni dei coefficienti moltipli-catori risulta anche robusta nei confronti degli errori di calcolo.Il rapporto Na/S risulta

σ2ey

σ2y

= σ2e

`22(h13) `2

2(h42)

`22(h12)

(4.187)

ed e indipendente da σ2x.

Quanto detto per gli errori di calcolo in una moltiplicazione, puo esserefacilmente esteso agli errori in una somma. Allo scopo e sufficiente associarealla uscita dal nodo di somma un moltiplicatore fittizio di valore unitario, sup-porre la somma esatta e attribuire l’errore alla moltiplicazione.

La (4.180) puo essere perfezionata per rendere conto di una somma diprodotti associata ad un generico nodo della realizzazione. Sia

wi(k) =∑

j∈Ii

cji xj(k) (4.188)

la equazione associata al nodo i–esimo. In presenza di errori di calcolo sipossono applicare i risultati ottenuti per il calcolo di un prodotto interno eattribuire al coefficiente cji la variazione ∆cji(k) = cjidji(k) con dji(k) sommadelle sorgenti di errore che risultano associate al prodotto cji xj(k).La variazione corrispondente dell’uscita risulta

∆y(i)(k) ' hi2 ∗ ∆wi(k) (4.189)

con

∆wi(k) =∑

j∈Ii

yj(k) · ∆cji(k) =∑

j∈Ii

cji yj(k)dji(k) (4.190)

yj(k) = h1j ∗ x(k) (4.191)

e si dimostra facilmente che anche in questo caso ∆wi(k) e un processo biancola cui varianza ha una espressione analoga alla (4.170) e data da

σ2∆wi

= σ2e ct

i(Ri • Mi)ci. (4.192)

con ci vettore dei coefficienti cji, Ri = [E(y1p(k)y1q(k))] e Mi = [mpq] con mpq

numero di sorgenti di errore comuni ai prodotti cpiy1p(k) e cqiy1q(k), p, q ∈ Ii.Nel caso di ingresso bianco di varianza σ2

x la (4.192) si semplifica nella

σ2ey = σ2

∆wi

∞∑

k=0

h2i2(k) (4.193)

σ2∆wi

= σ2eσ

2x

p,q∈Ii

mpqcpicqi

(

∞∑

k=0

h1p(k)h1q(k)

)

(4.194)

174 4.2 Il caso della aritmetica a virgola mobile.

E interessante confrontare le (4.193) e (4.194) con la varianza del rumore dicalcolo (associata alla relazione (4.59) con L = 1) che si avrebbe in virgola fissanel caso la variabile wi(k) venisse normalizzata utilizzando la norma `2. Indi-cate come nel par. 4.1.3 con fi(k) e gi(k), rispettivamente, le risposte impulsivetra l’ingresso ed il nodo i e tra il nodo i e l’uscita, risulta fi(k) =

j cjih1j(k) egi(k) = hi2(k) e si riconosce facilmente che, a pari σ2

e , la principale differenzatra le due espressioni e data dal fatto che la varianza data dalla (4.193) eproporzionale a σ2

x. (Questa e anche l’unica differenza se mpq = cost o se lerisposte impulsive h1j(k) sono ortogonali. Si veda l’esempio 1.)

In presenza di piu sorgenti di errore del tipo della (4.189) si ha

∆y(k) '∑

i

∆y(i)(k) (4.195)

e la varianza risulta data dalla somma delle varianze associate ai singoli ad-dendi ∆y(i)(k), se, come avviene quasi sempre, non ci sono moltiplicatori osomme parziali comuni a due o piu prodotti interni.

Le relazioni ricavate si applicano a qualsiasi realizzazione e, come gia osser-vato, hanno il merito di instaurare un legame tra la sensibilita alle variazionidei parametri e la robustezza numerica di una realizzazione. Spesso, almenoper realizzazioni la cui descrizione sia sufficientemente semplice, anziche usarele (4.193), (4.194) e (4.195) e piu semplice applicare direttamente il proced-imento di “linearizzazione” alle equazioni che descrivono la realizzazione edottenere la equazione ricorsiva cui obbedisce l’errore ∆y(k). Il metodo e es-emplificato negli esempi seguenti.

Esempio 1. Si consideri la propagazione degli errori di calcolo nella equazione:

y(k) = ay(k − 1) + bx(k).

La equazione effettivamente utilizzata e

y(k) = fl[fl(ay(k − 1)) + fl(bx(k))] (4.196)

che si puo riscrivere come

y(k) = [ay(k − 1)(1 + εa(k)) + bx(k)(1 + εb(k))](1 + δ)

' a(1 + εa(k) + δ(k))y(k − 1) + bx(k)(1 + εb(k) + δ(k))(4.197)

Posto ∆y(k) = y(k) − y(k), da(k) = εa(k) + δ(k) e db(k) = εb(k) + δ(k) si ha

∆y(k) = a∆y(k − 1) + ada(k)y(k − 1) + bdb(k)x(k). (4.198)

Se si suppongono gli errori sufficientemente piccoli da poter confondere y(k−1)con y(k − 1), la (4.198) diviene

∆y(k) ' a∆y(k − 1) + ada(k)y(k − 1) + bdb(k)x(k)

= a∆y(k − 1) + ∆w(k) (4.199)

Capitolo 4. Valutazione degli errori di calcolo. 175

Nella (4.199) ∆w(k) agisce come un ingresso equivalente ed e costituito dallasomma di un addendo dato dall’ingresso “vero” x(k) pesato per ∆b(k) = bdb(k)e di un addendo dato dal valore y(k − 1) che si avrebbe in assenza di errori,pesato per ∆a(k) = ada(k).Nelle solite ipotesi sugli errori εa(k), εb(k) e δ(k), ∆w(k) risulta bianco a medianulla e varianza

σ2∆w = a2E[d2

a]Py + b2E[d2b ]Px + 2abE[y(k − 1)x(k)]E[da(k)db(k)]

= σ2e(2a2Py + 2b2Px + 2abE[y(k − 1)x(k)]) (4.200)

con σ2e varianza degli ε. e δ, Px potenza dell’ingresso e Py potenza della uscita

in assenza di errori di calcolo.

Se x(k) e bianco, risulta E[y(k − 1)x(k)] = 0 e σ2y = σ2

xb2/(1 − a2) e si ha

σ2∆w = 2σ2

eσ2x

1 + a2

1 − a2= 2σ2

eσ2y (1 + a2)

σ2ey =

2σ2∆w

1 − a2= 2σ2

eσ2y

1 + a2

1 − a2(4.201)

e quindi il rapporto

σ2ef

σ2y

= 2σ2e

1 + a2

1 − a2(4.202)

risulta indipendente dal livello del segnale di uscita (e di ingresso). Si osserviche, anche nel caso di virgola mobile, la propagazione degli errori e tanto piucritica quanto piu il polo e prossimo al cerchio di raggio unitario. Per |a| ' 1si ha

σ2ef

σ2y

' 2σ2e

1 − |a| (4.203)

e quindi, ad esempio, per 1 − |a| = 2−5 tale rapporto risulta circa 26σ2e =

2−2(n−3)/3 e si ha una perdita di precisione nella mantissa pari a 3 bit (circauna cifra decimale).

La (4.202) consente di valutare la validita della approssimazione associ-ata alla (4.199): la bonta della approssimazione y(k) ' y(k) risulta infattidirettamente legata, in questo esempio, alla σef σy e quindi al rapportoNa/S.

Concludiamo l’esempio, mostrando che il modello perturbativo adottatopuo condurre, in certe condizioni, a conclusioni errate. Se infatti nella (4.197)supponiamo x(k) = 0 per k ≥ 0 e y(−1) 6= 0, si ha con approssimazione che

176 4.2 Il caso della aritmetica a virgola mobile.

dipende solo dall’aver trascurato i prodotti di errori:

y(0) = fl[ay(−1)] = ay(−1)(1 + εa(0))y(1) = fl[ay(0)] ' ay(0)(1 + εa(0) + εa(1))

··

y(k) = fl[ay(k − 1)] ' ay(k − 1)(1 +k∑

i=0

εa(i))

(4.204)

Quindi si ha

∆y(k) ' ay(k − 1)k∑

i=0

εa(i)

e l’errore diverge, contrariamente a quanto si otterrebbe con una applicazione“cieca” del modello perturbativo secondo il quale si avrebbe ∆y(k) ' ay(k −1)εa(k). In questo caso, infatti, l’ipotesi che sta alla base della (4.199) non everificata per k grande.

Esempio 2 Consideriamo la realizzazione in forma diretta associata alla equazione

y(k) =N∑

i=1

aiy(k − i) +M∑

i=0

bix(k − i).

Procedendo come nell’esercizio precedente o come per la (4.189) si trova

∆y(k) =N∑

i=1

ai∆y(k − i) + ∆w(k)

∆w(k) 'N∑

i=1

y(k − i)∆ai(k) +M∑

i=0

x(k − i)∆bi(k) (4.205)

dove ∆ai(k) = aidai(k) e ∆bi(k) = bidbi(k) e i dai(k) e dbi(k) tengono contodello schema adottato per il calcolo del prodotto interno che definisce y(k).Il processo ∆w(k) risulta bianco con varianza data dalla (4.192) (si calcolila matrice Ri nella ipotesi che anche x(k) sia un processo bianco). Quindiil processo errore ∆y(k) risulta un processo autoregressivo (a soli poli) divarianza

σ2ey = σ2

w

∫ 2π

0

1

|A(ejθ)|2dθ

2π(4.206)

dove A(z) = 1 −∑Ni=1 aiz

−i.

Capitolo 4. Valutazione degli errori di calcolo. 177

Si ripeta il calcolo per la realizzazione (canonica nei ritardi) ad uscitemultiple dallo stato, descritta dalle equazioni (M ≤ N)

s(k) =N∑

i=1

ais(k − i) + x(k)

y(k) =M∑

i=0

bis(k − i).

(4.207)

Esempio 3. Consideriamo una realizzazione a variabili di stato

s(k + 1) = As(k) + bx(k)y(k) = cs(k) + dx(k)

(4.208)

con A, b, c matrici N × N , N × 1 e 1 × N e d scalare. Nella solita ipotesi dipiccoli errori di calcolo associati alla valutazione degli N + 1 prodotti internicorrispondenti alla (4.208) si ottiene per ∆s = s− s e ∆y = y − y la coppia diequazioni

∆s(k + 1) ' A∆s(k) + ∆A(k)s(k) + ∆b(k)x(k)∆y(k) ' c∆s(k) + ∆c(k)s(k) + ∆d(k)x(k)

(4.209)

con ∆A(k) = A • DA(k) e ∆c(k) = c • Dc(k) e ∆d(k) = d dd(k) matrici cherendono conto dello schema adottato per il calcolo dei prodotti interni. Sec-ondo le (4.209) il sistema che descrive le perturbazioni dello stato e dell’uscitadiviene un sistema a N + 1 ingressi, costituiti dal vettore s(k) e da x(k), e aduna uscita. Si calcoli la varianza di ∆y(k) nella ipotesi di ingresso bianco.

178 4.2 Il caso della aritmetica a virgola mobile.

Appendice A

Rappresentazione in virgola fissa e mobile

A.1 Rappresentazione in virgola fissa.

Nella rappresentazione in virgola fissa ogni numero viene rappresentato conuna stringa di n+ 1 cifre bnbn−1 · · · b0 con bn e b0 cifra piu significativa e menosignificativa, rispettivamente, e dove il peso della cifra bi dipende dalla baseusata.

Limitando l’analisi al caso binario (base B = 2 e bi = 1 o 0) le notazionipiu comuni sono: modulo e segno e complemento a due. La scelta del tipodi notazione dipende dai vantaggi legati alla realizzazione in hardware, ed haportato all’impiego quasi generale della notazione in complemento a due peril trattamento dei numeri interi nelle unita aritmetiche.

A.1.1 Notazione modulo e segno (MS).

La prima cifra binaria bn indica il segno (in genere 0 per numeri positivi e 1per i negativi). Considerando i numeri come interi si ha:

x = (±)bn−12n−1 + bn−22n−2 + · · · + b020. (A.1)

Ad esempio, le stringhe di 4 bit (0101)MS e (1101)MS rappresentano i numeriinteri: ±(1 · 22 + 0 · 21 + 1 · 20) = ±5. Considerando i numeri come frazionarisi ha:

x = (±)bn−12−1 + bn−22−2 + · · · + b02−n,

valore che si ottiene dal precedente mediante divisione per 2n . Il campodei numeri interi rappresentabili e compreso tra ±(2n − 1) o ±(1 − 2−n), aseconda della convenzione. Esistono due diverse rappresentazioni dello zero:0000 e 1000.

L’operazione di moltiplicazione risulta particolarmente semplice (dato cheil segno del risultato e l’or-esclusivo dei bit di segno), mentre tutt’altro che sem-plici sono le operazioni di somma e differenza, che vengono sempre effettuatein complemento a due (previa conversione da modulo e segno a complementoa due) [23, 24].

180 A.1 Rappresentazione in virgola fissa.

A.1.2 Notazione in complemento a due (C2).

Si associ ad ogni intero, x, il resto non negativo, r, della divisione per 2n+1:

x = q2n+1 + r, q ∈ Z r = 0, 1, · · · , 2n − 1, (A.2)

cioe si instauri la corrispondenza x → r ≡ x (mod 2n+1). In tal modo gliinteri vengono divisi in 2n+1 classi di equivalenza: ad esempio, per n + 1 = 2si ottengono le quattro classi 0 : x = 4q, 1 : x = 4q + 1, 2 : x = 4q + 2 e3 : x = 4q + 3.

La rappresentazione in binario su n + 1 bit dell’intero non negativo r ≡x (mod 2n+1) costituisce la rappresentazione di x in complemento alla basedue.E evidente che, mentre ogni intero x ha una unica rappresentazione r, ogniintero r ∈ [0, 2n−1] e la rappresentazione in complemento a due degli infinitiinteri che divisi per 2n+1 danno resto r. La corrispondenza, tuttavia, divieneunivoca se l’insieme dei numeri da rappresentare e costituito da 2n+1 interi,uno per ogni classe di equivalenza. In pratica si conviene di rappresentareunivocamente gli interi compresi tra −2n e 2n − 1, (o le frazioni tra −1 e1 − 2−n) per i quali si ha:

x = q2n+1 + r

q = 0 0 ≤ x ≤ 2n − 1q = −1 −2n ≤ x < 0.

(A.3)

Per 0 ≤ x ≤ 2n − 1 la rappresentazione in complemento a due, r =∑n−1

i=0 bi2i,

coincide con quella modulo e segno (bn = 0), mentre per −2n ≤ x < 0 essacoincide con quella del numero (positivo) r = x + 2n+1 (bn = 1). In questocaso si ha:

x = −2n+1 + r = −2n+1 + bn2n + · · · + b020

= −bn2n + bn−12n−1 + · · · + b020.

In definitiva, si puo sempre passare dalla rappresentazione (bnbn−1 · · · b0)c2 dix a x tramite la:

x = −bn2n + bn−12n−1 + · · · + b020. (A.4)

Il bit bn viene spesso denominato ”bit di segno”; si osserva pero che ad esso eassociato il peso negativo, −2n, cioe esso non ha solo la funzione di individuareil segno come nella notazione MS. Ad esempio, le stringhe di 4 bit: (0101)c2

e (1101)c2 corrispondono, rispettivamente, ai numeri interi:

x = −0 · 23 + 1 · 22 + 0 · 21 + 1 · 20 = +5x = −1 · 23 + 1 · 22 + 0 · 21 + 1 · 20 = −3

(A.5)

Appendice A. Rappresentazione in virgola fissa e mobile 181

oppure ai numeri frazionari +5/8 e −3/8.

L’opposto, −x, di x e il numero che soddisfa la: x+(−x) ≡ 0 (mod 2n+1).Si verifica facilmente che −x ≡ 2n+1 − x (mod 2n+1). Infatti

x + (2n+1 − x) = 2n+1 → 2n+1 ≡ 0 (mod 2n+1).

Poiche −x = bn2n − bn−12n−1 − · · · − b020 e 2n+1 =∑n

i=0 2i + 1, l’opposto dix si puo scrivere come:

−x = −(1 − bn)2n +n∑

i=1

(1 − bi)2n−i + 1 = −bn2n +

n∑

i=1

bi2n−i,

da cui risulta che e semplice ottenere la rappresentazione in C2 dell’opposto dix (quindi ricondurre ad una somma la operazione di sottrazione): si aggiungela cifra 1 al complemento ad 1 del codice di x, oppure si scandisce il codicedi x dal bit meno significativo al piu significativo e si complementano ad unotutti i bit alla sinistra del primo bit uguale ad uno incontrato.Ad esempio: n+1 = 4, x = 6 → r(6) = (0110)c2 → r(−6) = (1001+0001)c2 =(1010)c2.

I principali vantaggi della notazione C2 sono:

1– rappresentazione unica dello zero;

2– semplicita della conversione dalla notazione C2 ad n bit a quella ad m > nbit, che si effettua con una propagazione del bit di segno. (E sufficiente osser-vare la identita −2n = (−2 + 1)2n = −2n+1 + 2n per passare dalla rappresen-tazione su n + 1 bit a quella su n + 2 e quindi al caso generale con m > n.)Ad esempio, (1010)c2 diviene a 6 bit: (111010)c2, e (0110)c2 diviene a 6 bit:(000110)c2 .La conversione da n a m bit con m < n e possibile, senza errore, se il numeroe compreso tra −2m e 2m − 1 e si effettua conservando solo gli m bit menosignificativi degli n originali;

3– semplicita della operazione di somma (differenza) di due numeri, che vieneeffettuata modulo 2n+1, cioe sommando bit per bit le loro rappresentazioniin C2 e trascurando il riporto eventuale alla sinistra del bit piu significativo.Quindi il risultato S ′ della somma in complemento a due coincide con la sommaordinaria S, se −2n ≤ S ≤ 2n − 1; in caso contrario si ha overflow e S ≡ S ′

(mod 2n+1). Questa situazione si puo verificare nella somma di due numeridello stesso segno, ed e segnalata dal fatto che il risultato ha ”segno” diversoda quello degli addendi;

4–modularita della operazione di somma. Sia S =∑

i xi la somma (ordinaria)degli xi, sia ri la rappresentazione in C2 di xi e sia S′ ≡∑

i ri (mod 2n+1); si

182 A.1 Rappresentazione in virgola fissa.

haS ≡ S′ (mod 2n+1).

La caratteristica ingresso–uscita y = S ′(x) di un sommatore in complemento adue e quindi periodica con periodo 2n+1: in Fig. A.1a) e riportato l’andamentonel caso n + 1 = 3, e in Fig. A.1b) ne e data una rappresentazione equivalentein cui i valori S ′(x) sono associati a punti equispaziati su un cerchio.

S’(x)

-7 -6 -5 -4 -3 -2 -1

3

2

1

-1

-2

-3

-4

1 2 3 4 5 6 7 8 x

-4

3

2

1

0

-1

-2

-3

Figura A.1 Caratteristica di overflow in complemento a due (n + 1 = 3 bit).

E facile dimostrare la seguente fondamentale proprieta : se il risultatofinale della somma, S, appartiene all’insieme dei numeri univocamente rap-presentabili, cioe se S ∈ [−2n, +2n − 1], gli eventuali overflow nelle sommeparziali non hanno effetto sulla correttezza del risultato finale e quindi S ′ = S.Ad esempio, si consideri la somma di tre addendi in notazione C2 con n+1 = 4,cui corrispondono gli interi appartenenti all’intervallo [−8, 7]. Sia S = 7 + 5−6 = 6 e si calcoli la somma nell’ordine ((7 + 5) − 6). Si ha:

0111+0101 =

S′1 1100+

1010 =S′

2 0110

(A.6)

Si osserva che il risultato finale S ′2 e corretto, anche se si e verificato overflow in

entrambe le somme. Una semplice giustificazione di questo fatto e la seguente:per rappresentare correttamente il risultato intermedio (7 + 5) = 12 sarebbenecessario estendere la rappresentazione degli addendi su 5 bit. Se cosı sifacesse, non ci sarebbe overflow in nessuna delle due somme parziali, e siotterrebbe il risultato finale, 6, su 5 bit, i primi due dei quali sarebbero perouguali. Si conclude quindi che e inutile estendere la rappresentazione su 5 bitdegli operandi.

Appendice A. Rappresentazione in virgola fissa e mobile 183

Dato che la moltiplicazione per un intero e equivalente ad una sommaripetuta (2x1 + x2 + x3 = x1 + x1 + x2 + x3) questa proprieta vale ovviamenteanche per l’operazione S =

i ci ·xi, se i ci sono interi (rappresentati su n + 1bit, o m + 1 bit con m ≤ n), i prodotti ci ·xi sono calcolati modulo 2n+1 e se enoto che il risultato finale appartiene al campo dei numeri rappresentabili conn + 1 bit.

La stessa considerazione vale anche per la operazione (fondamentale neifiltri numerici) S =

i ci · xi dove le variabili xi sono interi su n + 1 bit (ofrazioni) e i coefficienti moltiplicatori ci sono, in generale, numeri su m + 1 bitaventi tutti la ”virgola” nella medesima posizione, cioe lo stesso numero, mf ,di bit associato alla parte frazionaria.In una realizzazione in cui le variabili siano state opportunamente normaliz-zate si ha |S| ≤ max |xi|, cioe la parte intera di S e rappresentabile ancorasu n + 1 bit, come le variabili xi, ed e quindi ancora possibile trascurare glioverflow parziali.In questo caso, pero, non e possibile calcolare i prodotti ci · xi modulo 2n+1

come fatto nell’esempio precedente (coefficienti ci interi), ma e necessario cal-colarli modulo 2n+m+2, cioe come prodotti ”ordinari” di due interi su n+m+2bit (quindi estendendo la rappresentazione dei fattori su tale numero di bit).

Se e SQ =∑

i Q[cixi] ' S con Q operatore di quantizzazione, i prodottiparziali possono essere riportati a n + 1 bit ed accumulati, scartando gli mf

bit meno significativi di ogni prodotto e conservando solo gli n + 1 bit allasinistra della ”virgola”. Se, invece, e SQ = Q[S] = Q[

i cixi], e il risultatodell’accumulo su n+m+2 bit ad essere riportato su n+1 bit con la proceduraillustrata per ogni singolo prodotto.

Si osservi pero che se, ad esempio, x1 = y1 +y2 e S = c1x1 + · · ·+cLxL conc1 frazionario, mentre e possibile trascurare gli overflow parziali nel calcolodi S, non e possibile trascurare quello eventuale nel calcolo di x1 (mentre losarebbe se c1 fosse un intero).

Se l’operazione di somma/sottrazione e particolarmente semplice, l’operazionedi moltiplicazione di due numeri su n+1 bit risulta meno semplice in notazioneC2 che in MS.Infatti, il modo piu semplice di calcolare il prodotto sarebbe quello di esten-dere la rappresentazione degli operandi a 2n+2 bit e farne il prodotto modulo22n+2, cioe con una sequenza di operazioni di ”shift and add” e quindi trat-tando (come in MS) i numeri come positivi. Gli algoritmi proposti per lamoltiplicazione di numeri in C2 cercano, in pratica, di limitare al minimo, adogni passo, la necessita di estendere il bit di segno e quindi il numero di bitda sommare.

Un possibile algoritmo e il seguente. Dati x = (xn · · · x0)c2 e y = (yn · · · y0)c2,

184 A.1 Rappresentazione in virgola fissa.

il prodotto x · y, espresso in termini del peso dei bit xi e yi, risulta dato dalla:

x · y = (−xn2n +n−1∑

i=0

xi2i) · (−yn2n +

n−1∑

i=0

yi2i)

= xnyn22n − xn2nn−1∑

i=0

yi2i − yn2n

n−1∑

i=0

xi2i +

n−1∑

k=0

n−1∑

i=0

xkyi2k2i,

(A.7)dove il primo e quarto addendo rappresentano quantita positive, e il secondoe il terzo negative. Il quarto addendo porge il risultato completo della molti-plicazione quando sia x che y sono positivi e puo essere calcolato, come inMS, con una sequenza di ”shift and add”; gli altri sono termini ”correttivi”da applicare quando almeno uno dei due fattori e negativo. In particolare ilprimo e non nullo solo quando i due numeri sono entrambi negativi.

Un algoritmo di moltiplicazione ”regolare”, cioe che tratta tutti i bit allostesso modo, e noto come primo algoritmo di Booth ed e usato nella maggiorparte dei moltiplicatori hardware. L’algoritmo di Booth nasce dalla sempliceosservazione che ogni cifra binaria yi puo essere scritta come: yi = 2yi − yi, equindi, ad esempio, y puo essere scritto come

y = −yn2n + yn−12n−1 + · · · + y121 + y020

= −yn2n + (2yn−1 − yn−1)2n−1 + · · · + (2y1 − y1)2 + (2y0 − y0)

=n∑

i=0

(yi−1 − yi)2i con y−1 = 0

(A.8)In tal modo la moltiplicazione x · y (con x e y in C2) diviene una sequenzaregolare di operazioni di shift di un bit del moltiplicando, x, e somma (seyi−1 = 1 e yi = 0) o sottrazione (se yi−1 = 0 e y1 = 1) al /dall’accumulatore,o di solo shift di un bit del moltiplicando x (se yi−1 = yi = 0). Si osservache detto algoritmo e strettamente legato alla notazione SDC descritta nelseguito.

A.1.3 Eccesso 2n.

Una notazione a n + 1 bit molto simile a C2 e quella denominata ”eccesso2n” generalmente impiegata nella rappresentazione dell’esponente nella no-tazione in virgola mobile e spesso impiegata con il nome di ”offset binary” neiconvertitori A/D e D/A.

In tale notazione l’intero x (−2n ≤ x ≤ 2n − 1) viene rappresentato medi-ante il codice binario naturale di: x+2n e cio equivale ad associare lo zero dellarappresentazione al numero piu negativo. Si verifica che il codice risultantedifferisce da quello C2 solo per l’inversione del bit piu significativo bn.

Appendice A. Rappresentazione in virgola fissa e mobile 185

A.1.4 Notazione CSDC (Canonical Signed Digit Code).

Nelle realizzazioni di filtri numerici lineari l’operazione di moltiplicazione avvienetra un segnale ed un coefficiente costante. In questo caso per ridurre il numerodi somme (sottrazioni) e, quindi, diminuire il tempo di esecuzione della molti-plicazione, se effettuata in software (in assenza di un moltiplicatore hardware)o in hardware dedicato come sequenza cablata di operazioni elementari, e con-veniente ricorrere per i coefficienti alla notazione SDC (Signed Digit Code)nella quale un numero x viene rappresentato dalla stringa: cncn−1 · · · c0 conci = +1, 0,−1 [52]. Nel seguito −1 verra indicato con il simbolo 1. Nel casodi numeri interi si ha:

x = cn2n + cn−12n−1 + · · · + c020 ci = (1, 0, 1) (A.9)

Risulta quindi che il numero viene rappresentato come combinazione linearea coefficienti positivi e negativi di potenze di 2. Si osserva che l’uso di unalfabeto ternario rende il campo dei numeri rappresentabili con n + 1 cifrepari a ±(2n+1 − 1), cioe circa il doppio di MS e C2.

E facile verificare che la rappresentazione di un numero non e unica. Adesempio, il numero −5 puo essere rappresentato in SDC nei seguenti modi:

−8 +2 +1 → 1011 (coincidente con la notazione C2)−4 −2 +1 → 0111

−4 −1 → 0101(A.10)

Se la moltiplicazione tra c in SDC ed x (ad esempio, in C2) viene eseguitamediante una sequenza fissa di operazioni di shift a sinistra e di somme osottrazioni, risulta evidente l’interesse a rappresentare c con il massimo numerodi zeri.

La notazione CSDC (Canonical SDC) ha la proprieta di avere il minimo nu-mero di cifre pari a 1 o 1 per ogni numero da rappresentare, ed e caratterizzatadalla assenza di sequenze: 11, 11, 11, 11. Essa permette una rappresentazioneunivoca dei numeri con un numero medio di zeri pari a 2(n + 1)/3 per parola,contro (n + 1)/2 per le notazioni C2 e MS.

Il campo dei numeri interi rappresentabili in CSDC con n + 1 cifre e±(2n+2 − 1)/3, se n + 1 e dispari, e ±(2n+2 − 2)/3, se n + 1 e pari, con unincremento di circa 1/3 rispetto a quello corrispondente in C2 e MS.Per passare dalla notazione MS a quella CSDC si possono applicare iterati-vamente le seguenti regole al modulo del numero (n bit):1) ogni sequenza di 1 consecutivi:

· · · 0111 · · · 10 · · · (· · · 2i + 2i−1 · · · + 2i−s · · · = · · · 2i+1 − 2i−s + · · ·)diviene:

· · · 1000 · · · 10 · · ·(A.11)

186 A.2 Rappresentazione in virgola mobile.

2) ogni sequenza:

· · · 11 · · · (· · · − 2i + 2i−1 · · · = · · · − 2i−1 · · ·)diviene: · · · 01 · · ·

(A.12)Se il numero e positivo, la sua rappresentazione e quella del modulo, mentre, seil numero e negativo, la sua rappresentazione si ottiene da quella del modulo,cambiando di segno tutti i coefficienti (cioe 1 → 1 e viceversa).

Se il numero e in notazione C2, si possono applicare le stesse regole ricor-dando che il bit di ”segno” (avendo peso negativo) e gia 1. Si consideri adesempio il numero c in C2:

c = (1.01110110)c2 = (−138/256)10

che diviene:101110110 → 110011010 → 010001010

Come detto, la notazione CSDC (o SDC) risulta interessante quando si deveeseguire la moltiplicazione di una costante c per un numero variabile, x, enon si dispone di un moltiplicatore hardware. In tale situazione l’operazionedi moltiplicazione viene realizzata con una sequenza di shift e somme (o sot-trazioni) effettuate su x. Ad esempio, nella moltiplicazione della costantec = −138/256 per la variabile x in software o in hardware dedicato, le oper-azioni elementari sono: 3 shift e 3 sottrazioni, se c e rappresentato in CSDC,e 6 shift e 5 addizioni ed una sottrazione, con c in C2.

La Tab. A.1 seguente riporta la codifica nelle varie notazioni a n + 1 = 4bit (n.r. significa che il numero non appartiene al campo dei numeri rappre-sentabili.)

A.2 Rappresentazione in virgola mobile.

Nella notazione in virgola mobile, i numeri vengono rappresentati come:

x = f · Be (A.13)

dove f e la parte frazionaria (o mantissa), espressa di solito in notazionemodulo e segno con n cifre in base B piu un bit di segno, ed e e l’esponente (ocaratteristica), espresso con m + 1 bit (segno compreso) di solito in notazioneeccesso 2m (o eccesso 2m − 1).

La parola che rappresenta x e formata dalla giustapposizione di due stringhedi cifre che rappresentano e ed f in virgola fissa. Poiche la base B e implicita(tipici valori usati 2 e 16 per cifre binarie ed esadecimali, rispettivamente),la parola che rappresenta x contiene complessivamente n cifre in base B pium + 2 bit. Nel caso B = 2, n + 1 rappresenta il numero di bit necessari alla

Appendice A. Rappresentazione in virgola fissa e mobile 187

dec. dec. MS C2 offset CSDCinteri frazioni binary

−10 −10/8 n.r. n.r. n.r. 1010−9 −9/8 n.r. n.r. n.r. 1001−8 −1 n.r. 1000 0000 1000−7 −7/8 1111 1001 0001 1001−6 −6/8 1110 1010 0010 1010−5 −5/8 1101 1011 0011 0101−4 −4/8 1100 1100 0100 0100−3 −3/8 1011 1101 0101 0101−2 −2/8 1010 1110 0110 0010−1 −1/8 1001 1111 0111 0001

0 0 1000 0000 1000 00000000

+1 +1/8 0001 0001 1001 0001+2 +2/8 0010 0010 1010 0010+3 +3/8 0011 0011 1011 0101+4 +4/8 0100 0100 1100 0100+5 +5/8 0101 0101 1101 0101+6 +6/8 0110 0110 1110 1010+7 +7/8 0111 0111 1111 1001+8 +1 n.r. n.r. n.r. 1000+9 +9/8 n.r. n.r. n.r. 1001

+10 +10/8 n.r. n.r. n.r. 1010

Tabella A.1

188 A.2 Rappresentazione in virgola mobile.

rappresentazione di f , per un totale di m + n + 2 bit, mentre per B = 16 ilnumero di bit corrispondente risulta pari a 4n + 1, per un totale di 4n + m + 2bit.

La mantissa e di regola normalizzata, nel senso che l’esponente e vienedi volta in volta calcolato in modo da rendere diversa da zero la cifra piusignificativa di f : in questo modo B−1 ≤ |f | < 1. Ordinati i numeri x pervalore crescente, ciascun numero differisce dal precedente della quantita B e−n,che rappresenta il passo di quantizzazione e che dipende dall’esponente e. Datoil numero reale x = fx · Be (B−1 ≤ fx < 1), nell’ipotesi di rappresentazionedella mantissa fx per arrotondamento l’errore assoluto massimo associato allarappresentazione x di x soddisfa alla relazione:

|x − x| ≤ 1

2Be−n

e risulta costante per tutti gli x che sono rappresentati con lo stesso valoredell’esponente (decade nel caso decimale, ottava nel caso binario). L’errorerelativo e:

er =x − x

x(A.14)

e risulta massimo in valore assoluto quando |f | e minima, cioe per |x| = B e−1,da cui:

|er| ≤1

2B1−n (A.15)

Quindi l’errore relativo assoluto massimo e limitato, indipendente dall’esponente,e risulta tanto minore quanto maggiori sono B e n. Si puo scrivere:

x = x + er · x = x · (1 + er). (A.16)

Ad esempio, per B = 2, f espressa da n + 1 = 12 bit ed esponente e rapp-resentato da m + 1 = 4 bit, la lunghezza di parola risulta di 16 cifre binarie,e l’errore relativo e inferiore a 2−11, cioe 0.05%. Il minimo numero rappre-sentabile e 2−8 e quello massimo (1 − 2−11)27 ' 128.In realta la lunghezza di parola impiegata e maggiore: 32 o 64 bit per rapp-resentazione a semplice (24 bit di mantissa e 8 bit di caratteristica) e doppiaprecisione (48 bit di mantissa e 8 bit di caratteristica), rispettivamente. Adesempio, B = 16, n = 6 cifre esadecimali per cui |er| ≤ 0.5 · 16−5 ' 0.5 · 10−6.

A fronte di questa utilissima caratteristica della rappresentazione a virgolamobile vi e da considerare il maggior costo dell’hardware e la minor velocitanell’esecuzione delle operazioni [23, 24].

Inoltre, anche trascurando la eventualita di overflow nelle operazioni arit-metiche, la aritmetica in virgola mobile non e “chiusa” rispetto alle operazionidi moltiplicazione e somma (e divisione), nel senso che il risultato di una

Appendice A. Rappresentazione in virgola fissa e mobile 189

operazione aritmetica in generale non appartiene all’insieme dei numeri rap-presentabili e deve quindi essere approssimato con un numero appartenentealla notazione.

Per quanto riguarda il prodotto tra x1 = f1Be1 e x2 = f2B

e2 risulta:

x1 · x2 = f1f2Be1+e2 (A.17)

e la parte frazionaria del prodotto risulta il prodotto di due numeri in virgolafissa. Essa deve essere ricondotta alla lunghezza di parola standard mediantetroncamento o arrotondamento, previo riaggiustamento della virgola, se |f1 ·f2| < B−1, e quindi dell’esponente. L’errore corrispondente si puo interpretarecome una quantizzazione del risultato esatto con passo Be−n.Si ha quindi

fl(x1 · x2) = x1 · x2(1 + ε) (A.18)

dove fl(·) indica il risultato in virgola mobile. L’errore relativo ε e dato da

ε =Q[f1f2] − f1f2

f1f2=

ep

fp(A.19)

dove ep e l’errore nel prodotto delle mantisse introdotto, ad esempio, dall’arrotondamentodel risultato esatto fp su n cifre in base B. Tale errore si puo ritenere uni-formemente distribuito tra −B−n/2 e B−n/2 per B−1 ≤ fp < 1 e tra −B−n/4e B−n/4 per B−1/2 ≤ fp < B−1. Ammettendo la indipendenza di ep, f1 e f2

ed una distribuzione uniforme anche per f1 e f2 si trova [45] che ε ha medianulla e varianza

σ2ε = 0.1799 B−2n ' 2.2

B−2n

12, (A.20)

circa doppia di quella associata ad una variabile uniforme in [−B−n/2, B−n/2].Nella somma di due numeri x1 = f1B

e1 e x2 = f2Be2 in virgola mobile la

mantissa del piu piccolo (in modulo) viene divisa per B fino a portare i duenumeri con lo stesso esponente. Quindi le mantisse vengono sommate ed ilrisultato, che puo superare l’unita, riportato a n cifre. Supposto e1 ≤ e2 si ha:

x1 + x2 = (f ′1 + f2)Be2

con f ′1 = f1/B

(e2−e1) e |f ′1 + f2| < 2. Il risultato si puo scrivere come

fl(x1 + x2) = (x1 + x2)(1 + δ) (A.21)

e l’errore relativo δ risulta

δ =Q[f ′

1 + f2] − (f ′1 + f2)

f ′1 + f2

=es

fs(A.22)

190 A.2 Rappresentazione in virgola mobile.

dove es indica l’errore associato all’arrotondamento (o troncamento) del risul-tato esatto f ′

1 + f2 su n cifre. Si osservi che se |x1| e sufficientemente piccolorispetto a |x2|, puo risultare fl(x1 + x2) = x2.Nell’ipotesi di arrotondamento e che f ′

1, f2 e es siano indipendenti e uniforme-mente distribuite, si dimostra [45] che δ ha media nulla e varianza:

σ2δ = 0.1765 B−2n ' 2.

B−2n

12(A.23)

che risulta, anche in questo caso, circa doppia di quella associata ad unadistribuzione uniforme in [−B−n/2, B−n/2].

In conclusione nella rappresentazione dei numeri in virgola mobile, fissatala base B, il valore di m determina il campo dei numeri rappresentabili, mentre(a pari B) n determina l’errore relativo.Ad esempio, lo Standard IEEE per l’aritmetica Floating point specifica perla rappresentazione in precisione semplice (32 bit) di un numero x il seguenteformato :

x = f · 2e = (−1)s2E−1271.F → sEF

dove s e il bit di segno, E e un numero (positivo) di 8 bit che determinal’esponente e = E−127, e F e un numero (positivo) di 23 bit che determina laparte frazionaria di f . Infatti, la adozione della base 2 comporta che il primobit della mantissa sia sempre uno, che e quindi assunto come implicito nellarappresentazione. La mantissa f e normalizzata in modo che: 1 ≤ |f | < 2, erisulta rappresentata con 23 + 1 = 24 bit. L’esponente E assume i valori da 1a 255, per cui il minimo numero positivo rappresentabile e (1.0 · · · 0)MS ·2−126

ed il massimo e (1.1 · · · 1)MS · 2127 ' 2128. I valori E = 0 e E = 126 designanooperandi speciali: E = F = 0 designa lo zero e E = 256 designa l’”infinito”macchina [11].

Appendice B

Funzioni di trasferimento passatutto.

Una f.d.t. stabile si dice passatutto se la corrispondente risposta in frequenzaha modulo costante, cioe se soddisfa la:

|H(ejθ)| = d ∀θ. (B.1)

Conseguentemente si ha:

H(ejθ) = d ejφ(θ) (B.2)

e H(ejθ) risulta funzione solo della fase φ(θ) e del valore d. Nel seguito ciriferiremo a funzioni passatutto a guadagno unitario, cioe con d = 1.La (B.1) e equivalente alla condizione: |H(ejθ)|2 = H(ejθ)H∗(ejθ) = 1, cheper prolungamento analitico diviene:

H(z)H∗(1/z∗) = 1 (B.3)

dove, se H(z) =∑

n h(n)z−n per |z| > R− con R− < 1, risulta H∗(1/z∗) =∑

n h∗(n)zn per |z| < 1/R−, cioe H∗(1/z∗) e la funzione analitica in |z| < 1/R−

ottenuta coniugando i coefficienti h(n) e sostituendo z con 1/z. Se gli h(n)sono reali, la H(z) diviene hermitiana e si ha H ∗(1/z∗) = H(1/z). (Perchenon si puo considerare H∗(z) come prolungamento analitico di H∗(ejθ)?).

Da (B.3) si ricava per d = 1 che

H(z) =1

H∗(1/z∗)(B.4)

e H(z) assume valori reciproci e coniugati nei punti reciproci e coniugati z e1/z∗. Ne viene che ad ogni polo pi = rejθi corrisponde uno zero reciproco econiugato zi = 1/p∗i = ejθi/r.Quindi le f.d.t. passatutto non sono a fase minima, ad eccezione dell’ esempioelementare H(z) = zL. Un esempio piu significativo e dato dalla f.d.t. delprimo ordine:

H(z) =−a∗ + z−1

1 − az−1=

z−1(1 − a∗z)

1 − az−1=

z−1D∗(1/z∗)

D(z)(B.5)

192

con a = rejθ0 e r < 1, cui corrisponde la:

H(ejθ) = ejφ(θ) (B.6)

φ(θ) = −θ + 2 arctanr sin(θ − θ0)

r cos(θ − θ0) − 1(B.7)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

−6

−5

−4

−3

−2

−1

0

f/Fc

arg[

H(f

)] (

rad)

a=−0.9

−0.6

−0.3

0.9

0.6

0.3

Figura B.1 Andamento della fase di una f.d.t. passatutto del primo ordine con poloreale.

La Fig. B.1 riporta alcuni andamenti di φ(θ) per a reale. 1

La forma generale di una f.d.t. passatutto razionale (stabile e causale) e:

H(z) = z−LN∏

i=1

−p∗i − z−1

1 − piz−1|pi| < 1 (B.8)

e la fase corrispondente risulta data dalla somma delle fasi associate ai singolifattori e quindi dalla somma di termini del tipo della (B.7).Nel caso usuale di f.d.t. a coefficienti reali, la rappresentazione in forma di-retta risulta:

1La configurazione polo-zero associata alla (B.5) si puo dedurre dal teorema di Apollonio,secondo il quale il luogo dei punti le cui distanze da due punti dati stanno in un rapportoprefissato, diverso da uno, e una circonferenza: detti P1 e P ∗

1 i punti associati ad a e 1/a∗,|z| = 1 e il luogo dei punti le cui distanze da P1 e P ∗

1 stanno nel rapporto costante |a| : 1.

Appendice B. Funzioni di trasferimento passatutto. 193

H(z) = z−L aN + aN−1z−1 + · · · + z−N

1 + a1z−1 + · · · + aNz−N= z−L D(z)

D(z)(B.9)

con D(z) = z−ND(1/z) polinomio “reciprocato” di D(z).Proprieta importanti delle f.d.t. passatutto (stabili e causali) sono:

a) se Rx(ejθ) e la densita spettrale di potenza del processo di ingresso, si haRy(ejθ) = Rx(ejθ), cioe la densita spettrale e la funzione di autocorrelazionedi un processo sono invarianti rispetto ad un filtraggio passatutto (verificareche rh(n) =

i h(i)h(i + n) = δ(n));

b) una f.d.t. passatutto e ”non dissipativa” nel senso che l’energia dellarisposta forzata,

n y2f (n), e uguale a quella del segnale di ingresso,

n x2(n);

c) il modulo di H(z) soddisfa le:

|H(z)|

< 1 |z| > 1= 1 |z| = 1< 1 |z| < 1

(B.10)

La prima delle (B.10) e conseguenza della seconda tramite il teorema del mas-simo modulo (H(z) e analitica per |z| ≥ 1) e la terza e conseguenza della(B.4);

d) la fase φ(θ) e una funzione monotona decrescente. Infatti la derivata dellaφ(θ) data dalla (B.7) risulta negativa (r < 1):

φ(θ)

dθ=

r2 − 1

r2 + 1 − 2r cos(θ − θ0)=

r2 − 1

(r − 1)2 + 2r(1 − cos(θ − θ0))< 0 (B.11)

e quindi tale risulta la fase associata alla f.d.t. (B.8). (Cosa si puo dire setutti i poli sono esterni al cerchio di raggio unitario?).

Utilizzando il teorema dell’indicatore logaritmico (o, piu semplicemente,analizzando il diagramma zeri–poli) si ha inoltre che, quando θ varia di 2π,la corrispondente variazione di fase ∆φ e pari a −2π volte il numero di poliinterni al cerchio |z| = 1, cioe con riferimento alla (B.8) si ha:

φ(2π) − φ(0) = −2π(N + L). (B.12)

Se H(z) ha coefficienti reali e L = 0, si ha φ(0) = 0, φ(π) = −πN e φ(2π) =−2πN . (Si veda la Fig. B.1 in cui N = 1).

Si ricava quindi che il ritardo di gruppo τ(θ) = −dφ(θ)/dθ e positivo esoddisfa la:

1

π

∫ π

0τ(θ)dθ = N (B.13)

194

cioe ha valor medio (positivo) pari all’ordine della funzione passatutto. Se laf.d.t. passatutto H(z) viene utilizzata come equalizzatore di fase di una G(z)con ritardo di gruppo τG(θ), cioe se si vuole τG(θ) + τH(θ) ' cost = n0, la(B.12) consente una stima di prima approssimazione dell’ordine necessario perH(z):

N ' n0 −∫ π

0τG(θ)

π> 0. (B.14)

Si determini il contributo dell’integrale di τG(θ) quando G(z) e a fase minima.

Appendice C

Proprieta associate alla realizzazione a traliccio.

C.1 La decomposizione An(z) = An−1(z) + knz−1An−1(z).

Dato il polinomio monico (AN (∞) = 1) di grado N a coefficienti reali

AN (z) = 1 + aN,1z−1 + aN,2z

−2 + · · · + aN,Nz−N , (C.1)

consideriamo il polinomio

AN (z) = z−NAN (1/z) = z−N + aN,1z−N+1 + aN,2z

−N+2 + · · · + aN,N (C.2)

che e caratterizzato dalla proprieta di avere come zeri i reciproci degli zeri diAN (z) (per tale motivo viene spesso detto il polinomio ”reciproco” o ”recip-rocato” di AN (z)) e dalla condizione di normalizzazione AN (1) = AN (1).

Si vuole rappresentare AN (z) (e AN (z)) come combinazione lineare di unopportuno polinomio AN−1(z) di grado N − 1 e del suo reciprocato AN−1(z)moltiplicato per z−1, secondo un coefficiente reale kN , spesso detto coefficientedi riflessione,

AN (z) = AN−1(z) + kNz−1AN−1(z)

AN (z) = kNAN−1(z) + z−1AN−1(z).(C.3)

Uguagliando i termini di ugual grado ad ambo i membri della prima (o sec-onda) delle (C.3), si trova che anche AN−1(z) deve essere monico e che deveessere

kN = aN,N . (C.4)

Noto kN , le (C.3) possono essere interpretate come due equazioni lineari nelleincognite AN−1(z) e AN−1(z).Se |kN | 6= 1, il determinante del sistema, 1 − k2

N , risulta diverso da zero e lasoluzione risulta:

(1 − k2N )AN−1(z) = AN (z) − kN AN (z)

(1 − k2N )z−1AN−1(z) = −kNAN (z) + AN (z)

(C.5)

Se invece kN = ±1, e facile verificare che, se AN (z) e un polinomio simmetricoo antisimmetrico: AN (z) = kN AN (z), le (C.3) ammettono infinite soluzioni,

196 C.1 La decomposizione An(z) = An−1(z) + knz−1An−1(z).

cioe esistono infiniti polinomi AN−1(z) che le soddisfano, mentre, in caso con-trario, le (C.3) non ammettono soluzione.

Se si esclude, quindi, il caso |aN,N | = |kN | = 1, la soluzione di (C.3) eunica. Riapplicando il procedimento al polinomio AN−1(z) ed, eventualmente,a AN−2(z), · · · , A1(z), al polinomio AN (z) risultano associati, se |kn| 6= 1per n = 1, 2, · · · , N , gli N polinomi AN−1(z), · · · , A1(z) e gli N coefficientikN−1, kN−2, · · · , k1. Sia i coefficienti kn che i polinomi An(z) godono di im-portanti proprieta, alcune delle quali presentate nel seguito.

I coefficienti kn, n = 1, · · · , N , costituiscono una parametrizzazione al-ternativa del polinomio AN (z) (alternativa a quella fornita, ad esempio, daicoefficienti aN,i o dagli zeri di AN (z)), nel senso che la applicazione delle (C.3)

a partire dal polinomio A0(z) = A0(z) = 1 consente, noti i kn, di ricostruireunivocamente i polinomi An(z) e quindi il polinomio AN (z).

La applicazione ripetuta della prima delle (C.3) porge la rappresentazione:

AN (z) = AN−1(z) + kNz−1AN−1(z)

= AN−2(z) + kN−1z−1AN−2(z) + kNz−1AN−1(z) = · · ·

= 1 +N∑

n=1

knz−1An−1(z),

(C.6)

cui daremo un significato meno formale successivamente a proposito della(C.67).

Si ha inoltre, ad esempio, per N = 3:

A0(z) = 1

A1(z) = 1 + k1z−1A0

A2(z) = A1 + k2z−1A1 = 1 + k1(1 + k2)z−1 + k2z

−2

A3(z) = A2 + k3z−1A2 = 1 + [k1(1 + k2) + k2k3]z−1

+[k1(1 + k2)k3 + k2]z−2 + k3z−3

(C.7)

e quindi An(z) (quindi ogni coefficiente an,i di An(z)) e funzione lineare diciascuno dei coefficienti ki con i = 1, 2, · · · , n. Si ha, ad esempio,

An(z; k1, k2, · · · , kn) = B(z; k2, · · · , kn) + k1C(z; k2, · · · , kn),

relazione che consente di valutare esattamente i coefficienti del polinomio “sen-sibilita” ∂An/∂k1 = C come rapporto di incrementi finiti:

∂An(z)

∂k1=

An(z; k1 + ∆, k2, · · · , kn) − An(z; k1, k2, · · · , kn)

∆, (C.8)

mentre B puo ottenersi come An(z; 0, k2, · · · , kn).

Appendice C. Proprieta associate alla realizzazione a traliccio. 197

C.2 Un test di stabilita.

La parametrizzazione fornita dai coefficienti di riflessione gode di una im-portante proprieta relativamente alla dislocazione degli zeri di un polinomio.Precisamente si ha il seguente:

Test di stabilita (Schur-Cohn-Marden-Jury). Il polinomio AN (z) e a fase min-ima, cioe ha tutti gli zeri interni al cerchio di raggio unitario, |z| = 1, se esolo se i coefficienti kn ad esso associati soddisfano la condizione: |kn| < 1 pern = 1, 2, · · · , N .

Quindi l’ipercubo |kn| < 1, n = 1, 2, · · · , N , e l’immagine nello spazio dei co-efficienti di riflessione delle N–ple di zeri interni al cerchio di raggio unitario.La dimostrazione del test si basa sulla applicazione ripetuta del seguentelemma.

Lemmma. Il polinomio AN (z) e a fase minima se e solo se |kN | < 1 e ilpolinomio AN−1(z) e a fase minima.

Per la sufficienza, indichiamo con zN,i uno zero di AN (z). Nella ipotesi che

AN−1(z) sia a fase minima, AN−1(z) e AN−1(z) non possono annullarsi nellostesso punto e si puo scrivere

0 = AN (zN,i) = AN−1(zN,i) + kNz−1N,iAN−1(zN,i) (C.9)

= AN−1(zN,i)

[

1 + kNz−1N,i

AN−1(zN,i)

AN−1(zN,i)

]

(C.10)

Quindi la f.d.t. passatutto stabile HN−1(z) = z−1AN−1(z)/AN−1(z) devesoddisfare la condizione:

HN−1(zN,i) = − 1

kN(C.11)

con |kN | < 1, e la (B.10) di Appendice B consente di concludere che deveessere |zN,i| < 1.

Una semplice dimostrazione alternativa si basa sulla applicazione del metododel luogo delle radici alla prima delle (C.3). Allo scopo consideriamo kN comeparametro e scriviamo il primo membro come AN (z; kN ): se per kN = a si haAN (z; a) = 0 per z = α, si verifica facilmente che si ha anche AN (1/α; 1/a) =0, e quindi il luogo delle radici di AN (z; kN ) al variare di kN e simmetricorispetto a |z| = 1 e zeri reciproci corrispondono a valori reciproci di kN .La osservazione elementare che gli zeri di AN (z; kN ) coincidono con quelli

198 C.2 Un test di stabilita.

di AN−1(z) per kN = 0 e con quelli di z−1AN−1(z) per |kN | = ∞, permette diconcludere che AN−1(z) a fase minima e |kN | < 1 implicano che anche AN (z)sia a fase minima.

Per la necessita dalla |zN,i| < 1 si deduce

|kN | = |N∏

i=1

(−zN,i)| < 1 (C.12)

e, per concludere che anche AN−1(z) e a fase minima, basta riferirsi alla primadelle (C.5) e ripetere il ragionamento fatto per la (C.10), o considerare il cor-rispondente luogo delle radici. 2

Si osserva che il test di stabilita puo essere reso piu preciso, nel senso chel’esame dei cambiamenti di segno della sequenza: 1−|k1|, 1−|k2|, · · · , 1−|kN |,e la analisi, per perturbazione, dei casi critici, |kn| = 1, consentono di calcolareil numero di zeri di AN (z) interni, esterni e sulla circonferenza del cerchio diraggio unitario [31], analogamente al test di Routh-Hurwitz relativamente alladislocazione degli zeri di un polinomio rispetto all’asse immaginario [34].

Dalla dimostrazione data e infatti facile dedurre che, ad esempio, se AN−1(z)e a fase minima e quindi |kn| < 1 per n = 1, 2, · · · , N − 1, ed e |kN | > 1, ilpolinomio AN (z) e a fase massima.

Dato il polinomio AN (z) e costruiti il polinomio simmetrico, P+(z), ed ilpolinomio antisimmetrico, P−(z),

P+(z) =1

2(AN (z) + z−1AN (z))

P−(z) =1

2(AN (z) − z−1AN (z)) (C.13)

corrispondenti, rispettivamente, a porre kN+1 = 1 e kN+1 = −1, si ha

AN (z) = P+(z) + P−(z). (C.14)

Non e difficile dimostrare che: AN (z) e a fase minima se e solo se tutti glizeri di P+(z) e P−(z) sono semplici, hanno modulo unitario, si interlacciano(ogni due zeri consecutivi di P+(ejθ) c’e uno zero di P−(ejθ) e viceversa) esign[P+(∞)] = sign[P−(∞)].

La dimostrazione puo essere condotta direttamente nel piano z; e piu sem-plice osservare che, se alle (C.13) e (C.14) si applica la trasformazione bi-lineare z = (1 + s)/(1 − s), si trova che alla decomposizione (C.14) di unpolinomio in z in un polinomio simmetrico e in uno antisimmetrico rispetto a|z| = 1, corrisponde in s la decomposizione A(s) = E(s) + O(s) con E(s) =

Appendice C. Proprieta associate alla realizzazione a traliccio. 199

(A(s) + A(−s))/2 e O(s) = (A(s)− A(−s))/2, rispettivamente, parte simmet-rica e antisimmetrica di A(s) rispetto s = jω. Quindi basta ricordare una bennota condizione di hurwitzianita di A(s) in termini degli zeri di E(s) e O(s)per concludere [34].Gli zeri di P+(z) e P−(z) costituiscono una parametrizzazione alternativa diun polinomio AN (z). Nell’ambito della codifica del segnale vocale tramitepredizione lineare (par. C.4) essi sono noti come “line spectrum pairs” (LSP)e costituiscono la parametrizzazione attualmente ritenuta piu efficiente delfiltro “sbiancante” AN (z) [60].

Osserviamo infine che sia il lemma che la proprieta di interlacciamento siapplicano alla relazione tra i polinomi A(z) e B(z) data dalla A(z) = B(z) +kz−mB(z−1) con m ≥ 0.

C.3 Polinomi ortogonali sul cerchio di raggio unitario.

Se AN (z) e a fase minima, i polinomi a fase minima, An(z), ed i polinomi afase massima, An(z), che ad esso restano associati tramite le (C.4) e (C.5), ele f.d.t. Fn(z) = An(z)/AN (z) e Fn(z) = An(z)/AN (z), con |z| > max |zN,i|,che intervengono nella realizzazione a traliccio, godono di una importanteproprieta di ortogonalita.

Sia hA(k) la antitrasformata causale e stabile della f.d.t. a “solo poli”1/AN (z) con |z| > max |zN,i| e siano s(k) e t(k) due sequenze reali e stabili ditrasformata S(z) e T (z), rispettivamente, applicate come ingresso alla f.d.t.1/AN (z); siano ys(k) = hA ∗ s(k) e yt(k) = hA ∗ t(k) le corrispondenti risposteforzate. Si ha:

k

ys(k)yt(k) =∑

k,i

s(k)t(i)rA(k − i)

=

∫ 2π

0S(ejθ)T (e−jθ)RA(ejθ)

=1

2πj

cS(z)T (z−1)RA(z)

dz

z(C.15)

dove

rA(k) =∞∑

i=0

hA(i)hA(i + k) ⇐⇒ RA(z) =1

AN (z)AN (z−1)

con max |zN,i| < |z| < 1/ max |zN,i|, sono la funzione di autocorrelazione dihA(k) e la sua trasformata, e C e la circonferenza |z| = 1 orientata positiva-mente.

La (C.15) si puo interpretare come il prodotto interno tra i vettori realis = [· · · , s(k), · · ·]t e t = [· · · , t(k), · · ·]t rispetto alla funzione peso (semidefinita

200 C.3 Polinomi ortogonali sul cerchio di raggio unitario.

positiva) rA(k), o (attesa la ortogonalita della trasformata di Fourier) tra letrasformate S(ejθ) e T (ejθ) rispetto alla funzione peso (positiva) RA(ejθ). Nelseguito verra indicato con < s, t > o < S, T > dando per implicito il pesorA(k) o RA(ejθ).

Si verifica subito, infatti, che la (C.15) gode delle proprieta formali di unprodotto interno: essa gode della proprieta di simmetria: < S, T > = < T, S >( S(z) e T (z) sono hermitiane), di linearita: < a1S1+a2S2, T >= a1 < S1, T >+a2 < S2, T > e, inoltre, la < S,S > > 0 per ogni S(z) non identicamentenulla, consente di definire la norma di S(z), ‖ S ‖2=< S,S >, che risulta datadalla energia,

k y2s(k), della risposta forzata ys(k) = hA ∗ s(k).

E immediato verificare che (con S e T hermitiane) tale prodotto internogode delle proprieta:

a) | < S(z), T (z) > |2 ≤ < S(z), S(z) > · < T (z), T (z) >;

b) < S(z), T (z) > = < znS(z), znT (z) > ∀n;

c) < S(z), T (z) > = < T (1/z), S(1/z) > = < S(1/z), T (1/z) >;

d) < S(z), T (z) > = < 1, S(1/z)T (z) > = < S(z)T (1/z), 1 >.

La proprieta a) e la disuguaglianza di Cauchy–Schwartz, soddisfatta da ogniprodotto interno, mentre le b), c) e d) sono proprieta elementari associate alla(C.15), utili per gli sviluppi successivi.

Due segnali aventi trasformata S(z) e T (z) si dicono ortogonali rispettoalla RA(z), se risulta < S(z), T (z) >= 0.

Dato il polinomio AN (z) a fase minima, siano An(z) e An(z) i polinomi afase minima e massima ad esso associati tramite la applicazione ripetuta delle(C.4) e (C.5). Vale allora il seguente teorema:

Teorema. Sul cerchio di raggio unitario, |z| = 1, i polinomi a fase massimaAn(z), n = 1, 2, · · · , N , sono ortogonali alle potenze z−i per i = 0, 1, ..., n − 1,ed i polinomi a fase minima An(z), n = 1, 2, · · · , N , sono ortogonali a z−i peri = 1, 2, ..., n.

Osserviamo che per ogni i > 0 e quindi, in particolare, per 1 ≤ i ≤ N , si ha:

< AN (z), z−i > =1

2πj

c

zi

AN (z−1)

dz

z= 0, (C.16)

dato che la funzione integranda e analitica su |z| = 1 e al suo interno o, sesi vuole, attesa la anticausalita della antitrasformata di 1/AN (z−1); |z| <1/ max(|zN,i|).

Appendice C. Proprieta associate alla realizzazione a traliccio. 201

Per AN (z) dalla

0 =< AN (z), z−i >c)= < AN (z−1), z+i >

b)= < z−NAN (z−1), z−N+i >

(C.17)valida ∀i > 0, si ricava la < AN (z), z−i > = 0 per ogni i < N (relazionededucibile direttamente dalla definizione utilizzando la causalita di hA(k)),quindi in particolare per 0 ≤ i ≤ N − 1.

La dimostrazione procede per induzione all’indietro. Ammessa vera la tesiper un certo valore di n, la prima delle (C.5) porge per n − 1

< An−1(z), z−i > =1

1 − k2n

(< An(z), z−i > −kn· < An(z), z−i >) = 0,

(C.18)valida per 1 ≤ i ≤ n − 1. La < An−1(z), z−i > = < An−1(z), z−n+i+1 >assicura, poi, la < An−1(z), z−i > = 0 per 0 ≤ i ≤ n − 2. 2

Si ha quindi che ogni polinomio An(z) e ortogonale ad ogni polinomioPm(z) =

∑mi=0 piz

−i di grado m inferiore a n:

< An(z), Pm(z) > =m∑

i=0

pi < An, z−i > = 0 0 ≤ m < n ≤ N,

e che i polinomi An(z), n = 0, 1, ..., N , sono ortogonali, al pari dei polinomiz−1An(z) :

< An(z), Am(z) > = < z−1An(z), z−1Am(z) > = 0 0 ≤ m 6= n ≤ N(C.19)

Per i polinomi An(z) si ha:

< An(z), Pm(z) > = p0 < An(z), 1 > n ≥ m< An(z), Am(z) > = < An, 1 > n ≥ m.

(C.20)

Le proprieta di ortogonalita rispetto a RA(z) divengono proprieta di or-togonalita delle f.d.t.: Fn(z) = An(z)/AN (z) e Fn(z) = An(z)/AN (z), cheintervengono nella realizzazione a traliccio della f.d.t. passatutto HN (z) =AN (z)/AN (z) (par. 4.1.6). Dette fn(k) e fn(k) le corrispondenti antitrasfor-mate si ha:

< Am(z), An(z) > =∞∑

k=0

fm(k)fn(k) = 0 0 ≤ m 6= n ≤ N (C.21)

< Am(z), An(z) > =∞∑

k=0

fm(k)fn(k) =∞∑

k=0

fn(k)f0(k) (C.22)

0 ≤ m ≤ n ≤ N

202 C.3 Polinomi ortogonali sul cerchio di raggio unitario.

Per il calcolo dei prodotti interni nel caso m = n, osserviamo che risulta:

α2n = < An(z), An(z) > = < An(z), An(z) > = < An(z), 1 > (C.23)

= < An−1(z), 1 > + kn· < z−1An−1(z), 1 > (C.24)

= α2n−1 + kn· < z−1An−1(z), 1 > (C.25)

dove il primo segno di uguale discende dalle proprieta b) e c) (o direttamentedal legame tra Fn e Fn ), il secondo dalla (C.20) e il terzo dalla prima delle(C.3).Poiche z−1An−1(z) e un polinomio di grado n privo del termine noto, si ha

< An(z), z−1An−1(z) >= 0,

da cui, utilizzando la prima delle (C.3) per esprimere An(z), si ottiene larelazione

0 = < An(z), z−1An−1(z) > (C.26)

= < An−1(z), z−1An−1(z) > +kn· < z−1An−1(z), z−1An−1(z)(C.27)

= < 1, z−1An−1(z) > + kn · α2n−1 (C.28)

e quindi:< 1, z−1An−1(z) > = −kn · α2

n−1 (C.29)

In definitiva da (C.25) e (C.29) si ha

α2n = < An(z), 1 > = α2

n−1 − k2nα2

n−1 = α2n−1(1 − k2

n) (C.30)

che puo essere utilizzata per il calcolo ricorsivo di α2n partendo da

α2N =< AN (z), AN (z) >= 1.

In particolare si trova

α2N−1 = < AN−1(z), AN−1(z) > = < AN−1(z), AN−1(z) >

= 11 − k2

N

(C.31)

α20 = < 1, 1 > =

1

2πj

c

1AN (z)AN (z−1)

dz

z

= 1N∏

n=1

(1 − k2n)

(C.32)

Si osserva che la (C.32) consente di calcolare la energia della risposta impul-siva, hA(k), associata alla f.d.t. 1/AN (z) a partire dalla conoscenza dei soli

Appendice C. Proprieta associate alla realizzazione a traliccio. 203

coefficienti di riflessione kn, quantita calcolabili con operazioni elementari suicoefficienti di AN (z) (per tale motivo, in pratica, il calcolo dei kn e An(z)tramite le (C.4) e (C.5) deve essere effettuato utilizzando una precisione su-periore a quella usata per rappresentare i coefficienti di AN (z)).

La (C.32) puo essere generalizzata al calcolo della energia della rispostaimpulsiva h(k) associata alla f.d.t. razionale stabile H(z) = BM (z)/AN (z)con M ≤ N . Allo scopo basta esprimere BM (z) come combinazione linearedei polinomi ortogonali An(z): BM (z) =

∑Mn=0 cnAn(z). Si ottiene:

∞∑

k=0

h2(k) =1

2πj

cH(z)H(z−1)

dz

z= < BM (z), BM (z) > (C.33)

= <M∑

n=0

cnAn,M∑

n=0

cnAn > =M∑

n=0

c2n < An, An > (C.34)

=M∑

n=0

c2nα2

n (C.35)

Si osserva che si e dimostrata la ortogonalita dei polinomi An(z) e An(z)rispetto a z−i con funzione peso la RA(ejθ) = 1/|AN (ejθ)|2, dove AN (z) e ilpolinomio a fase minima generatore degli An(z) e An(z) tramite (C.4) e (C.5):nel seguito, analizzando la condizione (C.49), verificheremo che la proprieta diortogonalita vale relativamente a qualsiasi funzione peso non negativa R(ejθ)avente la stessa ”parte iniziale” dello sviluppo in serie di Fourier della RA(ejθ).

I polinomi An(z) (ortogonali sul cerchio di raggio unitario rispetto ad unafunzione peso non-negativa) sono noti come i polinomi di Grenander-Szego[22].

C.4 Polinomi ortogonali sul cerchio di raggio unitario e predi-

zione lineare.

Presentiamo, infine, una importante connessione tra i polinomi ortogonali su|z| = 1 ed il problema del predittore lineare ottimo ad un passo di un processostazionario x(k). Per una trattazione completa ed elegante dell’argomento siveda [53]; qui si e adattata la presentazione fatta in [41].

Allo scopo premettiamo la seguente osservazione. Se applichiamo il pro-cesso stazionario x(k), che supponiamo a media nulla, a due sistemi linearistabili aventi risposta impulsiva s(k) e t(k) e calcoliamo la correlazione mutuaE[ys(k+n)yt(k)] delle corrispondenti risposte forzate, ys(k) e yt(k), per n = 0,otteniamo una espressione perfettamente uguale alla (C.15), pur di sostituirele rA(k) e RA(ejθ), rispettivamente, con la autocorrelazione rx(k) e la densita

204 C.4 Polinomi ortogonali sul cerchio di raggio unitario e predizione lineare.

spettrale Rx(ejθ) del processo:

E[ys(k)yt(k)] =∑

k,i

s(k)t(i)rx(k − i)

=

∫ 2π

0S(ejθ)T (e−jθ)Rx(ejθ)

2π=

1

2πj

cS(z)T (z−1)Rx(z)

dz

z

= < S(z), T (z) >

(C.36)La (C.36) definisce ancora il prodotto interno di s(k) e t(k) o delle loro trasfor-mate S(z) e T (z) rispetto alla funzione peso rx(k) o Rx(z), e la condizione diortogonalita < S, T >= 0, corrisponde alla E[ys(k)yt(k)] = 0, cioe alla ortogo-nalita di yt(k) e ys(k) (e quindi alla loro incorrelazione se x(k) e a media nulla).

Ad esempio, per S(z) = z−m e T (z) = z−n si ha ys(k) = x(k − m) eyt(k) = x(k − n) e quindi:

E[x(k − m)x(k − n)] = rx(m − n) = rx(n − m) = < z−m, z−n > (C.37)

e per S(z) =∑N

k=0 s(k)z−k e T (z) = z−n si ha ys(k) =∑N

m=0 s(m)x(k −m) eyt(k) = x(k − n) e quindi:

E[N∑

m=0

s(m)x(k − m)x(k − n)] =N∑

m=0

s(m)rx(n − m)

=1

2πj

cS(z)Rx(z)zn dz

z= < S(z), z−n >

Consideriamo all’istante k una approssimazione, x+(k), di x(k) ottenutacome combinazione lineare a coefficienti reali degli N valori precedenti, x(k −1), x(k − 2), · · · , x(k − N) (predizione causale o ”in avanti” o ”forward”):

x+(k) = −N∑

m=1

amx(k − m). (C.38)

Il processo

e+N (k) = x(k) − x+(k) = x(k) +

N∑

m=1

amx(k − m) (C.39)

rappresenta l’errore associato alla predizione di x(k) tramite x+(k) e puo pen-sarsi ottenuto filtrando x(k) con il filtro FIR di f.d.t.

AN (z) = 1 +N∑

m=1

amz−m

Appendice C. Proprieta associate alla realizzazione a traliccio. 205

Se misuriamo la qualita della predizione con la potenza dell’errore di predi-zione, si ha posto a0 = 1:

E[e2N ] = E[(

N∑

m=0

amx(k − m))2]

=N∑

m=0

N∑

n=0

amanrx(m − n)

=

∫ 2π

0|AN (ejθ)|2Rx(ejθ)

2π= < AN (z), AN (z) > (C.40)

ed e facile determinare i coefficienti am del predittore in modo da rendereminima tale potenza:

α2N

4= min

amE[e2

N ] = minam

‖ AN ‖2 (C.41)

Derivando rispetto ai coefficienti am si trova:

0 =1

2

∂E[e2N ]

∂ai(C.42)

= E[e+N (k)x(k − i)] (C.43)

= rx(i) +N∑

m=1

aoptm rx(i − m) (C.44)

= < AoptN (z), z−i > i = 1, 2, · · · , N (C.45)

e quindi, in base alla (C.43), in corrispondenza del minimo l’errore e+N (k)

e ortogonale ai dati x(k − i) per i = 1, 2, ..., N , condizione espressa in formaesplicita in termini dei coefficienti aopt

m dalla (C.44). Essa si trasforma, tramitela (C.38), nella condizione equivalente (C.45), in base alla quale la f.d.t. delfiltro FIR associato, Aopt

N (z), risulta ortogonale su |z| = 1 alle potenze z−i peri = 1, 2, ..., N , rispetto alla funzione peso Rx(ejθ).

Il filtro AoptM (z) associato ai coefficienti del predittore ottimo, viene detto

”filtro sbiancante”. L’attributo ”sbiancante” e giustificato dal fatto che, comesi mostrera tra poco, per N → ∞ il processo di errore e+

N (k) diviene un rumorebianco.

La potenza minima dell’errore di predizione risulta

α2N

4= min

amE[e2

N ] = minam

< AN (z), AN (z) > (C.46)

= rx(0) +N∑

m=1

aoptm rx(m) (C.47)

= < AoptN (z), 1 > (C.48)

206 C.4 Polinomi ortogonali sul cerchio di raggio unitario e predizione lineare.

Nel seguito, per semplicita di notazione, indicheremo con AN (z) e am il filtrosbiancante e il suo coefficiente generico.

Se si esclude il caso dei processi stazionari (detti puramente deterministici[53]) i quali soddisfano una equazione del tipo

x(k) = −M∑

m=1

amx(k − m)

e che quindi sono esattamente predicibili a partire dalla sola conoscenza delpassato1 (α2

N = 0 per N ≥ M), si ha E[e2N ] > 0 per ogni scelta dei coefficienti

am e risulta α2N > 0.

In pratica, gli N coefficienti am del predittore lineare ottimo si trovanorisolvendo il sistema lineare di N equazioni (dette ”normali” o di Yule-Walker)

rx(i) +N∑

m=1

amrx(i − m) = 0 i = 1, 2, · · · , N (C.49)

La matrice del sistema (C.49) e di Toplitz (gli elementi sulla diagonale princi-pale sono uguali come pure quelli sulle parallele) e simmetrica, ed e costruitacoi valori dell’autocorrelazione del processo: rx(0), rx(1), ·, rx(N − 1), quindirisulta definita positiva. Il vettore dei termini noti e costituito dai valorirx(1), rx(2), ... , rx(N).

E importante osservare che la soluzione della (C.49) rimane inalterata sesi dividono tutti i valori rx(i), i = 0, 1, · · · , N , per rx(0) (o per una costantearbitraria). Se ne deduce che il predittore ottimo di ordine N dipende solo daivalori assunti dalla funzione di autocorrelazione normalizzata del processo,ρx(i) = rx(i)/rx(0), per i = 1, 2, · · · , N . Ne viene che lo stesso predittoreottimo e associato a tutti i processi con densita spettrali normalizzate rispettoalla varianza (quindi a varianza unitaria)

R′x(ejθ) =

Rx(ejθ)

rx(0)= 1 + 2

∞∑

i=1

ρx(i) cos iθ

che hanno la stessa ”parte iniziale” dello sviluppo in serie di Fourier, piu pre-cisamente che hanno uguali i coefficienti ρx(i) per i = 1, · · · , N .Si osserva che ad ogni N–pla di coefficienti ρx(i), i = 1, 2, · · · , N , rimane asso-ciato tramite le (C.49) un unico polinomio AN (z) il quale, come vedremo nelseguito, risulta a fase minima. Vale anche il viceversa, nel senso che ad ognipolinomio a fase minima rimane associata tramite il sistema (C.49) una unicaN–pla di coefficienti ρx(i).

1Gli zeri di AM (z) = 1+∑M

m=1amz−m sono tutti semplici e sul cerchio di raggio unitario.

Appendice C. Proprieta associate alla realizzazione a traliccio. 207

Per dare significato al reciprocato AN (z) di AN (z) consideriamo il prob-lema della predizione di x(k) con un predittore lineare anticausale (detto anche”all’indietro” o ”backward”):

x−N (k) = −

N∑

m=1

bmx(k + m) (C.50)

La ricerca del predittore ottimo corrispondente e equivalente alla ricerca delpredittore causale: y+

N(k) = −∑Nm=1 amy(k − m) del processo y(k) = x(−k).

Per x(k) stazionario, la rx(k) = rx(−k) implica la ry(k) = rx(k) e quindi, inbase a (C.49), le f.d.t. dei corrispondenti filtri sbiancanti sono collegate dallarelazione

BN (z) = 1 +N∑

m=1

bmzm = AN (z−1) (C.51)

cioe il filtro sbiancante associato all’errore di predizione all’indietro, BN (z),e dato dalla versione anticausale, AN (z−1), del filtro sbiancante, AN (z), as-sociato all’errore di predizione in avanti. Ovviamente la potenza dell’erroredi predizione all’indietro risulta uguale a quella associata alla predizione inavanti:

β2N

4=< BN (z), BN (z) > = < AN (z−1), AN (z−1) > = < AN (z), AN (z) > = α2

N .(C.52)

Se rendiamo causale il predittore anticausale ottimo AN (z−1) introducendo unritardo di N quanti temporali, otteniamo la f.d.t. del filtro sbiancante causaleassociato all’errore ”all’indietro”: AN (z) = z−NA(z−1).In corrispondenza, i processi di errore ”in avanti” e ”all’indietro” sono dati,ad esempio, per N = 2 dalle

e+2 (k) = x(k) + a1x(k − 1) + a2x(k − 2) → A2(z) = 1 + a1 + a2z

−2

e−2 (k) = x(k − 2) + a1x(k − 1) + a2x(k) → A2(z) = a2 + a1z−1 + z−2.(C.53)

Quindi e+2 (k) e l’errore relativo alla predizione in avanti di x(k) a partire da

x(k−1) e x(k−2) ed i coefficienti a1 e a2 rendono e+2 (k) ortogonale a x(k−1) e

x(k−2), mentre e−2 (k) e l’errore relativo alla predizione all’indietro di x(k−2)a partire da x(k − 1) e x(k) ed i coefficienti a1 e a2 rendono e−2 (k) ortogonalea x(k − 1) e x(k).

Se vogliamo che entrambe le predizioni siano riferite alle medesime osser-vazioni, x(k−1) e x(k−2), dobbiamo introdurre un ritardo di un quanto nellaseconda delle (C.53):

e−2 (k−1) = x(k−3)+a1x(k−2)+a2x(k−1) → z−1A2(z) = a2z−1+a1z

−2+z−3

(C.54)

208 C.4 Polinomi ortogonali sul cerchio di raggio unitario e predizione lineare.

ed il processo e−2 (k − 1) risulta ortogonale a x(k − 1) e x(k − 2) al pari die+2 (k). Corrispondentemente si ottiene la f.d.t. z−1A2(z), che si generalizza

nella z−1AN (z).

La condizione di ortogonalita (C.45) si lascia riscrivere come

0 =< AN (z), z−i > = < z−NAN (z−1), z−N+i > i = 1, 2, · · · , N,

da cui discende che < AN (z), z−i > = 0 per i = 0, 1, · · ·N − 1, quindi< z−1AN (z), z−i > = 0 per i = 1, 2, · · · , N , condizioni che esprimono laortogonalita ai dati di e−N (k) e di e−N (k − 1), rispettivamente. Ovviamente, si

ha < AN , AN > = < z−1AN , z−1AN > = < AN , AN >.

C.4.1 Algoritmo di Levinson e realizzazione a traliccio del filtro sbiancante

Alle proprieta della matrice del sistema (C.49) e dei predittori in avanti eall’indietro e legato un algoritmo veloce di calcolo dei coefficienti del predit-tore ottimo. L’algoritmo e detto di Levinson o di Levinson–Durbin ed ha lacaratteristica essenziale di essere ricorsivo nell’ordine, cioe esso porge il predit-tore ottimo di ordine N costruendo ricorsivamente i predittori ottimi di ordine1, 2, · · · , N − 1 e N .

Per la sua presentazione indichiamo con

An(z) = 1 +n∑

m=1

an,mz−m

la f.d.t del filtro sbiancante di ordine n e osserviamo che per n = 1 si ha

rx(1) + a1,1rx(0) = 0 =⇒ a1,1 = −rx(1)

rx(0)=

E[x(k)x(k − 1)]

E[x2(k)](C.55)

α21 = rx(0)(1 − a2

1,1) (C.56)

Sia An−1(z) il filtro sbiancante associato al predittore ottimo di ordine n− 1,che soddisfa la < An−1, z

−i > = 0 per i = 1, 2, · · · , n−1, e z−1An−1(z) il filtrosbiancante all’indietro ad esso ”allineato” nel senso della (C.54), che soddisfala < z−1An−1(z), z−i > = 0 per i = 1, 2, · · · , n − 1.Sia inoltre α2

n−1 la corrispondente varianza dell’errore di predizione:

α2n−1 = < An−1, An−1 > = < An−1, 1 > = rx(0) +

n−1∑

m=1

an−1,mrx(m)

(C.57)Le proprieta di ortogonalita di An−1(z) e z−1An−1(z) o dei processi di er-rore corrispondenti (e+

n−1(k) ed e−n−1(k − 1) sono ortogonali a x(k − i), i =

Appendice C. Proprieta associate alla realizzazione a traliccio. 209

1, 2, · · · , n − 1 ed e−n−1(k − 1) rappresenta la quotaparte di x(k − n) di cuinon rende conto la predizione lineare su n − 1 dati), suggeriscono di costru-ire il filtro sbiancante di ordine n come loro combinazione lineare secondo uncoefficiente kn, cioe proprio secondo la (C.3), qui riprodotta per comodita,

An(z) = An−1(z) + knz−1An−1(z) (C.58)

Infatti il predittore ottimo di ordine n e caratterizzato dalla < An(z), z−i >= 0 per i = 1, 2, · · · , n, e tale condizione e soddisfatta dalla (C.58) per i =1, 2, · · · , n− 1 qualsiasi sia il valore del parametro kn. La (C.58) porge quindiil filtro sbiancante associato al predittore ottimo di ordine n, se kn e scelto inmodo da soddisfare la condizione:

0 = < An(z), z−n > = < An−1(z), z−n > +kn· < z−1An−1(z), z−n > (C.59)

dove < z−1An−1(z), z−n > = < An−1(z), z−(n−1) > = < An−1(z), 1 > =α2

n−1.Quindi

kn = −< An−1(z), z−n >

α2n−1

= −

n−1∑

i=0

an−1,irx(n − i)

α2n−1

. (C.60)

Per la varianza dell’errore di predizione si puo ripetere il calcolo che ha portatoalla (C.30), ottenendo la relazione

α2n = < An(z), An(z) > = α2

n−1(1 − k2n), (C.61)

che lega la varianza dell’errore associato al predittore ottimo di ordine n aquella del predittore ottimo di ordine n− 1 tramite il coefficiente di riflessionekn: piu prossimo ad uno e |kn| e tanto piu piccola e α2

n rispetto a α2n−1.

Dalla (C.61) risulta che, essendo α2n > 0 (per processi puramente non

deterministici [53] e per processi deterministici di ordine inferiore a n), il co-efficiente di riflessione, kn, soddisfa la: |kn| < 1, e quindi, come anticipato, ilfiltro sbiancante An(z) e a fase minima, il che implica che x(k) possa esserericostruito filtrando e+

n (k) con la f.d.t. a soli poli 1/An(z), cioe

x(k) = −n∑

m=1

an,mx(k − m) + e+n (k).

Si ha inoltre che (come deve essere) la varianza soddisfa la α2n ≤ α2

n−1 e risulta:

α2N = rx(0)

N∏

n=1

(1 − k2n) (C.62)

210 C.4 Polinomi ortogonali sul cerchio di raggio unitario e predizione lineare.

α20 = rx(0)

A0(z) = A0(z) = 1for n = 1, N

kn = −

n−1∑

i=0

an−1,i rx(n − i)

α2n−1

An(z) = An−1(z) + knz−1An−1(z)

An(z) = z−nAn(z−1)α2

n = α2n−1(1 − k2

n)end;

Tabella C.1 Algoritmo di Levinson

In definitiva l’algoritmo ricorsivo nell’ordine risulta come in Tab. C.1. Lacomplessita di calcolo e dell’ordine di N 2 e la memoria richiesta e dell’ordine diN , contro una complessita ed una memoria dell’ordine di N 3 e N2, rispettiva-mente, corrispondenti alla soluzione del sistema lineare (C.49) con un metododi tipo generale (ad esempio, il metodo di Cholesky, che sfrutta il fatto che lamatrice del sistema e definita positiva).In effetti la sua piu importante caratteristica e la ricorsivita nell’ordine delpredittore, dato che in pratica il costo associato al calcolo della sequenzarx(i), i = 0, 1, · · · , N , a partire dai dati, e sempre molto superiore a quellodella soluzione del sistema (C.49). Infatti il calcolo di una stima di rx(i) apartire da un blocco di L dati, x(k), x(k + 1), · · · , x(k + L− 1), ha complessitaL·N che risulta molto maggiore di N 2 non appena sia, come e sempre, L N .

L’algoritmo di Levinson e la realizzazione a traliccio del filtro sbiancante

L’algoritmo di Levinson e intimamente legato alla realizzazione a traliccio delfiltro sbiancante AN (z). Posto

e+n−1(k) =

n−1∑

m=0

an−1,mx(k − m) (C.63)

e−n−1(k) =n−1∑

m=0

an−1,mx(k − m) an−1,m = an−1,n−1−m(C.64)

Appendice C. Proprieta associate alla realizzazione a traliccio. 211

con e+0 (k) = e−0 (k) = x(k), le equazioni di aggiornamento dei filtri sbiancanti

An(z) e An(z) divengono le equazioni di aggiornamento degli errori

e+n (k) = e+

n−1(k) + kne−n−1(k) n = 1, 2, · · · , Ne−n (k) = kne+

n−1(k) + e−n−1(k) (C.65)

Alle (C.65) va aggiunta la equazione per il calcolo di kn tramite (C.60). Poichez−1An−1(z) ha grado n ed ha nullo il coefficiente di z0 e unitario quello di z−n,al numeratore della (C.60) si puo dare la importante forma alternativa:

< An−1(z), z−n > = < An−1(z), z−1An−1(z) > = E[e+n−1(k)e−n−1(k − 1)].

(C.66)Quindi il coefficiente kn si puo esprimere come:

kn = −E[e+n−1(k)e−n−1(k − 1)]

α2n−1

(C.67)

secondo la quale kn risulta pari all’opposto del coefficiente di correlazione trae+n−1(k) ed e−n−1(k − 1)2. Se ne deduce ancora che |kn| ≤ 1, e che |kn| < 1 se il

processo di ingresso non e puramente deterministico, in particolare periodico.

In definitiva i filtri sbiancanti ottimi in avanti e all’indietro di ordine N ,possono essere realizzati con la cascata di N celle a traliccio: gli errori e+

n (k)ed e−n (k), associati ai predittori ottimi di ordine n, sono ottenuti filtrando glierrori e+

n−1(k) ed e−n−1(k), associati ai corrispondenti predittori di ordine n−1,con una cella a traliccio (Fig. C.1), che rappresenta le operazioni associatealla (C.65): il moltiplicatore kn e calcolabile secondo le (C.61) e (C.67) apartire dai due processi di ingresso, e+

n (k) ed e−n (k), in modo perfettamenteequivalente a quanto avviene nella determinazione del predittore ottimo delprimo ordine (equazioni (C.56)).

Si osservi che, al contrario, in una realizzazione in forma diretta di AN (z),l’aumento dell’ordine del predittore da n − 1 a n comporta che nella real-izzazione, accanto all’aggiunta di un elemento di ritardo, tutti i coefficientian−1,m vengano (ricalcolati e) cambiati nei coefficienti an,m. In altri termini,relativamente alla determinazione della f.d.t. del filtro sbiancante di ordineN , la parametrizzazione di AN (z) in termini dei coefficienti di riflessione kn euna parametrizzazione ortogonale: essa consente di determinare AN (z) comesoluzione sequenziale di N problemi di predizione, in cui ogni problema erelativo alla determinazione del predittore del primo ordine della coppia diprocessi e+

n (k) ed e−n (k) con n = 1, 2, · · · , N − 1 ed e+0 (k) = e−0 (k) = x(k),

2Nell’ipotesi di stazionarieta le varianze degli errori di predizione in avanti e all’indietrosono uguali e quindi il denominatore della (C.67) risulta αn−1βn−1 = α2

n−1.

212 C.4 Polinomi ortogonali sul cerchio di raggio unitario e predizione lineare.

e (k)-

1

-en-1

(k)

+e

n(k)

-e

n(k)

x(k)

z-1

k 1

z-1

k n

+e (k)1

+e (k)n-1

Figura C.1 Realizzazione a traliccio del filtro sbiancante.

a partire dagli errori ottenuti al passo precedente (analogamente a quantoavviene nello sviluppo di una funzione f in serie di funzioni ortogonali, φn ,in cui la migliore approssimazione ai minimi quadrati di ordine N si ottieneaggiungendo a quella di ordine N − 1 il termine cNφN con cN determinatotramite la < f, φN >= cN < φN , φN >).Tale notevole proprieta e conseguenza diretta della ortogonalita delle f.d.t.An(z) e z−1An(z):

< An(z), Am(z) > = < z−1An(z), z−1Am(z) >= 0 0 ≤ m 6= n ≤ N(C.68)

o equivalentemente della ortogonalita (incorrelazione nelle ipotesi attuali sux(k)) dei corrispondenti processi di errore all’indietro:

E[e−n (k)e−m(k)] = E[e−n (k − 1)e−m(k − 1)] = 0 0 ≤ m 6= n ≤ N(C.69)

Alla (C.58) e associata la rappresentazione di AN (z) in termini delle f.d.t.ortogonali z−1An(z)

AN (z) = 1 +N∑

m=1

knz−1An−1(z), (C.70)

cui corrisponde la rappresentazione di e+N (k) in termini dei processi ortogonali

e−n (k − 1) data dalla relazione:

e+N (k) = x(k) +

N∑

n=1

kne−n−1(k − 1) (C.71)

con x(k) = e−0 (k). La (C.71) mostra che l’errore e+N (k) e esprimibile come

combinazione lineare degli N processi di errore e−n (k − 1), n = 0, 1, · · · , N − 1,ciascuno pesato secondo il coefficiente di riflessione kn+1, oltre che ovviamentedi x(k) = e−0 (k).

Appendice C. Proprieta associate alla realizzazione a traliccio. 213

C.4.2 Proprieta spettrali dell’errore di predizione

Si e osservato in precedenza, a proposito della (C.49), che lo stesso predittoreottimo di ordine N e associato a tutti i processi stazionari aventi gli stessivalori della funzione di autocorrelazione normalizzata ρx(i) per i = 1, ..., N(ρx(0) = 1 per costruzione).

In particolare, se gli am sono i coefficienti del predittore ottimo di ordine Nassociati al processo x(k), e facile verificare che la funzione di autocorrelazione,ry(i) = E[y(k)y(k + i)], del processo autoregressivo

y(k) = −N∑

m=1

amy(k − m) + w(k) (C.72)

con w(k) processo bianco a media nulla e varianza σ2w, soddisfa alle (C.49) e

quindi il processo y(k) e uno dei processi cui corrisponde il filtro sbiancanteAN (z).Infatti, se si moltiplicano ambo i membri di (C.72) per y(k−i), se ne calcola laaspettazione e si osserva che la incorrelazione di w(k) comporta la E[w(k)y(k−i)] = 0 per i > 0, si trova:

ry(i) +N∑

m=1

amry(i − m) = 0 ∀i > 0 (C.73)

da cui la conclusione. Si osservi che, tra i processi che soddisfano alla (C.49),il processo autoregressivo (C.72) e l’unico che la soddisfa non solo per i =1, 2, · · · , N , ma anche per ogni valor positivo di i.

La considerazione del processo autoregressivo (C.72) consente di dedurre treimportanti risultati.

Il primo giustifica il nome di filtro sbiancante dato alla f.d.t. AN (z) as-sociata al predittore ottimo di ordine N del processo x(k). Infatti la densitaspettrale di potenza di y(k) e data da

Ry(ejθ) =σ2

w

|AN (ejθ)|2

e le densita Ry(ejθ)/σ2y e Rx(ejθ)/σ2

x hanno uguali i primi N + 1 termini dellosviluppo in serie di Fourier e quindi coincidono per N → ∞. Ne viene cheasintoticamente la densita spettrale ReN (ejθ) = |AN (ejθ)|2Rx(ejθ), associataall’errore di predizione e+

N (k) (o e−N (k)) soddisfa la relazione

limN→∞

ReN (ejθ) = limN→∞

|AN (ejθ)|2Rx(ejθ) = cost (C.74)

214 C.4 Polinomi ortogonali sul cerchio di raggio unitario e predizione lineare.

da cui si conclude che l’errore di predizione e asintoticamente bianco.

Inoltre, moltiplicando ambo i membri di (C.72) per w(k), si trova laE[y(k)w(k)] = E[w2(k)] = σ2

w e quindi, moltiplicando per y(k) la (C.72),si trova

ry(0) +N∑

m=1

amry(m) = σ2w (C.75)

La (C.75) mostra che, se nella (C.72) si sceglie la varianza del processo biancow(k) pari al valore α2

N = min[E(e2N )] dato dalla (C.47), si ottiene un processo

y(k) che oltre a verificare la ρy(i) = ρx(i) per i = 0, 1, · · · , N , verifica anche lary(i) = rx(i) per i = 0, 1, · · · , N .

A questo punto la condizione rx(0) = ry(0), espressa in termini di densitaspettrali, diviene:

σ2x =

∫ 2π

0

ReN (ejθ)

|AN (ejθ)|2dθ

2π= α2

N

∫ 2π

0

1

|AN (ejθ)|2dθ

2π(C.76)

dove la prima espressione vale per ogni AN (z) a fase minima, mentre la secondavale solo per il filtro sbiancante associato al predittore ottimo del processo x(k).

Il confronto tra le due espressioni di σ2x consente di trarre la importante

conclusione che, per quanto riguarda il calcolo della varianza di x(k), la den-sita spettrale dell’errore di predizione associato al predittore ottimo (densitache e costante solo asintoticamente) si comporta come quella di un rumorebianco di pari varianza, cioe di varianza α2

N .

Infine la considerazione del processo autoregressivo y(k) consente di dareuna espressione al valore asintotico della varianza dell’errore di predizione.Allo scopo dimostriamo che, se AN (z) e un polinomio monico (A(∞) = 1) afase minima, ln |AN (ejθ)| ha valore medio nullo. Infatti, applicando il teoremadei residui, si ha∫ 2π

0ln |AN (ejθ)|dθ = Re

[∫ 2π

0ln AN (e−jθ)dθ

]

= Re

[

|z|=1ln AN (z−1)

dz

z

]

= Re [2πj ln AN (∞)] = 0. (C.77)

Quindi la densita spettrale del processo autoregressivo y(k) corrispondentealla (C.72) con σ2

w = α2N soddisfa la condizione

∫ 2π

0ln

α2N

|AN (ejθ)|2dθ

2π= ln α2

N (C.78)

da cui, ricordando che limN→∞ α2N/|AN (ejθ)|2 = Rx(ejθ), si ottiene

limN→∞

σ2x

α2N

=

∫ 2π0 Rx(ejθ) dθ

exp[

∫ 2π0 ln Rx(ejθ) dθ

] (C.79)

Appendice C. Proprieta associate alla realizzazione a traliccio. 215

Il rapporto tra la varianza σ2x del processo e la varianza α2

N dell’errore dipredizione viene detto guadagno di predizione. In base alla (C.79) esso tendeper N → ∞ al rapporto tra la media aritmetica e la media geometrica3 delladensita spettrale del processo x(k): tale valore e minimo e pari ad uno perun processo bianco, ed e massimo e pari a infinito per un processo puramentedeterministico, ad esempio, con spettro a righe, per il quale l’integrale diln Rx(ejθ) e nullo.

3Se θk = 2πk/L con k = 0, 1, · · · , L−1, si ha (∏

kRx(ejθk ))1/L = exp(

kln Rx(ejθk )/L)

da cui passando al limite per L → ∞ si ottiene il numeratore della (C.71).

216 C.4 Polinomi ortogonali sul cerchio di raggio unitario e predizione lineare.

Bibliografia

[1] P. Aziz, H. Sorensen, J. Van der Spiegel: ”An overview of sigma-deltaconverters”, IEEE Signal Processing Magazine, 13, 1, 61-84, Jan. 1996.

[2] L. Banzato, N. Benvenuto, G. Cortelazzo: ”A design technique for two-dimensional multiplierless FIR filters for video applications”, IEEE Trans.Circuits Syst. Video Technology, 2, 273-284, Sept. 1992.

[3] C. Barnes: “On the design of optimal state–space realizations of second–order digital filters”, IEEE Trans. Circuits and Systems, 31, 602-608, July1984.

[4] B. Bomar, J. Hung: “Minimum roundoff noise filters with some power–of–two coefficients”, IEEE Trans. Circuits and Systems, 31, 10, 833-840,Oct. 1984.

[5] B. Bomar: “New second–order state–space structures for realizing lowroundoff noise digital filters”, IEEE Trans. Acoust., Speech, Signal Proc.,333, 106-110, Feb. 1985.

[6] . Butterwerk, J. Ritzerfeld, M. Werter: “Finite wordlength in digitalfilters: a review”, Report 88-E-205, Eindhoven University of Technology,Oct. 1988.

[7] G.F. Cariolaro: “Analisi spettrale”, Progetto, Padova, 1992.

[8] G.F. Cariolaro: “La teoria unificata dei segnali”, UTET, Milano, 1966.

[9] T. Claasen et al: ”Signal processing for improving the dynamic range ofA/D and D/A converters”, IEEE Trans. Acoust., Speech, Signal Proc.,5, 529-538, Oct. 1980.

[10] V. Comincioli: “Analisi numerica: metodi, modelli e applicazioni”,McGraw–Hill, Milano, 1995.

[11] J. Coonen: ”An implementation guide to a proposed standard for floatingpoint”, Computer, 68-79, Jan. 1980.

[12] A.G. Constatinides ”Alternative approach to design of wawe digital fil-ters”. Electronics letters, 10, 5, 56-60, Jan. 1974.

218 BIBLIOGRAFIA

[13] S. Cucchi, F. Molo: ”Digital filters derived from LC ladders”, Rapportodi Laboratorio Telettra, 13/77, Milano, Settembre 1977.

[14] G.Dehner: ”Optimization of roundoff noise in recursive digital filters”,AEU, 29, 12, 505-510, 1975.

[15] A. Fettweis: ”Digital filter structures related to classical filter networks”,AEU, 25, 2, 79-89, 1971.

[16] A. Fettweis: ”Wave digital filters: theory and practice”, Proc. of theIEEE, 74, 2, 270-327, Feb. 1986.

[17] E. Fornasini, G. Marchesini: “Appunti di teoria dei sistemi”, LibreriaProgetto, Padova, 1992.

[18] L. Gazsi: ”Explicit formulas for lattice wave digital filters”, IEEE Trans.Circuits and Systems, 32, 68-88, Jan. 1985.

[19] R.M. Gray: ”Source coding theory”, Kluwer, Boston, 1990.

[20] A.H. Gray, J. Markel: ”Digital lattice and ladder filter synthesis”, IEEETrans. Audio Electroacoust., 21, 491-500, Dec .1973.

[21] A.H. Gray, J. Markel: ”A normalized digital filter structure”, IEEE Trans.Acoust., Speech, Signal Proc., 23, 268-277, June 1974.

[22] U. Grenander, U. Szego: ”Toeplitz forms and their application”, Univer-sity of California Press, Berkeley, 1958.

[23] K. Hwang: ”Computer arithmetic”, Wiley, N.Y., 1979.

[24] J.P. Hayes: “Computer architecture and organization”, McGraw Hill,N.Y., 1988.

[25] S. Hein, A. Zakhor: ”Sigma delta modulators”, Kluwer, Boston, 1993

[26] W. Higgins, D. Munson: ”Optimal and suboptimal error spectrum shap-ing for cascade-form digital filters”, IEEE Trans. Circuits and Systems,31, 429-437, 1984.

[27] L. Jackson: ”Digital filters and signal processing”, Kluwer, Boston, 1986.

[28] L. Jackson, A. Lindgreen Y. Kim: “Optimal synthesis of second–orderstate–space structures for digital filters”, IEEE Trans. Circuits and Sys-tems, 26, 149-153, March 1979.

BIBLIOGRAFIA 219

[29] L. Jackson: ”Roundoff noise analysis for fixed point digital filters realizedin cascade and parallel form”, IEEE Trans. Audio and Electroacoust.,AU-18, 107-122, June 1970.

[30] N. Jayant, P.Noll: ”Digital coding of waveforms”, Prentice-Hall,Englewood-Cliffs, NJ, 1984.

[31] E.I. Jury: ”Theory and applications of the Z-transform method”, JohnWiley and Sons, N.Y., 1964.

[32] H. Kikuchi, H. Watanabe e T. Yanagisawa: ”Interpolated FIR filtersusing cyclotomic polynomials”, Proc. IEEE ISCAS, 2009-2012, Helsinky,1988.

[33] A. Laub: ”Numerical linear algebra aspects of control design computa-tions”, IEEE Trans. Automatic Control, 30, 2, 97-108, Feb. 85.

[34] A. Lepschy, U. Viaro: ”Guida allo studio dei controlli automatici”, Pa-tron, Bologna, 1986.

[35] A. Lepschy, G.A. Mian, U. Viaro: “Contributions to the study of thequantization effects in fixed–point digital filters”, Alta Frequenza, LIII,1, 3-14, Jan. 1989.

[36] Y.C. Lim, S.R. Parker: ”FIR filter design over a discrete powers–of–twocoefficient space”, IEEE Trans. Acoust., Speech, Signal Proc., 31, 583-591, June 1983.

[37] L.P. Lipshitz, R.A. Wanmaker, J. Vanderkooy: “Quantization and dither:a theoretical survey”, J.Audio Eng. Soc., 40, 355-375, May 1992.

[38] J.L. Long, T.N. Trick: “An absolute bound on limit cycles due to roundofferrors in digital filters”, IEEE Trans. on Audio and Electroacoustics, Vol.AU-21 n.l, 27-30,Feb.1973.

[39] H. Lu, E. Lee, D. Messerschmitt: “Fast recursive filtering with slow pro-cessing elements”, IEEE Trans. Circuits and Systems, 32, 11, 1119-1129,Nov. 1985.

[40] J.D. Markel, A.H. Gray: ”Linear prediction of speech”, Springer-Verlag,Berlin, 1976.

[41] J.Markel, A.Gray: ”Roundoff characteristics of a class of orthogonal poly-nomials structures”, IEEE Trans. Acoust., Speech, Signal Proc., 23, 5,473-485, Oct.1975.

220 BIBLIOGRAFIA

[42] G. Martinelli, M. Salerno: “Fondamenti di Elettrotecnica”, Ed. Siderea,Roma, 1979.

[43] G.A. Mian, A.P. Nainer: ” On the performance of optimum linear phaselow-pass digital filters under impulse response coefficient quantization”,IEEE Trans. Acoust., Speech, Signal Processing, 29, 4, 928-932, Aug.1981.

[44] W. Mills, C. Mullis, R. Roberts: “Low roundoff noise and normal real-izations of fixed point IIR digital filters”, IEEE Trans. Acoust., Speech,Signal Processing, 29, 893-903, Aug. 1981.

[45] L. Montgomery, B. Bomar, R. Joseph, G. Chia-Jin Yang: “Floating–point analysis of second order state–variable digital filter structure”, IEEETrans. Circuits and Systems II, 39, 2, 90–98, Feb. 1992.

[46] C. Mullis, R. Roberts: “Synthesis of minimum roundoff noise fixed pointdigital filters”, IEEE Trans. Circuits and Systems, 23, 551–561, Sept.1976.

[47] C. Mullis, R. Roberts: “Roundoff noise in digital filters: frequency trans-formations and invariants”, IEEE Trans. Acoust., Speech, Signal Process-ing, 24, 538-550, Dec. 1976.

[48] Y. Neuvo, C. Dong e S.K. Mitra: ”Interpolated finite impulse responsefilters”, IEEE Trans. Acoust., Speech, Signal Processing, 32, 3, 563-570,April 1980.

[49] A. Oppenheim, R. Schafer: ”Discrete–time signal processing”, Prentice-Hall, Englewood-Cliffs, NJ, 1991.

[50] A.V. Oppenheim, R.W. Shafer: ”Digital signal processing”, Prentice-Hall, Englewood-Cliffs, 1975.

[51] H. Orchard: ”Inductorless filters”, Electron. Letters, 2, 224-225, 1966.

[52] A.Peled, B.Liu: ”Digital signal processing”, J.Wiley & Sons, N.Y., 1976.

[53] G. Picci: ”Elementi di elaborazione statistica del segnale”, CLEUP,Padova, 1986.

[54] B.D. Rao: “Floating point arithmetic and digital filters”, IEEE Trans.Signal Processing, 40, 1, 85–95, Jan. 1992.

[55] P. Regalia, S. Mitra, P. Vaidyanathan: ”The digital allpass filter: a ver-satile signal processing building block”, Proc. of the IEEE, 76, 1, 19-37,Jan. 1988.

BIBLIOGRAFIA 221

[56] L.R.Rabiner, B.Gold: ”Theory and application of digital signal process-ing”, Prentice-Hall, 1974.

[57] R. Roberts, C. Mullis: ”Digital signal processing”, Addison-Wesley, Read-ing, 1987.

[58] T. Saramaki, Y. Neuvo e S.K. Mitra: ”Design of computationally efficientinterpolated FIR filters”, IEEE Trans. Circuits and Systems, 35, 1, 70-87,April 1988.

[59] L. Schuchman: ”Dither signals and their effect on quantization noise”,IEEE Trans. Comm. Technology, 12, 162-165, Dec. 1964.

[60] D. Sereno, P. Valocchi: “Codifica numerica del segnale audio”, EdizioniSSGRR, L’Aquila, 1996.

[61] P. Sim, K. Pang: “Effects of input scaling on the asymptotic overflowstability properties of second–order recursive digital filters”, IEEE Trans.Circuits and Systems, 32, 10, 1008-1015, Oct. 1985.

[62] A. Sripad, D. Snyder: ”A necessary and sufficient condition for quanti-zation errors to be uniform and white”, IEEE Trans. Acoust., Speech,Signal Proc., 25, 442-450, Oct. 1977.

[63] J. Stoer: ”Introduzione all’analisi numerica”, Zanichelli, Bologna, 1979.

[64] L. Thiele: “On the sensitivity of linear state–space systems”, IEEE Trans.Circuits and Systems, 33, 5, 502-510, May 1986.

[65] T. Thong, B. Liu: ”Error shaping in narrowband recursive digital filters”,IEEE Trans. Acoust., Speech, Signal Process., 25, 200-203, 1977.

[66] A. Unver, K. Abdullah: ”A tighter practical bound on quantization errorsin second order digital filters with complex poles”, IEEE Trans. Circuitsand Systems, 22, 6, 632-633, June 1975.

[67] P. Vaidyanathan, S. Mitra: ”Low passband sensitivity digital filters”,Proc. of the IEEE, 72, 404-421, April 1984.

[68] P. Vaidyanathan, P. Regalia e S. Mitra: ”Design of doubly complemen-tary IIR digital filters using a single complex allpass filter”, IEEE Trans.Circuits and Systems, 34, 378-389, April 1987.

[69] P. Vaidyanathan, S. Mitra: ”Very low sensitivity FIR implementationusing structural passivity concept”, IEEE Trans. Circuits and Systems,32, 4, 360-364, April 1985.

222 BIBLIOGRAFIA

[70] P. Vaidyanathan, V. Liu: “An improved sufficient condition for absenceof limit cycles in digital filters”, IEEE Trans. Circuits and Systems, 34,3, 319-322, March 1987.

[71] A. Willson, H. Orchard: ”Insights into digital filters made as the sum oftwo allpass functions”, IEEE Trans. Circuits and Systems I, 42, 129-137,March 1995.

[72] A. I. Zverev: ”Handbook of filter synthesis”, J. Wiley and Sons, N.Y.1967.