瞬时频率的计算方法你是不是总觉得不太靠谱,尤其遇上非零均值或者有点线性漂移的信号?InstantFrequencyOCMethod这个程序就挺好用,核心用了个叫“密切圆法”的小技巧,蛮巧妙的,挺稳。比起传统的 Gabor 方法,它更不容易算出什么负频率那类奇怪结果。
代码是基于MATLAB开发的,操作也简单。输入是你采样好的信号列矩阵和采样率,输出就是一个对应的瞬时频率列矩阵。关键是它从粒子速度而不是粒子轨迹入手,这样一来即使你信号有点偏移也没事,结果还挺稳。
背后原理参考了 Hsu 他们那篇 2011 年的论文,学术味儿是有,但用起来其实不难。适合那些非平稳信号的场景,比如水下声学、地震波、或是复杂振动。
哦对了,代码里用了三点差分来做数值导数,简单暴力但挺实用,响应也快。你要是常信号的项目,尤其需要精细频率追踪的,推荐你下来看下,.m
文件直接跑就能出结果。
如果你想扩展一下用法,可以顺手看看这些相关资源,比如Gabor 滤波或基于过零检测的频率提取技术,对比一下效果也挺有意思。