Processamento de sinal de média móvel ponderada


Eu estou procurando - ou tentando criar - um filtro com uma segunda derivada monotônica peça-sábio de tal forma que, quando colocado em um sinal de entrada não-periódico, mudanças no sinal da segunda derivada acontecer o mais rapidamente possível e peça - A monotonicidade sábia da segunda derivada (assim também da primeira derivada e do próprio filtro) é mantida intacta em qualquer momento. Deixe-me explicar: Eu tenho um sinal não-periódico, estacionário. Neste sinal, eu calculo uma Média Móvel Ponderada Triangular (SWMA): o vetor de resposta de impulso se parece com a parte positiva de uma sinusóide, os pesos da média móvel somam 1. Seu filtro FIR, eu acho que um low-pass filtro. O que eu gosto deste filtro é que suas mudanças no sinal de sua segunda derivada (pontos de flexão) coincidem grosseiramente com os extremos locais de meu sinal (como sua mudança de convexo para côncavo): se eu colocasse uma spline nela, as splines Os pontos estacionários coincidiriam mais ou menos com estes pontos de comutação do sinal da segunda derivada ou pontos de flexão do filtro. Estou tentando prever segmentos para cima / para baixo usando a derivada 1 e 2 do filtro: se a SWMA estava declinando ea segunda derivada também é negativa, espero que a segunda derivada fique positiva e é aí que meu preditor se torna positivo para O sinal, então mais tarde, quando o SWMA está subindo, eu espero por uma desaceleração: para a segunda derivada do SWMA ir de positivo para negativo: é quando a minha previsão gira negativo para o sinal. É um sistema causal / tempo real. Este filtro (SWMA) tem um atraso, mas porque a sua segunda derivada é quer ir para cima por um tempo, ou ir para baixo por algum tempo (peça-wise monotônico), eu posso usar os pontos de flexão: olhar para uma mudança no sinal do Segunda derivada, em vez de simplesmente olhar para a inclinação. O problema com meu SWMA é que sua segunda derivada não é exatamente peça-sábio monotônico: há um pouco de ruído em torno de pontos de viragem. Em vez de filtrar esta segunda derivada com um filtro passa-baixo, você conhece outros filtros que melhor pontuação nesta propriedade Ou como você construir um filtro com o comportamento desejado Dê uma olhada nesta imagem. A linha roxa no painel superior é uma spline de suavização, a linha cinza fina é o meu sinal, ea linha amarela é uma média móvel ponderada no seno (comprimento da janela 14). Os círculos vermelhos na linha amarela são onde o impulso começa a diminuir: se o filtro está subindo, então é onde a aceleração pára eo aumento começa a diminuir, se o filtro está diminuindo, o círculo vermelho é onde a aceleração no declínio Pára e a diminuição começa a ficar mais lenta. Você vê que esses pontos coincidem com os pontos de viragem da spline de suavização. Agora este é um exemplo escolhido a dedo, mostrando o comportamento ideal do que eu quero alcançar. Na realidade, a transição entre um momentum crescente e uma seção de momentum decrescente do filtro não é tão abrupta: é mais ruidosa. Se você olhou para um sinusoid com período 2pi, essas transições também seria muito rigoroso (em pi / 4, 3pi / 4, 5pi / 4 e 7pi / 4). Existe um filtro causal que também tem essa propriedade Obrigado por qualquer comentário. Perguntou Oct 9 13 em 22: 21 Quais são as desvantagens de mover filtro médio quando usá-lo com dados de séries temporais Há um pouco de um confuso na terminologia no processamento de sinal. Os filtros de média móvel são filtros que calculam uma série de médias ponderadas do sinal de entrada. Além do comentário de Balaacutezs Kotoszrsquo, é importante que os pesos não sejam iguais, isto é, você calcula a média aritmética corrente do sinal de entrada. Este tipo de filtro é geralmente chamado de corrida média. Você não deve usar aqueles porque eles eliminam algumas freqüências em seu espectro e outros são invertidos. Isso é ruim se você estiver interessado em uma banda de freqüência específica, que é eliminada (sem resposta) ou invertida (mudança de signo e, portanto, causalidade) (ver página 177 no meu livro MATLAB Recipes for Earth Sciences, Springer 2018). Heres a MATLAB Exemplo para ver o efeito de correr significa. Como exemplo, a aplicação do filtro a um sinal com um período de aproximadamente 1 / 0,09082 elimina completamente esse sinal. Além disso, uma vez que a magnitude da resposta de frequência é o absoluto da resposta de frequência complexa, a resposta de magnitude é realmente negativa entre 0,3633 e entre 0,4546 e a frequência de Nyquist. Todos os componentes de sinal com frequências dentro destes intervalos são espelhados no eixo t. Como um exemplo, tentamos uma onda sinusoidal com um período de 7.0000, e. Uma frequência de aproximadamente 0,1429, que está dentro do primeiro intervalo com uma resposta de magnitude negativa: t (1: 100) x10 2sin (2pit / 7) b10 unidades (1,11) / 11 m10 comprimento (b10) y10 filtro (b10, 1, x10) y10 y10 (1 (m10-1) / 2: extremidade (m10-1) / 2,1) y10 (fim 1: endm10-1,1) X10, t, y10) Aqui está a resposta de amplitude do filtro mostrando os zeros eo recorte: h, w (b10,1,512) f 1w / (2pi) magnitude abs (h) traço (f, magnitude) A onda senoidal Com um período de 7 experiências uma redução de amplitude de eg Cerca de 80, mas também mudou sinal como você pode ver a partir da trama. A eliminação de certas frequências ea inversão do sinal têm importantes consequências ao interpretar a causalidade nas ciências da terra. Esses filtros, embora oferecidos como padrão em programas de planilhas para suavização, devem, portanto, ser completamente evitados. Como alternativa, filtros com uma resposta de freqüência específica devem ser usados, como um filtro passa-baixa Butterworth. 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 por hora, 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 sua média móvel ponderada de forma exponencial Você pode pensar na 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 Pesquisa 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. Autor 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ção no topo 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. Tópico Para adicionar um tópico à sua lista de observação, vá para a página de discussão e clique no link Adicionar este tópico ao meu link de lista de atalhos 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. Grupos de notícias 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 uma forma que lhe permite ler 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 newsgroup comp. soft-sys. matlab. Como faço para ler ou publicar nos newsgroups Você pode usar o leitor de notícias 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 do 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 do MATLAB Central está ligada à sua Conta MathWorks para facilitar o 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 na sua caixa postal principal e reduzindo o spam. Controle de Spam A maioria de 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, bem como as da comunidade em geral. Tagging fornece uma maneira de ver tanto as grandes tendências e as menores, mais obscuras 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 efetuadas nas postagens selecionadas por autor, segmento ou qualquer variável de pesquisa. As notificações da sua lista de observações podem ser enviadas por email (resumo diário ou imediato), exibidas em Meu leitor de notícias ou enviadas via feed RSS. Outras maneiras de acessar os grupos de notícias Use um leitor de notícias através de sua escola, empregador ou provedor de serviços de internet Pagar pelo acesso de grupos de notícias de um provedor comercial Usar Grupos do Google Mathforum. org fornece um leitor de notícias com acesso ao grupo de notícias comp. soft sys. matlab Execute seu próprio servidor. Para obter instruções típicas, consulte: slyck / ngpage2 Selecione seu paísEste site usa Javascript. Usamos o Javascript para melhorar a experiência dos usuários e permitir uma melhor manutenção do nosso site. Para poder ver este site corretamente, é necessário habilitar Javascript ou clicar em permitir conteúdo bloqueado Nós prometemos que nós não: dar-lhe conteúdo que você não quer coletar todas as informações de seu computador danos dados no seu computador instalar software em seu Computador com ou sem o seu consentimento permitir que alguém para o seu computador remotamente Introdução ao DSP - processamento de domínio de tempo: correlação Correlação é uma média móvel ponderada: Um sinal fornece a função de ponderação. O diagrama mostra como um único ponto da função de correlação é calculado: primeiro, um sinal é deslocado em relação ao outro a quantidade do deslocamento é a posição do ponto de função de correlação a ser calculado cada elemento de um sinal é multiplicado pelo Elemento correspondente do outro a área sob a curva resultante é integrada Correlação requer muitos cálculos. Se um sinal é de comprimento M eo outro é de comprimento N, então precisamos (N M) multiplicações, para calcular toda a função de correlação. Note que realmente, queremos multiplicar e, em seguida, acumular o resultado - isso é típico das operações DSP e é chamado de uma operação de multiplicação / acúmulo. É a razão pela qual os processadores DSP podem fazer multiplicações e adições em paralelo.

Comments

Popular Posts