logo资料库

matlab用三角窗设计数字高通滤波器及其滤波.doc

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
%三角窗设计数字高通滤波器 %过渡带宽度 %按三角窗计算滤波器的长度 %理想低通滤波器的截止频率 %求 FIR 系统函数系数 %求解频率特性 %实际通带波纹 %实际阻带波纹 figure(13); Wp=0.5*pi; Ws=0.4*pi; deltaw=Wp-Ws; N0=ceil(6.1*pi/deltaw); N=N0+mod(N0+1,2); windows=(triang(N))'; Wc=(Ws+Wp)/2; tao=(N-1)/2; n=0:1:N-1; m=n-tao+eps; hd=[sin(pi*m)-sin(Wc*m)]./(pi*m); b=hd.*windows; [H,w]=freqz(b,[1]); mag=abs(H); db=20*log10((mag+eps)/max(mag)); pha=angle(H); n=0:1:N-1; dw=2*pi/1000; Rp=-(min(db(Wp/dw+1:1:501))); As=-round(max(db(1:1:Ws/dw+1))); subplot(3,2,1);stem(n,hd); title('理想单位脉冲响应 hd(n)'); subplot(3,2,2);stem(n,windows); title('三角窗 w(n)'); subplot(3,2,3);stem(n,b); title('实际单位脉冲响应 hd(n)'); subplot(3,2,4);plot(w/pi,db); title('幅度响应(dB)'); axis([0,1,-100,10]); subplot(3,2,5);plot(w/pi,pha); title('相位响应(dB)'); figure(14); fs=50; n=0:1/fs:2; f=100*sin(2*pi*2*n)+100*sin(2*pi*4*n) +100*sin(2*pi*16*n)+ 100*sin(2*pi*20*n); y=fftfilt(b,f); Y=fft(y,64);
k=0:63;wk=2*k/64; subplot(4,1,1);plot(y); subplot(4,1,2);stem(y); subplot(4,1,3);stem(wk,abs(Y)); subplot(4,1,4);stem(wk,angle(Y));
分享到:
收藏