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)