Filtros Digitais com a FRDM KL25Z

Introdução

 

No último artigo desta série serão apresentados alguns aspectos sobre filtros digitais, sua implementação e os testes reais de funcionamento, assim como feito para os controladores PID.

 

Filtros

 

Filtros são estruturas que realizam o tratamento de sinais, seja por meio da diminuição de ruídos, restauração de distorções ou seleção de frequências. Os filtros digitais se tornaram superiores aos filtros analógicos em termos de desempenho, se tornando uma das razões da popularidade do processamento digital de sinais.

 

Resposta em Frequência

 

Quando um filtro é projetado, as seguintes características e especificações são de importante atenção:

 

Especificações do Filtro
Figura 1 - Especificações do Filtro

 

Esta figura representa a resposta em frequência de um filtro passa-baixas. No eixo-y, está  o ganho do sistema dinâmico e, no eixo-x, as frequências.

Faixa (ou banda) de passagem são aquelas frequências do sinal que não sofrem alterações significativas ao serem processadas. Para estas frequências o ganho do sistema é de 1, ou 0db, com tolerâncias \delta _p.

Faixa de transição são aquelas frequências que estão entre os limites da banda de passagem e da banda de rejeição (\omega _p\,\, e\,\,\omega _s). Frequência de corte é aquela em que o ganho é de -3db. A partir desta, em filtros passa-baixa, as frequências são atenuadas. Em filtros passa-altas, são mantidas.

 

A faixa de rejeição compreende as frequências que serão atenuadas.

 

Transformada de Fourier

 

A transformada de Fourier é um método matemático capaz de separar as diferentes componentes senoidais que constituem um sinal e analisá-las em termos de magnitude e fase.

 

As figuras a seguir ilustram um sinal formado por uma senoide de frequência igual a 20hz e amplitude unitária somada a outra de 40hz e amplitude dois e o seu respectivo gráfico de magnitude da Transformada de Fourier.

 

Figura 2 - Sinal Temporal
Figura 3 - Magnitude da Transformada de Fourier

 

Através da transformada de Fourier é possível identificar a amplitude das duas componentes de frequência. Sendo assim, o sinal é formado por uma componente senoidal de frequência 20hz e amplitude unitária e outra de 40hz e amplitude igual a dois.

 

A seguir serão apresentados os detalhes de projeto de alguns filtros de primeira ordem já no domínio digital. Estes filtros possuem, entretanto, sua versão analógica, cujas topologias são bastante conhecidas, fazendo uso de resistores, capacitores e indutores.

 

Filtro Passa-Baixas

 

Os filtros passa-baixas são aqueles os quais possuem ganho próximo a um para frequências abaixo da frequência de corte e atenuam aquelas frequências maiores. A resposta em frequência destes sistemas é similar à apresentada a seguir:

 

Figura 4 - Filtro Passa-Baixas

 

Um filtro passa-baixas de primeira ordem tem a seguinte função de transferência discreta:

 

H(z)=\frac{1-R}{1-R\cdot z^{-1}}

Onde:

R=e^{-2\cdot\pi f_c}

f_c=\frac{frequencia\,de\,corte}{frequencia\,de\,amostragem}

 

Filtro Passa-Altas

 

Os filtros passa-altas são aqueles os quais possuem ganho próximo a um para frequências acima da frequência de corte e atenuam aquelas frequências menores. A resposta em frequência destes sistemas é similar à apresentada a seguir:

 

Figura 5 - Filtro Passa-Altas

 

Um filtro passa-altas de primeira ordem tem a seguinte função de transferência discreta:

H(z)=\frac{(\frac{1+R}{2})(1-z^{-1})}{1-R\cdot z^{-1}}

 

Filtro Passa-Faixa

 

Os filtros passa-faixa são aqueles os quais possuem ganho unitário para um grupo em torno de uma frequência central e atenuam as demais. A resposta em frequência destes sistemas é similar à apresentada a seguir:

 

