APP下载

PID控制原理在语音信号盲源分离中的应用

2019-10-18严发鑫汤旻安

测控技术 2019年9期
关键词:盲源情形稳态

严发鑫,徐 岩,汤旻安

(兰州交通大学电子与信息工程学院,甘肃兰州 730070)

语音分析所用的信号通常是在实际场合下采集到的,是多个未知源信号组成的传感器信号,这给语音信号的分析带来极大的不便。盲源分离是在语音源信号和混合方式缺乏先验知识的情况下,仅通过传感器接收的信号提取语音源信号。盲源分离给语音分析带来方便。非平稳混合下的盲源分离是一种特殊情形,例如,多个语音源不断移动的场合下,传感器接收到的信号是时变的,可视为将语音源信号通过非平稳系统混合得到。需根据系统扰动采用在线盲源分离算法实时调节学习速率,动态更新分离矩阵。通常采用的在线算法为自适应盲源分离算法。

目前,对于非平稳混合系统下的盲源分离研究,陈海平[1]等人提出了在线FastICA算法,通过将传感器信号分成短时段,在每段内使用传统的FastICA批处算法,在线实时跟踪非平稳的混合系统。季策[2]等人提出了一种约束算法,该算法利用混合系统的变动对目标函数进行约束,并对约束因子和学习速率自适应调整。张天骐[3]等人提出了一种首先实时估计混合矩阵得到性能指数,再基于性能指数对学习速率和动量因子动态更新的方法。陈海平的方法能有效跟踪非平稳环境,但由于使用了批处理算法,算法的计算量大,短时段的划分容易产生误差。季策和张天骐的算法收敛速度快,稳态误差小,但对算法的等变性考虑不足,算法较复杂。总之,目前采用自适应盲源分离算法并对其优化可以较好地实现非平稳混合系统下的分离,但算法本质上对系统扰动考虑不足[2],故非平稳混合下的盲源分离仍需进一步研究。

非平稳混合下的自适应盲源分离算法需考虑等变性问题,等变性是指盲源分离的性能与混合矩阵无关,即混合矩阵变化时对分离性能不产生影响,能有效保证算法的鲁棒性。但一般的自适应盲源分离算法与混合矩阵有关,不能保证等变性,特别是采用预处理的算法[4]。本文首先提出无预处理的自适应盲源分离算法,再基于PID控制原理实时依据非平稳混合扰动动态调整学习速率,提高收敛速度,减小分离误差,最后进行仿真验证和性能分析。

1 算法的基本原理

一般正定、线性瞬时混合盲源分离问题按如下方式描述[5]。传感器信号 x(t)=[x1(t),x2(t),…,xn(t)]T是由源信号 s(t)=[s1(t),s2(t),…,sm(t)]T混合得到,m、n分别是源信号的数目、混合信号的数目,正定即m=n,线性瞬时混合的传感器信号记为

式中,A为满秩的混合矩阵。源信号的估计信号y(t)=[y1(t),y2(t),…,ym(t)]T,通过求解估计信号可得到分离出的源信号。

式中,W为满秩的总分离矩阵;G为全局矩阵。

2 算法的具体实现

2.1 无预处理的自适应盲源分离算法

假设源信号和估计信号都具有单位方差和零均值,并且源信号统计独立。由于盲源分离不能保证估计信号的幅度为源信号的实际幅度,且分离结束后估计信号的各个分量必须相互独立[5],将分离结束后估计信号的自相关矩阵一般化为[6]

式中,W为总分离矩阵;I为单位矩阵;Rx为传感器信号的自相关矩阵;U为正交分离矩阵;V为白化矩阵;Rz为传感器信号白化后的自相关矩阵,Rz=I。采用的目标函数记为[6]

分离矩阵的迭代更新式记为[6]

式中,k指代第k步迭代,根据式(4)分离结束后Ry=I,代入式(8),得 W(k+1)=W(k),因此最终式(8)是收敛的;μ(k)为第k步的学习速率;Ry(k)为第k步迭代时估计信号的自相关矩阵,Rx(k)为第k步迭代时传感器信号的自相关矩阵,为便于在迭代过程中计算Rx(k),用式(9)迭代过程的时间平均近似估计[7]。

为提高分离过程的稳定性,确保迭代快速收敛,用式(10)对矩阵W×Rx×WT标准化。

这种无预处理的自适应盲源分离算法可以实现预处理的两个目标:

①根据式(4),传感器信号的二阶相关被去除,传感器信号各个分量相互正交;

②根据式(4),总分离矩阵简化为正交分离矩阵,从而算法复杂度降低。

为验证算法具有等变性,将式(8)的左右两端都右乘混合矩阵A,根据式(1)可以得到

再根据式(3)可以得到

式中,k指代第k步迭代。G(k+1)的更新与混合矩阵A、总分离矩阵W以及传感器信号的自相关矩阵Rx无关,与源信号的自相关矩阵Rs有关,证明了算法具有等变性。

