马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
<P ><FONT face="Times New Roman"> MATLAB</FONT>提供了的函数<FONT face="Times New Roman">freqz</FONT>计算频率响应,但不能从它确定振幅响应。试自己用<FONT face="Times New Roman">MATLAB</FONT>语言分别编写Ⅰ-Ⅳ四种类型线性相位<FONT face="Times New Roman">FIR</FONT>的振幅响应<FONT face="Times New Roman">M</FONT>函数文件,要求每个函数的输入参数为滤波器的脉冲输入(<FONT face="Times New Roman">impulse response</FONT>),输出包括为幅值(振幅)响应(<FONT face="Times New Roman">amplitude response</FONT>),频率<FONT face="Times New Roman">w</FONT>(<FONT face="Times New Roman">w=[0:500]’*pi/100</FONT>),以及滤波器系数和滤波器阶数。例如对于第一类函数声明为:<p></p></P>
<P ><FONT face="Times New Roman"> function [H, w, coef, order]=yourname_type1(h)<p></p></FONT></P>
<P ><FONT face="Times New Roman"> <p></p></FONT></P>
<P ><FONT face="Times New Roman"> </FONT>利用以上<FONT face="Times New Roman">4</FONT>个函数分别确定以下滤波器振幅响应:<p></p></P>
<P ><FONT face="Times New Roman">1) h(n)={-4,1,-1,-2,5,6,5,-2,-1,1,-4}<p></p></FONT></P>
<P ><FONT face="Times New Roman">2) h(n)={ -4,1,-1,-2,5,6,6,5,-2,-1,1,-4}<p></p></FONT></P>
<P ><FONT face="Times New Roman">3) h(n)={ -4,1,-1,-2,5,0,-5,2,1,-1,4}<p></p></FONT></P>
<P ><FONT face="Times New Roman">4) h(n)={ -4,1,-1,-2,5,6,-6,-5,2,1,-1,4}<p></p></FONT></P>
<P >注意判断每个线性相位脉冲响应对应的滤波器类型。<p></p></P>设计GUI,可以选择线性相位FIR滤波器的类型,当选择某一类型时,显示上面四个滤波器中相应类型滤波器的脉冲响应(显示为stem)和幅值响应(显示为曲线),滤波器系数(显示为stem),以及零极点图(可用函数zplane)四个子图。请各位高手指点。 |