Software de Desenvolvimento de Filtros Digitais

27/12/2017 22:45

Introdução

Ao contrário dos simples e clássicos filtros analógicos, os filtros digitais são uma alternativa não só mais precisa e confiável, mas também mais econômica, uma vez que sua implementação se dá por meio da realização de cálculos matemáticos digitalmente. Assim sendo, esse artigo visa apresentar e realizar o uso do software IIR Filter Design, desenvolvido pela LF Eletronics com o propósito de auxiliar os engenheiros eletrônicos no projeto de filtros digitais, poupando tempo e permitindo sua posterior aplicação em DSP’s e/ou microcontroladores.

O software

O software IIR Filter Design poderá ser baixado através do link:
É necessário ter instalado a versão R2016a ou superior do programa MATLAB em seu computador pessoal. 
O software é capaz de projetar filtros digitais tipo Passa-Baixa, Passa-Alta, Passa-Faixa e Rejeita-Faixa.
 
Após selecionar o filtro desejado, é necessário preencher os parâmetros de requisito do projeto:
  • Order, indica a ordem do filtro à ser projetado, podendo ser N = 1, 2, 3, 4 ... . Para o caso dos filtros Passa-Faixa e Rejeita-Faixas a ordem só pode ser em múltiplos de 2, ou seja, N = 2, 4, 6, 8, etc;
  • Sample Rate, representa a frequência de amostragem do sinal. Este parâmetro é extramante importante para o êxito do trabalho, portanto não só se deve atentar para a taxa de Nyquist, mas também na correta implementação dessa taxa feito pelo sistema embarcado;
  • Cutoff Frequency, nada mais é do que a frequência de corte do filtro;
  • Q factor, indica o fator de qualidade do filtro. Utilizado apenas no projeto de filtros digitais Passa-Faixa (BPF) e Rejeita-Faixa (BSF).

Ao inserir os parâmetros acima, basta clicar em "Design Filter" que o filtro será projetado, respeitando todos parâmetros supracitados.

Após o filtro ser projetado, sua função de transferência (TF) poderá ser observada no campo indicado por "Transfer function of the designed filter".

Para auxiliar na tomada de decição, é plotado o diagrama de Bode correspondente a TF do filtro projetado, podendo ser visto no campo "Frequency Response".

Por fim, após ter concluído que o filtro projetado supre os requisitos de projeto, é gerado um código em linguagem C do filtro projetado, para sua posterior aplicação em um DSP e/ou microcontrolador. O código contém as seguintes informações:

  • A assinatura da função, isto é, float iir_biquad(float in);
  • as variáveis correspondentes aos coeficientes utilizados para a realização dos cálculos matemáticos capazes de implementar a filtragem;
  • á a função propriamente dita.

Implementação

De forma a exemplificar a funcionalidade do software, realizou-se o projeto de um Filtro Rejeita-Faixa (BSF) com os seguintes parâmentros:
  • Order = 2;
  • Sample rate = 5000 Hz;
  • Cutoff frequency = 500 Hz;
  • Q factor = 10.

A imagem abaixa exibe a saída do programa para o filtro digital projetado: