1.一种基于引力搜索算法的MUSIC谱峰搜索方法,应用于电子通信领域的阵列信号处理的DOA估计的问题上,解决MUSIC算法谱峰搜索部分的计算复杂度高的问题,其特征在于:首先,定义信号模型:
假设阵列的信号接收模型为均匀线阵,且阵列天线由M个传感器构成,相邻传感器间隔为d,阵列外有D个波长为λ的窄带平面波,从不同入射角度入射,D表示信号个数,相邻传感器间隔d=λ/2,则阵列接收数据的矢量形式为:X(t)=A(θ)S(t)+n(t) (1)T
其中,t为时刻,X(t)=[x1(t),x2(t),...,xM(t)]为M维数据接收向量,S(t)=[s1(t),s2(t),...,sD(t)]T为D维的信号源向量,n(t)是空间和时间均独立的高斯白噪声矢量,均值为0,方差为σ2,阵列流型矩阵A(θ)为M×D阶矩阵,其表达式为:A(θ)=[a(θ1),a(θ2),...a(θ)D] (2)其中,第k列a(θk)为第k个信号源sk的导向向量,即:其中,j指虚数单位, θk为第k个信号源的来波方向角,阵列数据的协方差矩阵为:
R=E[X(t)XH(t)]=ARSA+RN (4)式中,E[·]和[·]H分别指期望值和共轭矩阵,A和X(t)分别指阵列流型矩阵和数据接收向量,RS和RN分别为信源的协方差矩阵和噪源的协方差矩阵;
其次,关于MUSIC算法:
MUSIC算法是基于噪声子空间类的算法,它利用信号子空间和噪声子空间的正交性,构造空间谱函数,通过谱峰搜索,估计信号的来波方向,MUSIC算法是基于以下假设的数学模型上进行的:假设1:阵列类型为各向同性均匀线阵,且阵元间隔一般小于最高频率信号波长的二分之一;
假设2:空间中的噪声为高斯白噪声,不同阵元间的噪声均为平稳随机过程,且相互独立,各阵元间的噪声均值为零、方差相等;
假设3:空间信号为窄带平面波,它与阵元噪声相互独立;
假设4:信号源数小于阵元数;
在此假设基础上,MUSIC算法的实现步骤为:
(1)根据传感器阵列接收的N次快拍数据构造数据协方差矩阵的估计值如下:式中X(i)为第i次接收到的数据;
(2)对数据协方差矩阵进行特征值分解:
R=VΛVH (6)其中,V是与R同阶的方阵,Λ是由特征值组成的对角矩阵;
(3)对分解得到的特征值按大小进行排序,把与信号个数D相等的特征值所对应的特征向量作为信号子空间,把剩下的(M-D)个特征值对应的特征向量作为噪声子空间:R=VSΛSVSH+VNΛNVNH,VS和VN为别是信号子空间和噪声子空间,并确定R的最小特征值个数nE;
(4)构造空间谱函数:
其中,a(θ)为信号子空间的方向向量;
对谱函数进行空间搜索,其D个极大值对应的θ就是待估信源方向的估计值;
再次,关于引力搜索算法:
引力搜索算法是一个现代元启发式算法,根据算法的描述,有质量的个体之间产生相互作用力,质量较小的个体被吸引并产生加速度移动;每个个体有四个重要的参数:位置、惯性质量、主动惯性质量和被动惯性质量,惯性质量、主动惯性质量和被动惯性质量在算法中被认为是相等的;
该算法首先初始化种群的粒子,各个粒子之间存在相互作用力,随着算法的进行,这种作用力会促使所有质量小的粒子朝着相对而言质量更大的粒子移动;各粒子的速度和位置从初代开始改变,粒子所在的位置就是问题的可能解,每个粒子的性能与其惯性质量成一定的比例,当算法终止时,选择性能最好的粒子作为问题的解;
所述基于引力搜索算法的MUSIC谱峰搜索方法,将引力搜索算法用于MUSIC算法的谱峰搜索问题,则种群中粒子的位置代表着估计方位角在每次迭代过程中的解,所述方法包括如下步骤:步骤一,初始化所有粒子在给定维度的速度和位置信息,并设置迭代次数和引力搜索算法中的初始参数,将MUSIC空间谱函数PMUSIC设为引力搜索算法的适应度函数,将粒子的位置作为自变量θ,代入MUSIC空间谱函数PMUSIC算出所有粒子的适应度值,并根据适应度值衡量粒子的性能;
步骤二,运用引力搜索算法在每一次迭代过程中更新重力常数,并利用适应度值算出每个粒子的惯性质量,根据重力常数和惯性质量计算出每个粒子的引力之和,再由引力之和和惯性质量得出每个粒子的加速度;
步骤三,利用加速度计算出每次迭代过程中所有粒子的速度和位置,适应度值最大的粒子的位置代表着DOA估计问题的解;
步骤四,检查算法的终止条件,如果满足,终止算法并选择适应度值最大的一组解作为DOA估计问题的解。
2.如权利要求1所述的基于引力搜索算法的MUSIC谱峰搜索方法,其特征在于,所述方法的具体实现过程包括:步骤1:随机地初始化种群中的粒子,每个粒子都有自己的初始位置,各粒子的位置Xi的表达式为:其中, 和D分别表示粒子i在第k维搜索空间的位置和搜索空间的维数,D也等于待估计信源的个数,N为初始种群大小,算法在各搜索空间的搜索范围在[-90°,90°]之间;
步骤2:算出各粒子在不同时刻的惯性质量,计算公式如下:Mai=Mpi=Mi,i=1,2,..,N (9)Mai和Mpi分别代表第i个粒子主动惯性质量和被动惯性质量,Mi(t)代表第i个粒子的惯性质量,t为时刻,fiti(t)代表t时刻第i个粒子的适应度值,是根据MUSIC空间谱函数得出的值,其中,a(θ)为信号子空间的方向向量,VN为噪声子空间,[·]H指共轭矩阵;
依据上述MUSIC空间谱函数PMUSIC公式计算每次迭代中所有粒子的适应度,由于该问题是优化最大值问题,时刻t的最优解best(t)和最差解worst(t)分别为:步骤3:从引力定律中可以推出,第k维上一个粒子i在t时刻受到另一个粒子j的作用力的计算公式如下:Rij(t)表示在t时刻两个粒子i和j的欧几里得度量,ε表示一个非常小的常数;
在t时刻的万有引力常数G(t)为:
G(t)=G0×e-α·t/T (18)G0表示在t0时刻G的取值,取值为100,α为下降系数,取值为20,t对应着当前循环次数,T代表最大循环次数;
则在t时刻,Xi在第k维上受到的引力总和是由种群中其余粒子对其产生的全部引力相加得到,计算公式如下所示:式中,randj表示在[0,1]之间的随机数;
步骤4:从牛顿的力学原理可以得知,粒子产生的加速度等于该粒子受到的引力总和与其惯性质量之比,则粒子i的加速度的计算公式如下:然后在每一次更新过程中,根据计算得到的加速度来更新每个粒子的速度,再根据粒子的速度更新每个粒子的位置,计算公式如下所示: