Introdução ao projeto de filtro IIR

Os filtros de Resposta a Impulso Infinito (IIR) são uma pedra angular do processamento de sinal digital, oferecendo seletividade de frequência eficiente com menos coeficientes do que seus homólogos de Resposta a Impulso Finito (FIR). Derivando a função de transferência de um filtro IIR de um conjunto de especificações de desempenho é um processo sistemático que combina teoria de protótipo analógico com técnicas de transformação digital. Este guia fornece uma abordagem abrangente, passo a passo para projetar filtros IIR, cobrindo tudo, desde especificações de interpretação até obtenção de uma expressão prática H(z]] adequada para implementação. Dominar essas etapas é essencial para estudantes, engenheiros e pesquisadores que trabalham em comunicações, processamento de áudio, sistemas de controle ou qualquer campo que exija filtragem digital.

Compreender as Especificações do Filtro

Cada desenho do filtro começa com um conjunto claro de requisitos. Quanto mais precisamente estes forem definidos, mais fácil será selecionar um protótipo apropriado e determinar a ordem necessária. Os parâmetros-chave incluem tipicamente:

  • Freqüência de borda de banda (ω]p): A frequência superior (ou inferior) da faixa passa, frequentemente dada em radianos por segundo ou Hz. Para filtros passa-baixa, esta é a frequência de corte onde o ganho começa a cair.
  • Frequência de bordo da banda de travagem (ω]s): A frequência para além da qual a atenuação deve ser pelo menos o valor especificado da banda de paragem.
  • Ondulação da banda de passes (δp]): A variação máxima admissível do ganho dentro da faixa de passe, tipicamente expressa em decibéis (dB) como Ap[ = 20 log10(1+δp[[]) ou diretamente como um valor de dB (por exemplo, 1 dB).
  • A atenuação da banda de paragem (As):A atenuação mínima necessária na banda de paragem, expressa em dB (por exemplo, 60 dB). Isto equivale ao ganho máximo da banda de paragem permitida.
  • Tipo de filtro: Passagem baixa, passa-alta, passa-banda, para-banda ou passa-tudo. Cada um requer uma transformação de frequência diferente.
  • Frequência de amostragem (F]s]): Crítica para a implementação digital, uma vez que todas as frequências analógicas devem ser normalizadas para a faixa Nyquist (0 a F]s[/2).

Considerações adicionais podem incluir requisitos de linearidade de fase (muitas vezes melhor atendidos por filtros de Bessel ou FIR) e limites de recursos computacionais. Todas as especificações devem ser registradas em ambos os domínios analógico (pré-warped) e digital para evitar confusão durante a transformação.

Selecionar o Protótipo do Filtro

O protótipo é um filtro analógico de passagem baixa com uma frequência de corte normalizada de 1 rad/s. Quatro protótipos clássicos são amplamente utilizados, cada um oferecendo um trade-off diferente entre ondulação de banda de passe, atenuação de banda de parada e linearidade de fase.

Filtro Butterworth

O filtro Butterworth fornece uma resposta de banda passa máxima plana sem ondulação. O seu ganho diminui monotonicamente com a frequência, e o seu roll-off é moderado — — 20n dB/década para um filtro de nth order. É ideal quando é necessária uma intensidade de banda passa suave e é aceitável uma atenuação de banda de parada moderada.

Filtro Tipo I do Chebyshev

Os filtros Chebyshev Tipo I introduzem equiripple na faixa de passagem, mas conseguem um roll-off mais íngreme na frequência de corte em comparação com Butterworth. A ripple da faixa de passagem é especificada (por exemplo, 0,5 dB). Estes filtros são úteis quando é necessária uma faixa de transição mais nítida, mas a ripple da faixa de passagem pode ser tolerada.

Filtro Chebyshev Tipo II (Chebyshev Inverso)

O Tipo II tem ondulação na faixa de paragem e uma faixa de passagem plana. Oferece um roll-off íngreme pouco antes da banda de paragem, mas a banda de paragem exibe atenuação equiripple. Este tipo é seleccionado quando uma banda de passagem plana é obrigatória, mas alguma variação da banda de paragem é aceitável.

Filtro Elíptico (Cauer)

Os filtros elípticos fornecem o mais íngreme possível roll-off para uma determinada ordem, permitindo ondulação em ambas as faixas de passagem e parada. São ideais para aplicações que exigem alta seletividade com uma baixa ordem de filtro, como filtros anti-aliasing ou separação de canais. O trade-off é uma fase não linear significativa e sensibilidade à quantificação de coeficientes.

Filtro de Bessel

Os filtros de Bessel maximizam o atraso do grupo, preservando a forma dos sinais de domínio temporal. A sua resposta de magnitude tem um roll-off mais lento do que a Butterworth, tornando-os adequados para comunicações baseadas em pulsos ou onde a fase linear é crítica.

