电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

matlab之经典数字滤波函数介绍VIP免费

matlab之经典数字滤波函数介绍_第1页
1/9
matlab之经典数字滤波函数介绍_第2页
2/9
matlab之经典数字滤波函数介绍_第3页
3/9
1 matlab 之经典数字滤波函数介绍 南京理工大学仪器科学与技术专业 谭彩铭 2010-3-12 1 butter 函数 设计一个 9 阶高通 Butterworth 数字滤波器,截止频率为 300Hz 图 1 图 2 下面看一看 freqz函数 例如对离散系统传递函数1212(1)(2)(3)( )(1)(2)(3)bbzbzH zaazaz freqz函数的的主要计算环节是计算()sjw TH e 编写下图所示程序验证之 Fs=1000; [b,a]=butter(9,300/(Fs/2),'high') freqz(b,a,128,Fs) 2 图3 图4 可见h1 和h 相等 图2 中出现小于-360 度是否表达其他不同的意义?-361 度和-1 度有什么区别吗?对于正弦波应该是一样的,故理论上说应该没有区别。 butter 函数的原理是什么? 顾名思义,butter 函数的原理是基于Butterw orth 滤波器。 这里始终要带着这个问题去研究,滤波系数本身有什么特性竟然可使低频的滤掉,高频的通过,其实这里想要寻找的是敏捷控程,理论上这个问题的答案已经很成熟。 2 impinvar 函数 用冲击响应不变法数字仿真模拟 Butterw orth 滤波器,程序如下。 Fs=1000; [b,a]=butter(2,300/(Fs/2),'high') [h,f]=freqz(b,a,128,Fs); h1=(b(1)+b(2)*exp(-j*2*pi*f/Fs)+b(3)*exp(-2*j*2*pi*f/Fs))./(a(1)+a(2)*exp(-j*2*pi*f/Fs)+a(3)*exp(-2*j*2*pi*f/Fs)); plot(abs(h1-h)) title('abs(h1-h)') 3 图5 3 bilinear 函数 用双线性变换法数字仿真模拟Butterw orth 滤波器,程序如下。 图6 4 fir1 函数 由理想滤波器幅频特性反推滤波系数,得出来的系数数量是无穷多的。故可采用加窗的方法舍去部分,留下有限的滤波系数数量,使仍能基本达到需要的滤波效果。 图7 Fs=4000; [b,a]=butter(2,2*pi*1e3,'s')%design analog Butterworth lowpass filter [bz,az]=bilinear(b,a,Fs) Window=boxcar(8); b=fir1(7,0.4,Window) freqz(b,1) Fs=4000; [b,a]=butter(2,2*pi*1e3,'s') %design analog Butterworth lowpass filter [bz,az]=impinvar(b,a,Fs) 4 图8 5 fir2 函数 fir2 函数的基本原理同fir1 函数,它的功能更进一层,可以设计任意形状的频率响应图形。 图9 f = 0:0.1:1; m = [0 0 1 1 0 0 1 1 1 0 0]; b = fir2(30,f,m); [h,w] = freqz(b,1,128); plot(f,m,w/pi,abs(h)) legend('Ideal','fir2 Designed') title('Comparison of Frequency Response Magnitudes') 5 ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

matlab之经典数字滤波函数介绍

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部