1. 引言
在现代信号处理领域,波达方向(Direction of Arrival, DOA)估计是一个重要的研究课题[1] [2],广泛应用于无线通信、声源定位和雷达系统等多个领域。有许多经典算法被运用于DOA估计中,其中具有代表性的有多重信号分类(Multiple Signal Classification, MUSIC) [3]、旋转不变子空间(Estimated Signal Parameters via Rotational Invariance Technique, ESPRIT) [4]、扰动法(Perturbation Method, PM) [5]、最大似然估计(Maximum Likelihood, ML) [6]等,而最大似然估计因其在低信噪比条件下仍能保持较高的估计精度而受到青睐。但ML方法的计算复杂度较高,尤其是在多维非线性搜索的情况下,计算量随信源数量的增加而显著上升,这使得其在实际工程应用中面临挑战。
为了解决这一问题,研究者们开始探索将智能优化算法与ML方法相结合,以降低计算复杂度并提高估计精度。近年来,随着智能优化算法的不断发展,诸如遗传算法(Genetic Algorithm, GA) [7]、粒子群优化算法(Particle Swarm Optimization, PSO) [8]等智能优化算法被广泛应用于ML-DOA估计中。然而,这些方法在全局搜索能力和收敛性能方面仍存在不足,容易陷入局部最优解,导致估计结果的准确性受到影响。因此,需要探索新的优化方法以提升估计精度和降低计算复杂度。
为此,本文提出了一种改进的小龙虾优化算法[9],旨在优化ML-DOA估计过程中的搜索策略。通过引入迁移机制、改进正弦算法[10]和融合大猩猩优化器[11]来增强算法的探索能力和收敛速度,从而有效降低计算量并提高估计精度。
2. 最大似然DOA估计
2.1. 阵列信号模型
假设存在一个均匀线阵,阵元数为
,阵元间距为
,入射信号为平面波,其波长为
,方向角为
。在时刻
,接收到的矢量数据可以表示为:
(1)
式中,
为
维的阵列流型矩阵,
为方向矢量,其表达式为:
(2)
式中,
,
为时刻
的信号矢量,
为背景噪声矢量。假设其为0均值的高斯白噪声,则接收数据的协方差矩阵为:
(3)
式中,
为信号的协方差矩阵,
为噪声协方差矩阵。
2.2. ML估计方法
在进行ML估计时,假设采集了
次独立观测样本的集合
,这些观测样本的联合概率密度函数为:
(4)
式中,
表示噪声的方差;
是快拍数;
是目标入射角矢量;
为归一化下噪声
的相关矩阵。经推导,角度
的最大似然估计为:
(5)
(6)
式中
和
的表达式为:
(7)
(8)
3. 小龙虾优化算法的原理与改进
3.1. 小龙虾优化算法
小龙虾优化算法(Crawfish Optimization Algorithm)是一种受自然界中小龙虾的觅食行为、避暑行为和竞争行为启发的群体智能优化算法。
3.1.1. 小龙虾的温度和摄食量
小龙虾会随着温度的变化而表现出不同的行为,将进入不同行为阶段小龙虾所处的环境温度定义为temp,在温度合适时小龙虾会进行觅食行为,并且小龙虾的摄食量也会受到温度的影响而变化,摄食量定义为
。具体公式如下:
(9)
(10)
式中,
和
都是常数,
表示最适合小龙虾摄食的环境温度。
3.1.2. 避暑阶段
当小龙虾所处的环境温度 > 30摄氏度时,小龙虾会进入洞穴避暑,洞穴位置
定义如下:
(11)
式中
表示迭代过程到目前位置的最优位置,
表示当前种群的最优位置。当
时,表示没有其他小龙虾来争夺洞穴,小龙虾会直接进入洞穴避暑:
(12)
式中,
表示当前迭代次数,
为一个递减曲线,公式如下:
(13)
式中
表示最大迭代次数。
3.1.3. 竞争阶段
当环境温度 > 30摄氏度且
时,会有其他小龙虾争夺洞穴:
(14)
式中,
为随机的小龙虾个体:
(15)
3.1.4. 觅食阶段
当环境温度 ≤ 30摄氏度时,为适合觅食的温度,此时小龙虾会寻找食物的位置并判断食物的大小:
(16)
(17)
其中
是一个值为3的食物因子,
表示第
只小龙虾的适应度,
表示食物位置的适应度值。当食物大小
时,食物太大,小龙虾会撕扯食物:
(18)
当食物撕扯变小后,小龙虾会使用第二个和第三个爪子交替进食:
(19)
当
时,小龙虾可以直接进食:
(20)
3.2. 改进小龙虾优化算法
3.2.1. 随机迁移参数
设置了一个随机迁移参数
,当
时,小龙虾会进行随机的迁移:
(21)
式中,
为常数0.03,
为搜索角度的上限,
为搜索角度的下限。
3.2.2. 改进的正弦算法
改进的正弦算法借鉴了正余弦算法、正弦算法和指数正余弦函数等改进算法的想法,利用正弦函数引导迭代过程,使其具备良好的全局探索能力,同时在迭代过程中引入自适应的可变权重系数
,从而实现算法全局探索和局部开发能力之间的平衡。改进的正弦算法的具体位置更新公式如下:
(22)
式中,
是非线性递减函数,
是区间
的随机数,
是区间
上的随机数。
的具体表示如下:
(23)
而
表示为:
(24)
3.2.3. 融合大猩猩优化器的小龙虾优化算法
融合算法的思想来源于人工大猩猩优化器中年轻的大猩猩进入青春期后,雄性大猩猩间会竞争雌性大猩猩以扩大他们的群体。类似地,雄性小龙虾也会因繁衍而存在竞争,基因较好的小龙虾因其适应力强,能有更多繁衍后代的机会,它的种群也会更容易扩大:
(25)
式中
,
,当
时
,当
时
,
为常数3。
4. 实验与结果
4.1. 收敛性分析
适应度函数的收敛速度是评价一个优化算法的重要指标之一,为了测试改进的小龙虾优化算法(GSCOA)的性能,将其与传统的小龙虾优化算法(COA)、粒子群优化算法(PSO)以及蛇优化算法(SO)进行对比,并将这些算法同样应用于最大似然ML-DOA估计问题。在MATLAB仿真实验平台上进行收敛性能测试,验证其在不同入射信号源数目实验条件下的表现。不同优化算法的参数设置见表1。
Figure 1. Comparison of convergence between the improved crayfish optimization algorithm and other optimization algorithms when the number of incident signal sources is 2
图1. 入射信号源数为2时,改进小龙虾优化算法与其他优化算法的收敛性比较
阵列模型采用线性阵列,阵元数为10,阵元间距取波长的一半,快拍数为100,噪声为0 db的高斯噪白声,搜索角度范围
,最大迭代次数为50,种群数量为40。在Matlab仿真平台中进行100次Monte Carlo实验,取每次迭代最小值的平均值作为每次迭代的最小值。本研究选用了几种优化算法包括:粒子群优化算法(PSO)、小龙虾优化算法(COA)、蛇优化算法(SO)、以及改进的小龙虾优化算法(GSCOA)。
Table 1. Parameter setting of different optimization algorithms
表1. 不同优化算法的参数设置
优化算法 |
参数设置 |
PSO |
|
SO |
|
COA |
|
GSCOA |
|
Figure 2. Comparison of convergence between the improved crayfish optimization algorithm and other optimization algorithms when the number of incident signal sources is 3
图2. 入射信号源数为3时,改进小龙虾优化算法与其他优化算法的收敛性比较
Figure 3. Comparison of convergence between the improved crayfish optimization algorithm and other optimization algorithms when the number of incident signal sources is 4
图3. 入射信号源数为4时,改进小龙虾优化算法与其他优化算法的收敛性比较
为了进一步验证各算法在不同信号源数目下的性能表现,实验分别设置了当入射信号源数目为2个、3个和4个时的情况。当入射信号源数为2时:
。当入射信号源数为3时:
。当入射信号源数为4时:
。
如图1~3所示,改进的小龙虾优化算法(GSCOA)在最少的迭代次数内就成功收敛到了最优解,明显优于其他优化算法。随着信号源数量的增加,PSO和COA均出现了陷入局部最优解的现象,导致估计精度下降,而GSCOA始终能够保持稳定的收敛性,并最终收敛到全局最优解。实验结果验证了GSCOA在多信号源环境下的优势。
4.2. 估计精度实验
为了更好地测试算法的性能,本实验选用均方根误差(Root Mean Square Error, RMSE)测试各算法DOA估计精度,通过计算能有效分辨信号源的估计角度与真实角度之间的误差,从而衡量算法的分辨精度。RMSE的公式表示为:
(26)
其中:
为种群数量,
为迭代次数,
为第
个信号源的真实到达角度,
为第
个信号源的第
次估计值。
信噪比(SNR)范围从−20 dB到5 dB,入射信号源角度为:
,进行100次独立的Monte Carlo实验。选用的算法是前面的四种算法,通过对比不同优化算法的估计误差曲线,验证其精度,见图4。
Figure 4. Comparison of root-mean-square error between improved crayfish optimization algorithm and other optimization algorithms
图4. 改进小龙虾优化算法与其他优化算法的均方根误差比较
4.3. 算法的复杂度分析
为了验证改进小龙虾优化算法(GSCOA)的计算效率,本研究对其计算量进行了分析,并将其与最大似然估计(ML)方法进行对比。最大似然DOA估计的计算量主要与搜索方式相关,以下分别讨论传统网格搜索方法和改进小龙虾优化算法(GSCOA)的计算量。
传统的最大似然估计(ML)算法采用的是网格搜索法的计算量为:
(27)
式中
和
为搜索角度区间的上下限,step为搜索步长,
为入射信号源的个数。而改进的小龙虾优化算法的计算量为:
(28)
式中,N为种群数量,T为迭代次数。通过表2中计算量的对比可知,改进的小龙虾优化算法的计算量较小,并且其计算量只与N和T相关,与信号源个数无关,所以当信号源个数增加时,ML算法的计算量会呈指数增长,而改进的小龙虾优化算法的计算量只与种群数量和迭代次数线性相关,由此表明,改进的小龙虾优化算法可以有效地减少DOA估计的计算量。
Table 2. Comparison of computation amount between ML and GSCOA for different number of signal sources
表2. 不同信号源数目时,ML和GSCOA计算量对比
信号源数目(m) |
ML计算量(O) |
GSCOA计算量(O) |
2 |
|
|
3 |
|
|
4 |
|
|
5. 结论
针对传统最大似然DOA估计方法在估计精度和计算复杂度上的不足,本文提出了一种改进的小龙虾优化算法(GSCOA),该算法通过引入迁移机制、改进正弦算法以及融合人工大猩猩优化器,增强了算法的全局探索能力和局部开发能力。实验结果表明,在不同入射信号源数目条件下,GSCOA能够成功收敛到最优解。随着信号源数量的增加,与其他智能算法相比,GSCOA能够保持稳定的收敛性,并最终收敛到全局最优解,具有控制参数少、优化速度快等特点。最后,还对GSCOA优化最大似然估计的计算量进行了分析。
基金项目
大学生创新创业训练计划资助项目(202410305127Y, 2024453)。
NOTES
*通讯作者。