Tuesday 7 May 2019

Filtro de média em movimento de primeira ordem


Preciso projetar um filtro de média móvel que tenha uma freqüência de corte de 7.8 Hz. Eu usei filtros de média móvel antes, mas, na medida em que estou ciente, o único parâmetro que pode ser alimentado é o número de pontos a serem calculados. Como isso se relaciona com uma freqüência de corte O inverso de 7,8 Hz é de 130 ms, e estou trabalhando com dados que são amostrados a 1000 Hz. Isso implica que eu deveria estar usando uma média móvel de tamanho de janela de filtro de 130 amostras, ou há algo mais que estou faltando aqui? 18 de julho 13 às 9:52 O filtro de média móvel é o filtro usado no domínio do tempo para remover O som adicionado e também para fins de alisamento, mas se você usar o mesmo filtro de média móvel no domínio da freqüência para a separação de freqüência, o desempenho será pior. Então, nesse caso, use filtros de domínio de freqüência ndash user19373 3 de fevereiro 16 às 5:53 O filtro de média móvel (às vezes conhecido coloquialmente como um filtro de caixa) tem uma resposta de impulso retangular: Ou, afirmado de forma diferente: lembrando que uma resposta de freqüência de sistemas de tempo discreto É igual à transformação de Fourier de tempo discreto de sua resposta de impulso, podemos calcular da seguinte maneira: O que mais interessou para o seu caso é a resposta de magnitude do filtro, H (omega). Usando algumas manipulações simples, podemos obter isso de forma mais fácil de entender: isso pode não parecer mais fácil de entender. No entanto, devido à identidade do Eulers. Lembre-se que: Portanto, podemos escrever o acima como: Como eu disse anteriormente, o que você realmente está preocupado é a magnitude da resposta de freqüência. Então, podemos tomar a magnitude do acima para simplificá-lo ainda mais: Nota: Podemos soltar os termos exponenciais porque eles não afetam a magnitude do resultado e 1 para todos os valores de ômega. Como xy xy para dois números complexos finitos x e y, podemos concluir que a presença dos termos exponenciais não afeta a resposta de magnitude global (em vez disso, eles afetam a resposta de fase dos sistemas). A função resultante dentro dos suportes de magnitude é uma forma de um kernel Dirichlet. Às vezes, é chamado de função periódica sinc, porque se parece com a função sinc em um pouco de aparência, mas é periodicamente. De qualquer forma, uma vez que a definição de frequência de corte é um pouco sub-especificada (ponto -3 dB -6 dB ponto primeiro sidelobe nulo), você pode usar a equação acima para resolver o que você precisa. Especificamente, você pode fazer o seguinte: Ajuste H (omega) para o valor correspondente à resposta do filtro que você deseja na freqüência de corte. Defina omega igual à frequência de corte. Para mapear uma frequência de tempo contínuo para o domínio de tempo discreto, lembre-se de que omega 2pi frac, onde fs é a taxa de amostragem. Encontre o valor de N que lhe dá o melhor acordo entre os lados esquerdo e direito da equação. Esse deve ser o comprimento da sua média móvel. Se N é o comprimento da média móvel, então uma frequência de corte aproximada F (válida para N gt 2) na frequência normalizada Fffs é: O inverso desta é Esta fórmula é assintoticamente correta para N grande e tem cerca de 2 erros Para N2 e menos de 0,5 para N4. P. S. Depois de dois anos, aqui, finalmente, qual era a abordagem seguida. O resultado baseou-se na aproximação do espectro de amplitude MA em torno de f0 como uma parábola (série de 2ª ordem) de acordo com MA (Omega) aprox. 1 (frac - frac) Omega2 que pode ser feita mais exatamente perto do cruzamento zero de MA (Omega) Frac, multiplicando Omega por um coeficiente que obteve MA (Omega) aproximadamente 10.907523 (frac - frac) Omega2 A solução de MA (Omega) - frac 0 dá os resultados acima, onde 2pi F Omega. Todos os itens acima dizem respeito à frequência de corte -3dB, o assunto desta publicação. Às vezes, é interessante obter um perfil de atenuação na banda de parada que é comparável ao de um filtro de passagem baixa IIR de 1ª ordem (LPF de um único pólo) com uma freqüência de corte de -3dB dada (como um LPF também é chamado de integrador vazado, Tendo um pólo não exatamente na DC, mas perto disso). De fato, tanto o MA como o LPR de 1ª ordem IIR têm uma inclinação de -20dBdecade na banda de parada (um precisa de um N maior que o usado na figura, N32, para ver isso), mas enquanto o MA tem nulos espectrales na FkN e um No caso, o filtro IIR possui apenas um perfil 1f. Se alguém quiser obter um filtro MA com capacidades semelhantes de filtragem de ruído como este filtro IIR e corresponder às freqüências de corte 3dB para serem iguais, ao comparar os dois espectros, ele perceberia que a ondulação da faixa de parada do filtro MA termina 3dB abaixo do do filtro IIR. Para obter a mesma ondulação de banda de parada (ou seja, a mesma atenuação de potência de ruído) como o filtro IIR, as fórmulas podem ser modificadas da seguinte maneira: encontrei o script Mathematica onde eu calculava o corte para vários filtros, incluindo o MA. O resultado foi baseado em aproximar o espectro de MA em torno de f0 como uma parábola de acordo com MA (Omega) Sin (OmegaN2) Sin (Omega2) Omega 2piF MA (F) aproximadamente N16F2 (N-N3) pi2. E derivando o cruzamento com 1 quadrado a partir daí. Ndash Massimo 17 de janeiro 16 às 2: 08Assume o filtro IIR de primeira ordem: yn alfa xn (1 - alfa) yn - 1 Como posso escolher o parâmetro alpha s. t. O IIR aproxima o melhor possível o FIR que é a média aritmética das últimas k amostras: Onde n em k, infty), o que significa que a entrada para o IIR pode ser maior que k e, no entanto, Id gostaria de ter a melhor aproximação do Significa as últimas entradas k. Eu sei que o IIR tem uma resposta de impulso infinita, daí estou procurando a melhor aproximação. Eu fico feliz por uma solução analítica, seja para ou. Como esses problemas de otimização podem ser solucionados, dado que somente o IIR de primeira ordem. Perguntou 6 de outubro 11 às 13:15 Tem que seguir yn alfa xn (1 - alfa) yn - 1 precisamente ndash Phonon 6 de outubro 11 às 13:32 Isso é obrigado a se tornar uma aproximação muito fraca. Você pode pagar qualquer coisa mais do que um nódulo de IIR do primeiro-ministro em 11 de outubro 11 às 13:42. Você pode querer editar sua pergunta para que você não use yn para significar duas coisas diferentes, por exemplo, A segunda equação exibida poderia ler zn frac xn cdots frac xn-k1, e você pode querer dizer qual é exatamente o seu critério de cotas o quanto possivel, por exemplo, Você deseja que vert yn-znvert seja tão pequeno quanto possível para todos os n, ou vert yn-znvert2 para ser o mais pequeno possível para todos os n. Ndash Dilip Sarwate 6 de outubro 11 às 13:45 niaren Eu sei que este é um post antigo, então se você se lembrar: como é que sua função 39f39 derivou eu codificava uma coisa semelhante, mas usando as funções de transferência complexas para FIR (H1) e IIR (H2 ) E depois fazendo soma (abs (H1 - H2) 2). Eu comparei isso com sua soma (fj), mas obtive diferentes resultados resultantes. Pensei em pedir antes de arar a matemática. Ndash Dom Jun 7 13 às 13:47 OK, vamos tentar derivar o melhor: begin yn ampamp alpha xn (1 - alpha) yn - 1 ampamp alfa xn (1 - alfa) alfa xn-1 (1 - alfa) 2 yn - 2 limpas alfa xn (1 - alfa) alfa xn-1 (1 - alfa) 2 alfa xn-2 (1 - alfa) 3 yn - 3 fim para que o coeficiente de xn-m seja alfa (1-alfa) m . O próximo passo é tomar derivadas e equivaler a zero. Olhando para um enredo do J derivado para K 1000 e alfa de 0 para 1, parece que o problema (como eu configurei) é mal posado, porque a melhor resposta é alfa 0. Eu acho que há um erro aqui. A maneira como deve ser de acordo com os meus cálculos é: usar o código a seguir em MATLAB produz algo equivalente, embora diferente: de qualquer forma, essas funções têm mínimo. Então, vamos assumir que realmente nos preocupamos com a aproximação sobre o suporte (comprimento) do filtro FIR. Nesse caso, o problema de otimização é apenas: Soma J2 (alfa) (alfa (1-alfa) m - frac) 2 Plotando J2 (alfa) para vários valores de K versus resultados alfa na data nas parcelas e tabela abaixo. Para K 8. alfa 0.1533333 Para K 16. alfa 0.08 Para K 24. alfa 0.0533333 Para K 32. alfa 0.04 Para K 40. alfa 0.0333333 Para K 48. alfa 0.0266667 Para K 56. alfa 0.0233333 Para K 64. alfa 0.02 Para K 72. alpha 0.0166667 As linhas tracejadas vermelhas são 1K e as linhas verdes são alfa, o valor de alfa que minimiza J2 (alfa) (escolhido de tt alfa 0: .01: 13). Há uma boa discussão sobre este problema no processamento de sinal embutido com a arquitetura do micro-sinal. Aproximadamente entre as páginas 63 e 69. Na página 63, inclui uma derivação do filtro de média móvel recursiva exata (que Niaren deu em sua resposta), por conveniência em relação à seguinte discussão, corresponde à seguinte equação de diferença: A aproximação Que coloca o filtro na forma que você especificou exige assumindo que x aproximadamente y, porque (e cito a partir da página 68) y é a média das amostras xn. Essa aproximação nos permite simplificar a equação de diferença anterior da seguinte forma: Configurando alfa, chegamos à sua forma original, y alfa xn (1-alfa) y, que mostra que o coeficiente que você deseja (em relação a essa aproximação) é exatamente 1 (Onde N é o número de amostras). Essa aproximação é a melhor em algum aspecto. É certamente elegante. É como a resposta de magnitude se compara a 44.1kHz para N 3 e como N aumenta para 10 (aproximação em azul): Como a resposta de Peters sugere, aproximar um filtro FIR com um filtro recursivo pode ser problemático sob uma norma de mínimos quadrados. Uma ampla discussão sobre como resolver este problema em geral pode ser encontrada na tese JOSs, Técnicas para Design de Filtro Digital e Identificação do Sistema com Aplicação ao Violino. Ele defende o uso da Norma de Hankel, mas nos casos em que a resposta de fase não importa, ele também cobre o Método Kopecs, que pode funcionar bem nesse caso (e usa uma norma L2). Uma ampla visão geral das técnicas na tese pode ser encontrada aqui. Eles podem produzir outras aproximações interessantes.

No comments:

Post a Comment