我使用了 MMSE STSA 估计器来获得音频信号的幅度。原始信号与白噪声相结合,我使用 Ephraim 和 Malah 在旧研究论文中给出的算法来估计干净信号的幅度。现在我只有幅度信息,没有相位。问题是:这是否足以使用 ifft 重建音频信号。如果不能,我可以使用任意相位,如白噪声相位吗?请告诉我
提前谢谢了
我使用了 MMSE STSA 估计器来获得音频信号的幅度。原始信号与白噪声相结合,我使用 Ephraim 和 Malah 在旧研究论文中给出的算法来估计干净信号的幅度。现在我只有幅度信息,没有相位。问题是:这是否足以使用 ifft 重建音频信号。如果不能,我可以使用任意相位,如白噪声相位吗?请告诉我
提前谢谢了
这是相位的 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)计算的增益因子仅改善幅度。因此,语音信号是从(希望)改进的幅度和原始相位中重建的。为什么这个工作已经在评论中解释过(主要论点通常是人耳对原始相位的变化不敏感,只要它们不是随时间变化的)。