Minha "regra de ouro" favorita para a ordem de um filtro FIR passa-baixo é a "regra de ouro de fred harris":
N= [fs/ de l t a ( f) ] ∗ [ a t t e n ( dB ) / 22 ]
onde delta (f) é a banda de transição, nas mesmas unidades de fs
fs é a taxa de amostragem do filtro atten (dB) é a rejeição alvo em dB
Por exemplo, se você possui uma banda de transição de 100 Hz em um sistema amostrado a 1KHz e seu requisito de rejeição é de 50 dB na banda de parada, a ordem pode ser aproximada por:
N = 1KHz / 100Hz * 50/22 = 23 toques (arredondamento para cima)
Obrigado Fred Harris!
Observe que outra fórmula mais detalhada que leva em consideração a ondulação da banda passante é a fórmula de Kaiser, graças a James Kaiser, da Bell Labs, que incluí no meu gráfico abaixo.
Para a maioria das aplicações que fiz, a abordagem de fred harris foi muito bem, pois, dada uma certa rejeição, os filtros resultantes usando algoritmos de design de filtro tradicionais como Parks-McClellan e Remez excederam meus requisitos de ondulação de banda passante ao atender ao requisito de rejeição. (O que costumo fazer é estimar a ordem, projetar o filtro com essa ordem, inspecionar o resultado e aumentar ou diminuir a ordem a partir daí para ajustar). Os resultados das estimativas são exatamente isso: estima e pode variar amplamente, dependendo dos parâmetros gerais do projeto, e não deve ser assumida como uma solução exata.
Para aqueles familiarizados com o design de filtros usando abordagens de janelas, a revisão do vagão ou janela retangular (que é simples truncamento) revela por que é necessário fs/ Δf torneiras (que é o mesmo que 2 π/ Δ ωse as unidades de frequência normalizada são radianos / amostra, como costuma ser feito) para completar a banda de transição. Veja as imagens abaixo que ajudam a explicar isso.
A primeira imagem abaixo mostra o Sinc esperado em frequência para uma janela retangular no tempo e, em seguida, de forma discreta, onde é uma função Sinc com alias, com o ponto principal de que para N amostras no tempo da função retangular, a resposta de frequência será tenha seu primeiro nulo em f = 1 / N (onde f é a frequência normalizada com 1 sendo a taxa de amostragem).
Esta próxima imagem mostra a abordagem de janela retangular para o design do filtro (que eu nunca recomendaria, mas é informativo). O primeiro gráfico no canto superior esquerdo mostra a resposta da frequência alvo para o nosso filtro como uma resposta ideal "parede de tijolos". Por favor, não confunda isso com a "janela do vagão" (ou "janela retangular"), que também é uma forma retangular - a janela está no domínio do tempo!
Para realizar esse filtro, usaríamos a resposta de impulso da resposta de frequência desejada como coeficientes em nosso filtro FIR (os coeficientes do filtro são a resposta de impulso - coloque um impulso dentro e fora de todos os coeficientes! ) A resposta de impulso para uma resposta de frequência retangular (brickwall) é o FT inverso, que é uma função Sinc, no domínio do tempo, mostrada no canto inferior esquerdo como "Resposta de impulso necessária". Uma função Sinc se estende ao infinito positivo e negativo, então, para realizar esse filtro, precisaríamos de um filtro infinitamente longo e com um atraso infinitamente longo. Obviamente, não podemos fazer isso, por isso truncamos os coeficientes para algo realizável. Quanto mais longo o filtro, mais próximo se aproxima da resposta ideal da parede de tijolos,
Truncar a resposta ao impulso no domínio do tempo é matematicamente idêntico à multiplicação por uma janela retangular no domínio do tempo. (Observe que a resposta ao impulso também é atrasada pela metade da duração da janela para que o sistema seja causal). Multiplicar no domínio do tempo é equivalente a convolução no domínio da frequência. O domínio da frequência (TF) da resposta ao impulso antes do truncamento é a nossa resposta de frequência desejada original da brickwall. A resposta de frequência para a janela retangular é uma função Sinc no domínio da frequência.
Portanto, quando truncamos a resposta de impulso desejada (multiplicamos no tempo por uma janela retangular), envolvemos a resposta de frequência desejada com uma função Sinc, resultando em uma aproximação da nossa resposta de frequência alvo, como mostrado no canto superior direito da imagem abaixo.
Uma retirada de chave para funções Sinc em geral é o primeiro nulo é 1 / T, onde T é a duração da função retangular. Para um sistema amostrado, o primeiro nulo seria2π/ Nonde N representa o número de amostras pela duração da função retangular. Nas imagens, uma frequência de radiano normalizada é usada para o eixo da frequência - (se isso confunde, você apenas sabe o2 πé a frequência do radiano para a taxa de amostragem). Portanto, no processo de convolução, a transição acentuada da parede de tijolos se espalha e, nesse caso, chega a 0 (nossaΔ ω) em uma frequência de 2 π/ N! Então aquiN= 2 π/ Δω
e, é claro, o filtro é ruim para os lóbulos laterais etc. Observe isto: Essa transição da função Sinc é a mais nítida disponível para um determinado número de toques; tem a melhor resolução em frequência, mas a faixa dinâmica mais baixa (rejeição). Outras tipologias de janela (Blackman, Blackman-Harris, Kaiser (meu favorito), etc.) melhorarão significativamente o alcance dinâmico, mas sempre às custas da transição.
Então, do exposto, vemos a origem do 2 π/ Δωisso é usado nas fórmulas de aproximação e também vemos por que há um fator de multiplicação adicional aumentando o número de derivações acima disso para projetos de filtro típicos; a janela retangular nos daria a melhor transição possível com N torneiras ondeN= 2 π/ Δωmas tem muito pouca rejeição. São utilizados mais toques para suavizar a transição do tempo além da transição nítida da janela retangular, proporcionando maior rejeição à custa da largura de banda da transição.