付卫红, 周雨菲, 赵文胜
(西安电子科技大学通信工程学院, 陕西 西安 710071)
随着现代通信环境的日益复杂,在传输信道和源信号的先验信息未知的前提下获取有用信号变得愈发困难,盲源分离[1-4]技术的提出为解决该问题提供了可能。而在实际通信场景中,由于受到环境、设备和成本等因素的限制,往往只能通过单个传感器来接收多路信号并根据该混合信号对源信号进行恢复,这使得单通道盲源分离(single-channel blind source separation, SCBSS)[5-10]算法具有重要的研究价值和广泛的应用前景。但SCBSS可供利用的信息较少,是一个极端病态问题,需要充分挖掘和利用信号本身的一些特性来对其进行分离,解决起来十分具有挑战性[11]。针对通信信号的SCBSS问题,许多学者进行探索并取得了一定的成果。1998年,Huang等[12]提出经验模态分解(empirical mode decomposition,EMD)算法,采用时频分析的方式将单通道信号分解为多个本征模态函数(intrinsic mode function,IMF),再用独立成分分析(independent component analysis,ICA)方法对这些 IMF分量进行处理,从而恢复出源信号,在频谱混叠的信号分离上取得较好效果。但是EMD算法存在IMF分量之间的模态混叠问题[13-15]。为了解决该问题,Wu等[16]提出了集合EMD(ensemble EMD,EEMD)算法,借助高斯白噪声均值为零的特性,在一定程度上抑制了模态混叠现象。但是EEMD算法存在端点效应和IMF分量冗余的缺陷[17-20]。2013年,Dra-gomiretskiy等[21]提出变分模态分解(variational mode decomposition,VMD)算法,通过寻找约束变分模式最优解来实现信号的自适应分解,将复杂的信号分解为K个IMF分量,具有良好的信噪分离效果和较快的运算速度,同时有效地抑制了模态混叠现象[22-24]。Pang等[25]利用小波分解得到的最优近似分量重构虚拟通道,通过快速ICA(fast ICA, FICA)的方法实现盲源分离,但是该方法难以表示包含大量细节信息的信号。对此,Zhao等[26]利用小波包分解提高在分离以细节信息为主的高频信号时的性能,但小波基和分解层数的选取会直接影响信号的分离效果。以上基于信号分解的SCBSS算法只能处理源信号能量相当时的情形。到目前为止,针对源信号能量不相等时的混合信号单通道盲分离问题,并没有得到很好的解决。
随着深度学习在图像视觉、自然语言处理等领域的成功应用,深度学习技术已应用到难以解决的盲源分离问题。Chen等[27]提出基于循环神经网络(recursive neural network, RNN)的同频调制信号分离结构,该网络以端到端的方式工作,采用块处理策略,可以直接从重叠的同频调制信号中恢复码元信息。Luo等[28]提出一种双路径RNN,针对不确定具体长度的长序列信号,从混合信号中提取重叠的短序列作为块单元,以双路径循环结构代替普通的一维卷积层,但该方法计算复杂度较高。Wu等[29]提出了一种基于双向RNN的分离方案,利用双向门控循环单元可以提取混合调制信号在时间上的相关性的特点,对两路混合调制信号进行分离,但文中考虑的情况较为理想,其泛化能力有待考证。Guo等[30]还提出一种前馈神经网络,对非合作调制信号实现了盲分离,该算法复杂度低,且适合高阶混合信号盲分离处理,但是由于其模型简单,泛化能力较弱,难以获得实际应用。总之,目前基于深度学习的SCBSS算法仍处于起步阶段,尚未有针对能量存在差异的源信号进行分离的算法,仍需进行进一步研究。
基于此,本文提出一种面向能量差异混合信号的SCBSS算法。首先,对混合信号中源信号之间的能量比以及各个源信号的频率范围进行估计;其次,针对如何充分分解存在能量差异的混合信号的问题,提出一种基于能量差异的VMD(VMD based on energy difference,EVMD)算法,设置谱相关系数和中心频率的双重门限,明确该模态分量的来源,对来自同一源信号的模态分量进行合并,得到源信号对应的分量;然后,将得到的信号分量与混合信号共同构成多通道信号,并对其进行去均值处理;最后,利用经典盲源分离算法独立性等变自适应分离(equivariant adaptive separation via independence,EASI)[31]算法对多通道信号进行分离,得到源信号的估计。
VMD本质上是一个基于维纳滤波和Hilbert变换的变分问题的求解过程。通过搜索约束变分模型的最优解,将信号自适应地分解为一系列IMF分量。在信号的傅里叶变换域,采用交替方向乘子法逐个更新IMF分量的中心频率和带宽,最终获得预设的IMF分量。
假设经过VMD,将原始信号分解为K个IMF分量,则其约束变分过程可以描述为:在所有分量之和等于原始信号的条件下,寻找K个使所有分量带宽之和最小的分量,相应的约束变分模型可以表示为
(1)
引入拉格朗日乘子和二次惩罚因子求解式(1),增广Lagrange表达式如下所示:
L({uk},{ωk},λ)=
(2)
式中:α表示二次惩罚因子,用于保证信号重构精度;λ(t)表示Lagrange算子,用于保证约束条件的严格性。采用交替方向乘子法,在傅里叶变换域不断对uk、ωk和λ交替更新,寻找式(2)的鞍点,从而得到最优解。更新过程可以表示为
(3)
在通过式(3)对该变分模型进行迭代求解时,各个IMF分量的中心频率和带宽也会持续不断地进行更新,直到满足迭代停止条件。迭代判断条件可以表示为
(4)
式中:ε表示迭代收敛的阈值。
为方便后续分解并判断模态分量的来源,需要首先对混合信号中源信号的能量比及源信号的频率范围做粗略估计。本节采用对混合信号频点进行依次遍历的形式,找到每个源信号对应的频点范围,通过一定的处理得到源信号的频率估计。
由于VMD算法能够处理的数据长度有限,若直接对带通采样的单通道混合信号进行分解,会因数据量过大导致分解速度慢、效率低,甚至可能因超出能够处理的数据范围而导致分解失败;而且当源信号之间的载频间隔较小时,可能会因为采样率较高,无法将混合信号分离出来。因此,为了提高性能和效率,本文在VMD分解前首先对单通道混合信号进行下变频和降采样等预处理操作,再对处理后的信号进行SCBSS。
图1 混合信号参数估计示意图Fig.1 Schematic diagram of mixed signals parameter estimation
其次,需要找到两路源信号的分界频点pm。由于能量较小的信号中有部分信息隐藏在能量较大的信号中,两路源信号的频谱相互混叠,所以源信号的真正频率边界是无法得到的。但是,可以通过寻找分界频点近似的代表源信号的边界,从而将其两侧区分为不同的源信号。本节将起始频点pl和结束频点pr的中心作为分界频点pm。
然后计算起始频点pl、结束频点pr和分界频点pm3个位置在频谱中对应的频率值,分别得到混合信号的上边频fl、下边频fr和两路源信号的分界频率fm。
混合信号参数估计的具体实现流程如下:
步骤 1设置下变频的载频为flow,降采样的频率为Fs2,对单通道混合信号x(t)进行预处理得到x″(t);
步骤 4将3个频点的位置pl、pr和pm转换为对应的频率fl、fr和fm;
当利用VMD算法对存在能量差异的混合信号进行分解时,会优先对能量较大的信号进行分解,经过一定的分解次数之后才会对能量较小的信号进行分解。噪声与信号相比,虽然幅值略低,但占用频带范围却大得多,所以可能出现噪声能量大于较小信号能量的情况。此时,噪声会被当作一路“信号”优先分解出来。如何从混合信号中分解得到能量较小的信号,如何区分模态分量来自能量较大的信号、能量较小的信号或是噪声,如何通过模态分量得到对应的源信号分量是需要解决的问题。针对这些问题,本节提出EVMD算法。
EVMD算法不仅可以对混合信号进行分解得到一系列模态分量,还可以得到每个模态分量对应的中心频率,所以可以通过比较中心频率与源信号的边界频率的关系来判断该模态分量分解自哪个源信号。但由于源信号的边界频率是通过近似估计得到的,与真实边界存在一定程度的误差,所以导致当模态分量的中心频率恰好位于两路源信号重叠部分的频率范围时,模态分量的来源不能够准确分辨。由此可以看出采用中心频率单门限的方式存在一定的缺陷。
考虑当信号之间存在能量差异时,分解得到的模态分量与混合信号间的相关性也会存在差异,能量较大的信号与混合信号之间的相关性更强,能量较小的信号与混合信号之间的相关性更低。所以本文将相关系数与中心频率相结合,采用双门限的形式来判断模态分量来自哪路源信号。
源信号之间的能量比为L时,以能量较小的信号作为基准,可以将混合信号的能量近似视为L+1份较小的信号的能量和,为了保证分解足够充分、从而将能量较低的信号从混合信号中分解出来,限制迭代分解的层数K不小于L+1。鉴于变分模态分解算法按照信号能量从大到小进行分解,当得到来自能量较小信号的模态分量时,可以认为所有信号都被分解出来,此时迭代停止。将来自于同一信号的模态分量进行合并,可以得到完整的信号分量Umin(t)和Umax(t)。
基于能量差异的变分模态分解算法具体实现过程如下:
步骤 1初始化模态分量数K=L,将EVMD算法的相关参数分别设置为:惩罚因子α=2 000,噪声容限τ=0,收敛判决阈值ε=10-7;
步骤 2采用EVMD算法对预处理后信号x″(t)进行分解,计算模态分量与混合信号之间的谱相关系数,记录谱相关系数的最大值ρmax。其中,谱相关系数是指先利用傅里叶变换求模态分量和混合信号的频谱,然后再求频谱之间的相关系数;
混合信号为x″(t),模态分量为ui(t),i=1,2,…,K,则模态分量与混合信号之间的谱相关系数计算如下所示
(5)
(6)
(7)
基于上述研究,本节对面向能量差异混合信号的SCBSS算法实现过程进行总结,具体步骤如下:
步骤 1对接收到的单通道观测信号x″(t)进行下变频和降采样,得到x″(t);
步骤 2利用第3.1节的方法对预处理后信号x″(t)的参数进行估计,得到源信号之间的能量比L、混合信号的上边频fl、下边频fr、分界频率fm及能量较大信号的频率范围Δfmax、能量较小信号的频率范围Δfmin;
步骤 3将源信号相关参数作为所提EVMD算法的输入参数,利用第3.2节提出的EVMD算法将预处理后的信号x″(t)分解得到信号分量Umin(t)和Umax(t);
步骤 4将信号相关分量Umin(t),Umax(t)和预处理后的信号x″(t)共同构成一个3维的多通道混合信号Y(t)=[x″(t),Umin(t),Umax(t)]T;
步骤 5对多通道混合信号Y(t)去均值,得到Y′(t);
步骤 6利用经典的EASI算法对处理后的多通道混合信号Y′(t)进行分离,得到源信号的估计信号y1(t)和y2(t)。
本节对面向能量差异混合信号的SCBSS算法进行仿真,验证其对频谱混叠通信信号分离的有效性。两路源信号是二进制相移键控(binary phase shift keying,BPSK)调制信号,利用升余弦脉冲成型滤波器进行脉冲成型,具体参数如表1所示。
表1 源信号参数Table 1 Source signal parameters
将两路源信号线性混合并叠加高斯白噪声n(t)得到单通道混合观测信号x(t)=s1(t)+s2(t)+n(t),混合信号中存在频谱混叠,以能量较小信号s1(t)为参照标准,设置信噪比为10 dB。对混合信号x(t)进行下变频和降采样,下变频载频设置为flow=4.84 MHz,降采样频率设置为Fs2=2 MHz,得到预处理后的信号x″(t)。遍历x″(t)频谱中每个频点,对混合信号相关参数进行估计,结果如表2所示。
表2 混合信号参数估计结果Table 2 Mixed signal parameter estimation results
初始化模态分量数K=L=3,利用EVMD算法对x″(t)进行分解并计算模态分量与混合信号之间相关系数,得到ρmax=0.438 9,则谱相关系数的门限为ρmax/L=0.146 3。K←K+1,继续进行分解,计算各个IMF分量与混合信号之间的谱相关系数和IMF分量的中心频率,结果如表3所示。
表3 EVMD算法得到的谱相关系数和中心频率Table 3 Spectral correlation coefficient and center frequency obtained by EVMD algorithm
图2 信号频谱对比图Fig.2 Signal spectrum comparison diagram
由图2可以看出,预处理后两路源信号的频谱幅值之间存在接近1∶3的关系;经过EVMD算法分解得到的两路信号分量中存在部分旁瓣,且频域幅度与对应源信号的幅度存在一定程度的差异;经过面向能量差异混合信号的SCBSS算法得到的两路估计信号中均不包含另一路信号的频率成分,时频域幅度与预处理后源信号的时频域幅度十分接近,且存在幅值近似1∶3的关系,估计信号很好地还原了源信号的幅度和频率特性。由此可以看出本文所提面向能量差异混合信号的SCBSS算法能够有效分离存在频谱混叠和能量差异的混合信号。
计算两路估计信号与对应源信号之间的误码率均为0,两路估计信号与源信号之间的相关系数如表4所示。
表4 估计信号与源信号之间的相关系数Table 4 Correlation coefficient between estimated signals and source signal
由表4可以看出,估计信号y1(t)与源信号s1(t)对应,能量较小,估计信号y2(t)与源信号s2(t)对应,能量较大,相关系数分别为0.838 5和0.947 1,两路估计信号与源信号之间仍然具有很强的相关性。
本节将改变两路源信号之间的幅度比,从而改变混合信号中的能量差异程度,对比本文提出EVMD算法与经典的SCBSS算法对不同能量差异频谱混叠信号的分离性能。令源信号之间的幅度比分别为1∶1、1∶2、1∶6、1∶10,其他参数如表1所示,混合信号的信噪比范围设置为[-15,20] dB,在每个信噪比下进行100次仿真,并取平均值作为最终结果。
实验 1能量差异程度对不同信号类型的性能影响
为了探究本文所提的EVMD算法,在第3.1节对BPSK信号进行仿真的基础上,补充了两路信号为正交相移键控(quadrature phase shift keying,QPSK)调制信号的情况,其他参数与BPSK信号相同。针对不同调制信号类型的分离实验,估计信号与源信号之间相关系数随信噪比的变化曲线如图3所示。
图3 不同调制信号的估计信号与源信号之间相关系数随信噪比的变化曲线Fig.3 Variation curve of correlation coefficient between estimate signals and source signals with signal to noise ratio under different modulation signals
由图3可以看出,当信噪比大于10 dB时,在不同能量差异程度下,本文提出的EVMD算法在对两路BPSK信号分离时,估计信号与源信号之间具有较强的相关性,相关系数在0.8以上;而在对QPSK信号进行分离时,相关系数也均在0.7以上,这是因为QPSK信号本身的抗噪性能不如BPSK信号,不过此时本文算法所得分离信号与源信号也有良好的相关性,说明本文算法在一定程度上适用于不同的调制信号类型。
能量较小估计信号与对应源信号之间误码率随信噪比的变化曲线如图4所示。
图4 不同调制信号下能量较小估计信号与源信号之间误码率随信噪比变化曲线Fig.4 Variation curve of bit error rate between estimated signals with small energy and source signals with signal to noise ratio under different modulation signals
由图4可以看出,在不同能量差异下,本文提出的EVMD算法在对两路BPSK信号分离时,当信噪比为10 dB以上时,小信号的误码率均能下降;而在对QPSK信号进行分离时,当幅度比大于2时,小信号的误码率会有所增加,本文算法性能有一定程度的下降,这是因为QPSK信号的码元判别更加复杂,其本身抗噪性能较差,后续会继续研究探索以提升本文算法在分离更为复杂的调制信号时的性能。
实验 2能量差异程度对不同载频间隔的信号的性能影响
为了探究本文所提EVMD算法在解决频谱混叠问题时的性能,在第3.1节对两路信号载频间隔为0.2 MHz进行仿真分析的基础上,补充了载频间隔为0.16 MHz的信号混合情况(频谱混叠程度为40%),其他实验条件保持不变。估计信号与源信号之间相关系数随信噪比的变化曲线如图5所示。
图5 不同载频间隔下的估计信号与源信号之间相关系数随信噪比变化曲线Fig.5 Variation curve of correlation coefficient between estimate signals and source signals with signal to noise ratio under different carrier frequency intervals
能量较小估计信号与对应源信号之间误码率随信噪比的变化曲线如图6所示。
图6 不同载频间隔下能量较小估计信号与源信号之间误码率随信噪比变化曲线Fig.6 Variation curve of bit error rate between estimated signals with small energy and source signals with signal to noise ratio under different carrier frequency intervals
由图5和图6可以看出,当信号间的载频间隔减小至0.16 MHz时(频谱混叠程度为40%),在不同能量差异下,本文提出的EVMD算法的分离性能会随能量差异的增大而变差,但是当幅度比为1∶6时,小信号的相关系数仍在0.6以上,所得分离信号与源信号间具有较好的相关性。另外,小信号的误码率在信噪比为20 dB时能达到10-4数量级,说明本文所提的EVMD算法基本可以分离频谱混叠程度为40%时的信号。因为EVMD算法的本质是在VMD算法的基础上进行改进,虽然其能够解决频谱混叠问题,但其仍是根据信号间的频率差异来进行分解的,所以并不能完全分离频谱大幅混叠的信号(混叠程度大于50%),但是在面对一定程度频谱混叠的信号时,EVMD算法分离性能良好,实用性较强。
实验 3能量差异程度对不同算法的分离性能影响
针对不同的SCBSS算法,包括VMD算法、小波包分解(Wavelet packet decomposition,WPD)和本文提出的EVMD算法,估计信号与源信号之间相关系数变化曲线如图7所示。
图7 不同算法估计信号与源信号之间相关系数随信噪比的变化曲线Fig.7 Variation curve of correlation coefficient between estimate signals and source signals with signal to noise ratio
由图7可以看出,当信噪比大于0 dB时,在不同能量差异程度下,由本文提出的EVMD算法得到的估计信号与源信号之间的估计系数均不低于0.8,估计信号与源信号之间具有较强的相关性,本文的EVMD算法对信噪比具有较好的稳健性;而对于现有的VMD算法,只有当两个信号幅度相当时,分离后信号的相关系数才能达到0.8以上,当两个信号幅度比大于2时,分离信号相关系数均小于0.7;对于WPD算法,仅当幅度比为1∶1时相关系数为0.7,其余情况下的相关系数很低,说明此时分离信号与源信号的相关性较差,分离性能不如本文所提的EVMD算法。
能量较小估计信号与对应源信号之间误码率随信噪比的变化曲线如图8所示。
图8 不同算法能量较小估计信号与源信号之间误码率随信噪比的变化曲线Fig.8 Variation curve of bit error rate between estimated signals with small energy and source signals with signal to noise ratio
由图8可以看出,在不同能量差异下,经本文提出的EVMD算法得到的较小信号误码率降至10-3数量级时所需的信噪比均在5 dB左右,具有良好的分离性能,在低信噪比下也具有较好的稳健性;而当混合信号之间能量差异较大时,经VMD算法得到的较小信号误码率在10-1数量级,已经无法将能量较小信号准确地分离出来;而WPD算法只能分离幅度相等的两路信号。在面向具有能量差异的信号进行分离时,较小信号的误码率在10-1数量级,无法有效分离出能量较小的信号。
综合以上仿真结果,本文提出的面向能量差异混合信号的SCBSS算法可以对不同能量差异程度的频谱混叠信号实现准确的SCBSS,且得到的估计信号与源信号之间具有较高的相关性,分离性能与经典VMD算法相比,具有更加良好的性能表现。另外,EVMD算法与经典VMD算法复杂度相当,额外复杂度主要集中在谱相关系数和中心频率的计算上,基本可以忽略不计。针对具有能量差异的两路信号进行分离时,VMD算法只能分离幅度相当的信号,在幅度比大于1∶2时会失效;而EVMD算法的稳健性较好,即使面对极端的幅度比为1∶10的信号,也能实现有效的分离,以少量复杂度的牺牲换取了分离性能的大幅提升。
本文提出了一种面向能量差异混合信号的SCBSS算法。首先,针对能量差异的混合信号的分解问题,提出一种面向能量差异的VMD算法,设置谱相关系数和中心频率双门限,实现了能量差异混合信号的分解,对各个模态分量的来源进行区分,对来自同一信号的模态分量进行合并,从而得到两路源信号对应的信号分量;其次,将基于能量差异的VMD算法与EASI算法结合,提出一种面向能量差异混合信号的SCBSS算法,首先对存在能量差异和频谱混叠的混合信号进行参数估计,得到源信号之间的能量比及源信号的频率范围,然后利用EVMD算法进行分解,得到两路信号分量,最后通过EASI算法对两路信号分量和混合信号共同构成的多通道信号实现盲源分离。仿真结果表明,本文提出的算法可以在信噪比满足一定条件时从频谱混叠的单通道混合信号中准确地分离出存在不同能量差异的源信号,并且分离得到的信号与源信号之间具有较强的相关性,性能显著优于其他现有SCBSS算法,表明了该算法具有可行性和有效性,且有一定的应用价值和实际意义。