Moving average phase response


O cientista e engenheiros guia para processamento de sinal digital Por Steven W. Smith, Ph. D. Capítulo 19: Filtros Recursivos Há três tipos de resposta de fase que um filtro pode ter: fase zero. Fase linear. E fase não linear. Um exemplo de cada um destes é mostrado na Figura 19-7. Conforme ilustrado em (a), o filtro de fase zero é caracterizado por uma resposta ao impulso que é simétrica em torno da amostra zero. A forma real não importa, apenas que as amostras numeradas negativas são uma imagem espelhada das amostras numeradas positivas. Quando a transformada de Fourier é tomada desta forma de onda simétrica, a fase será inteiramente zero, como mostrado em (b). A desvantagem do filtro de fase zero é que requer o uso de índices negativos, o que pode ser inconveniente trabalhar com. O filtro de fase linear é uma maneira de contornar isso. A resposta ao impulso em (d) é idêntica à mostrada em (a), excepto que foi deslocada para utilizar apenas amostras positivas numeradas. A resposta ao impulso ainda é simétrica entre a esquerda e a direita, no entanto, a localização da simetria foi deslocada de zero. Esta mudança resulta na fase, (e), sendo uma linha reta. Representando o nome: fase linear. A inclinação desta linha reta é diretamente proporcional à quantidade da mudança. Uma vez que a mudança na resposta de impulso não produz nada, mas produz uma mudança idêntica no sinal de saída, o filtro de fase linear é equivalente ao filtro de fase zero para a maioria dos propósitos. A figura (g) mostra uma resposta de impulso que não é simétrica entre a esquerda e a direita. Correspondentemente, a fase, (h), não é uma linha reta. Por outras palavras, tem uma fase não linear. Não confunda os termos: fase não-linear e linear com o conceito de linearidade do sistema discutido no Capítulo 5. Embora ambos usem a palavra linear. Eles não estão relacionados. Por que alguém se importa se a fase é linear ou não As figuras (c), (f) e (i) mostram a resposta. Estas são as respostas de pulso de cada um dos três filtros. A resposta de pulso não é mais do que uma resposta positiva de passo em andamento, seguida de uma resposta de passo negativa. A resposta de pulso é usada aqui porque exibe o que acontece com as bordas ascendentes e descendentes em um sinal. Aqui está a parte importante: os filtros de fase zero e linear têm bordas esquerda e direita que parecem iguais. Enquanto filtros de fase não-lineares têm bordas esquerda e direita que parecem diferentes. Muitas aplicações não podem tolerar as bordas esquerda e direita procurando diferente. Um exemplo é a exibição de um osciloscópio, onde essa diferença pode ser mal interpretada como uma característica do sinal que está sendo medido. Outro exemplo é o processamento de vídeo. Você pode imaginar ligar sua TV para encontrar a orelha esquerda de seu ator favorito procurando diferente de sua orelha direita É fácil fazer um filtro FIR (resposta de impulso finito) tem uma fase linear. Isso ocorre porque a resposta ao impulso (kernel do filtro) é especificada diretamente no processo de design. Fazer com que o kernel do filtro tenha simetria esquerda-direita é tudo o que é necessário. Este não é o caso com os filtros IIR (recursivos), uma vez que os coeficientes de recursão são o que é especificado, e não a resposta ao impulso. A resposta de impulso de um filtro recursivo não é simétrica entre a esquerda e a direita e, portanto, tem uma fase não linear. Os circuitos eletrônicos analógicos têm esse mesmo problema com a resposta de fase. Imagine um circuito composto de resistores e capacitores sentados em sua mesa. Se a entrada sempre foi zero, a saída também terá sido sempre zero. Quando um impulso é aplicado à entrada, os capacitores carregam rapidamente para algum valor e então começam a decrescer exponencialmente através dos resistores. A resposta ao impulso (isto é, o sinal de saída) é uma combinação destas várias exponenciais decrescentes. A resposta ao impulso não pode ser simétrica, pois a saída era zero antes do impulso e a decomposição exponencial nunca atinge novamente o valor zero. Criadores de filtros analógicos atacam este problema com o filtro Bessel. Apresentado no Capítulo 3. O filtro Bessel é projetado para ter como fase linear possível, no entanto, está muito abaixo do desempenho dos filtros digitais. A capacidade de fornecer uma fase linear exata é uma clara vantagem dos filtros digitais. Felizmente, existe uma maneira simples de modificar filtros recursivos para obter uma fase zero. A Figura 19-8 mostra um exemplo de como isso funciona. O sinal de entrada a ser filtrado é mostrado em (a). A Figura (b) mostra o sinal depois de ter sido filtrado por um filtro de passa-baixa de um pólo. Como este é um filtro de fase não-linear, as bordas esquerda e direita não parecem iguais, são versões invertidas umas das outras. Conforme descrito anteriormente, este filtro recursivo é implementado começando na amostra 0 e trabalhando em direcção à amostra 150, calculando cada amostra ao longo do caminho. Agora, suponha que em vez de se mover da amostra 0 para a amostra 150, começamos na amostra 150 e nos movemos para a amostra 0. Em outras palavras, cada amostra no sinal de saída é calculada a partir de amostras de entrada e saída à direita da amostra sendo trabalhada em. Isto significa que a equação de recursão, Eq. 19-1, é alterado para: A figura (c) mostra o resultado desta filtragem inversa. Isto é análogo a passar um sinal analógico através de um circuito eletrônico de RC ao tempo de funcionamento para trás. Filtragem no sentido inverso não produz qualquer benefício em si mesmo o sinal filtrado ainda tem bordas esquerda e direita que não se parecem. A magia acontece quando a filtragem para frente e para trás é combinada. A Figura (d) resulta da filtragem do sinal na direcção de avanço e depois filtragem novamente na direcção inversa. Voila Isso produz um filtro recursivo de fase zero. De fato, qualquer filtro recursivo pode ser convertido em fase zero com esta técnica de filtragem bidirecional. A única penalidade para este desempenho melhorado é um fator de dois no tempo de execução e na complexidade do programa. Como você encontra as respostas de impulso e freqüência do filtro geral A magnitude da resposta de freqüência é a mesma para cada direção, enquanto as fases são opostas no sinal. Quando as duas direções são combinadas, a magnitude torna-se quadrada. Enquanto a fase cancela para zero. No domínio do tempo, isto corresponde à convolução da resposta de impulso original com uma versão invertida da esquerda para a direita de si mesma. Por exemplo, a resposta de impulso de um filtro passa-baixa de um único pólo é uma exponencial unilateral. A resposta ao impulso do filtro bidirecional correspondente é uma exponencial unilateral que se decompõe para a direita, convertida com uma exponencial unilateral que decai para a esquerda. Passando pela matemática, isso acaba por ser uma exponencial de dupla face que decai tanto para a esquerda quanto para a direita, com a mesma constante de decaimento que o filtro original. Algumas aplicações apenas têm uma parte do sinal no computador em um determinado momento, como sistemas que alternadamente entrada e saída de dados em uma base contínua. A filtragem bidireccional pode ser usada nestes casos combinando-a com o método de sobreposição-adição descrito no último capítulo. Quando você chega à questão de quanto tempo a resposta ao impulso é, não diga infinito. Se você fizer isso, você precisará preencher cada segmento de sinal com um número infinito de zeros. Lembre-se de que a resposta ao impulso pode ser truncada quando se decompõe abaixo do nível de ruído de arredondamento, isto é, cerca de 15 a 20 constantes de tempo. Cada segmento terá de ser preenchido com zeros tanto na esquerda como na direita para permitir a expansão durante a filtragem bidirecional. Resposta de Frequência do Filtro Média Corrente A resposta em frequência de um sistema LTI é a DTFT da resposta ao impulso, De uma média móvel L-média é Como o filtro de média móvel é FIR, a resposta de freqüência reduz à soma finita Podemos usar a identidade muito útil para escrever a resposta de freqüência como onde temos deixado ae menos jomega. N 0 e M L menos 1. Podemos estar interessados ​​na magnitude desta função para determinar quais freqüências passam pelo filtro sem atenuação e quais são atenuadas. 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 radianos por amostra. Observe que, em todos os três casos, a resposta de freqüência tem uma característica de passagem baixa. Uma componente constante (frequência zero) na entrada passa através do filtro sem ser atenuada. Certas frequências mais elevadas, como pi / 2, são completamente eliminadas pelo filtro. No entanto, se a intenção era projetar um filtro lowpass, então não temos feito muito bem. Algumas das frequências mais altas são atenuadas apenas por um factor de cerca de 1/10 (para a média móvel de 16 pontos) ou 1/3 (para a média móvel de quatro pontos). Podemos fazer muito melhor do que isso. O gráfico acima foi criado pelo seguinte código de Matlab: omega 0: pi / 400: pi H4 (1/4) (1-exp (-iomega4)) ./ (1-exp (-iomega)) H8 (1/8 ) (1-exp (-iomega8)) ./ (1-exp (-iomega)) lote (omega , Abs (H4) abs (H8) abs (H16)) eixo (0, pi, 0, 1) Copyright 2000- - Universidade da Califórnia, BerkeleyI necessidade de projetar uma média móvel filtro que tem uma freqüência de corte de 7,8 Hz. Eu usei filtros de média móvel antes, mas até onde estou ciente, o único parâmetro que pode ser alimentado é o número de pontos a serem calculados. Como isso pode se relacionar a uma freqüência de corte O inverso de 7,8 Hz é de 130 ms e Im trabalhando com dados que são amostrados a 1000 Hz. Isso implica que eu deveria estar usando um tamanho de janela de filtro média móvel de 130 amostras, ou há algo mais que estou faltando aqui pediu Jul 18 13 at 9:52 O filtro de média móvel é o filtro usado no domínio do tempo para remover O ruído adicionado e também para o propósito de suavização, 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. O filtro de média móvel (por 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 à transformada de Fourier de tempo discreto da sua resposta de impulso, podemos calculá-la da seguinte forma: O que mais interessou para o seu caso é a resposta de magnitude do filtro, H (ômega). Usando algumas manipulações simples, podemos obter isso em uma forma mais fácil de compreender: Isso pode não parecer mais fácil de entender. No entanto, devido à identidade Eulers. Lembre-se que: Portanto, podemos escrever o acima como: Como eu disse antes, o que você está realmente preocupado com a magnitude da resposta de freqüência. Assim, podemos tomar a magnitude do acima para simplificá-lo ainda mais: Nota: Nós somos capazes de 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 quaisquer dois números finitos x e y, podemos concluir que a presença de termos exponenciais não afeta a resposta de magnitude global (em vez disso, eles afetam a resposta de fase de sistemas). A função resultante dentro dos parênteses de magnitude é uma forma de um kernel de Dirichlet. Às vezes é chamado de função periódica sinc, porque se assemelha a função sinc um pouco na aparência, mas é periódica em vez disso. De qualquer forma, uma vez que a definição de freqüência de corte é um pouco underspecified (-3 dB ponto -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: Definir H (omega) para o valor correspondente à resposta do filtro que você deseja na freqüência de corte. Defina ômega igual à frequência de corte. Para mapear uma freqüência de tempo contínuo para o domínio de tempo discreto, lembre-se que omega 2pi frac, onde fs é sua taxa de amostragem. Encontre o valor de N que lhe dá o melhor acordo entre os lados esquerdo e direito da equação. Isso deve ser o comprimento de 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 para N2 e menos de 0,5 para N4. P. S. Depois de dois anos, aqui finalmente qual foi a abordagem seguida. O resultado foi baseado na aproximação do espectro de amplitude da MA em torno de f0 como uma parábola (série de 2ª ordem) de acordo com MA (Omega) aproximadamente 1 (frac-fra) Omega2 que pode ser feita mais exata perto do cruzamento zero de MA (Omega) Frac por multiplicação de Omega por um coeficiente de obtenção de MA (Omega) aprox. 10.907523 (frac-fra) Omega2 A solução de MA (Omega) - frac 0 dá os resultados acima, onde 2pi F Omega. Tudo o que acima se refere à freqüência de corte -3dB, o sujeito deste post. Às vezes, porém, é interessante obter um perfil de atenuação em banda de parada que é comparável com o de um filtro de baixa passagem IIR de 1ª ordem (LPF de um pólo) com uma determinada freqüência de corte -3dB (tal LPF é também chamado integrador com vazamento, Tendo um pólo não exatamente em DC, mas perto dele). De facto, tanto a MA como a 1ª ordem IIR LPF têm uma inclinação de -20dB / década na banda de paragem (é necessário um N maior do que o utilizado na figura, N32, para ver isto), mas enquanto que MA tem nulos especulares em Fk / N e um evelope 1 / f, o filtro IIR tem apenas um perfil 1 / f. Se se deseja obter um filtro MA com capacidades semelhantes de filtragem de ruído como este filtro IIR, e corresponder às frequências de corte 3dB para ser o mesmo, ao comparar os dois espectros, ele perceberá que a ondulação da banda de parada do filtro MA acaba 3dB abaixo do filtro IIR. Para obter a mesma ondulação de banda de parada (isto é, a mesma atenuação de potência de ruído) como o filtro IIR as fórmulas podem ser modificadas da seguinte forma: Eu encontrei de volta 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 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 Jan 17 em 2:08

Comments

Popular Posts