仅具有幅度的傅里叶逆变换 - 我也需要相位吗?

Posted

技术标签:

【中文标题】仅具有幅度的傅里叶逆变换 - 我也需要相位吗?【英文标题】:Inverse Fourier Transform with magnitude only - do I need the phase as well? 【发布时间】:2015-11-03 09:38:39 【问题描述】:

我在随机 wav 文件上使用了短时傅里叶变换,并对幅度谱进行了一些更改。为了“听到”我所做的,我试图通过使用逆 STFT 来扭转这个过程。

在 Python 中,频谱看起来像这样。 Magnitude Spectrum in Python

但是,如果我试图将整个东西转换回 wav 并查看它的频谱,它看起来像这样: Magnitude Spectrum after ISTFT

我只是使用逆 FFT 的幅度。我究竟做错了什么? 我也需要相位信号吗?即使我操纵幅度,我可以使用相同的相位信号吗?

# ....read wav-file, perform STFT on it and manipulate the magnitude spectrum
# Then (as follows) I'm trying to write it back
fs = 41000.0 # Frequency Spectrum

filteredwrite = istft(magnitude)

from scipy.io.wavfile import read, write
write('../data/mxx.wav', fs, filteredwrite.astype(x.dtype))

如果我在做 ifft(fft(F)),傅里叶函数可以正常工作——这里没有错。

【问题讨论】:

【参考方案1】:

相位是重建原始信号所必需的,因为分量频率的相对相位决定了这些波的叠加。

【讨论】:

现在我添加了初始相位,信号看起来完全一样,而且混乱了......

以上是关于仅具有幅度的傅里叶逆变换 - 我也需要相位吗?的主要内容,如果未能解决你的问题,请参考以下文章

傅里叶变换的结论汇总

用matlab进行傅里叶变换。傅里叶变换得到的相位谱、幅值谱有啥用?怎么分析?

5.10 图上的傅里叶变换和逆变换

请问卷积和傅里叶函数是属于哪个数学分支?

余弦信号的傅里叶变换分析

数字信号处理2:傅里叶变换