Moving average filter delay
Como um exemplo SMA, considere uma segurança com os seguintes preços de fechamento em 15 dias: Semana 1 (5 dias) 20, 22, 24, 25, 23 Semana 2 (5 dias) 26, 28, 26, 29, 27 Semana 3 (5 dias) 28, 30, 27, 29, 28 Uma MA de 10 dias seria a média dos preços de fechamento para os primeiros 10 dias como o primeiro ponto de dados. O ponto de dados seguinte iria cair o preço mais antigo, adicionar o preço no dia 11 e tomar a média, e assim por diante, como mostrado abaixo. Conforme mencionado anteriormente, MAs atraso ação preço atual, porque eles são baseados em preços passados quanto maior for o período de tempo para o MA, maior o atraso. Assim, um MA de 200 dias terá um grau muito maior de atraso do que um MA de 20 dias porque contém preços nos últimos 200 dias. A duração da MA a ser utilizada depende dos objetivos de negociação, com MAs mais curtos usados para negociação de curto prazo e MAs de longo prazo mais adequados para investidores de longo prazo. O MA de 200 dias é amplamente seguido por investidores e comerciantes, com quebras acima e abaixo desta média móvel considerada como sinais comerciais importantes. MAs também transmitir sinais comerciais importantes por conta própria, ou quando duas médias se cruzam. Um aumento MA indica que a segurança está em uma tendência de alta. Enquanto um declínio MA indica que ele está em uma tendência de baixa. Da mesma forma, o impulso ascendente é confirmado com um crossover de alta. Que ocorre quando um MA de curto prazo cruza acima de um MA de longo prazo. Momento descendente é confirmado com um crossover de baixa, que ocorre quando um MA de curto prazo cruza abaixo de uma MA. Documentação de longo prazo grpdelay Descrição gd, w grpdelay (b, a) retorna a resposta de atraso de grupo, gd. Do filtro de tempo discreto especificado pelos vectores de entrada, b e a. Os vetores de entrada são os coeficientes para o numerador, b. E denominador, a. Polinômios em z -1. A transformada Z do filtro de tempo discreto é H (z) B (z) A (z) x2211 l 0 N x2212 1 b (n 1) z x2212 l x2211 l 0 M x2212 1 a (l 1) z x 2212 eu. A resposta de atraso do grupo de filtros é avaliada em 512 pontos igualmente espaçados no intervalo 0, 960) no círculo unitário. Os pontos de avaliação no círculo da unidade são retornados em w. Gd, w grpdelay (b, a, n) retorna a resposta de atraso de grupo do filtro de tempo discreto avaliado em n pontos igualmente espaçados no círculo unitário no intervalo 0, 960). N é um número inteiro positivo. Para melhores resultados, defina n como um valor maior que a ordem do filtro. Gd, w grpdelay (sos, n) retorna a resposta de atraso de grupo para a matriz de seções de segunda ordem, SOS. Sos é uma matriz K-by-6, onde o número de seções, K. Deve ser maior ou igual a 2. Se o número de seções for menor que 2, grpdelay considera a entrada como o vetor numerador, b. Cada linha de sos corresponde aos coeficientes de um filtro de segunda ordem (biquad). A iª linha da matriz SOS corresponde a bi (1) bi (2) bi (3) ai (1) ai (2) ai (3). Gd, w grpdelay (d, n) retorna a resposta de atraso de grupo para o filtro digital, d. Use designfilt para gerar d com base em especificações de resposta de freqüência. Gd, f grpdelay (.n, fs) especifica uma freqüência de amostragem positiva fs em hertz. Retorna um vetor comprimento-n, f. Contendo os pontos de freqüência em hertz em que a resposta de atraso de grupo é avaliada. F contém n pontos entre 0 e fs / 2. Gd, w grpdelay (.n, inteiro) e gd, f grpdelay (.n, inteiro, fs) usam n pontos em torno de todo o círculo unitário (de 0 a 2 960 ou de 0 a fs). Gd grpdelay (.w) e gd grpdelay (.f, fs) retornam a resposta de retardo de grupo avaliada nas freqüências angulares em w (em radianos / amostra) ou em f (em ciclos / unidade de tempo), respectivamente, onde fs é a frequência de amostragem. W e f são vectores com pelo menos dois elementos. Grpdelay (.) Sem argumentos de saída representa a resposta de atraso de grupo versus freqüência. Grpdelay funciona tanto para filtros reais como complexos. Nota: Se a entrada para grpdelay for de precisão única, o atraso de grupo é calculado usando aritmética de precisão única. A saída, gd. É única precisão. Selecionar sua documentação de país Este exemplo mostra como usar filtros de média móvel e reamostragem para isolar o efeito de componentes periódicos da hora do dia em leituras de temperatura horária, bem como remover o ruído de linha indesejável de uma medida de voltagem em malha aberta. O exemplo também mostra como suavizar os níveis de um sinal de relógio enquanto preserva as bordas usando um filtro mediano. O exemplo também mostra como usar um filtro Hampel para remover outliers grandes. Suavização de Motivação é como descobrimos padrões importantes em nossos dados enquanto deixamos de lado coisas que não são importantes (ou seja, ruído). Utilizamos a filtragem para executar esta suavização. O objetivo do alisamento é produzir mudanças lentas no valor de modo que seu mais fácil ver tendências em nossos dados. Às vezes, quando você examinar os dados de entrada, você pode desejar suavizar os dados para ver uma tendência no sinal. No nosso exemplo, temos um conjunto de leituras de temperatura em Celsius tomadas a cada hora no Aeroporto Logan para todo o mês de janeiro de 2017. Note que podemos ver visualmente o efeito que a hora do dia tem sobre as leituras de temperatura. Se você está interessado somente na variação diária da temperatura durante o mês, as flutuações de hora em hora só contribuem o ruído, que pode fazer as variações diárias difíceis de discernir. Para remover o efeito da hora do dia, gostaríamos agora de suavizar nossos dados usando um filtro de média móvel. Um filtro de média móvel Na sua forma mais simples, um filtro de média móvel de comprimento N toma a média de cada N amostras consecutivas da forma de onda. Para aplicar um filtro de média móvel a cada ponto de dados, construímos nossos coeficientes de nosso filtro de modo que cada ponto seja igualmente ponderado e contribua 1/24 para a média total. Isso nos dá a temperatura média ao longo de cada período de 24 horas. Filter Delay Note que a saída filtrada está atrasada em cerca de doze horas. Isto é devido ao fato de que nosso filtro de média móvel tem um atraso. Qualquer filtro simétrico de comprimento N terá um atraso de (N-1) / 2 amostras. Podemos contabilizar esse atraso manualmente. Extraindo Diferenças Médicas Alternativamente, também podemos usar o filtro de média móvel para obter uma melhor estimativa de como a hora do dia afeta a temperatura global. Para fazer isso, primeiro, subtraia os dados suavizados das medições de temperatura por hora. Em seguida, segmente os dados diferenciados em dias e tome a média em todos os 31 dias do mês. Extraindo Peak Envelope Às vezes, também gostaríamos de ter uma estimativa suavemente variável de como os altos e baixos de nosso sinal de temperatura mudam diariamente. Para fazer isso, podemos usar a função envelope para conectar altos e baixos extremos detectados em um subconjunto do período de 24 horas. Neste exemplo, garantimos que haja pelo menos 16 horas entre cada extrema alta e extrema baixa. Podemos também ter uma idéia de como os altos e baixos tendem tomando a média entre os dois extremos. Filtros de média móvel ponderada Outros tipos de filtros de média móvel não pesam igualmente cada amostra. Outro filtro comum segue a expansão binomial de (1 / 2,1 / 2) n Este tipo de filtro aproxima-se de uma curva normal para grandes valores de n. É útil para a filtragem de ruído de alta freqüência para pequenas n. Para encontrar os coeficientes para o filtro binomial, convolve 1/2 1/2 com si mesmo e, em seguida, convida iterativamente a saída com 1/2 1/2 um número prescrito de vezes. Neste exemplo, use cinco iterações totais. Outro filtro um pouco semelhante ao filtro de expansão gaussiano é o filtro de média móvel exponencial. Este tipo de filtro de média móvel ponderada é fácil de construir e não requer um tamanho de janela grande. Você ajusta um filtro de média móvel ponderado exponencialmente por um parâmetro alfa entre zero e um. Um valor maior de alfa terá menos suavização. Amplie as leituras durante um dia. Selecione seu Filtro Médio de Filtragem (Filtro MA) Carregando. O filtro de média móvel é um simples filtro Low Pass FIR (Finite Impulse Response) comumente usado para suavizar uma matriz de dados / sinal amostrados. Ele toma M amostras de entrada de cada vez e pegue a média dessas M-amostras e produz um único ponto de saída. É uma estrutura de LPF (Low Pass Filter) muito simples que é útil para cientistas e engenheiros para filtrar o componente ruidoso indesejado dos dados pretendidos. À medida que o comprimento do filtro aumenta (o parâmetro M) a suavidade da saída aumenta, enquanto que as transições nítidas nos dados são feitas cada vez mais sem corte. Isto implica que este filtro tem excelente resposta no domínio do tempo mas uma resposta de frequência pobre. O filtro MA executa três funções importantes: 1) Toma M pontos de entrada, calcula a média desses pontos M e produz um único ponto de saída 2) Devido à computação / cálculos envolvidos. O filtro introduz uma quantidade definida de atraso 3) O filtro age como um Filtro de Passagem Baixa (com fraca resposta de domínio de freqüência e uma boa resposta de domínio de tempo). Código Matlab: O código matlab seguinte simula a resposta no domínio do tempo de um filtro M-point Moving Average e também traça a resposta de freqüência para vários comprimentos de filtro. Time Domain Response: No primeiro gráfico, temos a entrada que está entrando no filtro de média móvel. A entrada é barulhenta e nosso objetivo é reduzir o ruído. A figura a seguir é a resposta de saída de um filtro de média móvel de 3 pontos. Pode-se deduzir da figura que o filtro de média móvel de 3 pontos não fez muito na filtragem do ruído. Aumentamos os toques do filtro para 51 pontos e podemos ver que o ruído na saída reduziu muito, o que é mostrado na próxima figura. Nós aumentamos as derivações para 101 e 501 e podemos observar que mesmo que o ruído seja quase zero, as transições são drasticamente ditas (observe a inclinação em ambos os lados do sinal e compare-as com a transição ideal da parede de tijolo em Nossa entrada). Resposta de Freqüência: A partir da resposta de freqüência pode-se afirmar que o roll-off é muito lento ea atenuação de banda de parada não é boa. Dada esta atenuação de banda de parada, claramente, o filtro de média móvel não pode separar uma banda de freqüências de outra. Como sabemos que um bom desempenho no domínio do tempo resulta em mau desempenho no domínio da freqüência, e vice-versa. Em suma, a média móvel é 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) Links externos: Livros recomendados: Barra lateral principal A média móvel como um filtro A média móvel é frequentemente 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 é realmente um dos filtros mais comuns no processamento de sinal. Tratá-lo como um filtro permite compará-lo com, por exemplo, windowed-sinc filtros (ver os artigos sobre low-pass, high-pass, band-pass e band-reject filtros 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. Das quais as medidas de alisamento por média são um excelente exemplo. Filtros Windowed-sinc, por outro lado, são fortes performers no domínio da freqüência. Com equalização no processamento de áudio como um exemplo típico. Há uma comparação mais detalhada de ambos os tipos de filtros no domínio do tempo versus desempenho de domínio de freqüência de filtros. Se você tiver dados para os quais o tempo eo 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 um número de versões ponderadas da média móvel que são melhores nisso. A média móvel de comprimento (N) pode ser definida como escrita como é tipicamente implementada, com a amostra de saída corrente como a média das amostras (N) anteriores. Visto como um filtro, a média móvel executa uma convolução da seqüência de entrada (xn) com um pulso retangular de comprimento (N) e altura (1 / N) (para fazer a área do pulso e, portanto, o ganho de O filtro, um). Na prática, é melhor tomar (N) ímpar. Embora uma média móvel possa também ser calculada utilizando um número par de amostras, utilizar 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) Amostras é exactamente ((N-1) / 2). A média móvel pode então ser alinhada exatamente com os dados originais deslocando-o por um número inteiro de amostras. Domínio Dado que a média móvel é uma convolução com um pulso retangular, a sua resposta de frequência é uma função sinc. Isso torna algo como 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. É esta resposta de frequência de sinc que faz com que a média móvel seja um desempenho fraco no domínio da freqüência. No entanto, ele funciona muito bem no domínio do tempo. Portanto, é perfeito para suavizar os dados para remover o ruído, enquanto ao mesmo tempo ainda mantém uma rápida resposta passo (Figura 1). Para o típico Ruído Gaussiano Branco Aditivo (AWGN) que é freqüentemente assumido, a média (N) de amostras tem o efeito de aumentar a SNR por um fator de (sqrt N). Uma vez que o ruído para as amostras individuais não está correlacionado, não há razão para tratar cada amostra de forma diferente. Assim, a média móvel, que dá a cada amostra o mesmo peso, vai se livrar da quantidade máxima de ruído para uma dada nitidez resposta passo. Implementação Porque é um filtro FIR, a média móvel pode ser implementada através de convolução. Ele terá então a mesma eficiência (ou falta dela) como qualquer outro filtro FIR. No entanto, também pode ser implementado recursivamente, de uma forma muito eficiente. Segue-se diretamente da definição de que esta fórmula é o resultado das expressões para (yn) e (yn1), ou seja, onde observamos que a mudança entre (yn1) e (yn) é que um termo extra (xn1 / N) Aparece no final, enquanto o termo (xn-N1 / N) é removido do início. Nas aplicações práticas, muitas vezes é possível deixar de fora a divisão por (N) para cada termo, compensando o ganho resultante de (N) em outro lugar. Esta implementação recursiva será muito mais rápida que a convolução. Cada novo valor de (y) pode ser calculado com apenas duas adições, em vez das (N) adições que seriam necessárias para uma implementação direta da definição. Uma coisa a procurar por uma implementação recursiva é que os erros de arredondamento se acumularão. Isso pode ou não ser um problema para o aplicativo, mas também implica que essa implementação recursiva realmente funcionará melhor com uma implementação inteira do que com números de ponto flutuante. Isso é bastante incomum, uma vez que uma implementação de ponto flutuante é geralmente mais simples. A conclusão de tudo isso deve ser que você nunca deve subestimar a utilidade do simples filtro de média móvel em aplicações de processamento de sinal. Filter Design Tool Este artigo é complementado com uma ferramenta Filter Design. Experimente com diferentes valores para (N) e visualize os filtros resultantes. Tente agora
Comments
Post a Comment