algorithm - 过滤和平滑算法

标签 algorithm matlab filtering signal-processing

我有这个原始数据集: enter image description here

我想过滤,以获得平滑的曲线(在这个例子中,噪声总是会降低信号,很少会增加信号)

我实现了一个基于 kmean 的算法来过滤它并且有这个: enter image description here

但仍然不够平滑,因为在原始数据中我们可以清楚地看到整体曲线形状,但在过滤后的数据中这个形状被破坏了。

我尝试使用移动平均和 Savitzky-Golay 过滤,但两者给出的结果都比我基于 kmeans 的算法差。

对于最适合这种噪声和信号的算法,您有什么想法吗?欢迎任何 matlab 示例。

谢谢

最佳答案

Median filtering是一种用于消除类似噪声的技术。由于向下噪音比向上噪音更有可能,您可以使用第 75 个百分位数(或您有什么)而不是每个窗口的中位数。

关于algorithm - 过滤和平滑算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27707547/

相关文章:

algorithm - 背包算法的变体

c++ - 如何重构嵌套的for循环?

c# - 使用 linq 查找跨多个属性的最佳匹配

java - 使用 lambda 根据索引或最后一个数组值修改对 Java Stream 进行过滤

arrays - 从三个数组中找到每个元素的最大乘积

根据项目索引将数组分成 N 组的算法(应该很简单)

performance - 在Matlab中使用Polyfit拟合值

matlab - 生成具有 N 个非零元素的随机稀疏矩阵

performance - 在函数期间在 Matlab 中解压缩文本文件的最快方法是什么?

php - 像数据库查询一样过滤掉数组