Sunday 11 March 2018

Moving average filter linear phase


Processamento de Sinais / Filtros Digitais Os filtros digitais são, por essência, sistemas amostrados. Os sinais de entrada e saída são representados por amostras com igual distância de tempo. Os filtros de Resposta de Implasia Finita (FIR) são caracterizados por uma resposta de tempo que depende apenas de um determinado número das últimas amostras do sinal de entrada. Em outros termos: uma vez que o sinal de entrada caiu para zero, a saída do filtro fará o mesmo após um determinado número de períodos de amostragem. A saída y (k) é dada por uma combinação linear das últimas amostras de entrada x (k i). Os coeficientes b (i) dão o peso para a combinação. Eles também correspondem aos coeficientes do numerador da função de transferência do filtro do domínio z. A figura a seguir mostra um filtro FIR de ordem N 1: Para filtros de fase linear, os valores dos coeficientes são simétricos ao redor do meio e a linha de atraso pode ser dobrada para trás em torno desse ponto central para reduzir o número de multiplicações. A função de transferência dos filtros FIR apenas processa um numerador. Isso corresponde a um filtro all-zero. Os filtros FIR normalmente exigem pedidos altos, na magnitude de várias centenas. Assim, a escolha deste tipo de filtro necessitará de uma grande quantidade de hardware ou CPU. Apesar disso, uma das razões para escolher uma implementação de filtro FIR é a capacidade de obter uma resposta de fase linear, o que pode ser um requisito em alguns casos. No entanto, o projetista fiter tem a possibilidade de escolher filtros IIR com uma boa linearidade de fase na banda passante, como os filtros Bessel. ou para projetar um filtro allpass para corrigir a resposta de fase de um filtro IIR padrão. Média de Movimentação de Filtros (MA) Os modelos de Média Móvel de Edição (MA) são modelos de processo na forma: Os processos MA são uma representação alternativa dos filtros FIR. Filtros médios Editar Um filtro calculando a média das últimas N amostras de um sinal É a forma mais simples de um filtro FIR, com todos os coeficientes sendo iguais. A função de transferência de um filtro médio é dada por: A função de transferência de um filtro médio tem N zeros igualmente espaçados ao longo do eixo de frequência. No entanto, o zero em DC é mascarado pelo pólo do filtro. Portanto, há um lóbulo maior, uma CD, responsável pela banda passante do filtro. Filtros do Integrador-Pente em Cascata (CIC) Editar Um filtro do integrador-comb em cascata (CIC) é uma técnica especial para implementar filtros médios colocados em série. A colocação em série dos filtros médios aumenta o primeiro lobo em DC em comparação com todos os outros lóbulos. Um filtro CIC implementa a função de transferência de N filtros médios, cada um calculando a média de amostras R M. Sua função de transferência é assim dada por: Os filtros CIC são usados ​​para dizimar o número de amostras de um sinal por um fator de R ou, em outros termos, para reamostrar um sinal em uma frequência menor, descartando amostras R1 de R. O fator M indica quanto do primeiro lobo é usado pelo sinal. O número de estágios médios do filtro, N. indica quão bem as outras bandas de frequência são atenuadas, em detrimento de uma função de transferência menos plana em torno de DC. A estrutura do CIC permite implementar todo o sistema com apenas somadores e registradores, não usando nenhum multiplicador que seja ganancioso em termos de hardware. A diminuição da resolução por um fator de R permite aumentar a resolução do sinal pelos bits log 2 (R) (R). Filtros canônicos Os filtros da Canonical implementam uma função de transferência de filtro com vários elementos de atraso iguais à ordem do filtro, um multiplicador por coeficiente do numerador, um multiplicador por coeficiente do denominador e uma série de somadores. Similarmente às estruturas canônicas de filtros ativos, esse tipo de circuito mostrou-se muito sensível aos valores dos elementos: uma pequena mudança nos coeficientes teve um grande efeito sobre a função de transferência. Aqui também, o design de filtros ativos mudou de filtros canônicos para outras estruturas, como cadeias de seções de segunda ordem ou filtros leapfrog. Cadeia de Seções de Segunda Ordem Editar Uma segunda seção de ordem. muitas vezes referida como biquad. implementa uma função de transferência de segunda ordem. A função de transferência de um filtro pode ser dividida em um produto de funções de transferência, cada uma associada a um par de pólos e, possivelmente, um par de zeros. Se a ordem das funções de transferência for ímpar, será necessário adicionar uma seção de primeira ordem à cadeia. Esta seção está associada ao pólo real e ao zero real, se houver um. forma direta 1 forma direta 2 forma direta 1 transposta forma direta 2 transposta A forma direta 2 transposta da figura a seguir é especialmente interessante em termos de hardware requerido, bem como quantização de sinal e coeficiente. Filtros Digital Leaphfrog Edit Filter Structure Os filtros Digital leapfrog baseiam-se na simulação de filtros leapfrog analógicos ativos. O incentivo para essa escolha é herdar das excelentes propriedades de sensibilidade à banda passante do circuito ladder original. O filtro leapfrog lowpass de todos os pólos da quarta ordem seguinte pode ser implementado como um circuito digital, substituindo os integradores analógicos por acumuladores. Substituir os integradores analógicos por acumuladores corresponde a simplificar a transformação Z para z 1 s T. quais são os dois primeiros termos da série de Taylor de z e x p (s T). Essa aproximação é boa o suficiente para filtros onde a frequência de amostragem é muito maior que a largura de banda do sinal. Edição da Função de Transferência A representação do espaço de estados do arquivo precedente pode ser escrita como: A partir desta equação, pode-se escrever as matrizes A, B, C, D como: Desta representação, ferramentas de processamento de sinais como Octave ou Matlab permitem plotar a resposta de freqüência de filtros ou para examinar seus zeros e pólos. No filtro digital leapfrog, os valores relativos dos coeficientes definem a forma da função de transferência (Butterworth. Chebyshev.), Enquanto suas amplitudes definem a frequência de corte. Dividindo todos os coeficientes por um fator de dois turnos, a freqüência de corte diminui em uma oitava (também um fator de dois). Um caso especial é o filtro de ordem 3 de Buterworth que tem constantes de tempo com valores relativos de 1, 1/2 e 1. Devido a isso, este filtro pode ser implementado em hardware sem qualquer multiplicador, mas usando turnos. Modelos autorregressivos (AR) Os modelos de autorregressivo (AR) são modelos de processo na forma: Onde u (n) é a saída do modelo, x (n) é a entrada do modelo, e u (n - m) são anteriores amostras do valor de saída do modelo. Esses filtros são chamados autoregressivos porque os valores de saída são calculados com base nas regressões dos valores de saída anteriores. Os processos de AR podem ser representados por um filtro de todos os pólos. Filtros ARMA Os filtros Editar Médias Móveis Regionais (ARMA) são combinações de filtros AR e MA. A saída do filtro é dada como uma combinação linear das amostras de entrada ponderada e de saída ponderada: os processos ARMA podem ser considerados como um filtro IIR digital, com ambos os polos e zeros. Os filtros AR são preferidos em muitos casos porque podem ser analisados ​​usando as equações de Yule-Walker. Os processos MA e ARMA, por outro lado, podem ser analisados ​​por equações não-lineares complicadas que são difíceis de estudar e modelar. Se tivermos um processo AR com coeficientes de peso da torneira a (um vetor de a (n), a (n - 1).) Uma entrada de x (n). e uma saída de y (n). podemos usar as equações do yule-walker. Dizemos que x 2 é a variância do sinal de entrada. Tratamos o sinal de dados de entrada como um sinal aleatório, mesmo que seja um sinal determinístico, porque não sabemos qual será o valor até recebê-lo. Podemos expressar as equações de Yule-Walker como: Onde R é a matriz de correlação cruzada da saída do processo E é a matriz de autocorrelação da saída do processo: Edição da variância Podemos mostrar que: Podemos expressar a variação do sinal de entrada como: Ou , expandindo e substituindo por r (0). Podemos relacionar a variância de saída do processo com a variância de entrada: O Guia do Cientista e Engenheiros para o Processamento Digital de Sinais Por Steven W. Smith, Ph. D. Capítulo 19: Filtros Recursivos Existem três tipos de resposta de fase que um filtro pode ter: fase zero. fase linear. e fase não linear. Um exemplo de cada um deles é mostrado na Figura 19-7. Como mostrado em (a), o filtro de fase zero é caracterizado por uma resposta de impulso que é simétrica em torno da amostra zero. A forma real não importa, apenas que as amostras numeradas negativas são uma imagem espelhada das amostras numeradas positivas. Quando a transformada de Fourier é tomada desta forma de onda simétrica, a fase será inteiramente zero, como mostrado em (b). A desvantagem do filtro de fase zero é que ele requer o uso de índices negativos, que podem ser inconvenientes de se trabalhar. O filtro de fase linear é uma maneira de contornar isso. A resposta ao impulso em (d) é idêntica àquela mostrada em (a), exceto que foi alterada para usar apenas amostras numeradas positivas. A resposta ao impulso ainda é simétrica entre a esquerda e a direita, no entanto, a localização da simetria foi deslocada de zero. Essa mudança resulta na fase, (e), sendo uma linha reta. representando o nome: fase linear. A inclinação dessa linha reta é diretamente proporcional à quantidade do deslocamento. Como o deslocamento na resposta ao impulso não produz nada além de uma mudança idêntica no sinal de saída, o filtro de fase linear é equivalente ao filtro de fase zero para a maioria dos propósitos. A figura (g) mostra uma resposta ao impulso que não é simétrica entre a esquerda e a direita. Correspondentemente, a fase, (h), não é uma linha reta. Em outras palavras, tem uma fase não linear. Não confunda os termos: fase não-linear e linear com o conceito de linearidade do sistema discutido no Capítulo 5. Embora ambos usem a palavra linear. eles não estão relacionados. Por que alguém se importa se a fase é linear ou não As figuras (c), (f) e (i) mostram a resposta. Estas são as respostas de pulso de cada um dos três filtros. A resposta de pulso nada mais é do que uma resposta positiva a um degrau, seguida de uma resposta negativa em degrau. A resposta de pulso é usada aqui porque exibe o que acontece com as bordas de subida e descida em um sinal. Aqui está a parte importante: os filtros de fase zero e linear têm bordas esquerda e direita que parecem iguais. enquanto os filtros de fase não lineares têm bordas esquerda e direita que parecem diferentes. Muitos aplicativos não podem tolerar as bordas esquerda e direita com aparência diferente. Um exemplo é a exibição de um osciloscópio, em que essa diferença pode ser interpretada como uma característica do sinal que está sendo medido. Outro exemplo é no processamento de vídeo. Você pode imaginar ligar a TV para encontrar a orelha esquerda do seu ator favorito diferente da orelha direita É fácil fazer com que um filtro FIR (resposta ao impulso finito) tenha uma fase linear. Isso ocorre porque a resposta ao impulso (kernel do filtro) é especificada diretamente no processo de design. Fazer o kernel do filtro ter simetria esquerda-direita é tudo o que é necessário. Este não é o caso dos filtros IIR (recursivos), uma vez que os coeficientes de recursão são os especificados, e não a resposta ao impulso. A resposta ao impulso de um filtro recursivo não é simétrica entre a esquerda e a direita e, portanto, tem uma fase não linear. Circuitos eletrônicos analógicos têm esse mesmo problema com a resposta de fase. Imagine um circuito composto de resistores e capacitores em sua mesa. Se a entrada sempre foi zero, a saída também será sempre zero. Quando um impulso é aplicado à entrada, os capacitores carregam rapidamente para algum valor e começam a decair exponencialmente através dos resistores. A resposta ao impulso (isto é, o sinal de saída) é uma combinação destes vários exponenciais de decaimento. A resposta ao impulso não pode ser simétrica, porque a saída era zero antes do impulso, e o decaimento exponencial nunca chega a atingir o valor zero novamente. Os projetistas de filtros analógicos atacam esse problema com o filtro Bessel. apresentado no Capítulo 3. O filtro Bessel foi concebido para ter uma fase linear, no entanto, está muito abaixo do desempenho dos filtros digitais. A capacidade de fornecer uma fase linear exata é uma clara vantagem dos filtros digitais. Felizmente, existe uma maneira simples de modificar filtros recursivos para obter uma fase zero. A Figura 19-8 mostra um exemplo de como isso funciona. O sinal de entrada a ser filtrado é mostrado em (a). A figura (b) mostra o sinal após ter sido filtrado por um filtro passa-baixa de pólo único. Como esse é um filtro de fase não linear, as bordas esquerda e direita não são iguais, elas são versões invertidas uma da outra. Como descrito anteriormente, este filtro recursivo é implementado começando na amostra 0 e trabalhando para a amostra 150, calculando cada amostra ao longo do caminho. Agora, suponha que em vez de passar da amostra 0 para a amostra 150, começamos na amostra 150 e nos movemos para a amostra 0. Em outras palavras, cada amostra no sinal de saída é calculada a partir das amostras de entrada e saída à direita da amostra sendo trabalhada em. Isso significa que a equação de recursão, Eq. 19-1, é alterado para: A Figura (c) mostra o resultado dessa filtragem reversa. Isso é análogo a passar um sinal analógico através de um circuito RC eletrônico durante o tempo de operação para trás. Filtrar na direção reversa não produz qualquer benefício em si mesmo o sinal filtrado ainda tem bordas esquerda e direita que não se parecem. A mágica acontece quando a filtragem direta e reversa é combinada. A figura (d) resulta da filtragem do sinal na direção para frente e, em seguida, da filtragem na direção inversa. Voila Isso produz um filtro recursivo de fase zero. De fato, qualquer filtro recursivo pode ser convertido em fase zero com essa técnica de filtragem bidirecional. A única penalidade para esse desempenho aprimorado é um fator de dois em tempo de execução e complexidade do programa. Como você encontra as respostas de impulso e frequência do filtro geral? A magnitude da resposta de freqüência é a mesma para cada direção, enquanto as fases são opostas em sinal. Quando as duas direções são combinadas, a magnitude se torna quadrada. enquanto a fase cancela para zero. No domínio do tempo, isso corresponde a convolver a resposta ao impulso original com uma versão invertida da esquerda para a direita. Por exemplo, a resposta ao impulso de um filtro low-pass de pólo único é uma exponencial unilateral. A resposta ao impulso do filtro bidirecional correspondente é uma exponencial unilateral que decai para a direita, convolvida com um exponencial unilateral que decai para a esquerda. Passando pela matemática, isso se torna uma exponencial de dupla face que decai tanto para a esquerda quanto para a direita, com a mesma constante de decaimento que o filtro original. Alguns aplicativos têm apenas uma parte do sinal no computador em um determinado momento, como sistemas que, alternadamente, fornecem dados de entrada e saída continuamente. A filtragem bidirecional pode ser usada nesses casos, combinando-a com o método overlap-add descrito no último capítulo. Quando você chegar à questão de quanto tempo a resposta ao impulso é, não diga infinito. Se fizer isso, você precisará preencher cada segmento de sinal com um número infinito de zeros. Lembre-se, a resposta ao impulso pode ser truncada quando se decaiu abaixo do nível de ruído de arredondamento, isto é, cerca de 15 a 20 constantes de tempo. Cada segmento precisará ser preenchido com zeros na esquerda e direita para permitir a expansão durante a filtragem bidirecional. FIR Noções Básicas do Filtro 1.1 O que são filtros FIR? Os filtros FIR são um dos dois principais tipos de filtros digitais usados ​​no Processamento Digital de Sinais ( DSP), sendo o outro tipo IIR. 1.2 O que significa "FIR" significa "FIR" significa "Resposta em Impulso Final". Se você colocar em um impulso, isto é, uma única amostra "1" seguida por muitas amostras "0", zeros sairão depois que a amostra "1" tiver percorrido a linha de atraso do filtro. 1.3 Por que a resposta ao impulso é “finita”? No caso comum, a resposta ao impulso é finita porque não há feedback no FIR. A falta de feedback garante que a resposta ao impulso será finita. Portanto, o termo respon - so de impulso finito é quase sinônimo de "feedback". No entanto, se a realimentação for empregada, mas a resposta ao impulso for finita, o filtro ainda será uma FIR. Um exemplo é o filtro de média móvel, no qual a enésima amostra anterior é subtraída (realimentada) cada vez que uma nova amostra chega. Esse filtro tem uma resposta de impulso finita, embora use feedback: após N amostras de um impulso, a saída será sempre zero. 1.4 Como faço para pronunciar quotFIR? Algumas pessoas dizem que as letras F-I-R outras pessoas pronunciam como se fosse um tipo de árvore. Nós preferimos a árvore. (A diferença é se você fala sobre um filtro F-I-R ou um filtro FIR.) 1.5 Qual é a alternativa para os filtros FIR Os filtros DSP também podem ser "Respondentes ao Impulso Infinito" (IIR). (Consulte dspGurus IIR FAQ.) Os filtros IIR usam feedback, portanto, quando você insere um impulso, a saída toca teoricamente indefinidamente. 1.6 Como os filtros FIR se comparam aos filtros IIR Cada um tem vantagens e desvantagens. No geral, porém, as vantagens dos filtros FIR superam as desvantagens, por isso são usadas muito mais que os IIRs. 1.6.1 Quais são as vantagens dos filtros FIR (em comparação com os filtros IIR) Em comparação com os filtros IIR, os filtros FIR oferecem as seguintes vantagens: Eles podem ser facilmente projetados para serem faseamento linear (e geralmente são). Simplificando, os filtros de fase linear atrasam o sinal de entrada, mas não distorcem sua fase. Eles são simples de implementar. Na maioria dos microprocessadores DSP, o cálculo da FIR pode ser feito através do loop de uma única instrução. Eles são adequados para aplicativos de taxas múltiplas. Por multi-taxa, queremos dizer tanto "estimativa" (reduzindo a taxa de amostragem), "interpolação" (aumentando a taxa de amostragem), ou ambos. Seja para decimação ou interpolação, o uso de filtros FIR permite que alguns dos cálculos sejam omitidos, fornecendo assim uma importante eficiência computacional. Por outro lado, se forem usados ​​filtros IIR, cada saída deve ser calculada individualmente, mesmo que essa saída seja descartada (para que o feedback seja incorporado ao filtro). Eles têm propriedades numéricas desejáveis. Na prática, todos os filtros DSP devem ser implementados usando aritmética de precisão finita, ou seja, um número limitado de bits. O uso da aritmética de precisão finita em filtros IIR pode causar problemas significativos devido ao uso de feedback, mas os filtros FIR sem feedback geralmente podem ser implementados usando menos bits, e o projetista tem menos problemas práticos para resolver relacionados à aritmética não ideal. Eles podem ser implementados usando aritmética fracionária. Ao contrário dos filtros IIR, é sempre possível implementar um filtro FIR usando coeficientes com magnitude inferior a 1,0. (O ganho geral do filtro FIR pode ser ajustado em sua saída, se desejado.) Essa é uma consideração importante ao usar DSPs de ponto fixo, porque torna a implementação muito mais simples. 1.6.2 Quais são as desvantagens dos filtros FIR (em comparação com os filtros IIR) Em comparação com os filtros IIR, os filtros FIR às vezes têm a desvantagem de exigirem mais memória e / ou cálculo para alcançar uma determinada característica de resposta do filtro. Além disso, certas respostas não são práticas para implementar com filtros FIR. 1.7 Quais termos são usados ​​na descrição dos filtros FIR Resposta ao Impulso - A resposta negativa de um filtro FIR é, na verdade, apenas o conjunto de coeficientes FIR. (Se você colocar um filtro "FIM" em um filtro FIR que consiste em uma amostra "1" seguida por muitas amostras "0", a saída do filtro será o conjunto de coeficientes, enquanto a amostra 1 passa por cada coeficiente para formar a saída.) Tap - Um quottapquot FIR é simplesmente um par coeficiente / atraso. O número de derivações FIR, (muitas vezes designadas como "Não") é uma indicação de 1) a quantidade de memória necessária para implementar o filtro, 2) o número de cálculos necessários e 3) a quantidade de filtragem que o filtro pode fazer. mais taps significa mais atenuação de stopband, menos ripple, filtros mais estreitos, etc. Multiply-Accumulate (MAC) - Em um contexto FIR, um "MACAC" é a operação de multiplicar um coeficiente pela amostra de dados atrasada correspondente e acumular o resultado. As FIRs geralmente requerem um MAC por toque. A maioria dos microprocessadores DSP implementam a operação MAC em um único ciclo de instrução. Banda de Transição - A faixa de freqüências entre as bordas de faixa de passagem e de faixa de parada. Quanto mais estreita a faixa de transição, mais toques são necessários para implementar o filtro. (Uma faixa de transição quotsmallquot resulta em um filtro quotsharpquot.) Delay Line - O conjunto de elementos de memória que implementam os elementos de atraso quotZ-1quot do cálculo FIR. Buffer Circular - Um buffer especial que é "circular" porque o incremento no final faz com que ele se envolva no início, ou porque decrementar desde o início faz com que ele seja encerrado até o final. Buffers circulares são frequentemente fornecidos por microprocessadores DSP para implementar o movimento cotométrico das amostras através da linha de atraso FIR sem ter que mover literalmente os dados na memória. Quando uma nova amostra é adicionada ao buffer, ela substitui automaticamente a mais antiga.

No comments:

Post a Comment