gpt4 book ai didi

android - 在 AudioRecord Android 中查找峰值频率

转载 作者:行者123 更新时间:2023-11-30 02:56:49 25 4
gpt4 key购买 nike

我需要不断地识别 prek 频率。我试过 FFTJTransform
但我没有得到正确的频率,而且它有很多噪音。我不知道如何纠正。我在谷歌上搜索过,不幸的是我没有找到合适的。
因此,如果您有任何其他确定峰值频率的工作示例。

请与我们分享,

谢谢。

最佳答案

我仍然不确定您的输入信号是什么,或者您如何知道您从傅立叶分析和/或峰值检测器中获得了错误的峰值频率。

一般来说,要测试 FFT,您需要合成纯音,例如这个 32 Hz 余弦音。

Synthetic 32 Hz cosine tone - Sooeet.com FFT calculator

当您使用 FFT 处理这个纯音时,您应该得到一个 32 Hz 的单峰,如下所示:

FFT spectrum of synthetic 32 Hz cosine tone - Sooeet.com FFT calculator

要测试您的峰值检测代码,您需要将 32 Hz 音调衰减为一半功率,并在 64 Hz 处添加另一个全功率纯音,如下所示:

Synthetic 32 Hz and 64 Hz cosine tones - Sooeet.com FFT calculator

当您使用 FFT 处理这两个谐波时,您应该在 32 赫兹和 64 赫兹处得到两个峰值,并且 32 赫兹峰值的功率应该是 64 赫兹峰值的一半。

FFT spectrum of synthetic 32 Hz and 64 Hz cosine tones - Sooeet.com FFT calculator

在您的代码可以很好地处理上述合成信号后,您应该尝试一个真实的已知信号,例如在原声吉他上拨动的这个单个 E2 音符:

Guitar E2 note - Sooeet.com FFT calculator

此 E2 音符信号的 FFT 频谱如下所示:

FFT spectrum of guitar E2 note - Sooeet.com FFT calculator

对于这个真实信号,您的峰值功率检测器应该找到 161 Hz 的峰值,对于这个信号来说,它恰好是 E2 音符的一次谐波。 80 Hz 处的较低功率峰值是 E2 音符的真实基频。

可以使用 Sooeet FFT calculator 生成合成信号和真实信号

关于android - 在 AudioRecord Android 中查找峰值频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23130762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com