Friday 23 November 2018

Idl filtro de média móvel


A média móvel como um filtro A média móvel é freqüentemente usada para suavizar dados na presença de ruído. A média móvel simples nem sempre é reconhecida como o filtro de Resposta de Impulso Finito (FIR) que é, enquanto na verdade é um dos filtros mais comuns no processamento de sinal. Tratá-lo como um filtro, permitindo compará-lo com, por exemplo, filtros com janelas-sinc (veja os artigos sobre os filtros passa-baixa, alta passagem e banda passada e banda-rejeição para exemplos desses). A principal diferença com esses filtros é que a média móvel é adequada para sinais para os quais a informação útil está contida no domínio do tempo. Dos quais suavizar medições por média é um excelente exemplo. Os filtros Windowed-sinc, por outro lado, são performantes no domínio da frequência. Com equalização no processamento de áudio como um exemplo típico. Existe uma comparação mais detalhada de ambos os tipos de filtros no Time Domain vs. Frequency Domain Performance of Filters. Se você tem dados para os quais tanto o tempo como o domínio de freqüência são importantes, então você pode querer dar uma olhada em Variações na Média Móvel. Que apresenta uma série de versões ponderadas da média móvel que são melhores nisso. A média móvel do comprimento (N) pode ser definida como escrita como normalmente é implementada, com a amostra de saída atual como a média das amostras anteriores (N). Visto como um filtro, a média móvel realiza uma convolução da seqüência de entrada (xn) com um pulso retangular de comprimento (N) e altura (1N) (para tornar a área do pulso e, portanto, o ganho do filtro , 1 ). Na prática, é melhor tomar (N) ímpar. Embora uma média móvel também possa ser calculada usando um número par de amostras, usando um valor ímpar para (N) tem a vantagem de que o atraso do filtro será um número inteiro de amostras, uma vez que o atraso de um filtro com (N) As amostras são exatamente ((N-1) 2). A média móvel pode então ser alinhada exatamente com os dados originais, deslocando-a por um número inteiro de amostras. Domínio do tempo Uma vez que a média móvel é uma convolução com um pulso retangular, sua resposta de freqüência é uma função sinc. Isso torna algo parecido com o dual do filtro windowed-sinc, uma vez que é uma convolução com um pulso sinc que resulta em uma resposta de freqüência retangular. Essa é essa resposta de freqüência de voz que torna a média móvel um desempenho pobre no domínio da freqüência. No entanto, ele funciona muito bem no domínio do tempo. Portanto, é perfeito suavizar os dados para remover o ruído e, ao mesmo tempo, manter uma resposta de passo rápido (Figura 1). Para o típico Black Gaussian Noise (AWGN) que é frequentemente assumido, as amostras de média (N) têm o efeito de aumentar o SNR por um fator de (sqrt N). Uma vez que o ruído para as amostras individuais não está correlacionado, não há motivo para tratar cada amostra de forma diferente. Assim, a média móvel, que dá a cada amostra o mesmo peso, eliminará a quantidade máxima de ruído para uma nitidez de resposta de passo dada. Implementação Por ser um filtro FIR, a média móvel pode ser implementada através da convolução. Em seguida, terá a mesma eficiência (ou falta dela) como qualquer outro filtro FIR. No entanto, também pode ser implementado de forma recursiva, de uma maneira muito eficiente. Isso segue diretamente da definição de que esta fórmula é o resultado das expressões para (yn) e (yn1), ou seja, onde percebemos que a mudança entre (yn1) e (yn) é que um termo extra (xn1N) aparece em O fim, enquanto o termo (xn-N1N) é removido desde o início. Em aplicações práticas, muitas vezes é possível excluir a divisão por (N) para cada termo, compensando o ganho resultante de (N) em outro local. Esta implementação recursiva será muito mais rápida do que a convolução. Cada novo valor de (y) pode ser calculado com apenas duas adições, em vez das adições (N) que seriam necessárias para uma implementação direta da definição. Uma coisa a procurar com uma implementação recursiva é que os erros de arredondamento se acumulam. Isso pode ou não ser um problema para a sua aplicação, mas também implica que esta implementação recursiva funcionará melhor com uma implementação inteira do que com números de ponto flutuante. Isso é bastante incomum, uma vez que uma implementação em ponto flutuante geralmente é mais simples. A conclusão de tudo isso deve ser que você nunca deve subestimar a utilidade do filtro de média móvel simples em aplicações de processamento de sinal. Ferramenta de design de filtro Este artigo é complementado com uma ferramenta de design de filtro. Experimente valores diferentes para (N) e visualize os filtros resultantes. Experimente agora Filtro Médico Mínimo Você pode usar o módulo Filtro Médico Mover para calcular uma série de médias unilaterais ou de dois lados ao longo de um conjunto de dados, usando um comprimento de janela que você especifica. Depois de ter definido um filtro que atende às suas necessidades, você pode aplicá-lo às colunas selecionadas em um conjunto de dados, conectando-o ao módulo Aplicar filtro. O módulo faz todos os cálculos e substitui valores em colunas numéricas com médias móveis correspondentes. Você pode usar a média móvel resultante para plotar e visualizar, como uma nova linha de base lisa para modelagem, para calcular variações contra cálculos para períodos semelhantes e assim por diante. Este tipo de média ajuda você a revelar e prover padrões temporais úteis em dados retrospectivos e em tempo real. O tipo mais simples de média móvel começa em alguma amostra da série e usa a média dessa posição mais as posições n anteriores em vez do valor real. (Você pode definir n como quiser). Quanto mais longo o período n em que a média é calculada, menor será a variação entre os valores. Além disso, à medida que aumenta o número de valores utilizados, menor será o efeito de qualquer valor na média resultante. Uma média móvel pode ser de um lado ou de dois lados. Em uma média unilateral, apenas os valores anteriores ao valor do índice são usados. Em uma média de dois lados, os valores passados ​​e futuros são usados. Para cenários em que você está lendo dados de transmissão, as médias móveis cumulativas e ponderadas são particularmente úteis. Uma média móvel cumulativa leva em consideração os pontos anteriores ao período atual. Você pode pesar todos os pontos de dados igualmente ao calcular a média, ou você pode garantir que os valores mais próximos do ponto de dados atual sejam mais ponderados. Em uma média móvel ponderada. Todos os pesos devem somar para 1. Em uma média móvel exponencial. As médias consistem em uma cabeça e uma cauda. Que pode ser ponderada. Uma cauda levemente ponderada significa que a cauda segue a cabeça bastante perto, então a média se comporta como uma média móvel em um curto período de ponderação. Quando os pesos da cauda são mais pesados, a média se comporta mais como uma média móvel mais longa e simples. Adicione o módulo de filtro de média móvel à sua experiência. Para Comprimento. Digite um valor de número inteiro positivo que define o tamanho total da janela em que o filtro é aplicado. Isso também é chamado de máscara de filtro. Para uma média móvel, o comprimento do filtro determina quantos valores são calculados a média na janela deslizante. Os filtros mais longos também são chamados de filtros de ordem superior e fornecem uma janela de cálculo maior e uma aproximação mais próxima da linha de tendência. Os filtros de ordem mais baixa ou inferior usam uma janela de cálculo menor e se assemelham mais aos dados originais. Para Tipo. Escolha o tipo de média móvel a ser aplicada. O Azure Machine Learning Studio suporta os seguintes tipos de cálculos de média móvel: uma média móvel simples (SMA) é calculada como uma média de rolamento não ponderada. As médias móveis triangulares (TMA) são médias duas vezes para uma linha de tendência mais suave. A palavra triangular é derivada da forma dos pesos que são aplicados aos dados, o que enfatiza os valores centrais. Uma média móvel exponencial (EMA) dá mais peso aos dados mais recentes. A ponderação diminui exponencialmente. Uma média móvel exponencial modificada calcula uma média móvel em execução, onde o cálculo da média móvel em qualquer ponto considera a média móvel previamente calculada em todos os pontos anteriores. Este método produz uma linha de tendência mais suave. Dado um único ponto e uma média móvel atual, a média móvel acumulada (CMA) calcula a média móvel no ponto atual. Adicione o conjunto de dados com os valores para os quais deseja calcular uma média móvel e adicione o módulo Aplicar filtro. Conecte o Filtro Médico Mover à entrada esquerda do filtro Aplicar. E conecte o conjunto de dados à entrada à direita. No módulo Aplicar filtro, use o seletor de coluna para especificar em quais colunas o filtro deve ser aplicado. Por padrão, o filtro que você criará será aplicado a todas as colunas numéricas, por isso certifique-se de excluir as colunas que não possuem dados apropriados. Execute o experimento. Nesse ponto, para cada conjunto de valores definidos pelo parâmetro do comprimento do filtro, o valor atual (ou índice) é substituído pelo valor médio móvel. É possível implementar uma média móvel em C sem a necessidade de uma janela de amostras. Descobriu que posso otimizar um pouco, escolhendo um tamanho de janela que seja um poder de dois para permitir a mudança de bits em vez de dividir, mas não precisar de um buffer seria bom. Existe uma maneira de expressar um novo resultado de média móvel apenas como função do resultado antigo e da nova amostra. Definir um exemplo de média móvel, em uma janela de 4 amostras para ser: Adicionar nova amostra e: Uma média móvel pode ser implementada de forma recursiva , Mas para uma computação exata da média móvel você deve lembrar a amostra de entrada mais antiga na soma (ou seja, a no seu exemplo). Para um comprimento N média móvel você calcula: onde yn é o sinal de saída e xn é o sinal de entrada. Eq. (1) pode ser escrito de forma recursiva, então você sempre precisa se lembrar da amostra xn-N para calcular (2). Conforme demonstrado por Conrad Turner, você pode usar uma janela exponencial (infinitamente longa) em vez disso, o que permite calcular a saída apenas da saída passada e da entrada atual: mas esta não é uma média móvel padrão (não ponderada), mas exponencialmente Média móvel ponderada, onde as amostras no passado obtêm um peso menor, mas (pelo menos em teoria) você nunca esquece nada (os pesos ficam cada vez menores e menores para amostras no passado). Eu implementei uma média móvel sem memória de item individual para um programa de rastreamento GPS que eu escrevi. Eu começo com 1 amostra e divide por 1 para obter o valor médio atual. Em seguida, adicione uma amostra e divida em 2 para a média atual. Isso continua até chegar ao comprimento da média. Cada vez, adiciono na nova amostra, obtenho a média e retire essa média do total. Eu não sou um matemático, mas isso pareceu uma boa maneira de fazê-lo. Eu pensei que isso tornaria o estômago de um verdadeiro matemático, mas, parece que é uma das maneiras aceitas de fazê-lo. E funciona bem. Basta lembrar que, quanto mais alto for seu comprimento, mais lento seguirá o que deseja seguir. Isso pode não importar a maior parte do tempo, mas ao seguir os satélites, se você estiver lento, a trilha pode estar longe da posição real e parecerá ruim. Você poderia ter uma lacuna entre o Sáb e os pontos de fuga. Eu escolhi um período de 15 atualizado 6 vezes por minuto para obter um alisamento adequado e não chegar muito longe da posição real de SAT com os pontos de trilhos alisados. Respondido 16 de novembro 16 às 23:03 inicializar total 0, count0 (cada vez que vê um novo valor Então uma entrada (scanf), uma adicionar totalnewValue, um incremento (contagem), uma média de divisão (total total) Esta seria uma média móvel em relação a Todas as entradas Para calcular a média sobre apenas as últimas 4 entradas, seria necessário 4 variáveis ​​de entrada, talvez copiando cada entrada para uma variável de entrada mais antiga, calculando a nova média móvel. Como soma das 4 variáveis ​​de entrada, divididas por 4 (o turno direito 2 seria Bom, se todas as entradas fossem positivas para que o cálculo médio fosse respondido 3 de fevereiro 15 às 4:06 Isso realmente calculará a média total e NÃO a média móvel. À medida que a contagem aumenta, o impacto de qualquer nova amostra de entrada se torna ndash extremamente lento Hilmar Feb 3 15 às 13:53 Sua resposta 2017 Stack Exchange, Inc

No comments:

Post a Comment