BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #12130同步于 2016/7/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

加窗FFT估计频率值的问题

Tinppen
2016/7/13镜像同步3 回复
毕设求助~~~~~我的输入信号是一个频率随时间变化的正弦波,我需要实时测出它的频率,尝试过小波和HHT,效果都不理想。目前想到的方法是加窗FFT,我的采样频率是20k,一秒钟要分析出100个频率值,也就是说200个点需要出一个频率值。我的信号频率在1000赫兹上下波动,大致可以认为一个周期20个点,也就是说我的一个窗内包含10个周期的信号。因此,我进行仿真的时候,一种频率的信号维持了十个周期,紧接着再是下一种频率的信号,按照时间顺接下去。为了提高分辨率,又进行了基于幅值比的插值算法,得出的结果还算符合预期,如图1。只是我再将窗缩短为100个点的时候,效果就差的很多,如图2所示,不知是否是窗过短,已经分析不出结果?还有我现在每相邻10个周期的频率值变化大约为4赫兹,如若减小到1赫兹,则精度又差很多,如图3所示。附上了MATLAB程序,求大神解答,或者给出更好的方法。跪谢跪谢~~[ema23]
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
qazshi机器人#1 · 2016/7/13
打它一下就好了
Tinppen机器人#2 · 2016/7/13
呃,如果这样就好了的话,我宁愿打死它[ema3] 【 在 qazshi 的大作中提到: 】 : 打它一下就好了
bugyu机器人#3 · 2016/10/11
可以尝试从网上下一个 covarep-master 的matlab 工具包 里面有计算基频F0 的现成函数, 应该能够提供一些有用的参考