Figura 6 - Filtro Passa Faixa

 

Um filtro passa-faixa de primeira ordem tem a seguinte função de transferência discreta:

 

H(z)=\frac{a_0+a_1\cdot z^{-1}+a_2\cdot z^{-2}}{1-b_1\cdot z^{-1}-b_2\cdot z^{-2}}

 

K=\frac{1-2Rcos(2\pi f) + R^2}{2-2cos(2\pi f)}

R = 1-3BW

 

f=\frac{frequencia\,central}{frequencia\,de\,amostragem}

BW=\frac{largura\,de\,banda}{frequencia\,de\,amostragem}

 

a_0=1-K

a_1=2(K-R)cos(2\pi f)

a_2=R^{2}-K

b_1=2Rcos(2\pi f)

b_2=-R^2

 

Este tipo de filtro pode, também, ser obtido pela associação em cascata (multiplicação) de um passa-baixas e um passa-altas.

 

Filtro Rejeita-Faixa

 

Os filtros passa-faixa são aqueles que atenuam um grupo em torno de uma frequência central e possui ganho próximo a um para as demais. A resposta em frequência destes sistemas é similar à apresentada a seguir:

 

Figura 7 - Filtro Rejeita Faixa

 

Um filtro rejeita-faixa de primeira ordem tem a seguinte função de transferência discreta:

 

H(z)=\frac{a_0+a_1\cdot z^{-1}+a_2\cdot z^{-2}}{1-b_1\cdot z^{-1}-b_2\cdot z^{-2}}

 

a_0=K

a_1=-2Kcos(2\pi f)

a_2=K

b_1=2Rcos(2\pi f)

b_2=-R^2

 

Este tipo de filtro pode, também, ser obtido pela soma de um passa-baixas e um passa-altas.

 

Filtro de Média Móvel

 

Os filtros de média móvel são utilizados para redução de ruído aleatório de sinais. Não possui equivalente analógico. É normalmente implementado utilizando a convolução, porém a implementação recursiva também é possível.

Seu funcionamento consiste em fazer com que a amostra atual do sinal filtrado seja igual à média do sinal de entrada atual e seus anteriores. Quanto maior a ordem do filtro, maior a quantidade de amostras envolvidas no cálculo da média, maior também a redução do ruído, porém como consequência, ocorre uma deformação da forma de onda.

A redução do ruído é dada por \sqrt{N}, onde N é a ordem do filtro. As figuras a seguir ilustram a redução de ruído de um sinal utilizando dois filtros de ordem diferente.

 

Figura 8 - Sinal Ruidoso
Figura 9 - Sinal com Filtro de Ordem 11
Figura 10 - Sinal com Filtro de Ordem 51

 

Um filtro de média móvel tem a seguinte equação temporal:

 

y[k]=\frac{1}{M}(x[k]+x[k-1]...+x[k-M+1])

 

E a seguinte função de transferência:

 

H(z)=\frac{1}{M}\cdot\frac{1+z^{-1}+...+z^{-M+1}}{1}

 

Testes

 

Para realização dos testes, o código será o mesmo apresentado no artigo anterior. Neste artigo é implementado um sistema dinâmico digital de segunda ordem utilizando ponto fixo. Sendo assim, apenas os coeficientes da equação de diferenças serão alterados para os coeficientes dos respectivos filtros.

 

Foi configurado em um gerador de funções uma forma de onda com cinco componentes de frequência. Senoides com 200, 400, 600, 800 e 1000hz, além de um nível DC, já que os valores de tensão suportados pelos conversores analógico-digital e digital-analógico estão dentro do limite de 0 a 3,3V.

 

A figura a seguir representa este sinal e sua Transformada de Fourier:

 

Figura 11 - Sinal de Entrada para os Filtros

 

Filtro Passa-Baixas

 

Foi projetado um filtro passa-baixas de primeira ordem com frequência de corte em 300hz e frequência de amostragem igual a 10khz.

