Filtri Multirate e
Banchi di Filtri
Studio ed applicazioni
Banchi di filtri


Sono sistemi che scompongono il segnale in
varie “bande di frequenza”
Vengono Impiegati in molteplici settori
 Analisi
dei segnali
 Compressione e Codifica di segnali ed immagini
 Crittografia
 Sistemi di antenna
 Speech processing
 Ecc.
Filtri Multirate

Sono sistemi che operano a diverse frequenze
di campionamento
 Possono
essere impiegati per modificare T
(Es. Scalaggi di immagini, conversione di dati digitali
tra diversi supporti CD, MC, … )
 Si possono impiegate per realizzare sistemi digitali
piu’ semplici da un punto di vista realizzativo
 Sorgono nuove problematiche


Aliasing
Imaging
Blocchi Fondamentali

Decimatore
yD (n)  x ( nM )
x(n)
M

Interpolatore
x(n)
L
 x( n L ) n  pL (p : intero)
yI (n)  
altrove
0
Blocchi Fondamentali (esempio)

Decimatore
[ …1 2 3 4 5 6 7 …]

[… 1 3 5 7…]
2
Interpolatore
[… 1 2 3 4 5 6 7… ]
[ …1 0 2 0 3 0 4 0 5 0 6 0 7… ]
2
Considerazioni

Il decimatore e l’interpolatore
 Sono
sistemi lineari
 NON SONO tempo invarianti
Dim:
x( n )  y ( n )  x( Mn )
xˆ ( n )  x( n  no )
xˆ ( n )  yˆ ( n )  xˆ ( Mn )  x( Mn  n0 )
y ( n  no )  x( M ( n  no ))  x( Mn  Mno )
yˆ ( n )  y ( n  no )
Considerazioni

Il decimatore e l’interpolatore
 Sono
sistemi lineari
 NON SONO tempo invarianti
 Pertanto perdono di significato alcuni strumenti quali:


risposta impulsiva
risposta in frequenza
Es:
[1 2 3 4 5 6 7]
[1 3 5 7]
2
[0 1 2 3 4 5 6 7]
[0 2 4 6]
Effetti sullo spettro (Interpolatore)

Interpolatore:
Y ( z )  n y ( n ) z  n
 L z
 n x n
 limitata
n
ove :
 m x ( m) z  mL
a n multiplo di L
mn
L

 X (zL )
In particolare:
j
Y (e )  X (e
jL
)
Effetti sullo spettro

Interpolatore:
j
Y (e )  X (e
X(e j )
jL
)
Y(e j )
2



Effetto Imaging
E

Effetti sullo spettro (Decimatore)

Decimatore
Y ( z )  n y ( n ) z  n n x( nM ) z  n
ponendo : nM  m
 M 1 1 km   m M
 m x ( m)   W  z
 k 0 M

1 M 1
m M
km

x
(
m
)
z
W
 m
M k 0

1

M
1

M

ponendo z'  z MW k
1
M 1

X ( z' )
k 0
M 1

k 0
1
X ( z MW k )
In particolare:
1
Y (e ) 
M
j

k
X (e
j  M2  k
)
Effetti sullo spettro (Decimatore)

Decimatore
1
Y (e ) 
M
j

k
X (e
2
Possibile effetto Aliasing !!!
j  M2  k
)
Interconnessione
M
1
Y ( z) 
M

M
M 1
k
X
(
zW
)

k 0
Il segnale originale si puo’ recuperare


Con un opportuno filtro anti-imaging
Purche’ non vi sia stato aliasing


Il segnale originale deve avere banda limitata entro a    a  2 M
NON e’ necessario che la banda sia centrata attorno allo 0 !!!
Interconnessione
M

In generale i due blocchi non sono intercambiabili


L
Es: decimare ed interpolare non e’ lo stesso che interpolare e
decimare
I blocchi sono invece intercambiabili se M ed L sono “primi
fra loro”
Interconnessione
M
1
Y1 ( z ) 
M
L
M 1

L
X ( z MW k )
k 0
L
1
Y2 ( z ) 
M
M
M 1

k 0
L
X ( z MW kL )
Interconnessione
Pertanto i risultati sono uguali se e solo se gli insiemi dei valori realizzati da:
W k  W kL
coincidono !!!
W
kL
2kL 

 exp   j

M 

Perche’ WkL copra tutti i punti sul cerchio unitario coperti da Wk,
L ed M devono essere primi fra loro
Filtri

Per modificare il periodo di campionamento
 Il
decimatore è preceduto da un filtro anti-aliasing
M
LP filter
c 
 L’interpolatore

M
è seguito da un filtro anti-imaging
L
LP filter
c 

L
Variazione di un fattore razionale
L



LP filter
M
Il filtro serve da anti-imaging ed anti-aliasing
La freq. di taglio va dimensionata sul max(L,M)
Problema:
 Il
filtro lavora ad alta frequenza
 Si possono usare strutture polifase (vedi dopo!)
Realizzazioni in più stadi

Se le specifiche sono troppo stringenti si può operare in
due fasi:


Esempio:
decimatore per 100 ed un filtro anti-aliasing con specifiche:
p=0.01  (nessun aliasing)
s=0.008  si salvi l’80% della banda utile)
Caso 1:
LP filter
LP
100 
p=0.01
s=0.008 
Le specifiche del filtro sono molto stringenti

