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秒采集一次数据。

实现过程

总结 

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

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

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

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

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值