% filt3way.m % 3 maneiras de realizar a mesma filtragem % UFPR/DELT - PDS - lab - Prof. Eduardo Parente Ribeiro % Exercicio 5 - apostila % dados os coeficientes do filtro: b=[0.0186 0.0743 0.1114 0.0743 0.0186]; a=[1.0000 -1.5704 1.2756 -0.4844 0.0762]; % realize a filtragem do sinal: t=0:31; w1=2*pi/32; w2=8*pi/32; w3=12.5*pi/32; x=sin(w1*t)+sin(w2*t)+sin(w3*t)+0.5*rand(1,32); %Usando três métodos: %i) função filter() y1=filter(b,a,x); %ii) função conv() d=zeros(1,64); d(1)=1; % cria uma funcao delta com 511 zeros e um impulso no centro h=filter(b,a,d); % obtem-se a resposta h ao impulso delta y2=conv(x,h); % a saida do sistema LTI e' a convolucao da entrada com a resposta ao impulso %iii) multiplicação por H(w) L1=length(x); % comprimento da entrada - 32 L2=length(h); % comprimento da resp. impuls. N=L1+L2-1; xx=[x zeros(1,N-L1)]; hh=[h zeros(1,N-L2)]; XX=fft(xx); HH=fft(hh); YY=XX.*HH; yy=ifft(YY); %como o resultado da fft() e ifft() e' complexo, toma-se a parte real: yy=real(yy); %E plota-se o resultado: plot(1:L1,y1,1:N,y2,1:N,real(yy)) %viu apenas um traco? tente deslocar os 3: figure(2) plot(1:L1,y1+0.1,1:N,y2,1:N,real(yy)-0.1)