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 Interpolatore M L
Blocchi Fondamentali (esempio) Decimatore Interpolatore [… 1 3 5 7…] [ …1 2 3 4 5 6 7 …] 2 [… 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:
Considerazioni 2 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: Esempio: calcolo della risposta impulsiva (sembra un all-pass) [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) Lo spettro diventa periodico di 2*pi/L (contrazione dello spettro) In particolare:
Effetti sullo spettro Interpolatore: 2 Effetto Imaging E
Effetti sullo spettro (Decimatore) nota che X(exp(jw/M)) e’ periodico di 2*pi/M Lo spettro di partenza (periodico di 2*pi) si allarga (periodico di 2*pi*M) e si multipla M volte e ritorna periodico di 2*pi In particolare:
Effetti sullo spettro (Decimatore) L’interpolatore non perde informazione, il decimatore si’ in caso di aliasing! Lo spettro del decimatore e’ alto 1/M (toglie energia) Lo spettro dell’interpolatore e’ alto quanto l’originale (non toglie energia) 2 Possibile effetto Aliasing !!!
Interconnessione M M 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 NON e’ necessario che la banda sia centrata attorno allo 0 !!!
Interconnessione M L In generale i due blocchi non sono intercambiabili 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 L L M
Interconnessione Pertanto i risultati sono uguali se e solo se gli insiemi dei valori realizzati da: coincidono !!! Perche’ WkL copra tutti i punti sul cerchio unitario coperti da Wk, L ed M devono essere primi fra loro
Filtri M L Per modificare il periodo di campionamento LP filter Il decimatore è preceduto da un filtro anti-aliasing L’interpolatore è seguito da un filtro anti-imaging LP filter M Notare che anche gli intepolatori “classici” seguono la stessa legge con filtri che valgono ad esempio [1 2 1]/2 L LP filter
Variazione di un fattore razionale LP filter M L 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!) Esempio di sistema che interpoli per 2 e decimi per 3
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: wp=0.01 p (nessun aliasing) ws=0.008 p (si salvi l’80% della banda utile) Caso 1: LP filter 100 wp=0.01p ws=0.008 p p LP Le specifiche del filtro sono molto stringenti
Realizzazioni in più stadi Caso 2: LP 1 50 LP 2 2 w2=0.02p ws=0.008 p p LP 1 wp=0.032p w1=0.01p wp=0.5p ws=0.4 p p LP 2 Forse e’ piu’ chiaro se ci riferisce a frequenze reali da 10KHz a 100Hz passando attraverso i 200 Hz 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) G(z) M G(zM) x(n) w(n) y(n) Si puo’ vedere semplicemente con un esempio nel dominio del tempo Si puo’ fare un esempio vedendo come si moltiplicano tra loro gli spettri Attenzione che G(z^M) NON puo’ essere un passa basso !!! ma e’ un filtro a piu’ bande Sottolineare BENE cosa fa G(z^M) allo spettro di G(z) ( contrazione dello stesso)
Equivalenze fondamentali (2) G(zL) L G(z) x(n) w(n) y(n) Si puo’ vedere semplicemente con un esempio nel dominio del tempo o nel dominio spettrale (si opera una contrazione dello spettro tanto del filtro che del segnale)
Banchi di Filtri (analisi e sintesi) H0(z) H1(z) HM-1(z) x0(n) x1(n) xM-1(n) x(n) F0(z) F1(z) FM-1(z) + y0(n) y1(n) yM-1(n) y(n) … … banco di analisi banco di sintesi … H0 H1 H2 HM-1 2p
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” Ovvero Ossia sono versioni traslate dello stesso spettro Attenzione che a meno di non riunire a due a due i canali quasi tutti i filtri sono a coefficienti complessi (risp. in freq. non simmetrica) … H0 H1 H2 HM-1 2p
Applicazioni Transmultiplexers Segnali audio digitali HI-FI H(z) 2 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 Note: Spesso i segnali presentano l’energia concentrata in certe sotto-bande (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) 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) E0 : filtro composto dai soli coeff. pari E1 : filtro composto dai soli coeff. dispari 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 si può operare anche su filtri IIR Es:
Decomposizione Polifase Più genericamente (I Tipo): Essendo e0(n) la versione decimata di h(n) vale la seguente proprietà
Decomposizione Polifase Schema (I Tipo): E0(zM) z-1 E1(zM) EM-1(zM) +
Decomposizione Polifase Esiste anche una versione alternativa (II tipo) 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. Antecipare i vantaggi della decomposizione polifase, in special modo nel caso di interpolatori e decimatori che devono gestire sequenze con molti valori posti a 0!
Decomposizione Polifase Schema (II Tipo): R0(zM) z-1 R1(zM) 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) h0 h1 h2 hn-1 z-1 + 2 y(n) 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) E1(z2) z-1 + 2 y(n) y(2n) x(n) E0(z) E1(z) z-1 + 2 x(n) y(2n) ora in ogni ciclo di clock si compiono N/2 moltiplicazioni ed (N-1)/2 somme ovvero ogni moltiplicatore ha il doppio del tempo per completare l’operazione 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) 2 R0(z2) z-1 R1(z2) + R0(z) 2 x(n) ora in ogni ciclo di clock si compiono N/2 moltiplicazioni ed (N-1)/2 somme ovvero ogni moltiplicatore ha il doppio del tempo per completare l’operazione 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: 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 LP filter M L ora in ogni ciclo di clock si compiono N/2 moltiplicazioni ed (N-1)/2 somme ovvero ogni moltiplicatore ha il doppio del tempo per completare l’operazione
Sistemi polifase per modificare T Esempio L=2, M=3; I Tipo E0(z) E1(z) z-1 + 3 x(n) E2(z) 2 y(n) I problemi sono diminuiti ma non risolti del tutto! Si puo’ fare di meglio ???? Il problema potrebbe essere riassunto nel fatto che non si riesce a spostare l”interpolatore piu’ a destra o il decimatore piu’ a sinistra R0(z) R1(z) z-1 + 2 x(n) 3 y(n) II Tipo
Sistemi polifase per modificare T Notando che: R0(z) R1(z) z-1 + 2 x(n) 3 y(n) R0(z) R1(z) z-3 + 2 x(n) 3 y(n) z2 I problemi sono diminuiti ma non risolti del tutto! Si puo’ fare di meglio ???? Il problema potrebbe essere riassunto nel fatto che non si riesce a spostare l”interpolatore piu’ a destra o il decimatore piu’ a sinistra
Sistemi polifase per modificare T R0(z) R1(z) z-3 + 2 x(n) 3 y(n) z2 Per le “equivalenze fondamentali”: R0(z) R1(z) z-1 + 2 x(n) 3 y(n) I problemi sono diminuiti ma non risolti del tutto! Si puo’ fare di meglio ???? Il problema potrebbe essere riassunto nel fatto che non si riesce a spostare l”interpolatore piu’ a destra o il decimatore piu’ a sinistra
Sistemi polifase per modificare T R0(z) R1(z) z-1 + 2 x(n) 3 y(n) Essendo M ed L primi tra loro: R0(z) R1(z) z-1 + 3 x(n) 2 y(n) I problemi sono diminuiti ma non risolti del tutto! Si puo’ fare di meglio ???? Il problema potrebbe essere riassunto nel fatto che non si riesce a spostare l”interpolatore piu’ a destra o il decimatore piu’ a sinistra
Sistemi polifase per modificare T 3 R00(z) x(n) z-1 z-1 3 R01(z) + z-1 3 R02(z) 2 + 3 R10(z) I problemi sono diminuiti ma non risolti del tutto! Si puo’ fare di meglio ???? Il problema potrebbe essere riassunto nel fatto che non si riesce a spostare l”interpolatore piu’ a destra o il decimatore piu’ a sinistra z-1 z-1 3 R11(z) + z-1 2 3 R12(z) + + 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] I problemi sono diminuiti ma non risolti del tutto! Si puo’ fare di meglio ???? Il problema potrebbe essere riassunto nel fatto che non si riesce a spostare l”interpolatore piu’ a destra o il decimatore piu’ a sinistra