找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12262|回复: 1
打印 上一主题 下一主题
收起左侧

五点均值法滤波滤波方法(平滑处理)MATLAB程序

[复制链接]
跳转到指定楼层
楼主
五点滑动平均法平滑处理
通过数据采集系统采样得到的振动信号数据往往叠加有不规则的随机干扰信号。由于随机干扰信号的频带较宽,有时高频成分所占比例还很大,是的采集到的数据绘成的振动曲线上呈现许多毛刺,为了消除干扰信号的影响,提高振动曲线的光滑度,常常需要对采样数据进行平滑处理。利用最小二乘法原理对离散数据进行线性平滑的方法称为直线滑动平均法。


MATLAB源程序如下:
  1. function y = mean5( x,n )
  2. %五点滑动平均分法平滑处理
  3. % 输入
  4. %   x  待平滑信号
  5. %   n  平滑次数
  6. %   输出
  7. %   y   平滑后信号

  8. %exanple:
  9. % N = 1000;
  10. % t=0:0.1:(N-1)*0.1;
  11. % x = 5*sin(t);
  12. % a = rand(1,1000)*0.5;
  13. % y = x+a;
  14. % subplot(311)
  15. % plot(t,x);
  16. % legend('原始信号')
  17. % subplot(312)
  18. % plot(t,y)
  19. % legend('加入噪声信号')
  20. % z = mean5(y,10);
  21. % subplot(313)
  22. % plot(t,z)
  23. % legend('平滑处理后信号')


  24. L = length(x);%信号长度
  25. a = x;
  26. for k = 1:n
  27.     b(1) = (3*a(1)+2*a(2)+a(3)-a(4))/5;
  28.     b(2) = (4*a(1)+3*a(2)+2*a(3)+a(4))/10;
  29.     for j = 3:L-2
  30.         b(j) = mean(a(j-2:j+2));
  31.     end
  32.     b(L-1) = (a(L-3)+2*a(L-2)+3*a(L-1)+4*a(L))/10;
  33.     b(L) = (-a(L-3)+a(L-2)+2*a(L-1)+3*a(L))/5;
  34.     a = b;
  35. end
  36. y = a';
  37. end
复制代码

所有资料51hei提供下载:
mean5.rar (505 Bytes, 下载次数: 42)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶2 踩
回复

使用道具 举报

沙发
ID:393578 发表于 2019-6-26 08:31 | 只看该作者
挺好的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表