Frequência De Corte Média De Filtro Móvel


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 eu 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 um tamanho médio da janela de filtro móvel de 130 amostras, ou há algo mais que eu 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 suavização, mas se você usar o mesmo filtro de média móvel no domínio de freqüência para a separação de freqüência, o desempenho será o pior. Então, nesse caso, use filtros de domínio de freqüência ndash user19373 3 de fevereiro 16 à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 de tempo discreto É igual à transformação de Fourier de tempo discreto de sua resposta de impulso, podemos calcular 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 omega. Uma vez que 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 global de magnitude (em vez disso, eles afetam a resposta de fase de 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 algo em aparência, mas é periodicamente. De qualquer forma, uma vez que a definição de frequência de corte é pouco 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 freqüê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 Fffs é: O inverso disso é Esta fórmula é assintoticamente correta para N grande e tem cerca de 2 erros 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 exata perto do cruzamento zero de MA (Omega) Frac, multiplicando Omega por um coeficiente de obtenção de MA (Omega) aproximadamente 10.907523 (frac-frac) Omega2 A solução de MA (Omega) - frac 0 dá os resultados acima, onde 2pi F Omega. Todo o acima se relaciona com a frequência de corte -3dB, o assunto desta publicação. Às vezes, é interessante obter um perfil de atenuação em stop-band 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 uma inclinação de -20dBdecade na banda de parada (um precisa de um N maior do que o usado na figura, N32, para ver isso), mas enquanto o MA tem nulos espectrales no FkN e um Por um lado, o filtro IIR possui apenas um perfil 1f. Se alguém quiser obter um filtro MA com capacidades semelhantes de filtragem de ruído como este filtro IIR e corresponda à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 forma: encontrei o script Mathematica onde eu calculava o corte para vários filtros, incluindo o MA. O resultado foi baseado na aproximação do espectro MA em torno de f0 como uma parábola de acordo com o MA (Omega) Sin (OmegaN2) Sin (Omega2) Omega 2piF MA (F) aproximadamente N16F2 (N-N3) pi2. E derivando o cruzamento com 1 quadrado a partir daí. Ndash Massimo 17 de janeiro 16 às 2: 08 Resposta de freqüência do filtro médio de corrida A resposta de freqüência de um sistema LTI é a DTFT da resposta de impulso. A resposta de impulso de uma média móvel em L é Como o filtro médio móvel é FIR, o Resposta de freqüência reduz à soma finita Podemos usar a identidade muito útil para escrever a resposta de freqüência como onde nós deixamos ae menos jomega. N 0 e M L menos 1. Podemos estar interessados ​​na magnitude desta função, a fim de determinar quais frequências obtêm o filtro desatualizado e atenuados. Abaixo está um gráfico da magnitude desta função para L 4 (vermelho), 8 (verde) e 16 (azul). O eixo horizontal varia de zero a pi radianes por amostra. Observe que em todos os três casos, a resposta de freqüência possui uma característica de passagem baixa. Um componente constante (zero freqüência) na entrada passa pelo filtro desatualizado. Certas frequências mais altas, como pi 2, são completamente eliminadas pelo filtro. No entanto, se a intenção era projetar um filtro de passagem baixa, então não fizemos muito bem. Algumas das freqüências mais altas são atenuadas apenas por um fator de cerca de 110 (para a média móvel de 16 pontos) ou 13 (para a média móvel de quatro pontos). Nós podemos fazer muito melhor do que isso. O argumento acima foi criado pelo seguinte código Matlab: omega 0: pi400: pi H4 (14) (1-exp (-maome4)). (1-exp (-iomega)) H8 (18) (1-exp (- Iomega8)). (1-exp (-iomega)) H16 (116) (1-exp (-iomega16)). (1-exp (-iomega)) trama (omega, abs (H4) abs (H8) abs ( H16)) eixo (0, pi, 0, 1) Copyright copy 2000- - University of California, BerkeleyDesigning Filtros digitais Comparados com suas análises analógicas, os filtros digitais oferecem excelente desempenho e flexibilidade. Projetar filtros digitais pode parecer uma tarefa assustadora, no entanto, por causa de sua aparentemente infinita variedade de opções de implementação. A vasta gama de ferramentas de design de processamento de sinal digital (DSP) disponíveis pode lidar com muitos dos detalhes. O que você precisa é um bom controle sobre os conceitos básicos de design de filtro para obter as ferramentas iniciadas. O local para começar é saber o tipo de informação que um sinal contém. A informação normalmente vem de um dos dois domínios. Pode estar no domínio da frequência, onde o conteúdo espectral do sinal é de interesse. As informações também podem estar no domínio do tempo, onde a amplitude e a fase do sinal são de interesse. O termo domínio do tempo é um pouco enganador, no entanto, na medida em que nem todos esses sinais se relacionam com o tempo. Por exemplo, uma única amostra de cada elemento em uma série de sensores de tensão em um anel de aeronave produz um sinal que pode ser processado usando filtros de domínio do tempo. Filtragem inversa Uma das desvantagens para os filtros recursivos (IIR) é que suas características de fase não são lineares. Para alguns tipos de sinais, como o áudio normal, isso não é um problema. A fase desses sinais é aleatória para começar. Outros tipos de sinais de domínio de freqüência, no entanto, precisam de uma relação de fase linear para preservar a informação desejada. Você pode resolver este problema para os filtros IIR com o custo de duplicar o tempo de execução e a complexidade. Você usa uma técnica chamada filtragem reversa para corrigir os erros de fase introduzidos no filtro original. Em essência, você corre o tempo para trás. Isso parece uma impossibilidade, mas no mundo digital é bastante simples. Uma vez que você já possui todos os valores de dados passados ​​armazenados no cálculo do filtro inicial, basta executar o filtro usando valores posteriores em vez de valores anteriores. A equação de diferença torna-se: isso adiciona um atraso. Você precisa esperar tantas amostras como a ordem do filtro antes de calcular o primeiro valor de saída. O resultado da filtragem normal seguida de filtragem reversa, no entanto, é um sinal com atraso de fase zero. Uma segunda consideração é o tipo de implementação de filtro que deseja usar. Conforme descrito em Filtros Digitais: uma Introdução. Por Iain A. Robin, os filtros digitais vêm em dois tipos: convolução e recursiva. Os filtros de convolução, também chamados de filtros de resposta de impulso finito (FIR), têm o atributo de não exibir distorção de fase. Há um atraso, é claro, mas todas as amostras recebidas recebem o mesmo tratamento para que as relações de fase de sinal sejam preservadas. Os filtros de FIR de alta ordem podem ser facilmente implementados e alcançarão um desempenho extremamente alto, embora possam exigir muitos recursos para implementar. Os filtros recursivos, também denominados filtros de resposta de impulso infinito (IIR), podem ser implementados com muito menos recursos do que uma FIR correspondente. Isso os torna mais fáceis de implementar e uma ordem de grandeza mais rápida na execução como um algoritmo DSP. Os IIRs, no entanto, exibem uma resposta de fase não-linear, a menos que especificamente projetado para a fase zero. Eles também sofrem de limitações de desempenho porque a aritmética de comprimento de palavra finito restringe a ordem máxima do filtro IIR que pode ser implementada. Com estas duas considerações em mente, você pode começar a avaliar as características do filtro em sua aplicação. Os filtros são mais facilmente compreendidos por sua resposta de passo ou sua resposta de freqüência. A resposta passo a passo, importante em aplicações de domínio do tempo, é a saída de filtros dada uma alteração abrupta no sinal de entrada como ilustrado na Figura 1. As respostas passo a passo têm três parâmetros importantes: aumento do tempo, superação e linearidade da fase. Figura 1: resposta 160Step é a saída dos filtros dada uma alteração abrupta no sinal de entrada. Risetime é o número de amostras de saída entre 10 da mudança de saída e 90 da mudança. Como os filtros do domínio do tempo são tipicamente usados ​​para ajudar a identificar eventos no sinal (como um limite de bits), quanto mais rápido o tempo de subida, melhor será o filtro. Overshoot é uma distorção gerada por filtro da informação do domínio do tempo, que aparece como ondulações nas bordas do passo de saída. É uma distorção que deve ser eliminada, se possível, porque pode encobrir a informação crítica do desempenho do sistema. Quando o filtro ultrapassa, torna-se impossível determinar se o sinal está sendo distorcido pelo sistema que o gera ou pelo filtro. A linearidade da fase para as respostas de etapa refere-se à simetria da resposta de passo acima e abaixo da marca de 50. Conforme mostrado na Figura 2. Uma fase linear é simétrica em relação ao ponto intermediário, enquanto a assimetria ocorre com a fase não linear. A fase linear garante que as bordas ascendentes do sinal filtrado parecem bordas descendentes. Figura 2: 160 (a) Gráfico ilustrando a fase linear simétrica. (B) A fase não-linear assimétrica. A resposta de freqüência é importante em aplicativos de domínio de freqüência. A resposta, mostrada na Figura 3. Tem uma banda passante e uma faixa de parada para selecionar as frequências de interesse e descartar todas as outras. O limite entre o passband e stopband é a banda de transição, que ocorre em torno da frequência de corte dos filtros. A largura desta faixa de transição é o filtro roll-off, que é um dos parâmetros importantes de um filtro de domínio de freqüência. Em geral, um roll-off mais rápido é melhor. Figura 3: 160Illustração da banda passante, stopband e faixa de transição em um filtro com boa atenuação de parada. Passband ripple é um segundo parâmetro importante. Representa uma distorção de sinais que ocorrem na banda passante. Idealmente, não deve haver ondulação de banda passante para que os sinais desejados passem inalterados. O filtro ideal também elimina completamente os sinais na faixa de interrupção. Na prática, no entanto, uma certa energia em freqüências de stopband passará. A quantidade pela qual o filtro reduz o sinal de stopband é a atenuação de parada de filtros, o terceiro parâmetro de filtro de domínio de tempo importante. Existem quatro tipos comuns de filtros de domínio de freqüência: todos eles podem ser avaliados usando os três parâmetros. Embora as respostas de passo e freqüência sejam importantes para avaliar um filtro digital, há um terceiro tipo de resposta que é importante na implementação do filtro: a resposta de impulso. A resposta ao impulso, ilustrada na Figura 4. É a saída dos filtros ao receber um sinal que possui apenas uma amostra não-zero, chamada de função delta (d 91n93). A maneira mais direta de implementar um filtro digital é criar um FIR que envolve uma resposta de impulso h91n93 (também chamado de kernel de filtro) com o sinal de entrada x91n93 usando: onde M é o número de pontos usados ​​para expressar o kernel de filtro. Figura 4: 160Illustração da resposta ao impulso. Cada uma das três respostas contém informações completas sobre o filtro, de modo que saber que um lhe dá os outros dois. A resposta passo a passo é a discreta integração da resposta ao impulso. A resposta de freqüência vem da transformada discreta de Fourier (DFT) da resposta de impulso. Um design de filtro pode, portanto, começar com uma descrição de resposta em qualquer um dos formulários. Esses projetos não precisam necessariamente ser complexos. Um dos filtros de domínio do tempo FIR mais úteis, o filtro de média móvel, é ideal para remover o ruído aleatório (branco) de um sinal de domínio do tempo, como um fluxo de bit serial. A função de transferência de uma média móvel do comprimento M é Isso é facilmente implementado em uma FIR simplesmente armazenando as últimas M amostras e adicionando-as. Para um IIR, a coisa a perceber é que a média móvel toma uma nova amostra e deixa cair a amostra mais antiga em cada período de amostra, de modo que o filtro médio móvel reduz o ruído aleatório em um sinal por uma raiz do fator quadrado M. Então, um ponto de 100 pontos O filtro reduziria o ruído em um factor de 10. Infelizmente, a resposta de passo de um filtro médio móvel tem um tempo de subida que aumenta com o M, o que não é desejável. No entanto, como se mostra, ele tem o tempo de subida mais rápido para um determinado nível de redução de ruído de qualquer filtro de domínio do tempo. Não importa o que, então, você terá que comprometer a redução de ruído e o tempo de subida. A média móvel é um excelente filtro de suavização, mas o deslocamento de freqüência é lento e a atenuação da sua barreira é horrível, tornando-se um filtro passa-baixa terrível. Isso é típico, um filtro digital pode ser otimizado para o desempenho do domínio do tempo ou o desempenho do domínio de freqüência, mas não os dois. Filtro passa-baixo Sinc Windowed Um filtro FIR apropriado para domínio de freqüência é o filtro windowed-sinc. Este filtro de passagem baixa usa a função sinc (sin (x) x) para o kernel de filtro, onde o valor dos componentes do kernel é dado por: Onde f c é a freqüência de corte desejada, expressa como uma fração da freqüência de amostragem. Se o kernel de filtro tivesse um número infinito de pontos, o resultado seria um filtro de passagem baixa ideal sem ondulação de banda passante, atenuação infinita na faixa de parada e uma faixa de transição infinitesimal. Infelizmente, um número infinito de pontos não é um bom tamanho para um kernel de filtro. Uma solução simples é limitar o número de pontos no kernel escolhendo pontos M1 em torno do centro de simetria e ignorando o resto. Isso, de fato, ajusta os valores restantes para zero. Escolhendo uma janela O valor de M define as características de roll-off dos filtros. Com um número infinito de pontos, o roll-off é infinitamente íngreme: a saída vai de um para zero em uma única amostra. Com um número finito, a largura de banda da banda de transição é dada por: Onde a largura de banda é expressa como uma fração da freqüência de amostragem e deve estar entre 0 e 0,5. Basta truncar a função sinc para limitar o número de pontos introduz alguns problemas na resposta de freqüência resultante, como mostra a Figura 5. A descontinuidade na resposta ao impulso causa ondulação na banda passante e reduz a atenuação da banda de parada. Para resolver esse problema, o filtro window-sinc usa um kernel de filtro que é o produto da função sinc e uma função de janela suavemente cônica. Figura 5: 160Truncando a função sinc para limitar o número de pontos introduz alguns problemas na resposta de freqüência resultante. Uma variedade de tais funções de janela são possíveis, mas duas das mais úteis são as janelas Blackman e Hamming. Ambas são funções derivadas matematicamente que trazem a função e sua primeira derivada para zero nos pontos finais, resultando em uma resposta de freqüência muito mais suave. A janela Blackman tem a melhor atenuação de parada das duas: -74 dB versus -53 dB para a janela Hamming. A janela de Hamming, por outro lado, tem cerca de 20 roteiros mais rápidos. Formando outros filtros Com um bom filtro de passagem baixa na mão, os outros tipos comuns de filtros de domínio de freqüência são fáceis de obter. Você pode, por exemplo, projetar um filtro passa-alto diretamente da resposta de impulso de um filtro passa-baixa. Existem duas maneiras de lidar com essa conversão: inversão espectral e reversão espectral. A inversão espectral dá uma resposta de freqüência que é uma inversão (invertida de cima para baixo) do filtro passa-baixa correspondente. Você calcula os coeficientes ao reverter o sinal de todos os componentes do kernel, exceto o centro. O novo componente central é simplesmente (1- o componente central antigo). A Figura 6 mostra esquematicamente como isso funciona. A saída do filtro de passagem de alta é simplesmente a saída de filtros passa-baixa subtraída de um filtro de passagem total (a função delta). Figura 6: 160 Filtro de passagem alta. A inversão espectral é menos intuitiva. Nesta abordagem, você altera o sinal de componentes alternativos do kernel. Com efeito, você multiplicou o kernel de filtro por uma sinusoide com uma freqüência de metade da taxa de amostragem, que altera a resposta de freqüência dos filtros por f s 2. Isso resulta em uma resposta de freqüência que é virada da esquerda para a direita. A abordagem funciona porque a resposta de freqüência de qualquer filtro digital é simétrica em torno de zero de freqüência e se repete na freqüência de amostragem. Conforme mostrado na Figura 7. A inversão espectral efetivamente desliza a resposta de freqüência do filtro passa-baixa. Figura 7: 160 A reversão espectral efetivamente desliza a resposta de freqüência do filtro passa-baixa. Com os filtros passa-baixa e alta passagem na mão, é fácil ver como construir um filtro de rejeição de banda. Basta adicionar os resultados dos dois filtros juntos para obter a resposta total. O kernel de rejeição de banda é a soma vetorial dos dois kernels de filtro. Você pode usar inversão espectral ou inversão espectral no filtro de rejeição de banda para obter um filtro de passagem de banda. Você também pode criar um filtro passa-banda conectando os filtros de passagem alta e alta como mostrado na Figura 8. Se você precisa de um único filtro com as mesmas características, você deve convolver os kernels dos dois filtros para gerar o kernel do filtro de passagem de banda. Figura 8: 160Bandpass filter. Estes simples filtros FIR podem satisfazer muitas necessidades de aplicações modestas. Eles podem ser ineficientes para implementar, no entanto, e um filtro IIR (recursivo) pode ser o que você precisa. Para criar um IIR, você terá que usar a transformada em Z. A transformada em Z é o equivalente digital da transformação Laplace que os designers de filtros analógicos usam: Onde s s j w. Os eixos reais e imaginários do plano S em que os filtros e os zeros são plotados. Se você substituir a variável de tempo com o número de amostra n, deixe r e - s. E definir o z re jw que você obtém: a equação geral para um filtro de recursão é a equação de diferença: Tomando a transformação Z dessa equação e coletando os termos que você obtém: Esta é a função de transferência do filtro IIR expresso em uma forma que diretamente Dá os coeficientes do filtro. Tomando apenas os primeiros termos, a estrutura do design IIR é mostrada na Figura 9. Figura 9: Estrutura do projeto IIR. No entanto, você não precisa de toda essa complexidade. Se tudo o que quiser é um filtro passa-baixa simples, equivalente a um circuito RC, você pode usar a versão single-pole. Neste caso, um 0 1-x e b 1 x. Todos os outros termos são zero. O parâmetro x determina a quantidade de decaimento entre amostras e pode ser encontrado a partir de xe -1d onde d é o número de amostras necessárias para uma entrada de passo decadir a 36,8 de seu valor final. Isto é equivalente à constante de tempo RC do circuito analógico correspondente. Da mesma forma, o equivalente a um circuito RC passe alto tem os valores a 0 (1x) 2, a 1 - (1x) 2 e b 0 x. Uma maneira alternativa de escolher x é usar x e -2 p fc. Aqui fc é a frequência de corte 3dB, expressa como uma fração da freqüência de amostragem com um valor entre 0 e 0,5. Se você precisa ir além desses filtros simples, sua melhor opção é usar alguns dos excelentes softwares de design DSP disponíveis. Se você quiser tentar sua mão sem uma ferramenta especial, você pode projetar um filtro digital arbitrário como faria com um filtro analógico. Primeiro, determine os pólos e zeros analógicos no plano S, depois use as substituições da derivação da transformada Z. Isso lhe dá os pólos e os zeros no plano Z, permitindo que você escreva a função de transferência como: Uma vez que você conhece os pólos e os zeros que deseja, pode conectá-los, faça uma pequena manipulação algébrica para colocar a equação na outra forma , E leia os coeficientes do filtro. Claro, não termina lá. Os erros de aritmética de comprimento de palavra finito e os erros de arredondamento podem deslocar os pólos e os zeros efetivos longe o suficiente para tornar o filtro instável. Apenas testes e ajustes cuidadosos permitirão que você desenvolva um filtro personalizado que funcione conforme o previsto.

Comments