张笑宇,诸洁琪,陈伏虎
(中国船舶集团有限公司第七一五研究所,浙江 杭州 310012)
对于水声设备的接收端来说,干扰信号是指对有用信号的接收、处理造成损伤的信号,如水声对抗中的主动干扰信号(单频干扰信号、线性调频干扰信号等)、工频干扰、特定频率的振动噪声等。因其多具有较强的周期性、特征性,故在信号处理过程中,对干扰信号进行抑制的重要性不言而喻。对于时域信号中强干扰信号的抑制,较常用且快速的方法是对含有干扰信号的时域信号进行傅里叶变换,在频域对干扰信号的频点进行剔除,最后进行傅里叶逆变换,重建时域信号。此方法能有效地剔除干扰信号,但会带来剔除频点处信号信息丢失的问题,同时较难处理非单频信号(如线性调频信号)[1]。
针对以上问题,本文提出一种基于奇异值分解(Singular Value Decomposition,SVD)的时域强干扰信号抑制方法,通过构建信号矩阵并作SVD 处理,得到时域信号所对应的奇异值。奇异值的大小反映时域信号不同分量的能量分布情况,较大的奇异值对应能量较为集中的信号分量,即为强干扰信号。通过设置合适的门限,对奇异值进行筛选,将干扰信号分量所对应的奇异值进行置零处理,最后进行逆运算,重建时域信号。仿真结果显示,该方法对单频信号、线谱信号及周期性信号的干扰具有较好的抑制效果[2]。
SVD 是线性代数中的经典问题,在图像降噪处理领域有着重要的应用。相比于本身即为矩阵形式的图像数据,水声时域信号作为一维数据序列,在进行SVD 处理前需要构建时域信号所对应的信号矩阵,因此,矩阵构建规模、构建方式等对强干扰信号的抑制效果以及数据计算量有着较大的影响。本文还将仿真计算不同构建偏移量的情况下对应的干扰抑制的结果,分析参数变化对强干扰信号抑制效果的影响。
奇异值分解(SVD)是线性代数中的重要内容。奇异值分解过程是线性代数中相似对角化分解(又称特征值分解)(Eigen Value Decomposition,EVD)的延伸。相比于EVD,SVD能够用于任意m×n矩阵,因此在实际应用中的适用范围更广[3]。
对于任意m×n的实矩阵A(假定m>n),秩为r(r≤n),则存在n×n的正交矩阵V和m×m正交矩阵U,使得:
式中:Σ是m×n的非负对角阵,其表示如式(2)所示。
σ1,σ2,…,σr连同σr+1=…=σn=0称为A的奇异值,U,V的列向量ui、vi分别是A的左、右奇异向量。式(1)可看作是用两个正交矩阵分别对A作变换,变换的结果是得到奇异值矩阵Σ。该式的另一个等效表示是:
将SVD 用于时域信号的干扰抑制,首先需要构建信号矩阵。若信号矩阵是由有用信号和干扰信号共同组成的矩阵,那么信号矩阵的非零奇异值σ1,σ2,…,σi,…,σr可以反映信号和干扰能量集中的情况。较大的奇异值将主要反映强干扰信号,较小的奇异值则主要反映有用信号[4]。
设观察到的信号是x(n),x(n)=s(n)+u(n),其中s(n)是有用的信号,u(n)是干扰信号。已知信号x(n)长度为N,即n=0,1,…N-1,偏移量为m,由x(n)可以构建信号矩阵:
式中:k+lm=N-1。
当偏移量m为1 时,信号矩阵简化为Hankel 矩阵:
当强干扰信号的先验信息未知时,通常采取式(5)的构建方法。由于信号矩阵SVD 后非零奇异值的个数等于信号矩阵的秩,故矩阵的列数k+1 和矩阵的行数l+1 应尽可能相互接近。
当偏移量m为k+1 时,信号矩阵的构建可看作将时域信号数据序列均匀分段,每段长为k+1,共有l+1 段,数据长度N=(k+1)(l+1)。
如果已知待抑制的干扰信号的准周期性(如工频干扰,固有振动噪声等),那么式(6)的分段方法是可取的,此时分段长度k+1 应尽量等于其周期长度,同时考虑信号矩阵的秩对奇异值个数的影响,信号矩阵的行数也应尽可能地与列数接近。
构建后,一维的时域数据序列转换为二维的实矩阵。对信号矩阵作SVD,得到对应的奇异值矩阵以及奇异向量矩阵:
奇异值矩阵Σ为非负对角矩阵,由式(2)可知,其子阵r×r方阵S的对角线上为信号矩阵的非零奇异值σ1,σ2,…,σr,其余矩阵元素为0。通过门限对非零奇异值进行筛选,将大于门限的奇异值置零。筛选依信号特点而定,常规的筛选门限μ的计算方式有以下几种。
(1)均值门限。取信号矩阵所有非零奇异值的均值。
(2)中值门限。将非零奇异值按从大到小的顺序重排列,取信号矩阵所有非零奇异值的中值。
均值门限与中值门限在单次处理时域信号的数据点数较多,且强干扰信号与有用信号能量的数量级差别不大的情况下,会筛选掉过多的奇异值。虽然对强干扰的抑制效果明显,但有用信号中能量相对集中的部分同样被抑制,导致信号失真。
如果将SVD 应用在时域信号降噪中,与强干扰抑制相反,较大的奇异值反映有用信号,较小的奇异值反映噪声信号,则该类门限就能在无信号先验信息的条件下有效抑制噪声信号,同时使有用信号不失真[5]。
(3)固定门限。将非零奇异值重排列,从大至小选取固定数量i的奇异值,0 <i<r。
该门限适用于已知强干扰信号在频域中的频点分布个数的情况(如工频干扰信号、固有振动噪声信号等)。i的取值需大于干扰所在的频点个数的两倍,但不宜取值过大,防止信号失真。
(4)倍数均值门限。在均值门限的基础上乘以系数n(n>0)。
倍数均值门限适用于对强干扰信号与有用信号间幅度大小的相对关系有一定先验信息的情况。根据二者幅度比例,在系数n取值合理的情况下,该门限能在筛选干扰信号对应奇异值的同时,降低对有用信号的影响,即准确地区分强干扰信号与有用信号。
计算门限μ之后,将奇异值矩阵内大于μ的奇异值作置零处理,即抑制强干扰信号的能量,得到新的奇异值矩阵,进而得到新的信号矩阵
根据构建原始信号矩阵时偏移量m的取值,将新的信号矩阵按构建规则展开,还原得到抑制后的一维时域信号数据序列。
2.1.1 单频/线谱干扰信号抑制
利用线谱信号模拟强干扰信号,叠加宽带能量信号(模拟有用信号),线谱频率为50 Hz,100 Hz,150 Hz,采样率2.4 kHz,干信比为-5 dB。作SVD处理时信号矩阵为Hankel 矩阵,采用固定门限,i取6。干扰抑制前后的频域对比如图1 所示。
图1 干扰抑制前后频域对比
由频域对比结果可得,线谱干扰信号得到了有效的抑制,且有用信号的频谱未发生改变。
2.1.2 周期性干扰信号抑制
利用周期性线性调频(Linear Frequency Modulation,LFM)信号模拟强干扰信号,叠加宽带能量信号(模拟有用信号),LFM 信号脉宽0.05 s,周期0.1 s,带宽1 kHz,采样率10 kHz,干信比-5 dB。信号矩阵为均匀分段矩阵,采用倍数均值门限,干扰抑制前后的频域对比如图2 所示。
图2 干扰抑制前后频域对比
由频域对比可得,周期性的LFM 干扰信号得到了有效的抑制,且有用信号的频谱未发生改变。
利用线谱信号模拟强干扰信号,叠加宽带能量信号(模拟有用信号),线谱频率为50 Hz,100 Hz,150 Hz,采样率2.4 kHz,干信比为-5 dB。作SVD处理的信号矩阵的偏移量分别取1 和10,采用固定门限,将抑制后的时域信号与原始信号作差值,得到被抑制信号,并计算其频谱。偏移量取1 和10时被抑制的信号的频谱如图3、图4 所示。
图3 偏移量为1 时被抑制的信号的频谱
图4 偏移量为10 时被抑制的信号的频谱
由频域对比可得,当构建信号矩阵时的偏移量变大,被抑制的干扰信号出现了除线谱信号外的其他频率分量,即有用信号受到了一定的干扰。但相比于偏移量为1 时,处理相同长度的时域信号,其信号矩阵规模为前者的1/10,计算所用时间将大幅度缩短。由于基于SVD 的干扰抑制算法矩阵运算量较大,故在有用信号宽容度较高时(如只做能量),可适当增加偏移量,缩短运算时间。
本文提出了基于SVD 的时域强干扰信号抑制方法,介绍了SVD 的基本概念以及基于SVD 的干扰抑制的基本原理,给出了将SVD 应用于一维时域信号时不同信号矩阵及奇异值筛选门限的构建、计算方法以及对应的适用情况,对不同干扰信号形式的干扰抑制效果和信号矩阵偏移量对抑制效果的影响进行了仿真分析。仿真结果表明,该方法对时域信号中含有的单频信号、线谱信号及周期性信号的干扰具有较好的抑制效果。