Friday 17 November 2017

Mudança Média Filtro Básico


Um filtro digital introdutório Bem aberto MicroModeler DSP e selecione um filtro digital na barra de ferramentas na parte superior e arraste-o para a nossa aplicação. Bem, escolha um filtro de média móvel porque é um dos tipos mais simples de filtros. Depois de soltar o filtro, as telas serão atualizadas automaticamente. (Clique para iniciar o MicroModeler DSP em uma nova janela) Todos sabemos o que é uma média - adicione os números juntos e divida por quantos existem. Um filtro médio móvel faz exatamente isso. Ele armazena um histórico dos últimos N números e produz sua média. Toda vez que um novo número entra, a média é efetivamente recalculada 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 vs Frequência, ou a quantidade de freqüências diferentes serão amplificadas ou reduzidas pelo filtro de média móvel. Como você pode esperar, a média das últimas N amostras aplicará algum tipo de suavização ao sinal, mantendo as baixas freqüências e removendo as altas freqüências. Podemos controlar o número de entradas anteriores, ou amostras que mede, ajustando o comprimento do filtro, N. Ao ajustar isso, podemos ver que temos algum controle básico sobre quais passagens podem ser passadas e descartadas. O interior de um filtro Se olharmos a visão da estrutura, podemos ver o que o interior de um filtro médio móvel pode parecer. O diagrama foi anotado para mostrar o significado dos diferentes símbolos. Os símbolos Z-1 significam atraso em uma amostra de tempo e os símbolos significam adicionar ou combinar os sinais. As setas significam multiplicar (pense amplificar, reduzir ou dimensionar) 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 de linha de atraso, com o sinal de entrada atrasado por um passo de tempo adicional à medida que você segue a linha de atraso. As setas também são chamadas de torneiras, de modo que você quase pode imaginar elas como torneiras como a que está na pia da cozinha que são todas um quinto aberto. Você poderia imaginar o sinal que flui da esquerda e sendo progressivamente atrasado à medida que se move ao longo da linha de atraso, depois 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. (Entrada t-N significa a entrada atrasada do tempo t-N) 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 as últimas amostras precisam ser 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 forças da torneira serem as mesmas, elas podem ser diferentes. Aqui temos um filtro médio móvel e um filtro FIR. Você pode ver que eles são estruturalmente os mesmos, a única diferença é os pontos fortes das torneiras. A próxima seção irá apresentá-lo aos filtros de Resposta de Impulso Finito (FIR). Ao variar as forças de toque, podemos criar perto de qualquer resposta de freqüência que desejemos. Guia de cientistas e engenheiros 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, seu desempenho extraordinário é uma das principais razões pelas quais o DSP tornou-se tão popular. Conforme 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 babys (EKG) enquanto ainda está no útero. O sinal bruto provavelmente será corrompido pela respiração e batimentos cardíacos da mãe. Um filtro pode ser usado para separar esses sinais para que eles possam ser analisados ​​individualmente. A restauração do sinal é usada quando um sinal foi distorcido de alguma forma. Por exemplo, uma gravação de áudio feita com equipamento ruim pode ser filtrada para representar melhor o som, na verdade, ele ocorreu. Outro exemplo é o desabrochado de uma imagem adquirida com uma lente inadequadamente 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 têm um grande alcance dinâmico em amplitude e freqüência. Os filtros digitais, em comparação, são muito superiores ao nível de desempenho que pode ser alcançado. Por exemplo, um filtro digital de passagem baixa apresentado no Capítulo 16 tem um ganho de 1-00002 de DC para 1000 hertz e um ganho de menos de 0,0002 para freqüências acima de 1001 hertz. Toda a transição ocorre dentro de apenas 1 hertz. Não espere isso de um circuito de amplificador operacional Os filtros digitais podem atingir milhares de vezes melhor desempenho do que os filtros analógicos. Isso faz uma diferença dramática na forma como os problemas de filtragem são abordados. Com filtros analógicos, a ênfase é no gerenciamento de limitações da eletrônica, como a precisão e estabilidade das resistências 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 filtros estão no domínio do tempo. Isso ocorre porque os sinais geralmente são criados por amostragem em intervalos regulares de tempo. Mas esta não é a única maneira pela qual a amostragem pode ocorrer. O segundo modo de amostragem mais comum é em intervalos iguais no espaço. Por exemplo, imagine tirar leituras simultâneas de uma série de sensores de deformação montados em incrementos de um centímetro ao longo de uma asa de aeronave. Muitos outros domínios são possíveis no entanto, o tempo e o espaço são, de longe, os mais comuns. Quando você vê o termo domínio do tempo no DSP, lembre-se de que ele realmente pode se referir a amostras colhidas ao longo do tempo, ou pode ser uma referência geral a qualquer domínio em que as amostras são coletadas. Como mostrado na Fig. 14-1, cada filtro linear tem uma resposta de impulso. Uma resposta gradual e uma resposta de freqüê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 corrigidos e podem ser calculados diretamente. As três dessas representações são importantes, porque descrevem como o filtro reagirá sob diferentes circunstâncias. A maneira mais direta de implementar um filtro digital é convolver o sinal de entrada com a resposta de impulso de filtros digitais. Todos os filtros lineares possíveis podem ser feitos desta maneira. (Isso deve ser óbvio. Se não estiver, você provavelmente não tem o fundo para entender esta seção no design do filtro. Tente revisar a seção anterior sobre os fundamentos da DSP). Quando a resposta de impulso é usada dessa maneira, os criadores de filtros dão um nome especial: o kernel de filtro. Há também outra maneira de fazer filtros digitais, chamado de recursão. Quando um filtro é implementado por convolução, cada amostra na saída é calculada ponderando as amostras na entrada e adicionando-as. Os filtros recursivos são uma extensão disso, usando valores previamente calculados a partir da saída. Além dos pontos da entrada. Em vez de usar um kernel de filtro, os 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 que não o use para implementar o filtro. Para encontrar a resposta de impulso de um filtro recursivo, simplesmente alimente um impulso e veja o que sai. As respostas de impulso dos filtros recursivos são compostas por sinusoides que se deterioram exponencialmente em amplitude. Em princípio, isso faz suas respostas de impulso infinitamente longas. No entanto, a amplitude eventualmente cai abaixo do ruído de arredondamento do sistema e as restantes amostras podem ser ignoradas. Devido a esta característica, os filtros recursivos também são chamados filtros de resposta de impulso infinito ou IIR. Em comparação, os filtros efetuados pela 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. Da mesma forma, a resposta de passo é a saída quando a entrada é um passo (também chamado de uma borda e uma resposta de borda). Como o passo é a integral do impulso, a resposta do passo é a integral da resposta ao impulso. Isso fornece duas maneiras de encontrar a resposta de passo: (1) alimente uma forma de onda gradual no filtro e veja o que sai, ou (2) integre a resposta ao impulso. (Para ser matematicamente correto: a integração é usada com sinais contínuos, enquanto a integração discreta, isto é, uma soma executória, é usada com sinais discretos). A resposta de freqüência pode ser encontrada tomando o 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 é melhor para mostrar a ondulação da banda passante e roll-off, enquanto a escala de decibéis é necessária para mostrar a atenuação da banda de parada. Não lembre decibéis Aqui está uma revisão rápida. Um bel (em homenagem a Alexander Graham Bell) significa que o poder é alterado por um fator de dez. Por exemplo, um circuito eletrônico com 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 amplificador 20dB, significam as relações de potência: 0.01, 0.1, 1, 10, amp 100, respectivamente. Em outras palavras, cada dez decibéis significa que o poder mudou por um fator de dez. É a captura: você geralmente quer trabalhar com uma amplitude de sinais. Não é 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. Uma vez que a amplitude é proporcional à raiz quadrada do poder, a amplitude da saída é 10 vezes a amplitude da entrada. Enquanto 20dB significa um fator de 100 em potência, isso significa apenas um fator de 10 em amplitude. Todos os vinte decibéis significam que a amplitude mudou em um fator de dez. Na forma da equação: as equações acima usam o logaritmo da base 10 no entanto, muitas linguagens de computador fornecem apenas uma função para o logaritmo base e (log natural, log e x escrito 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 para um sinal de rms de 1 volt. Da mesma forma, dBm indica um sinal de referência produzindo 1 mW em uma carga de 600 ohms (cerca de 0,78 volts rms). Se você não entender nada mais sobre decibéis, lembre-se de duas coisas: primeiro, -3dB significa que a amplitude é reduzida para 0,707 (e, portanto, a energia é reduzida para 0,5). Em segundo lugar, memorize as seguintes conversões entre decibéis e relações de amplitude: Moving Average Filter Descrição O MovingAverageFilter implementa um filtro de média móvel de passagem baixa. O MovingAverageFilter é parte dos módulos de pré-processamento. Um exemplo de sinal (ruído aleatório de onda sinusoidal) filtrada usando um filtro médio móvel. O sinal vermelho é o ruído de sinal original, o sinal verde é o sinal filtrado usando um filtro médio móvel com um tamanho de janela de 5 e o sinal azul é o sinal filtrado usando um filtro médio 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 freqüência de um sinal N dimensional. Desvantagens A principal desvantagem do MovingAverageFilter é que, para filtrar alto ruído de alta freqüência, o tamanho da janela do filtro precisa ser grande. O problema de ter uma janela de filtro grande é que isso induzirá uma latência grande em qualquer sinal que passe pelo filtro, o que pode não ser vantajoso para aplicações em tempo real. Se você achar que você precisa de uma janela de filtro grande para filtrar o ruído de alta freqüência e a latência induzida por esse tamanho de janela não é adequada para seu aplicativo em tempo real, então você pode querer tentar um Filtro Médico de Movimento Duplo ou Filtro de Passagem Baixa em vez de. Exemplo de Código GRT MovingAverageFilter Exemplo Este exemplo demonstra como criar e usar o Módulo de pré-processamento GRT MovingAverageFilter. 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 falsos, 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 (para que você possa traçar os resultados em Matlab, Excel, etc., se necessário). Este exemplo mostra como: - Criar uma nova instância do MovingAverageFilter com um tamanho de janela específico para um sinal de 1 dimensional - Filtrar alguns dados usando o MovingAverageFilter - Salvar as configurações do MovingAverageFilter em um arquivo - Carregar as configurações do MovingAverageFilter de um arquivo incluem quotGRT. hquot Usando namespace GRT int main 40 int argc. Const char argv 91 93 41 123 Crie uma nova instância de um filtro de média móvel com um tamanho de janela de 5 para um sinal de 1 dimensional. MovingAverageFilter filter 40 5. 1 41 Crie e abra um arquivo para salvar o arquivo de dados fstream. Abra 40 quotMovingAverageFilterData. txtquot. Fstream. 41 Gerar alguns dados (ruído das ondas sinusoidais) e filtrá-lo duplo x 0 const UINT M 1000 Random aleatório para 40 UINT i 0 i lt M i 41 123 duplo sinal sin 40 x 41 aleatório. GetRandomNumberUniform 40 - 0.2. 0,2 41 filtro de filtro duplo filtrado. Filtro 40 sinal 41 arquivo ltlt sinal ltlt quot tt ltlt filterValue ltlt endl x TWOPI duplo 40 M 41 10 125 Feche o arquivo de arquivo. Fechar 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, o filtro. LoadSettingsFromFile 40 quotMovingAverageFilterSettings. txtquot 41 return EXITSUCCESS 125 O MovingAverageFilter também funciona com qualquer sinal N dimensional: 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 deseja filtrar Vetor lt dados gt duplo 40 3 41 dados 91 0 93 0. Obtenha valor dos dados do sensor 91 1 93 0. Obtenha valor dos dados do sensor 91 2 93 0. Obter valor do sensor Filtrar o vetor de sinal lt filtro gt filterValue duplo. Filtro 40 dados 41 Amplificador de código Recursos

No comments:

Post a Comment