2.2 PID调节学习速率

PID控制即比例、积分、微分控制,它因调节简单、应用方便、鲁棒性较好,广泛应用于工业控制,常见的被控量有温度、液位、压力等。PID控制的特点是能应用于系统存在变动、精确数学模型不能建立的场合[8]。依据式(8),基于常规PID控制模型,建立一种以矩阵W×Rx×WT元素平方的最大值作为实际输出,以单位矩阵I中元素最大值1作为期望输出,便于计算机处理的,依据系统变动实时调整学习速率的数字增量式PID控制模型。控制模型如图1所示。

图1 PID控制模型

图1 比例运算为Kp[e(k)-e(k-1)],积分运算为Kie(k),微分运算为Kd[e(k)-2e(k-1)+e(k-2)],Kp,Ki,Kd分别对应比例系数、积分系数、微分系数。则学习速率的变化量Δμ(k)记为[8]

调节学习速率部分对应常规PID控制模型的执行机构,增量式PID控制计算过程不涉及累加运算,计算复杂度小,计算机容易处理,调节后的学习速率记为[8]

自适应盲源分离部分对应常规PID控制模型的被控对象。根据调节后的学习速率,自适应盲源分离算法迭代更新分离矩阵,进而得到系统的输出值。采用此种PID控制模型可以实时跟踪系统变动,减小不稳定因素对自适应盲源分离的影响,加快分离的收敛速度,减小分离的稳态误差,提高非平稳混合系统自适应盲源分离算法的鲁棒性。

2.3 算法实现步骤

①初始化学习速率μ、总的分离矩阵W、自相关矩阵Rx和混合矩阵A;

② 用式(10)对矩阵W×Rx×WT标准化;

③用式(8)迭代更新分离矩阵;

④ 用式(9)估计Rx;

⑤用式(13)计算学习速率的变化量,然后用式(14)计算调节后的学习速率;

⑥判断是否收敛,若是进行步骤⑦,否则回到步骤②;

⑦绘制分离前和分离后的源信号波形、系统的响应曲线和性能曲线。

3 仿真和分析

3.1 算法仿真

由于建立的PID控制系统的传递函数得不到精确数学模型,故利用经验法整定PID参数。经验法PID参数整定原则遵循先“比例”,后“积分”,再“微分”的次序[9],整定指标为整定后的参数能使所提出的自适应盲源分离算法的分离性能指数PI与零值距离最小,仿真中分别多次改变比例系数、积分系数、微分系数,分别比较历次稳态时的PI仿真值,取最小值时的比例系数、积分系数、微分系数。依据PID参数整定原则和整定指标选择最优解作为PID参数整定的结果。分离性能指数PI定义为[5]

式中,gij为全局矩阵G中的元素阵G的第i行元素绝对值中全局矩阵G的第j列元素绝对值中的最大值。PI值越接近零,分离效果越好。

仿真PC机采用的基本硬件参数为Intel Core i5-3210M,主频2.50 GHz,内存4 GB。仿真软件为MATLAB R2015b。选取标准语音库中的两路语音源信号s1(t)和s2(t),分别为firegold.wav和risesun.wav,采样率8 kHz,采样点数28000个,长度3.5 s。仿真中用变化的混合矩阵与源信号混合成变化的两路传感器信号x1(t)和x2(t)。混合矩阵变化分为缓变和突变两种情况。μ(0)的取值过小会因前期PI的波动大使分离误差大,且算法收敛速度慢,过大时系统响应曲线波动大,实际中应依据系统响应曲线和性能指数曲线选定μ(0)的值。W(0)的取值是为了保证迭代收敛后的分离矩阵满足正交性,宜取单位矩阵乘以一个系数,该系数仅影响算法的收敛速度,实际中应依据算法的仿真时间选定W(0)的值。R(0)的取值不影响仿真结果,可以任意选定。A(0)的取值选择在[0,1]上均匀分布的随机值进行随机混合。在本仿真中综合选择适中的值 μ(0)=0.5,W(0)=I×0.5,R(0)=I,A(0)=rand(size(s,1))。

3.1.1 混合矩阵缓变情形下算法仿真

混合矩阵缓变定义为[10]

式中,α为遗忘因子;β为控制学习速率。选取经验值α =0.9,β =0.01。

混合矩阵缓变情形下,PID参数整定结果如图2所示,PID参数整定后的语音分离结果如图3所示。

从图2可以看出,比例系数整定为Kp=0.02,积分系数整定为Ki=0.0000099,微分系数整定为Kd=0.0049。整定后的系统响应速度快,超调量小,稳态误差小。从整定后的性能指数曲线看前期有小范围波动,这是由于前期PID控制实时跟踪系统缓变,不断调节学习速率所致。在500 ms后,PID控制系统进入稳态,同时分离趋于收敛,分离的稳态误差较小。

图2 混合矩阵缓变情形下PID参数整定图

