原理介绍
声源分离算法用于从混合的观测声信号中分离出一个或者多个期望源信号,如语音降噪、去混响、音乐信号分离等。评价一个声源分离算法性能的好坏,就是要衡量算法所提取的源信号和真实源信号之间的差异。目前最常用的评价指标是Emmanuel[1]等提出的源失真比(source-to-distortion ratio, SDR)、源干扰比(source-to-interference ratio, SIR)和源伪影比(source-to-artifact ratio, SAR)。下面我们来介绍一下指标计算的原理。
假设 s j ( t ) s_{j}(t) sj(t)( 1 ≤ j ≤ n 1 \le j \le n 1≤j≤n)为第 j j j个声源信号, x i ( t ) x_{i}(t) xi(t)( 1 ≤ i ≤ m 1\le i \le m 1≤i≤m)为第 i i i个麦克风采集的观测信号, a i j ( τ ) a_{ij}(\tau) aij(τ)为声源与麦克风之间的声传播路径滤波器,则声源信号的混合过程可以表示为
∑ j = 1 n ∑ τ = 0 + ∞ a i j ( τ ) s j ( t − τ ) + n i ( t ) \sum_{j=1}^{n} \sum_{\tau = 0}^{+ \infty } a_{ij}(\tau)s_{j}(t-\tau)+n_{i}(t) j=1∑nτ=0∑+∞aij(τ)sj(t−τ)+ni(t)其中, n i ( t ) n_{i}(t) ni(t)是加性的传感器噪声。表示为矩阵形式为
x = A ⋆ s + n \mathbf{x}=\mathbf{A}\star \mathbf{s}+\mathbf{n} x=A⋆s+n其中, ⋆ \star ⋆为卷积符号,粗体字母表示矩阵,如 x = [ x ( 0 ) , x ( 1 ) , . . . , x ( T − 1 ) ] \mathbf{x}=\left [ \mathbf{x}(0), \mathbf{x}(1),...,\mathbf{x}(T-1) \right ] x=[x(0),x(1),...,x(T−1)]。方便起见,将由 s j ( t ) s_{j}(t) sj(t)组成的向量简记为 s j s_{j} sj。
我们把从观测信号中估计的源信号表示为 s ^ j \hat {s}_{j} s^j,它可以分解为以下四个分量
s ^ j = s t a r g e t + e i n t e r f + e n o i s e + e a r t i f \hat {s}_{j}=s_{target}+e_{interf}+e_{noise}+e_{artif} s^j=starget+einterf+enoise+eartif这四部分依次代表着 s ^ j \hat {s}_{j} s^j中有关真实源信号 s j s_{j} sj的成分、来自其他源信号 ( s j ′ ) j ′ ≠ j (s_{j'})_{j' \ne j}