实现 CUSUM 以分割音高轮廓中的稳定部分

信息处理 沥青
2022-02-03 01:59:05

我得到了一个人的音高轮廓,一个人依次唱出几个不同的频率(八度音阶错误已清理)。我想将稳定部分与过渡部分(向上向下滑动)分开。下面是我的数据的一个例子。

在搜索了互联网和这个 stackexchange 之后,似乎我真正想做的是步骤检测,解决这个问题的常用方法是 CUSUM 算法(来源)。然而,我对如何正确实现这一点不知所措(我的统计数学不是那么好)。

从我读过的内容来看,CUSUM 是基于对数似然比。我已经阅读了该内容,但似乎无法理解这如何适用于每个样本的样本 dsp 编码。Bassevile 和 Nikiforov中的所有数学符号让我头晕目眩,而且我来自程序员的背景。

有人愿意为我指出正确的方向吗?有可用的资源吗?我当然非常愿意学习。

在此处输入图像描述

1个回答
check(n+1) = abs( x(n+1)- meanx(n) )
meanx(n+1) = ( x(n+1) + n*meanx(n))/(n+1)