fp=2000;fs=10000;df=fs-fp; fm=44100;fny=fm/2; Ap=0.5;As=50; ap=(1-10^(-(Ap)/20))/(1+10^(-(Ap)/20)); as=(1+ap)*10^(-(As)/20); run=1; while run==1, N=input('Enter filter order = '); %[N,Fo,Mo,W]=remezord([fp fs],[1 0],[ap as],44100); B=remez(N,[0 fp fs fny]/fny,[1 1 0 0],[as/ap 1]); [Hsp]=freqz(B,1,[fp fs],fm); fprintf(1,'Ap=%f\tap=%f\n',Ap,-20*log10(abs(Hsp(1)))); fprintf(1,'As=%f\tas=%f\n',As,-20*log10(abs(Hsp(2)))); otra=input('Otro filtro? S/N : ','s'); if otra=='s' | otra=='S', run=1; else run=0; end end [H,F]=freqz(B,1,500,fm); plot(F,20*log10(abs(H)));hold on;zoom;grid; plot([fp,fs],-[Ap As],'*r');hold off; fprintf(1,'N = %d\n',N);