复数转换
如下图复数,由于,所以,这个就是复数的三角形式。
这里,是模,,是辅角。在讨论音频频域,即stft变换后的复数时,分别称为幅值和相位。
根据欧拉公式(其中i是虚数符号),可得,这个公式可以方便地把幅值和相位还原回复数,进而做istft,将频域信息转回到时域,即wave波形。
PSF推导
参考论文:PHASE-SENSITIVE AND RECOGNITION-BOOSTED SPEECH SEPARATION USING DEEP RECURRENT NEURAL NETWORKS
记clean(论文里叫做speech)的fft结果为s,是复数域;记noisy(即clean加noise)的fft结果为y,是复数域。
则可以定义如下filter(或者叫mask):
mask/filter | formula(指网络的输出。把网络的输出和y做点乘,得到estimated s,即;或者把输出和|y|做点乘法,得到estimated |s|,即。其中包含相位,使用y的相位) |
ideal amplitude filter | |
ideal complex filter | |
phase sensitive filter | ,推导过程如下 |
其实是的实部(这样模型输出的就是实数,而不是复数,可以简化模型,因为当前pytorch不支持复数域的反向求导),因此用法和一样,即把网络输出的filter与y的实部虚部分别点乘。
的推导过程:。根据上文的公式,可得,因此。这里r就是复数的模,因此,记,则,因此。