Você está na página 1de 2

% Dados do filtro Fir passa-baixa

% Frequencia de corte = 9 kHz


% Numero de elementos 91
% Ganho unit�rio na faixa de passagem
% Janela retangular
% ws= 4*Wc ws= 4*9000= 36000

%Frequencia de corte filtro passa baixa


%Wn = 9000/(36000/2)= 0.5
Wn = [0.5]; % Vetor com Freq. corte inferior/superior
N = 91; % Elementos do filtro
Ws = 36000; % Frequencia de amostragem

Janela_retangular = fir1((N-1),Wn,'low',rectwin(N)); % resposta da jannela


retangular

%Calculos para Resposta em Freq��ncia


%RETANGULAR
[Hr,wr] = freqz(Janela_retangular,1);

%Gr�ficos modulo/fase para janela retangular


figure(2);
subplot(2,1,1);

%Gr�fico de modulo Db x Hz
plot(wr*Ws/(2*pi),20*log10(abs(Hr)));
grid minor;
title('Filtro Janela Retangular - Resposta em Frequ�ncia');
xlabel('Hertz');
ylabel('(dB)');

%Gr�fico de fase graus x Hz


subplot(2,1,2);
plot(wr*Ws/(2*pi),angle(Hr)*180/pi);grid minor;
xlabel('Hertz');
ylabel('Fase (graus)');

%An�lise de Opera��o:
%Sinal MultiSenoidal
%Frequ�ncias para as sen�ides
freq1=1000;
freq2=3000;
freq3=6000;
freq4=9000;
freq5=12000;
freq6=15000;
freq7=18000;
freq8=21000;

t = (1:800)/Ws; % tempo dos sinais

%Sinais Senoidais Individuais


sin1 = sin(2*pi*freq1*t);
sin2 = sin(2*pi*freq2*t);
sin3 = sin(2*pi*freq3*t);
sin4 = sin(2*pi*freq4*t);
sin5 = sin(2*pi*freq5*t);
sin6 = sin(2*pi*freq6*t);
sin7 = sin(2*pi*freq7*t);
sin8 = sin(2*pi*freq8*t);
figure(1)
plot(t,sin1,'c',t,sin2,'m',t,sin3,'y',t,sin4,'k',t,sin5,'r',t,sin6,'g',t,sin7,'b',t
,sin8,'p');
title('Sinais gerados por v�rias sen�ides')
grid on;

%Gera��o dos Sinal Multisenoidal atrav�s da soma das v�rias sen�ides


MultiSenoidal=sin1+sin2+sin3+sin4+sin5+sin6+sin7+sin8;

% Filtragem dos sinais


% MultiSenoidalal Filtrado: janela retangular
MFJR = filter( Janela_retangular,1,MultiSenoidal );
t=((1:800)/Ws)*1000;
figure(3);
subplot(2,1,1);
plot(t,MultiSenoidal);
grid on;
title('Sinal MultiSenoidal - Resposta Temporal');
subplot(2,1,2);
plot(t,MFJR); grid on;
title('Janela Retangular do Sinal filtrado');

%Resposta em Freq��ncia para o sinal multisenoidal


MTFSM = abs(fft(MultiSenoidal));
MTFSMFR = abs(fft(MFJR));
f = Ws*(0:399)/800; % Intervalo de frequencia
figure(4);
subplot(2,1,1);
plot(f,MTFSM(1:400));
grid minor;
title('Sinal Multisenoidal - Resposta em Freq��ncia');
subplot(2,1,2);
plot(f,MTFSMFR(1:400)); grid minor;
title('Janela Retangular do Sinal filtrado');

Você também pode gostar