幅度信息是否足以重建音频信号

信息处理 matlab 声音的 IFFT 重建
2022-02-22 20:57:45

我使用了 MMSE STSA 估计器来获得音频信号的幅度。原始信号与白噪声相结合,我使用 Ephraim 和 Malah 在旧研究论文中给出的算法来估计干净信号的幅度。现在我只有幅度信息,没有相位。问题是:这是否足以使用 ifft 重建音频信号。如果不能,我可以使用任意相位,如白噪声相位吗?请告诉我

提前谢谢了

2个回答

这是相位的 MATLAB 实验:

[x Fs Nbit]= wavread('test.wav',1024*100); % 获得一首歌曲 ;)
x = x(:,1); % 获取单个通道
Y = abs(fft(x)); % 一次对整个片段进行 FFT!
y = 真实的(ifft(Y)); % 丢弃所有相位信息并重建 y

y2 = 零(1,长度(x));% NOW:我们将分块处理!
for i=1:1024:100*1024 % 得到一个块,取它的 fft,从 fft 大小重建一个块
 y2(i:i+1023) = 实数(ifft(abs(fft(x(i:i+1023)))));
结尾

图,情节(x);% 一首歌曲
图,绘图(y);% 仅从整件的 MAGNITUDE IFFT 获得
figure,plot(y2);% 仅从 1024 个样本块的 MAGNITUDE 的 IFFT 获得

声音(x,Fs,Nbit);% 原本的
声音(y,Fs,Nbit);% 单件,这是垃圾!
声音(y2,Fs,Nbit);% 基于块,机器人但可理解!

您需要做的是使用原始嘈杂语音信号的相位,即根据某些最优性标准(在这种情况下为 MMSE)计算的增益因子仅改善幅度。因此,语音信号是从(希望)改进的幅度和原始相位中重建的。为什么这个工作已经在评论中解释过(主要论点通常是人耳对原始相位的变化不敏感,只要它们不是随时间变化的)。