APP下载

基于张量联合对角化的非平稳源卷积盲分离研究

2020-08-19王语凡

黑龙江科学 2020年16期
关键词:张量角化频域

王语凡

(广东工业大学 自动化学院,广州 510006)

0 引言

盲信号分离(Blind Source Separation)是指源信号以及混合方式都无法获知的情况下,仅依据接收端收到的观测信号来估计各个源信号。近年来,盲信号分离在信号处理、数据挖掘、计算机视觉、语音恢复和机器学习等领域有着广泛的应用[1-2],是当前研究热点。

针对不同的混合方式和特性源信号,盲信号分离有很多不同的方法,如独立成分分析[3](Independent Component Analysis, ICA)、稀疏成分分析[4](Sparse Component Analysis,SCA)以及卷积盲分离[5]。卷积混合模型相比较线性瞬时混合模型更能接近现实生活中信号的混合,因为该模型不仅考虑当前时刻输入信号的混合状态,也会同时考虑由于时间延迟等干扰而未被计算的之前时刻的输入信号及该信号的反射波。此外,线性瞬时混合模型在运算过程中只考虑零均值信号,而现实生活中绝大多数信号具有非平稳性,源信号会随时间的变化而变化,因此研究非平稳信号在卷积混合情况下的盲分离算法,显然具有很重要的实际应用价值。

为了解决这个问题,Weinstein[6]提出利用非平稳源信号的一组二阶统计量来确定唯一的混合矩阵。Yellin[7]提出利用高阶统计量可以更精确地确定混合矩阵,但这些算法为时域算法,计算复杂度较高。Smaragdis[8]提出用频域算法,但该算法并未充分利用信号的非平稳性。本研究提出一种频域上类雅克比旋转的张量分解算法来提高源信号的分离性能。利用信号的自相关矩阵在每个频点构造一个张量,并对这些张量做联合对角化。该算法的计算复杂度相对较低,且稳定性和计算精度相对于同类批处理算法较高。

1 问题描述

考虑在一个混响环境下共有N个统计独立的信号源和M个信号接收端,卷积混合模型的数学表达式如下:

(1)

其中,x(t)=[x1(t),…,xM(t)]T是观测信号,s(t)=[s1(t),…,sN(t)]T是源信号,A∈PM×N是未知混合矩阵,l是时间延迟,L是混合模型的混合通道阶数,v(t)=[v1(t),…,vM(t)]T是噪音信号。

然后,对该模型做短时傅里叶变换,将复杂的卷积模型转换成频域上的线性混叠模型,公式(1)可表示为:

xfp=Afsfp

(2)

其中,p=1,2,…P代表时间窗的编号,f=1,2,…F代表短时傅里叶变换的频点数,而xfn=[x1,fp,…xM,fp]T、sfn=[s1,fp,…sN,fp]分别是观测信号x(t)=[x1(t),…,xM(t)]T和源信号s(t)=[s1(t),…,sN(t)]T的傅里叶变换。本研究的目的是通过已知的观测信号xfn=[x1,fp,…xM,fp]T,求解未知的混合矩阵Af和源信号s(t)=[s1(t),…,sN(t)]T。考虑到源信号为非平稳信号,本研究将利用信号的短时平稳性来处理混合信号,并对自相关矩阵构成的张量做联合对角化。

2 算法原理

观测信号的自相关矩阵Rx(f,q)∈CM×N表示如下:

(3)

其中Rs(f,q)=E[s(f,q)sH(f,q)]是源信号的自相关矩阵。为推导方便,在接下来的表述中省略噪音项,留到仿真部分讨论。则状态协方差矩阵可表示为:

(4)

构造三阶张量X(f)∈CM×M×Q,X[f](:,:,q)=Rx(f,q),则张量X[f]的对角化表示为:

(5)

其中D[f]∈CM×M×NM×M×M为对角张量,是S(f)的估计,为了方便运算和表述,引入新的张量T:

T[f]=X[f]×1B[1]×2B[2]×3B[3]

(6)

