AMPD——峰值监测算法(python运行验证过程)
使用环境:
VScode——https://vscode.cdn.azure.cn/stable/7db1a2b88f7557e0a43fec75b6ba7e50b3e9f77e/VSCodeSetup-x64-1.63.0.exe
python——https://dl.softmgr.qq.com/original/Development/python-3.8.5-amd64.exe)
安装参考——https://blog.csdn.net/m0_59162248/article/details/128047979



1、在vscode的终端加载相应的库:
pip install numpy
pip install matplotlib
2、运行和调试
3、得到运行结果

在数字信号处理中,经常涉及到波峰(或波谷)查找算法,比如心率测量、步数计数等。对于周期信号或者准周期信号,有一种称之为Automatic multiscale-based peak detection (AMPD),即自动多尺度峰值查找算法。
其优势是:
(1)算法本身(几乎)没有超参数,无需调参,对信号具有良好的自适应性,唯一的假设是信号是周期的或者准周期的;
(2)抗噪能力强,后面可以看到,对周期性的要求也不是很高。
就是用一个多尺度的滑动窗口去两侧进行比较,寻找局部最大值。
波谷的计算方式只需要把数据乘以-1反转一下就可以了。
来源:https://www.joinquant.com/view/community/detail/365fcbe266014bba8a77b12b04f54be7