Вы находитесь на странице: 1из 7

Universidade Federal de Uberlndia

Faculdade de Engenharia Eltrica

ARCEU SANTOS CORDEIRO DE CAMPOS

FILTRO PASSA-FAIXA DIGITAL DE RESPOSTA FINITA AO


IMPULSO

Uberlndia
2016
1 Descrio do Filtro

Um filtro passa faixa, ou passa banda caracterizado por permitir que uma certa
faixa de frequncias de um sinal seja transmitida sada, enquanto componentes de
frequncias menores ou maiores s frequncias de corte so atenuadas.

Figura 1 - Resposta em frequncia de um filtro passa faixa

Na Figura 1 temos a resposta em frequncia de um filtro passa faixa, em que 1 e 2


so as frequncias de corte, e a frequncia de ressonncia, onde o ganho mximo.
Um filtro digital dito no recusrsivo quando apresenta resposta finita ao impulso.
Um filtro passa faixas pode ser recursivo ou no recursivo, neste trabalho ser
desenvolvido o cdigo para implementao de um filtro passa faixas no recursivo. O que
leva um filtro ter resposta finita ao impulso o fato dele no ser realimentado. A Figura 2
mostra o diagrama de blocos para um filtro no recursivo de ordem M.

Figura 2 - Diagrama de blocos para um filtro no recursivo

A sada deste filtro pode ser obtida da seguinte forma:


[] = 0 [] + 1 [ 1] + 2 [ 2] + [ ]

() = ()
=0
A sada presente desse filtro depende apenas das entradas presentes e passadas,
ao contrrio do filtro realimentado em que a sada presente depende tanto das entradas
passadas quanto das sadas passadas.
Os coeficientes do filtro 0 , 1 , , que determinam as caractersticas
particulares desse filtro. As principais vantages de um filtro no recursivo so: 1 Resposta
de fase linear, e portato sem distoro e 2 No tem problemas de estabilidade (plos
sempre dentro do circulo unitrio). A principal desvantagem est no fato da ordem do filtro
ter que ser bem superior a de um filtro recursivo para obter o mesmo resultado.

2 Implementao de um Filtro Passa-Faixa no Matlab

O filtro a ser implementado no Matlab do tipo passa-faixa, com os seguintes


parmetros:
Ordem: 30
Frequncia de corte inferior: 750Hz
Frequncia de corte superior: 1375Hz
Para o clculo dos coeficientes do filtro foi utilizado o comando firpm(). O sinal de
teste apresenta frequncia de 100Hz, 1000Hz e 1500Hz, sendo que o filtro deve eliminar as
componentes de 100Hz e de 1500Hz.
Pelo teorema da amostragem a frequncia de amostragem deve ser maior que o
dobro da maior frequncia encontrada no sinal. Logo deve ser maior que 3kHz. Neste
projeto foi adotado um valor de 5kHz para a frequncia de amostragem.
O cdigo implementado no Matlab foi o seguinte:
% Universidade Federal de Uberlndia
% Faculdade de Engenharia Eltrica
% Disciplina Tpicos Especiais em Eletrnica de Potncia: DSP
% Prof. Ernane Coelho
% EXEMPLO 1
% Projeto de um Filtro FIR passa-baixa (Parks-McClellan algorithm)
clear all
close all
N=30; %ordem do filtro
f = [0 0.3 0.4 0.45 0.55 1];
%vetor de pares (fk fk+1,k=impar)de
frequncias
%normalizadas (crescimento monotnico de f)
%fbase= famostragem/2 (the Nyquist
frequency)

a = [0 0 1 1 0 0]; %amplitude desejada para os pares de f


%fk-ak,fk+1-ak+1
%entre fk+1 e fk+2(k=mpar)amplitude no
importa
b = firpm(N,f,a)
[h,w] = freqz(b,1,512);
plot(f,a,w/pi,abs(h))
legend('curva ideal','curva real')

% *********************** teste do filtro


*******************************

pontos=500;
fs=5000; %frequencia de amostragem
Ts=1/fs;
t=0;
w1=2*pi*100; %frequencia fundamental do sinal de entrada
for i=1:pontos,
x(i)=0.1*sin(w1*t)+ 0.7*sin(10*w1*t)+0.2*sin(15*w1*t);
%fundamental + 10 harmonico
tempo(i)=t;
t=t+Ts;
yo= 0;
if i < N+1
M = i;
else
M = N+1;
end
for k = 1:M,
yo = yo + b(k) * x(i-k+1);
end
yf(i)=yo;
end
% - O clculo acima apenas um artifcio didtico para mostrar como
% poderia ser o clculo em linguagem C;
% - No MatLab, pode-se simplesmente usar a funcao "filter":Y =
FILTER(B,A,X)
% yf=filter(b,1,x);

figure
plot(tempo,x,tempo,yf)
legend('fir in','fir out')

X = fft(x); % calcula fft da entrada


Yf= fft(yf); %calcula fft da saida
%segunda metade de y contem os complexos conjugados
X_spec = abs(X)/(pontos/2); % normaliza valor absoluto
Yf_spec = abs(Yf)/(pontos/2);

figure
subplot(2,1,1); %2 graficos em 2 linhas,1 coluna, primeiro o superior
freq = (0:199)/(pontos*Ts);
plot(freq,X_spec(1:200));
grid on % desenha grid
xlabel('Frequencia (Hz)');
ylabel('Amplitude Y');

subplot(2,1,2); %seleciona plot para segundo grafico


plot(freq,Yf_spec(1:200));
grid on % desenha grid
xlabel('Frequencia (Hz)');
ylabel('Amplitude Yf');
O grfico da resposta em frequncia do filtro obtido comparado com o modelo ideal
de filtro est ilustrado na Figura 3.

Figura 3 - Resposta em frequncia do filtro real e do filtro ideal

O eixo horizontal representa os valores de frequncias normalizadas em relao


frequncia de Nyquist. A frequncia de Nyquist equivale metade da frequncia de
amostragem, ou seja, 2,5kHz.
Por anlise, este filtro deve permitir a passagem de frequncias entre 0,3 e 0,5
vezes a frequncia de Nyquist, que equivalem a frequncias entre 750 e 1250Hz.
O sinal de teste no domnio da frequncia est especificado na Figura 4.

Figura 4 - Sinal de teste no domnio da frequncia.


() = 0,1 (2 100) + 0,7(10 2 100) + 0,2(15 2 100)
A resposta em frequncia do sinal filtrado est representado na Figura 5.

Figura 5 - Sinal de sada no domnio da frequncia

No domnio do tempo temos os grficos da entrada e sada na Figura 6.

Figura 6 - Entrada e sada do filtro no domnio da frequncia

Вам также может понравиться