在实际应用中,考虑到观测误差和噪声的存在,张量对角化基本不可能精准地完成,只能尽可能地近似。为衡量对角化的精确程度,构造代价函数:

×2B[2]×3B[3]}‖2,l=1,2,3

(7)

其中,ZTdiag(·)代表构建的零对角张量,即对角线上元素为零的张量,因此最小化代价函数J(B[l])等价于最小化所有张量非对角元素的平方和。考虑到式(6),如果矩阵B[l],l=1,2,3是正交矩阵或酉矩阵,则‖T[f]‖=‖X[f]‖,最小化式(7)等价于最大化张量T[f]所有对角线上元素的平方和,即尽可能使张量T[f]对角化。

根据文献[9-10]的思想,矩阵B[l],l=1,2,3的更新规则如下:

B[l](t+1)=(I+V[l](t))B[l](t)

l=1,2,3

(8)

其中I∈RM×M为单位矩阵,B[l](0),l=1,2,3是初始状态,t∈N是迭代次数,V[l](t)∈CM×M,l=1,2,3是对角线上元素均为0的更新矩阵,即diag(V[l](t))=0,l=1,2,3。这样做的目的是在多次迭代中保持转换矩阵B[l](t),l=1,2,3的非奇异性。

通过式(6)可知:

T[f](0)=X[f]×1B[1](0)×2B[2](0)×3B[3](0)

(9)

因此,显而易见有:

T[f](t+1)=X[f]×1B[1](t+1)×2B[2](t+1)×3B[3](t+1)=X[f]×1(I+V[1](t))B[1](t)×2(I+V[2](t))B[2](t)×3(I+V[3](t))B[3](t)=T[f](t)×1(I+V[1](t))×2(I+V[2](t))×3(I+V[3](t))

(10)

不断更新式(10),求解最小化J(B[l])的问题,直到收敛。

考虑到Jacob算法的原理,定义类Givens矩阵的特殊参数结构Vi,j[l][11],其中Vi,j[l](t),l=1,2,3为仅在(i,j)和(j,i)两个位置有非零元素的更新矩阵,即:

l=1,2,3

(11)

(12)

其中:

(13)

由[12]可知,对于张量在不同模上与矩阵相乘时,乘法计算的顺序不影响最后的结果,即:

X×nB[n]×mB[m]=X×mB[m]×nB[n]

(14)

因此将式(12)的优化问题转化为最小化3个子问题:

l=1,2,3

(15)

(16)

因此式(15)等价于:

(17)

将(16)带入(17),有:

(18)

(19)

(20)

(21)

(22)

所以(20)可以表述为:

(23)

(24)

所以式(21)、(22)可表示为:

(25)

(26)

(27)

(28)

(29)

(30)

为了更加一目了然地展现研究算法,算法总结如表1所示。

表1 基于张量联合对角化的非平稳源卷积盲分离算法Tab.1 Convolutive blind separation algorithm of nonstationary sources based on joint tensor diagonalization

本研究算法每 sweep 1次,即迭代1次的复杂度为O(fM2Q),与CP分解的运算复杂度相同,和其他主流批量处理的运算复杂度基本相似。

3 仿真结果

本节将通过3组实验展示研究所提出的张量对角化算法(Tensor Diagonalization, TD)的性能。所有源信号均来自网站http://www.openslr.org/28/(1个包含模拟和真实房间脉冲响应,各向同性和点源噪声的数据库)。该数据库中的音频文件均为16k采样率和16位精度,声音时长为17 s。

3.1 实际声音信号的盲分离

为了检测该算法的有效性,对不同的混合语音进行了卷积盲分离。限于篇幅,以下只列出1组语音分离结果。语音信号均来自上述数据集,且所有信号均为真实语音信号。

实验结果表明:该算法具有较好的分离性能。从实验中所用测试数据的原始信号与分离信号的图像观察可知,该算法分离效果良好,但是有一定的幅值变化。此外,还通过 sound 命令对混合信号和分离信号分别试听,并和源信号作对比,发现分离信号的分离效果确实良好,混合信号混合得非常均匀,很难听出混合前的音源,而分离信号的声音与源信号相似,与混合信号比,声音的清晰度有了很大的提升。

