Projeto de Projeto deFiltros IIR Filtros IIR Projeto de Projeto de Filtros IIR Filtros IIR Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 53 Slides PDS PDS PDS PDS Prof. Cláudio A. Fleury Conteúdo Conteúdo •• Introdução aos Filtros IIR Introdução aos Filtros IIR ((Infinite Infinite Impulse Impulse Response Response)) •• Métodos de Projeto de Filtros IIR Métodos de Projeto de Filtros IIR –– Método da Transformação Bilinear Método da Transformação Bilinear Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 2 –– Método da Invariância do Impulso Método da Invariância do Impulso •• Transformações de Faixas de Frequências Transformações de Faixas de Frequências • Resumo • Exercícios Introdução aos Filtros IIR Introdução aos Filtros IIR Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 3 • Filtros Digitais de Resposta Impulsiva Infinita, também conhecidos como filtros Recursivos ou Auto-Regressivos (A.R.) • Formas de descrição: –– Equação de Equação de Diferenças Diferenças Filtros IIR Filtros IIR onde a i e b i representam os coeficientes do Filtro IIR e max(N,M) é a ordem do filtro. Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 4 –– Função de Transferência Função de Transferência • Apresentam menor ordem em relação aos filtros FIR equivalentes (menor quantidade de cálculos) • Variação linear de Fase com a Frequência não é obtida facilmente • Ideal para aplicações em que a fase linear não é requisito e a ordem do filtro é uma restrição • Seus polos devem estar dentro do círculo unitário filtro estável max(N,M) é a ordem do filtro. • Exemplo 1 Seja o filtro IIR descrito por sua EDLCC: y[n] = 0,2x[n] + 0,4x[n-1] + 0,5y[n-1] Determine a função de transferência, o comprimento do filtro, os coeficientes e a resposta ao impulso. Tomando a Transf.Z em ambos lados da Eq. de Dif. do filtro: O comprimento do filtro é 2, e os seus coeficientes: b 0 = 0,2; b 1 = 0,4; a 1 = -0,5. Filtros IIR Filtros IIR 1 1 5 , 0 1 4 , 0 2 , 0 ) ( ) ( ) ( − − − + = = z z z X z Y z H Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 5 O comprimento do filtro é 2, e os seus coeficientes: b 0 = 0,2; b 1 = 0,4; a 1 = -0,5. Reescrevendo a função de transferência expandida em frações parciais: Tomando a Transf.Z Inversa da função de transferência teremos a resposta impulsiva: 1 1 1 5 , 0 1 4 , 0 5 , 0 1 2 , 0 ) ( ) ( ) ( − − − − + − = = z z z z X z Y z H ] 1 [ . ) 5 , 0 .( 4 , 0 ] [ . ) 5 , 0 .( 2 , 0 ] [ 1 − + = − n u n u n h n n Métodos de Projeto de Filtros IIR Métodos de Projeto de Filtros IIR • Método da Transformação Bilinear 1) Transforme as especificações do filtro digital em especificações de filtro analógico 2) Projete o Filtro Analógico Protótipo (fap 1 ) determine H a (s) 3) Transforme o fap para a função desejada 4) Aplique a Transformação Bilinear para converter o filtro analógico em filtro digital, e verifique a Resposta em Frequência resultante Prof. Cláudio A. Fleury Sinais e Sistemas Digitais • Método da Invariância do Impulso 1) Transforme as especificações do filtro digital em especificações de filtro analógico 2) Projete o Filtro Analógico Protótipo (fap 1 ) determine H a (s) 3) Se necessário, expanda em frações parciais H a (s) (função de transferência do fap projetado) 4) Calcule a Transformada Z de cada fração parcial de H a (s) 5) Obtenha h[n] a partir da Transformada Z Inversa 6 1 fap é um filtro do tipo passa baixas Métodos de Projeto de Filtros IIR Métodos de Projeto de Filtros IIR • Filtros Analógicos Protótipos – Projeto de Filtros IIR é feito a partir de filtros analógicos existentes – Os filtros analógicos normalizados Filtros Protótipos Filtros Protótipos Prof. Cláudio A. Fleury Sinais e Sistemas Digitais – Três tipos de filtros protótipos largamente usados na prática • Butterworth Passa Baixas • Chebyshev Passa Baixas (tipos I e II) • Elíptico Passa Baixas 7 Filtros Analógicos Filtros Analógicos Prof. Cláudio A. Fleury Sinais e Sistemas Digitais Revisão Revisão 8 Projeto de Filtros Analógicos Projeto de Filtros Analógicos • Projeto usando transformação do protótipo passa baixas – Filtro passa baixas protótipo (normalizado) de primeira ordem com função de transferência H P (s) e ω c = 1 rad/s ω ω j j H P + = 1 1 ) ( 1 1 ) ( + = s s H P 2 1 1 ) ( ω ω + = j H P Freq. ω Ganho Revisão Prof. Cláudio A. Fleury Sinais e Sistemas Digitais – Transformação da função de transferência do fap para filtro passa baixas de interesse: s → s/ω c 9 ω (rad/s) Ganho 0 1 100% 1 1/√2 70,7% 100 0,001 0,1% 10000 0,0001 0,01% c c c PB s s s H ω ω ω + = + = 1 / 1 ) ( 1 1 ) ( + = s s H P c s s ω → Projeto de Filtros Analógicos Projeto de Filtros Analógicos Revisão Revisão • Projeto usando transformação do protótipo passa baixas – Conversão do filtro passa baixas protótipo (normalizado) com função de transferência H P (s) e ω c = 1 rad/s, em um Filtro passa baixas desejado 2 1 1 ) ( | | ¹ | \ | + = c PB j H ω ω ω Freq. ω (rad/s) Ganho 0 1 ω c 1/√2 c PB j j H ω ω ω + = 1 1 ) ( Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 10 ¹ \ c ω c 100ω c 0,00995 10000ω c 0,0001 Conversão do fap sem efeito colateral na Resposta em Frequência ) ( ω j H PB ) ( ω j H P c s s P PB s H s H ω / ) ( ) ( = = Projeto de Filtros Analógicos Projeto de Filtros Analógicos Revisão Revisão • Projeto usando transformação do protótipo passa baixas – Conversão do filtro passa baixas protótipo (normalizado) com função de transferência H P (s) e ω c = 1 rad/s, em um Filtro passa altas desejado – Transformação do protótipo passa baixas em passa altas de interesse: s → ω c /s Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 11 c c PA s s s s H ω ω + = + = 1 / 1 ) ( 1 1 ) ( + = s s H P s s c ω → Projeto de Filtros Analógicos Projeto de Filtros Analógicos Revisão Revisão • Projeto usando transformação do protótipo passa baixas – Conversão do filtro passa baixas protótipo (normalizado) com função de transferência H P (s) e ω c = 1 rad/s, em um Filtro passa altas desejado ( ) 2 1 ) ( c c PA j H ω ω ω ω ω + = c c c PA j j j j j H ω ω ω ω ω ω ω ω + = + = 1 ) ( Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 12 Conversão de protótipo sem efeito colateral na resposta em frequência ) ( ω j H PA ) ( ω j H P s s P PA c s H s H / ) ( ) ( ω = = Projeto de Filtros Analógicos Projeto de Filtros Analógicos Revisão Revisão • Projeto usando transformação do protótipo passa baixas – Conversão do filtro passa baixas protótipo (normalizado) com função de transferência H P (s) e ω c = 1 rad/s, em um Filtro passa faixa desejado – Transformação do protótipo passa baixas em passa faixa de interesse: s → (s 2 +ω c 2 ) / (s.W) Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 13 W s s W s W s s s H PF . . 1 . 1 ) ( 2 0 2 2 0 2 + + = + + = ω ω 1 1 ) ( + = s s H P W s s s . 2 0 2 ω + → Projeto de Filtros Analógicos Projeto de Filtros Analógicos Revisão Revisão • Projeto usando transformação do protótipo passa baixas – Conversão do filtro passa baixas protótipo (normalizado) com função de transferência H P (s) e ω c = 1 rad/s, em um Filtro passa faixa desejado Conversão de protótipo sem efeito colateral ) ( ω j H PF ) ( ω j H P Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 14 sem efeito colateral na resposta em frequência W s s s P PF s H s H . 2 0 2 ) ( ) ( ω + = = Projeto de Filtros Analógicos Projeto de Filtros Analógicos Revisão Revisão • Projeto usando transformação do protótipo passa baixas – Conversão do filtro passa baixas protótipo (normalizado) com função de transferência H P (s) e ω c = 1 rad/s, em um Filtro rejeita faixa desejado – Transformação do protótipo passa baixas em rejeita faixa de interesse: s → (s.W) / (s 2 +ω c 2 ) .W s Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 15 2 0 2 2 0 2 2 0 2 . 1 . 1 ) ( ω ω ω + + + = + + = W s s s s W s s H RF 1 1 ) ( + = s s H P 2 0 2 . ω + → s W s s Projeto de Filtros Analógicos Projeto de Filtros Analógicos Revisão Revisão • Projeto usando transformação do protótipo passa baixas – Conversão do filtro passa baixas protótipo (normalizado) com função de transferência H P (s) e ω c = 1 rad/s, em um Filtro rejeita faixa desejado Conversão de protótipo ) ( ω j H RF ) ( ω j H P Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 16 Conversão de protótipo sem efeito colateral na resposta em frequência 2 0 2 . ) ( ) ( ω + = = s W s s P RF s H s H Projeto de Filtros Analógicos Projeto de Filtros Analógicos Revisão Revisão • Projeto usando transformação do protótipo passa baixas – Tabela-Resumo Tipo do Filtro Transformação do FPB Protótipo: s passa baixas s/ω c onde ω c é a frequência de corte Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 17 passa altas ω c /s onde ω c é a frequência de corte passa faixa (s 2 +ω o 2 )/(s.W) onde ω o = (ω l + ω h ) ½ , W = ω h – ω l rejeita faixa (s.W)/(s 2 +ω o 2 ) onde ω o = (ω l + ω h ) ½ , W = ω h – ω l Filtro Filtro Analógico Protótipo Analógico Protótipo • Especificação: Resposta Quadrática* * M u i t o u s u a l n a e s p e c i f i c a ç ã o d e f i l t r o s a n a l ó g i c o s ( e p o r t a n t o , p a r a f i l t r o s I I R ) ω ω ω ω ω ω ω ε ≤ ≤ ≤ ≤ ≤ ≤ + s p A j H j H , 1 ) ( 0 , 1 ) ( 1 1 2 2 2 2 Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 18 * M u i t o u s u a l n a e s p e c i f i c a ç ã o d e f i l t r o s a n a l ó g i c o s ( e p o r t a n t o , p a r a f i l t r o s I I R ) onde: ε é o ripple na banda passante, ω p é a frequência (rad/s) de início da banda passante, ω s é a frequência (rad/s) de início da banda de rejeição A é a atenuação mínima na banda de rejeição ω ω ω |H (jω)| Filtros Protótipos Filtros Protótipos •• Butterworth Butterworth Passa Baixas Passa Baixas – A magnitude da resposta em frequência é plana plana nas bandas passante e de rejeição – Resposta Quadrática da Magnitude do filtro de ordem N N c a j H 2 2 1 1 ) ( | | ¹ | \ | + = ω ω ω ω c é a frequência de corte (rad/s) Prof. Cláudio A. Fleury Sinais e Sistemas Digitais ω |H a (jω)| N = ∞ N = 100 N = 2 N = 1 ω c 19 c | ¹ \ ω Filtros Protótipos Filtros Protótipos • Butterworth Passa Baixas – Função de Transferência do fap de Butterworth, H a (s), de ordem N ( ) ( ) ( ) N N N c N a j s a a a a a a a j s a j s j j s s H j H s H s H j H j H j H j H j H 2 2 2 2 2 * 2 1 1 ) ( ) ( : Logo ) ( ). ( ) ( ). ( ) ( ). ( ) ( ω ω ω ω ω ω ω ω ω ω ω + = + = = − = − = = = = Prof. Cláudio A. Fleury Sinais e Sistemas Digitais – Polos da Função de Transf. H a (s) são as raízes do denominador 20 ( ) ( ) N c N N c j s j s j s 2 2 2 1 ω ω ω + + = 1 2 ..., , 1 , 0 para , . . ) 1 ( ) ( 0 ) ( ) 1 2 ( 2 ) 2 ( 2 2 2 1 2 2 2 2 − = = = − = ⇒ − = ⇒ = + + + + N k e e e p j s j s j s N k N j c N k N j c j k N c N c N N c N π π π ω ω ω ω ω 2N polos! Filtros Protótipos Filtros Protótipos • Butterworth Passa Baixas – Distribuição circular dos Polos da Função de Transferência H a (s) em torno da origem, para ordem N ímpar e par Prof. Cláudio A. Fleury Sinais e Sistemas Digitais – Somente os polos do semi-plano-s esquerdo serão usados (N polos) para que se obtenha filtros sempre causais e estáveis – Função de transferência do FPB analógico protótipo de Butterworth 21 ∏ − = k k N c a p s s H ) ( ) ( ω Somente os polos do SPE Filtros Protótipos Filtros Protótipos • Butterworth Passa Baixas – Para projetar um fap de Butterworth basta determinar a ordem N e a frequência de corte ω p a partir das especificações do filtro passa baixas: R P , ω P , ω S , A S – Equações de projeto • Ordem N mínima do fap ( ) ( ) ( ) log 2 1 10 1 10 log 10 10 / 10 / 10 ( ( ( − − = S P A R S P N ω ω Prof. Cláudio A. Fleury Sinais e Sistemas Digitais • Ordem N mínima do fap • Limites da Frequência de Corte 22 ( ) ( x que maior inteiro menor o é x : onde log 2 10 ( S P ω ω rejeição de banda da inicial freq. a é passante banda da final freq. a é : onde 1 10 1 10 2 10 / 2 10 / S P N A s c N R p s p ω ω ω ω ω − ≤ ≤ − Filtros Protótipos Filtros Protótipos • Butterworth Passa Baixas – Exemplo • Ripple na banda passante: R p = 7 dB • Atenuação mínima na banda de rejeição: A s = 16 dB • Frequência de início da banda de transição: ω p = 0,2π rad/s Prof. Cláudio A. Fleury Sinais e Sistemas Digitais • frequência de início da banda de rejeição: ω s = 0,3π rad/s • Pode-se escolher qualquer valor para ω c entre os limites calculados, por exemplo, ω c = 0,5 rad/s 23 ( ) ( ) ( ) ( 3 79 , 2 3 , 0 2 , 0 log 2 1 10 1 10 log 10 10 / 16 10 / 7 10 = = ( ( ( − − = π π N 5122 , 0 1 10 3 , 0 ou rad/s 0,4985 1 10 2 , 0 6 6 , 1 6 7 , 0 = − = = − = π ω π ω c c Filtros Protótipos Filtros Protótipos • Butterworth Passa Baixas – Exemplo (cont.) • Cálculo dos polos no SPE: k = 0, 1 e 2 (polos no SPD: k = 3, 4 e 5) Matlab: [z,p,k]=buttap(N) [ ] [ ] [ ] 5 , 0 ) sen( ) cos( . 5 , 0 . 5 , 0 : 1 para 43 , 0 25 , 0 ) 3 / 2 sen( ) 3 / 2 cos( . 5 , 0 . 5 , 0 : 0 para ) 1 3 4 ( ) 1 3 2 ( 6 1 ) 1 3 0 ( 6 0 j e p k j j e p k j j j − = + = = = + − = + = = = + + + + + + π π π π π π π Prof. Cláudio A. Fleury Sinais e Sistemas Digitais • A FT do fap Butterworth causal e estável (polos no SPE), de 3ª ordem e com ω c = 0,5 rad/s é dada por: 24 ) 25 , 0 5 , 0 )( 5 , 0 ( 5 , 0 ) ( ) 433 , 0 25 , 0 )( 433 , 0 25 , 0 )( 5 , 0 ( 5 , 0 ) ( ) ( 2 3 3 + + + = + + − + + = − ∏ = s s s s H j s j s s p s s H a k N c a ω [ ] 43 , 0 25 , 0 ) 3 / 4 sen( ) 3 / 4 cos( . 5 , 0 . 5 , 0 : 2 para ) 1 3 4 ( 6 2 j j e p k j − − = + = = = + + π π π Filtros Protótipos Filtros Protótipos • Butterworth Passa Baixas – Exemplo (cont.) • Cálculo dos polos usando o Matlab • A magnitude quadrática do FPB Butterworth protótipo de ordem 3 e ω c = 0,5 rad/s é dada por: 6 6 9 6 6 6 3 2 2 2 2 2 1 125 , 0 1 5 , 0 ) ( 1 ) ( − − − − = − = | | | + = ⇒ | | | | + = s s s s H j H a N N c a ω ω ω Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 25 5 , 0 1 1 | ¹ | \ | + | | ¹ | \ | + c ω ω Em Matlab: p = roots([1 0 0 0 0 0 -1/64]) p = -0.5000 -0.2500 + 0.4330i -0.2500 - 0.4330i 0.2500 + 0.4330i 0.2500 - 0.4330i 0.5000 Polos do SPE Projeto de Filtros IIR Projeto de Filtros IIR Prof. Cláudio A. Fleury Sinais e Sistemas Digitais Método da Transformação Bilinear Método da Transformação Bilinear 26 Método da Transformação Bilinear Método da Transformação Bilinear • Também conhecido como Método de Tustin • É baseado na aproximação: 1 1 1 1 1 1 + − = + − ≈ − − z z z z s Para T s = 1 1 1 . 2 1 1 . 2 1 1 + − = + − ≈ − − z z T z z T s s s Para qq. T s Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 27 • É o método mais popular • O método produz um Filtro Digital cuja Resposta em Frequência tem as mesmas características da Resposta em Frequência do Filtro Analógico (embora a resposta impulsiva possa ser bem diferente) Método da Transformação Bilinear Método da Transformação Bilinear • Propriedades Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 28 Plano s Plano z Estabilidade é mantida! Método da Transformação Bilinear Método da Transformação Bilinear • Propriedades – O mapeamento da frequência analógica ω na frequência digital Ω é monotônico – ω = 0 é mapeado em Ω = 0, e ω → ∞ é mapeado em Ω = π (frequência de Nyquist = metade da frequência de amostragem) Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 29 – A resposta em frequência de um filtro passa baixas que decai para zero com ω → ∞ produz um filtro passa baixas digital com resposta em frequência que também decai para zero com Ω → π – Mapeamento das frequências é dado por: ) arctg( . 2 2 tg ω ω = Ω ⇔ | ¹ | \ | Ω = • Exemplo 2 Projete um filtro digital passa baixas com frequência de corte de 1 kHz e 8 kHz de frequência de amostragem, usando um fap (filtro analógico protótipo) de primeira ordem, com ganho 1 (0 dB) na frequência zero rad/s: F. Transf. do fap: fap transf. p/ ω c : Frequência de corte digital (normalizada): c c c s s P PB s s s H s H c ω ω ω ω + = + = = = 1 1 ) ( ) ( ' Método da Transformação Bilinear Método da Transformação Bilinear a rad/amostr 2 . kHz 1 π π = = Ω 1 1 ) ( + = s s H P Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 30 Frequência de corte digital (normalizada): Frequência de corte do filtro analógico correspondente: Função de Transferência do filtro analógico: Transf. Bilinear: EDLCC: a rad/amostr 4 2 . kHz 8 π = = Ω c rad/s 4142 , 0 8 2 = | ¹ | \ | = | ¹ | \ | Ω = π ω tg tg c c 4142 , 0 4142 , 0 1 4142 , 0 1 1 1 ) ( + = + = + = s s s s H c ω 4142 , 0 1) 0,2929(z 0,5858 4142 , 1 0,4142 0,4142z 4142 , 0 1 1 4142 , 0 ) ( ) ( 1 1 − + = − + = + + − = = + − = z z z z s H z H z z s ]) 1 [ ] [ ( 2929 , 0 ] 1 [ 4142 , 0 ] [ − + + − = n x n x n y n y • Exemplo 2 - cont. Resposta em Frequência: Magnitude e Fase da Resposta em Frequência: Método da Transformação Bilinear Método da Transformação Bilinear jΩ jΩ z H H j z + − + = = Ω Ω = 4142 , 0 ) 0,2929(1 ) ( ) ( -40 -30 -20 -10 0 X: 0.25 Y: -3.01 M a g n i t u d e ( d B ) f c (-3dB) = 0,25 x 8000/2 = 1000 Hz Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 31 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -100 -80 -60 -40 -20 0 Normalized Frequency (×π rad/sample) P h a s e ( d e g r e e s ) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -60 -50 -40 Normalized Frequency (×π rad/sample) M a g n i t u d e ( d B ) • Exemplo 3 Projete um filtro digital passa faixa com frequências de corte de 1 kHz e 2 kHz (W=1kHz) com frequência de amostragem 8 kHz, usando um fap de segunda ordem, com ganho unitário na frequência de ressonância ω 0 = 1,4142 kHz: F. Transf. do fap: fap transf. p/ PF: Método da Transformação Bilinear Método da Transformação Bilinear 1 1 ) ( + = s s H P 2 0 2 2 0 2 . . 1 . 1 ) ( ω ω + + = + + = W s s W s W s s s H PF Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 32 F. Transf. do filtro analógico: Transf. Bilinear: ( ) 2 2 2 0 2 4 , 2828 2000 2000 . . ) ( π π π ω + + = + + = s s s W s s W s s H PF rad/s 4 , 2828 . e rad/s 2000 rad/s 4000 2 . 2000 e rad/s 2000 2 . 1000 0 π ω ω ω π ω ω π π ω π π ω = = = − = = = = = i s i s s i c c c c c c W 2945 , 2 0012 , 1 2930 , 2 2933 , 2 2933 , 2 ) ( ) ( 2 3 2 3 1 1 2 + − − + − − = = + − = z z z z z z s H z H z z T s s 10 -2 10 -1 10 0 X: 6280 Y: 0.7066 M a g n i t u d e Resposta em Frequencia do Filtro Analógico X: 1.255e+004 Y: 0.7085 f c2 (1/√2) = 12550/2π = 1949,6 Hz f c1 (1/√2) = 6280/2π = 999,5 Hz • Exemplo 3 - cont. Método da Transformação Bilinear Método da Transformação Bilinear Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 10 2 10 3 10 4 10 5 -100 -50 0 50 100 Frequencia (rad/s) F a s e ( g r a u s ) 10 2 10 3 10 4 10 5 10 -3 Frequencia (rad/s) 33 • Exemplo 3 - cont. Método da Transformação Bilinear Método da Transformação Bilinear -50 -40 -30 -20 -10 0 10 20 X: 0.4238 Y: -3.01 M a g n i t u d e ( d B ) X: 0.2383 Y: -3.007 Resposta em Frequencia do Filtro Digital f c2 (-3dB) = 0,4238 x 8000/2 = 1695,2 Hz f c1 (-3dB) = 0,2383 x 8000/2 = 953,2 Hz Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 34 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -100 -50 0 50 100 Frequencia Normalizada (x π rad/s) F a s e ( g r a u s ) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -50 Frequencia Normalizada (x π rad/s) Projeto de Filtros IIR Projeto de Filtros IIR Prof. Cláudio A. Fleury Sinais e Sistemas Digitais Método da Invariância do Impulso Método da Invariância do Impulso 35 Método da Invariância do Impulso Método da Invariância do Impulso • Fundamenta-se na discretização da resposta impulsiva h a (t) do fap onde T s é escolhido de modo que a forma de h a (t) seja capturada por h[n] • Operação de amostragem → relação entre frequências ) . ( ] [ s a T n h n h = Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 36 • Operação de amostragem → relação entre frequências • No plano z, o círculo unitário é representado por z =e jΩ e o eixo vertical no plano s é representado por s = jω s T j j s s e e T f Ω = Ω = Ω = ω ω : logo , . : Como s s s T s T j T j j s j e e e e z e e / 1 ) ( e = = = = = Ω ω ω ω Método da Invariância do Impulso Método da Invariância do Impulso • Etapas: 1. Projeto do fap e geração da função de transferência do filtro analógico correspondente ao filtro digital desejado 2. Cálculo da Resposta Impulsiva do fap pela Transformada Inversa de Laplace Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 37 Laplace 3. Amostragem da Resposta Impulsiva com período de amostragem T s (a amostragem deve ser rápida o suficiente para se evitar aliasing) 4. Cálculo da função de transferência digital pela Transformada Z da sequência resultante da etapa anterior • Exemplo 4 Dado o filtro analógico passa altas de 1ª ordem: Resposta Impulsiva: Amostragem da Resposta Impulsiva: Transformada Z (Função de Transferência): α α α + − = + = s s s s H a 1 ) ( ) ( ) ( ) ( t u e t t h t a α α δ − − = ] [ ] [ ] [ . n u e n n h s T n α α δ − − = s T e z z z H α α α − − − = − = ) 1 ( . 1 ) ( Método da Invariância do Impulso Método da Invariância do Impulso Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 38 Transformada Z (Função de Transferência): s s T T e z e z e z z z H α α α α − − − − − = − − = ) 1 ( . 1 ) ( Generalizando, o polo α é mapeado por: s T e α α − → Método da Invariância do Impulso Método da Invariância do Impulso • Se a Função de Transferência do filtro protótipo for uma razão própria 1 , então pode-se generalizar o tratamento, expandindo H a (s) em frações parciais : • E, de forma similar, pode-se mostrar que a Função de Transferência do filtro digital correspondente, será dada por: ∑ − = i k i a s c s H α ) ( ∑ = i z c z H ) ( Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 39 • E os polos serão mapeados por: • Filtros analógicos estáveis são convertidos em filtros digitais estáveis: ∑ − = i T i s k e z z c z H α ) ( s k T k e α α → 1 0 < → < = ↔ + = s k T j e re z j s α ω σ ω σ 1 polinômio do denominador com grau superior ao do numerador Método da Invariância do Impulso Método da Invariância do Impulso • Resumo: 1. Projete o Filtro Protótipo Analógico que satisfaça as especificações do Filtro Digital desejado determine H a (s) 2. Se necessário, expanda em frações parciais a Função de Transferência do filtro protótipo analógico, H a (s) 3. Calcule a Transformada Z de cada fração parcial de H a (s) Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 40 a 4. Obtenha h[n] a partir da Transformada Z Inversa – Vantagem: • preserva a ordem e a estabilidade do filtro analógico – Desvantagem • pode haver distorção da resposta em frequência devido ao aliasing Esse método não é adequado para conversão de filtros passa altas e de filtros rejeita faixa • Exemplo 5 Projete um filtro digital passa faixa de 0,1π a 0,5π rad/amostra, a partir do filtro analógico de Chebyshev Tipo I, passa faixa de 10ª ordem, com até 3 dB de ripple na banda passante: • Passo 1: Projeto do fap em Matlab: z, p e k são os zeros, os polos e o ganho do filtro passa baixas analógico com frequência de corte em 1 rad/s. Método da Invariância do Impulso Método da Invariância do Impulso [z,p,k] = cheb1ap(10,3); Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 41 frequência de corte em 1 rad/s. Passo 2: Conversão do fap PB em PF: Passo 3: Discretização do filtro analógico PF: [nfap,dfap] = zp2tf(z,p,k); Hsfap = freqs(nfap,dfap); w1 = 0.1*2*pi; % rad/s w2 = 0.5*2*pi; % rad/s BW = w2 - w1; Wo = sqrt(w1*w2); % freq. central [npf,dpf] = lp2bp(nfap,dfap,Wo,Bw); Hspf = freqs(npf,dpf); [npfz,dpfz] = impinvar(npf,dpf,2); fvtool(npfz,dpfz) • Exemplo 5 (cont.) Resposta em Frequência dos filtros analógico e digital: Método da Invariância do Impulso Método da Invariância do Impulso -120 -100 -80 -60 -40 -20 0 Filtro Analógico Protótipo M a g n i t u d e ( d B ) -150 -100 -50 0 Filtro Analógico Transformado M a g n i t u d e ( d B ) -80 -60 -40 -20 0 Filtro Digital Correspondente M a g n i t u d e ( d B ) Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 42 0 2 4 6 8 10 -140 freq. (rad/s) 0 2 4 6 8 10 -4 -2 0 2 4 freq. (rad/s) F a s e ( r a d ) 0 2 4 6 8 10 -200 freq. (rad/s) 0 2 4 6 8 10 -4 -2 0 2 4 freq. (rad/s) F a s e ( r a d ) 0 0.2 0.4 0.6 0.8 1 -100 freq. (xπ rad/amostra) 0 0.2 0.4 0.6 0.8 1 -4 -2 0 2 4 freq. (xπ rad/amostra) F a s e ( r a d ) • Exemplo 5 (cont.) – Código Matlab Método da Invariância do Impulso Método da Invariância do Impulso % Filtro passa faixa digital [0,1pi a 0,5pi] a partir do filtro analógico de Chebyshev Tipo I, % passa faixa de 10ª ordem, com até 3 dB de ripple na banda passante [z,p,k] = cheb1ap(10,3); % fap - filtro analóg. protótipo (passa baixas, wc = 1rad/s) [nfap,dfap] = zp2tf(z,p,k); % função de transferência do fap [Hsfap,w] = freqs(nfap,dfap); % resp. em frequência do fap subplot(2,3,1), plot(w,10*log10(abs(Hsfap))), title('Filtro Analógico Protótipo') xlabel('freq. (rad/s)'); ylabel('Magnitude (dB)'); grid on subplot(2,3,4), plot(w,angle(Hsfap)), xlabel('freq. (rad/s)'); ylabel('Fase (rad)'); grid on % transformação de frequência: conversão de PB para PF w1 = 0.1*2*pi; % freq. de corte inferior (rad/s) Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 43 w1 = 0.1*2*pi; % freq. de corte inferior (rad/s) w2 = 0.5*2*pi; % freq. de corte superior (rad/s) BW = w2 - w1; % largura de banda Wo = sqrt(w1*w2); % freq. central [npf,dpf] = lp2bp(nfap,dfap,Wo,BW); % filtro analógico PB para filtro analógico PF Hspf = freqs(npf,dpf); % resp. em frequência do fapf subplot(2,3,2), plot(w,10*log10(abs(Hspf))), title('Filtro Analógico Transformado') xlabel('freq. (rad/s)'); ylabel('Magnitude (dB)'); grid on subplot(2,3,5), plot(w,angle(Hspf)), xlabel('freq. (rad/s)'); ylabel('Fase (rad)'); grid on % Discretização do filtro analógico PF pelo método da Invar. do Impulso [npfz,dpfz] = impinvar(npf,dpf,2); [Hzpf,W] = freqz(npfz,dpfz); % resp. em frequência do fdpf subplot(2,3,3), plot(W/pi,10*log10(abs(Hzpf))), title('Filtro Digital Correspondente') xlabel('freq. (x\pi rad/amostra)'); ylabel('Magnitude (dB)'); grid on subplot(2,3,6), plot(W/pi,angle(Hzpf)) xlabel('freq. (x\pi rad/amostra)'); ylabel('Fase (rad)'); grid on Projeto de Filtros IIR Projeto de Filtros IIR Prof. Cláudio A. Fleury Sinais e Sistemas Digitais Transformações de Faixas de Frequências Transformações de Faixas de Frequências 44 Transformações de Transformações de Faixas Faixas de Frequências de Frequências • Usada na transformação de filtros digitais protótipos • Em geral, as técnicas de projeto de filtros apresentam suas equações apenas para filtros digitais do tipo passa baixas • Tais filtros podem ser convertidos em filtros de outros tipos de resposta em frequência (passa altas, passa faixa e rejeita faixa) transformando-se a faixa de frequências do filtro passa baixas protótipo Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 45 a faixa de frequências do filtro passa baixas protótipo • As transformações de faixa de frequências são mapeamentos no plano-z • Etapas de Projeto de um filtro seletor de frequência genérico 1. Projete um protótipo digital passa baixas (largura de banda fixa, frequência de corte unitária, por exemplo) 2. Aplicar ao filtro protótipo digital passa baixas (em sua função de transferência) algumas transformações algébricas (ver slides seguintes) Transformações de Transformações de Faixas Faixas de Frequências de Frequências • Partindo do filtro passa baixas protótipo com frequência de corte em ω’ c • Para Filtro passa baixas (FPB) com outra frequência de corte (ω c ) 1 1 1 1 − − − − − → z z z α α Mapeamento na F.T. do filtro protótipo passa- baixas, H PB (z): Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 46 ( ) ( ) 2 / ) ( 2 / ) ( ' ' c c c c sen sen ω ω ω ω α + − = onde: ω’ c é a frequência de corte do FPB protótipo (normalmente, normalizada em 1 rad/s) ω c é a frequência de corte do FPB desejado Transformações de Transformações de Faixas Faixas de Frequências de Frequências • Para Filtro passa altas (FPA) 1 1 1 1 − − − + + − → z z z α α Mapeamento na F.T. do filtro protótipo passa- baixas, H PB (z): Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 47 ( ) ( ) 2 / ) ( cos 2 / ) ( cos ' ' c c c c ω ω ω ω α − + − = onde: ω’ c é a frequência de corte do FPB protótipo ω c é a frequência de corte do FPB desejado Transformações de Transformações de Faixas Faixas de Frequências de Frequências • Para Filtro passa faixa (FPF) 1 1 1 2 2 2 1 1 2 1 + − + − − → − − − − − z z z z z α α α α Mapeamento na F.T. do filtro protótipo passa- baixas, H PB (z): Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 48 ( ) ( ) ( ) ) 2 / tan( . 2 / ) ( cot 2 / ) ( cos 2 / ) ( cos ) 1 /( ) 1 ( ) 1 /( 2 ' inf sup inf sup inf sup 2 1 c K K K K K ω ω ω ω ω ω ω β α β α − = − + = + − = + − = Transformações de Transformações de Faixas Faixas de Frequências de Frequências • Para Filtro rejeita faixa (FRF) 1 1 1 2 2 2 1 1 2 1 + − + − → − − − − − z z z z z α α α α Mapeamento na F.T. do filtro protótipo passa- baixas, H PB (z): Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 49 ( ) ( ) ( ) ) 2 / tan( . 2 / ) ( tan 2 / ) ( cos 2 / ) ( cos ) 1 /( ) 1 ( ) 1 /( 2 ' inf sup inf sup inf sup 2 1 c K K K K ω ω ω ω ω ω ω β α β α − = − + = + − = + − = • Exemplo 6 Seja um FPB Chebyshev-I Digital com as seguintes especificações: ω’ p = 0,2π e R p = 1 dB, ω’ s = 0,3π e A s = 15 dB, com Função de Transferência dada por: Projete um FPA com as mesmas tolerâncias mas com início da banda passante em ω = 0,6 π. ) 6493 . 0 5548 . 1 1 )( 8482 . 0 4996 . 1 1 ( ) 1 ( 001836 . 0 ) ( 2 1 2 1 4 1 − − − − − + − + − + = z z z z z z H PB Transformações de Transformações de Faixas Faixas de Frequências de Frequências Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 50 ω p = 0,6 π. Transformar o FPB dado em um FPA tal que a frequência de corte ω’ p = 0,2π seja mapeada na frequência de corte ω p = 0,6π. Logo: [ ] [ ] 38197 . 0 2 / ) 6 . 0 2 . 0 ( cos 2 / ) 6 . 0 2 . 0 ( cos − = − + − = π π π π α ) 4019 . 0 0416 . 1 1 )( 7657 . 0 5661 . 0 1 ( ) 1 ( 02426 . 0 ) ( ) ( ) ( 2 1 2 1 4 1 38197 . 0 1 38197 . 0 38197 . 0 1 38197 . 0 1 1 1 1 1 − − − − − − − = − − − = + + + + − = = − − − − − z z z z z z H z H z H PA z z z z z PB PA • Exemplo 6 (resolução analítica) ) 6493 . 0 5548 . 1 1 )( 8482 . 0 4996 . 1 1 ( ) 1 ( 001836 . 0 ) ( 2 1 2 1 4 1 − − − − − + − + − + = z z z z z z H PB [ ] [ ] 38197 . 0 2 / ) 6 . 0 2 . 0 ( cos 2 / ) 6 . 0 2 . 0 ( cos − = − + − = π π π π α ) ( ). ( ) ( ) ( ) ( 1 2 1 1 1 0 1 1 1 1 − − − + + − = = = − − − z p z p z p Z H z H z z Z PB PA α α Transformações de Transformações de Faixas Faixas de Frequências de Frequências Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 51 ) 4019 . 0 0416 . 1 1 )( 7657 . 0 5661 . 0 1 ( ) 1 ( 02426 . 0 ) ( 1 6493 . 0 1 5548 . 1 1 ) ( 1 8482 . 0 1 4996 . 1 1 ) ( 1 1 001836 . 0 ) ( 2 1 2 1 4 1 2 1 1 1 1 1 2 2 1 1 1 1 1 1 4 1 1 1 0 − − − − − − − − − − − − − − − − − − + + + + − = | | ¹ | \ | | | ¹ | \ | + + − + | | ¹ | \ | + + − − = | | ¹ | \ | | | ¹ | \ | + + − + | | ¹ | \ | + + − − = | | ¹ | \ | + + − = z z z z z z H z z z z z p z z z z z p z z z p PA α α α α α α α α α α • Exemplo 6 (resolução numérica, usando a função Matlab mapeamentoZ) >> bZ = conv(conv(conv([1 1],[1 1]),[1 1]),[1 1])*0.001836 bZ = 0.0018 0.0073 0.0110 0.0073 0.0018 >> aZ = conv([1 -1.4996 0.8482],[1 -1.5548 0.6493]) aZ = 1.0000 -3.0544 3.8291 -2.2925 0.5507 Transformações de Transformações de Faixas Faixas de Frequências de Frequências Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 52 >> Num = [0.38197 -1] Num = 0.3820 -1.0000 >> Den = [1 -0.38197] Den = 1.0000 -0.3820 >> [bz,az] = mapeamentoZ(bZ,aZ,Num,Den) bz = 0.0243 -0.0971 0.1456 -0.0971 0.0243 az = 1.0000 1.5979 1.7460 1.0201 0.3074 • Exemplo 6 (função Matlab: mapeamentoZ ) function [bz,az] = mapeamentoZ(bZ,aZ,Num,Den) % Mapeamento da F.T. H(Z) do FPB protótipo em FPA, FPF ou FRF % realiza: % b(z) b(Z) | % ---- = ---- | Num % a(z) a(Z) | @Z = --- % Den bzord = (length(bZ)-1)*(length(Num)-1); azord = (length(aZ)-1)*(length(Den)-1); Transformações de Transformações de Faixas Faixas de Frequências de Frequências Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 53 azord = (length(aZ)-1)*(length(Den)-1); bz = zeros(1,bzord+1); for k = 0:bzord pln = [1]; % formação do polinômio do numerador for g = 0:k-1 pln = conv(pln,Num); end pld = [1]; % formação do polinômio do denominador for g = 0:bzord-k-1 pld = conv(pld,Den); end bz = bz + bZ(k+1)*conv(pln,pld); end (continua no próximo slide...) • Exemplo 6 (função Matlab: mapeamentoZ ) (continuação...) az = zeros(1,azord+1); for k = 0:azord pln = [1]; for g = 0:k-1 pln = conv(pln,Num); end Transformações de Transformações de Faixas Faixas de Frequências de Frequências Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 54 end pld = [1]; for g = 0:azord-k-1 pld = conv(pld,Den); end az = az + aZ(k+1)*conv(pln,pld); end az1 = az(1); az = az/az1; bz = bz/az1; • O projeto de filtros analógicos é baseado em filtros protótipos (fap) do tipo passa baixas e em transformações da função de transferência desses filtros para a resposta em frequência do filtro desejado. • O projeto de filtros digitais do tipo IIR é feito a partir de filtros analógicos equivalentes, ou seja, projeta-se primeiro o filtro analógico correspondente e depois faz-se a conversão do filtro analógico em filtro digital, usando-se uma das duas técnicas apresentadas: Resumo Resumo Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 55 – Transformação Bilinear: transforma a função de transferência do filtro analógico (Laplace) – Invariância da Resposta ao Impulso: discretiza (amostra) a resposta ao impulso do filtro analógico • Foi apresentado também técnicas de transformação de faixas de frequência, que transformam filtros digitais passa baixas em qualquer outro tipo de filtro digital: pass-altas, passa faixa ou rejeita faixa. Exercícios Exercícios 1. Projete um FPB IIR Butterworth que tenha ripple menor ou igual a 1 dB em 30 rad/s e pelo menos 30 dB de atenuação em 40 rad/s. Determine a função de transferência. Trace a resposta de magnitude e de fase e a resposta ao impulso. 2. Um sinal x(t) contém duas frequências, 100 e 130 Hz. Deseja-se suprimir a última com pelo menos 50 dB e passando a primeira com atenuação máxima de 2 Db. Projete um filtro de Chebyshev para realizar essa operação. Trace a resposta de magnitude (em dB) e de fase e avalie o seu projeto. 3. Escreva uma função Matlab para projetar filtros passa baixas analógicos. O formato da função deve ser: Prof. Cláudio A. Fleury Sinais e Sistemas Digitais 56 fucntion [b,a] = analogfpb(tipo, Fp, Fs, Rp, As) % % Projeta filtros passa baixas analógicos % tipo = ‘butter’ ou ‘cheby1’ ou ‘cheby2’ ou ‘elip’ % Fp = frequência inicial da banda passante (Hz) % Fs = frequência inicial da banda de rejeição (Hz) % Rp = ripple máximo na banda passante (dB) % As = atenuação mínima na banda de rejeição (dB) teste a função criada com projetos de filtros conhecidos (exemplos)