小波的特征提取能力,真的是信号里的小能手。MATLAB那套小波变换的用法,挺适合搞心电图、加速度信号这些波形的数据。你要是搞 R 波检测,这套代码就对味。思路也不复杂,用离散小波变换把信号分解,再抓 R 波那几个突出的点,检测效率高,稳定性也不错。
心电图的 R 波提取是个老生常谈的问题,多人用傅里叶,但说实话它对突变信号不够细。小波就不一样,能兼顾时域和频域。你只需要用 MATLAB 的wavedec函数,分层分频,再定位峰值,效果还蛮理想的。
配套资源也齐全,像这个CC-MATLAB 心电图 R 波检测工具就挺实用的,拿来就能跑;还有多信号峰值检测器,适合一堆数据一起扫;甚至还有加速度计三轴峰值检测的优化代码,灵活性也高。
小波不止搞 R 波,像图像边缘检测也能用它,这篇就挺有参考价值。还有做 fMRI 信号的,也能看看SpikeAnalyzer。一套东西多种用法,还是香的。
如果你正在折腾信号,是做特征提取这块,不妨把这些代码撸一遍。对 MATLAB 小波模块不熟也没关系,代码都带注释,照着改改基本能跑通。顺手还能看看这篇关于小波的提取方法,原理讲得清楚,调参数也方便。