Sunday, 26 November 2017

Moving Average Frequency Response Matlab


Usando o MATLAB, como posso encontrar a média móvel de 3 dias de uma coluna específica de uma matriz e acrescentar a média móvel a essa matriz, estou tentando calcular a média móvel de 3 dias de baixo para o topo da matriz. Eu forneci o meu código: Dada a seguinte matriz a e máscara: tentei implementar o comando conv, mas recebo um erro. Aqui está o comando conv que eu tentei usar na 2ª coluna da matriz a: A saída que eu desejo é dada na seguinte matriz: Se você tiver alguma sugestão, eu apreciaria muito. Obrigado Para a coluna 2 da matriz a, eu estou informando a média móvel de 3 dias da seguinte forma e colocando o resultado na coluna 4 da matriz a (I renomeou a matriz a como 39desiredOutput39 apenas para ilustração). A média de 3 dias de 17, 14 e 11 é de 14 a média de 3 dias de 14, 11, 8 é 11, a média de 3 dias de 11, 8, 5 é de 8 e a média de 3 dias de 8, 5, 2 é 5. Não há valor nas 2 linhas inferiores para a 4ª coluna porque a computação para a média móvel de 3 dias começa na parte inferior. A saída 39valid39 não será mostrada até pelo menos 17, 14 e 11. Espero que isso faça sentido ndash Aaron 12 de junho 13 às 1:28 Em geral, isso ajudaria se você mostrar o erro. Neste caso, você está fazendo duas coisas erradas: primeiro sua convolução precisa ser dividida por três (ou o comprimento da média móvel) Em segundo lugar, observe o tamanho de c. Você não pode simplesmente se encaixar em c. A maneira típica de obter uma média móvel seria usar o mesmo: mas isso não se parece com o que você deseja. Em vez disso, você é obrigado a usar algumas linhas: Resposta de freqüência do Filtro Médico de Corrente A resposta de freqüência de um sistema de LTI é a DTFT da resposta de impulso. A resposta de impulso de uma média móvel em L é como sendo o filtro médio móvel. FIR, a resposta de freqüência reduz-se à soma finita. Podemos usar a identidade muito útil para escrever a resposta de freqüência como onde nós deixamos ae menos jomega. N 0 e M L menos 1. Podemos estar interessados ​​na magnitude desta função, a fim de determinar quais frequências obtêm o filtro desatualizado e atenuados. 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 radianes por amostra. Observe que em todos os três casos, a resposta de freqüência possui uma característica de passagem baixa. Um componente constante (zero freqüência) na entrada passa pelo filtro desatualizado. Certas frequências mais altas, como pi 2, são completamente eliminadas pelo filtro. No entanto, se a intenção era projetar um filtro de passagem baixa, então não fizemos 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). Nós podemos fazer muito melhor do que isso. O argumento acima foi criado pelo seguinte código Matlab: omega 0: pi400: pi H4 (14) (1-exp (-maome4)). (1-exp (-iomega)) H8 (18) (1-exp (- Iomega8)). (1-exp (-iomega)) H16 (116) (1-exp (-iomega16)). (1-exp (-iomega)) trama (omega, abs (H4) abs (H8) abs ( H16)) eixo (0, pi, 0, 1) Copyright copy 2000- - Universidade da Califórnia, BerkeleyI precisa 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 eu 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 um tamanho médio da janela de filtro móvel de 130 amostras, ou há algo mais que eu 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 suavização, mas se você usar o mesmo filtro de média móvel no domínio de freqüência para a separação de freqüência, o desempenho será o 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 omega. Uma vez que 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 global de magnitude (em vez disso, eles afetam a resposta de fase de 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 algo em aparência, mas é periodicamente. De qualquer forma, uma vez que a definição de frequência de corte é pouco 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 freqüê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 disso é 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 exata perto do cruzamento zero de MA (Omega) Frac, multiplicando Omega por um coeficiente de obtenção de MA (Omega) aproximadamente 10.907523 (frac-frac) Omega2 A solução de MA (Omega) - frac 0 dá os resultados acima, onde 2pi F Omega. Todo o acima se relaciona com a frequência de corte -3dB, o assunto desta publicação. Às vezes, é interessante obter um perfil de atenuação em stop-band 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 quanto o LPR de 1ª ordem IIR têm uma inclinação de -20dBdecade na banda de parada (um precisa de um N maior do que o usado na figura, N32, para ver isso), mas enquanto o MA tem nulos espectrales no FkN e um Por um lado, 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 corresponda à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 forma: encontrei o script Mathematica onde eu calculava o corte para vários filtros, incluindo o MA. O resultado foi baseado na aproximação do espectro MA em torno de f0 como uma parábola de acordo com o 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 jan 16 às 2:08

No comments:

Post a Comment