图3 混合矩阵缓变情形下语音分离结果图

从图3可以看出,仿真的语音分离信号和语音源信号接近一致,不仅验证了PID参数整定合理,还验证了提出的算法适用于混合矩阵缓变情形下的语音分离。

3.1.2 混合矩阵突变情形下算法仿真

混合矩阵突变定义为[11]

混合矩阵突变情形下,PID参数整定结果如图4所示,PID参数整定后的语音分离结果如图5所示。

图4 混合矩阵突变情形下PID参数整定图

图5 混合矩阵突变情形下语音分离结果图

从图4可以看出,混合矩阵突变情形下,比例系数整定为Kp=0.019,积分系数整定为Ki=0.000005,微分系数整定为Kd=0.0003。整定后的系统响应速度快,超调量小,稳态误差小。从整定后的性能指数曲线看在 625 ms、1250 ms、2500 ms都出现突变,而前期由于PID控制不断调节学习速率,系统快速进入稳态,在625 ms后分离趋于收敛,分离的稳态误差小。

图5的分离结果验证了混合矩阵突变情形下PID参数整定合理,算法适用于混合矩阵突变情形下的语音分离。

本节分别在混合矩阵突变和缓变两种情形下合理整定PID参数,并验证了本文算法在这两种情形下,整体的分离性能好,收敛速度快,稳态误差小,受系统扰动的影响小。下面将进一步分析本文算法的性能。

3.2 算法分析

在混合矩阵缓变和混合矩阵突变情形下,分别仿真经典的 Chambers的自适应盲源分离算法[12]和Thomas的自适应盲源分离算法[13],以及本文算法。对比分析算法的性能指数PI、时间复杂度。在两种情形下依照Chambers和Thomas分别为算法仿真选取的初值。Chambers算法的参数选择为μ(0)=10-4,修正因子ρ=10-8,非线性函数f=2tanh,其他参数与本文算法一致。Thomas算法的参数选择为μ(0)=10-4,修正因子ρ=0.025,遗忘因子α=0.998,非线性函数f=2tanh,其他参数与本文算法一致,本文算法的参数与3.1节所述一致,仿真条件也与3.1节所述一致。三种算法在混合矩阵缓变情形下性能指数比较如图6所示。

图6 混合矩阵缓变情形下性能指数比较

从图6可以看出,混合矩阵缓变情形下,本文算法的性能指数曲线波动比Chambers算法和Thomas算法都小,本文算法能快速进入稳态,稳态误差小。可见混合矩阵缓变情形下,本文算法性能受环境变动影响小,能解决提高收敛速度和减小稳态误差间的矛盾,算法具有等变性。

三种算法在混合矩阵突变情形下性能指数比较如图7所示。

从图7可以看出,混合矩阵突变情形下,本文算法的性能指数曲线波动仍比Chambers算法和Thomas算法都小,本文算法收敛速度快,稳态误差小。可见混合矩阵突变情形下,本文算法性能受环境变动影响小,能解决提高收敛速度和减小稳态误差间的矛盾,算法具有等变性。

图7 混合矩阵突变情形下性能指数比较

为进一步比较算法的复杂度,混合矩阵缓变和突变情形下算法各自的运行时间如表1所示。仿真中算法的运行时间以MATLAB的tic、toc函数为组合进行计算,tic函数标识程序开始,toc函数标识程序结束。

表1 混合矩阵缓变和突变情形下算法运行时间比较表单位:s

表1综合反映了在混合矩阵突变和缓变两种情形下,本文算法复杂度都比其他两种经典算法小。

4 结束语

本文提出了一种基于PID控制原理学习速率动态更新的自适应盲源分离算法,通过在混合矩阵缓变和突变两种情形下,对PID参数整定,实现了对学习速率实时调整,算法不需要预处理,减小了复杂度,保证了等变性,整体性能受系统变动的影响小,分离收敛速度快、稳态误差小。利用MATLAB软件对算法仿真并分析,验证了算法的有效性和实用性。比较结果表明,本文算法在混合矩阵缓变和突变情形下,较经典算法优势明显,可应用于非平稳混合下对混合信号进行实时跟踪,从而分离出相互独立的源信号,以便对源信号进行研究分析。但算法采用经验法整定PID参数,随机性大,存在误差,寻求更优的、更适合于自适应盲源分离算法的PID整定方法是日后研究的方向。

猜你喜欢

盲源情形稳态
可变速抽水蓄能机组稳态运行特性研究
碳化硅复合包壳稳态应力与失效概率分析
基于干扰重构和盲源分离的混合极化抗SMSP干扰
电厂热力系统稳态仿真软件开发
避免房地产继承纠纷的十二种情形
四种情形拖欠劳动报酬构成“拒不支付”犯罪
元中期历史剧对社会稳态的皈依与维护
出借车辆,五种情形下须担责
改进的互信息最小化非线性盲源分离算法
盲源分离技术在化探数据处理中的思考与探索