从指定模式合成数组:一个优化工作流

由Honglei Chen和Rick Gentile,Mathworks

在使用传感器阵列的应用中,如WLAN、LTE和5G无线通信系统、相控阵雷达和声波束形成系统,设计起点通常是满足某些性能标准的阵列模式。这些标准可以包括诸如主瓣方向性和宽度、零位和旁瓣电平等参数。

由于数组通常包含数百甚至数千个元素,因此可能需要多次迭代才能聚合到产生所需模式的体系结构上。迭代需要时间,而且当需要考虑多个参数时,很难完全完成迭代。

优化技术可以大大提高阵列合成过程的效率。您可以通过一系列权重和元素位置来评估模式,并且可以使用自动化过程的每个迭代来评估生成的模式与所需模式的比较情况。

本文描述了一个使用相控阵系统工具箱™和优化工具箱™和全局优化工具箱™中的优化技术来收敛于一个解决方案的工作流。然后,工作流可以适应您自己的应用程序。

本例中使用的代码可用于下载

设计选择和限制

为了确保解决方案满足设计目标,了解您的设计选项并知道在优化过程中需要考虑哪些约束是很重要的。

大多数影响阵列模式的参数包括阵列中的元素的数量,这些元素的晶格结构和阵列几何形状。在阵列中,与每个元素相关联的参数还确定波束图案特征,包括应用于每个元素(幅度或阶段)和阵列内的元素位置的权重。这些参数有效地作为“旋钮”,您可以转向满足您的性能目标。

对于多元素阵列,设计中的自由度将根据最终应用程序的成本和复杂性约束而变化。例如,在最基本的系统中,只有振幅的权重是可用的。然而,许多架构支持对元素或子阵列进行复杂的加权,同时提供万博1manbetx振幅和相位控制。使用这种类型的结构,波束可以通过电子控制和成形(图1)。

图1.灵活的相控阵列架构。

设计中的阵列几何形状通常由最终系统形状因子的约束驱动,但各个元件之间的间距可能是灵活的。然而,通常,这种灵活性受到实际制造的内容的限制。例如,元素不能太靠近在一起,或者在您建立它们时,它们将无法实现。

为了展示如何将这些选项和约束纳入优化工作流程,我们将描述两个示例。首先,我们使用具有均匀间隔的8元元线性阵列来生成一组元素权重,专注于匹配已知的图案。在第二,我们构建一个平面阵列,其中元素权重和元素位置将收敛以实现一组阵列性能目标。也就是说,我们将重量扩展到元素位置,展示了如何通过将限制投入优化问题,您可以塑造模式以满足要求。

实施例1:仅优化权重

在本例中,我们将完成以下步骤(图2):

  1. 确定所需的模式
  2. 开发一个成本函数来最小化初始模式和期望模式之间的距离
  3. 运行优化
  4. 使用生成的权重查看模式并将其与所需的图案进行比较

图2。工作流步骤例如1。

我们从所需的2D模式,光束_d开始,该光束_d特定于一组方位角和高度角度。然后,我们构建成本函数以最小化所需模式,光束_D和从加权矢量生成的模式之间的距离来最小化权重_O。我们的优化初始条件基于均匀加权。此模式包含在下面的代码中显示的目标函数中。

