FIR Filter Basics

Mai 23, 2021
admin

1.1 O que são “FIR filters?”

FIR filters are one of two primary types of digital filters used in Digital Signal Processing (DSP) applications, the other type being IIR.

1.2 What does “FIR” means?

“FIR” means “Finite Impulse Response”. Se você colocar um impulso, ou seja, uma única amostra “1” seguida de muitas amostras “0”, os zeros sairão após a amostra “1” ter entrado na linha de atraso do filtro.

1.3 Por que a resposta por impulso é “finita?”

No caso comum, a resposta por impulso é finita porque não há feedback no FIR. A falta de feedback garante que a resposta por impulso será finita. Portanto, o termo “resposta de impulso finita” é quase sinônimo de “sem retorno”.

No entanto, se a resposta de impulso é finita, o filtro ainda é um FIR. Um exemplo é o filtro de média móvel, no qual a enésima amostra anterior é subtraída (feed back) cada vez que uma nova amostra entra. Este filtro tem uma resposta de impulso finito mesmo que utilize feedback: após N amostras de um impulso, a saída será sempre zero.

1.4 Como se pronuncia “FIR?”

Algumas pessoas dizem as letras F-I-R; outras pessoas pronunciam como se fosse um tipo de árvore. Nós preferimos a árvore. (A diferença é se você fala de um filtro F-I-R ou de um filtro FIR.)

1.5 Qual é a alternativa aos filtros FIR?

Os filtros DSP também podem ser “Infinite Impulse Response” (IIR). (Veja FAQ IIR do dspGuru.) Os filtros IIR usam feedback, assim quando você insere um impulso a saída teoricamente soa indefinidamente.

1.6 Como os filtros FIR se comparam aos filtros IIR?

Cada tem vantagens e desvantagens. No entanto, em geral, as vantagens dos filtros FIR superam as desvantagens, por isso são utilizados muito mais que os filtros IIR.

1.6.1 Quais são as vantagens dos filtros FIR (em comparação com os filtros IIR)?

Comparados com os filtros IIR, os filtros FIR oferecem as seguintes vantagens:

  • Podem ser facilmente concebidos para serem “fase linear” (e normalmente são). Em termos simples, os filtros de fase linear retardam o sinal de entrada mas não distorcem a sua fase.
  • São simples de implementar. Na maioria dos microprocessadores DSP, o cálculo FIR pode ser feito através de um laço de uma única instrução.
  • São adequados para aplicações de múltiplas taxas. Por multi-rate, entendemos ou “decimation” (reduzir a taxa de amostragem), “interpolation” (aumentar a taxa de amostragem), ou ambos. Seja decimal ou interpolador, o uso de filtros FIR permite que alguns dos cálculos sejam omitidos, proporcionando assim uma importante eficiência computacional. Em contraste, se forem utilizados filtros IIR, cada saída deve ser calculada individualmente, mesmo que essa saída seja descartada (assim a retroalimentação será incorporada ao filtro).
  • Têm propriedades numéricas desejáveis. Na prática, todos os filtros DSP devem ser implementados usando aritmética de precisão finita, ou seja, um número limitado de bits. O uso de aritmética de precisão finita em filtros IIR pode causar problemas significativos devido ao uso de feedback, mas filtros FIR sem feedback geralmente podem ser implementados usando menos bits, e o projetista tem menos problemas práticos para resolver relacionados à aritmética não ideológica.
  • Podem ser implementados usando aritmética fracionária. Ao contrário dos filtros IIR, é sempre possível implementar um filtro FIR usando coeficientes com magnitude inferior a 1,0. (O ganho global do filtro FIR pode ser ajustado na sua saída, se desejado). Esta é uma consideração importante ao utilizar DSPs de ponto fixo, pois torna a implementação muito mais simples.

1.6.2 Quais são as desvantagens dos filtros FIR (em comparação com os filtros IIR)?

Comparados com os filtros IIR, os filtros FIR às vezes têm a desvantagem de necessitarem de mais memória e/ou cálculo para alcançar uma determinada característica de resposta do filtro. Além disso, certas respostas não são práticas para implementar com filtros FIR.

1.7 Que termos são usados na descrição dos filtros FIR?

  • Resposta por impulso – A “resposta por impulso” de um filtro FIR é na verdade apenas o conjunto de coeficientes FIR. (Se você colocar um “impulso” em um filtro FIR que consiste em uma amostra “1” seguida por muitas amostras “0”, a saída do filtro será o conjunto de coeficientes, uma vez que a amostra 1 passa por cada coeficiente para formar a saída.)
  • Tap – Um “tap” FIR é simplesmente um par coeficiente/delay. O número de toques FIR, (muitas vezes designado como “N”) é uma indicação de 1) a quantidade de memória necessária para implementar o filtro, 2) o número de cálculos necessários, e 3) a quantidade de “filtragem” que o filtro pode fazer; na verdade, mais toques significa mais atenuação de stopband, menos ondulação, filtros mais estreitos, etc.
  • Multiply-Accumulate (MAC) – Num contexto FIR, um “MAC” é a operação de multiplicar um coeficiente pela amostra de dados atrasada correspondente e de acumular o resultado. Os FIRs normalmente requerem um MAC por torneira. A maioria dos microprocessadores DSP implementam a operação MAC em um único ciclo de instrução.
  • Transition Band – A banda de freqüências entre as bordas de banda passante e stopband. Quanto mais estreita for a banda de transição, mais toques são necessários para implementar o filtro. (Uma banda de transição “pequena” resulta em um filtro “sharp”.)
  • Linha de atraso – O conjunto de elementos de memória que implementam os elementos de atraso “Z^-1” do cálculo FIR.
  • Buffer circular – Um buffer especial que é “circular” porque o incremento no final faz com que se enrole até o início, ou porque o decremento desde o início faz com que se enrole até o final. Buffers circulares são frequentemente fornecidos por microprocessadores DSP para implementar o “movimento” das amostras através da linha de atraso FIR sem ter que mover literalmente os dados na memória. Quando uma nova amostra é adicionada ao buffer, ele substitui automaticamente a mais antiga.

Deixe uma resposta

O seu endereço de email não será publicado.