毕业设计(论文)
图3-6 限幅法、限速法滤波
从上面的滤波效果图,可以看到左边的限幅法波形非常干净,几乎没有任何毛刺。从原始信号和滤波信号的对比中,我们可以看出限幅法的滤波结果滤除几乎所有噪声,但也只保持了原信号的部分重要信息,实际的有用信号不可能完全没有波动。算法对原始采样数据的细节信息保留不完整。对于本次的冲击测试数据来说,总体保持了大部分重要的信号,结果可以接受。而右图限速滤波则效果不佳,滤波后的图形噪声干扰有所减少,但是还是有许多噪声被保留,其原因我认为是由于所受干扰属于波动频率较高的周期性随机噪声干扰,而限速滤波从上面流程图可以看出,如果两次采样值大于?y=0.03,本次数值保留但不采用,而会根据下一组数据判断,若下一组数据仍大于?y=0.03,则取两次数值的平均值,从而使得噪声信号最终以均值的方式被保留在采样数据中,所以该算法不适合本课题的冲击采样数据。
3.2.3一阶滞后法的设计
一阶滞后滤波又称为一阶惯性滤波,它是通过模拟硬件RC滤波器的方式来实现数字滤波,效果相当于硬件一阶RC滤波环节。该算法是通过将普通硬件RC滤波器的微分方程用差分方程来表示,使之变成简单关系式来实现的,即y(n)=a?y(n-1)+(1-a)?x(n)。从式子可以看出本次滤波的输出值主要取决于上次滤波的输出值和本次采样值而非上次的采样值和本次的采样值,与普通加权取平均有本质区别。这种算法对于MATLAB编程来说,编写起来十分简单,只要列写一个式子即可完成。但它模拟了具有较大惯性的低通滤波功能,抛弃了传统的硬件。 式子如下:
y(n)=a?y(n-1)+(1-a)?x(n) (3-1)
25
毕业设计(论文)
其中
a?TfTf?T----滤波系数 0
Tf----滤波时间常数
T-----采样周期
滤波系数a越大,滤波结果 越平稳,但是灵敏度越低;滤波系数a越小,灵敏度越高但是滤波结果平稳度越差。由此可见,灵敏度和平稳度似乎是一对相互制约的指标,二者无法完全兼顾。本文主要侧重于提高平稳度,经测试取得系数a=0.7滤波效果图如下:
图3-7 一阶滞后滤波
从图中看,一阶滞后滤波后图形的噪声得到相当的抑制,无论噪声的幅值大小还是噪声的密度都得到了改善,有效抑制了脉冲干扰,但仍有许多噪声没有被滤除。因此,在其后我又添加了算术平均滤波来滤除采样数据中的幅值变化不大的随机干扰。最终“一阶滞后滤波+算术平均滤波” 的滤波波形比较平滑,滤波效果不错。
3.2.4低通法的设计
3.2.4.1基于窗函数的FIR低通滤波器设计
FIR数字滤波器的设计方法主要有窗函数法、最优化设计法、最小二乘逼近法,本文采用的方法是实际FIR滤波器设计中比较常用的窗函数法,也称为傅立叶级数法。
设计FIR数字低通滤波器,要求通带边界频fp=0.8kHZ,阻带边界频率fs=1kHZ,通带最大衰减 rp=0.5dB阻带最小衰减rs=20dB,采样频率为
26
毕业设计(论文)
Fs=25kHZ。
窗函数法设计FIR低通滤波器的步骤大致为:
1、选择窗函数的类型和长度,确定窗函数的数学表达式。一般是根据阻带的最小衰减选择窗函数w(n)的类型,然后根据过渡带宽确定所选窗函数的长度N。
jw2、构造希望逼近的频率响应函数Hd(e)。根据实际要求,一般构造相应的
线性相位理想滤波器如(理想低通、理想高通、理想带通、理想带阻)另外,理想滤波器的截止频率wc近似为-6dB处的截止频率,即信号频率使幅值下降到最大值0.5倍处。 3、计算
hd(n):
1hd(n)?2?
??H??d(ejw)ejwndw (3-2)
4、加窗设计结果:
h(n)?hd(n)w(n) (3-3)
本文实际设计时,由于是在MATLAB环境下进行设计,可以比较简便地调
用工具箱函数来实现。
步骤1是直接根据设计指标选取窗函数的类型和长度,本文由于阻带最小衰减Rs=0.5dB,选择了汉宁窗,则过渡带宽满足??6.2?,即N=ceil(6.2*pi/w);%
N根据过渡带宽度求滤波器阶数
步骤2-4的解题过程是使用MATLAB信号处理工具箱函数来设计,直接调用其中的fir1函数即可设计。fir1调用格式如下:hn=fir1(N,wc,’ftype’,window) 其中: N------窗口长度
wc-----6dB处对π归一化截止频率,0?wc?1 ftype-----滤波器类型(如high、stop)
window----窗口类型 (如hamming、hanning)默认缺省则选用hamming窗 部分M 代码如下: wp=2*pi*800/Fs; ws=2*pi*1000/Fs;
wc=(wp+ws)/2;% 近似计算截止频率
w=2*pi*(ws-wp)/wc;% 过渡带宽
N=ceil(6.2*pi/w);% 根据过渡带宽度求滤波器阶数 window=hanning(N+1);% 汉宁窗
27
毕业设计(论文)
b=fir1(N,wc/pi,window); y1=filter(b,1,y);
图3-8 FIR数字滤波
图为滤波前后的信号波形,FIR滤波器即有限长单位冲激响应滤波器,它无反馈回路,是一种无条件稳定系统,具有线性相位特性,相比IIR滤波器需计算的数据少,从图中看,FIR数字滤波器很好地完成了滤波,频率通带内波纹小,阻带衰减快,图形平滑,充分显示FIR数字滤波器作为普遍使用的数字滤波器的优越性。
3.2.4.2基于脉冲响应不变法的IIR数字低通滤波器设计
一般,数字滤波器设计采用按技术指标先设计模拟滤波器然后通过某种方式转化为数字滤波器的方式。下文采用脉冲响应法设计模拟滤波器,其中有一些典型的优良滤波器类型可供采用,如Butterworth。然后将设计好的模拟滤波器转化为数字滤波器。 3.2.4.2.1Butterworth低通滤波器
这里使用脉冲响应不变法来设计巴特沃斯数字低通滤波器,而待过滤的数据并没有指定的参数要求。所以我们根据实际情况自己进行设定和修改以达到最佳滤波效果。根据频谱分析结果,我们设定通带边界频率fp=0.8kHZ,阻带边界频率fs=1kHZ,通带最大衰减采用常用值rp=0.5dB;阻带最小衰减通过实际测试在兼顾滤波效果和滤波器阶数N的情况下选择rs=2dB,采样频率已知为Fs=25kHZ。
低通巴特沃斯滤波器设计步骤如下: (1)确定阶数N
28
毕业设计(论文)
kp?100.1Rs?1?2.1894 (3-4) 0.1Rp10?12?fs?1.25 (3-5) 2?fp?sp?N?lg2.1894?3.51,取整N=4 (3-6)
lg1.25j(2k?N?1)?/2N(2)按公式pk?ek=0,1,2···N-1求取极点 p0,p1,p2,p3
归一化低通原型系统函数为
Ga(p)?1?(p?pk?04
k
(3-7)
)然后根据阶数N可得
Ga(p)?1 (3-8)
(p?p0)(p?p1)(p?p2)(p?p3)
(3)由p?s代入,将Ga(p)去归一化 ??c4325314H(s)?s?b3?s?b2?s?b1?s?b0?2 (3-9)
上面是通过计算直接求取,计算过程比较烦琐,在MATLAB中已经将该过程的计算打包成工具箱,只要调用函数即可实现。 下面用M程序编程实现
用脉冲响应不变法设计的Butterworth低通滤波器的M程序如下: clear; close all;clc; load data0.mat x=b(:,1); y=b(:,2); fp=800; fs=1000;
rp=0.5; %通带最大衰减 rs=2; %阻带最小衰减 Fs=25000; %抽样频率
Wp=2*fp/Fs; %数字角频率 Ws=2*fs/Fs; %数字角频率 [n,Wn]=buttord(Wp,Ws,rp,rs);
29