标题: 五点均值法滤波滤波方法(平滑处理)MATLAB程序 [打印本页]

作者: hufo1710087    时间: 2018-12-21 15:30
标题: 五点均值法滤波滤波方法(平滑处理)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)



作者: ymzhao    时间: 2019-6-26 08:31
挺好的




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1