V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sixer
V2EX  ›  问与答

去毛刺数据算法,我这样的思路对不对?

  •  
  •   sixer · 2015-03-26 16:00:18 +08:00 · 5627 次点击
    这是一个创建于 3325 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的思路:
    1、确定一个误差范围R
    2、确定一个误差比例临界值P,即超过这个比例就认为是毛刺数据
    3、将每一个数据都与其他的数据进行比较(求差的绝对值),并统计其中超过误差的数量,再除以总数,得到误差比例,如果这个比例超过P,就将这个数据删掉

    请教各位!谢谢!

    6 条回复    2015-03-27 07:14:12 +08:00
    li2150
        1
    li2150  
       2015-03-26 17:49:43 +08:00
    没整明白毛刺数据是什么东西。不过我也不是专家,下边的内容我就随口一说了。你要是想把曲线弄得平滑点,做控制的有个东西叫low pass filter。你要是想去除偏差太大一看就不对头的数据,统计学上好像也有相应的算法。
    sh4n3
        2
    sh4n3  
       2015-03-26 18:50:50 +08:00
    超过临界值的数据可以删掉?
    -
    水过通信,不知道对不对。Low pass filter 好像也是可以的。
    我们课上做实验也要滤毛刺,跟楼主思路差不多,只是最后不把数据删除,而是

    * 将该数据减去超出部分的值
    * 将数据替换为平均值
    mhycy
        3
    mhycy  
       2015-03-26 19:06:30 +08:00
    去毛刺就是低通过滤,和一楼说的一样。
    如果没有特别需求,滑动平均法解决
    如果是通讯领域,也许有频率要求,写个滤波器吧
    bugeye
        4
    bugeye  
       2015-03-26 21:01:23 +08:00
    去毛刺算法可以用低通滤波器。楼主的想法是最简单的想法,但肯定不如现成的算法。

    事实上,信息学研究的就是这些东西,有非常成熟的一套体系(从傳利叶变换到小波分析)。如果要求不高,你写得大概就可以了。

    如果要求高,那必然要去学信息学。大学本科学个几年也只是初步。算法可以参考 http://blog.csdn.net/zhoufan900428/article/details/9076283
    DingSoung
        5
    DingSoung  
       2015-03-26 23:41:31 +08:00
    用滤波器呀
    yangzh
        6
    yangzh  
       2015-03-27 07:14:12 +08:00 via iPhone
    可以。这是所谓的 thresholding 。

    但还是建议学习一下更加多的现成的 denoising 算法。比如说利用傅里叶变换等的方法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2214 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 09:40 · PVG 17:40 · LAX 02:40 · JFK 05:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.