A função de transferência do filtro é:

 

H(z)=\frac{0.171796}{1-0.828204\cdot z^{-1}},\,T=0.1\,ms

 

A resposta em frequência deste filtro é apresentada a seguir:

 

Figura 12 - Resposta em Frequência do Passa-Baixas

 

A figura a seguir mostra as formas de onda do sinal de entrada, do sinal filtrado:

 

Figura 13 - Resposta do Filtro Passa Baixas

 

Em amarelo está representado o sinal de entrada, em azul o sinal de saída filtrado e em vermelho a Transformada de Fourier do sinal de saída.

 

Como a frequência de corte deste filtro está em 300hz, as componentes de frequência igual a 400, 600, 800 e 1000hz tiveram suas amplitudes atenuadas significativamente como pôde ser observado. A componente de 200hz também sofreu atenuação, mas não tão significante.

 

Filtro Passa-Altas

 

Foi projetado um filtro passa-altas de primeira ordem com frequência de corte em 500hz e frequência de amostragem igual a 10khz.

 

É necessário que o nível DC seja mantido, já que os valores de saída do DAC se limitam a valores positivos. Sendo assim, foi então a este filtro um filtro passa-baixas com frequência de corte em 50hz, resultando na seguinte função de transferência:

 

H(z)=\frac{0.8961-1.7262\cdot z^{-1}+0.8384\cdot z^{-2}}{1-1.6995\cdot z^{-1}-0.7078\cdot z^{-2}},\,T=0.1\,ms

 

A resposta em frequência deste filtro é apresentada a seguir:

 

Figura 14 - Resposta em Frequência do Filtro Passa-Altas

 

A figura a seguir mostra as formas de onda do sinal de entrada, do sinal filtrado:

 

Figura 15 - Resposta do Filtro Passa Altas

 

Como a frequência de corte deste filtro está em 500hz, as componentes de frequência igual a 200 e 400hz tiveram suas amplitudes atenuadas significativamente como pôde ser observado. As componentes de 600, 800 e 1000hz também sofreram atenuação, mas não tão significante. Pode ser observado também que o nível DC manteve-se, como esperado ao somar à função de transferência do filtro passa-altas, um filtro passa-baixas.

 

Filtro Passa-Faixa

 

Foi projetado um filtro passa-faixa de primeira ordem com frequência central igual a 600hz, 100hz de largura de banda e frequência de amostragem igual a 10khz.

 

Novamente, é necessário que o nível DC seja mantido. Foi somado, então a este filtro um filtro passa-baixas com frequência de corte em 50hz, resultando na seguinte função de transferência:

 

H(z)=\frac{0.0545-0.0667\cdot z^{-1}+0.01795\cdot z^{-2}+0.0344\cdot z^{-3}}{1-2.7729\cdot z^{-1}+2.6889\cdot z^{-2}-0.9118\cdot z^{-3}},\,T=0.1\,ms

 

A resposta em frequência deste filtro é apresentada a seguir:

 

Figura 16 - Resposta em Frequência do Filtro Passa-Faixa

 

A figura a seguir mostra as formas de onda do sinal de entrada, do sinal filtrado:

 

Figura 17 - Resposta do Filtro Passa-Faixa

 

Como banda de passagem deste filtro está entre 500 e 700hz, a componente de frequência igual a 600hz não teve sua amplitude atenuada. As componentes de 200, 400, 800 e 1000hz não foram atenuadas por completo, porém tiveram uma redução significante. O nível DC manteve-se.

 

Filtro Rejeita-Faixa

 

Foi projetado um filtro rejeita-faixa de primeira ordem com frequência central de 600hz, 100hz de largura de banda e frequência de amostragem igual a 10khz.

 

A função de transferência do filtro é:

 

H(z)=\frac{0.9764-1.8157\cdot z^{-1}+0.9764\cdot z^{-2}}{1-1.8038\cdot z^{-1}-0.9409\cdot z^{-2}},\,T=0.1\,ms

 

