资源描述:
《MATLAB低通滤波器的设计代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单位冲激响应及其幅频响应及其代码单位冲激响应的绘制思路比较简单,就是将一条直线用stem函数绘制出来,其图形必须为23个点。其代码如下:n=0:22;x=n./n;stem(n,x);title('h(n)');axis([0,25,0,1.3]);单位冲激响应的幅频响应要用到专门的函数m文件。该函数文件可以在主程序中调用多次,节省篇幅。函数m文件代码如下:functionxk=dft(xn,N)n=[0:1:N-1];k=n;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;xk=xn*WNnk;不同窗函数低通幅频响应对比模块窗函
2、数不同,会对设计出的低通滤波器的性能不同。应尽量选取旁瓣小主瓣窄的窗函数。为了细致观察窗函数不同对设计的低通滤波器的不同影响,本次试验中设计了不同窗函数的低通滤波器的比较环节。各个窗函数设计低通滤波器的思路是相似的,只是其中的窗函数是不同的。用矩形窗设计低通滤波器的代码:D=str2num(get(handles.edit1,'string'));wn=D*pi;N=23;b=fir1(N,wn,boxcar(N+1));[w,t]=freqz(b,1,512);QX=plot(t,abs(w));set(QX,'LineWidth',2.0);title(
3、'矩形窗');用汉明窗设计低通滤波器的代码:D=str2num(get(handles.edit1,'string'));wn=D*pi;N=23;b=fir1(N,wn);[w,t]=freqz(b,1,512);QX=plot(t,abs(w));set(QX,'LineWidth',2.0)title('汉明窗');用三角窗设计低通滤波器的代码:D=str2num(get(handles.edit1,'string'));wn=D*pi;N=23;b=fir1(N,wn,triang(N+1));[w,t]=freqz(b,1,512);axis([0
4、,3.5,0,1.5]);QX=plot(t,abs(w));set(QX,'LineWidth',2.0)axis([0,3.5,0,1.4]);title('三角窗');用汉宁窗设计低通滤波器的代码:D=str2num(get(handles.edit1,'string'));wn=D*pi;N=23;b=fir1(N,wn,hanning(N+1));[w,t]=freqz(b,1,512);QX=plot(t,abs(w));set(QX,'LineWidth',2.0)title('汉宁窗');用布莱克曼窗设计低通滤波器的代码:D=str2num(
5、get(handles.edit1,'string'));wn=D*pi;N=23;b=fir1(N,wn,blackman(N+1));[w,t]=freqz(b,1,512);QX=plot(t,abs(w));set(QX,'LineWidth',2.0)title('布莱克曼窗');用凯泽窗设计低通滤波器的代码:D=str2num(get(handles.edit1,'string'));wn=D*pi;N=23;b=fir1(N,wn,kaiser(N+1));[w,t]=freqz(b,1,512);QX=plot(t,abs(w));set(Q
6、X,'LineWidth',2.0)title('凯泽窗');