Moving Average Filter Cutoff
Um filtro digital fácil de usar A média móvel exponencial (EMA) é um tipo de filtro de resposta de impulso infinito (IIR) que pode ser usado em muitas aplicações DSP incorporadas. Requer apenas uma pequena quantidade de RAM e poder de computação. O que é um Filter Filters vem em formas analógicas e digitais e existe para remover freqüências específicas de um sinal. Um filtro analógico comum é o filtro RC de baixa passagem mostrado abaixo. Os filtros analógicos são caracterizados pela resposta de freqüência que é o quanto as freqüências são atenuadas (resposta de magnitude) e deslocadas (resposta de fase). A resposta de freqüência pode ser analisada usando uma transformada de Laplace que define uma função de transferência no domínio S. Para o circuito acima, a função de transferência é dada por: Para R equivale a um quilo-ohm e C é igual a um microfarad, a resposta de magnitude é mostrada abaixo. Observe que o eixo dos x é logarítmico (cada marca é 10 vezes maior do que a última). O eixo y está em decibéis (que é uma função logarítmica da saída). A freqüência de corte para este filtro é de 1000 rads ou 160 Hz. Este é o ponto em que menos de metade do poder em uma determinada freqüência é transferida da entrada para a saída do filtro. Os filtros analógicos devem ser usados em projetos embutidos quando se mora um sinal usando um conversor analógico para digital (ADC). O ADC apenas captura freqüências que são até metade da freqüência de amostragem. Por exemplo, se o ADC adquire 320 amostras por segundo, o filtro acima (com uma freqüência de corte de 160Hz) é colocado entre o sinal ea entrada ADC para evitar aliasing (que é um fenômeno onde as freqüências mais altas aparecem no sinal amostrado como Frequências mais baixas). Filtros digitais Os filtros digitais atenuam as freqüências em software em vez de usar componentes analógicos. Sua implementação inclui amostragem dos sinais analógicos com um ADC, em seguida, aplicando um algoritmo de software. Duas abordagens de design comuns para filtragem digital são filtros FIR e filtros IIR. Filtros FIR Filtros finitos de resposta a impulsos (FIR) usam um número finito de amostras para gerar a saída. Uma média móvel simples é um exemplo de um filtro FIR de baixa passagem. As freqüências mais altas são atenuadas porque a média suaviza o sinal. O filtro é finito porque a saída do filtro é determinada por um número finito de amostras de entrada. Como exemplo, um filtro de média móvel de 12 pontos acrescenta as 12 amostras mais recentes, em seguida, divide-se por 12. A saída dos filtros IIR é determinada por (até) um número infinito de amostras de entrada. Filtros IIR Os filtros Infinite Impulse Response (IIR) são um tipo de filtro digital onde a saída é inifinetelyin teoria de qualquer forma influenciada por uma entrada. A média móvel exponencial é um exemplo de um filtro IIR de passagem baixa. Filtro médio de movimentação exponencial Uma média móvel exponencial (EMA) aplica pesos exponenciais a cada amostra para calcular uma média. Embora isso pareça complicado, a equação conhecida em linguagem de filtragem digital como a equação de diferença para calcular a saída é simples. Na equação abaixo, y é a saída x é a entrada e alfa é uma constante que define a freqüência de corte. Para analisar como esse filtro afeta a freqüência da saída, a função de transferência do domínio Z é usada. A resposta de magnitude é mostrada abaixo para alfa igual a 0,5. O eixo dos e é, novamente, mostrado em decibéis. O eixo dos x é logarítmico de 0,001 a pi. A freqüência do mundo real se correlaciona com o eixo x, sendo zero a tensão CC e pi igual a metade da frequência de amostragem. Todas as frequências que são superiores à metade da frequência de amostragem serão alias. Como mencionado, um filtro analógico pode garantir que praticamente todas as freqüências no sinal digital estão abaixo da metade da freqüência de amostragem. O filtro EMA é benéfico em projetos incorporados por dois motivos. Primeiro, é fácil ajustar a freqüência de corte. Diminuir o valor do alfa diminuirá a frequência de corte do filtro como ilustrado pela comparação do gráfico alfa 0.5 acima com o gráfico abaixo, onde alfa 0.1. Em segundo lugar, o EMA é fácil de codificar e requer apenas uma pequena quantidade de energia e memória informática. A implementação do código do filtro usa a equação de diferença. Existem duas operações de múltiplas operações e uma operação de adição para cada saída. Isso ignora as operações necessárias para arredondar matemática de ponto fixo. Somente a amostra mais recente deve ser armazenada na RAM. Isto é substancialmente menor do que o uso de um filtro de média móvel simples com N pontos que requer N operações de multiplicação e adição, bem como N amostras a serem armazenadas na RAM. O código a seguir implementa o filtro EMA usando matemática de ponto fixo de 32 bits. O código abaixo é um exemplo de como usar a função acima. Os filtros de conclusão, tanto analógicos como digitais, são uma parte essencial dos projetos incorporados. Eles permitem aos desenvolvedores se livrar de freqüências indesejadas ao analisar a entrada do sensor. Para que os filtros digitais sejam úteis, os filtros analógicos devem remover todas as frequências acima da metade da frequência de amostragem. Os filtros digitais IIR podem ser ferramentas poderosas no design incorporado, onde os recursos são limitados. A média móvel exponencial (EMA) é um exemplo de um filtro que funciona bem em projetos incorporados por causa da baixa memória e requisitos de potência de computação. Preciso projetar um filtro de média móvel que tenha uma freqüência de corte de 7,8 Hz. Eu usei filtros de média móvel antes, mas, na medida em que estou ciente, o único parâmetro que pode ser alimentado é o número de pontos a serem calculados. Como isso se relaciona com uma freqüência de corte O inverso de 7,8 Hz é de 130 ms, e estou trabalhando com dados que são amostrados a 1000 Hz. Isso implica que eu deveria estar usando uma média móvel de tamanho de janela de filtro de 130 amostras, ou há algo mais que estou faltando aqui? 18 de julho 13 às 9:52 O filtro de média móvel é o filtro usado no domínio do tempo para remover O som adicionado e também para fins de alisamento, mas se você usar o mesmo filtro de média móvel no domínio da freqüência para a separação de freqüência, o desempenho será pior. Então, nesse caso, use filtros de domínio de freqüência ndash user19373 3 de fevereiro às 5:53 O filtro de média móvel (às vezes conhecido coloquialmente como um filtro de caixa) tem uma resposta de impulso retangular: Ou, afirmado de forma diferente: lembrando que uma resposta de freqüência de sistemas discretos é Igual à transformação de Fourier de tempo discreto de sua resposta de impulso, podemos calculá-lo da seguinte maneira: o que mais interessou para o seu caso é a resposta de magnitude do filtro, H (omega). Usando algumas manipulações simples, podemos obter isso de forma mais fácil de entender: isso pode não parecer mais fácil de entender. No entanto, devido à identidade do Eulers. Lembre-se que: Portanto, podemos escrever o acima como: Como eu disse anteriormente, o que você realmente está preocupado é a magnitude da resposta de freqüência. Então, podemos tomar a magnitude do acima para simplificá-lo ainda mais: Nota: Podemos soltar os termos exponenciais porque eles não afetam a magnitude do resultado e 1 para todos os valores de ômega. Como xy xy para dois números complexos finitos x e y, podemos concluir que a presença dos termos exponenciais não afeta a resposta de magnitude global (em vez disso, eles afetam a resposta de fase dos sistemas). A função resultante dentro dos suportes de magnitude é uma forma de um kernel Dirichlet. Às vezes, é chamado de função periódica sinc, porque se parece com a função sinc em um pouco de aparência, mas é periodicamente. De qualquer forma, uma vez que a definição de frequência de corte é um pouco sub-especificada (ponto -3 dB -6 dB ponto primeiro sidelobe nulo), você pode usar a equação acima para resolver o que você precisa. Especificamente, você pode fazer o seguinte: Ajuste H (omega) para o valor correspondente à resposta do filtro que você deseja na freqüência de corte. Defina omega igual à frequência de corte. Para mapear uma frequência de tempo contínuo para o domínio de tempo discreto, lembre-se de que omega 2pi frac, onde fs é a taxa de amostragem. Encontre o valor de N que lhe dá o melhor acordo entre os lados esquerdo e direito da equação. Esse deve ser o comprimento da sua média móvel. Se N é o comprimento da média móvel, então uma frequência de corte aproximada F (válida para N gt 2) na frequência normalizada Ff fs é: O inverso disso é Esta fórmula é assintoticamente correta para N grande e tem cerca de 2 Erro para N2 e menos de 0,5 para N4. P. S. Depois de dois anos, aqui, finalmente, qual era a abordagem seguida. O resultado baseou-se na aproximação do espectro de amplitude MA em torno de f0 como uma parábola (série de 2ª ordem) de acordo com MA (Omega) aprox. 1 (frac - frac) Omega2 que pode ser feita mais exatamente perto do cruzamento zero de MA (Omega) Frac, multiplicando Omega por um coeficiente que obteve MA (Omega) aproximadamente 10.907523 (frac - frac) Omega2 A solução de MA (Omega) - frac 0 dá os resultados acima, onde 2pi F Omega. Todos os itens acima dizem respeito à frequência de corte -3dB, o assunto desta publicação. Às vezes, é interessante obter um perfil de atenuação na banda de parada que é comparável ao de um filtro de passagem baixa IIR de 1ª ordem (LPF de um único pólo) com uma freqüência de corte de -3dB dada (como um LPF também é chamado de integrador vazado, Tendo um pólo não exatamente na DC, mas perto disso). De fato, tanto o MA quanto o LPR de 1ª ordem IIR têm declive de década de 20 dB na faixa de parada (um precisa de um N maior que o usado na figura, N32, para ver isso), mas enquanto o MA tem nulos espectrales no Fk N E um 1 f evelope, o filtro IIR possui apenas um perfil de 1 f. Se alguém quiser obter um filtro MA com capacidades semelhantes de filtragem de ruído como este filtro IIR e corresponder às freqüências de corte 3dB para serem iguais, ao comparar os dois espectros, ele perceberia que a ondulação da faixa de parada do filtro MA termina 3dB abaixo do do filtro IIR. Para obter a mesma ondulação de banda de parada (ou seja, a mesma atenuação de potência de ruído) como o filtro IIR, as fórmulas podem ser modificadas da seguinte maneira: encontrei o script Mathematica onde eu calculava o corte para vários filtros, incluindo o MA. O resultado foi baseado em aproximar o espectro de MA em torno de f0 como uma parábola de acordo com MA (Omega) Sin (OmegaN 2) Sin (Omega 2) Omega 2piF MA (F) aproximadamente N1 6F2 (N-N3) pi2. E derivando o cruzamento com 1 sqrt a partir daí. Ndash Massimo 17 de janeiro às 2:08
Comments
Post a Comment