Realizzazioni in più stadi

Caso 2:
LP 1
50 
2
LP 2
s=0.008 
2=0.02
LP 1
p=0.032

1=0.01
LP 2
p=0.5
s=0.4 

Si accetta aliasing in LP1 che poi verrà eliminato da LP2
Il primo decimatore (50) allarga lo spettro rilassando le specifiche di LP2
Entrambi I filtri presentano specifiche meno stringenti
Equivalenze fondamentali (1)
x(n)
w(n)
M
G(z)
G(zM)
1
W ( z) 
M
M 1

M
1
X ( z MW k )
k 0
1
Y ( z )  W ( z )G( z ) 
M
1

M
1

M
y(n)
M 1

1
M 1

1
X ( z MW k )G( z )
k 0
k
1
X ( z W )G(( z MW k ) M )
M
k 0
M 1

k 0
X ( z ' )G( z ' M )
ove z'  z MW k
1
Equivalenze fondamentali (2)
x(n)
G(z)
L
w(n)
L
y(n)
G(zL)
W ( z )  G( z ) X ( z )
Y ( z )  W ( z L )  G( z L ) X ( z L )
Banchi di Filtri (analisi e sintesi)
x(n)
H0(z)
H1(z)
x0(n)
y0(n)
x1(n)
y1(n)
…
F1(z)
…
xM-1(n)
HM-1(z)
yM-1(n)
banco di analisi
H0
+
F0(z)
H1
FM-1(z)
banco di sintesi
H2
HM-1
H0
…
0
2
y(n)
Banchi di Filtri (analisi e sintesi)

Banco di analisi
 suddivide

il segnale in M sotto bande
Banco di sintesi
 elabora
M segnali (tipicamente da un banco di analisi)
 ricombina i risultati in un segnale finale y(n)


I filtri possono essere progettati secondo diverse
tipologie (Nyquist, complementari, DFT,…)
Questo schema trova impiego in molti campi




Analisi dei segnali
Codifica / compressione, multiplexing, ..
Crittografia
…
Uniform DFT filter banks

Tutti i filtri derivano da un “prototipo”
H k ( z )  H 0 ( zW k )

ove
Ovvero
j
H k (e )  H 0 (e

0  k  M 1
2k 

j

M 

)
Ossia sono versioni traslate dello stesso spettro
H0
H1
H2
HM-1
H0
…
0
2
Applicazioni

Transmultiplexers
 Multiplazione

di segnali in tempo o in frequenza
Segnali audio digitali HI-FI
 Per
ottenere una banda utile di 22k si deve
campionare almeno a 44k
 Questo richiede un filtro analogico anti-aliasing con
caratteristiche stringenti (elittici a fase non lineare)
 Campionando ad una frequenza superiore (88k) si
puo’ usare un filtro analogico meno stringente, si
aggiunga quindi un filtro digitale ed un decimatore
88kHz
sampler
A/D
Converter
H(z)
2
Applicazioni

Subband Coding




Spesso i segnali presentano l’energia concentrata in certe sottobande (Es. speech, immagini, …)
Se l’energia è limitata ad una sotto-banda si può usare ad esempio
un filtro ed un decimatore
Se l’energia occupa tutta la banda utile ma in modo diverso si può
usare un banco di analisi, una opportuna codifica ed un banco di
sintesi.
Note:


Conoscenza a priori della tipologia di segnali
Fondamentale l’eliminazione di Aliasing-Imaging
H0(z)
2
2
F0(z)
H1(z)
2
2
F1(z)
+
Applicazioni

Crittografia di un segnale vocale su linea
telefonica analogica
 suddivisione
di un segnale in n sottobande
 ogni sottobanda viene quindi suddivisa in m segmenti
temporali
 permutazione dei segnali ( nm! )
 ricombinazione
Decomposizione Polifase

Si riuniscano i coefficienti h(n) di un filtro in piu’
gruppi (Ad es. pari e dispari)
H ( z )  n h( n ) z  n n h( 2n ) z 2 n n h( 2n  1) z 2 n 1
E0 ( z )   n h ( 2 n ) z  n
E1 ( z )  n h( 2n  1) z  n
E0 : filtro composto dai soli coeff. pari
E1 : filtro composto dai soli coeff. dispari
H ( z )  E0 ( z 2 )  z 1E1 ( z 2 )
Es:
[… 1 2 3 4 5 6 7 8 9 8 7 6 5 4 …]=
[… 1 0 3 0 5 0 7 0 9 0 7 0 5 0 …]+
[… 0 2 0 4 0 6 0 8 0 8 0 6 0 4 …]
Decomposizione Polifase

