本文介绍了无法取得正确的iphone频率值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图分析在iOS平台上的频率检测算法。所以,我发现使用几种实现FFT和CoreAudio的(和)。但是,在这两种情况下出现的频率一些IM precision存在:

I'm trying to analyze frequency detection algorithms on iOS platform. So I found several implementations using FFT and CoreAudio (example 1 and example 2). But in both cases there is some imprecision in frequency exists:


  • (1)对于A4(440Hz的)显示441.430664赫兹。

  • (1)为C 6 -C(1046.5赫兹)表示1518.09082赫兹。

  • (2)对于A4(440Hz的)显示了440.72赫兹。

  • (2)为C 6 -C(1046.5赫兹)表示1042.396606赫兹。

为什么发生这种情况,以及如何避免这个问题,并检测更准确的方式频率ω

Why this happens and how to avoid this problem and detect frequency in more accurate way?

推荐答案

分辨率在频域中是负相关的FFT箱的数目。您需要为:

Resolution in the frequency domain is inversely related to number of FFT bins. You need to either:


  • 增加FFT的大小,以获得更高的分辨率

  • 相邻箱的使用幅度来调整频率估计

  • 使用的频率估计,而不是如FFT的替代方法参数化模型

这篇关于无法取得正确的iphone频率值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 20:29