A resposta em frequência deste filtro é apresentada a seguir:

 

Figura 18 - Resposta em Frequência do Filtro Rejeita-Faixa

 

A figura a seguir mostra as formas de onda do sinal de entrada, do sinal filtrado:

 

Figura 19 - Resposta do Filtro Rejeita-Faixa

 

Como banda de rejeição deste filtro está entre 500 e 700hz, a componente de frequência igual a 600 hz teve sua amplitudes bastante atenuada e praticamente excluída do sinal, como pôde ser observado. As restantes componentes de 200, 400, 800 e 1000hz sofreram apenas pequenas atenuações e de pouca significância.

 

Filtro de Média Móvel

 

Foi configurada uma forma de onda quadrada ruidosa na entrada e aplicados filtros de ordem 3 e 5.

 

Para o filtro de média móvel de ordem três, a função de transferência é esta:

 

H(z)=\frac{0.333+0.333\cdot z^{-1}+0.333\cdot z^{-2}}{1}, T=0.05\,ms

 

A resposta é apresentada na figura a seguir:

 

Figura 20 - Resposta do Filtro de Média Móvel de Ordem 3

 

Houve uma pequena redução no ruído do sinal e também uma pequena deformação na região de transição dos níveis do sinal de entrada.

 

Para o filtro de média móvel de ordem cinco, a função de transferência é esta:

 

H(z)=\frac{0.2+0.2\cdot z^{-1}+0.2\cdot z^{-2}+0.2\cdot z^{-3}+0.2\cdot z^{-4}}{1}, T=0.05\,ms

 

A resposta é apresentada na figura a seguir:

 

Figura 21 - Resposta do Filtro de Média Móvel de Ordem 5

 

Foi observada uma maior redução no ruído do sinal e também uma maior deformação no sinal como um todo, quando comparado ao desempenho do filtro anterior.

 

Conclusão

 

Neste artigo foram apresentados alguns filtros digitais, sua implementação. Os testes e as simulações comprovaram o funcionamento do sistema.

 

Um aspecto importante a ser ressaltado é que os filtros apresentados podem ser recombinados a fim de resultarem em um desempenho melhor. Dois filtros passa-baixas de primeira podem ser associados em cascata (multiplicados), por exemplo, resultando em outro de segunda ordem com maior atenuação, etc. Além disso, existem outras estruturas e topologias que possuem características diferentes, como os filtros Butterworth, por exemplo.

 

Nesta série de artigos foram apresentados conceitos teóricos acerca de sistemas dinâmicos, controladores e filtros. Além destes aspectos, foi discutida a implementação destes sistemas em microcontroladores, utilizando a placa FRDM KL25Z e o FreeRTOS. Outro assunto abordado foi o custo temporal do processamento das equações do sistema, que pôde ser otimizado com a aplicação do ponto fixo.

 

Saiba Mais

 

Filtros Digitais

Filtros Passivos

Otimização do Processamento Utilizando Ponto Fixo

 

Referências

 

SMITH, Steven W. Digital Signal Processing: A Practical Guide for Engineers and Scientists. 2002. Disponível em: <http://www.dspguide.com>

OPPENHEIM, Alan V.; SCHAFER, Ronald W. Processamento em Tempo Discreto de Sinais. 3. ed. São Paulo: Pearson, 2013.

Outros artigos da série

<< Otimização do processamento utilizando Ponto Fixo
NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Thiago Pereira do Prado
Graduando em Engenharia de Controle e Automação pela Universidade Federal de Itajubá. Aficionado por Tecnologia, Música, Programação e Sistemas Embarcados. Desde cedo curioso por saber como as coisas funcionam. Atualmente pesquiso na área de sistemas dinâmicos, controladores e filtros digitais.

1
Deixe um comentário

avatar
 
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Mateus Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Mateus
Visitante
Mateus

Olá, Thiago. Poderia me tirar umas dúvidas sobre o algoritmo PID?