A escolha depende das especificações. Por exemplo, se a ondulação da faixa de passe tiver de ser inferior a 0,1 dB e for necessária uma atenuação da banda de paragem de 60 dB, poderá ser apropriado um desenho Chebyshev Tipo I ou elíptico. Os recursos online, tais como ] filtro de Butterworth[, filtro de Chebyshev[, e filtro de Elíptico[] fornecem tabelas detalhadas de funções de pólo- zero e transferência.

Determinando a Ordem de Filtro Obrigatória

Uma vez escolhido o tipo de protótipo, deve ser calculada a ordem mínima ]n que satisfaz tanto a ondulação da banda de passagem como a atenuação da banda de paragem. Para os filtros Butterworth e Chebyshev, existem expressões de forma fechada. Por exemplo, para um filtro de passagem baixa Butterworth:

n = ceil( log10( (10]0.1A[s[ – 1) / (10]0.1A[]p[[ – 1) ) / ( 2 log10( ω]s[ / ωAp ) )

]

onde A[p e A[]s[ são a atenuação da banda de passagem e da banda de paragem em dB, e ωp[, ωs[] são as frequências da banda de passagem e da banda de paragem. Para Chebyshev Tipo I, aplica-se uma fórmula semelhante utilizando funções de coseno hiperbólica. A estimativa da ordem do filtro elíptica requer a integral elíptica completa, frequentemente calculada com tabelas de design ou software. A maioria dos ambientes modernos do DSP — tais como os ambientes do MATLAB , , ou funções — automatizar esta etapa. É essencial arredondar a ordem até ao inteiro mais próximo; uma ordem mais elevada pode ser usada se os recursos computacionais permitirem.

Derivando a função de transferência analógica H(s)

Com o tipo e ordem de protótipo conhecidos, o próximo passo é obter a função de transferência passa-baixa normalizada ]H(s) com um ponto de corte de 1 rad/s. Para cada protótipo, os pólos (e zeros para elíptica/Chebyshev Tipo II) são conhecidos analiticamente.

  • Butterworth: Os polos estão sobre um círculo de raio 1 no semiplano esquerdo em ângulos (2k+1)π/(2n) + π/2, para k = 0,1,...,n−1. Sem zeros finitos.
  • Chebyshev Tipo I:] Os polos estão numa elipse com focos a ± jωp[. O raio do eixo menor está relacionado com o fator de ondulação ε = √(100.1A[p[[-1).
  • [[FLT: 0]] Chebyshev Tipo II: [[FLT: 1]] Tem ambos os pólos e zeros no eixo imaginário (banda de parada). Os zeros estão em s = ± j ω[[FLT: 2]]]s[[[FLT: 3] / cos(...).
  • Elíptica: Envolve funções elípticas jacobianas; pólos e zeros estão disponíveis em tabelas ou por meio de rotinas numéricas.

A função de transferência é então formada como uma relação de polinômios: H(s) = K * N(s) / D(s)[, onde o ganho K normaliza a resposta de magnitude (por exemplo, K = 1 para ganho de unidade DC). Para um protótipo passa-baixo, H(s) é passa-baixo com ω[c[ = 1. Muitos manuais, tais como O Guia de Cientismo e Engenheiro para Processamento de Sinais Digitais, fornecem localizações tabuladas de pólo-zero e polinômios denominadores para ordens comuns.

Aplicando Transformações de Frequência

O filtro de protótipo normalizado deve ser transformado para atender à frequência de corte desejada e ao tipo de filtro. As transformações de frequência substituem a variável complexa s com uma função de s que mapeia a resposta do protótipo à faixa de passagem desejada.

Passagem baixa para Passagem baixa

Substituir s por s / ωc[, onde ωc[] é a frequência angular de corte desejada. Isto escala todas as frequências de pólo e zero linearmente.

Passagem baixa para Passagem alta

Substituir s → ωc / s. Isto converte zeros e pólos mutuamente, invertendo a resposta de magnitude.

Passagem baixa para passa-banda

A transformação passa-banda é s → (s2 + ω0[2) / (s Δω)[, onde ω0] é a frequência central e Δω a largura de banda. Isto duplica a ordem porque um mapeamento de segunda ordem é aplicado.

Passagem baixa para parada de banda

Similar ao passa-banda, mas com s → s Δω / (s2 + ω02)[].

Após a transformação, a função de transferência H(s) é agora expressa em termos da variável de frequência angular analógica que corresponde às bordas da banda de passagem desejada. Neste ponto, o filtro ainda é um design analógico; o próximo passo converte-o em um filtro digital.

Discretizar o Filtro Usando a Transformação Bilinear

O método mais utilizado para converter o analógico H(s) para um digital H(z) é a transformada bilinear:

s = (2/T) · (1 – z−1) / (1 + z−1)

onde T é o período de amostragem. Esta transformação mapeia todo o plano da esquerda para o círculo unitário no plano z, garantindo estabilidade (desde que o filtro analógico seja estável). Contudo, o mapeamento introduz deformações de frequência: a frequência analógica ↔ e a frequência digital ω estão relacionadas com

↔ = (2/T) tan( ω/2 ).

Para compensar, as frequências de corte analógicas utilizadas na transformação devem ser pré-warped. Se o ponto de corte digital desejado for ωd[ (em radianos por amostra), pré-warp para ↔]analog[ = (2/T) tan( ω]d[[/2 ). Em seguida, aplique a transformada bilinear à função de transferência analógica pré-warped.

A transformada bilinear resulta numa função racional em z−1 da mesma ordem que o filtro analógico. Os coeficientes podem ser obtidos por substituição algébrica e expansão polinomial, ou mais comumente usando funções de desenho de filtro digital em software como a função . Existem alternativas mais simples: o método de impulso-invariante e a combinação z-transform, mas podem causar aliasing ou não preservar a forma de resposta de magnitude. A transformada bilinear é preferida para a maioria dos desenhos IIR porque não garante a aliasing e preserva as características de resposta de magnitude do filtro (exceto para deformações, que são pré-compensadas).

Expressando a Função de Transferência Final H(z)

Após a discretização, a função de transferência é uma relação de polinômios em z−1:

H(z) = (b0 + b1 z−1 + ... + b[N z−N] / (1 + a1 z−1 + ... + aM[ z−[M[]][

onde N e M são tipicamente iguais (a ordem do filtro). Para uma secção de segunda ordem (SOS), os coeficientes são frequentemente escritos como:

H(z) = (b0 + b1 z−1 + b2 z−2) / (1 + a1 z−1 + a2 z−2)

Os filtros de ordem mais elevada devem ser factorados em secções de segunda ordem em cascata para melhorar a estabilidade numérica e reduzir o ruído de quantificação.

y[n] = b0 x[n] + b1 x[n−1] + ... + bN[ x[n−N] – a1 y[n−1] – ... – aM[ y[n−M]

Considerações Práticas

A criação de uma função de transferência teórica é apenas uma parte do desenho; a implementação bem sucedida requer atenção às realidades do processamento digital de sinais (DSP):

  • Efeitos de quantificação: A aritmética de precisão finita pode mudar de localização do pólo, causando instabilidade ou alterando a resposta de frequência. Use seções de segunda ordem em cascata com comprimento de palavra suficiente (por exemplo, ponto flutuante de 32 bits ou ponto fixo de 24 bits).
  • Escala: Os sinais de entrada e saída devem ser escalonados para evitar o transbordamento em sistemas de pontos fixos. Os ganhos de nó intermediários em cada estágio SOS devem ser gerenciados.
  • Desvio de fase:] Os filtros de IIR introduzem uma fase não linear, o que pode ser inaceitável em certas aplicações. Se a linearidade de fase é crítica, considere um filtro FIR ou um protótipo de Bessel.
  • Iniciar transientes: A memória infinita dos filtros IIR causa um transiente inicial; isso pode ser atenuado inicializando variáveis de estado ou permitindo um período de aquecimento.
  • Restrições de tempo real: O número de operações multi-acumuláveis por amostra impacta diretamente o rendimento. Use código otimizado e considere aproximações polinomiais para cálculo de coeficiente.

Exemplo: Desenhar um Filtro Chebyshev Tipo I de Baixo-Passo

Suponhamos que precisamos de um filtro digital de passagem baixa com as seguintes especificações:

  • Frequência de amostragem: 10 kHz
  • Borda da banda de passagem: 2 kHz (ωp = 0,4π rad/amostra)
  • Borda de banda de paragem: 3 kHz (ωs = 0,6π rad/amostra)
  • Ondulação da banda de passagem: 1 dB
  • Atenuação da banda de paragem: 40 dB

Passo 1: Pré-dobrar as frequências analógicas utilizando T = 1/10000 s.

Passo 2:] Determinar a ordem utilizando a fórmula Chebyshev Tipo I: com ondulação de 1 dB e atenuação de 40 dB, ordem n .4 (redondo).

[[ FLT: 0]]Passo 3:[[ FLT: 1]] Procurar a função de transferência normalizada do Chebyshev Tipo I para n=4, 1 dB ondulação (pólos e ganho disponíveis em tabelas). Exemplo do desenho padrão: H( s) = K / ( (s2 + 0, 3473s + 0, 8591)(s2 + 0, 8506s + 0, 3381) ).

Passo 4: Aplicar o passe baixo pré-apertado à transformação passa-baixa: substituir s por s / Žp[. Isto produz novos coeficientes polinomiais.

Passo 5:] Aplicar a transformada bilinear na função de transferência analógica pré-apertada. Usando uma ferramenta ou substituição manual, produz b e um coeficiente para cada seção de segunda ordem. O H(z) final será em forma de SOS em cascata.

Este exemplo, embora condensado, ilustra todo o gasoduto. Para computação numérica completa, consulte a documentação do software DSP ou referências padrão.

Conclusão

A função de transferência de filtro IIR deriva de especificações um processo metódico que passa de requisitos para seleção de protótipos, determinação de pedidos, derivação de funções de transferência analógica, transformação de frequência, discretização e implementação. Cada etapa tem bases matemáticas bem estabelecidas e trocas práticas. Ao entender esses fundamentos, você pode projetar filtros que atendam a critérios de desempenho rigorosos com sobrecarga computacional mínima. Para mais estudos, consulte fontes autoritárias, como O Guia de Cientista e Engenheiro para Processamento de Sinais Digitais ou AMATLAB IIR Filter Design documentation] para algoritmos e exemplos detalhados.