声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5746|回复: 5

[综合] MATLAB剔除奇异点的问题

[复制链接]
发表于 2009-3-3 17:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 wdhd 于 2016-9-14 10:53 编辑

  在振动数字信号的采集中,由于采集不当或外界干扰,或仪器的临时故障等原因,有时候会出现异常数据,即所谓的错点(也叫做奇异点)。错点的存在会严重影响信号的分析结果,特别是对高频分量的影响,必须给予剔除。
  剔除奇异点可以用以标准差(均方根)为基础的奇异点剔除法。这种方法是以数据值是否超过标准差的3倍为判别标准。通过对奇异点相邻点的值求和,再取平均的方法,剔除错点。
  以下是我剔除奇异点的MATLAB程序,可是剔除后的数据的长度和原始信号的不一样长,而且数据不同,长度相差的也不同,为什么呢?
  还有做剔除前后数据的互相关函数时,中间的那个极大值有什么意义?
  clear all
  fidin=fopen('qidong1.txt','r')
  u1=fscanf(fidin,'%f',inf)
  u_1=u1(abs(u1-mean(u1))<=3*std(u1))
  figure(1)
  subplot(211)
  plot(u1)
  subplot(212)
  plot(u_1,'m')
  hold on
  plot(u1,'b')
  [a,b]=xcorr(u1,u_1)
  figure(2)
  plot(a)
  [ 本帖最后由 baobao1982 于 2009-3-3 17:47 编辑 ]

qidong1.txt

189.95 KB, 下载次数: 34

qidong11.txt

189.94 KB, 下载次数: 29

回复
分享到:

使用道具 举报

发表于 2009-3-3 18:03 | 显示全部楼层
小波模极大值去噪,去看看吧
 楼主| 发表于 2009-3-12 15:58 | 显示全部楼层

回复 楼主 baobao1982 的帖子

在处理个别奇异值时,可以直接剔除该点吗?
 楼主| 发表于 2009-3-12 15:59 | 显示全部楼层

回复 沙发 Juneliu 的帖子

你的小波模极大值去噪
我不是很懂
请赐教
发表于 2009-3-21 20:29 | 显示全部楼层
个人讯号处理并非专家! 仅说说个人意见
LZ说的错点(奇异点), 看起来好像就是个人所称的spike
平常工程上会设定一准则(如是否超过标准差的3倍), 但不会剔除掉, 而会使用前後几点进行拟合(fitting)
u_1=u1(abs(u1-mean(u1))<=3*std(u1))就会剔除掉
LZ画互相关函数时, 使用plot(b,a)可能较可看出意义
 楼主| 发表于 2009-3-25 09:14 | 显示全部楼层

回复 7楼 ChaChing 的帖子

但还有个问题
我的奇异点都是出现在每个文件的开头的
使用u_1=u1(abs(u1-mean(u1))<=3*std(u1))
确实可以剔除掉
我上面已经说过了
当该值比较大时,剔除的效果等于把该值直接提出,文件少了1个数据
当该值比较小时,剔除的效果是以牺牲数据的长度为代价,这时文件少了数十个到数百个个数据
我觉得此方法不适合我的数据的奇异值剔除
不知道主任同意吗?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-6 05:57 , Processed in 0.155271 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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