Filtri - LAR-DEIS - Università di Bologna
Transcript
Filtri - LAR-DEIS - Università di Bologna
INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Progetto di filtri digitali Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: [email protected] Filtri digitali Introduzione • • Due tipi di filtri digitali Filtri IIR – simili ai filtri analogici • Filtri FIR – non esiste il corrispondente filtro analogico – brutte caratteristiche di attenuazione (pendenza in banda di transizione) – con alcuni accorgimenti presentano un ritardo di fase lineare – utilizzati soprattutto quando si vuole ottenere un segnale filtrato che preservi la forma del segnale utile (componenti in banda passante) 2 Filtri digitali I filtri IIR • Sono a tutti gli effetti dei sistemi LSI con risposta impulsiva con un numero infinito di termini diversi da zero. Si rappresentano tramite FdT o equazioni alle differenze +∞ y (n ) = ∑ h(n − k ) x (k ) Y (z ) = H (z ) X (z ) k = −∞ M H (z ) = ∑ bk z − k k =0 N 1+ ∑ ah z − h N y (n ) = − ∑ ah y ( N − h ) + h =1 M ∑ bk x(M − k ) k =0 h =1 • Il progetto consiste nel definire una funzione di trasferimento discreta che abbia caratteristiche frequenziali assegnate (del tutto simile al caso dei filtri analogici) 3 Filtri digitali Progetto di filtri IIR • Si sfruttano le procedure di progetto per i filtri tempo-continui – Butterworth – Chebyshev • Si trasformano i coefficienti del filtro analogico nei coefficienti di una FdT discreta secondo alcune regole – tali regole non sono univoche – la risposta frequenziale di una FdT continua è una funzione razionale di jω – la risposta frequenziale di una FdT continua è una funzione razionale di ejωT – non è possibile avere una corrispondenza perfetta nel range di interesse -π/T < ω < π/T – stessa cosa nel dominio del tempo: integrale di convoluzione vs. somma di convoluzione 4 Filtri digitali Progetto di filtri IIR • Ci si basa su meccanismi di approssimazione – diventano esatti quando il tempo di campionamento tende a zero – vedremo che utilizzare tempi di campionamento molto piccoli non è desiderabile per altre ragioni • Nel seguito si presentano meccanismi di progetto basati su approssimazioni nel dominio del tempo e della frequenza 5 Filtri digitali Relazione tra convoluzione LTI e LSI • Un sistema LTI è descritto dall’integrale di convoluzione ya (t ) = • +∞ ∫ xa (t ) ha (t − τ ) dτ −∞ Assumendo un segnale a banda limitata che soddisfa la condizione di Shannon, si può ricavare una espressione del segnale analogico negli istanti di campionamento Ya ( j ω ) = X a ( j ω ) H a ( j ω ) +π T 1 j ω nT ( ) ( ) y a (n ) = X j ω H j ω e dω a a ∫ 2π −π T +π T +∞ 1 j ω nT − jω k T ( ) ( ) = T x k e H j ω e dω ∑ a a ∫ 2π −π T k = −∞ 6 Filtri digitali Relazione tra convoluzione LTI e LSI • Si ottiene +∞ 1 y a ( n ) = T ∑ xa ( k ) 2π k = −∞ • +π T ∫ −π T H a ( j ω ) e j ω T (n − k ) dω Il termine integrale rappresenta il campione della risposta all’impulso del filtro analogico. Dato che l’integrale è limitato in frequenza, in realtà si considerano solamente le componenti spettrali fino alla metà della frequenza di campionamento. Si deve quindi considerare la risposta all’impulso limitata secondo una caratteristica passa basso y a (n ) = T +∞ +∞ k = −∞ k = −∞ ∑ xa (k ) haLP (n − k ) = ∑ xa (k )T haLP (n − k ) 7 Filtri digitali Relazione tra convoluzione LTI e LSI • Si conclude che è possibile ottenere i valori campionati dell’uscita a partire dai valori campionati dell’ingresso se – lo spettro del segnale di ingresso è limitato alla frequenza di Nyquist – lo spettro della risposta all’impulso del filtro analogico è a sua volta limitata alla frequenza di Nyquist prima del suo campionamento • Per ottenere un equivalente LSI del filtro continuo è sufficiente in principio realizzare un filtro discreto con risposta all’impulso corrisponsdente ai campioni della risposta impulsiva limitata in frequenza del filtro analogico di riferimento h(n ) = T haLP (n T ) 8 Filtri digitali Relazione tra convoluzione LTI e LSI • Il metodo precedente non è applicabile in genere – la risposta frequenziale del filtro di riferimento deve avere una alta attenuazione alla frequenza fs/2 affinchè non ci siano fenomeni di aliasing – può essere verificato per filtri passa-basso o passa-banda di ordine elevato – se ciò non è verificato risulta necessario inserire un ulteriore filtro passa basso con transizione molto ripida • • • • • realizzato in discreto ordine elevato, quindi filtro complessivo complesso introduce comunque un ritardo di fase quasi sempre inaccettabile banda di transizione non più utilizzabile come banda utile filtri passa-alto e elimina banda richiedono bassa attenuazione alla frequenza di Nyquist – Si ricorre a metodi di approssimazione per il rpogetto del filtro 9 Filtri digitali Approssimazioni nel dominio del tempo • • Tali metodi violano entrambe le condizioni stabilite dalla corrispondenza della convoluzione, ma preservano l’ordine del filtro di riferimento L’idea è quella di mantenere l’equivalenza tra la risposta dei filtri analogico e continuo solo per segnali di ingresso particolari – impulso x(t) = T δ(t) – gradino x(t) = u(t) – rampa x(t) = t/T u(t) • • Valida anche per segnali che sono combinazione lineare del segnale utilizzato Sono approssimazioni comunque non molto utilizzate nell’ambito dei sistemi real-time, valide soprattutto per la simulazione di filtri analogici su calolatore 10 Filtri digitali Progetto tramite risposta al gradino • Si impone la corrispondenza dei campioni della risposta al gradino a (n ) = a a (n T ) • Ricordando che t h(n ) = a(n ) − a(n − 1) aa (t ) = ∫ ha (τ ) dτ 0 si ottiene la condizione sulla risposta impulsiva del filtro discreto 1 h(n ) = T T nT ∫ ha (τ ) dτ (n −1)T Si vede che i campioni sono ottenuti come media nel periodo di campionamento della risposta impulsiva del filtro analogico 11 Filtri digitali Progetto tramite risposta al gradino • Per derivare la FdT del filtro discreto a partire dalla FdT continua si procede nel seguente modo H (s ) = K + N Ck ∑ s−s ∞k k =1 ha (t ) = K δ (t ) + N ∑ Ck e s∞k t u (t ) k =1 N C ( ) k e s∞k t − 1 u (t ) k =1 s∞k N C z z z z = H ( z )U ( z ) = H ( z ) + ∑ k − A( z ) = K z − 1 k =1 s∞k z − e s∞k T z − 1 z −1 aa (t ) = K u (t ) + ∑ 12 Filtri digitali Progetto tramite risposta al gradino • Si ottiene quindi ( ) N C e s ∞k T − 1 1 H (z ) = K + ∑ k s ∞k T s ∞ k z − e k =1 • Si noti che la stabilità è preservata, così come il guadagno in continua Esempio 0.79 s H (s ) = 0.63 s 2 + 0.079 s + 1 ⇓ H (z ) = 0.89 z − 0.89 z 2 − 0.58 z + 0.88 13 Filtri digitali Esempio Bode Diagrams filtro discreto 20 10 Phase (deg); Magnitude (dB) 0 -10 -20 -30 riferimento analogico 200 0 -200 -400 -600 0 1 2 3 Frequency (rad/sec) 4 5 6 14 Filtri digitali Approssimazioni nel dominio frequenziale • • • In questo caso si cerca di ottenere una relazione diretta nel dominio delle frequenze fra le risposta frequenziali del filtro continuo e di quello discreto. Le sostituzioni per ottenere la risposta frequenziale a partire dalla FdT sono 1 s → jω z → e jω T ⇒ s = ln z T A partire dalla FdT continua, secondo la sostituzione precedente si otterrebbe una FdT discreta con la stessa risposta frequenziale; tuttavia ciò porta ad una FdT discreta che non è una funzione razionale fratta L’idea delle tecniche di approssimazione è quella di ottenere uno sviluppo in serie della funzione logaritmo, troncando poi lo sviluppo per ottenere una sostituzione razionale fratta 15 Filtri digitali Metodo alle difference • • Si utilizza l’espansione in serie 2 ( z − 1)3 −1 ( z − 1) ( z − 1) + + +… ln z = − ln z = 2 3 z 2z 3z che troncata al primo ordine fornisce l’approssimazione 1 z − 1 1 − z −1 z −1 ln z ≈ ⇒ = s= T z T z Tale approssimazione ha una interpretazione diretta nel dominio temporale. La derivata di un segnale è approssimata con la retta passante per due campioni successivi x(t ) t = n T ≈ x(t ) − x(t − T ) x(n ) − x(n − 1) = T T t =nT 16 Filtri digitali Metodo alle differenze • • La trasformata di Laplace dell’espressione precedente da X (s ) − e − s T X (s ) s X (s ) ≈ T 1 − e− s T s≈ T 1 s = ln z T 1 − z −1 s≈ T Ovviamente l’approssimazione migliora al diminuire di T Per verificare se la trasformazione presentata preserva la stabilità, si consideri che ad un polo in s corrisponde uno in z −1 1 − z∞ Re s∞ = Re <0 T 2 1 2 1 2 ⇒ Re z∞ − + (Im z∞ ) < 2 2 17 Filtri digitali Metodo alle differenze • • Poli stabili in s vengono trasformati in poli stabili in z appartenenti al cerchio con centro sull’asse Re z di raggio 0.5 tutto contenuto nel cerchio unitario, quindi stabili La trasformazione copre solamente Im z una porzione ristretta del cerchio – Non è possibile avere poli nel semipiano sinistro del cerchio, quindi alle frequenze fs/4 - fs/2 – La possibilità di avere poli vicini al cerchio unitario è molto limitata; poli con un fattore di qualità Q elevato corrispondente a transizioni ripide sono realizzabili solamente con tempi di campionamento molto bassi Re z 18 Filtri digitali Esempio • Si consideri il filtro di secondo ordine passa basso con frequenza di cut-off pari a 3 decimi della frequenza di campionamento e fattore Q=10 H (S ) = S= s ωc H (z ) = 1 f c = 0.3 T S 2 + 0. 1 S + 1 = s 2π f c = s 0.6 π / T 1 = 0.75 2 1 − 0.46 z −1 + 0.21 z − 2 1 − z −1 1 − z −1 + 0.1 +1 0.6 π 0.6 π 19 Filtri digitali Esempio Bode Diagrams 20 10 Phase (deg); Magnitude (dB) 0 -10 -20 -30 50 0 -50 -100 -150 -200 0 1 2 3 Frequency (rad/sec) 4 5 6 20 Filtri digitali Esempio • Si consideri il filtro di secondo ordine passa basso con frequenza di cut-off pari a 5 centesimi della frequenza di campionamento e fattore Q=10 H (S ) = S= s ωc H (z ) = 1 f c = 0.05 T S 2 + 0.1 S + 1 = s 2π f c = s 0.1π / T 1 = 0.087 2 1 − 1.798 z −1 + 0.885 z − 2 1 − z −1 1 − z −1 + 0.1 +1 0.1π 0.1π 21 Filtri digitali Esempio Bode Diagrams 20 10 Phase (deg); Magnitude (dB) 0 -10 -20 -30 200 100 0 -100 -200 0 1 2 3 Frequency (rad/sec) 4 5 6 22 Filtri digitali Metodo all’avanti • Il metodo proposto si definisce anche delle differenze all’indietro – nell’approssimazione della derivata si utilizzano i valori corrente e passato • Esiste anche un metodo delle differenze all’avanti – nell’approssimazione della derivata si utilizzano i valori corrente e futuro x(t ) t = n T ≈ • x(t + T ) − x(t ) x(n + 1) − x(n ) = T T z −1 s→ T Tale approssimazione presenta però dei problemi di stabilità – poli stabili in s vengono trasformati in poli alla sinistra della retta Re z = 1, e quindi possibilmente instabili – per ovviare è necessario un tempo di campionamento molto basso 23 Filtri digitali Metodo all’avanti • Nella pratica, è molto utilizzato per ricavare una equazione alle differenze a partire da una equazione differenziale non lineare x(n + 1) − x(n ) ⇒ x(t ) = f ( x(t ), u (t )) = f ( x(n ), u (n )) T x(n + 1) = x(n ) + T f ( x(n ), u (n )) • L’utilizzo del metodo all’indietro costringe a risolvere una equazione non lineare x(n ) − x(n − 1) ⇒ x(t ) = f ( x(t ), u (t )) = f ( x(n ), u (n )) T Equazione implicita x(n ) = x(n − 1) + T f ( x(n ), u (n )) • Quando possibile, conviene comunque utilizzare il metodo all’indietro: permette l’utilizzo di un tempo di campionamento più elevato 24 Filtri digitali Trasformazione bilineare • Si utilizza lo sviluppo in serie 2 2z z + 1 2z 2 z z + 1 ln z = ln − ln = ln + ln = ln + 1 1 2 1 1 2 z z z z + + + z − 1 1 z − 1 3 1 z − 1 5 ln z = 2 + … + + 5 z + 1 z + 1 3 z + 1 che troncato al primo ordine fornisce l’approssimazione 2 z −1 z −1 ⇒ s= ln z ≈ 2 T z +1 z +1 25 Filtri digitali Trasformazione bilineare • Anche questa approssimazione ha una interpretazione nel dominio del tempo. Corrisponde ad considerare la retta per due campioni approssimata dal valor medio della derivata nei campioni x(t ) + x(t − T ) x(t ) − x(t − T ) x(n ) + x(n − 1) ≈ = 2 T T t =nT t =nT • Trasformando secondo Laplace si ottiene s X (s ) + s X (s ) e − s T X (s ) − X (s ) e − s T ≈ 2 T 1 + e− s T 1 − e− s T ≈ s 2 T ⇒ s→ 2 z −1 T z +1 1 + z −1 1 − z −1 s = 2 T 26 Filtri digitali Trasformazione bilineare • In questo caso un polo stabile in s viene trasformato secondo Re s∞ = Re verificata se • • 2 T z∞ − 1 <0 z∞ + 1 (Re z∞ )2 + (Im z∞ )2 < 1 La trasformazione bilineare preserva la stabilità, e mappa il semipiano sinistro del piano s nel cerchio unitario del piano z La trasformazione proposta tuttavia non porta ad una buona corrispondenza delle risposte frequenziali 2 z − 1 H (s ) → H T z 1 + 2 e jω T − 1 2 ω T H( jω) → H = H j tan T e j ω T + 1 T 2 27 Filtri digitali Compensazione in frequenza • La risposta frequenziale del filtro discreto può essere ricavata da quello continuo tramite una distorione dell’asse delle frequenze 2 ω T ′ ω = tan T 2 • Quando ω varia da zero alla metà della frequenza di campionamento, ω’ varia da 0 all’infinito Il filtro discreto comprime la risposta frequenziale di quello continuo all’interno della banda da zero alla frequenza di Nyquist Tale spettro compresso è poi periodicamente ripetuto per la presenza della funzione tangente • • 28 Filtri digitali Compensazione in frequenza • • La compressione frequenziale ha alcune ricadute interessanti Aliasing – Dato che la risposta frequenziale viene distorta prima della continuazione periodica, il fenomeno dell’aliasing non interferisce più. Il ripple in banda passante e l’attenuazione nella stop band del filtro analogico possono essere mantenute nel corrispettivo discreto • Ordine del filtro – La pendenza in banda di transizione del filtro discreto è maggiore della pendenza del filtro di riferimento analogico. Per mantenere un dato schema di tolleranza, l’ordine necessario del filtro discreto può essere inferiore 29 Filtri digitali Compensazione in frequenza • • • • Per ottenere un filtro discreto che soddisfi un dato schema di tolleranza, così come le frequenze di cutoff, è sufficiente modificare lo schema di tolleranza secondo la formula di distorsione Si progetta poi un filtro analogico di riferimento secondo lo schema di tolleranza modificato Si applica la trasformazione bilineare Si ottiene un filtro discreto che soddisfa lo schema di tolleranza originale (all’interno della banda di Nyquist) 30 Filtri digitali Esempio • Si consideri il filtro di secondo ordine passa basso con frequenza di cut-off pari a 3 decimi della frequenza di campionamento e fattore Q=10 H (S ) = S= s ωc H (z ) = 1 f c = 0.3 T S 2 + 0.1 S + 1 = s 2π f c = s 0.6 π / T 1 2 1 z − 1 1 z − 1 + 0.1 + 1 0.3π z + 1 0.3π z + 1 = 0.45 + 0.9 z −1 + 0.45 z − 2 1 − 0.11 z −1 + 0.91 z − 2 31 Filtri digitali Esempio Bode Diagrams filtro discreto 20 10 Phase (deg); Magnitude (dB) 0 -10 -20 -30 riferimento analogico 200 100 0 -100 -200 0 1 2 3 Frequency (rad/sec) 4 5 6 32 Filtri digitali Esempio Bode Diagrams filtro discreto 20 10 Phase (deg); Magnitude (dB) 0 -10 -20 riferimento analogico -30 riferimento analogico modificato 200 100 0 -100 -200 0 1 2 3 Frequency (rad/sec) 4 5 6 33 Filtri digitali Sistemi FIR (Finite Impulse Response) • Sono i sistemi LSI caratterizzati da una risposta all’impulso con un numero finito di campioni diversi da zero bn h(n ) = 0 y (n ) = • • 0≤n≤M n≥M M ∑ x(n − k )bk = b0 x(n ) + b1 x(n − 1) + … +b M x(n − M ) k =0 La sequenza di uscita è calcolata come combinazione lineare del campione corrente e degli M campioni passati dell’ingresso Gli equivalenti nel dominio tempo continuo continuo non sono particolarmente usati – sono realizzati dalle linee di ritardo, in cui il blocco base è un elemento di ritardo puro 34 Filtri digitali Filtri FIR • I sistemi FIR sono impiegati soprattutto come filtri di segnale – la complessità può essere molto elevata, anche centinaia di coefficienti • possiedono proprietà interessanti – una struttura altamente regolare che semplifica l’implementazione – sono filtri sempre stabili, dato che la norma l1 della risposta all’impulso è per definizione finita – anche in presenza di errori numerici e di quantizzazione, la risposta a ingresso nullo è sempre nulla – è possibile realizzare facilmente filtri FIR con risposta in fase lineare e ritardo di gruppo costante nella banda passante e di transizione: la stessa proprietà con filtri IIR richiede l’utilizzo di elementi passa-tutto complessi che linearizzano la risposta di fase solo approssimativamente e comunque con un costo elevato: nei filtri FIR la linearità della risposta di fase è garantita dalla simmetria 35 della risposta all’impulso e quindi dei coefficienti del filtro, condizione facilmente raggiungibile Filtri digitali FdT dei sistemi FIR • La funzione di trasferimento si ottiene Z-trasformando la risposta all’impulso H (z ) = +∞ ∑ h(k ) z −k = k =0 M −k b z ∑ k k =0 a cui può essere data la forma alternativa M ∑ bk z M − k H ( z ) = k =0 M z • La risposta frequenziale si ottiene facilmente come ( He jω T ) = ∑ bk e− j ω k T M k =0 36 Filtri digitali Poli e zeri dei filtri FIR • • • Hanno M poli nell’origine Zeri all’interno del cerchio unitario hanno una bassa attenuazione: gli zeri in banda passante saranno all’interno del cerchio Zeri sul cerchio unitario hanno attenuazione maggiore: gli zeri in banda di attenuazione saranno sul cerhio unitario 37 Filtri digitali Esempio - Mappa poli/zeri Pole-zero map 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 38 Filtri digitali Esempio - Ampiezza risposta frequenziale Magnitude 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 39 Filtri digitali Filtri FIR a fase lineare • Si consideri la fase ed il ritardo di gruppo di uno zero H (z ) = z − z = z − r e jϕ0 0 0 r sen (ω T − ϕ 0 ) b(ω ) = −ω T − arc tan 0 1 − r0 cos(ω T − ϕ 0 ) τ g (ω ) = −T + T • r02 − r0 cos(ω T − ϕ 0 ) 1 + r02 − 2r0 cos(ω T − ϕ 0 ) Per uno zero sul cerchio unitario si ha 1 − cos(ω T − ϕ 0 ) T ( ) τ g ω = −T + T =− 1 + 1 − 2 cos(ω T − ϕ 0 ) 2 b(ω ) = − ω T 2 e quindi la variazione di fase è lineare 40 Filtri digitali Filtri FIR a fase lineare • • Si consideri ora il contributo di uno zero reciproco rispetto al precedente. Si ha 1 H ( z ) = ( z − z0rec ) = z − e j ϕ 0 r0 sen (ω T − ϕ 0 ) brec (ω ) = −ω T − arc tan r0 − cos(ω T − ϕ 0 ) 1 − r0 cos(ω T − ϕ 0 ) τ grec (ω ) = −T + T 1 + r02 − 2r0 cos(ω T − ϕ 0 ) La somma dei due ritardi di gruppo da τ g (ω ) + τ grec (ω ) = −T b(ω ) + brec (ω ) = −ω T e quindi la variazione di fase è ancora lineare 41 Filtri digitali Filtri a fase lineare • Se ne deduce che un filtro FIR con zeri sul cerchio unitario e/o zeri reciproci rispetto al cerhio unitario ha un andamento di fase lineare con la frequenza ed un ritardo di gruppo costante Ovviamente gli zeri devono essere reali o a coppie complesse coniugate Pole-zero map 1.5 1 0.5 Imag Axis • 0 -0.5 -1 -1.5 -2 -1.5 -1 -0.5 0 Real Axis 0.5 1 1.5 2 42 Filtri digitali Filtri a fase lineare • • La condizione di andamento di fase lineare si traduce anche in una condizione nel domino temporale Risposta impulsiva simmetrica ( He jω T )= e − jω M T / 2 M ∑ bk e − j ω T (k − M / 2 ) k =0 bk = bM − k ( He ( jω T )= e ) − jω M T / 2 H e j ω T = e− j ω M T / 2 M − j ω T (k − M / 2 ) b e ∑ M −k k =0 M ∑ bk cos[ω T (k − M / 2 )] k =0 Fase zero, ampiezza somma di coseni 43 Filtri digitali Filtri a fase lineare • La sommatoria ammette una rappresentazione con un numero inferiore di termini data la simmetria H 0 (ω ) = M pari H 0 (ω ) = M ∑ bk cos[ω T (k − M / 2 )] k =0 M dispari M /2 ∑ Bk cos[ω k T ] k =0 B0 = bM / 2 Bk = 2bM / 2 − k H 0 (ω ) = (M +1 / 2 ) ∑ Bk cos[ω T (k − 1 / 2 )] k =0 Bk = 2b( M +1) / 2 − k 44 Filtri digitali Filtri a fase lineare • Risposta impulsiva antisimmetrica ( He jω T )= e − jω M T / 2 M ∑ bk e − j ω T (k − M / 2 ) k =0 bk = −bM − k ( He ( jω T )= e ) − jω M T / 2 M − j [ω T (k − M / 2 )+π ] b e ∑ M −k k =0 M H e j ω T = e− j ω M T / 2 j ∑ bk sen[ω T (k − M / 2 )] k =0 Anticipo di fase Fase zero, ampiezza somma di seni di 90° Si utilizza per realizzare derivatori 45 INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Progetto di filtri digitali - fine Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: [email protected]