【发布时间】:2022-01-11 14:11:32
【问题描述】:
我正在处理音频数字信号处理和双耳音频处理。 我还在学习基础知识。 目前的想法是进行反卷积并获得脉冲响应。
正在发生的事情的详细描述:
在这里,一个指数扫描信号被采集并通过扬声器回放。使用麦克风录制回放。使用零填充(可能是原始长度的两倍)扩展记录的信号,并且原始指数扫描信号也被扩展。两者都采用 FFT(扩展记录和扩展原始),它们的 FFT 被划分,我们得到房间传递函数。最后,采用逆FFT并进行一些加窗以获得脉冲响应。
我的问题:
我很难在 python 中实现这个图。你将如何划分两个 FFT?可能吗?我可能可以执行所有步骤,例如零填充和 fft,但我想我没有走正确的路。我不明白窗口和丢弃后半部分选项。
请任何有他/她知识的人告诉我如何用扫描信号在 python 中实现这个?只是一个小例子也有助于用很少的情节获得一个想法。请帮忙。
图片来源:http://www.four-audio.com/data/MF/aes-swp-english.pdf
提前致谢, 耆那教
【问题讨论】:
-
一般来说,与编写软件一样,一种方法是先解决一个更简单的问题,然后再爬上复杂的山......将一个已知信号(例如正弦波)输入您的 FFT 代码以转换数据从时域到频域...绘制输入信号和输出,以确认您可以正确识别 FFT 调用输出中的相同频率作为源频率...然后使用此频域信号作为输入反向 FFT 调用应输出与原始源正弦波非常相似的时域......一旦工作开始增加复杂性
-
在学习如何编写代码时,它不是为了获得解决方案,而是在学习如何解决问题和避免使用库或其他人的罐头解决方案对你没有帮助......而是编写代码自己算法(可能除了 FFT 调用)......事实上,我鼓励你自己从头开始编写自己的逆 FFT 代码,而不需要任何库......学习编码类似于学习数学,它都是关于知识层的,并且是跳跃超过一层会在您的知识上留下空白......目标是在从问题到解决方案的路径中没有这样的空白
标签: python audio signal-processing fft acoustics