Friday, 27 October 2017

Capítulo 15 média móvel filtros no Brasil


Moving Average Filters Transcrição 1 CAPÍTULO 15 Moving Average Filters A média móvel é o filtro mais comum no DSP, principalmente porque é o filtro digital mais fácil de entender e usar. Apesar da sua simplicidade, o filtro de média móvel é ideal para uma tarefa comum: reduzir o ruído aleatório, mantendo uma resposta de passo nítida. Isso o torna o primeiro filtro para sinais codificados no domínio do tempo. No entanto, a média móvel é o pior filtro para sinais codificados no domínio da frequência, com pouca capacidade de separar uma banda de frequências de outra. Os parentes do filtro de média móvel incluem a média móvel gaussiana, Blackman e multiplepass. Estes têm um desempenho ligeiramente melhor no domínio da frequência, à custa do aumento do tempo de computação. Implementação por Convolução Como o nome indica, o filtro de média móvel opera pela média de um número de pontos do sinal de entrada para produzir cada ponto no sinal de saída. Na forma de equação, isto é escrito: EQUAÇÃO 15-1 Equação do filtro da média móvel. Nesta equação, x é o sinal de entrada, y é o sinal de saída, e M é o número de pontos usados ​​na média móvel. Esta equação só utiliza pontos de um lado da amostra de saída a ser calculada. Yi 1 M Mamp1 j j x ij Onde está o sinal de entrada, é o sinal de saída, e M é o número x y de pontos na média. Por exemplo, em um filtro de média móvel de 5 pontos, o ponto 8 no sinal de saída é dado por: y 8 x 8 x 81 x 82 x 83 x 84 5 277 2 278 O cientista e engenheiros guia para processamento de sinal digital Como alternativa, O grupo de pontos do sinal de entrada pode ser escolhido simetricamente em torno do ponto de saída: y8 x78 x79 x8 x81 x82 5 Isto corresponde à alteração da soma de: j para Mamp1, para: jamp (mamp1) 2 para (Mamp1) 2 . Por exemplo, em um filtro de média móvel de 11 pontos, o índice j pode variar de 11 (média de um lado) ou -5 a 5 (média simétrica). A média simétrica requer que M seja um número ímpar. Programação é ligeiramente mais fácil com os pontos em apenas um lado no entanto, isso produz uma mudança relativa entre os sinais de entrada e saída. Você deve reconhecer que o filtro de média móvel é uma convolução usando um kernel de filtro muito simples. Por exemplo, um filtro de 5 pontos tem o kernel do filtro: espinho. 15, 15, 15, 15, 15. espinho. Isto é, o filtro de média móvel é uma convolução do sinal de entrada com um impulso rectangular tendo uma área de um. A Tabela 15-1 mostra um programa para implementar o filtro de média móvel. 1 MOVING AVERAGE FILTER 11 Este programa filtra 5 amostras com um filtro de 11 pontos movendo-se 12, resultando em 49 amostras de dados filtrados. 13 14 DIM X4999 X detém o sinal de entrada 15 DIM Y4999 Y detém o sinal de saída 16 17 GOSUB XXXX Subrutina mítica para carregar X 18 19 FOR I 5 TO 4949 Loop para cada ponto no sinal de saída 2 YI Zero, para que possa ser utilizado Como um acumulador 21 PARA J -5 TO 5 Calcular a soma 22 YI YI X (IJ 23 NEXT J 24 YI YI11 Completar a média dividindo 25 NEXT I 26 27 END TABELA 15-1 Redução de Ruído vs. Resposta ao Passo Muitos cientistas e engenheiros Se sentem culpados sobre o uso do filtro de média móvel. Porque é muito simples, o filtro de média móvel é muitas vezes a primeira coisa que tentou quando confrontado com um problema. Mesmo se o problema é completamente resolvido, ainda há a sensação de que algo mais deve ser Essa situação é verdadeiramente irônica, não só o filtro de média móvel é muito bom para muitas aplicações, mas é ideal para um problema comum, reduzindo o ruído branco aleatório ao mesmo tempo em que mantém a resposta mais nítida. Sinal 2 b. 11 poi Nt média móvel Amplitude FIGURA 15-1 Exemplo de um filtro de média móvel. Em (a), um pulso retangular é enterrado em ruído aleatório. Em (b) e (c), este sinal é filtrado com filtros de média móvel de 11 e 51 pontos, respectivamente. À medida que o número de pontos no filtro aumenta, o ruído torna-se mais baixo, no entanto, as bordas tornam-se menos nítidas. O filtro de média móvel é a solução ideal para este problema, proporcionando o menor ruído possível para uma determinada nitidez da borda. Amplitude Amplitude c. Média móvel de 51 pontos A figura 15-1 mostra um exemplo de como isso funciona. O sinal em (a) é um pulso enterrado em ruído aleatório. Em (b) e (c), a ação de suavização do filtro de média móvel diminui a amplitude do ruído aleatório (bom), mas também reduz a nitidez das bordas (ruim). De todos os possíveis filtros lineares que poderiam ser usados, a média móvel produz o menor ruído para uma determinada nitidez da borda. A quantidade de redução de ruído é igual à raiz quadrada do número de pontos na média. Por exemplo, um filtro de média móvel de 1 ponto reduz o ruído por um fator de 1. Para entender por que a média móvel se a melhor solução, imagine que queremos projetar um filtro com uma nitidez de borda fixa. Por exemplo, vamos supor que corrigir a nitidez da borda, especificando que há onze pontos na ascensão da resposta passo. Isso requer que o kernel do filtro tenha onze pontos. A questão de otimização é: como podemos escolher os onze valores no kernel do filtro para minimizar o ruído no sinal de saída Como o ruído que estamos tentando reduzir é aleatório, nenhum dos pontos de entrada é especial cada um é tão ruidoso quanto seu vizinho . Portanto, é inútil dar tratamento preferencial a qualquer um dos pontos de entrada, atribuindo-lhe um coeficiente maior no kernel do filtro. O ruído mais baixo é obtido quando todas as amostras de entrada são tratadas de forma igual, isto é, o filtro de média móvel. (Mais adiante neste capítulo mostramos que outros filtros são essencialmente tão bons. O ponto é que nenhum filtro é melhor do que a média móvel simples). 4 28 O cientista e os engenheiros Guia de processamento de sinal digital Resposta de frequência A figura 15-2 mostra a resposta em frequência do filtro de média móvel. É descrito matematicamente pela transformada de Fourier do pulso retangular, conforme discutido no Capítulo 11: EQUAÇÃO 15-2 Resposta de freqüência de um filtro de média móvel de ponto M. A freqüência, f, varia entre e. Para f, use: H f 1 H f sen (bf M) M sen (bf) O roll-off é muito lento ea atenuação de banda de parada é horrível. Claramente, o filtro de média móvel não pode separar uma banda de frequências de outra. Lembre-se, bom desempenho no domínio do tempo resulta em mau desempenho no domínio da freqüência, e vice-versa. Em resumo, a média móvel é um filtro de suavização excepcionalmente bom (a ação no domínio do tempo), mas um filtro de passagem baixa excepcionalmente ruim (a ação no domínio da freqüência). 1.2 FIGURA 15-2 Resposta em frequência do filtro de média móvel. A média móvel é um filtro low-pass muito pobre, devido ao seu lento roll-off e atenuação de banda de parada pobres. Estas curvas são geradas por Eq ponto de amplitude 31 pontos 3 pontos Freqüência Parentes do Filtro de Média Móvel Em um mundo perfeito, os designers de filtro só teriam de lidar com informações de domínio de domínio ou de domínio de freqüência codificado, mas nunca uma mistura dos dois no mesmo sinal. Infelizmente, existem algumas aplicações em que ambos os domínios são simultaneamente importantes. Por exemplo, os sinais de televisão caem nesta categoria desagradável. As informações de vídeo são codificadas no domínio do tempo, isto é, a forma da forma de onda corresponde aos padrões de brilho na imagem. No entanto, durante a transmissão, o sinal de vídeo é tratado de acordo com a sua composição de frequência, tal como a sua largura de banda total, como as ondas portadoras para a cor do amplificador de som são adicionadas, a restauração do amplificador de eliminação da componente de corrente contínua, etc. Compreendida no domínio da freqüência, mesmo se houver um intervalo de freqüência, Filtro kernel 2 pass 1 pass 4 pass b. Passo resposta 1 passagem 2 passagem 4 passagem FFT Freqüência Integrar 2 Log () d. Resposta em frequência (db) 2 pass 4 pass 1 pass Frequência FIGURA 15-3 Características dos filtros de média móvel de passagem múltipla. A Figura (a) mostra os grãos de filtro resultantes da passagem de um filtro de média móvel de sete pontos sobre os dados uma, duas e quatro vezes. A Figura (b) mostra as respostas de passo correspondentes, enquanto (c) e (d) mostram as respostas de frequência correspondentes. Amplitude (db) Amplitude c. Resposta de frequência 1 passagem 2 passagem 4 passagem a informação de sinais é codificada no domínio do tempo. Por exemplo, o monitor de temperatura em uma experiência científica pode estar contaminado com 6 hertz das linhas de força, 3 khz de uma fonte de alimentação comutada, ou 132 khz de uma estação de rádio AM local. Os parentes do filtro de média móvel têm melhor desempenho de domínio de frequência e podem ser úteis nestas aplicações de domínio misto. Os filtros de média móvel de passagem múltipla envolvem passar o sinal de entrada através de um filtro de média móvel duas ou mais vezes. A Figura 15-3a mostra o núcleo geral do filtro resultante de uma, duas e quatro passagens. Duas passagens são equivalentes à utilização de um kernel de filtro triangular (um núcleo de filtro retangular convolveu-se consigo mesmo). Após quatro ou mais passagens, o kernel do filtro equivalente parece um Gaussiano (lembre-se do Teorema do Limite Central). Conforme ilustrado em (b), várias passagens produzem uma resposta de passo em forma de quot, em comparação com a linha recta da passagem simples. As respostas de frequência em (c) e (d) são dadas por Eq multiplicada por si para cada passagem. Isto é, cada vez que a convolução do domínio resulta numa multiplicação dos espectros de frequência. 6 282 O cientista e engenheiros guia para processamento de sinal digital A Figura 15-4 mostra a resposta em frequência de outros dois parentes do filtro de média móvel. Quando um Gaussiano puro é usado como um kernel de filtro, a resposta de freqüência é também um Gaussiano, como discutido no Capítulo 11. O Gaussiano é importante porque é a resposta de impulso de muitos sistemas naturais e artificiais. Por exemplo, um breve pulso de luz que entra numa longa linha de transmissão de fibra óptica irá sair como um pulso gaussiano, devido aos caminhos diferentes tomados pelos fótons dentro da fibra. O kernel de filtro gaussiano também é usado extensivamente no processamento de imagens porque possui propriedades únicas que permitem a rápida convolução bidimensional (ver Capítulo 24). A segunda resposta de freqüência na Fig corresponde ao uso de uma janela de Blackman como um kernel de filtro. (A janela do termo não tem nenhum significado aqui é simplesmente parte do nome aceitado desta curva). A forma exata da janela de Blackman é dada no Capítulo 16 (Equação 16-2, Fig. 16-2) no entanto, se parece muito com um Gaussiano. Como são esses parentes do filtro de média móvel melhor do que o filtro de média móvel em si Três maneiras: Primeiro, e mais importante, esses filtros têm melhor atenuação de banda de interrupção do que o filtro de média móvel. Em segundo lugar, os grãos de filtro diminuem para uma amplitude menor perto das extremidades. Lembre-se de que cada ponto no sinal de saída é uma soma ponderada de um grupo de amostras da entrada. Se o kernel do filtro diminui, as amostras no sinal de entrada que estão mais distantes recebem menos peso do que as próximas. Em terceiro lugar, as respostas de passo são curvas suaves, em vez da linha recta abrupta da média móvel. Estes dois últimos são geralmente de benefício limitado, embora você pode encontrar aplicações onde eles são verdadeiras vantagens. O filtro de média móvel e seus parentes são todos aproximadamente o mesmo na redução do ruído aleatório, mantendo uma resposta passo agudo. A ambiguidade reside na forma como o tempo de subida da resposta ao passo é medido. Se o tempo de subida é medido a partir de 1 da etapa, o filtro de média móvel é o melhor que você pode fazer, como mostrado anteriormente. Em comparação, medir o tempo de subida de 1 a 9 torna a janela de Blackman melhor do que o filtro de média móvel. O ponto é, isto é apenas disputas teóricas considerar estes filtros iguais neste parâmetro. A maior diferença entre esses filtros é a velocidade de execução. Usando um algoritmo recursivo (descrito a seguir), o filtro de média móvel será executado como relâmpagos em seu computador. Na verdade, é o filtro digital mais rápido disponível. Várias passagens da média móvel serão correspondentemente mais lentas, mas ainda assim muito rápidas. Em comparação, os filtros Gaussiano e Blackman são extremamente lentos, porque eles devem usar convolução. Pense um fator de dez vezes o número de pontos no kernel do filtro (com base na multiplicação sendo cerca de 1 vezes mais lento que a adição). Por exemplo, espere que um Gaussiano de 1 ponto seja 1 vezes mais lento do que uma média móvel usando recursão. Implementação recursiva Uma grande vantagem do filtro de média móvel é que ele pode ser implementado com um algoritmo que é muito rápido. Para entender isso 7 Capítulo 15 - Filtros de média móvel FIGURA 15-4 Resposta de freqüência da janela de Blackman e kernels de filtro gaussiano. Ambos os filtros fornecem melhor atenuação de banda de interrupção do que o filtro de média móvel. Isto não tem qualquer vantagem na remoção de ruído aleatório de sinais codificados no domínio do tempo, mas pode ser útil em problemas de domínio misto. A desvantagem destes filtros é que eles devem usar a convolução, um algoritmo terrivelmente lento. Amplitude (db) Algoritmo de Freqüência Gaussiana de Blackman, imagine passar um sinal de entrada, x, através de um filtro de média móvel de sete pontos para formar um sinal de saída, y. Agora, veja como dois pontos de saída adjacentes, y5 e y51, são calculados: y5 x47 x48 x49 x5 x51 x52 x53 y51 x48 x49 x5 x51 x52 x53 x54 Estes são quase os mesmos pontos de cálculo x48 a x53 devem ser adicionados para y5 e novamente Para y51. Se y5 já foi calculado, a maneira mais eficiente de calcular y51 é: y51 y5 x54amp x47 Uma vez que y51 foi encontrado usando y5, então y52 pode ser calculado a partir da amostra y51, e assim por diante. Depois que o primeiro ponto é calculado em y, todos os outros pontos podem ser encontrados com apenas uma única adição e subtração por ponto. Isto pode ser expresso na equação: EQUAÇÃO 15-3 Implementação recursiva do filtro da média móvel. Nesta equação, x é o sinal de entrada, y é o sinal de saída, M é o número de pontos na média móvel (um número ímpar). Antes que esta equação possa ser usada, o primeiro ponto no sinal deve ser calculado usando uma soma padrão. Yi yiamp1 xipamp xiampq onde: p (Mamp1) 2 q p 1 Observe que esta equação usa duas fontes de dados para calcular cada ponto na saída: pontos da entrada e pontos previamente calculados da saída. Isso é chamado de equação recursiva, o que significa que o resultado de um cálculo é usado em cálculos futuros. (O termo quotrecursivo também tem outros significados, especialmente em informática). O Capítulo 19 discute uma variedade de filtros recursivos em mais detalhes. Esteja ciente de que o filtro recursivo médio móvel é muito diferente dos filtros recursivos típicos. Em particular, a maioria dos filtros recursivos tem uma resposta de impulso infinitamente longa (IIR), composta de sinusoides e exponenciais. A resposta de impulso da média móvel é um pulso retangular (resposta de impulso finito, ou FIR). Este algoritmo é mais rápido que outros filtros digitais por várias razões. Primeiro, há apenas dois cálculos por ponto, independentemente do comprimento do kernel do filtro. Segundo, a adição e subtração são as únicas operações matemáticas necessárias, enquanto a maioria dos filtros digitais requerem multiplicação demorada. Em terceiro lugar, o esquema de indexação é muito simples. Cada índice em Eq é encontrado adicionando ou subtraindo constantes inteiras que podem ser calculadas antes que a filtragem comece (isto é, p e q). Em seguida, todo o algoritmo pode ser realizado com representação de inteiro. Dependendo do hardware usado, inteiros podem ser mais do que uma ordem de magnitude mais rápida do que ponto flutuante. Surpreendentemente, a representação de números inteiros funciona melhor do que o ponto flutuante com este algoritmo, além de ser mais rápido. O erro round-off de aritmética de ponto flutuante pode produzir resultados inesperados se você não for cuidadoso. Por exemplo, imagine um sinal de amostra 1, sendo filtrado com este método. A última amostra no sinal filtrado contém o erro acumulado de 1, adições e 1, subtrações. Isso aparece no sinal de saída como um deslocamento à deriva. Os inteiros não têm esse problema porque não há nenhum erro de arredondamento na aritmética. Se você deve usar ponto flutuante com este algoritmo, o programa na Tabela 15-2 mostra como usar um acumulador de dupla precisão para eliminar essa deriva. 1 FILTRO MÉDIO MÉDIO IMPLEMENTADO POR RECURSÃO 11 Este programa filtra 5 amostras com um filtro médio de 11 pontos movendo-se, resultando em 49 amostras de dados filtrados. 13 Um acumulador de dupla precisão é usado para evitar deriva de arredondamento. 14 15 DIM X4999 X detém o sinal de entrada 16 DIM Y4999 Y detém o sinal de saída 17 DEFDBL ACC Define a variável ACC para ser dupla precisão 18 19 GOSUB XXXX Subrutina mítica para carregar X 2 21 ACC Encontre Y5 fazendo a média dos pontos X a X1 22 FOR I A 1 23 ACC ACC XI 24 SEGUINTE I 25 Y5 ACC11 26 Filtro de média móvel recursiva (Eq. 15-3) 27 PARA I 51 PARA ACC ACC XI5 - XI-51 29 YI ACC 3 SIGUIENTE I 31 32 END TABELA 15-2A Cientista e engenheiros guia para processamento de sinal digital Por Steven W. Smith, Ph. D. Uma grande vantagem do filtro de média móvel é que ele pode ser implementado com um algoritmo que é muito rápido. Para entender esse algoritmo, imagine passar um sinal de entrada, x, através de um filtro de média móvel de sete pontos para formar um sinal de saída, y. Agora, veja como dois pontos de saída adjacentes, y 50 e y 51, são calculados: Estes são quase os mesmos pontos de cálculo x 48 a x 53 devem ser adicionados para y 50 e novamente para y 51. Se y 50 já foi calculado , A maneira mais eficiente de calcular y 51 é: Uma vez que y 51 tenha sido encontrado usando y 50, então y 52 pode ser calculado a partir da amostra y 51, e assim por diante. Depois que o primeiro ponto é calculado em y, todos os outros pontos podem ser encontrados com apenas uma única adição e subtração por ponto. Isso pode ser expresso na equação: Observe que esta equação usa duas fontes de dados para calcular cada ponto na saída: pontos a partir da entrada e pontos previamente calculados a partir da saída. Isso é chamado de equação recursiva, o que significa que o resultado de um cálculo é usado em cálculos futuros. (O termo recursivo também tem outros significados, especialmente na informática). O Capítulo 19 discute uma variedade de filtros recursivos em mais detalhes. Esteja ciente de que o filtro recursivo médio móvel é muito diferente dos filtros recursivos típicos. Em particular, a maioria dos filtros recursivos tem uma resposta de impulso infinitamente longa (IIR), composta de sinusoides e exponenciais. A resposta de impulso da média móvel é um pulso retangular (resposta de impulso finito, ou FIR). Este algoritmo é mais rápido que outros filtros digitais por várias razões. Primeiro, há apenas dois cálculos por ponto, independentemente do comprimento do kernel do filtro. Segundo, a adição e subtração são as únicas operações matemáticas necessárias, enquanto a maioria dos filtros digitais requerem multiplicação demorada. Em terceiro lugar, o esquema de indexação é muito simples. Cada índice na Eq. 15-3 é encontrado adicionando ou subtraindo constantes inteiras que podem ser calculadas antes do início da filtragem (isto é, p e q). Em seguida, todo o algoritmo pode ser realizado com representação de inteiro. Dependendo do hardware usado, inteiros podem ser mais do que uma ordem de magnitude mais rápida do que ponto flutuante. Surpreendentemente, a representação de números inteiros funciona melhor do que o ponto flutuante com este algoritmo, além de ser mais rápido. O erro round-off de aritmética de ponto flutuante pode produzir resultados inesperados se você não for cuidadoso. Por exemplo, imagine um sinal de 10.000 amostras sendo filtrado com este método. A última amostra no sinal filtrado contém o erro acumulado de 10.000 adições e 10.000 subtracções. Isso aparece no sinal de saída como um deslocamento à deriva. Os inteiros não têm esse problema porque não há nenhum erro de arredondamento na aritmética. Se você deve usar ponto flutuante com este algoritmo, o programa na Tabela 15-2 mostra como usar um acumulador de dupla precisão para eliminar este drift. Every vez e um tempo, eu uso uma média móvel para passar dados de filtro passa-baixa. Um filtro de média móvel é muito simples e fácil de implementar em tempo real. Se você decidir média cinco pontos de dados em conjunto (M 5), então os dados filtrados são calculados por yi (xi-2 xi-1 xi xi1 xi2) 5. Você pode até mesmo implementar isso recursivamente de modo que cada cálculo subseqüente requer apenas dois dados aritméticos Operações, independentemente do tamanho de M. Por exemplo (assumindo M 5), se seu primeiro cálculo é y3 (x1 x2 x3 x4 x5) 5, então o próximo cálculo é simplesmente y4 y3 8211 x1 x6. O que eu não sabia até recentemente é como calcular a resposta de freqüência de filtros de média móvel. A resposta de freqüência, Hf, pode ser calculada por sin (pifM) (M sen (pif)), onde M é o comprimento da média móvel e f varia de 0 a 0,5 (com 0,5 representando metade da freqüência da amostra). Abaixo está um gráfico das respostas de freqüência para comprimentos de 4, 8 e 16 (com uma freqüência de amostra de 500 Hz). Observe que os filtros têm bandas de transição agradáveis ​​e suaves (o início das curvas de uma amplitude de 1 a 0) e bandas de parada horríveis (as ondulações repetidas). Isso faz com que a média móvel seja um filtro de suavização excepcionalmente bom (a ação no domínio do tempo), mas um filtro passa-baixa excepcionalmente ruim (a ação no domínio da freqüência) 8221 (The Scientist and Engineer's Guide to Digital Signal Processing, Capítulo 15) . Abaixo estão exemplos de como os filtros de média móvel removem o ruído aleatório de um pulso retangular. Você pode ver o pulso retangular é mantido relativamente íngreme pela banda de transição gradual ao remover o ruído. Se você quiser remover o ruído 60 Hz, então um comprimento de 8 funcionará bem (a linha verde no primeiro gráfico). Você pode melhorar a banda de parada, na cara de uma banda de transição mais íngreme, aplicando o filtro várias vezes. Abaixo está um gráfico da resposta de freqüência de uma média móvel de comprimento 8 depois de ser filtrado um, dois ou quatro vezes. Estes foram calculados multiplicando a função de resposta em frequência por si para cada passagem (Hf Hf de dupla passagem). Se você quiser remover o ruído de 60 Hz com um filtro de passagem dupla, então você pode usar um comprimento de 7 em vez de 8 com um filtro de passagem única.

No comments:

Post a Comment