从指定的模式综合数组:优化工作流程

由Honglei Chen和Rick Gentile,Mathworks


在使用传感器阵列的应用中,例如WLAN,LTE和5G无线通信系统,相控阵雷达和声学波束形成系统,设计起始点通常是满足某些性能标准的阵列模式。这些标准可以包括参数,例如MainLobe方向性和宽度,空位置和旁观级级别。

因为数组通常包含数百甚至数千元的元素,所以它可能需要很多迭代来聚合在产生所需模式的架构上。迭代需要时间,当需要考虑多个参数时,它们很难彻底完成。

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

本文介绍了一种工作流,该工作流程使用优化Toolbox™和全局优化工具箱™的分阶段阵列系统工具箱™和优化技术来聚集在解决方案上。然后,工作流程可以适应您自己的应用程序。

此示例中使用的代码可用于下载

设计选项和约束

为了确保解决方案满足设计目标,了解您的设计选项并了解优化过程中需要考虑哪些限制。

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

对于多元素阵列,设计的自由度将根据最终应用的成本和复杂性限制而变化。例如,在最基本的系统中,仅可用幅度权重。然而,许多架构支持复合权重的元素或子阵列,提供幅度和相位金宝app控制。利用这种类型的架构,可以通过电子方式转向和形状(图1)。

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

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

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

实施例1:仅优化权重

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

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

图2.示例1的工作流步骤。

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

%%设置优化objfun = @(w)rang(w'* stvmat-beam_d);%定义粉刺%的目标函数%的目标是最小化%模式和%导致模式之间的规范权重_i =那些(n,1);阵列幅度%的%初始设置用作%优化的起点权重_ = fmincon(objfun,weights_i,[],[],[],[],零(n,1),zeros(n,1));%fmincon在此示例中获取objfun,%初始权重和%上限和%的上限,%<=权重_o <= 1%权重_o保存可用于创建%的重量%匹配我们%的期望模式

因为我们正在尝试确定元素权重,这最小化了两个波束模式之间的距离,我们将使用优化工具箱粉刺函数,它采用目标函数,权重的初始值以及约束。初始加权值设置为1.约束是分数加权值的最小值和最大值,我们定义为0到1之间。

当我们打电话的时候粉刺,我们向我们的客观函数提供句柄,这在我们开始的模式和我们生成的模式之间取得了差异,因为我们迭代完善权重。在优化结束时,我们有一组权重,当应用于数组元素时,产生与所需图案的匹配。图3中的曲线图示出了方位角上所需和合成的图案的幅度。

图3.优化后所需和合成模式的比较。

示例2:优化重量和元素位置

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

  1. 识别模式属性
  2. 定义约束以确保系统可以实现
  3. 开发目标(成本)函数以在所需的“方向”中驱动模式属性
  4. 运行优化
  5. 将优化模式与所需的图案进行比较

图4.示例2的工作流步骤。

请注意,与示例1不同,我们只控制了元素的幅度权重,这是一个更复杂的设计,具有更多数组元素。我们现在将控制每个元素的幅度,阶段和2D位置。我们对此优化的目标是降低模式的最大侧瓣级。

因为此示例具有许多本地最佳解决方案,目标是非光滑,我们将使用全局优化工具箱金宝搏官方网站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.1e9;Azimuth = -180:2:180;海拔= -90:2:90;%创建余弦天线元素handle_ant = phased.cosineantenneelement('频率范围',[1.0E9 1.2E9],......'casinepower',[1.5 2.5]);%从输入向量中提取锥度剖腹产taper_value = position_taper(51:75)+ 1i。* position_taper(76:100);%创建具有余弦元素的共形阵列。%共形阵列将限于单个平面handle_conf_array = phased.conormalArray('元素',handle_ant,...'upontentposition',[零(1,25); Position_taper(1,1:25); Position_Taper(1,26:50)],......'锥形',taper_value);

设置数组后,我们可以确定跨越方位角和高度角度的波束模式。然后,我们可以使用此数据来提取与模式相关联的密钥指标。我们将专注于侧瓣,但是可以考虑许多其他参数,例如主瓣增益或3DB波束宽度。

%提取方位角和高度模式[fieldval_az] = patternazimuth(handle_conf_array,1.1e9,0,'方位角',方位角,'类型''力量');[fieldval_el] =图案线程(Handle_conf_array,1.1e9,0,'海拔'>,海拔,'类型'>'力量');%用非常低的值替换任何inf和zerosFieldVal_AZ(ISINF(FieldVal_AZ))= -400;FieldVal_AZ((FieldVal_az == 0))= -400;用提取的数据%基曲线绘制偏光点法“FindLobes”用于获取关于光束的所需的%信息。handle_polar_az = pararpattern(azimuth,mag2db(fieldval_az));lobe_info = findlobes(handle_polar_az);%提取方位角波束图案的Sidelobe幅度%幅度sl_mag_az = lobe_info.sidelobes.magnonitude;

设置目标函数

我们设置优化以实现跨方位角的性能,并为5x5平面阵列的高度。我们的模式将被构造成降低侧链水平的大小。类似的示例可能涉及增加主叶的大小或减少3DB带宽。

在下面的代码中,我们使用方位角和高度旁观级别的总和。我们还为方位角和高程旁观级级别添加了一个术语,以确保它们在其峰值中接近。因为优化引擎可以最大限度地减少目标函数,因为每次我们遍历此功能时,将被驱逐到最低限度。这些参数可以根据您的特定要求量身定制。

%提取方位角和高度模式[fieldval_az] = patternazimuth(handle_conf_array,1.1e9,0,'方位角',方位角,'类型''力量');[fieldval_el] =图案线程(Handle_conf_array,1.1e9,0,'海拔'>,海拔,'类型'>'力量');%用非常低的值替换任何inf和zerosFieldVal_AZ(ISINF(FieldVal_AZ))= -400;FieldVal_AZ((FieldVal_az == 0))= -400;用提取的数据%基曲线绘制偏光点法“FindLobes”用于获取关于光束的所需的%信息。handle_polar_az = pararpattern(azimuth,mag2db(fieldval_az));lobe_info = findlobes(handle_polar_az);%提取方位角波束图案的Sidelobe幅度%幅度sl_mag_az = lobe_info.sidelobes.magnonitude;%%%总结方位角和高度值%添加术语以最小化AZ和EL模式SL_MAG = SL_MAG_AZ + SL_MAG_EL + ABS(SL_MAG_AZ-SL_MAG_EL)之间的差异;%计算sl_mag val = sl_mag的函数值;

图6示出了方位角在方位角中得到的极性图案。

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

图7示出了仰角的相应视图。

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

通过优化函数从许多迭代返回的权重和元素位置生成新模式。图8示出了所得到的阵列元素阳性和光束图案。

图8.优化后产生的阵列和光束图案。

扩展示例

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

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

如果对所有频率组合具有设置性能要求,则可以相应地调整优化。还可以扩展优化以帮助通过一组转向向量驱动最佳的子阵列架构。

除了扩展优化以涵盖更宽的频率范围外,可以将相控换档量化效果添加到相控阵系统工具箱模型中,以确保最终系统将表现为模拟指示。这对于帮助确保可以建立优化的结果是很重要的。

通过使用优化技术实现所需的光束性能,可以以类似的方式设计在多个平面上的保形阵列。

承认

作者愿意承认Jegan Mani对本文的贡献。此外,我们想承认Derya Ozyurt为他的支持。金宝app

发布2017年 - 93102V00

查看相关功能的文章