Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Calcolo della sensibilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Sensibilità 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 sensibilità. . . . . . . . . . . . . . . . . . . . 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
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 o
software, utilizzando necessariamente una aritmetica a precisione finita, nella
quale i numeri sono rappresentati in virgola fissa o mobile. Poichè sia i segnali
di ingresso/uscita che le variabili interne e le costanti del sistema devono essere
rappresentate con un numero finito di cifre binarie (”registro” o ”parola” di
lunghezza finita), i sistemi a tempo discreto, una volta calati dal corpo dei
numeri reali all’insieme dei numeri ”realmente” rappresentabili in un ambiente
operante con aritmetica a precisione finita, diventano sistemi numerici e quindi
sistemi a stati finiti.
Si consideri, ad esempio, il sistema elementare descritto dalla funzione di
trasferimento:
b
H(z) = (1.1)
1 − a z −1
che corrisponde nel dominio delle frequenze ad un filtro ricorsivo passa–basso
o 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 o
a z = −1 (f = Fc /2 con Fc frequenza di campionamento) se a < 0, si pone
b = 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 il
segnale a tempo discreto di uscita y(kT ) sia trasformato nel segnale ana-
logico y(t) mediante un convertitore digitale–analogico ideale, modellabile
come la cascata di una trasformazione elementare di dominio da Z(T ) a R
seguita da un semplice filtro interpolatore a tenuta di funzione di trasferi-
mento H0 (s) = (1 − e−sT )/sT .
Uno schema a blocchi del sistema è riportato in Fig. 1.1 a), in cui il legame
fra l’ingresso x(kT ) e l’uscita y(kT ) è 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 ) e
ST AT O = y((k − 1)T ) secondo la (1.2) è la seguente (le operazioni di ingresso
2 1.1 Introduzione
t = kT → leggi X
Y =b∗X
Y = a ∗ ST AT O + Y (1.3)
ST AT O = Y
scrivi Y
R Z(T) R
b H 0(s)
x(t) y(t)
a z-1
a)
A/D D/A
x(t) b’ H0 (s) ~y(t)
Qi [] Qa [] S [] Qu []
a’ z-1
Qa []
b)
(C2).
Nel caso di sistemi per il filtraggio numerico di segnali, è importante disporre
di metodi che consentano di valutare lo ”scostamento” introdotto nella re-
alizzazione, e di guidare la scelta della struttura e delle caratteristiche dei
quantizzatori.
Nel caso di sistemi di controllo a controreazione in cui l’organo di controllo è
un sistema numerico, occorre inoltre studiare l’effetto di tale scostamento sul
comportamento del sistema a catena chiusa.
QR(x) e R(x)
3q
2q
q q
-2q -q q 2q 3q x -2q -q q 2q 3q x
-q -q
-2q
Arrotondamento
Nella quantizzazione ”lineare” ad arrotondamento si associa a x il valore di
ricostruzione Q(x) = N q più prossimo, cioè l’intero N per cui:
3q
2q
q q
q 2q 3q
-3q -2q -q q 2q 3q x -2q -q x
-q -q
-2q
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
3q
2q
q
-3q -2q -q q 2q 3q
-3q -2q -q q 2q 3q x x
-q -q
-2q
-3q
simmetrico risulta invece utile per la soppressione dei cicli limite di piccola
ampiezza.)
Per quanto riguarda, ad esempio, il quantizzatore di ingresso Q i i convertitori
ad approssimazioni successive operano un arrotondamento, mentre quelli in
cui 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 del
costo 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 della
parola di ingresso (arrotondamento o troncamento) è talora fissata dall’hardware
a disposizione, mentre in altri casi può essere scelta dal progettista, ad esempio
nel caso in cui le operazioni vengano realizzate su un DSP : in questo caso il
numero di bit per i coefficienti moltiplicatori è 12, 16, 24 bit, a seconda del
processore, e il numero di bit associato alle variabili di stato è comunemente
16 e talora 24 bit, a seconda del processore.
^x er
2 2 -3
2 -4
1
x
1/2 _
2 -4
1/4
_
2 -3
1/4 1/2 1 2 x
e(x) x e r (x)
x x^ x x^
a) b)
a’ z-1
ea2
a) ea (kT ), ei (kT ) ed eu (kT ) possono far variare l’uscita, ma, essendo limitati,
non possono influenzare la stabilità BIBO del sistema. Se la realizzazione
è di tipo ricorsivo, cioè comprende anelli chiusi, come in Fig. 1.7, possono
verificarsi però oscillazioni permanenti (dette cicli limite di piccola ampiezza
o da granularità della caratteristica di quantizzazione ) limitate in ampiezza e
dovute ai quantizzatori in reazione (par 4.1.8). È 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.
I metodi ”esatti” possono essere applicati solo a casi semplici e per lo stu-
dio di particolari problemi. Per quanto riguarda i metodi ”approssimati”, essi
sono di tipo deterministico o probabilistico.
Nel primo caso, fra tutte le sequenze di errore si considerano le sequenze che
causano 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, non
correlati tra loro e con i segnali “utili” in gioco, e se ne studia l’influenza
sull’uscita . In tal modo, però, 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) risulta
funzione dei coefficienti moltiplicatori: c 1 , c2 ...cL che intervengono nella real-
izzazione. In generale quindi si può scrivere: H(z; c), dove c è il vettore dei
coefficienti.
I coefficienti vengono rappresentati su n c +1 bit nel sistema numerico scelto
e quindi ogni parametro subisce una quantizzazione. Ne deriva che (nell’ipotesi
di trascurare gli errori introdotti dalle altre operazioni di quantizzazione) la
funzione di trasferimento corrispondente è data da: H(z; c + dc), dove dc è la
perturbazione del vettore c dovuta alla quantizzazione, ed è quindi una fun-
zione di trasferimento diversa da quella di partenza. (Il problema è analogo a
quello 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 saranno
attribuite alla quantizzazione, molte delle considerazioni che verranno esposte
rimangono 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 rappresenta
il processo da controllare può avere dei coefficienti affetti da incertezze o ad-
dirittura lentamente variabili nel tempo.
Per piccoli scostamenti risulta:
L
X ∂H
H(z; c + dc) = H(z, c) + dci + · · · (2.1)
i=1
∂ci
da cui
L L
∂H ∂H dci
X X
∆H(z; c) ' dci = ci , (2.2)
i=1
∂ci i=1
∂ci ci
dove le derivate sono calcolate in corrispondenza dei valori nominali dei parametri
ci . La (2.2) esprime la sensibilità assoluta della funzione di trasferimento
rispetto a variazioni (assolute la prima e relative la seconda) dei coefficienti
della realizzazione.
16 2.1 Introduzione
L
∂H max(|dci |)
X
| |H(z; c + dc)| − |H(z; c)| | ≤ |∆H(z; c)| ≤ ∂c (2.3)
i=1 i
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 bit
nc + 1) per il quale lo scostamento del modulo risulti inferiore ad un certo
valore prefissato.
La (2.3), valutata per z = ejθ con θ = 2πf T e T periodo di campionamento,
fornisce il massimo dello scostamento del modulo della risposta in frequenza
dovuto all’errore di quantizzazione dei coefficienti. Essa fornisce una stima
in genere molto pessimistica dello scostamento massimo, in quanto in essa
viene considerata la combinazione dei dc i che provoca il massimo scostamento
|∆H(z)|. Per una stima meno pessimistica si possono considerare le variazioni
dci come variabili aleatorie indipendenti, con densità di probabilità uniforme,
ottenendo una stima di tipo probabilistico per |∆H(z; c)| come illustrato in
2.6.
Nel caso interessi lo scostamento corrispondente ad una rappresentazione
in virgola mobile dei coefficienti, la seconda delle (2.2) porge la maggiorazione:
L
∂H dci
X
|∆H(z; c)| ≤ ci ∂c max( c ),
(2.4)
i=1 i i
Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 17
Yn (z)
Tmn (z) = l 6= m. (2.6)
Um (z) Ul (z)=0
La realizzazione risulta descritta dalle (2.5) e dalla equazione che porge il
legame tra Y3 e U4 associato al coefficiente moltiplicatore c i :
U4 = c i Y3 . (2.7)
Si valuti ora la f.d.t. H42 (z) = Y2 (z)/W (z) con riferimento alla Fig. 2.1
b). La (2.7) diviene:
U4 (z) = ci Y3 (z) + W (z) (2.10)
e quindi:
Y2 (z) T42
H42 (z) = = (2.11)
W (z) 1 − ci T43
18 2.2 Calcolo della sensibilità
u1 y2 u1 =0 y2
R R
1 2 1 2
y3 3 4 u4 y3 3 4 u4
a) ci b) ci w
dove [v]i indica la componente i–esima del vettore (riga o colonna) v, G i (z)
denota la f.d.t. dal nodo associato alla variabile di stato “futura” s i (k + 1) al
nodo di uscita e Fi (z) la f.d.t. dall’ingresso alla variabile di stato s i (k).
Si ha quindi tramite la (2.12) (il moltiplicatore a ij collega il nodo associato
alla variabile di stato sj (k) a quello associato alla variabile di stato “futura”
si (k + 1)) o tramite un meno immediato calcolo diretto
∂H
= Fj (z)Gi (z). (2.15)
∂aij
e quindi ∂H/∂aij risulta pari al prodotto delle due sensibilità ∂H/∂b i e ∂H/∂ci .
zazione ottenuta per trasposizione, < t , dato che con una sola analisi della
t (ejθ ) associate
realizzazione trasposta è possibile calcolare le trasferenze H 2n
a tutti i coefficienti cmn , cosı̀ come una sola analisi di < fornisce tutte le
trasferenze H1m (ejθ ).
Inoltre, tenuto conto che ∂H13 /∂c34 = H13 H43 e ∂H42 /∂c34 = H43 H42 ,
dalla (2.12) si ottiene:
∂ 2 H12 ∂H12
2 = 2H13 H42 H43 = 2H43 . (2.18)
∂c34 ∂c34
In generale, per la derivata n–esima si ha:
∂ n H12 n−1 ∂H12 ∂ n−1 H12
= n!H 43 = nH 43 (2.19)
∂cn34 ∂c34 n−1
∂c34
20 2.3 Sensibilità di poli e zeri
Tali relazioni mostrano che la variazione ∆H 12 dipende solo dalle tre f.d.t.
H13 , H42 e H43 , qualsiasi sia la entità della variazione ∆c 34 . Ritroveremo
queste f.d.t. nel Cap. 4 quando tratteremo della propagazione degli errori di
calcolo.
Si osserva infine che dalla (2.9) si può dedurre il cosiddetto ”teorema bi-
lineare” [42]. Infatti da (2.9) risulta che, in generale, la dipendenza di una
qualsiasi f.d.t. H(z) da un qualsiasi parametro c è del tipo:
α(z) + β(z) c
H(z; c) = (2.20)
γ(z) + δ(z) c
con α(z), β(z), δ(z) e γ(z) opportune funzioni razionali (indipendenti da c), e
quindi H(z) è una funzione bilineare del parametro c. Essa è individuata, in
accordo con la (2.19), dalla conoscenza al massimo di tre funzioni razionali, le
quali riassumono la dipendenza della f.d.t. dal parametro. (La (2.9) è un caso
particolare corrispondente a: α = 0, T 13 = β/γ e T43 = −δ/γ, e analogamente
la (2.10)).
Conseguenza notevole della dipendenza di tipo bilineare è che fissato z, ad
esempio z = z0 = ejθ0 , se il parametro c è complesso e varia su un cerchio
(c = c0 +r ejφ con 0 ≤ φ ≤ 2π), che eventualmente può degenerare in una retta
(ad esempio, nell’asse reale), corrispondentemente il vettore H(z 0 ; c) descrive
anch’esso un cerchio (eventualmente degenere) di raggio e centro dipendenti
da α(z0 ), β(z0 ), γ(z0 ) e δ(z0 ).
dove le derivate vanno (al solito) valutate in corrispondenza dei valori nominali
dei poli e degli zeri, e dei coefficienti.
Per quanto riguarda i valori di ∂H/∂p j e ∂H/∂zj , considerata H(z) in forma
fattorizzata: QM
B(z) −1
i=1 (1 − zi z )
H(z) = = b0 Q N (2.22)
A(z) −1
i=1 (1 − pi z )
Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 21
∂H z −1
= H(z) (2.23)
∂pj 1 − pj z −1
da cui:
∂H/H pj z −1
= (2.24)
∂pj /pj 1 − pj z −1
Analogamente per gli zeri si ottiene:
∂H −z −1
= H(z) (2.25)
∂zj 1 − zj z −1
∂H/H −zj z −1
= (2.26)
∂zj /zj 1 − zj z −1
db b da db b da
∆H(1) ' 1 − a + (1 − a)2 ≤ 1 − a + (1 − a)2
(2.27)
1 b
≤ 2−nc + < 0.05 (2.28)
1 − a (1 − a)2
Da tale relazione risulta che |∆H(1)| aumenta al crescere di a, cioè all’avvicinarsi
del polo al cerchio di raggio unitario. Nel caso attuale risulta n c > 9.6, cioè
nc + 1 = 11 bit. Il numero di bit cosı̀ determinato rappresenta una stima
pessimistica di nc ; si verifica infatti che sono sufficienti n c + 1 = 10 bit.
In questo esempio l’effetto della quantizzazione dei coefficienti può essere
dimezzato approssimando il valore a = 0.95 mediante arrotondamento. Cor-
rispondentemente si ha:
per cui il guadagno H(1) non viene influenzato dalla quantizzazione. Si può,
infatti, verificare che per il sistema considerato tale situazione si verifica per
ogni valore di a0 = QR [a] e b0 = QR [1 − a].
e quindi si ha:
∂pi pNi
−k
= QN (2.34)
∂ak n=1;n6=i (pi − pn )
pN
i
−1
da1 + · · · + pi daN −1 + daN
∆pi ' QN (2.35)
n=1;n6=i (pi − pn )
1 - poichè |pi | < 1 (sistema stabile) il modulo del numeratore della (2.34)
cresce esponenzialmente con k da |p i |N −1 a 1. Risulta quindi che le variazioni
che influenzano maggiormente i poli sono le variazioni del coefficiente a N =
− i (−pi );
Q
3 - il modulo del denominatore è pari al prodotto delle distanze dei poli p n dal
polo in esame pi . La sensibilità aumenta quanto più 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 più favorevole si incontra
in sistemi in cui i poli sono equispaziati, cioè per p n = r ej2πn/N . Purtroppo
tale configurazione di poli si incontra raramente in pratica.
La situazione più critica si verifica nel caso di ”grappoli” di poli complessi e
coniugati prossimi a z = ±1, quali si presentano in filtri passa-basso (o passa-
alto) di ordine elevato con frequenza di taglio molto più piccola della frequenza
di campionamento o prossima alla metà della frequenza di campionamento. Se,
ad esempio, si ha |pn | = 0.8 e max |pn − pi | = 1/10 , dalla
dpi Y p daN
' n
p
n6=i pi − pn
a
i N
si ottiene che la variazione |daN /aN | viene amplificata 8, 3 · 103 e 108 volte
per N = 2, 5 e 10, rispettivamente.
x(k) b0 y(k)
-1
a1 z b1
α
z -1
-1
z
a2 b2 c1
x(k) β y(k)
a) b’1
d
b’2 −β
-1
c2
z
x(k)
b)
-k 2 -k 1 α
-1
k2 z k1 z -1
d2 d1 d0 y(k)
c)
1 − z1 z −1
H(z) = (2.36)
1 − p1 z −1
I coefficienti sono i poli e gli zeri di H(z): gli errori massimi su di essi dovuti
alla 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:
b0 + b1 z −1 + b2 z −2
H(z) = (2.37)
1 − a1 z −1 − a2 z −2
Se per essa si utilizza una realizzazione in forma diretta (Fig. 2.2 a), poli e
zeri risultano legati ai coefficienti da relazioni semplici. Ad esempio, per la
coppia di poli complessi coniugati : p 1,2 = α ± jβ = re±jθ0 risulta:
(
a1 = p1 + p2 = 2r cos θ0
(2.38)
a2 = −p1 p2 = −r 2
e per |p1,2 | < 1 si ha: |a2 | < 1 e |a1 | < 2 (si ricorda che la condizione è
solo necessaria, dato che la regione di stabilità nel piano (a 1 , a2 ) è il triangolo
−1 < a2 < |a1 | + 1).
A causa della quantizzazione dei coefficienti a 1 e a2 , la griglia delle
p posizioni
possibili dei poli è data dall’intersezione dei cerchi di raggio Q[−a2 ] con
le rette Re(z) = Q[a1 /2]. In fig. 2.3 a è riportata (limitatamente al primo
quadrante) la griglia dei poli corrispondente ad una rappresentazione in virgola
fissa di a1 e a2 su nc + 1 = 5 bit, nel formato:
(a1 )c2 = b1 b0 .b−1 b−2 b−3 (a2 )c2 = b0 .b−1 b−2 b−3 b−4 ,
con bi ∈ (0, 1). I coefficienti a1 /2 e a2 risultano numeri del tipo I · 2−4 con
I = −16, −15, .., 0, .. + 15. Corrispondentemente risultano realizzabili solo i
26 2.4 Realizzazioni in forma diretta, cascata e parallelo
0, 0.25, 0.35, 0.43, 0.5, 0.56, 0.61, 0.66, 0.71, 0.75, 0.79, 0.83, 1.
|A| = p1 p2 = r 2 tr(A) = p1 + p2 = 2α
1 1
0.9 0.9
0.8 0.8
0.7 0.7
0.6 0.6
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
a) b)
1 1
0.9 0.9
0.8 0.8
0.7 0.7
0.6 0.6
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
c) d)
1 1
0.9 0.9
0.8 0.8
0.7 0.7
0.6 0.6
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
e) f)
0.9
0.8
0.7
1
0.6
0.5
0.4
0.5
0.3
0.2
0.1
0 0
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2
a) b)
Figura 2.4 Esempi di griglie degli zeri in una realizzazione a traliccio con coefficienti
di 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 = rz2
d1 + d2 k1 (1 + k2 ) = b1 = −2rz cos θz (2.42)
d +d k +d k = b = 1
0 1 1 2 2 0
da cui risulta:
p
rz = d2 cos θz = f (d1 , d2 ; k1 , k2 ) (2.43)
zeri è 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 d i (e ki )
rappresentati su nc + 1 = 8 bit, per:
La Fig. 2.4 a) si riferisce al caso |d i | < 1 e la Fig. 2.4 b) al caso |di | < 2.
Si osserva che in questo caso è conveniente, una volta quantizzati i coefficienti
ki , ricalcolare i polinomi Âi (z) a partire dai valori ki0 = Q[ki ], ottenendo i poli-
nomi Â0 i (z), e quantizzare i coefficienti d0i associati alla B(z) = i d0i Â0 i (z).
P
z -1
1.75 y2 = 1.75 x 2
x2
y = .75 x
3 3
z -1
.75
s = x + y +y
1 2 3
x3
a) b) c)
Si osserva che, mentre l’equivalenza delle due realizzazioni è ovvia nel caso
di aritmetica a precisione infinita, con aritmetica a virgola fissa essa è valida
solo se è possibile trascurare l’eventuale overflow nella moltiplicazione per 2 j .
Il fattore di normalizzazione 2j può essere diverso per ogni coefficiente di mod-
ulo maggiore dell’unità, e, al limite, la rappresentazione c i = c0i · 2j può venire
applicata ad ogni coefficiente (la rappresentazione dei c i risulta a virgola mo-
bile), se si ammette che ogni moltiplicazione sia seguita da una operazione di
shift per un numero di bit che dipende dal coefficiente stesso.
In alternativa, per tutti i coefficienti che afferiscono ad uno stesso nodo di
somma si può considerare un fattore di normalizzazione unico , dato dalla
minima potenza di 2 per cui : max |c0i |/2j ≤ 1. In ogni caso, se il rapporto
max |ci |/ min |ci | è 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 = 8
si ha:
c01 = 1.75/2 → 0.1110000; c02 = 0.01/2 → 0.0000000; c03 = 1.25/2 → 0.1010000.
Se (come accade per i FIR a banda stretta realizzati in forma diretta) tutti
i coefficienti ci , che concorrono allo stesso nodo sommatore, soddisfano alla
|ci | < 1/2, è conveniente modificare la struttura come illustrato in Fig. 2.6 c),
dove c0i = ci / max |ci | e, per semplicità, si è posto max |c i | pari alla potenza
di due immediatamente superiore. Il passo di quantizzazione risulta: q =
max |ci | · 2−n .
Sulla base delle considerazioni di sensibilità alla quantizzazione dei coeffi-
cienti le realizzazioni di tipo generale più usate sono quelle cascata e parallelo.
Nella realizzazione cascata il blocco fondamentale è un sistema del secono
ordine del tipo:
1 + b1 z−1 + b2 z −2
H(z) =
1 − a1 z −1 − a2 z −2
che può essere realizzato, ad esempio, come in Fig. 2.2. H(z) può essere
particolarizzata nei seguenti modi:
1 polo reale b1 = b2 = a2 = 0
1 polo e 1 zero reali b2 = a2 = 0
(2.45)
2 poli b1 = b2 = 0
2 poli e 1 zero reali b2 = 0
Dato che H(z) è (ovviamente) stabile risulta come visto a proposito della
(2.38): |a1 | < 2 e |a2 | < 1. Nella maggior parte delle applicazioni (filtri a fase
minima o controllori numerici) gli zeri di H(z) non sono esterni al cerchio di
raggio unitario, e quindi si ha |b1 | ≤ 2 e |b2 | ≤ 1. (Fa eccezione la realizzazione
degli equalizzatori di fase: per essi risulta |b 1 | < 4 e |b2 | < 2 in tutti i casi di
interesse pratico).
Se gli zeri sono sul cerchio di raggio unitario, risulta b 1 = −2 cos θz e b2 = 1
per cui in una realizzazione in forma diretta viene eliminata la corrispondente
moltiplicazione per b2 . Inoltre, fatto molto più importante, viene garantito che
gli 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 è analoga a quella di una coppia di zeri, s 1,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 capacità fa solo variare la frequenza
di risonanza o antirisonanza, lasciando gli zeri sull’asse immaginario.
Nella realizzazione parallelo il blocco fondamentale è:
b0 + b1 z −1 b01 z −1 + b02 z −2
H(z) = oppure
1 − a1 z −1 − a2 z −2 1 − a1 z −1 − a2 z −2
Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 33
| |M 0 − D| − |M − D| | ≤ |∆| (2.49)
e si ottiene che la (2.46) è soddisfatta, non appena è soddisfatta la:
|∆| = |M 0 − M | ≤ | T − |M − D| | (2.50)
La (2.50) dice, quindi, quale debba essere il margine con cui progettare la
f.d.t. con coefficienti a precisione infinita per garantire che anche la f.d.t. a
coefficienti a precisione finita soddisfi alle specifiche. Linearizzando, come in
(2.2), ∆(ejθ ) si ha:
L
∂M
∆(ejθ ) '
X
dci (2.51)
i=1
∂ci
34 2.6 Lunghezza statistica di parola
D( θ ) T (θ)
T (θ)
0 θ p
θ s
π θ
L
jθ
X ∂M
E[∆(e )] = E[dci ] = 0 (2.53)
i=1
∂ci
L 2
2 jθ ∂M q2 q2
= S 2 (ejθ ; c)
X
σ [∆(e )] = (2.54)
i=1
∂ci 12 12
con S 2 funzione della sensibilità alle variazioni dei coefficienti della realiz-
zazione considerata.
Secondo questo modello si può dire che:
∆(ejθ ) ≤ m σ[∆(ejθ )] (2.55)
36 2.6 Lunghezza statistica di parola
cerchio, dato che una quantizzazione dei coefficienti del numeratore di ogni
cella lascia gli zeri sul cerchio e ne sposta solo la posizione angolare. Dalla
figura risulta, inoltre, che sarebbe stato preferibile progettare il filtro ellittico
lasciando più margine in banda passante e meno in banda attenuata. (A tale
proposito una procedura euristica consiste, dato N , nel dividere l’intervallo
[min DBR, max DBR], ammissibile per l’errore in banda passante, in un certo
numero di intervalli uguali, di progettare un filtro per ogni estremo di tali
intervalli, 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 B s sono ben soddisfatte.
Si vede infatti che già con 10 bit la attenuazione è circa 56 dB e la ondulazione
in banda passante pari a circa 0.25 dB (la lunghezza effettiva di parola risulta
12 bit).
Cascata
15
10
n (f)
c
0
0 0.5 1 1.5 2 2.5 3 3.5 4
f (KHz)
Parallelo
14
12
10
8
n (f)
c
0
0 0.5 1 1.5 2 2.5 3 3.5 4
f (KHz)
Traliccio
12
10
8
n (f)
6
c
0
0 0.5 1 1.5 2 2.5 3 3.5 4
f (KHz)
Cascata Cascata
10 0.15
0.1
−10
−20 0.05
|H(f)| (dB)
−30
|H(f)| (dB)
0
−40
−50 −0.05
−60
−0.1
−70
−80
0 0.5 1 1.5 2 2.5 3 3.5 4 2 2.2 2.4 2.6 2.8 3
f (KHz) f (KHz)
Parallelo Parallelo
10 0.1
−10
−20 0
|H(f)| (dB)
|H(f)| (dB)
−30
−40
−50 −0.1
−60
−70
−80 −0.2
0 0.5 1 1.5 2 2.5 3 3.5 4 2 2.2 2.4 2.6 2.8 3
f (KHz) f (KHz)
Traliccio Traliccio
10 0.05
0
−10
−20 −0.05
|H(f)| (dB)
−30
|H(f)| (dB)
−0.1
−40
−50 −0.15
−60
−0.2
−70
−80 −0.25
0 0.5 1 1.5 2 2.5 3 3.5 4 2 2.2 2.4 2.6 2.8 3
f (KHz) f (KHz)
r
" #
N −1 N −1
−j N 2−1 θ
H(ejθ ) = e
X
h +2 h(k) cos −k θ
2 k=0
2
N −1
= e−j 2
θ
H(θ) (2.58)
r
N −1 N −1
X
∆H = H(θ; h + dh) − H(θ; h) = dh +2 dh + i cos iθ
2 i=0
2
(2.59)
e quindi:
r
X
|∆|H| | ≤ |∆H| = ∆H ≤ max(dh(k)) 1 + cos iθ (2.60)
i=0
r
!
X
E(∆H) = 1+2 cos iθ E(dh) = 0 (2.62)
i=0
r
!
σ 2 (∆H) = cos2 iθ σdh
2
= S 2 (ejθ )σdh
2
X
1+4
i=0
2 2 q2
≤ σ∆ = (2N − 1) σdh = (2N − 1) (2.63)
12
Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 41
si può dire che, per un certo valore di θ e con probabilità dipendente dal valore
di m (P ' .95 per m = 2), si ha:
mq q
∆H ≤ m σ∆ = (2N − 1)/2 (2.64)
2
La (2.64) porge una stima di max |∆H| più 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), cioè dalla f.d.t. realizzata.
Si osserva che è possibile utilizzare la funzione S(e jθ ), definita nella (2.63),
direttamente nel progetto del filtro FIR. Se D(e jθ ) rappresenta l’andamento
desiderato per il modulo e W (ejθ ) > 0 la funzione peso dell’ errore di approssi-
mazione, si può impostare il problema di progetto come:
h i
jθ jθjθ jθ
min max W (e )S(e ) D(e ) − H(e ) (2.65)
h θ
In tal modo, tramite la S(ejθ ) si tiene già 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 guadagnare
uno/due bit nella rappresentazione dei coefficienti del filtro, rispetto alla quan-
tizzazione dei coefficienti ottenuti progettando il filtro nel modo usuale, cioè
con S(ejθ ) = 1.
0
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:
0
H − D = H − D + ∆H (2.66)
0
max |H − D| ≤ max |H − D| + |∆H| ' max |H − D| + 2σ∆
θ θ θ
0
Questa relazione mostra che max |H − D| è limitato superiormente dalla
somma di due addendi, dei quali il primo tende a zero (a norma del teorema
di Weierstrass, se D e W sono continue sul dominio di definizione)
√ al crescere
dell’ordine N del filtro, mentre il secondo diverge con N . Tale relazione
suggerisce che per ”piccoli” valori di N predominerà il primo effetto, mentre
per ”grandi” valori di N predominerà il secondo, e che quindi il massimo del
valore assoluto dell’errore di approssimazione presenterà un minimo per un
certo valore di N , minimo di valore tanto più 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 è 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 più coppie (N, q) che soddisfano
le specifiche.
10 log 10 (δp δs ) + 13
N −1'− (2.68)
14.6∆F
Si ha inoltre:
Z 2π Z 2π
|h(k)| ≤ H(ejθ ) dθ/2π ' D(ejθ )dθ/2π < 1 (2.69)
0 0
da cui risulta che per ogni D(ejθ ) costante a tratti (D(ejθ ) = 1 o D(ejθ ) = 0)
si può assumere per i coefficienti h(k) un fondo scala unitario. Corrisponden-
temente si ha q = 2−nc , ed i coefficienti h0 (k) risultano numeri in virgola fissa
di nc + 1 bit con nc bit di parte frazionaria.
Fissato il rapporto k 0 = δp0 /δs0 e il valore di ∆F , è possibile risolvere il sistema
costituito dalle (2.67) e (2.68) e ottenere famiglie di curve che riportano la
dipendenza di δp0 e δs0 da N e da nc + 1 [43]. Ad esempio, in Fig. 2.10 le
curve a tratto continuo mostrano la dipendenza prevista per la attenuazione
A0 = −20 log 10 δs0 nel caso k 0 = 1, ∆F = 0.1 e hM = 0.25 (vedi dopo); i punti
mostrano i risultati di simulazioni ed i valori corrispondenti risultano in buon
accordo con le previsioni.
Dalla figura risulta che, come già anticipato, fissato un valore di A 0 (ad es.
40 dB) esiste un valore minimo di nc (pari a circa 8, nell’esempio) al di sotto del
quale non è possibile scendere, qualsiasi sia N . Risulta, inoltre, che per ogni
valore di nc > min(nc ) esistono due valori di N che soddisfano le specifiche (il
maggiore dei due non ha ovviamente interesse pratico), e che quindi esistono
infinite coppie (N, nc ) che soddisfano le specifiche. Di queste hanno interesse
particolare: quella che corrisponde al valore minimo di n c + 1, e quella che
corrisponde al valore minimo del prodotto N (n c + 1) (cioè ad una occupazione
di memoria minima per i coefficienti del filtro, e ad un numero minimo di
Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 43
nc =
A (dB)
∆ F=0.1
k’=1
h =0.25
M
operazioni elementari di ”shift and add” nel calcolo di ogni campione di uscita
per una prefissata lunghezza di parola dello stato). Per quest’ultima esistono
le relazioni approssimate (corrispondenti a un valore m = 2):
con Nopt (nopt + 1) ' min(N (nc + 1)). Le (2.70) e (2.71) consentono di stimare
l’ordine N del filtro passa-basso (con coefficienti a precisione infinita) ottimo
in norma di Chebychev, che con coefficienti quantizzati su n opt + 1 bit soddisfa
le specifiche imposte (con elevata probabilità).
fp + f s 2fp 2fp
hM ' = + ∆F '
Fc Fc Fc
a) si ponga q = 2−nc ; si ha δp0 /δs0 ' 50, Nopt ' 66.8 e nopt ' 15.8. Per
progettare la H(z) corrispondente è necessario calcolare il rapporto k = δ p /δs
fra gli errori massimi in B.P. e B.A., rapporto che determina i pesi da dare
agli errori in dette bande. Si ha con m = 2:
δp0 − mσ∆
k' ' 100.
δs0 − mσ∆
H(θ)
1
2 θp 2 θs π
H (2 θ)
1
θp θs π
H(θ)
2
0 θp π - θs π
H1 (ejLθ ) H2 (ejθ )
δp1 + δp2 = δp ,
L 1 2 3 4 5 6 7 8 9
N1 63 33 25 17 15 13 11 9 9
N2 0 5 9 13 17 21 29 41 53
N1 + N 2 63 38 33 30 32 34 40 50 62
Tabella 2.1
dove al solito si è posto H(z) = z −(N −1)/2 H̄(z) e G(z) = z −(N −1)/2 G(z).
Se quindi, ad esempio, H(ejθ ) è di tipo passa-basso, ma con θs > π/2, basta
48 2.7 Una classe di realizzazioni a piccola sensibilità.
|H(ejθ0 ; c0 )| = 1, (2.75)
Quindi una tale realizzazione gode della proprietà di avere sensibilità alle vari-
azioni dei parametri nulla a θ = θ0 , cioè:
∂|H(ejθ0 ; c)|
=0 (2.77)
∂c
c=c
0
V C2 V
G 2
C1 C3 R
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:
1
H(z) = [H1 (z) + H2 (z)]
2
1
G(z) = [H1 (z) − H2 (z)] (2.82)
2
e quindi f.d.t. doppiamente complementari possono essere realizzate come
somma e differenza di f.d.t. passatutto (Fig. 2.13).
Se quindi si adotta una realizzazione dei passatutto che garantisca
H1 (z) H(z)X(z)
0.5
X(z)
H2 (z) G(z)X(z)
-1
esempio, |H(ejθ )| abbia deviazione dall’unità δHp = 10−2 (DBR' 0.1 dB) e
deviazione dallo zero δHs = 10−2 (A=40 dB). Dalla condizione di complemen-
tarità in potenza si ricava:
1 2 q
δGp ' δHs = 5 · 10−5 δGs ' 2δHp ' 1/7
2
e quindi G(z), a fronte delle prestazioni ”ragionevoli” di H(z), risulta avere
prestazioni molto sbilanciate: eccezionali in banda passante e molto scadenti
in banda attenuata. Se la quantizzazione dei coefficienti provoca una vari-
azione di δGp dello stesso ordine di δGp , cioè se è δGp0 ' 2δGp , si trova che
0
√
detta (piccolissima) variazione porta ad un valore δ Hs ' 2δHs e quindi a
una riduzione di attenuazione pari a 3dB.
Questo comportamento in banda attenuata può essere anche interpretato con
la 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. rimangano
tali anche dopo quantizzazione dei coefficienti, corrisponde una realizzazione
di H(z) e G(z) che ha sensibilità minima in banda passante, lo stesso non
risulta necessariamente vero relativamente al comportamento in banda atten-
uata.
In particolare ci si può aspettare che realizzazioni dei passa-tutto come cascata
di celle dal primo e secondo ordine, abbiano un migliore comportamento per
il controllo più diretto che esse esercitano su poli e zeri di ogni cella (si veda
il par. 2.7.5) e quindi sulla caratteristica di fase associata.
Infine osserviamo che la realizzazione tramite f.d.t. passatutto può risultare
più efficiente della realizzazione cascata o parallelo di H(z) o G(z), almeno in
termini di numero di moltiplicazioni. Allo scopo basta ricordare che esistono
realizzazioni di f.d.t. passa-tutto che richiedono un numero di moltiplicazioni
e di elementi di memoria pari all’ordine della f.d.t. (e un numero di somme
pari a tre volte l’ordine).
Se, fermo il resto, si fa l’ipotesi che P (z) che Q(z) siano entrambi polinomi
simmetrici, 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 può escludere la presenza di zeri reali (se
P (z1 ) + jQ(z1 ) = 0, z1 ∈ R → P (z1 ) = Q(z1 ) = 0, contro l’ipotesi che P e Q
non abbiano fattori comuni con D(z) e quindi, in base alla (2.83), tra loro).
Quindi D(z) non può avere zeri reali e deve avere ordine pari. Inoltre gli zeri
di P (z) + jQ(z) sono i coniugati di quelli di P (z) − jQ(z) e quindi ad ogni
coppia di zeri (zk , 1/zk ) dell’uno corrisponde la coppia (z k∗ , 1/zk∗ ) dell’altro. In
questo caso, il polinomio D1 (z) può essere costruito prendendo un solo zero
di ogni coppia di zeri complessi coniugati (z k , zk∗ ) di D(z). Similmente si può
operare per D2 (z). In definitiva si arriva alle
M
Y z −1 − zk
H(z) + jG(z) = β = H2 (z) (2.92)
k=1
1 − zk∗ z −1
M
∗
Y z −1 − zk∗
H(z) − jG(z) = β = H1 (z) (2.93)
k=1
1 − zk z −1
Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 55
1
H(z) = [H1 (z) + H2 (z)] (2.94)
2
1
G(z) = [H1 (z) − H2 (z)] (2.95)
2j
in cui i coefficienti (complessi) della f.d.t. H 1 (z) sono i coniugati dei coefficienti
di H2 (z).
1 1
0.9 0.9
|H(f)|2 |H(f)|
2
0.8 2 0.8 2
|G(f)| |G(f)|
0.7 0.7
0.6 0.6
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
a) f/Fc b) f/Fc
Si può quindi concludere che ogni passa basso/alto ellittico di ordine dis-
pari può sempre essere realizzato come il parallelo di due f.d.t. passatutto a
coefficienti reali.
In fig. 2.14 b) è riportato l’analogo andamento della funzione modulo
quadro per N pari. In questo caso i numeratori di H(z) e G(z) risultano
entrambi simmetrici, e quindi nel caso N pari si può sempre ricorrere alla
realizzazione di H(z) e G(z) tramite il parallelo di due f.d.t. passatutto a
coefficienti 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 numeratore
simmetrico, 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 numeratore
simmetrico. 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 N
dispari possono essere realizzati secondo la (2.7.1), mentre se N è pari possono
essere 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 D 1 (z) e
quindi H1 (z), mentre quelli esterni determinano D̂2 (z) e quindi H2 (z).
Nel caso di f.d.t. di tipo ellittico esiste una procedimento più semplice che
richiede la sola conoscenza dei poli di H(z), cioè degli zeri di D(z): se p 1 , p2 , p3 , · · ·
sono gli zeri di D(z) ordinati in modo che 0 < arg(p 1 ) < arg(p2 ) < · · · < π,
i poli di H2 (z) sono dati dai poli p2k e p∗2k e quelli di H1 (z) dai poli p2k+1 e
p∗2k+1 [18]. Quindi, in questo caso, i poli di H 1 (z) e H2 (z) si ”interlacciano” e
possono essere direttamente dedotti da quelli di D(z).
in accordo con la osservazione fatta alla fine del paragrafo precedente, e zeri
in posizione reciproca.
Fase H , H (rad)
2
0
2
0
1
−2
−2
−4 −4
0 50 100 150 200 1000 2000 3000 4000
a) b)
1.8 −50
1.6 −60
1.4 −70
|H| (dB)
|H| (dB)
−80
1.2
−90
1 −100
0.8 −110
0.6 −120
0 50 100 150 200 1000 2000 3000 4000
c) d)
0 −50
−0.2 −60
−0.4 −70
|H| (dB)
|H| (dB)
−80
−0.6
−90
−0.8 −100
−1 −110
−1.2 −120
0 50 100 150 200 1000 2000 3000 4000
e) f (Hz) f) f (Hz)
nel cui grafo compare un cammino privo di elementi di ritardo che collega i
nodi associati alle variabili v(n) e i(n). La stessa proprietà vale per i grafi
associati agli altri elementi. Ne viene che la interconnessione dei vari elementi
del circuito porta inevitabilmente a cammini chiusi privi di elementi di ritardo
60 2.7 Una classe di realizzazioni a piccola sensibilità.
V − RI Z(s) − R
S̃ = = . (2.98)
V + RI Z(s) + R
sL − R
Z(s) = sL ⇒ S̃L = (2.99)
sL + R
che per R = L diviene
s−1
S̃L = .
s+1
Se quindi, applichiamo la trasformazione bilineare otteniamo:
SL (z) = −z −1
che non pone problemi di computabilità. Procedendo allo stesso modo si trova
che l’equivalente di una capacità per R = 1/C diviene S C (z) = z −1 e si trovano
gli 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 della
teoria delle microonde. Purtroppo tali strutture portano a realizzazioni com-
plesse e costose dal punto di vista computazionale, in particolar modo ad un
elevato numero di sommatori. Naturalmente visto l’alto grado di flessibilità
si prestano alla realizzazione delle piú svariate applicazioni, come elencato in
[16]. Un approccio alternativo é quello suggerito in [12].
Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 61
Nel caso di filtri passivi e privi di perdite, ogni ramo puó quindi assumere
quattro configurazioni tipiche: induttanza, capacità, serie di induttanza e ca-
pacità e parallelo di induttanza e capacità, ed ognuna di esse verrà vista come
un doppio bipolo serie o parallelo. Inoltre, supponendo di avere un manuale
di filtri analogici, ad esempio [72], i valori dei componenti si possono supporre
noti.
I1 I2 a1
a
2
V1 Doppio bipolo V2 R1 Doppio bipolo R2
b1 b
2
Imposta tale condizione, si tratta ora di calcolare gli elementi della matrice
S̃(s) associata ai vari elementi circuitali. L’utilizzo della definizione usuale di
onda incidente e riflessa di tensione (o di corrente) porterebbe ad una matrice
piena, e quindi ad una struttura complessa; una idea che semplifica notevol-
mente tale struttura è stata sviluppata in [13] con una scelta opportuna della
definizione delle “onde”. Il criterio scelto è stato quello di imporre che un
elemento della matrice sia sempre nullo, ad esempio S̃11 (s):
b1
S̃11 (s) = =0 (2.101)
a1 a2 =0
b a
1 ~ 2
S12
a1 b2
I1 I2
F (z)
V Z(s) V2 R R2 = R1 +Z(1)
1 1
β
-1
-b a2
1
b1 R1 I
S̃11 (s) = = =0
a1 a2 =0 V1 + R1 I I=0
b1 R1 I R1
S̃12 (s) = = =
a2 a1 =0 R2 I V1 =−R1 I R2
b2 V2 + R2 I2 V1 − Z(s) I
S̃21 (s) = = = =1
a1 a2 =0 V1 + R1 I1 I=0 V1
I=0
b2 V2 + R2 I2 R2 − R1 − Z(s)
S̃22 (s) = = = .
a2 a1 =0 R2 I2 V1 =−R1 I R2
Per la computabilità, imponiamo la condizione:
S̃22 (s) = 0 ⇒ R2 = R1 + Z(1) (2.104)
s=1
ottenendo un vincolo tra i valori delle due resistenze di riferimento R 1 e R2 .
Si ha quindi:
R1 Z(s)
S̃22 (s) = 1 − 1− (2.105)
R2 Z(1)
64 2.7 Una classe di realizzazioni a piccola sensibilità.
per cui:
b1 0 α a1
= (2.106)
b2 1 (1 − α)F̃ (s) a2
dove:
R1 R1 Z(s)
α= = F̃ (s) = 1 − (2.107)
R2 R1 + Z(1) Z(1)
Notiamo fin d’ora che essendo Z(1) > 0, si ha sempre R 2 > R1 e quindi risulta
0<α<1.
L’equazione matriciale (2.106) si mappa nel piano z nel grafo di Fig. 2.19, dove
ak e bk sono segnali a tempo discreto: dato che spesso α < 0.5 si é introdotto
il moltiplicatore β = 1 − α e, anticipando una esigenza sulla connessione tra
celle, si é introdotta una moltiplicazione per −1 su b 1 .
F (z) è ottenuta applicando la trasformazione bilineare a F̃ (s), la quale
dipende a sua volta dalla effettiva configurazione del ramo.
Consideriamo, ad esempio, una induttanza: si ha Z(s) = sL, e quindi
R1
α= (2.108)
R1 + L
sL bilin z −1
F̃ (s) = 1 − =1−s ⇒ F (z) = 2 (2.109)
L 1 + z −1
la cui equazione ingresso-uscita risulta:
b1 V
S̃11 (s) = = =0
a1 a2 =0 V + R1 I1 V =0
b1 V
S̃12 (s) = = =1
a2 a1 =0 V V =−R1 I
b2 V + R2 I2 R2 (I1 − Y (s) V ) R2
S̃21 (s) = = = =
a1 a2 =0 V + R1 I1 V =0 R1 I1
V =0 R1
b2 V + R2 I2 R1 − R2 − R1 R2 Y (s)
S̃22 (s) = = =
a2 a1 =0 V
V =−R1 I R1
R2 Y (s)
S̃22 (s) = 1 − 1− . (2.111)
R1 Y (1)
In conclusione si ha:
b1 0 1 a1
= (2.112)
b2 α (1 − α)F̃ (s) a2
I1 I2 1/ α
^a a1
1
V1 Y(s) V2
α
b^ 1 b1
a) b)
dove:
R2 1 Y (s)
α= = F̃ (s) = 1 − . (2.113)
R1 1 + R1 Y (1) Y (1)
Si osserva che con la trasformazione applicata risulta b 1 (z)/a1 (z) = b̂1 (z)/â1 (z),
mentre si ha b2 (z)/â1 (z) = (1/α)b2 (z)/a1 (z). Quindi la f.d.t. complessiva che
verrà realizzata, risulterà pari ad 1/α volte la f.d.t. originale. Ritroveremo
tale 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 dalla
serie di una induttanza e di una capacità: Y (s) = 1/(sL + 1/sC). Si ha
R2 (1 + LC)
α= = (2.116)
R1 1 + C(R1 + L)
sL
1+s2 LC bilin kz −1 + z −2
F̃ (s) = 1 − L
⇒ F (z) = 2 (2.117)
1+LC
1 + 2kz −1 + z −2
dove:
1 − LC
k= (2.118)
1 + LC
L’equazione alle differenze corrispondente alla F (z) risulta
-1
z -1 z -1 2
x(n) k y(n)
-1
I2 I’1
Z V2 V’1 Y
R2 = R10 , (2.119)
cioè che la resistenza di riferimento alla porta di ingresso del ramo derivato
sia pari alla resistenza di riferimento della porta di uscita del ramo serie. Tale
ipotesi si supporrà sempre verificata nel seguito. In corrispondenza si ottiene:
68 2.7 Una classe di realizzazioni a piccola sensibilità.
x(n) y(n)
~ β β2 β3
y(n) -1 1 -1 -1
Z1 A Y2 A Z3
(
a01 = b2
(2.120)
a2 = b2 − b01
RG I
1 b=e(n)
+
a1
E V R11
a b1
dove le onde senza indice sono relative al generatore e quelle con l’indice sono
relative alla prima cella del filtro.
Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 69
IN =I L
aN y
Cella N VN =VL RL θ
bN
Quindi l’onda incidente il doppio bipolo, a 1 = b, che é quella che più ci inter-
essa, dipende solo dal generatore. É interessante osservare che l’onda riflessa
dal doppio bipolo, b1 = a, rappresenta la caduta di tensione su R G e quindi la
risposta in frequenza associata a b 1 (z)/a1 (z) risulta di tipo “complementare”
rispetto a quella realizzata dal filtro (passa–alto se il filtro é passa–basso).
Nel caso analogico, l’ultima cella puo’ essere: un ramo in parallelo al carico
o un un ramo in serie al carico. La connessione è illustrata in fig.2.26, la quale
implica i vincoli:
VN = V L
= V
IN = I L = I (2.122)
V
L = RL I
x(n) y(n)
L1 L3 L5
C2 C4
RG
L2 L4 RL
+
E(s)
della porta i della cella j. Ogni cella può avere una o due variabili di stato, a
seconda dell’impedenza F (z) a partire dalla quale è stata calcolata e quindi la
realizzazione risultante non risulta canonica nei ritardi (al pari del prototipo
analogico). Inoltre ad ogni cella rimangono associate una o due moltipli-
cazioni, sempre a seconda sempre della tipologia del ramo originale, e si ha
una moltiplicazione per ogni adattatore ed una associata al carico.
La Fig. 2.24 mostra piú in dettaglio la realizzazione corrispondente ad
una f.d..t. del terzo ordine nelle ipotesi R G = R11 , R21 = R12 e R22 =
R13 (nella figura non si é compensata la moltiplicazione per 1/α 2 associata
alla realizzazione della seconda cella). Si osserva che, tramite il principio di
trasposizione é possibile ottenere una realizzazione equivalente.
• 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
• RG = RL = 1Ω
• R11 = RG = 1Ω
• k2 = (1 − L2 C2 )/(1 + L2 C2 ) = 0.699485986
• k4 = (1 − L4 C4 )/(1 + L4 C4 ) = 0.429709740
0
−50
−0.05
−55
−0.1
|H| dB
|H| dB
−60
−0.15
−65
−0.2
≥ 8 bit ≥ 8 bit
6 bit −70 6 bit
−0.25
4 bit 4 bit
−75
0 0.05 0.1 0.15 0.2 0.25 0.32 0.34 0.36 0.38 0.4 0.42 0.44 0.46 0.48 0.5
f/Fc f/Fc
Una soluzione per ridurre la lunghezza del cammino critico [13], consiste
proprio nel sezionare, con un taglio, la rete a scala analogica in due sezioni,
una alimentata dal generatore di tensione E 1 (s) = E(s) e resistenza interna
RG e l’altra alimentata da un generatore di tensione E 2 (s) = 0 e resistenza
interna RL (in corrispondenza il segnale di uscita viene cambiato di segno: si
veda (2.121)). Si realizzano, quindi, in modo indipendente le due sezioni con
il procedimento illustrato in precedenza e le si adatta in corrispondenza del
punto di taglio.
si ottiene:
74 2.7 Una classe di realizzazioni a piccola sensibilità.
S11 = ab11 R1 I1 =R R
= 1 = ϑ1
a2 =0 V + R1 I V =R2 I 1 + R2
S12 = ab1 R1 I1 = R −R
= 1 = −ϑ1
2 a1 =0 V − R2 I V =−R1 I 1 + R2
S21 = ab21 V =R R
=
2 = ϑ2
a2 =0 V + R1 I V =R2 I 1 + R2
S22 = ab22 V =R R
=
1 = ϑ1
a1 =0 V − R2 I V =−R1 I 1 + R2
avendo definito :
Ri
ϑi = i = 1, 2 .
R1 + R 2
Si ottiene, quindi, la seguente matrice di diffusione per l’adattatore:
b1 ϑ1 −ϑ1 a
1
=
b2 ϑ2 ϑ1 a2
2.7.5 Un esempio
Concludiamo con un esempio in cui viene messa a confronto la sensibilità
parametrica di alcune realizzazioni.
Consideriamo la famiglia di filtri passa-basso ellittici con parametri: ordine
N = 5, ondulazione in banda passante: DBR = 0.2 dB e attenuazione in
banda attenuata: A ' 47 dB. Tutte le f.d.t. corrispondenti possono essere
dedotte dalla f.d.t. associata ad un valore arbitrario della banda passante,
tramite la trasformazione
z −1 − a
z −1 →
1 − az −1
Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 75
x(n) -1 e (n)=0
2
θ1
F1 (z) F’(z)
2 F’(z)
3
~ β β ’2 β 3’
y(n) -1 1 -1 -1 -1 -y(n)
Z1 A’ Y2 A Z3
enti della realizzazione R4 aumenta per valori molto piccoli e molto grandi di
fp /Fc (valori corrispondenti a configurazioni di poli molto prossimi a z = +1
e z = −1, rispettivamente). Al contrario, la sensibilità in banda attenuata di
R4 è molto piccola.
Considerazioni simmetriche valgono per le realizzazioni tramite passatutto:
R1, R2 e R3, nelle quali è molto piccola la sensibilità in banda passante e
relativamente elevata quella in banda attenuata.
La realizzazione R5, come ci si poteva aspettare, ha piccola sensibilità 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” ha
prestazioni nettamente superiori alle altre realizzazioni considerate. In effetti
si trova che solo 4 bit (più segno) sono sufficienti ad ottenere variazioni di
entità trascurabile per tutti i valori di f p /Fc considerati. Quindi il comporta-
mento effettivo risulta migliore di quanto previsto sulla base della lunghezza
statistica di parola. Questo fatto può essere attribuito, almeno in parte, al
fatto che per quantizzare i coefficienti si é seguita la strategia illustrata a
proposito dell’esempio di Fig. 2.29. Nel par. 4.1.6 vedremo che R5 risulterà
anche robusta nei confronti della propagazione degli errori di calcolo.
Tra le altre realizzazioni, le realizzazioni tramite passatutto hanno prestazioni
uniformemente buone in banda passante per tutti i valori di f p /Fc , in partico-
lare nel caso di R1. Questa realizzazione, inoltre, ha un buon comportamento
anche in banda attenuata, comportamento che si discosta poco (al massimo 3
dB), 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 la
realizzazione complessivamente migliore dal punto di vista della sensibilità alla
quantizzazione dei coefficienti. Tale conclusione sarà, purtroppo, solo parzial-
mente confermata nel par. 4.1.6 quando ne consideremo la robustezza agli
errori di calcolo.
Si osserva che il comportamento anomalo della realizzazione R2 in banda
passante (Fig. 2.32 b) può essere
q attribuito al fatto che dopo la quantizzazione
su 8 bit dei coefficienti ki e 1 − ki2 , la somma dei loro quadrati non è più
esattamente uguale a uno, e quindi le corrispondenti f.d.t. H 10 (z) e H20 (z)
risultano ”quasi” passa-tutto.
Capitolo 2. Effetti della quantizzazione dei coefficienti moltiplicatori 77
14 0.6
R1 R1
R2 R2
12 R3 0.5 R3
R4 R4
* *R5 * *R5
10 0.4
DBR
ns
*
8 0.3
*
*
6 * * 0.2 * * * * * * *
* *
0.05 0.15 0.25 0.35 0.45 0.05 0.15 0.25 0.35 0.45
a) b)
11 50
* * * * * * *
9 45
*
7 40
A (dB)
ns
*
5 35
* *
3 * * 30
* *
1 25
0.05 0.15 0.25 0.35 0.45 0.05 0.15 0.25 0.35 0.45
fp /FC fp /FC
c) d)
R Z(T)
Qi
Q(x)
diviene del tipo di Fig. 3.2, nella quale si distinguono la regione (”lineare”) di
normale funzionamento e la regione di saturazione corrispondente a condizioni
di sovraccarico.
La distorsione del segnale di ingresso x(kT ) introdotta dal quantizzatore,
determina una variazione del segnale di uscita dal sistema a valle rispetto al
caso di campionamento ideale (q = 0).
Tale variazione può essere valutata con riferimento alla Fig. 3.3 dove si è fatta
l’ipotesi che il sistema di elaborazione sia a tempo discreto, lineare e stabile,
anzichè numerico (ciò corrisponde, ad esempio, in Fig. 1.7 a trascurare l’effetto
delle altre non linearità). Da Fig. 3.3 si ricava per la risposta forzata:
k
X
y(k) = h(i)x(k − i) (3.2)
i=0
Xk
ŷ(k) = h(i)x̂(k − i) (3.3)
i=0
Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico
ad analogico. 81
k
X
ey (k) = ŷ(k) − y(k) = h(i)e(k − i) (3.4)
i=0
e quindi il segnale di errore ey (k) coincide con la risposta forzata del sistema
ad un gradino di ampiezza e. In particolare per l’errore a regime risulta:
∞
X
ey (∞) = e h(i) = e H(z)|z=1 = e H(1) (3.5)
i=0
y(kT)
H(z)
Qi H(z)
^
y(kT)
~ ~
x(kT) x(kT) y(t)
Qu Ha (f )
Z(T) R
n
X
ey (t) = ey (nT + τ ) = T e(kT )ha (nT + τ − kT ). (3.8)
k=0
∞
!
X
|ey (t)| ≤ max |e(kT )| max T |ha (iT + τ )| . (3.9)
k 0≤τ <T
i=0
Capitolo 3. La quantizzazione nelle conversioni da segnale analogico a numerico e da segnale numerico
ad analogico. 83
Tabella 3.1
dove rect(t) = 1 per |t| ≤ 1/2 e rect(t) = 0 per |t| > 1/2. La f e (a) risulta
84 3.2 Modello statistico.
q2 X 0 q2
E[e] ' − fx (yk )q ' − (fx (Mx ) − fx (−Mx )), (3.13)
12 k 12
Z ∞ XZ
E[e2 ] = (Q(a) − a)2 fx (a) da ' (yk − a)2 fx (a) da
−∞ k Ik
q2 q2
Z
(yk − a)2 da =
X X
= fx (ξk ) fx (ξk )q ' (3.14)
k Ik 12 k
12
q2
σe2 = E[e2 ] − E 2 [e] ' . (3.15)
12
da cui risulta fe1 e2 (a, b) = fe1 (a)fe2 (b) = 1/q 2 per |a|, |b| ≤ q/2, se fx1 x2 (a, b)
è costante su ogni quadrato Im × In . Se ne deduce che per q sufficientemente
piccolo e(m) ed e(n), m 6= n, risultano statisticamente indipendenti (quindi
incorrelati).
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],
XZ q2
E[e(x)x] ' (yk − a)afx (a) da ' − = −E[e2 ] (3.17)
k Ik 12
86 3.2 Modello statistico.
0.2
2.5
0
2
−0.2
ρex(0)
2
σe/σx
1.5
2
−0.4
1
−0.6
0.5
−0.8
0 −1
0 1 2 3 4 5 6 0 1 2 3 4 5 6
q/σx q/σx
Figura 3.5 Andamento di σe2 /σx2 e ρex (0) in funzione di q/σx nel caso di variabile
gaussiana.
e(kT)
^
x(kT) + y(kT)
H(z)
+
Dalla (3.26) si può ricavare la media e la varianza del processo aleatorio e y (k).
Risulta:
k
X
mey (k) = me h(i) (3.27)
i=0
k
2
(k) = σe2 h2 (i)
X
σey (3.28)
i=0
Per ottenere una relazione di tipo probabilistico analoga alla (3.7), è neces-
sario conoscere la d.d.p. di ey . Il calcolo esatto (tramite la (3.26) e con ipotesi
aggiuntive su e(i)) è tutt’altro che agevole. Spesso, tuttavia, è possibile ap-
prossimare tale d.d.p. con una gaussiana di pari media e varianza. In tal caso
si ha: q
|ey − mey | < 3σey = 0.87q Gq (3.34)
con probabilità 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, e
quindi non può essere gaussiana. La approssimazione tende però a migliorare
quanto più la f.d.t. H(z) è del tipo a banda stretta, e quindi con risposta
impulsiva poco smorzata.
Le (3.29÷3.31) consentono di valutare il rapporto segnale/rumore all’uscita
di H(z). Infatti, considerata l’uscita utile: y(k) corrispondente al segnale
x(k), e indicate con mx e Rxc (ejθ ) la media e la (parte continua della) densità
spettrale di x(k) si ha:
my = mx H(1) (3.35)
Z 2π 2
σy2 = Rxc (ejθ ) H(ejθ ) dθ/2π (3.36)
0
Py = m2y 2
+ σey (3.37)
Quindi:
σy2 σx2 1 + apx
2
= (3.47)
σey σe2 1 − apx
e si conclude che:
SN Ru > SN Ri apx > 0, → sign(a) = sign(px )
SN Ru < SN Ri apx < 0, → sign(a) = −sign(px )
SN Ru = SN Ri apx = 0, → a = 0 e/o px = 0
(3.48)
In conclusione SN Ru risulta maggiore di SN Ri se la risposta frequenziale
H(ejθ ) è dello stesso ”tipo” della densità spettrale di ingresso, cioè se entrambe
sono tipo passa-basso o passa-alto. Risulta SN R u = SN Ri se a = 0 e quindi
H(z) =cost., oppure se Rx (z) =cost., cioè l’ingresso è un rumore bianco.
Se, ad esempio, a = 0.9 e px ' 0.9, risulta: (1 + apx )/(1 − apx ) ' 9.5, e
dalla (3.47) si ottiene: SN Ru = SN Ri + 9.8 dB, e quindi il segnale di uscita è
meno affetto dal rumore di quantizzazione di quello di ingresso: tutto va come
se il convertitore di ingresso avesse 1.5 bit in più rispetto al valore reale. Se
viene prefissato SN Ru > 60 dB, deve risultare SN Ri ≥ 60 − 9.8 = 50.2 dB e
nell’ipotesi di validità della (3.24) risulta n i + 1 > 9 bit.
Per ottenere una stima dell’ordine di grandezza dell’errore di quantizzazione
in uscita, si può ricorrere alla (3.34), che tramite la (3.46) fornisce la:
s
b2 q 2 q
|ey | ≤ 3σey = 3 '
1 − a2 12 5
che ancora mostra che l’errore massimo all’uscita è più che dimezzato rispetto
al valore q/2 dell’errore massimo da cui è affetto l’ingresso per effetto della
conversione A/D.
La possibilità di ridurre con un filtraggio per via numerica il rumore di
quantizzazione è fondamentale. Il prossimo paragrafo illustra la applicazione
che (forse) per prima ha sfruttato tale possibilità.
^
x(t) Ha (s) Q1 x(kT)
R Z(T)
a)
n i +1
^
u(t) u(kT’) v^ (kT’) ^
x(t) Ha’(s) Q1 H(z) y(kT)
R Z(T’) Z(T)
b)
|X| a)
f
1
|H’a | b)
fp’ =~ Fc /2 f s’ f
|U| c)
f
^
|U| d)
Re
F c’
1
|H| e)
f p" f s " F c’
|Y’|
^
|Y| f)
Re’
Fc 2F c 3F c 4F c
Per quanto riguarda il filtro H(z) di Fig. 3.7 b), esso può essere sia FIR
a fase lineare che IIR. La scelta di un filtro FIR porta a ordini molto più
96 3.4 Convertitori a sovracampionamento.
|U|
2F c 4Fc =Fc ’
1
|H1 |
|U1 |
Fc /2 2F c 4F c
1
|H2 |
f f 2F c 4F c
p2 s2
|Y|
Fc 2F c 3F c 4F c
w(nT ’)
a)
b)
Si ha
e quindi l’uscita w(nT 0 ) risulta pari a x((n − 1)T 0 ) a meno della differenza tra
gli errori associati alla quantizzazione di u(nT 0 ) e u((n − 1)T 0 ).
Se si ammette valido anche in questo caso il modello additivo dell’errore di
quantizzazione (v(nT 0 ) = e(nT 0 ) con e incorrelato con l’ingresso u del quan-
tizzatore), si trova
^
y(kT ’) + y(kT’)
H(z) Qu Ha (s)
+
+
z-1
a)
+
e(kT’) e y (kT’) eey (kT’)=e(kT’)-e((k-1)T’)
+
+ ^
y(kT’) y(kT’)
z-1 +
b) c)
In aritmetica a virgola fissa la (4.1) può essere calcolata nei seguenti due modi:
N
X
s1 (k) = Qa [ ci xi (k)] (4.2)
i=1
N
X
s2 (k) = Qa [ci xi (k)], (4.3)
i=1
e g (k)
i
i
xi xi +
Qa
+
^ ^
x(k) y(k) x(k) y(k)
R R
a) b)
Ogni risposta impulsiva gi (k) che compare nella (4.8) è una combinazione
lineare di modi del sistema: di conseguenza quanto più i poli sono prossimi
al cerchio di raggio unitario, tanto maggiori risultano le quantità k |gi (k)| e
P
cerchio di raggio unitario sono i poli della f.d.t. tanto più elevato risulta il
numero 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 vedrà nel par. 4.1.3, tale esigenza è associata anche alla operazione
di messa in scala delle variabili.
Si osservi che il secondo membro della (4.8) porge una stima generalmente
molto pessimistica di max |ey (k)|. Esso risulta, infatti, dato dalla somma
dei valori che max |ey (k)| assumerebbe nel caso peggiore se ogni sorgente di
errore agisse singolarmente, cioè per x i (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 uguaglianza
nella (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 dei
casi peggiori”.
Esempio 1. Si consideri il sistema del primo ordine di Fig. 4.2. Nella ipotesi
di quantizzare dopo la somma dei due prodotti: b x(k) e a y(k − 1), si ha
L = 1 e risulta:
g1 (k) = ak δ−1 (k) (4.9)
Per a = 0.9 e b = 0.1 si ottiene:
(
1 5qa arrotondamento
|ey (k)| ≤ max |e| (4.10)
1−a 10qa troncamento
e(n)
Qa [.]
x(k) b ^
y(k) x(k) b ^
y(k)
-1
a z a z -1
con h(k) risposta impulsiva di (4.11) e con p 1 e p2 poli della f.d.t. corrispon-
dente. Dalla (4.12) risulta:
∞
X
|ey (k)| ≤ max |e| |h(k)| (4.13)
k=0
e(n)
Qa [. ]
^ ^
x(k) y(k) x(k) y(k)
-1 -1
a1 z a1 z
a2 z -1 a2 z -1
Nel caso di poli complessi e coniugati: p 1,2 = re±jθ0 , non è possibile esprimere
la (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, cioè a 4/(1 − r) per r ' 1. Tuttavia
per una stima di max |ey | è possibile utilizzare le seguenti due maggiorazioni:
1
∞ ∞ k
r sin(k + 1)θ0
| sin θ0 |(1 − r)
X X
|h(k)| = ≤ (4.15)
sin θ0 4
k=0 k=0
2
π| sin θ0 |(1 − r )
Capitolo 4. Valutazione degli errori di calcolo. 109
cettualmente molto diversa dalla (4.7). Dalla (4.16) si ha a regime (cioè per
k → ∞):
L
X ∞
X L
X
mey = mei gi (k) = mei Gi (1) (4.17)
i=1 k=0 i=1
L ∞ L 2
σei dz
I
2 2
gi2 (k) Gi (z)Gi (z −1 )
X X X
σey = σei = (4.18)
i=1 k=0 i=1
2πj c z
2 sono la media
dove Gi (z) è la f.d.t. tra la sorgente ei (k) e l’uscita, e mei e σei
e la varianza di ei (k).
Si osserva che in questo caso le variabili aleatorie e i (k) risultano discrete
nelle ampiezze. Tuttavia se, come generalmente avviene, la riduzione della
lunghezza di parola interessa un numero di bit abbastanza grande (≥ 4 bit),
si possono ancora utilizzare per mei e σei 2 i valori riportati in Tab. 1 del Cap.
3. Per una stima del valore massimo di |e y | si può ancora ricorrere alla (3.34)
utilizzando le (4.17) e (4.18).
La potenza totale del rumore di calcolo di uscita dovuto alle sorgenti e i (k)
è data da:
Pey = m2ey + σey 2
(4.19)
2 = σ 2 = q 2 /12,
Nel caso di arrotondamento alla stessa lunghezza di parola: σ ei e a
la (4.19) diviene
Pey = Ga σe2 (4.20)
con Ga guadagno di rumore di calcolo, quantità che non dipende dal segnale
di ingresso. Risulta inoltre per il rapporto segnale/errore di calcolo:
Py
SN Ru = 10 log 10 = 10 log 10 Py − 10 log 10 Ga + 6(na + 1) + 4.8 (dB)
Pey
(4.21)
dove Py è la potenza del segnale di uscita in assenza di errori di calcolo e n a +1
è il numero di bit usati per la aritmetica. Si osservi che per la (4.21) valgono
le 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 del
guadagno di rumore Ga , che dipende dalla realizzazione.
Un criterio per dimensionare la aritmetica interna consiste nello scegliere
na + 1 in modo che la potenza del rumore di calcolo di uscita non superi quella
associata alla quantizzazione dell’ingresso data dalla (3.31) e che, quindi, la
incertezza sul segnale di uscita dovuta agli errori di calcolo non superi la
incertezza intrinseca da cui è affetta l’uscita stessa per effetto degli errori di
quantizzazione da cui è affetto il segnale di ingresso.
Capitolo 4. Valutazione degli errori di calcolo. 111
z -1
e(k)
β -
+
x(k) b ^
y(k)
Qa [.]
-1
z
1
' 2 (4.26)
4 sin θ0 (1 − r)
e la (4.25) diviene con σe2 = qa2 /12:
2 qa2 1
σey ' · 2 (4.27)
48 sin θ0 (1 − r)
Capitolo 4. Valutazione degli errori di calcolo. 113
Ancora una volta risulta che σey 2 aumenta per r → 1. Inoltre, nella realiz-
dove fi (j) è la risposta impulsiva tra l’ingresso del sistema e l’uscita del som-
matore i–esimo.
Dalla (4.29) si ricava:
∞
X
|yi (k)| ≤ max |x(k)| |fi (k)| (4.30)
k=0
e quindi condizione sufficiente affinchè |y i (k)| ≤ 1 per ogni ingresso x(k) (cioè
non si verifichi mai overflow al nodo i–esimo) è che:
∞
X
max |x(k)| |fi (k)| ≤ 1 (4.31)
k=0
2
In effetti tale condizione è sovrabbondante, essendo sufficiente garantire che non vadano
in overflow le variabili che devono essere moltiplicate per coefficienti che non sono numeri
interi: si vedano gli esempi 2 e 4 del par. 4.1.4.
Capitolo 4. Valutazione degli errori di calcolo. 115
cioè:
1 1
max |x(k)| ≤ P∞ = (4.32)
j=0 |fi (j)| si
Si osserva che la condizione è anche necessaria, nel senso che esiste un segnale
di ingresso per il quale la (4.32) è verificata col segno di uguaglianza. Infatti al
segnale: x(j) = sign[fi (k−j)]Mx , j = 0, 1, · · · , k, (k → ∞) che assume sempre
valori pari in valore assoluto al fondo scala e segno uguale a quello della risposta
impulsiva, corrisponde all’istante k proprio la uscita y i (k) = Mx kj=0 |fi (j)|.
P
n +1
a
m ni l
x1 c1 x1 c 1’
si
yi y i’
c2 c 2’
x2 x2
ei ei
c3 c 3’
x3 x3
c ’=c/s i
Per tale motivo spesso si utilizzano metodi alternativi di stima dei fattori
di scala si [29]. Tali metodi presuppongono la disponibilità di informazioni
ulteriori sulla classe dei segnali di ingresso.
Ricordando la
1 1
k dz dz
I I
yi (k) = Yi (z)z = Fi (z)X(z)z k (4.41)
2πj c z 2πj c z
e valutando gli integrali sul cerchio di raggio unitario z = e jθ , si ha:
Z 2π dθ
|yi (k)| ≤ |Fi (ejθ )X(ejθ )| . (4.42)
0 2π
Da (4.42) si ricavano facilmente le due maggiorazioni:
Z
dθ 2π
jθ
|yi (k)| ≤ max |X(e )| |Fi (ejθ )|
= L∞ (X) · L1 (Fi ) (4.43)
θ 0 2π
Z 2π
dθ
|yi (k)| ≤ max |Fi (ejθ )| |X(ejθ )| = L∞ (Fi ) · L1 (X), (4.44)
θ 0 2π
dove si è indicata con Lp (F ) la norma p–esima della funzione F (e jθ ):
2π 1/p
p dθ
Z
jθ
Lp (F ) = |F (e )| (4.45)
0 2π
Capitolo 4. Valutazione degli errori di calcolo. 119
L1 (F ) ≤ · · · ≤ Lp−1 (F ) ≤ Lp (F ) ≤ · · · L∞ (F ) (4.46)
2π 1/2 Z 2π 1/2
dθ dθ
Z
|yi (k)| ≤ |X(ejθ )|2 |Fi (ejθ )|2 = L2 (X) · L2 (Fi )
0 2π 0 2π
∞
!1/2 ∞
!1/2
2
fi2 (k)
X X
= x (k) . (4.48)
k=0 k=0
Si osserva che la (4.48) utilizza come misura della amplificazione tra l’ingresso
ed il nodo i–esimo la norma L2 , cioè la stessa norma da cui dipende la potenza
dell’errore di calcolo all’uscita dalla realizzazione, e corrisponde, quindi, all’impiego
della stessa metrica per misurare sia gli errori di calcolo che i fattori di scala.
Le (4.43) e (4.44) sono utilizzabili quando è disponibile una stima, rispet-
tivamente, del valore massimo e del valore medio del modulo della trasformata
dell’ingresso, mentre la (4.48) richiede la conoscenza dell’energia del segnale di
ingresso. In ogni caso è 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(e jθ )| ' 1
o ' 0), si trova sperimentalmente che le norme associate alle f.d.t. F i (z),
che intervengono nelle (4.30), (4.43), (4.44) e (4.48), soddisfano alle seguenti
relazioni approssimate
`1 (fi ) ' 2L∞ (Fi ) ' 4L2 (Fi ) → L∞ (Fi ) ' 2L2 (Fi ). (4.49)
Z 2π dθ
2
σyi = |Fi (ejθ )|2 Rx (ejθ ) . (4.54)
0 2π
La (4.54) consente di stimare max |y i (k)| come (3÷4)σyi e, quindi, di introdurre
un fattore di scala che renda la deviazione standard del segnale y i0 (k) pari ad
una frazione del fondo scala. In particolare, nel caso il processo di ingresso sia
bianco (o a banda larga) con varianza σ x2 e gaussiano (o approssimativamente
tale) troncato al valore di fondo scala, si ha:
Z 2π dθ
2
σyi = σx2 |Fi (ejθ )|2 = σx2 · L22 (Fi ) (4.55)
0 2π
Le f.d.t. Fi (z) possono essere modificate in modo che risulti
L2 (Fi0 ) = 1. (4.56)
Corrispondentemente si ha
σy20 i = σx2 (4.57)
e la dinamica di tutte le variabili interne y i0 (k) risulta uguale a quella dell’ingresso.
Il controllo dell’overflow è ricondotto ad una corretta messa in scala del solo
ingresso e, assicurando che sia
y’ y
x2 c2
c3
x3
2
= (1 − a )
σey σe2
Nelle ipotesi fatte per x(k) si ha che per l’uscita vale la
q
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 è quasi mai superiore al 40% del
fondo scala e quindi per alimentare il convertitore D/A si può scartare il bit
più significativo (saturando quando necessario). Si calcoli il rapporto SN R u
nell’ipotesi di segnale di ingresso sinusoidale.
C2
80 saturazione
60
(dB)
40
20
0
0.1 0.2 0.3 0.4
σx
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; F c = 8 kHz.
La simulazione è stata condotta inviando lo stesso segnale all’ingresso di due
realizzazioni aventi gli stessi coefficienti, ma operanti l’una in virgola fissa
e l’altra in float doppia precisione. Si è calcolata la differenza delle uscite
ey (k) = y(k) − ŷ(k), e si è stimata la potenza del segnale di uscita con la
σy2 ' k y 2 (k)/N e la varianza del rumore di calcolo con la σ ey 2 ' P e2 (k)/N
P
k y
con N = 104 , scartando i campioni corrispondenti al transitorio iniziale. Il
segnale di ingresso era costituito da campioni generati da un generatore di
numeri pseudo-gaussiani incorrelati di varianza unitaria, che venivano molti-
plicati per 1/m (ottenendo un segnale di varianza 1/m 2 ), saturati a −1 e
1 − 2−15 e quantizzati su 16 bit.
La Fig. 4.9 mostra chiaramente che al variare del fattore di scala 1/m la
realizzazione in virgola fissa presenta due regimi di funzionamento:
a) per ”piccoli” valori di σx (minori di ' 1/3) il rapporto SN Ru cresce con σx
e quindi con la potenza del segnale di ingresso e di uscita (σ y2 ' (2fp /Fc )σx2 =
250/4000σx2 ), in ottimo accordo con quanto previsto dalla teoria (SN R u au-
menta di 6 dB per ogni raddoppio di σx ). Non si nota nessuna differenza fra i
due tipi di aritmetica e, in effetti, per σ x < 1/4 non si è 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 più rilevante e cosı̀ il loro effetto, che ha come conseguenza una
drastica riduzione del valore di SN R u . In questo caso si lascia apprezzare la
maggiore insensibilità agli overflow della aritmetica a saturazione, che presenta
un passaggio meno brusco fra i due regimi di funzionamento.
VFS AD VFS DA
a)
x(t) ^ ^ ~
x(kT) x(kT) y(kT) y(kT) y(t)
Qi H(z) Qu H0 (s)
b)
Il segnale x̂(kT ) (si veda il par. 3.1) è un segnale numerico che può essere
espresso come frazione fx (kT ) del fondo scala V F SAD del convertitore A/D
(non si confonda fx (kT ) con il simbolo usato per indicare la risposta impulsiva
fi (k) nel par. 4.1.3)
con fy (kT ) numero puro risultato della elaborazione secondo H(z) di f x (kT ).
Risulta:
max |y(kT )| = max |fy (kT )| · V F SAD (4.63)
Se si desidera che il comportamento dell’intero sistema sia lineare (trascurando
le nonlinearità associate alla realizzazione della f.d.t.) anche per ”grandi seg-
nali”, è necessario che il convertitore di uscita sia in grado di fornire il valore:
max |ỹ(t)| = max |fy (kT )| V F SAD ≤ V F SDA (4.64)
dove V F SDA è la tensione di fondo scala del convertitore D/A. Poichè per
le 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 |ỹ(t)| >
V F SDA , è necessario introdurre un amplificatore analogico a valle del con-
vertitore D/A. In ogni caso, per soddisfare la (4.64) è necessario stimare
max |fy (kT )| e ciò può essere fatto con uno dei metodi precedentemente il-
lustrati nel par. 4.1.3, oppure mediante simulazione. In alcuni casi, tuttavia,
è conveniente accettare che il sistema si comporti in maniera non-lineare per
”grandi segnali”, ricorrendo ad una saturazione sull’uscita, analogamente a
quanto illustrato precedentemente per il convertitore A/D.
fy (k)
0 0
fx (k) 0 0
segno 0 0 1 0
1 1 0 1 ~
x(t) 0 0 1 0 y(t)
A/D D/A
1 1 aritmetica 0 1
1 1 0 0
n i+1 0 1 n u+1
VFS 1 0 0 VFS 2
a)
n a+1
0
0
1 0
0 1
1 1 b)
0 1
0 1
1 n u+1
0
n a+1
x(k) sia un rumore bianco a d.d.p. uniforme in [−1, +1), l’intervallo di vari-
azione dell’uscita è circa ±0.4 per a = 0.9, e quindi può risultare conve-
niente non considerare il bit più significativo (del modulo) dell’uscita. In
questo caso, se l’uscita deve essere convertita in segnale analogico si può porre
V F SDA = V F SAD /2 oppure V F SDA = V F SAD , introducendo un amplifica-
tore di guadagno 0.5.
1 − 1.34z −1 + z −2
H(z) = 0.133
1 − 1.63z −1 + 0.732z −2
la cui risposta in frequenza e il cui diagramma zeri–poli sono riportati in fig.
4.12.
−5
−10
−15
|H| (dB)
−20
−25
−30
−35
−40
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f/Fc −1 0 1
Si osservi che risulta `1 (f1 ) ' 4`2 (f1 ), relazione in generale ben verificata in
tutti i filtri con risposta in frequenza del tipo ”costante a tratti”. La realiz-
zazione normalizzata è riportata in fig. 4.13 b), dove b 0i = bi s1 /s2 .
128 4.1 Il caso della aritmetica a virgola fissa
Ab b’
a1 z -1 1
e a1 z -1 1
e
1 2
A b’
2
z -1
a2 a2 -1
a) z b)
Si ha 3σey ' 4.6qa e quindi gli errori di calcolo interessano i tre bit meno signi-
ficativi del segnale di uscita. Affinchè la potenza di rumore di calcolo G a qa2 /12
non superi la potenza di rumore dovuta alla quantizzazione dell’ingresso,
P 2 2 2
k h (k)qi /12 ' 0.35qi /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 variabili
di stato non hanno effetto sulla variabile associata al nodo 1, cioè sull’uscita,
se si garantisce |y1 (k)| = |y(k)| ≤ 1. Pertanto è sufficiente considerare il solo
nodo 1.
Utilizzando ancora la norma `1 , si ha s1 = k |h(k)| ' 1.23, la realiz-
P
∞
3s21 g12 (k) + 1 · 4 ' 89,
X
Ga =
k=0
Capitolo 4. Valutazione degli errori di calcolo. 129
valore maggiore (in questo esempio) di quello della realizzazione di Fig. 4.13
b).
x(k) A 1 y(k) x(k) b’0 1 s1 y(k)
b’1
Ab 1 z -1 a1 z -1 a1
2 a2 2 a2
A -1
b’2 -1
z a) z b)
b’ =Ab / s
1 i 1
3 3
x(k) -1
z z -1 x(k)
1 h(2) h(1)
-1 h(o)
-1 -1 -1 z
z z e3 z
N +1 2 N +1 2
mey = s me , σey = s2 σe (4.66)
2 2
mentre per quella di Fig. 4.15 b) si ha:
2
mey = s N me , σey = s2 N σe2 (4.67)
1 NX
−1
1 1 − z −N
H(z) = z −k =
N k=0 N 1 − z −1
che risulta più vantaggiosa dal punto di vista del numero di operazioni di
quella non ricorsiva.
In ambiente in virgola fissa si pone il problema della messa in scala delle
variabili e, se si applicasse ciecamente la procedura finora illustrata, si tro-
verebbe che il calcolo della variabile s(k) (cioè la realizzazione della f.d.t.
dell’accumulatore, 1/(1 − z −1 )) richiederebbe un fattore di scala infinito. Si
nota, però, che l’uscita y(k) è una ”pura” somma dei valori (scalati) dell’ingresso
e, quindi, si conclude che con aritmetica modulare è possibile trascurare gli
overflow dell’accumulatore, se si garantisce che l’uscita non vada in overflow.
Allo scopo è sufficiente inserire (come fatto) all’ingresso il fattore di scala
1/s = 1/ k |h(k)| = 1/N , cioè il guadagno della f.d.t..
P
1 + b1i z −1 + b2i z −2
Hi (z) = i = 1, 2 (4.69)
1 − a1i z −1 − a2i z −2
ed A = H(∞) guadagno. La realizzazione di ogni cella è del tipo ad uscite
multiple dallo stato. Per quanto riguarda il fattore A, esso può essere applicato
all’uscita, all’ingresso, distribuito tra le celle del secondo ordine o associato alla
parte non ricorsiva dell’ultima cella (come indicato in Fig. 4.16).
In generale è necessario procedere ad una normalizzazione delle variabili
yi (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
F (z)=H(z)
4
F (z)
3
F (z)
2
F1(z)
H (z) H (z)
1 2
1 2 3 b 4
x(k) 02 y(k)
a11 z
-1 b11 a12 z
-1 b12
a21 -1
b21 a22 -1
b22
z z a)
=
2=3
1/s 1 1 b’01 b’02 4 s4
x(k) y(k)
a21 -1
b’21 a22 b’22
z z -1 b)
1/s’1 1 2 s’/s’
1 2 3 b02 4 s’2
x(k) y(k)
a21 -1
b21 a22 -1
b22
z z c)
Figura 4.16 Realizzazione cascata: messa in scala delle variabili e calcolo del
guadagno di rumore di calcolo.
Per la stima dei valori massimi delle variabili y i (k) è necessario considerare
le funzioni di trasferimento Fi (z) tra l’ingresso e il nodo i–esimo ed applicare
i fattori di scala corrispondenti secondo quanto illustrato nel par. 4.1.3. In
particolare per i nodi 2 e 3 si osserva che è sufficiente normalizzare y 3 (k), dato
che gli eventuali overflow di y2 (k) non provocano errori nel risultato finale
y3 (k).
La struttura normalizzata è riportata in Fig. 4.16 b) dove:
Tabella 4.3 Per l’esempio 1: accoppiamenti zeri/poli, ordinamenti delle celle del
secondo ordine e guadagni di rumore di calcolo corrispondenti.
in cascata comprende tre celle del secondo ordine. Gli zeri e i poli associati ai
tre fattori del secondo ordine, il modulo dei poli (r) e il guadagno (A) hanno
i valori:
i zeri poli r A
1 (−0.039, ±0.999) (0.186, ±0.936) 0.954
2 (0.619, ±0.786) (0.433, ±0.855) 0.958 0.0185
3 (±1., 0.) (0.297, ±0.847) 0.897
−5
−10
−15
1
−20
|H| (dB)
2
−25 1
3 2
−30
−35
−40
−45
3 3
−50
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f/F_c −1 0 1
i zeri poli r A
1 (0.843, ±0.538) (0.895, ±0.376) 0.971
2 (0.685, ±0.728) (0.859, ±0.251) 0.895 0.007
3 (−1., 0.) (0.840, 0.) 0.840
−10
−20
|H| (dB)
−30
2
−40 1
1
−50 2
3 3
−60
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f/F_c −1 0 1
Tabella 4.4 Per l’esempio 2: accoppiamento zeri/poli, ordinamento delle celle del
secondo ordine e guadagno di rumore di calcolo corrispondente.
Realizzazioni parallelo.
In Fig. 4.20 a) è riportata la realizzazione in parallelo di una f.d.t. del quarto
ordine: H(z) = A0 + H1 (z) + H2 (z), in cui le due f.d.t.
c0i + c1i z −1
Hi (z) = (4.72)
1 − a1i z −1 − a2i z −2
sono realizzate in forma diretta ad uscite multiple dallo stato.
È necessario procedere ad una normalizzazione delle variabili y i (k) associate
ai nodi 1 e 2 e all’uscita (nodo 5). La Fig. 4.20 b) riporta la corrispondente
struttura normalizzata.
Si osserva che il rumore di calcolo di uscita è la somma di quelli generati
dalle singole celle che quindi, a differenza della realizzazione cascata, possono
essere trattate separatamente.
Generalmente, come mostrato nell’ Esempio successivo, la realizzazione paral-
lelo si comporta almeno come la migliore realizzazione in cascata dal punto di
vista del rumore di calcolo in uscita. Per la sensibilità alla quantizzazione dei
coefficienti moltiplicatori nel caso gli zeri abbiano modulo unitario, valgono le
considerazioni a suo tempo svolte.
Capitolo 4. Valutazione degli errori di calcolo. 137
40
35
30 Cascata
G
a Parallelo
25
(dB)
20
15
10
0
0 0.1 0.2 0.3 0.4 0.5
fp / Fc
Figura 4.19 Guadagno di rumore di calcolo in funzione della banda passante per
realizzazioni cascata e parallelo con celle del secondo ordine ad uscite multiple dallo
stato.
A’
1 c 01 3
a11 z -1
c 11
x(k) 5
y(k)
a21 z -1
2 c 02 4
a12 z -1
c 12
a)
a22 z -1
A’/s 5
1 c’01 3
1/s 1
-1
e1 a11 z
c’11
5 s5
x(k) y(k)
a21 -1
z
e5
1/s 2
2 c’02 4
-1
e2 a12 z
c’12
b)
a22 -1
z
Figura 4.20 Realizzazione parallelo: messa in scala delle variabili e calcolo del
guadagno di rumore di calcolo.
Capitolo 4. Valutazione degli errori di calcolo. 139
i=0 B(z)
H(z) = N
=
A(z)
ai z −i
X
i=0
- kn -1
H (z) Hn-1 (z)
n-1
kn
z -1 z
-1
~ ~ ~ ~
Yn Yn-1 Y’n Y’n-1
a) b)
z -1 z -1
~ ~ ~ 1-k 2 ~
Y’n Y’n-1 Y’n n Y’n-1
c) d)
con |kn | < 1 e An (z) polinomi a fase minima ∀n, nell’ipotesi A N (z) abbia tutti
gli zeri interni al cerchio di raggio unitario (Appendice C).
In base alla (4.73), alla decomposizione (4.74) rimane associata la relazione
tra le f.d.t. passatutto Hn (z) = Ân (z)/An (z)
due moltiplicatori la quale ha due ingressi, Y n (z) e z −1 Ỹn−1 (z), e due uscite,
Yn−1 (z) e Ỹn (z), e vede come ”carico” la f.d.t. passa-tutto di ordine n − 1
z −1 Ỹn−1 (z)
z −1 Hn−1 (z) = .
Yn−1 (z)
Quindi HN (z) può essere realizzata come la cascata di N celle, come illustrato
in Fig. 4.22.
È utile osservare che gli elementi di ritardo, z −1 , possono seguire le trasferenze
Hn−1 (z) (come in Fig. 4.21 a) e in Fig. 4.22) e quindi comparire nella linea
di ”ritorno” che collega le varie celle, ma nulla cambierebbe se li si facesse
precedere le Hn−1 (z) e, quindi, se fossero introdotti nella linea di ”andata”
che collega le celle di Fig. 4.22. Questa osservazione è utile per collegare le
proprietà della realizzazione a quelle della realizzazione trasposta.
X X
AN
kN k N-1 k1
Le risposte impulsive f˜n (k) godono della notevole proprietà di essere or-
togonali (Appendice C):
∞
f˜m (k)f˜n (k) = 0
X
0 ≤ m 6= n ≤ N (4.81)
k=0
N
2 −1/2
(1 − ki2 )−1/2 (4.85)
Y
L2 (F̃N ) = 1, L2 (F̃N −1 ) = (1 − kN ) , · · · , L2 (F̃0 ) =
i=1
Celle ad un moltiplicatore
Riprendiamo le relazioni ingresso-uscita (4.78). Sostituendo Y n−1 nella sec-
onda equazione, otteniamo:
(
Yn−1 = Yn − kn z −1 Ỹn−1
(4.87)
Ỹn = kn Yn + (1 − kn2 )z −1 Ỹn−1
Se poniamo
cn−1
= 1 + kn (cN = 1), (4.90)
cn
il moltiplicatore di z −1 Ỹn−1
0 nella seconda delle (4.89) diviene 1 − k n e una
semplice manipolazione delle (4.89) porta alla cella ad un moltiplicatore (e 3
somme) di Fig. 4.21 b).
Analogamente, se poniamo
cn−1
= 1 − kn (cN = 1), (4.91)
cn
In regime sinusoidale la natura passa–tutto di H n (z) e Hn−1 (z) implica: |a1 (k)| =
|A1 exp(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 k n ≤ 0:
|a1 | = |b1 | = |a2 (1 + |kn |) − a1 |kn || ≥ |a2 |(1 + |kn |) − |a1 ||kn | (4.93)
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 normalizzate
in norma L2 .
Si osserva che la matrice associata a (4.96) è una matrice ortonormale e
quindi corrisponde ad una rotazione (sin φ n = kn , cos φn = (1 − kn2 )1/2 ): in
ogni istante i vettori costruiti con i segnali di uscita e di ingresso hanno la
stessa lunghezza:
02
yn−1 (k) + ỹn02 (k) = yn02 (k) + ỹn−1
02
(k − 1) (4.97)
proprietà che talora viene espressa dicendo che la cella normalizzata è ”non
dissipativa”.
7
Tale scelta corrisponde a rendere i polinomi Ã0n (z), n = 1, 2, ..., N − 1, ortonormali sul
cerchio 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
Il caso generale
La realizzazione di una generica f.d.t. H(z) può essere ottenuta come combi-
nazione lineare delle variabili Ỹn (z) o Ỹn0 (z) (variabili di stato ”future”), cioè
come
M M
B(z) Ân (z) Â0 (z)
d0n n
X X
H(z) = = dn = (4.102)
A(z) n=0 AN (z) n=0 AN (z)
con M ≤ N grado di B(z) e con d0n = dn /cn , e quindi il numeratore risulta
espresso come combinazione lineare dei polinomi Ân (z) o Â0n (z). Sono possibili
varianti, ad esempio, l’uso di Yn (z) anzichè Ỹn (z), che non mutano però le
proprietà della realizzazione risultante.
Per il calcolo dei coefficienti dn , si ha che deve essere:
M
X
B(z) = dn Ân (z).
n=0
BM = dM ÂM + BM −1 → dM = bM,M
BM −1 = BM − dM ÂM = dM −1 ÂM −1 + BM −2 → dM −1 = bM −1,M −1
..
.
B0 = B1 − d1 Â1 = d0 Â0 → d0 = b0,0
(4.103)
dove BM (z) = B(z) e Bn (z) = ni=0 bn,i z −i .
P
Anche nel caso generale si trova che le realizzazioni a traliccio con cella a
quattro moltiplicatori hanno ottime prestazioni per quanto riguarda il guadagno
di rumore di calcolo [57], [41].
25
R1
R2
20 * R3
R4
Ga * * R5 *
15 *
*
*
10
f p /Fc
Figura 4.23 Per l’esempio: guadagno di rumore di calcolo in funzione della banda
passante.
e1 (k) A e2 (k)
b c
x(k) y(k)
s(k+1) s(k)
Una importante proprietà del modello a variabili di stato é data dalla possi-
bilità di modificare la descrizione associata alle matrici A, b e c semplicemente
cambiando la base dello spazio di stato. Detta T una matrice di dimensioni
N × N non singolare, con la posizione
Si verifica facilmente che le f.d.t. H(z) dei due sistemi coincidono e che quindi
la trasformazione porta ad un sistema simile, cui rimane associata una diversa
descrizione:
(A, b, c, d) ⇐⇒ (T−1 AT, T−1 b, 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 (cioé la
f.d.t. F(z), trasformata di f (k)) che le relazioni tra il vettore di stato e l’uscita
(cioé la f.d.t. G(z), trasformata di g(k)), é fondamentale per la costruzione di
realizzazioni nelle quali é minimizzata la propagazione degli errori di calcolo.
Allo scopo osserviamo che nel caso attuale gli errori di calcolo (schematizzati
in Fig. 4.24 come sorgenti additive) sono associati al calcolo di s(k + 1), la cui
equazione diviene
k=0
Le matrici K e W
Poiché fi (k) é la i–esima componente del vettore f (k), gli elementi della di-
agonale principale della matrice f (k)f t (k) sono proprio le quantità fi2 (k). Se
definiamo la matrice N × N
∞ ∞
t
Ak b(Ak b)t ,
X X
K= f (k)f (k) = (4.112)
k=0 k=0
otteniamo che gli elementi Kii di K sono proprio le norme `2 al quadrato delle
f.d.t. dall’ingresso ai nodi associati alle variabili di stato:
∞
fi2 (k) = `22 (fi ).
X
Kii = (4.113)
i=0
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 nel
seguente modo:
K = [Kmn ] =⇒ K0 = [Kmn /(tm tn )]
W = [Wmn ] =⇒ W0 = [Wmn tm tn )].
Se quindi si pone p p
T = diag[ K11 , · · · , KN N ], (4.120)
si arriva ad una realizzazione con elementi unitari sulla diagonale principale
della matrice K0 e con elementi Kii Wii su quella di W0 . É facile verificare che
l’effetto della trasformazione T é esattamente lo stesso che si sarebbe ottenuto
applicando alle variabili del grafo di Fig. 4.24 il procedimento di Fig. 4.7, cioé
una normalizzazione distribuita con fattori di scala pari a t i .
In definitiva, il guadagno di rumore di calcolo associato all’aggiornamento
delle variabili di stato, si lascia scrivere come:
N
X
Gas = Kii Wii (4.121)
i=1
dove
N
1 X
ρ= µi (4.123)
N i=1
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 é il quadrato della
media aritmetica dei µi , cioé delle radici quadrate dei modi del secondo ordine.
Si dimostra inoltre che la (4.122) vale col segno di uguaglianza, quindi la
realizzazione corrispondente é una realizzazione a minimo rumore, se e solo
se le matrici K e W soddisfano le condizioni:
W 0 = ρ 2 K0 , Kii0 = 1, i = 1, · · · , N. (4.124)
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 é necessario mettere in conto. In [44, 57] é presentato un
procedimento efficiente per la soluzione del problema. Vedremo, comunque,
su un esempio che il rumore generato in una realizzazione cascata non é mai
inferiore a quello generato in una realizzazione parallelo ed é quindi utile parti-
colarizzare il metodo generale al caso delle f.d.t. del secondo ordine “isolate”,
riferendosi implicitamente al caso parallelo.
con |ai | < 1, otteniamo la f.d.t. H 0 (z) = H(F (z)). Si dimostra [47] che
ogni modo del secondo ordine µ2i di H(z) diviene un modo del secondo ordine
µ02 2 0
i = µi di molteplicità 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 di
H 0 (z). Questo fatto vale indipendentemente dal valore della banda passante
e costituisce un comportamento significativamente differente da quello che si
riscontra nelle realizzazioni in forma diretta nelle quali, invece, il guadagno
di rumore tende a divergere per valori della banda passante prossimi a zero
e a metà della frequenza di campionamento (si veda la Fig. 4.19). Questa
proprietà rende le realizzazioni a minimo rumore indispensabili nel caso di
filtri a banda stretta.
∂H
Saij (z) = = Gi (z)Fj (z)
∂aij
∂H
Sbi (z) = = Gi (z)
∂bi
∂H
Sci (z) = = Fi (z). (4.125)
∂ci
Capitolo 4. Valutazione degli errori di calcolo. 157
M = (N + 1) tr(W) + N (4.129)
W0 = ρ2 MK0 M (4.130)
1
(MAt M)K0 (MAM) + Mct cM = AK0 At + bbt . (4.132)
ρ2
q10 z −1 + q20 z −2 s s∗
G(z) = −1 −2 = z − p + z − p∗ (4.136)
1 − a 1 z − a2 z 1 1
s = sr + jsi . (4.137)
dove s
P +Q
k= (4.140)
P −Q
s s
|s| − si |s| + si
b1 = b2 = − sign(sr ) (4.141)
P −Q P +Q
sr sr
c1 = c2 = (4.142)
b1 b2
dove, nel caso sr = 0, le espressioni per c1 e c2 vanno intese come limite per
sr → 0.
0 = K 0 = 1, W 0 = W 0 = P 2 − Q2
La realizzazione soddisfa le condizioni K 11 22 11 22
ed il guadagno di rumore associato all’aggiornamento dello stato, risulta:
Gas = 2 [P 2 − Q2 ]. (4.143)
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 sempre
maggiore di quello del parallelo (la perdita massima é inferiore a 1/2 bit).
40
35
30 Cascata
R
Parallelo
25
(dB)
20
15
10
0
0 0.1 0.2 0.3 0.4 0.5
fp / Fc
La Fig. 4.25 riporta il rapporto (in dB) tra i guadagni di rumore delle
realizzazioni parallelo ad uscite multiple dallo stato (si veda la Fig. 4.19) ed
a minimo rumore, e l’analogo rapporto per la cascata. Dalla figura é appar-
ente il guadagno associato alle realizzazioni a minimo rumore, guadagno che
raggiunge circa 4 ÷ 5 bit per valori molto piccoli e molto grandi di f p /Fc .
Anche le aspettative sulla sensibilità parametrica sono ben soddisfatte: per
avere variazioni trascurabili nella risposta in frequenza sono sufficienti 12 bit
per i coefficienti delle realizzazioni a minimo rumore, indipendentemente dalla
banda passante, mentre per le realizzazioni ad uscite multiple sono sufficienti
12 bit per fp /Fc ' 1/4 e almeno 16 bit per valori molto piccoli e molto grandi
di fp /Fc .
Se si confrontano le prestazioni delle realizzazioni a minimo rumore con
quelle delle realizzazioni “ad onda” (si veda l’esempio relativo a Fig. 4.23 cor-
rispondente a specifiche confrontabili con quelle dell’esempio attuale), si trova
che quest’ultime sono superiori se si considera sia la sensibilità parametrica che
il guadagno di rumore (ma non il grado di parallelismo). A questo proposito
va, però, 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
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 valore
K (ad esempio, y(k) = 4) é ottenibile solo a partire da y(−1) = K. I cicli
corrispondenti 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 é legata alla esistenza di soluzioni non nulle della
equazione:
|y| = QR [|ay|] |a| < 1 (4.146)
dove QR [·] indica la quantizzazione per arrotondamento. Dalla equazione
equivalente
1 1
|y| − ≤ |ay| < |y| + (4.147)
2 2
si trova che, per |a| ≥ 0.5, i cicli possibili appartengono all’intervallo [−M, M ]
con
1
M = int (4.148)
2(1 − |a|)
dove int[·] denota la parte intera dell’argomento, e quindi la loro ampiezza
massima 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 |Q T s (x)| ≤ |x|), non si hanno mai cicli
limite, mentre se si usa troncamento in complemento a due, si hanno sempre
cicli 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 ordine
é piú complicato. Per x(k) = 0 si hanno due casi:
U = S[a1 U + a2 U ]. (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) é soddisfatta per
±2
U= . (4.157)
1 − (a1 + a2 )
Vediamo ora una realizzazione di f.d.t. del secondo ordine che può essere
resa priva di cicli di piccola e grande ampiezza. Riconsideriamo la realizzazione
a variabili di stato “in forma accoppiata” (2.39). Se si tiene conto della pos-
sibilità di overflow, l’equazione di evoluzione libera dello stato diviene:
y = c t x = c 0 x0 + c 1 x1 + c 2 x2 + c 3 x3 (4.162)
ef y = ỹ − y
= c0 x0 (0 + δ1 + δ2 + δ3 ) + c1 x1 (1 + δ1 + δ2 + δ3 ) (4.164)
+c2 x2 (2 + δ2 + δ3 ) + c3 x3 (3 + δ3 )
ef y = ∆at x (4.165)
con
∆a = Da D = diag[di ] (4.166)
dove di indica la somma degli errori associati al prodotto i–esimo c i xi . Nell’esempio
(4.163) si ha, ad esempio, d0 = 0 + δ1 + δ2 + δ3 e d3 = 3 + δ3 . Si osserva
che le variabili di hanno media nulla e varianza E[d2i ] = mii σe2 , dove mii è il
numero di sorgenti di errore i e δi che definiscono di e σe2 la loro varianza.
Esse non sono mutuamente incorrelate e si ha E[d i dj ] = mij σe2 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[d 20 ] = 4σe2 , E[d23 ] = 2σe2 e
E[d0 d3 ] = σe2 .
Dalle (4.165) e (4.166) si ha
2
σey = E[e2f y ] = at E[Dxxt D]a (4.167)
Capitolo 4. Valutazione degli errori di calcolo. 169
N
2
σe2 t
σe2
X
σey = h (Rx • M)h = rx (0) h(i)h(j)ρx (i − j) (4.170)
i,j=0
2 N N −1 2
σey = (N + 1)σe2 σx2 [h2 (0) + h2 (1) + 2
N +1 h (2) + N h (3)+ (4.171)
· · · + N 2+1 h2 (N )],
quantità molto più piccole delle (4.171) e (4.172), rispettivamente, almeno per
elevati valori di N .
x̃4 (k) = f l[cỹ3 (k)] = cỹ3 (k)(1 + (k)) = cỹ3 (k) + c(k)ỹ3 (k). (4.178)
Indichiamo con xi (k) e yi (k) e con x̃i (k) e ỹi (k), rispettivamente, i valori
assunti 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. Si
ha
∆x4 (k) = c∆y3 (k) + c(k)ỹ3 (k) (4.179)
da cui risulta che la variazione ∆x4 (k) può essere attribuita ad una variazione
∆c(k) = c(k) del coefficiente c. Se c(k) è sufficientemente piccolo, si può
confondere ∆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) = y 2 (k)
sono calcolabili come il segnale di uscita ∆y(k) = ∆y 2 (k) corrispondente al
segnale y3 (k)∆c(k) iniettato nel nodo 4. Si osserva che il segnale y 3 (k) che
moltiplica ∆c(k) è il segnale che si avrebbe in assenza di errori, e quindi la
approssimazione offerta dalla (4.180) corrisponde a supporre che gli errori di
calcolo siano sufficientemente piccoli da non alterare sensibilmente i risultati
172 4.2 Il caso della aritmetica a virgola mobile.
intermedi: y3 (k) ' ỹ3 (k). (Alla fine dell’esempio 1 vedremo una situazione in
cui questa ipotesi non è valida.)
Se si indica con hij (k) la risposta impulsiva tra il nodo i e il nodo j, si
trova
∆y(k) ' h42 ∗ ∆w(k) (4.181)
con
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 sensibilità della risposta impulsiva
h(k) = h12 (k) rispetto al moltiplicatore c = c 34 .
Posto ef y (k) = ∆y(k), si verifica facilmente che, nelle solite ipotesi, il valore
medio di ef y è nullo, mentre per il calcolo della varianza è utile osservare che,
se y3 (k)y3 (k + i) è incorrelato con (k)(k + i), ∆w(k) risulta un processo
bianco perchè tale è per ipotesi il processo di errore (k). Infatti
e si può concludere che, nei limiti di validità delle ipotesi fatte, una realiz-
zazione che presenti piccola sensibilità alle variazioni dei coefficienti moltipli-
catori risulta anche robusta nei confronti degli errori di calcolo.
Il rapporto Na /S risulta
2
σey 2 2
2 `2 (h13 ) `2 (h42 )
= σ e (4.187)
σy2 `22 (h12 )
ed è indipendente da σx2 .
Quanto detto per gli errori di calcolo in una moltiplicazione, può essere
facilmente esteso agli errori in una somma. Allo scopo è sufficiente associare
alla uscita dal nodo di somma un moltiplicatore fittizio di valore unitario, sup-
porre la somma esatta e attribuire l’errore alla moltiplicazione.
2
σ∆w = a2 E[d2a ]Py + b2 E[d2b ]Px + 2abE[y(k − 1)x(k)]E[da (k)db (k)]
= σe2 (2a2 Py + 2b2 Px + 2abE[y(k − 1)x(k)]) (4.200)
2 1 + a2
σ∆w = 2σe2 σx2 = 2σe2 σy2 (1 + a2 )
1 − a2
2
2σ∆w 2
2 2 2 1+a
σey = = 2σ e σ y (4.201)
1 − a2 1 − a2
e quindi il rapporto
2
σef 2
21 + a
= 2σ e (4.202)
σy2 1 − a2
e quindi, ad esempio, per 1 − |a| = 2−5 tale rapporto risulta circa 26 σe2 =
2−2(n−3) /3 e si ha una perdita di precisione nella mantissa pari a 3 bit (circa
una cifra decimale).
La (4.202) consente di valutare la validità della approssimazione associ-
ata alla (4.199): la bontà della approssimazione ỹ(k) ' y(k) risulta infatti
direttamente legata, in questo esempio, alla σ ef σy e quindi al rapporto
Na /S.
Concludiamo l’esempio, mostrando che il modello perturbativo adottato
può 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.
Quindi si ha
k
X
∆y(k) ' ay(k − 1) a (i)
i=0
N
X M
X
y(k) = ai y(k − i) + bi x(k − i).
i=1 i=0
N
X
∆y(k) = ai ∆y(k − i) + ∆w(k)
i=1
XN M
X
∆w(k) ' y(k − i)∆ai (k) + x(k − i)∆bi (k) (4.205)
i=1 i=0
dove ∆ai (k) = ai dai (k) e ∆bi (k) = bi dbi (k) e i dai (k) e dbi (k) tengono conto
dello 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 calcoli
la matrice Ri nella ipotesi che anche x(k) sia un processo bianco). Quindi
il processo errore ∆y(k) risulta un processo autoregressivo (a soli poli) di
varianza
Z 2π 1 dθ
2 2
σey = σw (4.206)
0 |A(ejθ )|2 2π
PN −i .
dove A(z) = 1 − i=1 ai z
Capitolo 4. Valutazione degli errori di calcolo. 177
coincide con quella modulo e segno (b n = 0), mentre per −2n ≤ x < 0 essa
coincide con quella del numero (positivo) r = x + 2 n+1 (bn = 1). In questo
caso si ha:
x = −2n+1 + r = −2n+1 + bn 2n + · · · + b0 20
= −bn 2n + bn−1 2n−1 + · · · + b0 20 .
Il bit bn viene spesso denominato ”bit di segno”; si osserva però che ad esso è
associato il peso negativo, −2n , cioè esso non ha solo la funzione di individuare
il segno come nella notazione M S. 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 = +5
(A.5)
x = −1 · 23 + 1 · 22 + 0 · 21 + 1 · 20 = −3
Appendice A. Rappresentazione in virgola fissa e mobile 181
i=1 i=1
ha
S ≡ S 0 (mod 2n+1 ).
La caratteristica ingresso–uscita y = S 0 (x) di un sommatore in complemento a
due è quindi periodica con periodo 2 n+1 : in Fig. A.1a) è riportato l’andamento
nel caso n + 1 = 3, e in Fig. A.1b) ne è data una rappresentazione equivalente
in cui i valori S 0 (x) sono associati a punti equispaziati su un cerchio.
S’(x)
-4
3
-3 3
2
1
-2 2
-7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 8 x
-1
-2 -1 1
-3
0
-4
0111+
0101 =
S10 1100+ (A.6)
1010 =
S20 0110
il prodotto x · y, espresso in termini del peso dei bit x i e yi , risulta dato dalla:
n−1 n−1
i n
yi 2i )
X X
x · y = (−xn 2n + xi 2 ) · (−yn 2 +
i=0 i=0
n−1 n−1 n−1
X n−1
i n i
xk yi 2k 2i ,
X X X
= x n yn 22n − xn 2n yi 2 − y n 2 xi 2 +
i=0 i=0 k=0 i=0
(A.7)
dove il primo e quarto addendo rappresentano quantità positive, e il secondo
e il terzo negative. Il quarto addendo porge il risultato completo della molti-
plicazione quando sia x che y sono positivi e può essere calcolato, come in
M S, con una sequenza di ”shift and add”; gli altri sono termini ”correttivi”
da applicare quando almeno uno dei due fattori è negativo. In particolare il
primo è non nullo solo quando i due numeri sono entrambi negativi.
Un algoritmo di moltiplicazione ”regolare”, cioè che tratta tutti i bit allo
stesso modo, è noto come primo algoritmo di Booth ed è usato nella maggior
parte dei moltiplicatori hardware. L’algoritmo di Booth nasce dalla semplice
osservazione che ogni cifra binaria y i può essere scritta come: yi = 2yi − yi , e
quindi, ad esempio, y può essere scritto come
A.1.3 Eccesso 2n .
Una notazione a n + 1 bit molto simile a C2 è quella denominata ”eccesso
2n ” generalmente impiegata nella rappresentazione dell’esponente nella no-
tazione in virgola mobile e spesso impiegata con il nome di ”offset binary” nei
convertitori 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+2 n e ciò equivale ad associare lo zero della
rappresentazione al numero più negativo. Si verifica che il codice risultante
differisce da quello C2 solo per l’inversione del bit più significativo b n .
Appendice A. Rappresentazione in virgola fissa e mobile 185
2) ogni sequenza:
c = (1.01110110)c2 = (−138/256)10
che diviene:
1̄01110110 → 1̄1001̄101̄0 → 01̄0001̄01̄0
Come detto, la notazione CSDC (o SDC) risulta interessante quando si deve
eseguire la moltiplicazione di una costante c per un numero variabile, x, e
non si dispone di un moltiplicatore hardware. In tale situazione l’operazione
di moltiplicazione viene realizzata con una sequenza di shift e somme (o sot-
trazioni) effettuate su x. Ad esempio, nella moltiplicazione della costante
c = −138/256 per la variabile x in software o in hardware dedicato, le oper-
azioni elementari sono: 3 shift e 3 sottrazioni, se c è 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 = 4
bit (n.r. significa che il numero non appartiene al campo dei numeri rappre-
sentabili.)
x̂ = f · B e (A.13)
Tabella A.1
188 A.2 Rappresentazione in virgola mobile.
1 e−n
|x̂ − x| ≤ B
2
e risulta costante per tutti gli x che sono rappresentati con lo stesso valore
dell’esponente (decade nel caso decimale, ottava nel caso binario). L’errore
relativo è:
x̂ − x
er = (A.14)
x
e risulta massimo in valore assoluto quando |f | è minima, cioè per |x| = B e−1 ,
da cui:
1
|er | ≤ B 1−n (A.15)
2
Quindi l’errore relativo assoluto massimo è limitato, indipendente dall’esponente,
e risulta tanto minore quanto maggiori sono B e n. Si può scrivere:
x̂ = x + er · x = x · (1 + er ). (A.16)
Q[f1 f2 ] − f1 f2 ep
= = (A.19)
f1 f2 fp
dove ep è l’errore nel prodotto delle mantisse introdotto, ad esempio, dall’arrotondamento
del risultato esatto fp su n cifre in base B. Tale errore si può ritenere uni-
formemente distribuito tra −B −n /2 e B −n /2 per B −1 ≤ fp < 1 e tra −B −n /4
e B −n /4 per B −1 /2 ≤ fp < B −1 . Ammettendo la indipendenza di ep , f1 e f2
ed una distribuzione uniforme anche per f 1 e f2 si trova [45] che ha media
nulla e varianza
B −2n
σ2 = 0.1799 B −2n ' 2.2 , (A.20)
12
circa doppia di quella associata ad una variabile uniforme in [−B −n /2, B −n /2].
Nella somma di due numeri x̂1 = f1 B e1 e x̂2 = f2 B e2 in virgola mobile la
mantissa del più piccolo (in modulo) viene divisa per B fino a portare i due
numeri con lo stesso esponente. Quindi le mantisse vengono sommate ed il
risultato, che può superare l’unità, riportato a n cifre. Supposto e 1 ≤ e2 si ha:
con f10 = f1 /B (e2 −e1 ) e |f10 + f2 | < 2. Il risultato si può scrivere come
B −2n
σδ2 = 0.1765 B −2n ' 2. (A.23)
12
che risulta, anche in questo caso, circa doppia di quella associata ad una
distribuzione uniforme in [−B −n /2, B −n /2].
In conclusione nella rappresentazione dei numeri in virgola mobile, fissata
la 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 per
la rappresentazione in precisione semplice (32 bit) di un numero x̂ il seguente
formato :
x̂ = f · 2e = (−1)s 2E−127 1.F → sEF
dove s è il bit di segno, E è un numero (positivo) di 8 bit che determina
l’esponente e = E − 127, e F è un numero (positivo) di 23 bit che determina la
parte frazionaria di f . Infatti, la adozione della base 2 comporta che il primo
bit della mantissa sia sempre uno, che è quindi assunto come implicito nella
rappresentazione. La mantissa f è normalizzata in modo che: 1 ≤ |f | < 2, e
risulta rappresentata con 23 + 1 = 24 bit. L’esponente E assume i valori da 1
a 255, per cui il minimo numero positivo rappresentabile è (1.0 · · · 0) M S · 2−126
ed il massimo è (1.1 · · · 1)M S · 2127 ' 2128 . I valori E = 0 e E = 126 designano
operandi speciali: E = F = 0 designa lo zero e E = 256 designa l’”infinito”
macchina [11].
Appendice B
Funzioni di trasferimento passatutto.
Conseguentemente si ha:
e H(ejθ ) risulta funzione solo della fase φ(θ) e del valore d. Nel seguito ci
riferiremo a funzioni passatutto a guadagno unitario, cioè con d = 1.
La (B.1) è equivalente alla condizione: |H(e jθ )|2 = H(ejθ )H ∗ (ejθ ) = 1, che
per prolungamento analitico diviene:
dove, se H(z) = n h(n)z −n per |z| > R− con R− < 1, risulta H ∗ (1/z ∗ ) =
P
P ∗ n ∗ ∗
n h (n)z per |z| < 1/R− , cioè H (1/z ) è 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). (Perchè
non si può considerare H ∗ (z) come prolungamento analitico di H ∗ (ejθ )?).
Da (B.3) si ricava per d = 1 che
1
H(z) = (B.4)
H ∗ (1/z ∗ )
e H(z) assume valori reciproci e coniugati nei punti reciproci e coniugati z e
1/z ∗ . Ne viene che ad ogni polo pi = rejθi corrisponde uno zero reciproco e
coniugato zi = 1/p∗i = ejθi /r.
Quindi le f.d.t. passatutto non sono a fase minima, ad eccezione dell’ esempio
elementare H(z) = z L . Un esempio più significativo è dato dalla f.d.t. del
primo ordine:
−a∗ + z −1 z −1 (1 − a∗ z) z −1 D ∗ (1/z∗)
H(z) = = = (B.5)
1 − az −1 1 − az −1 D(z)
192
−1
0.3
−2 0.6
arg[H(f)] (rad)
0.9
−3
−4
−0.3
−5
−0.6
a=−0.9
−6
Figura B.1 Andamento della fase di una f.d.t. passatutto del primo ordine con polo
reale.
N
−p∗i − z −1
H(z) = z −L
Y
|pi | < 1 (B.8)
i=1
1 − pi z −1
e la fase corrispondente risulta data dalla somma delle fasi associate ai singoli
fattori 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:
1
La configurazione polo-zero associata alla (B.5) si può dedurre dal teorema di Apollonio,
secondo il quale il luogo dei punti le cui distanze da due punti dati stanno in un rapporto
prefissato, diverso da uno, è una circonferenza: detti P1 e P1∗ i punti associati ad a e 1/a∗ ,
|z| = 1 è il luogo dei punti le cui distanze da P1 e P1∗ stanno nel rapporto costante |a| : 1.
Appendice B. Funzioni di trasferimento passatutto. 193
aN + aN −1 z −1 + · · · + z −N D̂(z)
H(z) = z −L = z −L (B.9)
1 + a1 z −1 + · · · + aN z −N D(z)
con D̂(z) = z −N D(1/z) polinomio “reciprocatò” di D(z).
Proprietà importanti delle f.d.t. passatutto (stabili e causali) sono:
b) una f.d.t. passatutto è ”non dissipativa” nel senso che l’energia della
risposta forzata, n yf2 (n), è uguale a quella del segnale di ingresso, n x2 (n);
P P
consideriamo il polinomio
che è caratterizzato dalla proprietà di avere come zeri i reciproci degli zeri di
AN (z) (per tale motivo viene spesso detto il polinomio ”reciproco” o ”recip-
rocato” di AN (z)) e dalla condizione di normalizzazione A N (1) = ÂN (1).
Si vuole rappresentare AN (z) (e ÂN (z)) come combinazione lineare di un
opportuno polinomio AN −1 (z) di grado N − 1 e del suo reciprocato ÂN −1 (z)
moltiplicato per z −1 , secondo un coefficiente reale kN , spesso detto coefficiente
di riflessione,
cioè 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) è
unica. Riapplicando il procedimento al polinomio A N −1 (z) ed, eventualmente,
a AN −2 (z), · · · , A1 (z), al polinomio AN (z) risultano associati, se |kn | 6= 1
per n = 1, 2, · · · , N , gli N polinomi AN −1 (z), · · · , A1 (z) e gli N coefficienti
kN −1 , kN −2 , · · · , k1 . Sia i coefficienti kn che i polinomi An (z) godono di im-
portanti proprietà, 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, dai
coefficienti aN,i o dagli zeri di AN (z)), nel senso che la applicazione delle (C.3)
a partire dal polinomio A0 (z) = Â0 (z) = 1 consente, noti i kn , di ricostruire
univocamente i polinomi An (z) e quindi il polinomio AN (z).
La applicazione ripetuta della prima delle (C.3) porge la rappresentazione:
A0 (z) = 1
A1 (z) = −1
1 + k1 z Â0
A2 (z) = A1 + k2 z −1 Â1 = 1 + k1 (1 + k2 )z −1 + k2 z −2 (C.7)
A3 (z) = A2 + k3 z −1 Â2 = 1 + [k1 (1 + k2 ) + k2 k3 ]z −1
+[k1 (1 + k2 )k3 + k2 ]z −2 + k3 z −3
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 ÂN −1 (z) non possono annullarsi nello
stesso punto e si può scrivere
−1
0 = AN (zN,i ) = AN −1 (zN,i ) + kN zN,i ÂN −1 (zN,i ) (C.9)
" #
−1 ÂN −1 (zN,i )
= AN −1 (zN,i ) 1 + kN zN,i (C.10)
AN −1 (zN,i )
1
HN −1 (zN,i ) = − (C.11)
kN
con |kN | < 1, e la (B.10) di Appendice B consente di concludere che deve
essere |zN,i | < 1.
Una semplice dimostrazione alternativa si basa sulla applicazione del metodo
del luogo delle radici alla prima delle (C.3). Allo scopo consideriamo k N come
parametro e scriviamo il primo membro come A N (z; kN ): se per kN = a si ha
AN (z; a) = 0 per z = α, si verifica facilmente che si ha anche A N (1/α; 1/a) =
0, e quindi il luogo delle radici di A N (z; kN ) al variare di kN è simmetrico
rispetto a |z| = 1 e zeri reciproci corrispondono a valori reciproci di k N .
La osservazione elementare che gli zeri di A N (z; kN ) coincidono con quelli
198 C.2 Un test di stabilità.
N
Y
|kN | = | (−zN,i )| < 1 (C.12)
i=1
e, per concludere che anche AN −1 (z) è a fase minima, basta riferirsi alla prima
delle (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 stabilità può essere reso più preciso, nel senso che
l’esame dei cambiamenti di segno della sequenza: 1−|k 1 |, 1−|k2 |, · · · , 1−|kN |,
e la analisi, per perturbazione, dei casi critici, |k n | = 1, consentono di calcolare
il numero di zeri di AN (z) interni, esterni e sulla circonferenza del cerchio di
raggio unitario [31], analogamente al test di Routh-Hurwitz relativamente alla
dislocazione degli zeri di un polinomio rispetto all’asse immaginario [34].
Dalla dimostrazione data è infatti facile dedurre che, ad esempio, se A N −1 (z)
è a fase minima e quindi |kn | < 1 per n = 1, 2, · · · , N − 1, ed è |kN | > 1, il
polinomio AN (z) è a fase massima.
1
P+ (z) = (AN (z) + z −1 ÂN (z))
2
1
P− (z) = (AN (z) − z −1 ÂN (z)) (C.13)
2
corrispondenti, rispettivamente, a porre k N +1 = 1 e kN +1 = −1, si ha
Non è difficile dimostrare che: AN (z) è a fase minima se e solo se tutti gli
zeri di P+ (z) e P− (z) sono semplici, hanno modulo unitario, si interlacciano
(ogni due zeri consecutivi di P+ (ejθ ) c’è uno zero di P− (ejθ ) e viceversa) e
sign[P+ (∞)] = sign[P− (∞)].
La dimostrazione può essere condotta direttamente nel piano z; è più 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 un
polinomio in z in un polinomio simmetrico e in uno antisimmetrico rispetto a
|z| = 1, corrisponde in s la decomposizione Ã(s) = E(s) + O(s) con E(s) =
Appendice C. Proprietà associate alla realizzazione a traliccio. 199
con max |zN,i | < |z| < 1/ max |zN,i |, sono la funzione di autocorrelazione di
hA (k) e la sua trasformata, e C è la circonferenza |z| = 1 orientata positiva-
mente.
La (C.15) si può interpretare come il prodotto interno tra i vettori reali
s = [· · · , s(k), · · ·]t e t = [· · · , t(k), · · ·]t rispetto alla funzione peso (semidefinita
200 C.3 Polinomi ortogonali sul cerchio di raggio unitario.
Dato il polinomio AN (z) a fase minima, siano An (z) e Ân (z) i polinomi a
fase minima e massima ad esso associati tramite la applicazione ripetuta delle
(C.4) e (C.5). Vale allora il seguente teorema:
1 zi dz
I
< AN (z), z −i > = −1
= 0, (C.16)
2πj c AN (z ) z
m
pi < Ân , z −i > = 0
X
< Ân (z), Pm (z) > = 0 ≤ m < n ≤ N,
i=0
e che i polinomi Ân (z), n = 0, 1, ..., N , sono ortogonali, al pari dei polinomi
z −1 Ân (z) :
< Ân (z), Âm (z) > = < z −1 Ân (z), z −1 Âm (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
(C.20)
< An (z), Am (z) > = < An , 1 > n ≥ m.
Per il calcolo dei prodotti interni nel caso m = n, osserviamo che risulta:
α2n = < Ân (z), Ân (z) > = < An (z), An (z) > = < An (z), 1 > (C.23)
= < An−1 (z), 1 > + kn · < z −1 Ân−1 (z), 1 > (C.24)
= α2n−1 + kn · < z −1
Ân−1 (z), 1 > (C.25)
e quindi:
< 1, z −1 Ân−1 (z) > = −kn · α2n−1 (C.29)
In definitiva da (C.25) e (C.29) si ha
α2n = < An (z), 1 > = α2n−1 − kn2 α2n−1 = α2n−1 (1 − kn2 ) (C.30)
In particolare si trova
α2N −1 = < ÂN −1 (z), ÂN −1 (z) > = < AN −1 (z), AN −1 (z) >
= 1 (C.31)
2
1 − kN
1 dz
I
α20 = < 1, 1 > = 1
−1
2πj c AN (z)AN (z ) z
= 1 (C.32)
N
kn2 )
Y
(1 −
n=1
∞
1 dz
I
2
H(z)H(z −1 )
X
h (k) = = < BM (z), BM (z) > (C.33)
k=0
2πj c z
M M M
c2n < Ân , Ân > (C.34)
X X X
= < cn Ân , cn Ân > =
n=0 n=0 n=0
M
c2n α2n
X
= (C.35)
n=0
Il processo
N
e+ +
X
N (k) = x(k) − x (k) = x(k) + am x(k − m) (C.39)
m=1
rappresenta l’errore associato alla predizione di x(k) tramite x + (k) e può pen-
sarsi ottenuto filtrando x(k) con il filtro FIR di f.d.t.
N
am z −m
X
AN (z) = 1 +
m=1
Appendice C. Proprietà associate alla realizzazione a traliccio. 205
e che quindi sono esattamente predicibili a partire dalla sola conoscenza del
passato1 (α2N = 0 per N ≥ M ), si ha E[e2N ] > 0 per ogni scelta dei coefficienti
am e risulta α2N > 0.
La matrice del sistema (C.49) è di Töplitz (gli elementi sulla diagonale princi-
pale sono uguali come pure quelli sulle parallele) e simmetrica, ed è costruita
coi valori dell’autocorrelazione del processo: r x (0), rx (1), ·, rx (N − 1), quindi
risulta definita positiva. Il vettore dei termini noti è costituito dai valori
rx (1), rx (2), ... , rx (N ).
È importante osservare che la soluzione della (C.49) rimane inalterata se
si dividono tutti i valori rx (i), i = 0, 1, · · · , N , per rx (0) (o per una costante
arbitraria). Se ne deduce che il predittore ottimo di ordine N dipende solo dai
valori assunti dalla funzione di autocorrelazione normalizzata del processo,
ρx (i) = rx (i)/rx (0), per i = 1, 2, · · · , N . Ne viene che lo stesso predittore
ottimo è associato a tutti i processi con densità spettrali normalizzate rispetto
alla varianza (quindi a varianza unitaria)
∞
Rx (ejθ )
Rx0 (ejθ ) =
X
=1+2 ρx (i) cos iθ
rx (0) i=1
che hanno la stessa ”parte iniziale” dello sviluppo in serie di Fourier, più 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 A N (z) il quale, come vedremo nel
seguito, risulta a fase minima. Vale anche il viceversa, nel senso che ad ogni
polinomio a fase minima rimane associata tramite il sistema (C.49) una unica
N –pla di coefficienti ρx (i).
1
PM
Gli zeri di AM (z) = 1+ m=1
am z −m sono tutti semplici e sul cerchio di raggio unitario.
Appendice C. Proprietà associate alla realizzazione a traliccio. 207
e+
2 (k) = x(k) + a1 x(k − 1) + a2 x(k − 2) → A2 (z) = 1 + a1 + a2 z
−2
e−
2 (k) = x(k − 2) + a1 x(k − 1) + a2 x(k) → Â2 (z) = a2 + a1 z
−1 + z −2 .
(C.53)
+
Quindi e2 (k) è 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) è l’errore relativo alla predizione all’indietro di x(k − 2)
a partire da x(k − 1) e x(k) ed i coefficienti a 1 e a2 rendono e− 2 (k) ortogonale
a 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 nella
seconda delle (C.53):
e−
2 (k−1) = x(k−3)+a1 x(k−2)+a2 x(k−1) → z
−1
Â2 (z) = a2 z −1 +a1 z −2 +z −3
(C.54)
208 C.4 Polinomi ortogonali sul cerchio di raggio unitario e predizione lineare.
n−1
α2n−1 = < An−1 , An−1 > = < An−1 , 1 > = rx (0) +
X
an−1,m rx (m)
m=1
(C.57)
Le proprietà di ortogonalità di A n−1 (z) e z −1 Â
n−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. Proprietà associate alla realizzazione a traliccio. 209
1, 2, · · · , n − 1 ed e−
n−1 (k − 1) rappresenta la quotaparte di x(k − n) di cui
non rende conto la predizione lineare su n − 1 dati), suggeriscono di costru-
ire il filtro sbiancante di ordine n come loro combinazione lineare secondo un
coefficiente kn , cioè proprio secondo la (C.3), qui riprodotta per comodità,
0 = < An (z), z −n > = < An−1 (z), z −n > +kn · < z −1 Ân−1 (z), z −n > (C.59)
dove < z −1 Ân−1 (z), z −n > = < Ân−1 (z), z −(n−1) > = < An−1 (z), 1 > =
α2n−1 .
Quindi
n−1
X
an−1,i rx (n − i)
< An−1 (z), z −n >
kn = − = − i=0 . (C.60)
α2n−1 α2n−1
Per la varianza dell’errore di predizione si può ripetere il calcolo che ha portato
alla (C.30), ottenendo la relazione
n
an,m x(k − m) + e+
X
x(k) = − n (k).
m=1
N
α2N = rx (0) (1 − kn2 )
Y
(C.62)
n=1
210 C.4 Polinomi ortogonali sul cerchio di raggio unitario e predizione lineare.
α20 = rx (0)
A0 (z) = Â0 (z) = 1
for n = 1, N
n−1
X
an−1,i rx (n − i)
i=0
kn = −
α2n−1
An (z) = An−1 (z) + kn z −1 Ân−1 (z)
Ân (z) = z −n An (z −1 )
α2n = α2n−1 (1 − kn2 )
end;
n−1
e+
X
n−1 (k) = an−1,m x(k − m) (C.63)
m=0
n−1
e−
X
n−1 (k) = ân−1,m x(k − m) ân−1,m = an−1,n−1−m(C.64)
m=0
Appendice C. Proprietà associate alla realizzazione a traliccio. 211
con e+ −
0 (k) = e0 (k) = x(k), le equazioni di aggiornamento dei filtri sbiancanti
An (z) e Ân (z) divengono le equazioni di aggiornamento degli errori
e+
n (k) = e+ −
n−1 (k) + kn en−1 (k) n = 1, 2, · · · , N
e− +
n (k) = kn en−1 (k) + e−
n−1 (k)
(C.65)
< An−1 (z), z −n > = < An−1 (z), z −1 Ân−1 (z) > = E[e+ −
n−1 (k)en−1 (k − 1)].
(C.66)
Quindi il coefficiente kn si può esprimere come:
E[e+ −
n−1 (k)en−1 (k − 1)]
kn = − (C.67)
α2n−1
+ + +
x(k) e1(k) en-1 (k) en (k)
k1 kn
-1 -1
z z
- -
e1 (k) e - (k) e n (k)
n-1
< Ân (z), Âm (z) > = < z −1 Ân (z), z −1 Âm (z) >= 0 0 ≤ m 6= n ≤ N
(C.68)
o equivalentemente della ortogonalità (incorrelazione nelle ipotesi attuali su
x(k)) dei corrispondenti processi di errore all’indietro:
E[e− − − −
n (k)em (k)] = E[en (k − 1)em (k − 1)] = 0 0 ≤ m 6= n ≤ N
(C.69)
Alla (C.58) è associata la rappresentazione di A N (z) in termini delle f.d.t.
ortogonali z −1 Ân (z)
N
kn z −1 Ân−1 (z),
X
AN (z) = 1 + (C.70)
m=1
N
e+ kn e−
X
N (k) = x(k) + n−1 (k − 1) (C.71)
n=1
con x(k) = e− +
0 (k). La (C.71) mostra che l’errore e N (k) è 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 k n+1 , oltre che ovviamente
di x(k) = e−
0 (k).
Appendice C. Proprietà associate alla realizzazione a traliccio. 213
N
X
y(k) = − am y(k − m) + w(k) (C.72)
m=1
con w(k) processo bianco a media nulla e varianza σ w 2 , soddisfa alle (C.49) e
quindi il processo y(k) è uno dei processi cui corrisponde il filtro sbiancante
AN (z).
Infatti, se si moltiplicano ambo i membri di (C.72) per y(k −i), se ne calcola la
aspettazione e si osserva che la incorrelazione di w(k) comporta la E[w(k)y(k−
i)] = 0 per i > 0, si trova:
N
X
ry (i) + am ry (i − m) = 0 ∀i > 0 (C.73)
m=1
da cui la conclusione. Si osservi che, tra i processi che soddisfano alla (C.49),
il processo autoregressivo (C.72) è 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 tre
importanti risultati.
Il primo giustifica il nome di filtro sbiancante dato alla f.d.t. A N (z) as-
sociata al predittore ottimo di ordine N del processo x(k). Infatti la densità
spettrale di potenza di y(k) è data da
σw2
Ry (ejθ ) =
|AN (ejθ )|2
e le densità Ry (ejθ )/σy2 e Rx (ejθ )/σx2 hanno uguali i primi N + 1 termini dello
sviluppo in serie di Fourier e quindi coincidono per N → ∞. Ne viene che
asintoticamente la densità spettrale R eN (ejθ ) = |AN (ejθ )|2 Rx (ejθ ), associata
all’errore di predizione e+ −
N (k) (o eN (k)) soddisfa la relazione
lim ReN (ejθ ) = lim |AN (ejθ )|2 Rx (ejθ ) = cost (C.74)
N →∞ N →∞
214 C.4 Polinomi ortogonali sul cerchio di raggio unitario e predizione lineare.
si trova
N
2
X
ry (0) + am ry (m) = σw (C.75)
m=1
La (C.75) mostra che, se nella (C.72) si sceglie la varianza del processo bianco
w(k) pari al valore α2N = 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 la
ry (i) = rx (i) per i = 0, 1, · · · , N .
A questo punto la condizione rx (0) = ry (0), espressa in termini di densità
spettrali, diviene:
2π ReN (ejθ ) dθ 2π 1 dθ
Z Z
σx2 = = α2N (C.76)
0 |AN (ejθ )|2 2π 0
jθ 2
|AN (e )| 2π
dove la prima espressione vale per ogni A N (z) a fase minima, mentre la seconda
vale solo per il filtro sbiancante associato al predittore ottimo del processo x(k).
Il confronto tra le due espressioni di σ x2 consente di trarre la importante
conclusione che, per quanto riguarda il calcolo della varianza di x(k), la den-
sità spettrale dell’errore di predizione associato al predittore ottimo (densità
che è costante solo asintoticamente) si comporta come quella di un rumore
bianco di pari varianza, cioè di varianza α 2N .
2π α2N dθ
Z
ln jθ 2
= ln α2N (C.78)
0 |AN (e )| 2π
da cui, ricordando che lim N →∞ α2N /|AN (ejθ )|2 = Rx (ejθ ), si ottiene
R 2π dθ
σ2 Rx (ejθ ) 2π
lim 2x = hR0
2π
i (C.79)
N →∞ αN exp dθ
ln Rx (ejθ ) 2π
0
Appendice C. Proprietà associate alla realizzazione a traliccio. 215
3
Se θk = 2πk/L con k = 0, 1, · · · , L − 1, si ha ( k Rx (ejθk ))1/L = exp( ln Rx (ejθk )/L)
Q P
k
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
[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.
[8] G.F. Cariolaro: “La teoria unificata dei segnali”, UTET, Milano, 1966.
[9] T. Claasen et al: ”Signal processing for improving the dynamic range of
A/D and D/A converters”, IEEE Trans. Acoust., Speech, Signal Proc.,
5, 529-538, Oct. 1980.
[16] A. Fettweis: ”Wave digital filters: theory and practice”, Proc. of the
IEEE, 74, 2, 270-327, Feb. 1986.
[18] L. Gazsi: ”Explicit formulas for lattice wave digital filters”, IEEE Trans.
Circuits and Systems, 32, 68-88, Jan. 1985.
[20] A.H. Gray, J. Markel: ”Digital lattice and ladder filter synthesis”, IEEE
Trans. 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.
[27] L. Jackson: ”Digital filters and signal processing”, Kluwer, Boston, 1986.
[29] L. Jackson: ”Roundoff noise analysis for fixed point digital filters realized
in cascade and parallel form”, IEEE Trans. Audio and Electroacoust.,
AU-18, 107-122, June 1970.
[31] E.I. Jury: ”Theory and applications of the Z-transform method”, John
Wiley and Sons, N.Y., 1964.
[34] A. Lepschy, U. Viaro: ”Guida allo studio dei controlli automatici”, Pa-
tron, Bologna, 1986.
[36] Y.C. Lim, S.R. Parker: ”FIR filter design over a discrete powers–of–two
coefficient space”, IEEE Trans. Acoust., Speech, Signal Proc., 31, 583-
591, June 1983.
[38] J.L. Long, T.N. Trick: “An absolute bound on limit cycles due to roundoff
errors 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.
[43] G.A. Mian, A.P. Nainer: ” On the performance of optimum linear phase
low-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.
[52] A.Peled, B.Liu: ”Digital signal processing”, J.Wiley & Sons, N.Y., 1976.
[54] B.D. Rao: “Floating point arithmetic and digital filters”, IEEE Trans.
Signal Processing, 40, 1, 85–95, Jan. 1992.
[64] L. Thiele: “On the sensitivity of linear state–space systems”, IEEE Trans.
Circuits and Systems, 33, 5, 502-510, May 1986.
[71] A. Willson, H. Orchard: ”Insights into digital filters made as the sum of
two allpass functions”, IEEE Trans. Circuits and Systems I, 42, 129-137,
March 1995.