3.2 BSS性能比较

该仿真中将采用三种算法(JD、CP-ALS、CBSS,其中CBSS为对频域信号采用ICA)应用于处理卷积信号分离问题。

信号构造如式31所示:

(31)

其中,n(t)为噪声信号,在本次仿真中,n(t)为高斯白噪声。

信噪比的定义如下:

SNR=10log(σs/σn)

(32)

在该仿真中,使用J-ISI(joint inter-symble-interference)[13]评估算法精度和解乱序等性能的性能指标,J-ISI定义:

(33)

本实验中,仿真参数设置如下:STFT点数选择1024点,采用sine窗,每次移动半个窗长,噪声系数σn=0.01,信噪比取值范围0~15dB,100次独立运行实验,实验结果如图2所示。

由图2可知,参与比较的三种算法(TD、CP-ALS和CBSS)在J-ISI性能上相接近,但TD算法在数据上要优于其他两种算法,从而说明了TD算法具有较好的算法精度,排列歧义也较少。

3.3 实际语音信号的盲分离

在本实验中,比较TD、CP-ALS和CBSS 3种算法在频域分离语音信号的结果。

对于卷积混合语音的分离效果,仿真实验采用Vicent. E[14]等设计的盲源分离工具箱(blind source separation evaluation,BSS_EVAL)。工具箱的使用前提是每一个源信号和噪声信号之间相互独立。

其中,starget表示估计信号中属于源信号的部分,einterf表示由混合信号中其他源信号造成的估计误差,即估计信号中属于混合信号但不属于所分离源信号的部分,enoise表示观测信号中的观测误差和噪声干扰,eartif表示算法本身所产生的噪声和误差。

基于以上参数,该评价标准给出了3个评价指标:源---干扰比(Source-to- Interferences Ratio, SIR),源---失真比(Source-to-Distotion Ratio, SDR)和源---人造成分比(Source-to-Artifact Ratio, SAR)。作为语音分离系统的评价指标,这3个指标可以很好地从算法的分离效果、不同源信号之间的干扰程度、噪声干扰程度等方面较为全面地评价算法的分离性能。

3个参数的表达式可分别表示如下:

显然,SIR、SDR、SAR的值越高,表示算法的分离效果越好。

本实验中,仿真参数设置如下:STFT点数选择1024点,采用sine窗,每次移动半个窗长,经过BSS算法分离出的语音信号,通过反傅里叶变换从频域变换到时间域,100次独立运行实验,实验结果如表2所示。

表2 实际语音信号的仿真盲分离Tab.2 Simulation blind separation of actual speech signal

由表2可知,在卷积混合语音信号的分离效果上,相较于其他3种算法,TD算法的3个性能指标皆高于其他算法,因此TD算法能够很好地分离出混合的3个语音信号。

4 结论

本研究提出一种类雅克比旋转的张量分解算法来提高源信号的分离性能。首先利用信号的自相关矩阵构造一系列张量,将盲信号分离问题转化为张量对角化问题,然后提出一种特殊参数结构代替Givens矩阵做类似雅可比连续旋转,将张量联合对角化问题化解为一系列对特殊参数矩阵的子优化问题,对每一个子优化问题求闭式解,并通过闭式解估计对角矩阵,完成张量对角化,并求解了算法中参数的最优解。实验结果揭示了本研究算法在分离卷积语音信号时有着良好的性能,且该算法相较于直接对矩阵进行CP分解和常用的CBSS算法而言,在精度及解乱序能力等方面具有较好的分离性能。

猜你喜欢

张量角化频域
一类张量方程的可解性及其最佳逼近问题 ①
哥德尔不完备定理的不可判定性
3例易误诊脂溢性角化病例展示及分析
基于频域的声信号计权改进算法
严格对角占优张量的子直和
四元数张量方程A*NX=B 的通解
一类结构张量方程解集的非空紧性
频域稀疏毫米波人体安检成像处理和快速成像稀疏阵列设计
网络控制系统有限频域故障检测和容错控制
实对称矩阵对角化探究