基于Matlab的常用滤波算法研究(含代码) - 图文(5)

2019-07-13 18:02

毕业设计(论文)

第三章、冲击测试滤波算法设计及滤波效果分析

3.1 冲击测试采样数据的分析

冲击测试响应谱分析是动态信号分析仪的一项重要的功能。在冲击测试采样环境中,采样数据往往会受到来自环境中和系统电路本身的各种干扰,使采样数据难以反应被测系统的真实冲击频谱特性。本课题中这种干扰主要表现为环境的随机噪声干扰和周期性的电工噪声干扰。而随机干扰主要是数量少幅值变化大的脉冲干扰和数量多幅值变化小的一般干扰,电工干扰则是频率波动高的周期性的干扰,一般用电环境中都会存在。所以本课题的选用数字滤波算法必须既能抑制脉冲干扰又能抑制一般随机干扰。如果是通过低通数字滤波方式则要需要根据实际采样数据的频率特性,设置合理的截止频率和衰减指标,以达到更好地衰减甚至消除噪声的目的。

图 3-1 频谱分析

图3.1为冲击采样数据的频谱分析图,它是通过对采样数据进行离散FFT变换并调整频率位置所得。 频谱分析步骤如下:

1、对冲击测试数据采样、离散化,由于冲击测试数据已经是离散数列,而我们又不想减少原始数据的个数,所以只要直接读取即可。

2、将采样得到的数据进行离散傅立叶变换再取其绝对值,在MATLAB的命令为fft(y,n)和abs,其中y为待变换的离散数列,n进行变换的点数,这里直接取数列的离散数列个数n=2500。

3、对所得频谱进行调整,即fftshift命令。如果不进行调整可能不能反映正确的频率分布。

4、以频率f为横轴,以经fft变换后的Y为y轴,画出图形,图形一般是关于

20

毕业设计(论文)

y轴对称的图形。

整个变换过程为Y=fftshift(abs(fft(y,n))); 然后画出频谱图即plot(f,Y);

从频谱图中我们可以看到,所受干扰信号的频率分布很广、能量分散。实际上频谱图显示有用信号与噪声已经产生了混频但混频范围较小且混频范围内噪声能量小,不会对有用信号产生较大影响。而有用信号的能量主要集中在1000HZ以内,所以设置的下限频率为1000Hz,上限频率为800Hz。

3.2 滤波算法设计及效果分析

3.2.1 中位值平均法的设计

由前面所述冲击测试数据特点分析可知,测试数据受到脉冲噪声和一般的随机噪声的干扰。本文选用中位值平均滤波算法作为冲击测试数据的滤波算法,因为中位值滤波对脉冲干扰滤波效果较好,而算术平均滤波算法对于幅值变化不大的随机干扰效果佳,中位值平均滤波算法综合了两者的优势。设计过程中分为两个步骤,我首先单独设计了中位值滤波和算术平均滤波并验证了其滤波效果,然后再设计了理论上效果相当于“中位值滤波法”+“算术平均滤波法”的中位值平均滤波。而实际滤波效果与预期有一部分差异,所以对算法进行了一些改进以达到更好的效果。

1、单独设计“中位值滤波”和“算术平均滤波”并验证了其滤波效果 中位值滤波算法和算术平均滤波算法实现起来都比较简单,一个是对采样数据排序取中间值为本次有效值,另一个是采样N个数据计算算术均值为本次有效值。设计过程中主要考虑的参数是滤波窗口大小N,本次针对冲击测试采样数据滤波,影响N大小的因素主要是原始数据中的噪声频率f和采样频率fs。对于中值滤波比如假设N=5,测试滤波效果好。当采样频率fs不变时,噪声频率f下降时,如果选用同样大小的窗口N=5,由于噪声频率f下降,导致采样所得数据差异小,尖峰脉冲干扰难以被滤除,此时应该适当加大窗口N。同理,算术平均滤波也有类似的问题。实际的数据的采样频率是固定的为fs=25kHZ,所以主要受噪声频率f影响。测试过程中中位值窗口n1=13,算术均值窗口n2=15。结果显示:两者算法单独的滤波效果都不错,能够有效滤除数据的噪声。

下图为滤波效果图,其中滤波后的效果图为局部放大图:

21

毕业设计(论文)

图3-2 中位值、算术平均滤波

2、设计中位值平均滤波算法

中位值平均滤波算法首先去掉N个采样值中最大和最小的两个值相当于去掉了采样数据中两个不可信值,然后进行算术平均取为本次有效值。主要参数还是窗口的大小选取,经测试n1=15时噪声滤除效果较好同时基本保持了原波形的最大幅值。 M程序部分实现代码:

n1=15;%中值平均滤波窗口 y1 =[y;y(1:n1)]; for i=1:length(y) s=y1(i:i+n1-1); sort(s);

out(i)=mean(s(2:n1-2)); end y2=out;

22

毕业设计(论文)

图3-3 中位值平均滤波

原理上中位值平均算法能达到中位值滤波法”+“算术平均滤波法”的效果,但实际的滤波结果显示与预期效果有一定差距,基本上类似于算术平均算法的滤波效果,在毛刺减少方面比算术平均算法稍好。如图3.3为滤波前后的电压波形,相比滤波前,经中位值平均算法滤波的波形的毛刺明显减少,图形变得平滑自然。滤波算法简单,效果良好。主要缺点是波形仍然有一些不平滑,信号中仍然包含不少随机噪声,波形的最大幅值有所下降。所以为了进一步减少幅值变化不大的随机噪声,在其后又添加了一个中位值滤波环节,结果显示波形变得更加平滑,噪声基本被滤除,能够达到预期的要求。

3.2.2限幅法和限速法的设计

限幅法是根据生产经验,确定两次采样允许的最大差值?y,若滤波过程中两次采样值差值超过最大差值?y,则判定为噪声信号去掉采样值,取上次的采样值本次有效值。若小于最大差值?y,则保留信号取为本次有效值。实际设计中值?y的确定并不容易。如果?y取得过小,有用信号可能被滤除,如果?y取得过大,则噪声又无法被滤除。

在冲击采样数据滤波中,我根据其特点取?y =0.03,并根据实际情况修改了部分算法,经测试滤波效果可以接受。而限速法是限幅法的改进,照顾了滤波的实时性,又顾及了采样值的连续性。实际测试发现滤波效果并不好。 两算法的一般流程图分别如下:

23

毕业设计(论文)

图3-4限幅法流程图 图3-5限速法流程图

上图为一般程序判断流程,由于是冲击测试采样数据,我们的数据中肯定会出现冲击信号其两次采样值的差值很大的情况,所以最大差值?y我取了两个.当?y <=0.03,本次采样值保留,或?y >0.06本次也采样值保留。?y >0.06这个值是根据采样数据所受噪声一般是幅值变化不大的随机噪声和冲击测试数据特点来确定的。同样,限速法中我也添加了?y >0.06这个滤波条件。

24


基于Matlab的常用滤波算法研究(含代码) - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:苏大 - 基础物理 - (上)题库 - 试卷及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: