Thursday 30 November 2017

Mudança média filtro básico no Brasil


Um filtro digital introdutório Bem aberto MicroModeler DSP e selecione um filtro digital da barra de ferramentas na parte superior e arraste-o para o nosso aplicativo. Bem, escolha um filtro de média móvel porque é um dos tipos mais simples de filtros. Depois de largar o filtro, os ecrãs serão actualizados automaticamente. (Clique para iniciar o MicroModeler DSP em uma nova janela) Nós todos sabemos o que é uma média - adicionar os números juntos e dividir por quantos existem. Um filtro de média móvel faz exatamente isso. Ele armazena um histórico dos últimos N números e saídas sua média. Cada vez que um novo número entra, a média é efetivamente recalculada a partir das amostras armazenadas e um novo número é emitido. A resposta de freqüência de um filtro No canto superior direito, vemos o gráfico de Magnitude versus Frequência, ou quantas freqüências diferentes serão amplificadas ou reduzidas pelo filtro de média móvel. Como você poderia esperar, a média dos últimos N amostras irá aplicar algum tipo de suavização para o sinal, mantendo as baixas freqüências e removendo as altas freqüências. Podemos controlar o número de entradas anteriores, ou amostras que ela média, ajustando o comprimento do filtro, N. Ajustando isso, podemos ver que temos algum controle básico sobre o qual as freqüências podem passar e quais são descartados. O interior de um filtro Se olharmos para a visão de estrutura, podemos ver como o interior de um filtro de média móvel pode parecer. O diagrama foi anotado para mostrar o que significam os diferentes símbolos. Os símbolos Z -1 significam atraso por uma amostra de tempo e os símbolos significam adicionar ou combinar os sinais. As setas significam multiplicar (pense amplificar, reduzir ou escalar) o sinal pela quantidade mostrada à direita da seta. Para uma média de 5 amostras, tomamos um quinto (0,2) da amostra mais recente, um quinto da segunda amostra mais recente e assim por diante. A cadeia de atrasos é chamada uma linha de atraso com o sinal de entrada sendo atrasado por um passo de tempo adicional à medida que você prossegue ao longo da linha de atraso. As setas também são chamadas de torneiras, então você poderia quase imaginá-los como sendo torneiras como a de sua pia de cozinha que são todos um quinto aberto. Você poderia imaginar o sinal fluindo da esquerda e sendo progressivamente atrasado à medida que se move ao longo da linha de atraso, então recombinado em diferentes forças através das torneiras para formar a saída. Também deve ser fácil ver que a saída do filtro será: Qual é o equivalente à média das últimas 5 amostras. Na prática, o código gerado pelo MicroModeler DSP usará truques para fazer isso de forma mais eficiente, de modo que apenas as primeiras e últimas amostras precisam estar envolvidas, mas o diagrama é bom para fins ilustrativos. Se você pode entender isso, então você pode ter uma idéia do que é um filtro FIR. Um filtro FIR é idêntico ao filtro de média móvel, mas em vez de todas as resistências da torneira serem as mesmas, podem ser diferentes. Aqui temos um filtro de média móvel e um filtro FIR. Você pode ver que eles são estruturalmente os mesmos, a única diferença é a força das torneiras. A próxima seção apresentará os filtros de Resposta de Impulso Finito (FIR). Variando as resistências da torneira, podemos criar perto de qualquer resposta de freqüência que desejarmos. Princípios básicos do filtro 1.1 O que são filtros quotFIR Os filtros FIR são um dos dois principais tipos de filtros digitais usados ​​em aplicações de processamento de sinal digital (DSP), o outro tipo Sendo IIR. 1.2 O que quotFIR significa quotFIR significa quotFinite Impulse Responsequot. Se você colocar um impulso, isto é, uma única amostra de 1 quot seguida de muitas quot0quot amostras, os zeros sairão depois que a amostra de quot1quot tiver feito seu caminho através da linha de atraso do filtro. 1.3 Por que a resposta ao impulso é quotfinita? 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 resposta ao impulso quotfinito é quase sinônimo de "feedback". No entanto, se o feedback é empregado ainda a resposta ao impulso é finito, o filtro ainda é um FIR. Um exemplo é o filtro de média móvel, no qual a N-ésima amostra anterior é subtraída (retrocedida) cada vez que uma nova amostra entra. Este filtro tem uma resposta de impulso finito mesmo que utilize feedback: após N amostras de um impulso, a saída Será sempre zero. 1.4 Como faço para pronunciar quotFIRquot 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 aos filtros FIR Os filtros DSP também podem ser QuotInfinite Impulse Response (IIR). (Veja dspGurus IIR FAQ.) Os filtros IIR usam feedback, então quando você insere um impulso, a saída, teoricamente, toca indefinidamente. 1.6 Como os filtros FIR se comparam aos filtros IIR Cada um tem vantagens e desvantagens. Em geral, porém, as vantagens dos filtros FIR ultrapassam as desvantagens, por isso são usadas muito mais do que 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: Podem ser facilmente concebidos para serem fase quotlinear (e normalmente são). Posto simplesmente, os filtros da fase linear atrasam o sinal de entrada mas donrsquot distorcem sua fase. Eles são simples de implementar. Na maioria dos microprocessadores DSP, o cálculo FIR pode ser feito através de uma única instrução. Eles são adequados para aplicações multi-taxa. Por multi-taxa, quer dizer quotdecimationquot (redução da taxa de amostragem), quotinterpolationquot (aumento da taxa de amostragem), ou ambos. Seja decimando ou interpolando, o uso de filtros FIR permite que alguns dos cálculos sejam omitidos, proporcionando assim uma importante eficiência computacional. Em contraste, se forem usados ​​filtros IIR, cada saída deve ser calculada individualmente, mesmo que a saída seja descartada (assim o feedback será incorporado no 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 de aritmética de precisão finita em filtros IIR pode causar problemas significativos devido ao uso de feedback, mas os filtros FIR sem retorno podem ser implementados usando menos bits eo designer tem menos problemas práticos a 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 global do filtro FIR pode ser ajustado na sua saída, se desejado.) Esta é uma consideração importante ao usar DSP 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 têm, por vezes, a desvantagem de exigirem mais memória e / ou cálculo para obter 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 de filtros FIR Resposta de Impulso - A resposta de resposta de um filtro FIR é apenas o conjunto de coeficientes FIR. (Se você colocar um quotimplusequot em um filtro FIR que consiste em uma amostra quot1quot seguida por muitas quot0quot amostras, a saída do filtro será o conjunto de coeficientes, como a amostra 1 passa passado cada coeficiente, por sua vez, para formar a saída.) Tap - Um quottapquot FIR é simplesmente um par de coeficientes de delay. O número de torneiras FIR (frequentemente designado como quotNquot) é 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 quotfilteringquot o filtro pode fazer com efeito, Multiplicar-acumular (MAC) - Em um contexto de FIR, uma quotMACquot é 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 implementa a operação MAC em um único ciclo de instrução. Banda de Transição - A faixa de freqüências entre as bordas passband e stopband. Quanto mais estreita for a banda de transição, mais torneiras serão necessárias para implementar o filtro. (Uma banda de transição quotsmallquot resulta em um filtro quotsharpquot.) Delay Line - O conjunto de elementos de memória que implementam os elementos de retardo quotZ-1quot do cálculo FIR. Buffer circular - Um tampão especial que é quotcircular porque incrementar na extremidade faz com que ele envolva ao redor para o início, ou porque decrementing desde o início faz com que ele envolva ao redor para o fim. Os buffers circulares são frequentemente fornecidos por microprocessadores DSP para implementar a quotmoformação das amostras através da linha de retardo FIR sem ter de mover literalmente os dados na memória. Quando um novo exemplo é adicionado ao buffer, ele automaticamente substitui o mais antigo. O cientista e engenheiros guia para processamento de sinal digital Por Steven W. Smith, Ph. D. Capítulo 14: Introdução aos filtros digitais Os filtros digitais são uma parte muito importante do DSP. Na verdade, o seu desempenho extraordinário é uma das principais razões que DSP tornou-se tão popular. Como mencionado na introdução, os filtros têm dois usos: separação de sinal e restauração de sinal. A separação do sinal é necessária quando um sinal foi contaminado com interferência, ruído ou outros sinais. Por exemplo, imagine um dispositivo para medir a atividade elétrica de um coração de bebês (EKG) enquanto ainda no útero. O sinal bruto provavelmente será corrompido pela respiração e pulsação da mãe. Um filtro pode ser usado para separar esses sinais de modo que possam ser analisados ​​individualmente. Restauração de sinal é usado quando um sinal foi distorcido de alguma forma. Por exemplo, uma gravação de áudio feita com equipamento deficiente pode ser filtrada para melhor representar o som como ele realmente ocorreu. Outro exemplo é a deblurring de uma imagem adquirida com uma lente mal focada, ou uma câmera instável. Esses problemas podem ser atacados com filtros analógicos ou digitais. O que é melhor Os filtros analógicos são baratos, rápidos e possuem uma grande faixa dinâmica, tanto em amplitude como em frequência. Filtros digitais, em comparação, são muito superiores no nível de desempenho que pode ser alcançado. Por exemplo, um filtro digital passa-baixo apresentado no Capítulo 16 tem um ganho de 1 - 0,0002 de DC para 1000 hertz, e um ganho de menos de 0,0002 para freqüências acima de 1001 hertz. A transição inteira ocorre dentro de apenas 1 hertz. Não espere isso de um circuito op amp Os filtros digitais podem atingir milhares de vezes melhor desempenho do que filtros analógicos. Isso faz uma diferença dramática em como os problemas de filtragem são abordados. Com filtros analógicos, a ênfase está no manuseio de limitações da eletrônica, como a precisão ea estabilidade dos resistores e capacitores. Em comparação, os filtros digitais são tão bons que o desempenho do filtro é freqüentemente ignorado. A ênfase muda para as limitações dos sinais. E as questões teóricas relativas ao seu processamento. É comum no DSP dizer que os sinais de entrada e saída de um filtro estão no domínio do tempo. Isso ocorre porque os sinais são geralmente criados por amostragem em intervalos regulares de tempo. Mas esta não é a única maneira de amostragem pode ter lugar. A segunda forma mais comum de amostragem é a intervalos iguais no espaço. Por exemplo, imagine a tomada de leituras simultâneas de uma matriz de sensores de deformação montados em incrementos de um centímetro ao longo do comprimento de uma asa de aeronave. Muitos outros domínios são possíveis no entanto, o tempo eo espaço são, de longe, os mais comuns. Quando você vê o termo domínio de tempo no DSP, lembre-se de que ele pode realmente se referir a amostras tomadas ao longo do tempo, ou pode ser uma referência geral a qualquer domínio que as amostras são tomadas pol Como mostrado na Fig. 14-1, cada filtro linear tem uma resposta de impulso. Uma resposta de passo e uma resposta de frequência. Cada uma dessas respostas contém informações completas sobre o filtro, mas de uma forma diferente. Se um dos três for especificado, os outros dois são fixos e podem ser calculados diretamente. As três representações são importantes porque descrevem como o filtro reagirá sob diferentes circunstâncias. A maneira mais direta de implementar um filtro digital é convoluindo o sinal de entrada com a resposta de impulso de filtros digitais. Todos os possíveis filtros lineares podem ser feitos desta maneira. (Isso deve ser óbvio. Se não for, você provavelmente não tem o plano de fundo para entender esta seção sobre o projeto do filtro. Tente revisar a seção anterior sobre os fundamentos DSP). Quando a resposta de impulso é usada desta maneira, os designers de filtro dão um nome especial: o kernel do filtro. Há também uma outra maneira de fazer filtros digitais, chamado recursão. Quando um filtro é implementado por convolução, cada amostra na saída é calculada ponderando as amostras na entrada, e adicionando-os juntos. Os filtros recursivos são uma extensão disso, usando valores previamente calculados a partir da saída. Além de pontos da entrada. Em vez de usar um kernel de filtro, filtros recursivos são definidos por um conjunto de coeficientes de recursão. Este método será discutido em detalhes no Capítulo 19. Por enquanto, o ponto importante é que todos os filtros lineares têm uma resposta de impulso, mesmo se você não usá-lo para implementar o filtro. Para encontrar a resposta ao impulso de um filtro recursivo, basta alimentar um impulso e ver o que sai. As respostas de impulso de filtros recursivos são compostas de sinusoides que decrescem exponencialmente em amplitude. Em princípio, isso torna suas respostas de impulso infinitamente longas. No entanto, a amplitude eventualmente cai abaixo do ruído de arredondamento do sistema, e as amostras restantes podem ser ignoradas. Devido a esta característica, os filtros recursivos também são chamados filtros Infinite Impulse Response ou IIR. Em comparação, os filtros realizados por convolução são chamados filtros de Resposta de Impulso Finito ou FIR. Como você sabe, a resposta ao impulso é a saída de um sistema quando a entrada é um impulso. Desta maneira, a resposta de passo é a saída quando a entrada é um passo (também chamado de borda e uma resposta de aresta). Uma vez que o passo é a integral do impulso, a resposta ao passo é a integral da resposta ao impulso. Isso fornece duas maneiras de encontrar a resposta de passo: (1) alimentar uma forma de onda de etapa para o filtro e ver o que sai, ou (2) integrar a resposta de impulso. (Para ser matematicamente correto: a integração é usada com sinais contínuos, enquanto a integração discreta, isto é, uma soma corrente, é usada com sinais discretos). A resposta de freqüência pode ser encontrada tomando a DFT (usando o algoritmo FFT) da resposta de impulso. Isso será revisado mais adiante neste capítulo. A resposta de freqüência pode ser plotada em um eixo vertical linear, como em (c), ou em uma escala logarítmica (decibéis), como mostrado em (d). A escala linear é a melhor para mostrar a ondulação passband e roll-off, enquanto a escala de decibéis é necessária para mostrar a atenuação de banda de interrupção. Não se lembre decibéis Aqui está uma revisão rápida. Um bel (em honra de Alexander Graham Bell) significa que o poder é alterado por um fator de dez. Por exemplo, um circuito eletrônico que tem 3 bels de amplificação produz um sinal de saída com 10 vezes 10 vezes 10 1000 vezes a potência da entrada. Um decibel (dB) é um décimo de um bel. Portanto, os valores de decibéis de: -20dB, -10dB, 0dB, 10dB amp 20dB, significam as relações de potência: 0,01, 0,1, 1, 10, amp 100, respectivamente. Em outras palavras, a cada dez decibéis significa que o poder mudou por um fator de dez. Heres a captura: você geralmente quer trabalhar com uma amplitude de sinais. Não seu poder. Por exemplo, imagine um amplificador com 20dB de ganho. Por definição, isso significa que a potência no sinal aumentou em um fator de 100. Como a amplitude é proporcional à raiz quadrada da potência, a amplitude da saída é 10 vezes a amplitude da entrada. Enquanto 20dB significa um fator de 100 em potência, significa apenas um fator de 10 em amplitude. Cada vinte decibéis significa que a amplitude mudou em um fator de dez. Na forma de equação: As equações acima usam o logaritmo de base 10, no entanto, muitas linguagens de computador fornecem apenas uma função para o logaritmo base e (log natural, log escrito e x ou ln x). O log natural pode ser usado modificando as equações acima: dB 4.342945 log e (P 2 P 1) e dB 8.685890 log e (A 2 A 1). Como os decibéis são uma maneira de expressar a relação entre dois sinais, eles são ideais para descrever o ganho de um sistema, isto é, a relação entre a saída e o sinal de entrada. No entanto, os engenheiros também usam decibéis para especificar a amplitude (ou potência) de um único sinal, fazendo referência a algum padrão. Por exemplo, o termo: dBV significa que o sinal está sendo referenciado a um sinal de 1 volt rms. Do mesmo modo, dBm indica um sinal de referência produzindo 1 mW numa carga de 600 ohms (cerca de 0,78 volts rms). Se você não entende nada mais sobre decibéis, lembre-se de duas coisas: Primeiro, -3dB significa que a amplitude é reduzida para 0,707 (ea potência é, portanto, reduzida a 0,5). Em segundo lugar, memorize as seguintes conversões entre decibéis e razões de amplitude: Moving Average Filter Description O MovingAverageFilter implementa um filtro de média móvel de passagem baixa. O MovingAverageFilter faz parte dos módulos de pré-processamento. Um exemplo de um sinal (ruído aleatório de onda senoidal) filtrado usando um filtro de média móvel. O sinal vermelho é o ruído do sinal original, o sinal verde é o sinal filtrado usando um filtro de média móvel com um tamanho de janela de 5 eo sinal azul é o sinal filtrado usando um filtro de média móvel com um tamanho de janela de 20. MovingAverageFilterExampleImage1. Jpg Vantagens O MovingAverageFilter é bom para remover uma pequena quantidade de ruído de alta frequência a partir de um sinal N dimensional. Desvantagens A principal desvantagem do MovingAverageFilter é que, para filtrar significativamente o ruído de alta freqüência, o tamanho da janela do filtro precisa ser grande. O problema com ter uma grande janela de filtro é que isso irá induzir uma latência grande em qualquer sinal que passa através do filtro, o que pode não ser vantajoso para aplicações em tempo real. Se você achar que você precisa de uma grande janela de filtro para filtrar o ruído de alta freqüência ea latência induzida por este tamanho de janela não é adequado para o seu aplicativo em tempo real, então você pode querer tentar um filtro de média móvel duplo ou filtro passa-baixo em vez de. Exemplo de código GRT MovingAverageFilter Exemplo Este exemplo demonstra como criar e usar o GRT MovingAverageFilter PreProcessing Module. O MovingAverageFilter implementa um filtro de média móvel de passagem baixa. Neste exemplo, criamos uma instância de um MovingAverageFilter e usamos isso para filtrar alguns dados fictícios, gerados a partir de um ruído aleatório de onda senoidal. O sinal de teste e os sinais filtrados são salvos em um arquivo (assim você pode traçar os resultados em Matlab, Excel, etc. se necessário). Este exemplo mostra como: - Criar uma nova instância MovingAverageFilter com um tamanho de janela específico para um sinal de 1 dimensão - Filtrar alguns dados usando o MovingAverageFilter - Salvar as configurações MovingAverageFilter em um arquivo - Carregar as configurações MovingAverageFilter de um arquivo incluem quotGRT. hquot Usando namespace GRT int main 40 int argc. Const char argv 91 93 41 123 Criar uma nova instância de um filtro de média móvel com um tamanho de janela de 5 para um sinal de 1 dimensão MovingAverageFilter filtro 40 5. 1 41 Criar e abrir um arquivo para salvar o arquivo de arquivo de dados fstream. Abra 40 quotMovingAverageFilterData. txtquot. Fstream. Out 41 Gerar alguns dados (ruído de onda senoidal) e filtrá-lo x 0 const UINT M 1000 Aleatório aleatório para 40 UINT i 0 i lt M i 41 123 sinal duplo sin 40 x 41 aleatório. GetRandomNumberUniform 40 - 0,2. 0,2 Filtro de filtro duplo filtrado. Filtro 40 sinal 41 arquivo ltlt sinal ltlt quot t qut ltlt filterValue ltlt endl x TWOPI double 40 M 41 10 125 Feche o arquivo de arquivo. Close 40 41 Salve as configurações do filtro em um filtro de arquivo. SaveSettingsToFile 40 quotMovingAverageFilterSettings. txtquot 41 Podemos então carregar as configurações mais tarde, se necessário filtro. LoadSettingsFromFile 40 quotMovingAverageFilterSettings. txtquot 41 return EXITSUCCESS 125 O MovingAverageFilter também funciona com qualquer sinal de dimensão N: Crie uma nova instância do MovingAverageFilter com um tamanho de janela de 10 para um sinal tridimensional MovingAverageFilter filter 40 10. 3 41 O valor que você deseja filtrar Vector lt dados gt duplos 40 3 41 dados 91 0 93 0. Obter valor dos dados do sensor 91 1 93 0. Obter valor dos dados do sensor 91 2 93 0. Obter valor do sensor Filtrar o vetor de sinal lt duplo filtro filterValue gt. Filtro 40 dados 41 Código amp Recursos

No comments:

Post a Comment