LabVIEW-实现均值滤波

题目要求

编写程序,实现如下目标:综合应用while循环和移位寄存器,以随机数方式模拟单路5~10V之间电压信号采集,并将当前采集数据与最近4次采集数据进行算术平均,作为采集结果的最终可用数据结果。可根据个人理解自主设计程序前面板,但需要尽可能模拟实用软件界面风格。

题目分析

根据题目要求,选择While循环结构,同时选择移位寄存器用来传递前几次数据。首先题目要求采用随机数方式模拟单路5~10V之间电压信号采集,因此通过调用函数节点“随机数(0-1)”,产生一个0-1之间的随机数,再对0-1之间的随机数乘以5,产生0-5之间的随机数,最后用10减去0-5之间的随机数,即可产生5-10之间的随机数。

在此基础上通过波形图表(原始波形)显示当前数据。再通过左侧的四个移位寄存器,将最近4次采集数据与当前采集数据进行求和(在函数选板中选择“布尔”—“复合运算”,更改模式为“加”),最后除以5,获得算术平均值,并通过波形图表(低通滤波后的波形)显示。为了更加清楚的观察到数据变化,调用“等待”函数节点,设置参数为“200”,实现每隔0.2秒采集一次数据。

实现过程

LabVIEW-实现均值滤波_第1张图片

总结 

通过对比两个波形发现:数据的大致趋势相同,实现了“低通滤波”,滤除了高频干扰信号,使波形平滑。

查阅资料得知,此处采用了均值滤波算法。平均值滤波算法是比较常用,也比较简单的滤波算法。在滤波时,将N个周期的采样值计算平均值,算法非常简单。当N取值较大时,滤波后的信号比较平滑,但是灵敏度差;相反N取值较小时,滤波平滑效果差,但灵敏度好。

优点:算法简单,对周期性干扰有良好的抑制作用,平滑度高,适用于高频振动的系统。

缺点:对异常信号的抑制作用差,无法消除脉冲干扰的影响。

LabVIEW-实现均值滤波_第2张图片 

 

你可能感兴趣的:(LabVIEW学习,均值算法,算法)