本帖最后由 Sode 于 2018-9-29 14:28 编辑
基于MATLAB的理想低通滤波器的设计
对于不同滤波器而言,每个频率的信号的强弱程度不同。当使用在音频应用时,它有时被称为高频剪切滤波器, 或高音消除滤波器。低通滤波器概念有许多不同的形式,其中包括电子线路(如音频设备中使用的hiss 滤波器)、平滑数据的数字算法、音障(acousTIc barriers)、图像模糊处理等等,这两个工具都通过剔除短期波动、保留长期发展趋势提供了信号的平滑形式。 低通滤波器在信号处理中的作用等同于其它领域如金融领域中移动平均数(moving average)所起的作用;低通滤波器有很多种,其中,最通用的就是巴特沃斯滤波器和切比雪夫滤波器。
数字滤波器设计流程图
数字滤波器的设计步骤数字滤波器的设计步骤:根据数字滤波器的技术指标先设计过渡模拟滤波器得到系统函数Ha(s),然后将Ha(s)按某种方法(本实验采用双线性变换法)转换成数字滤波器的系统函数H(z)。具体为: (1)确定巴特沃斯数字低通滤波器的技术指标:通带边界频率ωp,阻带截止频率ωs,通带最大衰减аp,阻带最小衰减аs。 [color=rgb(51, 51, 51) !important](2)将数字滤波器的技术指标转换为模拟滤波器的技术指标。这里指ωp和ωs的变换而аp和аs保持不变。本题采用双线性变换法,其转换公式为:
(3)根据技术指标Ωp、Ωs、ωp和ωs用下面公式求出滤波器的阶数。
(4)根据N由下表求出归一化极点kp和归一化低通原型系统函数Ga(p)。
(5)将Ga(p)去归一化,将
代入Ga(p),得到实际的滤波器系统函数:
这里Ωc为3dB截止频率。 (6)用双线性变换法将模拟滤波器Ha(s)转换成数字低通滤波器系统函数H(z)。转换公式为
用matlab实现巴特沃斯低通数字滤波器Matlab程序如下: fs=500; t=0:1/fs:1; x=sin(2*pi*20*t)+2*sin(2*pi*100*t)+5*sin(2*pi*200*t); wp=2*30/fs; ws=2*60/fs; Rp=1; As=30; subplot(311); plot(t,x); TItle(‘输入信号’); [N,wc]=buttord(wp,ws,Rp,As); [B,A]=butter(N,wc); [H,W]=freqz(B,A); y=filter(B,A,x); subplot(312); plot(W,abs(H)); TItle(‘低通滤波器’); subplot(313); plot(t,y) TItle(‘30Hz’);
|