%Filtro pasabanda utilizando el método de las series de Fourier %Especificaciones fp=[2000 3000]; fs=[500 5000]; fm=12000; Ap=1; As=45; %Se calculan las frecuencias digitales ffp=fp/fm; ffs=fs/fm; %Se modifican las especificaciones para obtener una misma frecuencia %con la menor banda de transición [minimum, idx]=min([ffp(1)-ffs(1) ffs(2)-ffp(2)]); if idx==1 ffs(2)=ffp(2)+minimum; else ffs(1)=ffp(1)-minimum; end %Por la tabla 2 Fp=(ffp(2)-ffp(1))/2; Fs=(ffs(2)-ffs(1))/2; Fo=(ffp(2)+ffp(1))/2; %Cálculo del orden del filtro Ws=1.91; %Se obtiene de la tabla 3 de los apuntes %En este caso vamos a utilizar la ventana de Hamming N=ceil(Ws/(Fs-Fp)); %Frecuencia de corte Fc=1.1*Fp; %Filtro pasobajo n=[-(N-1)/2:(N-1)/2]; hLP=2*Fc*sinc(2*n*Fc); %Se aplica la ventana de Hamming hLP=hLP.*hamming(N)'; %Filtro pasabanda hBP=2*cos(2*pi*n*Fo).*hLP; [H,F]=freqz(hBP,1,1000,fm); plot(F,20*log10(abs(H)));hold on; plot([fp fs],[-[Ap Ap] -[As As]],'*r');