马宝泽,张天骐,安泽亮,邓盼
(重庆邮电大学通信与信息工程学院信号与信息处理重庆市重点实验室,重庆 400065)
盲源分离(BSS,blind source separation)是一种在信源和混合信道系统均未知的状况下从观测信号中提取源信号的信号处理技术[1],其中考虑多径和时延的卷积盲源分离(CBSS,convolutive BSS)是比瞬时BSS更复杂的课题[2]。在CBSS 中,传感器接收到的观测信号是由多维源信号经过衰减时延后组成的,例如,在混响环境下采集的语音信号[3],会导致现有的瞬时BSS方法的失效。此外,在信号传输过程中,卷积混合比瞬时混合更符合实际情况,因此从卷积混合的多维观测信号中分离出源信号是很有挑战性的工作。
由于解决CBSS 的时域方法受卷积长度影响较大,且存在计算复杂度大、收敛速度慢的缺点,因而频域方法得到了广泛的研究[2-4]。频域方法首先通过时频变换将时域卷积混合模型转换为每个频点上的频域瞬时混合模型,然后利用复独立分量分析(CICA,complex independent component analysis)算法处理各个频点上的序列,最后结合所有频点重构时域信源。即使在每个频点上都能得到理想的瞬时分离结果,但排序和幅度的模糊性也会影响源信号的恢复[3-5]。文献[3]阐述了联合块对角化和块Tucker分解之间的关系,解决了频谱分离和频点排序模糊性问题。文献[4]介绍了一种低复杂度的分步排序方法,权衡了分离性能和计算复杂度的矛盾,但没有提出新的混合滤波器矩阵估计方案。文献[5]将二元经验模态分解与熵界最小化复独立分量分析相结合实现了语音信号的卷积盲分离,但缺乏解决排序模糊性方面的工作量。此外,独立向量分析(IVA,independent vector analysis)[6]提出了引入矢量源模型的方式来解决卷积盲信号分离问题。此后,独立低秩矩阵分析(ILRMA,independent low-rank matrix analysis)[7]整合了IVA 和非负矩阵分解,用低秩时频结构的源模型代替了IVA 中的矢量源模型。虽然IVA 和ILRMA 可以实现卷积混合信号的分离,但它们对信源模型的假设严重限制了算法的适用范围。因此,本文将针对CBSS 频域方法展开研究,同时解决了混合滤波器矩阵估计和频点排序2 个问题,实现了全面提高CBSS 算法性能的目标。
由于多维信号的频谱可以容易地表示成张量形式,同时经张量分解后得到的因子矩阵也可以用于估计混合滤波器矩阵。因此,本文在张量分解的框架下研究了一种CBSS 频域方法。首先,将观测信号序列分为若干非重叠子块,并对每个子块进行时频变换得到张量形式的估计自相关矩阵。其次,根据张量分解技术估计出与每个频点相对应的混合滤波器矩阵,即解决每个频点上的频谱分离问题。再次,采用全局优化的频点排序策略,将功率比作为排序测度保障了属于相同信源的频谱被归为同一类。最后,排序后的全部频点经逆变换得到时域分离信号。仿真实验中以实测语音作为信源,在模拟的立体空间中产生房间脉冲响应实现卷积混合。此外,本文方法相较现有方法的有效性和优越性在多种实验条件下得到了验证。
CBSS 混合系统可以用长度为L的有限脉冲响应(FIR,finite impulse response)滤波器表示,那么n个源信号s(t)=[s1(t),s2(t),…,sn(t)]T经过信道的线性卷积混合后可以得到m个观测信号,即x(t)=[x1(t),x2(t),…,xm(t)]T。不考虑噪声的卷积混合模型可以表示为
其中,hji(l)表示从第i个信源到第j个传感器的房间脉冲响应(RIR,room impulse response),这个过程可以用一个FIR 滤波器来模拟。CBSS 就是在混合信道系统H未知的情况下,通过寻找一个n×m的近似可逆的信道系统w来实现信源的估计,那么分离信号可以表示为
其中,K是解混信道系统的总阶数。分离信号是源信号s(t) 的估计,但是y(t)和s(t)之间存在由BSS 模糊性造成的幅度和排序差异。
CBSS 频域方法需要利用离散傅里叶变换(DFT,discrete Fourier transform)将时域信号变换到频域[2-5],式(1)可以表示为
其中,X(f,p)=[X1(f,p),X2(f,p),…,Xm(f,p)]T和S(f,p)=[S1(f,p),S2(f,p),…,Sn(f,p)]T分别表示观测信号和源信号的时频谱,H(f) 的第i列表示第i个信源在频点f上的空间特征信息。此外,f=1,2,…,F表示频点的索引,F是频点总数,p=1,2,…,P表示时间帧的索引,P是时间帧总数。由式(4)可知,CBSS 问题在时频域被转化为了F个瞬时混合BSS 问题,即可以利用CICA 方法处理每个频点上的频谱序列,然后对频点进行排序,最后通过快速傅里叶逆变换(IFFT,inverse fast Fourier transform)恢复时域分离信号。
假设观测信号的长度为N,那么将观测序列数据分为P个非重叠子块,这样每个子块就包含个点,这些子块可以用p=1,2,…,P来索引,第p个子块包含的数据序列从tp-1到tp[3]。因此,观测信号在第f个频点和第p个子块处的自相关矩阵可以用RX(f,p)∈Cm×m表示,也就是说,RX(f,p)=E[X(f,p)XH(f,p)],即
其中,RS(f,p)=E[S(f,p)SH(f,p)]是源信号在第f个频点和第p个子块处的自相关矩阵,(·)H表示Hermitian 转置运算。
不同于将时间帧依次处理,本文在给定的频点处同时研究P个子块,即
对每个频点上的H(f)进行估计就相当于处理一个联合相似对角化(JAD,joint approximate diagonalization)问题,那么式(6)中就存在P个JAD 问题,将它们看作一个整体,借助张量的思想解决。这样就建立起JAD 和张量分解之间的关系,即将每个频点上的传统JAD 问题转变成张量分解问题。然而,利用张量分解得到的因子矩阵估计混合滤波器矩阵的关键在于自相关矩阵的计算。实际上,人们很难获得准确的观测信号自相关矩阵RX(f,p),只能通过时域观测信号x(t),t=1,2,…,N来估计。在含有Nb个采样点的每个子块中,选择汉宁窗对若干连续重叠帧计算Nf点DFT,其中,帧长和窗长都为Nf,2 个连续帧之间重叠为窗长的,即ovlp=75%[3,4]。因此,每个子块中的重叠帧数可以表示为
由于时域卷积混合BSS 在时频变换后就转变成了时频域瞬时混合BSS 问题,那么第f个频点对应张量的分解就相当于实现了复数形式的瞬时混合盲信号分离。因此,通过张量分解的方式解决每个频点的频谱分离问题是值得研究的。由上述分析可知,本文处理的是三维张量,在张量分解前需要调整各维度顺序。的第三维P是张量维度中最大的,这样就保证了三维张量的维度是升序状态。为了消除非重叠子块P选取过大对张量分解的影响,将张量的第三维由P降维到n+1,即转变为。然后,利用扩展QZ 分解对降维后的张量ℜx(f)进行处理,实现舒尔(Schur)上三角化[9]。
其中,ℵ (f)∈Cn×m×n是估计混合滤波器的解析张量。最后选取 ℵ(f)按照第三维方向的n个切片经奇异值分解后的左奇异矩阵(因子矩阵)的第一列作为估计混合滤波器矩阵的列,即可以表示为。根据上述张量分解的步骤,第f个频点对应的估计混合滤波器矩阵就可以计算出来。以此类推,整个分离过程需要进行F次运算。
理想情况下,分离滤波器矩阵W(f)需要满足W(f)H(f)=I的条件,其中,I是单位矩阵。那么,在第f个频点处就可以根据H(f)求出W(f),从而得到相应的分离信号的频谱。
每个频点上的频谱序列需要在保证属于同一源信号的频谱成分被划分为同一类的前提下重新排序,即频点排序是利用属于同一信号的频谱成分会表现出明显的相似性的特点来消除排序模糊性。根据张量分解得到的估计混合滤波器,可以将式(4)改写为
功率比作为一种有效的频点排序测度,可以表征观测信号中第i个分离信号的占比[4]。那么,第i个分离信号在第p个子块的功率和所有分离信号的功率之和的比值可以表示为
图1 本文所提方法流程
在多种实验条件下验证本文方法的有效性,分别采用IVA[6]、ILRMA[7]、JAD-based[10]和CICA-EBM[11]作为对比方法。为了实验公平,方法中涉及的窗函数都选取Hanning 窗、帧重叠为窗长的75%。其中,ILRMA 中涉及的初始基矩阵和激活矩阵均采用随机矩阵。采样频率是16 kHz 语音信号数据来自文献[12],包括男声和女生朗读的诗词及句子。在模拟的立体空间中,利用声学的图像方法[13]生成房间脉冲响应RIR 对语音信号进行卷积处理,其中,RIR 可以通过设置房间的尺寸、信源和传感器的位置以及混响时间来模拟各种情况。为了模拟真实的卷积环境,实验是在一个长6 m、宽4.2 m、高3 m 的虚拟立体房间里进行[14],并固定信源和传感器高度为1.6 m。此外,所有实验都是在MATLAB2019a 软件上完成的,计算机配置为Intel(R)Core(TM) i7-10710U CPU @ 1.10 GHz 1.61 GHz,内存(RAM)为16 GB。
利用输出信干比(SIR,signal-to-interference ratio)作为性能指标评价信源分离的精度[3-5,12]。由于式(3) 中的第i个分离信号可以改写为,那么,的对应的输出SIR 可以定义为
其中,yii(t)表示yi(t)中来自第i个信源的部分,yik(t)表示串音信号。将由式(20)计算出的n个输出SIR 的平均值作为估计信源的全局性能指标,并以此作为基准来评估对比算法的分离性能。
为了验证快速傅里叶变换(FFT,fast Fourier transform)长度对5 种方法分离性能的影响,选取时长为5 s 的语音信号作为信源。在m=n=2的情况下,固定2 个传感器位置为(2,1,1.6)和(2,2,1.6),2 个信源位置为(4,1.5,1.6)和(4,2.5,1.6)。此外,将混响时间T60设置为130 ms[12]。图2 是5 种方法在不同FFT长度时的输出SIR变化情况。由图2可以看出,当FFT 长度小于512 时,5 种方法的分离性能都比较差。随着FFT 长度的增加,SIR 也随之提高。由于FFT 长度为4 096 时各方法的分离性能增长趋势放缓,甚至ILRMA 出现了分离性能下降的情况。因此,综合考虑所有方法对FFT 长度的需求,在接下来的实验中都将FFT 长度设为2 048。
图2 SIR 随FFT 长度变化情况
图3 为5 种方法在不同信噪比(SNR,signal-to-noise ratio)下的稳健性,随机生成的高斯白噪声使信噪比变化范围由5 dB 到60 dB。从图3 可以看出,以CICA-EBM 以及本文方法为代表的CBSS 频域方法在抗噪性方面要优于 IVA 和ILRMA。此外,本文方法在SNR 大于15 dB 时表现出了比其他方法更优异的分离性能。
图3 SIR 随SNR 变化情况
混响时间T60是影响方法分离性能的重要因素,混响时间取决于空间尺寸、形状、吸音性能以及信源和传感器的位置。T60越大,表明由多径和时延引起的卷积情况使信号的传播信道变得越复杂。因此,选取从0.15 s 到0.5 s 且间隔为0.05 s 的时段作为混响区间,即T60∈[0.15,0.5]。图4 为混响时间对5 种方法分离性能的影响。随着T60逐渐变大,所有方法得到的输出SIR 都随之下降了。在m=n=2的情况下,本文方法在实验的全时段上的分离性能明显优于其余4 种对比方法。这说明了本文提出的基于张量分解和功率比全局排序策略的卷积盲源分离方法可有效提升卷积混合语音在强混响情况下的分离性能。
图4 SIR 随混响时间变化情况
将不同时长的语音作为实验中算法的源信号,以此验证信号长度对分离性能的影响。选取时长从2 s到10 s 且间隔为0.2 s 的语音信号进行卷积分离实验,结果如图5 所示。图5(a)表明各方法的输出SIR 在不同语音时长下的变化情况,当信号长度大于3 s 时,本文方法比其他4 种对比方法具有更高的SIR。此外,所有方法的计算时间随信号长度变化情况如图5(b)所示。可以看出,JAD-based 计算用时最少,其次是本文方法,用时最多的是CICA-EBM。
图5 信号长度对分离性能的影响
在m=n=2的情况下,验证方法在信源和传感器不同位置下的输出SIR 情况。根据上述实验结果,将FFT 长度设置为2 048、混响时间设置为130 ms、选取信号时长为5 s。固定2 个信源的位置为(4,1.5,1.6)和(4,2.5,1.6),同时固定一个传感器位置为(2,0.3,1.6),另一个传感器以步长为0.4 m 沿着房间宽度方向移动,这样依次得到了9 个位置,即(2,0.3+0.4k1,1.6),k1=1,…,9。通过改变传感器间的距离计算各方法的 SIR,如图6(a)所示。可以看出,本文方法在2 个传感器间距离为1.6 m 时取得最大的SIR,即移动传感器位置在(2,1.9,1.6)。
为了验证2 个信源间距离对算法性能的影响,固定 2 个传感器的位置为(2,1,1.6) 和(2,2,1.6),同时固定一个信源位置为(4,0.3,1.6),另一个信源以步长为0.4 m 沿着房间宽度方向移动,分别得到 9 个位置,即(4,0.3+0.4k2,1.6),k2=1,…,9。图6(b)为2 个信源间的不同距离对输出SIR 的影响,且本文方法在2 个信源间距离为2.4 m 时得到最大的SIR,即移动信源的位置为(4,2.7,1.6)。
图6 信号长度对分离性能的影响
考虑信源与传感器之间的距离对分离性能的影响,固定 2 个传感器的位置为(1,1,1.6) 和(1,2,1.6),同时2 个信源以步长为0.5 m 沿着房间长度方向移动,分别得到2 个信源的9 个位置,即一个信源位置可以用(1+0.5k3,1.5,1.6),k3=1,…,9表示,而另一个信源的位置可以用相同的方式表示为(1+0.5k3,2.5,1.6),k3=1,…,9。信源和传感器之间的距离由0.5 m 增加到4.5 m 的过程中,5 种方法取得的输出SIR 如图6(c)所示。所有方法基本上都表现出了性能先降后升的趋势,当距离是2.5 m 时,本文方法得到了最小的SIR。
由于源信号和观测信号数目的增加会给CBSS 带来更大的挑战,因此,在m=n=3和m=n=4这2种情况下验证混响时间对分离性能的影响。
实验过程中,除了信源和传感器位置外,剩余设置都与6.2 节一致。当m=n=3时,固定3 个传感器的位置分别为(2,1,1.6)、(2,2,1.6)和(2,3,1.6),同时固定 3 个信源位置分别为(4,1.5,1.6)、(4,2.5,1.6)和(4,3.5,1.6)。图7(a)是m=n=3时输出SIR 随混响变化的情况,本文方法分离性能最优,其次是CICA-EBM。
图7 混响时间对分离性能的影响
当m=n=4时,固定4 个传感器的位置分别为(2,1,1.6)、(2,2,1.6)、(2,3,1.6)和(2,4,1.6),同时固定 4 个信源位置分别为(4,0.5,1.6)、(4,1.5,1.6)、(4,2.5,1.6)和(4,3.5,1.6)。实验结果如图7(b)所示,可以看出,当T60≤0.4时,本文方法有明显的优势,IVA 基本处于失效的状态。此外,结合图4 分析可知,当信源数和观测信号数增加时IVA 和ILRMA 分离性能变得越来越差,尤其是IVA 在m=n=4时已经不能满足盲源分离的基本要求。
本文根据频域观测信号的结构特征和全局优化频点排序策略,研究了一种基于张量分解的CBSS 方法。首先,利用观测序列的估计自相关矩阵构造张量数据。然后,通过张量分解估计出每个频点对应的混合滤波器矩阵达到频点上的频谱分离效果。最后,采用以功率比为排序测度的全局优化策略以及MDP 技术同时消除了每个频点上的排序和幅度模糊性并计算出时域分离信号。在虚拟的立体空间中利用声学的图像方法产生RIR,并以实测语音作为信源。实验表明,在不同仿真条件下本文方法的有效性得到了证明。此外,频域方法的分离性能整体上优于IVA、ILRMA和传统JAD 方法,尤其是在信源数和观测信号数都增加的情况下。