%%设置优化objfun = @ (w)规范(w ' * stvmat-Beam_d);定义fmincon中所使用的目标函数,目标是最小化所期望的模式和所得到的模式之间的规范weights_i = 1 (N, 1);%数组振幅初始设置%作为%优化的起始点权重_ = fmincon(objfun,weights_i,[],[],[],[],零(n,1),zeros(n,1));在这个例子中,% 0 <= weights_o <= 1 % weights_o持有权重%,它可以用来创建一个匹配我们的%所需模式的波束

因为我们正在尝试确定元素权重,这最小化了两个波束模式之间的距离,我们将使用优化工具箱粉刺函数,该函数包含目标函数、权值初值和约束条件。初始权重值设置为1。约束是分数权重值的最小值和最大值,我们已经定义为0和1之间。

当我们调用粉刺,我们提供了目标函数的句柄,该句柄取了我们开始使用的模式和我们迭代地细化权重时生成的模式之间的差异。在优化的最后,我们有一组权重,当应用到数组元素时,会产生与所需模式的匹配。图3中的图显示了所需和合成模式在方位角上的大小。

图3。优化后的理想图与综合图的比较。

例2:优化权重和元素位置

在本例中,步骤如下(图4):

  1. 识别模式属性
  2. 定义约束以确保系统能够实现
  3. 开发一个目标(成本)函数,以推动模式属性朝着期望的“方向”发展
  4. 运行优化
  5. 将优化后的模式与期望的模式进行比较

图4。工作流步骤例如2。

注意,与示例1(在示例1中我们只控制元素的振幅权重)不同,这是一个更复杂的设计,有更多的数组元素。现在我们将控制振幅、相位和每个元素的二维位置。我们的优化目标是减少图案的最大旁瓣水平。

因为此示例具有许多本地最佳解决方案,目标是非光滑,我们将使用全局优化工具箱万博 尤文图斯patternsearch解算器。当目标顺利时,globalsearch也许是更好的选择。

与前面的示例一样,我们需要确保优化过程计算的元素位置不太紧密地间隔。我们将设置相同的幅度和阶段的最小和最大范围。

对于这个例子,我们有100个自由度:50个y-z位置来描述25个元素位置,此外还有25个振幅和25个相位值(每个元素一个)。每个参数的下界(lb)和上界(ub)的值包含在100个元素的MATLAB中®向量,其中向量元素1到25表示初始值y(y-z数组的)位置,向量元素26到50表示初始值z的位置。

图5左侧的数组显示了元素的初始位置,它们是均匀间隔的。对于y-z平面元素位置的上下边界,我们使用(+/- 0.24 * lambda)从一个统一的矩形数组起始点(图5,右)建立一个网格。

图5.左:均匀的线性阵列(5x5元素)。右:每个元素周围对应的“约束框”。

矢量元素51到75代表初始振幅值,矢量元素76到100代表初始相位值。这个向量的每个部分都包含25个参数,对应于5x5数组的大小。

我们首先使用相控阵系统工具箱建立一个5x5的阵列,从均匀间隔的元素开始。然后我们使用ConformalArray构造更改每个元素的位置。我们可以将我们的模型更新为整个优化中的位置更改。

请注意,我们正在使用该阵列模型中的理想余弦天线元件。我们还可以使用来自天线Toolbox™的图案或从外部测量的图案。

函数(Val) = Position_Objective_optim_cost (Position_Taper)%定义常量lmbda = physconst ('LightSpeed') / 1.1 e9;方位= 180:2:180;海拔= 90:2:90;%创建一个余弦天线元素handle_Ant =分阶段。CosineAntennaElement (“FrequencyRange”, (1.0 e9 1.2 e9),…“CosinePower”,[1.5 2.5]);%从输入向量中提取锥度剖腹产taper_value = position_taper(51:75)+ 1i。* position_taper(76:100);%创建具有余弦元素的共形阵列。%共形阵列将限于单个平面handle_Conf_Array =分阶段。ConformalArray ('元素', handle_Ant,…'upontentposition', (0 (1,25); Position_Taper (1:25); Position_Taper(26:50)],…'锥形', Taper_value);

一旦阵列建立起来,我们就能确定方位和仰角的波束模式。然后,我们可以使用该数据提取与模式相关的关键指标。我们将重点关注旁瓣,但也可以考虑许多其他参数,如主瓣增益或3dB波束宽度。

提取方位角和仰角图[fieldval_az] = patternazimuth(handle_conf_array,1.1e9,0“方位”方位,“类型”“权力”);[fieldval_el] = patternElevation (handle_Conf_Array 1.1 e9 0,“高度”>,海拔高度,“类型”>,“权力”);%用一个非常低的值替换任何inf和0fieldval_az (isinf (fieldval_az)) = -400;Fieldval_az ((Fieldval_az == 0)) = -400;使用提取的数据生成极坐标图,极坐标图方法“FindLobes”用于获取关于波束所需的%信息。handle_polar_az = polarpattern(方位角、mag2db (fieldval_az));lobe_info = findLobes (handle_polar_az);%提取方位角波束图案的Sidelobe幅度%幅度SL_Mag_az = lobe_info.sideLobes.magnitude;

建立目标函数

我们为一个5x5平面阵列建立了优化,以实现在方位和仰角上的性能。我们的图样将被构造成减小副瓣电平的幅度。类似的例子包括增加主瓣的大小或减少3dB带宽。

在下面的代码中,我们使用方位角和仰角旁瓣电平的和。我们还为方位角和仰角旁瓣电平之间的绝对差添加了一个术语,以确保它们接近峰值。因为优化引擎的工作是最小化目标函数,每次我们迭代这个函数时,瓦尔将会被降到最低这些参数可以根据您的具体需求进行调整。

提取方位角和仰角图[fieldval_az] = patternazimuth(handle_conf_array,1.1e9,0“方位”方位,“类型”“权力”);[fieldval_el] = patternElevation (handle_Conf_Array 1.1 e9 0,“高度”>,海拔高度,“类型”>,“权力”);%用一个非常低的值替换任何inf和0fieldval_az (isinf (fieldval_az)) = -400;Fieldval_az ((Fieldval_az == 0)) = -400;使用提取的数据生成极坐标图,极坐标图方法“FindLobes”用于获取关于波束所需的%信息。handle_polar_az = polarpattern(方位角、mag2db (fieldval_az));lobe_info = findLobes (handle_polar_az);%提取方位角波束图案的Sidelobe幅度%幅度SL_Mag_az = lobe_info.sideLobes.magnitude;增加一项以减小Az和El模式之间的差异%计算函数值从SL_Mag Val = SL_Mag;

图6显示了方位角平面的极坐标图。

图6.示出起始点图案(蓝线)和优化图案(橙色线)的方位角的极性图案。

图7显示了高程平面的相应视图。

图7.高度平面中的极性图案,显示起始点图案(蓝线)和优化图案(橙色线)。

通过优化函数,使用多次迭代返回的权重和元素位置生成新模式。图8显示了得到的阵列单元位置和波束方向图。

图8。优化后的阵列和波束图。

扩展的例子

在这些示例中,所有分析都以单个频率值完成。实际上,系统必须在一系列频率上工作。

相同的优化技术可以应用于跨频率的操作。例如,对于宽带应用程序,我们看一下频体同样间隔的多个频率。然后决定成为了,应用程序的哪个方面是最重要的。例如,可以最好地优化特定组合,并基于这种组合选择定位。所有其他场景都可以使用加权来完成“最佳努力”。

如果为所有频率组合设置一个性能要求更重要,那么可以相应地调整优化。优化还可以进行扩展,以帮助在一组导向向量中驱动最优的子阵列架构。

除了将优化扩展到更宽的频率范围外,相控阵系统工具箱模型还可以添加相移量化效果,以确保终端系统的行为与仿真所示一致。这对于确保可以构建优化的结果非常重要。

在多个平面上建立的共形阵列可以用类似的方法设计,通过使用优化技术来实现期望的波束性能。

确认

作者想要感谢Jegan Mani对本文的贡献。此外,我们要感谢奥德尔特的支持。万博1manbetx

发布于2017年- 93102v00


查看相关功能的文章