说明
本博文接着上一篇博文[1]: 粒子群算法及基于该算法的典型问题求解实践-CSDN博客,本文探讨基于粒子群算法的波束形成优化相关问题,并做仿真实践。我在之前的博文[2]: 基于遗传算法的波束形成优化-仿真实践-CSDN博客中基于遗传算法探讨了波束形成的优化问题,本博文和那篇博文探讨的问题、解决问题的思路基本一样,只是所用的算法不一样,我在本博文中将尽可能简化关于概念和解决思路等文字描述。读者在阅读本文时,可以同时参考资料[1][2]和[3]:关于阵列发射端的波束形成(相控阵)研究与仿真实践CSDN博客进行辅助和对比理解。
为简化问题,本文所涉及的仿真都只针对单个天线阵元是无方向性的(或者说是各向同性的):各向同性是说天线的方向图是一个球形。由诸多各向同性的阵元所构成阵列的波束形成的结果主要涉及到三个参数:1、各阵元的馈电幅度(发射功率);2、各阵元之间的相对位置关系;3、各阵元的初始相位。(同时这里暂定:各天线发射频率一致、阵元数目确定)。这几个参数共同决定了阵列波束形成后的方向图是什么样的(比如主波束指向、旁瓣高度等等)。
基于粒子群算法做波束形成的优化,主要做的事情就是:基于粒子群算法来优化各阵元的(幅度和相位)激励、优化阵列排布,以达到期望的波束方向图效果。本文针对峰值旁瓣比这一波束方向图中的核心参数之一,在控制单一变量的前提下,探讨如何基于粒子群算法分别通过优化各阵元馈电幅度、馈电相位、阵元间相对位置关系的方法来达到压低波束旁瓣(提高峰值旁瓣比)的目的。本文的仿真暂时只针对一维线阵。
Blog
2024.4.17 博文第一次撰写
目录
一、粒子群算法概述
见参考资料[1]。关于粒子群算法的基础、基于该算法解决实际问题的思路和基本流程、以及基于该算法解决一些经典问题的仿真实践我在博文[1]中有详细说明,这里不再赘述。
二、波束形成概述
见参考资料[3]。与波束形成相关的概念和仿真研究我在该博文中有详细介绍和说明,这里不再赘述。
三、问题描述、建模及初始化参数设置
本文想要探讨的问题具体表述如下:
1、探讨以各阵元馈电幅度为单一变量时,如何基于粒子群算法优化各阵元幅度激励,以使得阵元为各向同性的线阵具备良好的峰值旁瓣比(足够低的旁瓣)。
2、探讨以各阵元馈电初始相位为单一变量时,如何基于粒子群算法优化各阵元相位激励,以使得阵元为各向同性的线阵具备良好的峰值旁瓣比。
3、探讨以各阵元相对位置关系为单一变量时,如何基于粒子群算法优化各阵元间的相对位置关系,以使得阵元为各向同性的线阵具备良好的峰值旁瓣比。
峰值旁瓣比的定义为:主瓣波束最大幅值与最大旁瓣的最大幅值之比(取dB)。关于如何找到最大旁瓣,本文提供的仿真代码中通过在方向图中找到第二大的极值点得到。这里还是给出一维线阵(N个阵元)的阵列方向图公式,(所谓阵列的波束方向图,本质上就是各阵元所辐射电磁波在空间的叠加)
(3-1)
式中,AE为所合成的波束在不同方向(θ)的幅值,In为不同阵元的馈电幅度,为不同阵元所发射电磁波的初始相位,Dn为各阵元相对于参考阵元(比如对于线阵,我们一般选择第一个阵元作为参考阵元)的距离,λ为载波波长。
在求适应度值时,需要首先基于前述公式得到波束方向图,然后从其中找到最大值和第二大的值,再求其比值即为峰值旁瓣比(也就是本文想要探讨的几个问题的适应度值)。
在前述问题描述下,预设各类参数列表如下
表3.1 算法中的核心参数列表
参数 | 值/方法 | |
基于粒子群算法做幅值激励优化的核心参数 | 预设阵元数量 | 8(也即单个粒子的维度) |
预设阵列位置关系 | [0:1:7]*0.5*λ | |
预设初始相位 | zeros(1,8) | |
预设波束方向图范围 | [-90 90] | |
预设各阵元幅值范围 | [0 10] (即粒子的位置范围) | |
预设粒子数 | 10 | |
预设粒子的运动速度范围 | [-1 1] | |
预设惯性权重范围 | [0.4 0.8](迭代时线性递减,粒子每个维度的惯性权重值一样。后面两个问题一样) | |
预设个体学习因子 | 0.5(粒子每个维度的个体学习因子值一样。后面两个问题一样) | |
预设群体学习因子 | 0.5(粒子每个维度的群体学习因子值一样。后面两个问题一样) | |
迭代终止条件 | 迭代100次 | |
基于粒子群算法做相位激励优化的核心参数 | 预设阵元数量 | 8 |
预设阵列位置关系 | [0:1:7]*0.5*λ | |
预设各阵元幅值 | 1 | |
预设波束方向图范围 | [-90 90] | |
预设各阵元相位范围 | [-180 180] (即粒子的位置范围) | |
预设粒子数 | 10 | |
预设粒子的运动速度范围 | [-20 20] | |
预设惯性权重范围 | [0.4 0.9] | |
预设个体学习因子 | 0.6 | |
预设群体学习因子 | 1.5 | |
迭代终止条件 | 迭代100次 | |
基于粒子群算法做阵元相对位置关系优化的核心参数 | 预设阵元数量 | 8 |
预设各阵元相位值 | 0 | |
预设各阵元幅值 | 1 | |
预设波束方向图范围 | [-90 90] | |
预设各阵元位置关系 | 在限定孔径10个波长下,各阵元呈稀布阵,且任意相邻阵元之间的间隔须大于0.5*波长(可在代码中设置)。 | |
预设粒子数 | 10 | |
预设粒子的运动速度范围 | [-λ λ],λ为波长 | |
预设惯性权重范围 | [0.4 1.4] | |
预设个体学习因子 | 0.6 | |
预设群体学习因子 | 1.4 | |
迭代终止条件 | 迭代100次 |
关于粒子群算法的一些核心代码细节,我在之前的博文[1]中有过说明,本文的仿真其实大体内容差不多,所以本文中不再做过多关于代码实现的说明而是直接贴结果。相关的代码细节读者可以参考所附代码链接。
四、基于粒子群算法的阵元幅度激励优化
图4.1 不同迭代次数下各粒子适应度值的分布
图4.2 不同迭代次数下最优适应度值的变化
图4.3 迭代前后波束方向图对比
从仿真的结果来看,阵列方向图(的峰值旁瓣比)在粒子算法下得到了很好的优化。仿真结果验证了算法的可行性。迭代完成后,最优适应度粒子对应的幅值分布为:
五、基于粒子群算法的阵元相位激励优化
图5.1 不同迭代次数下各粒子适应度值的分布
图5.2 不同迭代次数下最优适应度值的变化
图5.3 迭代前后波束方向图对比
从仿真的结果来看,结果是在收敛的,(但是无法判断是否收敛到了全局最优解…),仿真结果验证了算法的可行性。迭代完成后,最优适应度粒子对应的馈电相位分布为:
六、基于粒子群算法的阵元相对位置关系激励优化
图6.1 不同迭代次数下各粒子适应度值的分布
图6.2 不同迭代次数下最优适应度值的变化
图6.3 迭代前后波束方向图对比
从仿真结果来看,适应度值是在收敛的,但是变化的幅度并不是很大。迭代完成后,最优适应度粒子对应的阵元相对位置关系分布为:
七、总结
本文讨论基于粒子群算法的波束形成优化问题,具体地:本文针对峰值旁瓣比这一波束方向图中的核心参数之一,在控制单一变量的前提下,探讨如何基于该算法分别通过优化各阵元馈电幅度、馈电相位、阵元间相对位置关系的方法来达到压低波束旁瓣(提高峰值旁瓣比)的目的。仿真的结果验证了算法的可行性和正确性。
八、参考资料
[1] 粒子群算法及基于该算法的典型问题求解实践-CSDN博客
[3] 关于阵列发射端的波束形成(相控阵)研究与仿真实践-CSDN博客