Filtri IIR
 analogamente
Es:
si può operare anche su filtri IIR
1
1  az 1
1
az 1
H ( z) 



1
2 2
2 2
1  az
1 a z
1 a z
1  a 2 z 2
1
a
E0 ( z ) 
E1 ( z ) 
2 2
1 a z
1  a 2 z 2
Decomposizione Polifase

Più genericamente (I Tipo):
M 1
H ( z )   z  k Ek ( z M )
k 0
ove
ek ( n)  h(nM  k ) con 0  k  M  1

Essendo e0(n) la versione decimata di h(n) vale
la seguente proprietà
1
M
E0 ( z ) 
M
M 1

k 0
H ( zW k )
Decomposizione Polifase

Schema (I Tipo):
E0(zM)
z-1
E1(zM)
+
EM-1(zM)
+
z-1
Decomposizione Polifase

Esiste anche una versione alternativa (II tipo)
M 1
H ( z )   z ( M 1 k ) Rk ( z M )
k 0
ove
Rk ( z )  E M 1 K ( z )
che è solo un modo diverso per numerare gli insiemi dei
coefficienti del filtro h(n) (si spostano i ritardi a valle)

Nota: la decomposizione polifase si può applicare a
qualunque sequenza.
Decomposizione Polifase

Schema (II Tipo):
R0(zM)
z-1
R1(zM)
+
z-1
RM-1(zM)
Notare i ritardi messi a valle dei filtri
+
Sistemi polifase per modificare T


Finora nei decimatori e negli interpolatori il fitro
operava nella parte ad alta frequenza
Inoltre il filtro compie molte operazioni inutili
 campioni
nulli all’ingresso dell’interpolatore
 campioni eliminati in uscita dal decimatore
x(n)
z-1
h0
z-1
h1
z-1
h2
hn-1
y(n)
+
+
+
2
y(2n)
Il sistema deve eseguire N Moltiplicazioni ed N-1 somme ogni qualvolta
esce un capione pari e potrebbe venir spento durante i campioni dispari
Sistemi polifase per modificare T

Implementazione polifase del decimatore:
E0(z2)
x(n)
z-1
E1
x(n)
(z2)
2
+
y(n)
y(2n)
2
E0(z)
z-1
2
E1(z)
+
y(2n)
•I filtri ricevono i campioni in ingresso con una cadenza dimezzata
•La prima parte può essere vista come un de-multiplexer
Sistemi polifase per modificare T

Implementazione polifase dell’interpolatore:
x(n)
R0(z2)
2
z-1
R1(z2)
x(n)
R0(z)
+
2
z-1
R1(z)
2
+
•I filtri ricevono i campioni in ingresso con una cadenza dimezzata
•La seconda parte può essere vista come un multiplexer
Sistemi polifase per modificare T

Implementazione polifase dell’interpolatore per
un numero razionale:
L

LP filter
M
Lo schema canonico è doppiamente inefficiente
 il
filtro opera nella parte ad alta frequenza, ovvero:


L’ingresso del filtro contiene L-1 zeri
All’uscita viene salvato solo un risultato ogni M
Sistemi polifase per modificare T

Esempio L=2, M=3;
x(n)
I Tipo
2
3
E0(z)
3
E1(z)
+
3
E2(z)
+
z-1
z-1
x(n)
R0(z)
y(n)
II Tipo
2
z-1
R1(z)
2
+
3
y(n)
Sistemi polifase per modificare T
1
2 3
z

z
z
 Notando che:
x(n)
R0(z)
2
z-1
x(n)
R1(z)
2
R0(z)
2
+
3
y(n)
3
y(n)
z2
z-3
R1(z)
2
+
Sistemi polifase per modificare T
x(n)
R0(z)
2
z2
z-3
R1(z)
2
+
y(n)
3
Per le “equivalenze fondamentali”:
x(n)
z-1
R0(z)
2
3
z-1
R1(z)
2
3
+
y(n)
Sistemi polifase per modificare T
x(n)
z-1
R0(z)
2
3
z-1
R1(z)
2
3
3
2
+
y(n)
Essendo M ed L primi tra loro:
x(n)
z-1
R0(z)
z-1
R1(z)
3
2
+
y(n)
Sistemi polifase per modificare T
x(n)
z-1
3
R00(z)
3
R01(z)
+
3
R02(z)
+
3
R10(z)
3
R11(z)
+
3
R12(z)
+
z-1
z-1
2
z-1
z-1
z-1
2
+
y(n)
Sistemi polifase per modificare T

Un esempio pratico:

Siano [a b c d e f e d c b a ] i coefficienti del filtro LP:
 E0=[a d e b]
 E1=[b e d a]
 E2=[c f c]
 R0=[b d f d b]
 R1=[a c e e c a]
 R00=[b d]
 R01=[d b]
 R02=[f]
 R10=[a e]
 R11=[c c]
 R12=[e a]
Scarica

Filtri Multirate