Extraction Algorithm of Co-Frequency Aliased Signals Based on Relaxation Modified Fast Independent Component Analysis
1 引言 随着电子技术与电子设备的迅速发展,星地通信、星间通信更加频繁,使得频谱拥挤进一步加剧,同频信号混叠干扰难以避免[1 ] 。数字信号处理技术的发展为解决信号混叠问题不断提供新的思路,尤其是盲信号分离技术的进步为同频信号提取提供了新途径[2 ] ,提升了对未知带宽、码元速率、载波信息的同频信号混叠的处理能力[3 ] 。
近年来用盲源分离方法对各类混叠信号的提取进行了研究,尤其是快速独立分量分析(FastICA)算法对混叠信号的提取[4 ] ,该算法自提出起一直面临对初始权值敏感性和收敛性能差的问题[5 ] 。黄振川等[6 ] 用FastICA算法实现了同频电子侦察信号的提取,能分离功率相差很大的信号,但是提取信号只能是固定信号。Gu等[7 ] 用FastICA算法实现了短波同频信号的提取,但是仅对时域信号混合模型进行了研究,并未对算法的初值敏感性进行改善。孙懿等[8 ] 提出了变分模态分解(VMD)和改进的FastICA算法联合的机械故障信号提取方法,将VMD和改进后的FastICA算法应用于轴承故障信号分离,提高了算法的收敛速度,降低了算法对初始值的要求,但不适用于多信号混叠的情况。尹洪伟等[9 ] 提出了自适应FastICA算法,改善了算法对初始值的敏感性,但收敛速度没有得到提升。陈梦等[10 ] 对FastICA算法进行优化,通过八阶收敛的牛顿法提高了收敛速度,但对初始值的敏感性没有改善。Ge等[11 ] 提出了SparseFastICA算法,降低了对初始值的要求,并提高了算法的收敛速度,但由于算法的约束条件是通过源信号稀疏性实现的,导致提取效果较差。刘慧等[12 ] 提出了单松弛因子改进的FastICA算法,成功提取了星基广播式自动相关监视(ADS-B)信号。Liu等[13 ] 对弦截法的FastICA算法进行了改进,分离时间比原算法提高了9.44%,提升了语音信号的提取效率,克服了初值选择敏感性的影响,但是不能进行深度聚类的语音信号提取。以上提出的大量改进的FastICA算法中,并没有一个算法能在信号提取时既提高收敛性又克服对初始权值的敏感性,故本文通过在牛顿迭代法中引入双松弛因子,结合改进的FastICA(M-FastICA)算法,尝试在提取同频混叠信号时,提升算法的收敛性,同时更好地改善初值敏感性。
2 盲源分离信号模型
2.1 线性盲分离模型 盲信号的线性混合模型可以描述为:假定源信号为s i t , i = 1 , 2 , . . . , N ,通过M 个传感器接收到的观测信号为x j t , j = 1 , 2 , . . . , M ,多径信道阶数为L + 1 。t 时刻第j 个传感器的输出信号为
x j ( t ) = ∑ i = 1 N a i j s i ( t ) ,
(1) 式中,a i j 为混合系数,输出信号可用矩阵表示为
x ( t ) = A s ( t ) ,
(2) 式中:x ( t ) 为观测信号;A 是阶数为M × N 的混合矩阵,一般假设M = N ,则N × 1 维的源信号为s ( t ) = [ s 1 ( t ) , s 2 ( t ) , ⋯ , s N ( t ) ] Τ ,接收端M × 1 维的混合信号可以表示为x ( t ) = [ x 1 ( t ) , x 2 ( t ) , ⋯ , x M ( t ) ] Τ 。考虑信号噪声的影响,则接收信号信号可以表示为
x ( t ) = A s ( t ) + n ( t ) ,
(3) 式中,n ( t ) = [ n 1 ( t ) , n 2 ( t ) , ⋯ , n M ( t ) ] Τ 为高斯白噪声,盲分离的实质就是求得从观测信号x ( t ) 中得到源信号s ( t ) 的分离矩阵B ,其过程可以表示为
y ( t ) = B x ( t ) ,
(4) 式中:y ( t ) 为分离后的信号,它是源信号s ( t ) 的估计;B 是一个N × M 维的分离矩阵,因为由式(2) 可得
y ( t ) = B A s ( t ) = Λ P s ( t ) 。
(5) 在实际情况下,式(5) 中的Λ 为可逆矩阵,P 为任意置换矩阵,y ( t ) 的分量相互独立时可以将源信号分离出来,即y ( t ) 是s ( t ) 的一些简变换,盲源分离的原理如图1 所示。
图 1. 盲源分离原理Fig. 1. Principle of blind source separation 下载图片 查看所有图片
2.2 盲分离的假设条件 盲源分离在实际中可能会有多组s ( t ) 和A 成为x ( t ) 的解,则要在信号预处理之前对各信号矢量做出一定的假设。现实中的同频混叠是由多个不同的信号组成的,假设源信号s 1 , s 2 , ⋯ , s N 之间是相互独立的,在能求出A - 1 的情况下有
s ( t ) = A - 1 x ( t ) + A - 1 n ( t ) 。
(6) 要使同频混叠信号提取具有应用价值,则A 必须存在左逆,需要假设A 是列满秩的。在实际中要考虑噪声,可以把与源信号独立的白噪声n ( t ) 作为提取过程中的噪声,则同频混叠的盲信号模型可以做出以下假设:
1)s ( t ) 是零均值相互独立的平稳随机矢量,当有多于1个源信号服从高斯分布时,该源信号不可分。
2)混合矩阵A ∈ R m × n 为列满秩,R a n k ( A ) = n 。
3)n ( t ) 是一个零均值的随机矢量,与s ( t ) 相互统计独立。
3 双松弛因子改进的FastICA算法
3.1 双松弛因子的引入 独立分量分析(ICA)是盲信号处理的基础,FastICA算法主要有基于似然最大、基于负熵最大、基于峭度最大、基于四阶累积量等形式,是一种经典的独立分量分析算法,也被称为盲信号抽取固定点算法,负熵是一种可以度量随机变量非高斯的函数,定义为
J ( y ) = H ( y G a u s s ) - H ( y ) ,
(7) 式中y G a u s s 是高斯变量,它与y 具有相同的方差,Hyvarinen[14 ] 给出了负熵的近似表示为
J ( x ) ∝
[ E G ( y ) - E G ( v ) ] 2 ,
(8) 式中:G ( y ) 通常取l g ( c o s h x ) ,它是一个非二次函数;v 为服从N ( 0,1 ) 的高斯变量。故G ( y ) 的最优化即为式(8) 的最优化,而观测信号在W = 1 条件下,最优值的表达式可以表示为
F ( W ) = E [ x g ( W Τ x ) ] - β W = 0 ,
(9) 式中:β 为常量因子;W 为解混矩阵,由β = W 0 Τ x g ( W 0 Τ x ) 求得,W 0 为最优化的值,记G 的导数为g ,用牛顿法求式(9) 得其近似解为
W k + 1 = W k - [ E x g ( W k Τ x ) - β W k ] [ E x g ' ( W k Τ x ) - β ] 。
(10) 在数据白化后有E ( x x Τ ) = I ,将其代入式(10) 且两边同乘[ β I - E [ g ' W ( k ) Τ x ) ] ,可以推出FastICA算法的迭代公式为
W ( k + 1 ) ← E { x g [ W ( k ) Τ x ] } - E { g ' [ W ( k ) Τ x ] } W ( k ) 。
(11) 由于算法对初始值选择的敏感性,在FastICA算法中引入两个不同的松弛因子α 1 、α 2 ,对迭代算法进行改进,推导过程如下:
在式(11) 中引入两个不同的松弛因子α 1 、α 2 ,可得
W 1 ( k + 1 ) ← α 1 E [ x g ( W k Τ x ) ] - E [ g ' W ( k ) Τ x ] W ( k ) - ( 1 - α 1 ) β w k ,
(12) W 2 ( k + 1 ) ← α 2 E [ x g ( W k Τ x ) ] - E [ g ' W ( k ) Τ x ] W ( k ) - ( 1 - α 2 ) β w k 。
(13) 松弛因子α 1 、α 2 的引入要求满足约束条件:
E [ x g ( w k + 1 Τ x ) ] - β w k + 1 Τ < E [ x g ( w k + 1 T x ) ] - β w k T , k = 0,1 , . . . , (14) 即
m i n α 1 , α 2 F [ w k - α 1 + α 2 2 F ( w k ) / J F ( w k ) ] 。
(15) 通过将α 1 、α 2 引入到FastICA算法,通过组合系数的调整,使得算法放宽了对初始值的选择条件,同时F ( w k ) 具有了给定范数下下降的性质,促使算法从某个w k 开始进入牛顿迭代法的收敛区域,使得算法在任何情况都能达到收敛,但此时降低了收敛速度,当α 1 = α 2 = 1 时,算法恢复为FastICA算法。
在式(16 )、(17 )中,通过分析可知松弛因子α 1 = α 2 = 1 时,算法具有牛顿下降速度,当α 1 < 1 、α 2 < 1 时,算法有更好的稳定性,因此将引入不同松弛因子的迭代方式相结合,以得到更好的效果。令
W ( k ) = λ ( k ) W 1 ( k ) + [ 1 - λ ( k ) ] W 2 ( k ) ,
(16) 式中,利用滑动参数λ ( t ) 来调节组合系数,它随着系统的分离程度不断更新,更新方式为
λ ( k + 1 ) = λ ( k ) - μ λ ∂ J ( k ) ∂ λ ( k ) ,
(17) 式中,μ λ 为很小的步长因子,为简化计算,可用式(18) 代替式(9) :
E [ x g ( w i Τ x ) ] = 0 , w i = 1 , i = 1,2 , . . . , N 。
(18) 因为g 为G 的导数,根据矩阵的内积公式A , B = t r ( A Τ B ) 和式(16 )、(18 )可得
∂ J ( k ) ∂ W ( k ) = E [ x g ( W Τ x ) ] ,
(19) ∂ W ( k ) ∂ λ ( k ) = W 1 - W 2 ,
(20) 则α J ( k ) / α λ ( k ) 为
∂ J ( k ) ∂ λ ( k ) = ∂ J ( k ) ∂ W ( k ) , α W ( k ) α λ ( k ) = t r { E [ x g ( W Τ x ) ] Τ [ W 1 ( k ) - W 2 ( k ) ] } 。
(21) 将式(21) 代入式(17) 得
λ ( k + 1 ) = λ ( k ) - H ( k ) [ λ ( k ) ( 1 - λ ( k ) + 0.01 ] ,
(22) 式中H ( k ) 为
H ( k ) = μ λ . t r { E [ x g ( W Τ x ) ] Τ [ W 1 ( k ) - W 2 ( k ) ] } 。
(23) 引入[ λ ( k ) ( 1 - λ ( k ) + 0.01 ] 是为了防止λ ( k ) 过大而产生较大误差[15 ] 。
3.2 松弛因子改进FastICA算法原理 在FastICA算法的运行分析中发现,算法中最复杂的部分是计算迭代中雅可比(Jaccobi)矩阵J F ( w ) ,因此减少迭代中雅可比矩阵的计算,就可以提高算法的性能。基于此有人提出了M-FastICA算法[16 ] 。
假设已求得分离矩阵第k 次迭代的值w k ,则第k + 1 次迭代可以表示为
w k 0 = w k , w k i = w k i - 1 / J F ( w k 0 ) , i = 1,2 , . . . , n w k + 1 = w k n ,
(24) 当n = 2 时,式(24) 可以写为
w k + 1 = w k - [ F ( w k ) + F ( w k - F ( w k ) / J F ( w k ) ] / J F ( w k ) 。
(25) 式(25) 及其收敛性可以通过以下定理来证明[17 ] 。定理:设f : D ⊂ R n → R n ,w * 是式(16) 的解,w * ⊂ D 。f 在包含w * 的球ϕ = w w - w < σ , σ > 0 ⊂ D 上连续可微,D f ( w * ) 非奇异,则式(16) 产生的序列w k ∈ ϕ ,且以收敛速度收敛于w * 。
文献[18 ]详细推导了其证明过程,表明式(15) 和式(16) 具有n + 1 次收敛速度,每n 次迭代只需计算一次J F (w )的值,将F ( w k ) 和J F ( w k ) 代入式(16) 就得到了M-FastICA算法。
提出的改进算法放宽了对初始值的选择,但是收敛速度放慢到线性收敛,对同频混叠信号进行提取时,为了提高算法的收敛速度,将M-FastICA算法与提出的松弛因子改进迭代法联用,先使用改进的迭代法对初始值不敏感的特性求得初始矩阵得近似值,再用M-FastICA算法的快速收敛性得到提取后的同频源信号,联合算法称之为双松弛改进FastICA(DLM-FastICA)算法。
DLM-FatICA算法通过双因子α 1 、α 2 动态调整来达到稳定,算法的具体步骤如下:
1)接收端接收到m 个同频混叠信号,对其进行零均值和白化处理。
2)其次对W 1 、 W 2 、 α 1 、 α 2 、 μ λ 进行初始化,令α 1 = α 2 = 1 ,μ λ = 0.01 。
3)用Δ w k = F ( w k ) / J F ( w k ) 判断是否满足式(14) 的约束条件,如果满足约束条件,则用式(24) 对w k 进行更新,不满足则取α 1 = 0.5 α 1 ,α 2 = 0.5 α 2 对双因子进行更新直到满足条件。
4)根据式(16) 求得分离矩阵W ,并进行归一化W = ( W W Τ ) - 1 / 2 W 。
5)判断w k 是否收敛,若不收敛则根据式(12 )、(13 )求得W 1 、W 2 ,返回步骤2),循环至收敛。
图2 为基于DLM-FastICA算法对同频混叠信号的提取流程。
图 2. DLM-FastICA算法流程Fig. 2. Flow chart of DLM-FastICA algorithm 下载图片 查看所有图片
4 仿真实验及性能分析 分别选用中心频率相同的调制信号QPSK、2FSK、高斯白噪声信号和在两种调制信号带宽内的单音正弦波信号作为源信号。混合矩阵A 由Matlab软件随机产生,矩阵中各个元素值在(0,1)之内。在提取过程中产生的随机矩阵为
A = 0.0013 0.5575 0.6842 0.3450 0.9813 0.2998 0.7924 0.3286 0.5702 0.1591 0.3486 0.9275 0.3465 0.6653 0.2501 0.7561 。
(26) 图3 为源信号波形,图4 为源信号频谱波形,反映出几种信号的频率相近,很难用常规的频谱分离方法来提取。图5 为源信号在混合矩阵下的混合信号,是由s ( t ) 乘以A 得到的,采用DLM-FastICA算法对以上同频混叠信号进行提取,算法的参数设置为α 1 = 1 ,α 2 = 1 ,μ λ = 0.01 ,W 1 、W 2 初始随机产生。
图 3. 源信号波形Fig. 3. Source signal waveforms 下载图片 查看所有图片
图 4. 源信号频谱Fig. 4. Source signal spectra 下载图片 查看所有图片
图 5. 接收端混合信号Fig. 5. Mixed signals at receiver 下载图片 查看所有图片
图6 为采用FastICA算法对以上同频混叠信号的提取结果,算法成功实现了同频信号的提取,但是存在幅度和排序的模糊,基本可以判断出不同的信号类型。
图 6. FastICA算法提取的信号Fig. 6. Signals extracted by FastICA algorithm 下载图片 查看所有图片
图7 为采用DLM-FastICA算法对以上同频混叠信号的提取结果,可以看出,DLM-FastICA算法能成功实现同频混叠信号的提取,而且得到的提取信号与FastICA算法的提取信号(图6 )在周期、顺序与幅度方面有一定的区别,能够比较清晰地判断源信号的种类,FastICA算法与DLM-FastICA提取的信号都存在幅度与排序的模糊[19 ] ,而同频混叠信号的提取只需要准确判断出信号的类型,因此这种模糊不会影响对提取信号的判断。
图 7. DLM-FastICA算法提取的信号Fig. 7. Signals extracted by DLM-FastICA algorithm 下载图片 查看所有图片
为了研究DLM-FastICA算法的具体性能,可以从相似系数、收敛性能、算法的迭代时间等方面来对比分析。对同频混叠信号进行提取之后,可以用算法的相似系数[20 ] 来对比与源信号的相似程度,相似系数定义为
ξ i j = ξ ( y i , s j ) = ∑ n = 1 M y i ( n ) s j ( n ) ∑ n = 1 M y i 2 ( n ) ∑ i = 1 M s j 2 ( n ) 。
(27) 当ξ i j 越接近于1时,表明提取信号越接近于源信号。通过计算ξ i j 构成的相似系数矩阵来判断提取性能,若有一个提取后的信号逼近于源信号,则该矩阵每行每列中会有一个元素的值接近于1,而其他元素都接近于0,说明信号提取效果比较理想。算法设置收敛精度为0.0001,最大迭代为10000。得到提取信号与源信号的相似系数如图8 所示。
图 8. 提取信号与源信号的相似系数。(a)提取信号1与源信号;(b)提取信号2与源信号;(c)提取信号3与源信号;(d)提取信号4与源信号Fig. 8. Similarity coefficients between extracted signals and source signals. (a) Extracted signal 1 and source signal; (b) extracted signal 2 and source signal; (c) extracted signal 3 and source signal; (d) extracted signal 4 and source signal 下载图片 查看所有图片
图8 反映了信噪比在-1~10 dB时,用提出的DLM-FastICA算法进行仿真后提取信号与源信号的相似系数曲线,可以看到随着信噪比的增加,信号的相似系数逐渐增大,提取信号与源信号的对应关系为s 1 → y 2 ,s 2 → y 1 ,s 3 → y 3 ,s 4 → y 4 ,提取后的信号与源信号的相似系数可以达到0.9,证明提出的DLM-FastICA算法能够实现同频混叠信号的提取,且提取结果逼近于源信号。
为了比较算法的收敛性能,通过DLM-FastICA算法求得混合矩阵和源信号的估计值,与混合矩阵和源信号的实际值比较,即通过每次迭代的PI值[3 ] 和迭代次数来评价算法的收敛性。PI值可表示为
V P I = 1 2 M ∑ i = 1 M ∑ j = 1 M c j i 2 m a x c i k 2 k - 1 + ∑ j = 1 M c i j 2 m a x c i k 2 k - 1 ,
(28) 式中:M 为变量的个数;V PI 表示算法分离性能,V PI 越小表示提取性能越好。图9 描述了分别进行50次迭代时不同算法的收敛情况。
图 9. 平均相似系数曲线对比Fig. 9. Comparison of average similarity 下载图片 查看所有图片
图9 反映了所提算法与参考算法的平均相似系数对比,分别计算不同算法中源信号与提取信号的平均相似系数,可以看出在相同的信噪比下,所提算法提取信号与源信号相似系数达到了0.9,相比于参考算法,提出的算法提取的信号与源信号更接近。
图10 反映了所提算法与参考算法收敛性能曲线对比,DLM-FastICA算法收敛次数最少,在相同的时间内,PI值也更小,提取性能相对于其他3种算法来说较好,文献[16 ]中改进的FastICA算法收敛性能明显不足,因为它采用了固定的收敛因子。文献[15 ]中基于改进弦截法的FastICA(ISFastICA)算法由于受不同初值的敏感性影响较小,所以与文献[12 ]中的单松弛因子改进的FastICA(LM-FastICA)算法相比于FastICA算法有相近的收敛次数,但相比于本文提出的算法,这两种算法处于劣势。文献[9 ]中采用引入松弛因子的方法来提高收敛性,但本文所提算法联合M-FastICA算法的快速收敛性降低了PI值,得到了更好的收敛效果。
图 10. 算法收敛性能曲线对比Fig. 10. Comparison of algorithm convergence 下载图片 查看所有图片
图11 为运算400次时算法的运算序号和平均迭代次数,可以看出:
图 11. 算法迭代次数的对比Fig. 11. Comparison of algorithm iteration times 下载图片 查看所有图片
1)用经典FastICA算法进行信号提取时迭代次数在10~15之间,平均迭代次数为12.667;改进的FastICA算法迭代次数在11~14之间,平均迭代次数为12.334。ISFastICA算法由于减少了对不同初值的敏感性,迭代次数在8~10之间,平均迭代次数为9.112。双因子自适应FastICA算法通过动态调节组合系数,迭代次数在7~10之间,平均迭代次数为8.556。
2)在LM-FastICA算法中,使用松弛因子牛顿迭代法求出了初始矩阵近似值,迭代次数在9~11之间,平均迭代次数为9.778,而提出的DLM-FastICA算法的平均迭代次数在7~8之间,平均迭代次数为7.667。
3)通过计算可知,提出的DLM-FastICA算法比LM-FastICA算法的迭代次数降低了21.58%,比M-FastICA算法降低了37.80%,比FastICA算法降低了39.47%,比ISFastICA算法降低了15.80%,比双因子自适应FastICA算法降低了10.39%,有效克服了对初始值的依赖,虽然用联合算法消耗了时间,但是改善了对初始值敏感的问题,也加快了收敛速度。
5 结论 在用传统的FastICA算法提取多个同频混叠信号时,存在初值选择敏感性和收敛性能差的问题,提出了一种DLM-FastICA算法,引入双松弛因子组合迭代系数进行自适应调节,得到最优权值分离矩阵,再利用M-FastICA的快速收敛特性提取信号,放宽了初值选择的条件。获得了更加快速、稳定的提取性能,相似系数与收敛速度相比于其他参考算法都得到了有效的提升。下一步的主要研究内容是进一步降低算法的运行时间和实现多噪声条件下的同频混叠信号提取。
李强, 曹小芳, 申东. 基于松弛改进快速独立分量分析的同频混叠信号提取算法[J]. 激光与光电子学进展, 2022, 59(11): 1107003. Qiang Li, Xiaofang Cao, Dong Shen. Extraction Algorithm of Co-Frequency Aliased Signals Based on Relaxation Modified Fast Independent Component Analysis[J]. Laser & Optoelectronics Progress, 2022, 59(11): 1107003.