【问题标题】:Audio record in android and FFTandroid和FFT中的音频记录
【发布时间】:2015-05-09 19:12:38
【问题描述】:

我正在使用我发现的这段代码来录制麦克风音频,我没有将数据写入 PCM 文件,我只是将数据写入 ByteArrayOutputStream 变量:Android AudioRecord example

当我完成记录时,我有一个字节数组。我应该如何使用 FFT 分析字节数组?简单来说,我正在尝试分析 FSK 声波。

【问题讨论】:

  • 你有什么问题?有许多适用于 android 的快速 FFT 实现。只需使用一个库。
  • @codemonkey 我会澄清这个问题,我找到了这个实现:ee.columbia.edu/~ronw/code/MEAPsoft/doc/html/… 我真的不知道如何使用它,我发现还有 2 个实现,但让我们继续这个,我需要如何使用它?
  • 你发布的Java类有一个main方法。 main 方法向您展示了如何使用它。
  • 请记住:要解码 FSK 信号,您不需要 FFT。
  • 我试图在答案中解释它。

标签: android audio fft record frequency


【解决方案1】:

我想我现在明白了你的问题。您想知道如何使用 android 解码 FSK 信号吗?为此,您想使用 FFT 吗? 您可以在没有 FFT 的情况下实现这一目标。

Android 演示应用

There is the source code 的实现 FSK 调制/解调的 Android 应用程序。

FSKModule.java 实现了一个使用 3150Hz/1575Hz 作为标记/空间的解码器。重要的方法是findStartBitparseBitsprocessSoundcountPeaks。该实现仅计算时间片内的峰值数量。通过峰值的数量,您可以推断出相应的频率并解码信号。这比使用 FFT 更容易、更快捷。

为什么不使用 FFT?

描述when to (not) use the FFT.There is a nice blog(例如Why EQ Is Done In the Time Domainother interesting things

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 2017-10-15
    • 2017-09-10
    • 2012-06-09
    • 1970-01-01
    相关资源
    最近更新 更多