基于matlab的iir数字滤波器的设计(编辑修改稿)内容摘要:

易出错,结果不直观。 数字高通滤波器 的设计  ,  ,通带最大衰减为 1dB,阻带最小衰减为 100dB。 基于 MATLAB 的 IIR 数字滤波器的设计 13 用 脉冲响应不变法 设计 巴特沃斯高通滤波器 , 程序 如下: Wp=*pi/T。 Ws=*pi/T。 %设置归一化通带和阻带截止频率 T=1。 %设置采样周期为 1 fs=1/T。 %采样频率为周期倒数 Ap=1。 As=100。 %设置通带最大和最小衰减 [N,Wn]=buttord(Wp,Ws,Ap,As,39。 s39。 )。 %调用 butter 函数确定巴特沃斯滤波器阶数 [B,A]=butter(N,Wn,39。 high39。 ,39。 s39。 )。 %调用 butter 函数设计巴特沃斯滤波器 W=linspace(0,pi,1000*pi)。 %指定一段频率值 hf=freqs(B,A,W)。 %计算模拟滤波器的幅频响应 [D,C]=impinvar(B,A,fs)。 %调用脉冲响应不变法 Hz=freqz(D,C,W)。 %返回频率响应 plot(W/pi,abs(Hz))。 %绘出巴特沃斯数字高通滤波器的幅频特性曲线 grid on。 xlabel(39。 Frequency/Hz39。 )。 ylabel(39。 Magnitude39。 )。 图 32脉冲响应不变法设计的巴特沃斯高通滤波器运行波形 用 双线性变换法设计巴特沃斯高通滤波器, 程序 如下: 基于 MATLAB 的 IIR 数字滤波器的设计 14 Wp=*pi/T。 Ws=*pi/T。 %设置归一化通带和阻带截止频率 T=1。 %设置采样周期为 1 fs=1/T。 %采样频率为周期倒数 Ap=1。 As=100。 %设置通带最大和最小衰减 [N,Wn]=buttord(Wp,Ws,Ap,As,39。 s39。 )。 %调用 butter 函数确定巴特沃斯滤波器阶数 [B,A]=butter(N,Wn,39。 high39。 ,39。 s39。 )。 %调用 butter 函数设计巴特沃斯滤波器 W=linspace(0,pi,400*pi)。 %指定一段频率值 hf=freqs(B,A,W)。 %计算模拟滤波器的幅频响应 [D,C]=bilinear(B,A,fs)。 %调用双线性变换法 Hz=freqz(D,C,W)。 %返回频率响应 plot(W/pi,abs(Hz))。 %绘出巴特沃斯数字高通滤波器的幅频特性曲线 grid on。 xlabel(39。 Frequency39。 )。 ylabel(39。 Magnitude39。 )。 图 33双线性变换法设计的巴特沃斯高通滤波器运行波形 数字带通滤波器的 设计 1  , 1  , 2  , 2  ,通带最大衰减为 1dB,阻带最小衰减为 100dB。 基于 MATLAB 的 IIR 数字滤波器的设计 15 用 脉冲 响应 不变法设计巴特沃斯带通滤波器, 程序 如下: Wp1=*pi/T。 Wp2=*pi/T。 Ws1=*pi/T。 Ws2=*pi/T。 %设置归一化通带和阻带截止频率 T=1。 %设置采样周期为 1 fs=1/T。 %采样频率为周期倒数 Ap=1。 As=100。 %设置通带最大和最小衰减 Wp=[Wp1,Wp2]。 Ws=[Ws1,Ws2]。 [N,Wn]=buttord(Wp,Ws,Ap,As,39。 s39。 )。 %调用 butter 函数确定巴特沃斯滤波器阶数 [B,A]=butter(N,Wn,39。 bandpass39。 ,39。 s39。 )。 %调用 butter 函数设计巴特沃斯滤波器 W=linspace(0,pi,1000*pi)。 %指定一段频率值 hf=freqs(B,A,W)。 %计算模拟滤波器的幅频响应 [D,C]=impinvar(B,A,fs)。 %调用脉冲响应不变法 Hz=freqz(D,C,W)。 %返回频率响应 plot(W/pi,abs(Hz))。 %绘出巴特沃斯数字带通滤波器的幅频特性曲线 grid on。 xlabel(39。 Frequency39。 )。 ylabel(39。 Magnitude39。 )。 基于 MATLAB 的 IIR 数字滤波器的设计 16 图 34脉冲响应不变法设计的巴特沃斯带通滤波器运行波形 用 双线性变换法设计巴特沃斯带通滤波器, 程序 如下: Wp1=*pi/T。 Wp2=*pi/T。 Ws1=*pi/T。 Ws2=*pi/T。 %设置归一化通带和阻带截止 频率 T=1。 %设置采样周期为 1 fs=1/T。 %采样频率为周期倒数 Ap=1。 As=100。 %设置通带最大和最小衰减 Wp=[Wp1,Wp2]。 Ws=[Ws1,Ws2]。 [N,Wn]=buttord(Wp,Ws,Ap,As,39。 s39。 )。 %调用 butter 函数确定巴特沃斯滤波器阶数 [B,A]=butter(N,Wn,39。 bandpass39。 ,39。 s39。 )。 %调用 butter 函数设计巴特沃斯滤 波器 W=linspace(0,pi,1000*pi)。 %指定一段频率值 hf=freqs(B,A,W)。 %计算模拟滤波器的幅频响应 [D,C]=bilinear(B,A,fs)。 %调用双线性转换法 Hz=freqz(D,C,W)。 %返回频率响应 plot(W/pi,abs(Hz))。 %绘出巴特沃斯数字带通滤波器的幅频特性曲线 grid on。 xlabel(39。 Frequency39。 )。 基于 MATLAB 的 IIR 数字滤波器的设计 17 ylabel(39。 Magnitude39。 )。 图 35双线性变换法设计的巴特沃斯带通滤波器运行波形 数字 带阻滤波器的设计 1  , 1  , 2  , 2  ,通带最大衰减为 1dB,阻带最小衰减为 100dB。 用 脉冲响应不变法设计巴特沃斯带阻滤波器, 程序 如下: Wp1=*pi/T。 Wp2=*pi/T。 Ws1=*pi/T。 Ws2=*pi/T。 %设置归一化通带和阻带截止频率 T=1。 %设置采样周期为 1 fs=1/T。 %采样频率为周期倒数 Ap=1。 As=100。 %设置通带最大和最小衰减 Wp=[Wp1,Wp2]。 Ws=[Ws1,Ws2]。 [N,Wn]=buttord(Wp,Ws,Ap,As,39。 s39。 )。 %调用 butter 函数确定巴特沃斯滤波器阶数 [B,A]=butter(N,Wn,39。 stop39。 ,39。 s39。 )。 %调用 butter 函数设计巴特沃斯滤波器 W=linspace(0,pi,1000*pi)。 %指定一段频率值 hf=freqs(B,A,W)。 %计算模拟滤波器的幅频响应 基于 MATLAB 的 IIR 数字滤波器的设计 18 [D,C]=impinvar(B,A,fs)。 %调用脉冲响应不变法 Hz=freqz(D,C,W)。 %返回频率响 应 plot(W/pi,abs(Hz))。 %绘出巴特沃斯数字带阻滤波器的幅频特性曲线 grid on。 xlabel(39。 Frequency39。 )。 ylabel(39。 Magnitude39。 )。 图 36脉冲响应不变法设计的巴特沃斯带阻滤波器运行波形 用 双线性变换法设计巴特沃斯带阻滤波器, 程序 如下: Wp1=*pi/T。 Wp2=*pi/T。 Ws1=*pi/T。 Ws2=*pi/T。 %设置归一化通带 和阻带截止频率 T=1。 %设置采样周期为 1 fs=1/T。 %采样频率为周期倒数 Ap=1。 As=100。 %设置通带最大和最小衰减 Wp=[Wp1,Wp2]。 Ws=[Ws1,Ws2]。 [N,Wn]=buttord(Wp,Ws,Ap,As,39。 s39。 )。 %调用 butter 函数确定巴特沃斯滤波器阶数 [B,A]=butter(N,Wn,39。 stop39。 ,39。 s39。 )。 %调用 butter 函数设计巴特沃斯 滤波器 W=linspace(0,pi,400*pi)。 %指定一段频率值 基于 MATLAB 的 IIR 数字滤波器的设计 19 hf=freqs(B,A,W)。 %计算模拟滤波器的幅频响应 [D,C]=bilinear(B,A,fs)。 %调用双线性变换法 Hz=freqz(D,C,W)。 %返回频率响应 plot(W/pi,abs(Hz))。 %绘出巴特沃斯数字带阻滤波器的幅频特性曲线 grid on。 xlabel(39。 Frequency39。 )。 ylabel(39。 Magnitude39。 )。 图 37双线性变换法设计的巴特沃斯带阻滤波器运行波形 切比雪夫数字 滤波器的设计 切比雪夫Ⅰ型滤波器在通带内幅度特性是等波纹的,在阻带内是单调的。 切比雪夫Ⅱ滤波器在通带内是单调的,在阻带内是等波纹的。 切比雪夫Ⅰ型低通滤波器的幅度平方函数为: )(11)(222cNajjCjH  上式结果是一个正实数,式 中的  是一个小于 1 的正数,它与通带的波 纹有关, 越大,波纹越大, c 为通带的截止频率, ()NCx时 N 阶切比雪夫多项式,定义为:  1))(c o sc o s ( 1))(( 11)(  xxN xxN c hchN xC  基于 MATLAB 的 IIR 数字滤波器的设计 20 切比雪夫滤波器的传递函数参数确定:  , c , N。 当 N 大于或等于 1 时,切比雪夫多项式递推公式为: )()()( 11 xCxNCxC NNN   切比雪夫滤波器的阶数 N 等于通带内等幅波动的次数,即最大值和最小值的总数,可由下式确定 (10 1)pA , (10 1)sA  () 其中 ,均为与衰减有关的参数, Ap 为通带内的最大衰减, As 为阻带内的容许衰减,它们的单位为 dB。 因为滤波器的幅度平方函数为: 222211)(11)( cNajjCjH 进而化简得到 : ()N cjC j  ,又因为 ( / ) 1c   ,由式上式得到:   ))/((/j 1 ccN jjNc hchjC )( 故滤波器的阶数 N 为:)()(11echchN  若要求阻带截止频率上的衰减越大,或过渡带内幅度特性越陡,则所需的阶数 N越高。 从式中可知切比雪夫滤波器的幅度平方函数也只有极点没有零点,且只需求出左半平面的极点,所以一旦求出  , c , N,就能确定 ()aHs。 数字高通。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。