【发布时间】:2017-09-15 07:27:07
【问题描述】:
我正在编写从加速度计获取信号的代码,并使用 TVD 算法对信号进行去噪。正如我们在下图中看到的那样,我设法做到了:
但我想检测峰值,我认为我可以在 MATLAB 中使用 findchangepts 函数,但是当我运行它时,我有以下内容:
我们可以看到它没有检测到峰值。有谁知道函数中的任何设置,或者在峰值内去噪的方法?
【问题讨论】:
-
从docs: "
findchangepts(x)返回 x 的平均值变化最显着的 index。` 使用findchangepts(x,'MaxNumChanges',5)指定多个点。或者使用findpeaks。在问这里之前总是做一个简单的文档搜索...... -
感谢@Wolfie,我也进行了该搜索,但问题是我现在无法确定确切的更改数量,因为代码将用于多个信号,并且在信号,可能彼此不同。此外,当我使用 findpeaks 函数时,它会为我提供所有峰值,在照片中您可以看到的信号中,虽然看起来不是,但它是 5402 个峰值,这就是我要求更好过滤的原因。
标签: matlab signal-processing noise-reduction