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 mn L X (zL ) In particolare: j Y (e ) X (e jL ) Effetti sullo spettro Interpolatore: j Y (e ) X (e X(e j ) jL ) 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 2kL 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 2k 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]