我有一个信号,我以500khz采样。我正在尝试检测传入数据中的上升,下降和峰值。峰值的基数可能为250 usc或2.5毫秒,幅度可能比本底噪声高6db或15db。不幸的是,我的snr不好。信号的直流电平不是恒定的,但移动速度比交流分量慢得多。
在决策点,我需要知道上升和下降的斜率。这是一个艰苦的实时系统,在下降斜率达到直流电平后,我真的需要在100usec中做出决定。
我正在寻找有关如何有效实现合适算法的建议。
目前,我进行移动平均(过去25个数据点加在一起)并尝试检测趋势。一旦发现上升趋势,便开始寻找下降趋势,一旦发现下降趋势,便可能再收集50个样本并开始计算。
现在,噪声很容易使该算法陷入困境,因此成为问题。
更新
为了他人的利益,我最终实现了移动平均线,之后是积分器。过去64个数据的移动平均线已经足够平滑,但是没有上升到一定程度,对最后8个值进行积分可以使上升回升,我只是在寻找上升和下降,后来我对斜率进行了线性回归。可以,不是很好,但是还可以。
您可以发布当前算法失败的数据序列图吗?
—
吉姆·克莱
尽管噪声很大,但执行此类操作还是很困难的。胡安乔关于区别对待的建议可能是一个很好的建议。
—
Daniel R Hicks,2012年