c - FFT:当我通过 ADC 读取音频信号时 .. 是信号的实部还是虚部
问题描述
因此,我正在阅读The Engineer's guide to DSP中的 FFT 实现,这是一本非常好的书,但有些事情让我感到困惑..
示例中使用的信号由两部分组成..实部和虚部..当我从连接到微控制器的 ADC 读取音频信号时..这个信号是什么..是实部还是虚部?? 我需要先对信号进行一些分析以提取实部/虚部吗?
数学不太好,所以如果你知道答案,请尽可能简化
非常感谢^_^
解决方案
您可以将音频作为实信号输入,将虚值输入设置为零。当您有一个复数输入时,您只需要担心实数和虚数输入值 - 也称为复数信号。这方面的一个例子是在射频无线电中,您有一个由 IQ 解调产生的 IQ 信号。
奖金事实:
作为纯实数输入信号的结果,合成的 FFT 输出将具有厄米对称性。这基本上意味着 FFT 的负频率点将反映正频率点,尽管在虚频率分量上有符号反转。
以上意味着您将只使用可用频率带宽的一半。复信号可以携带两倍于纯信号的频率信息。但是不用担心,您处理的是音频而不是射频。
如果您有立体声音频并且您正在使用 FFT 作为 FIR 滤波器的有效实现(频域中的乘法是时域中的卷积),您可以输入第二个音频输入作为虚数,以一次过滤 2 个音频通道。请注意,这不适用于使用 FFT 进行频率分析,因为您必须将信号分开。- 再次不要担心这个你不太可能需要担心这个。
推荐阅读
- angular - 我如何将数组对象数据填充到角度表中
- python - 这个程序的时间复杂度是多少
- algorithm - 一些问题的伪代码算法
- python - 将字符串从 '\' 替换为 '/' Python
- python - 由于一些奇怪的字符串,BeautifulSoup 找不到我的表
- python - 如何在 Gekko 中进行空间离散化?
- flutter - 如何在使用“冻结”库注释的类中添加自定义函数?
- c++ - 在 x64 上未调用 WM_DROPFILES
- javascript - Chrome 输入缓存太慢
- node.js - 使用 Node.js 上的正则表达式解析器从串行端口解析字节序列