%% Diseņo de un filtro fir pasobajo por el metodo de las series de %Fourier clear all; close all; fc = 11e3; fm = 44e3; Fc = fc/fm; windows=['boxcar ';'bartlett';'hamming ';'hanning ';'blackman']; colors=['b ';'r ';'m ';'--b';'--r']; %% Numero de puntos del filtro %% N puede ser par o impar ya que se puede construir un filtro pasobajo %% siempre que h[n] sea par N = 25; n=0:N-1; %% Filtro pasobajo ideal hlpi = 2*Fc*sinc(2*Fc*(n-(N-1)/2)); %% Aplicamos ventanas espectrales a este filtro ideal M=500; %% Nš de puntos para calcular la Resp Freq for i=1:size(windows) eval(['w=' windows(i,:) '(N);']); hlp = hlpi.*w'; %% Normalizar de forma que |H(0)|=1 hlp = hlp/sum(hlp); [H,f]=freqz(hlp,1,M,fm); plot(f,abs(H),colors(i,:)); hold on; end grid;hold off; legend('rect','bartlett','hamming','hanning','blackman'); xlabel(['Frecuencia (Hz)']); ylabel(['|H(F|']); title(['Filtro Pasobajo, fc=' num2str(Fc*fm/1000) 'KHz, fm=' ... num2str(fm/1000) 'KHz, N=' num2str(N)]); eval(['print -depsc2 fir_lp_wind_N' num2str(N)]); pause;close