Friday 22 September 2017

Matlab média móvel com ponderação exponencial média filtro matlab


Filtro exponencial Esta página descreve a filtragem exponencial, o filtro mais simples e mais popular. Isso faz parte da seção Filtragem que faz parte de Um guia para detecção de falhas e diagnóstico. Visão geral, constante de tempo e equivalente analógico O filtro mais simples é o filtro exponencial. Ele tem apenas um parâmetro de ajuste (diferente do intervalo de amostra). Ele requer o armazenamento de apenas uma variável - a saída anterior. É um filtro IIR (auto-regressivo) - os efeitos de uma mudança de entrada decai exponencialmente até que os limites das telas ou a aritmética do computador o escondam. Em várias disciplinas, o uso deste filtro também é referido como suavização 8220exponencial8221. Em algumas disciplinas, como a análise de investimento, o filtro exponencial é chamado de 8220Motiva Mínima PonderadaExponencialmente (EWMA), ou apenas 8220Motiva MínimaExponencial8221 (EMA). Isso viola a tradicional terminologia ARMA 8220moving average8221 da análise de séries temporais, uma vez que não há histórico de entrada usado - apenas a entrada atual. É o equivalente em tempo discreto do lag8221 de primeira ordem comumente usado na modelagem analógica de sistemas de controle de tempo contínuo. Em circuitos elétricos, um filtro RC (filtro com um resistor e um capacitor) é um atraso de primeira ordem. Quando se enfatiza a analogia com os circuitos analógicos, o parâmetro de ajuste único é a constante de tempo 8220, geralmente escrita como a letra grega Tau (). De facto, os valores nos tempos de amostra discretos correspondem exactamente ao intervalo de tempo contínuo equivalente com a mesma constante de tempo. A relação entre a implementação digital e a constante de tempo é mostrada nas equações abaixo. Equações do filtro exponencial e inicialização O filtro exponencial é uma combinação ponderada da estimativa anterior (saída) com os dados de entrada mais recentes, com a soma dos pesos iguais a 1 de modo que a saída corresponde à entrada no estado estacionário. Seguindo a notação de filtro já introduzida: y (k) ay (k-1) (1-a) x (k) onde x (k) é a entrada bruta no tempo ky (k) é a saída filtrada no tempo passo ka É uma constante entre 0 e 1, normalmente entre 0,8 e 0,99. (A-1) ou a é às vezes chamado 8220smoothing constante8221. Para sistemas com um passo de tempo fixo T entre amostras, a constante 8220a8221 é calculada e armazenada por conveniência apenas quando o programador de aplicações especifica um novo valor da constante de tempo desejada. Para sistemas com amostragem de dados em intervalos irregulares, a função exponencial acima deve ser usada com cada passo de tempo, onde T é o tempo desde a amostra anterior. A saída do filtro normalmente é inicializada para corresponder à primeira entrada. À medida que a constante de tempo se aproxima de 0, a vai para zero, então não há filtragem 8211 a saída é igual à nova entrada. Como a constante de tempo fica muito grande, um aproxima-se 1, de modo que a nova entrada é quase ignorado 8211 filtragem muito pesado. A equação de filtro acima pode ser rearranjada no seguinte equi - valente preditor-corretor: Esta forma torna mais aparente que a estimativa variável (saída do filtro) é predita como inalterada da estimativa anterior y (k-1) mais um termo de correção baseado No inesperado 8220innovation8221 - a diferença entre a nova entrada x (k) ea previsão y (k-1). Esta forma é também o resultado de derivar o filtro exponencial como um simples caso especial de um filtro de Kalman. Que é a solução ótima para um problema de estimação com um conjunto particular de suposições. Passo resposta Uma maneira de visualizar o funcionamento do filtro exponencial é traçar sua resposta ao longo do tempo para uma entrada passo. Ou seja, começando com a entrada e saída do filtro em 0, o valor de entrada é repentinamente alterado para 1. Os valores resultantes são plotados abaixo: No gráfico acima, o tempo é dividido pela constante de tempo do filtro tau para que você possa mais facilmente prever Os resultados para qualquer período de tempo, para qualquer valor da constante de tempo do filtro. Após um tempo igual à constante de tempo, a saída do filtro aumenta para 63,21 do seu valor final. Após um tempo igual a 2 constantes de tempo, o valor sobe para 86,47 do seu valor final. As saídas após tempos iguais a 3,4 e 5 constantes de tempo são 95,02, 98,17 e 99,33 do valor final, respectivamente. Uma vez que o filtro é linear, isto significa que estas percentagens podem ser utilizadas para qualquer magnitude da alteração de passo, não apenas para o valor de 1 utilizado aqui. Embora a resposta passo em teoria leva um tempo infinito, de um ponto de vista prático, pense no filtro exponencial como 98 a 99 8220 done8221 respondendo após um tempo igual a 4 a 5 constantes de tempo de filtro. Variações no filtro exponencial Existe uma variação do filtro exponencial chamado filtro exponencial não-linear, que pretende filtrar fortemente o ruído dentro de uma determinada amplitude, mas então responder mais rapidamente a alterações maiores. Filtros FIR, filtros IIR e equação de diferença de coeficientes constantes lineares Filtros de média móvel causal (FIR) Nós discutimos sistemas em que cada amostra da saída é uma soma ponderada de (certo de As) amostras da entrada. Vamos tomar um sistema de soma ponderada causal, onde causal significa que uma dada amostra de saída depende apenas da amostra de entrada atual e outros insumos mais cedo na seqüência. Nem os sistemas lineares em geral, nem os sistemas finitos de resposta ao impulso em particular, precisam ser causais. No entanto, a causalidade é conveniente para um tipo de análise que iria explorar em breve. Se simbolizamos as entradas como valores de um vetor x. E as saídas como valores correspondentes de um vetor y. Então tal sistema pode ser escrito como onde os valores de b são quotweights aplicados às amostras de entrada atuais e anteriores para obter a amostra de saída atual. Podemos pensar na expressão como uma equação, com o sinal de igual signo igual a, ou como uma instrução processual, com o sinal de igual significação atribuição. Vamos escrever a expressão para cada amostra de saída como um loop MATLAB de instruções de atribuição, onde x é um vetor N-comprimento de amostras de entrada, e b é um vetor M-comprimento de pesos. A fim de lidar com o caso especial no início, vamos incorporar x em um vetor mais longo xhat cujas primeiras M-1 amostras são zero. Vamos escrever a soma ponderada para cada y (n) como um produto interno, e faremos algumas manipulações das entradas (como inverter b) para este fim. Esse tipo de sistema é muitas vezes chamado de filtro de média móvel, por razões óbvias. De nossas discussões anteriores, deve ser óbvio que tal sistema é linear e invariante ao deslocamento. Claro, seria muito mais rápido usar a convolução de função MATLAB conv () em vez do nosso mafilt (). Em vez de considerar as primeiras amostras M-1 da entrada como sendo zero, poderíamos considerá-las iguais às últimas amostras M-1. Isso é o mesmo que tratar a entrada como periódica. Bem, use cmafilt () como o nome da função, uma pequena modificação da função mafilt () anterior. Na determinação da resposta de impulso de um sistema, não há geralmente nenhuma diferença entre estes dois, desde que todas as amostras não-iniciais da entrada são zero: Uma vez que um sistema deste tipo é linear e shift-invariante, sabemos que seu efeito em qualquer Sinusoid será apenas a escala e deslocá-lo. Aqui é importante que usemos a versão circular A versão circularmente convoluta é deslocada e escalada um pouco, enquanto a versão com convolução ordinária é distorcida no início. Vamos ver o que a escala exata e deslocamento é usando um fft: Tanto a entrada ea saída têm amplitude apenas nas freqüências 1 e -1, que é como deveria ser, uma vez que a entrada era uma sinusoid eo sistema era linear. Os valores de saída são maiores numa razão de 10,62518 1,3281. Este é o ganho do sistema. E quanto à fase Nós só precisamos olhar onde a amplitude é diferente de zero: A entrada tem uma fase de pi2, como nós pedimos. A fase de saída é deslocada por um adicional 1.0594 (com sinal oposto para a freqüência negativa), ou cerca de 16 de um ciclo à direita, como podemos ver no gráfico. Agora vamos tentar uma sinusoid com a mesma freqüência (1), mas em vez de amplitude 1 e fase pi2, vamos tentar amplitude 1,5 e fase 0. Sabemos que apenas a freqüência 1 e -1 terá amplitude não-zero, então vamos apenas olhar Para eles: Novamente a razão de amplitude (15.937712.0000) é 1.3281 - e quanto à fase é novamente deslocada por 1.0594 Se esses exemplos são típicos, podemos prever o efeito do nosso sistema (resposta de impulso .1 .2 .3 .4 .5) em qualquer sinusoide com freqüência 1 - a amplitude será aumentada em um fator de 1,3281 e a fase (freqüência positiva) será deslocada em 1,0594. Poderíamos continuar a calcular o efeito desse sistema sobre sinusóides de outras freqüências pelos mesmos métodos. Mas há uma maneira muito mais simples, e uma que estabelece o ponto geral. Dado que a circunvolução (circular) no domínio do tempo significa a multiplicação no domínio da frequência, daí decorre que, por outras palavras, a DFT da resposta de impulso é a razão da DFT da saída para a DFT da entrada. Nesta relação os coeficientes de DFT são números complexos. Desde abs (c1c2) abs (c1) abs (c2) para todos os números complexos c1, c2, esta equação nos diz que o espectro de amplitude da resposta de impulso será sempre a relação entre o espectro de amplitude da saída para a da entrada . No caso do espectro de fase, ângulo (c1c2) ângulo (c1) - ângulo (c2) para todos os c1, c2 (com a condição de que as fases diferentes por n2pi são considerados iguais). Portanto, o espectro de fase da resposta ao impulso será sempre a diferença entre os espectros de fase da saída e da entrada (com quaisquer correções de 2pi são necessárias para manter o resultado entre - pi e pi). Podemos ver os efeitos de fase mais claramente se desempacotarmos a representação da fase, isto é, se adicionarmos vários múltiplos de 2pi conforme necessário para minimizar os saltos que são produzidos pela natureza periódica da função ângulo (). Embora a amplitude e a fase sejam normalmente utilizadas para apresentação gráfica e mesmo tabular, uma vez que são uma forma intuitiva de pensar os efeitos de um sistema sobre os vários componentes de frequência de sua entrada, os coeficientes de Fourier complexos são mais úteis algébricamente, A expressão simples da relação A abordagem geral que acabamos de ver funcionará com filtros arbitrários do tipo esboçado, em que cada amostra de saída é uma soma ponderada de algum conjunto de amostras de entrada. Como mencionado anteriormente, estes são muitas vezes chamados filtros de resposta de impulso finito, porque a resposta ao impulso é de tamanho finito, ou às vezes filtros de média móvel. Podemos determinar as características de resposta de freqüência de tal filtro a partir da FFT de sua resposta de impulso e também podemos projetar novos filtros com características desejadas por IFFT a partir de uma especificação da resposta de freqüência. Filtros Autoregressivos (IIR) Não haveria nenhum ponto em ter nomes para filtros FIR, a menos que houvesse algum outro tipo de distinção, de modo que aqueles que estudaram pragmática não ficarão surpresos ao saber que existe de fato outro tipo principal Do filtro tempo-invariante linear. Estes filtros são às vezes chamados recursivos porque o valor de saídas anteriores (assim como entradas anteriores) importa, embora os algoritmos sejam geralmente escritos usando construções iterativas. Eles também são chamados filtros Infinite Impulse Response (IIR), porque em geral sua resposta a um impulso continua para sempre. Eles também são chamados de filtros auto-regressivos, porque os coeficientes podem ser considerados como o resultado de fazer uma regressão linear para expressar valores de sinal como uma função de valores de sinal anteriores. A relação dos filtros FIR e IIR pode ser vista claramente numa equação de diferença de coeficiente constante linear, isto é, estabelecendo uma soma ponderada de saídas igual a uma soma ponderada de entradas. Isto é como a equação que damos anteriormente para o filtro causal FIR, exceto que, além da soma ponderada de insumos, também temos uma soma ponderada de saídas. Se quisermos pensar nisso como um procedimento para gerar amostras de saída, precisamos reorganizar a equação para obter uma expressão para a amostra de saída atual y (n), Adotando a convenção de que a (1) 1 (por exemplo, escalando outros como E bs), podemos nos livrar do termo 1a (1): y (n) b (1) x (n) b (2) x (n-1). B (Nb1) x (n-nb) - a (2) y (n-1) -. - a (Na1) y (n-na) Se todos os a (n) diferentes de a (1) são zero, isso reduz a nosso velho amigo o filtro FIR causal. Este é o caso geral de um filtro (causal) LTI, e é implementado pelo filtro de função MATLAB. Vejamos o caso em que os coeficientes b diferentes de b (1) são zero (em vez do caso FIR, onde a (n) são zero): Neste caso, a amostra de saída corrente y (n) é calculada como um (N-1), y (n-2), etc. Para ter uma idéia do que acontece com esses filtros, vamos começar com o caso em que: Isto é, a amostra de saída atual é a soma da amostra de entrada corrente e metade da amostra de saída anterior. Bem, tome um impulso de entrada através de alguns passos de tempo, um de cada vez. Deve ficar claro neste ponto que podemos facilmente escrever uma expressão para o n-ésimo valor de amostra de saída: é apenas (se MATLAB contado a partir de 0, isso seria simplesmente .5n). Uma vez que o que estamos calculando é a resposta ao impulso do sistema, temos demonstrado por exemplo que a resposta ao impulso pode de fato ter infinitas amostras diferentes de zero. Para implementar esse filtro trivial de primeira ordem no MATLAB, poderíamos usar o filtro. A chamada será assim: eo resultado é: Este negócio é realmente ainda linear Podemos olhar para isto empiricamente: Para uma abordagem mais geral, considere o valor de uma amostra de saída y (n). Por substituição sucessiva poderíamos escrever isto como Isto é exatamente como o nosso velho amigo a forma convolução-soma de um filtro FIR, com a resposta ao impulso fornecida pela expressão .5k. E o comprimento da resposta ao impulso é infinito. Assim, os mesmos argumentos que usamos para mostrar que os filtros FIR eram lineares agora se aplicam aqui. Até agora isso pode parecer um monte de barulho por não muito. O que é toda esta linha de investigação bom para Bem responder esta questão em etapas, começando com um exemplo. Não é uma grande surpresa que possamos calcular uma amostra exponencial por multiplicação recursiva. Vamos olhar para um filtro recursivo que faz algo menos óbvio. Desta vez, torná-lo um filtro de segunda ordem, de modo que a chamada para filtrar será da forma Vamos definir o segundo coeficiente de saída a2 para -2cos (2pi40) eo terceiro coeficiente de saída a3 para 1, e olhar para o impulso resposta. Não é muito útil como um filtro, na verdade, mas gera uma onda senoidal amostrada (de um impulso) com três multiplicações por amostra. Para entender como e por que faz isso, e como filtros recursivos podem ser projetados e analisados ​​em O caso mais geral, precisamos dar um passo para trás e dar uma olhada em algumas outras propriedades de números complexos, no caminho para a compreensão da transformada z. Tempo móvel ponderada ponderadamente Você pode pensar em sua lista de observação como segmentos que você tem marcado. Você pode adicionar tags, autores, threads e até mesmo resultados de pesquisa à sua lista de observação. Desta forma, você pode facilmente acompanhar os tópicos que você está interessado polegadas Para ver a sua lista de observação, clique no link quotMas newsreaderquot. Para adicionar itens à sua lista de observação, clique no link quotadd para assistir listquot na parte inferior de qualquer página. Como adicionar um item à minha lista de observação Para adicionar critérios de pesquisa à sua lista de observação, pesquise o termo desejado na caixa de pesquisa. Clique no botão quotAdicionar esta pesquisa ao meu link de listagem de visualizações na página de resultados de pesquisa. Você também pode adicionar uma tag à sua lista de observação procurando a tag com a diretiva quottag: tagnamequot onde tagname é o nome da tag que você gostaria de assistir. Para adicionar um autor à sua lista de observação, vá para a página de perfil dos autores e clique no botão quotAdicionar este autor ao meu link de lista de observações na parte superior da página. Você também pode adicionar um autor à sua lista de observação, indo a um tópico que o autor postou e clicando no quotAdicionar este autor ao meu link listquot do relógio. Você será notificado sempre que o autor fizer um post. Para adicionar um tópico à sua lista de observação, vá para a página do tópico e clique no link quotAdicionar este tópico ao meu link de lista de observações na parte superior da página. Sobre Newsgroups, Newsreaders e MATLAB Central O que são newsgroups Os newsgroups são um fórum mundial aberto a todos. Os newsgroups são usados ​​para discutir uma enorme variedade de tópicos, fazer anúncios e trocar arquivos. As discussões são encadeadas ou agrupadas de forma a permitir que você leia uma mensagem postada e todas as suas respostas em ordem cronológica. Isto torna mais fácil seguir o fio da conversa e ver whatrsquos já foi dito antes de postar sua própria resposta ou fazer uma nova postagem. O conteúdo do grupo de notícias é distribuído por servidores hospedados por várias organizações na Internet. As mensagens são trocadas e gerenciadas usando protocolos de padrão aberto. Nenhuma entidade única ldquoownsrdquo os newsgroups. Existem milhares de newsgroups, cada um abordando um único tópico ou área de interesse. O MATLAB Central Newsreader publica e exibe mensagens no grupo de notícias comp. soft-sys. matlab. Como posso ler ou publicar nos newsgroups Você pode usar o newsreader integrado no site da MATLAB Central para ler e publicar mensagens neste newsgroup. MATLAB Central é hospedado por MathWorks. As mensagens enviadas através do Central Newsreader MATLAB são vistas por todos os grupos de notícias, independentemente de como eles acessam os grupos de notícias. Há várias vantagens em usar o MATLAB Central. Uma conta A sua conta MATLAB Central está ligada à sua conta MathWorks para fácil acesso. Use o endereço de e-mail da sua escolha O MATLAB Central Newsreader permite que você defina um endereço de e-mail alternativo como seu endereço de postagem, evitando a confusão em sua caixa de correio principal e reduzindo o spam. Controle de Spam A maioria do spam do newsgroup é filtrada para fora pelo newsreader central de MATLAB. Marcação As mensagens podem ser marcadas com um rótulo relevante por qualquer usuário conectado. As tags podem ser usadas como palavras-chave para encontrar arquivos particulares de interesse ou como uma maneira de categorizar suas postagens marcadas. Você pode optar por permitir que outras pessoas visualizem suas tags e você pode exibir ou pesquisar outras tags, assim como as da comunidade em geral. Tagging fornece uma maneira de ver tanto as grandes tendências e as menores, mais obscuros idéias e aplicações. Listas de vigilância A configuração de listas de observação permite que você seja notificado das atualizações feitas em postagens selecionadas por autor, segmento ou qualquer variável de pesquisa. As notificações da sua lista de observação podem ser enviadas por email (resumo diário ou imediato), exibidas em Meu leitor de notícias ou enviadas via feed RSS. Outras formas de aceder aos newsgroups Utilize um leitor de notícias através da sua escola, entidade patronal ou fornecedor de serviços Internet Pagar o acesso a grupos de notícias de um fornecedor comercial Utilizar Grupos do Google Mathforum. org fornece um leitor de notícias com acesso ao grupo de notícias comp. soft sys. matlab Execute o seu próprio servidor. Para obter instruções típicas, consulte: slyckng. phppage2 Selecione sua resposta CountryFrequency do filtro de média de execução 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 de L é uma 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. Determinadas frequências mais elevadas, tais 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 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). Podemos fazer muito melhor do que isso. O gráfico acima foi criado pelo seguinte código Matlab: omega 0: pi400: pi H4 (14) (1-exp (-iomega4)) (1-exp (-iomega)) H8 (18) (1-exp (- (1-exp (-iomega)) (1-exp (-iomega)) traço (omega, abs (H4) abs (H8) abs ( H16)) eixo (0, pi, 0, 1) Cópia de direitos autorais 2000 - Universidade da Califórnia, Berkeley

No comments:

Post a Comment