技术文章及通讯

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

作者:陈红雷和Rick Gentile, MathWorks


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

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

优化技术可以大大提高阵列综合过程的效率。您可以在一定范围的权重和元素位置上评估模式,并且自动化流程的每次迭代都可以用于评估生成的模式与所需模式的比较情况。

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

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

设计选项和约束条件

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

对阵列模式影响最大的参数包括阵列中元素的数量、这些元素的晶格结构和阵列几何形状。在阵列中,与每个元素相关的参数也决定了波束模式特征,包括应用于每个元素的权重(振幅或相位)和元素在阵列中的位置。这些参数可以有效地充当“旋钮”,您可以通过转动它们来实现性能目标。

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

图1。灵活的相控阵结构。

图1。灵活的相控阵结构。

设计中的阵列几何形状通常由终端系统形式因素的约束驱动,但单个元素之间的间距可能是灵活的。然而,这种灵活性通常受到实际可以制造的东西的限制。例如,元素不能靠得太近,否则当你构建它们时,它们将无法实现。

为了展示如何将这些选项和约束合并到优化工作流中,我们将描述两个示例。在第一种方法中,我们使用具有均匀间距的8元素线性数组来生成一组元素权重,重点是匹配已知模式。在第二种方法中,我们构建一个平面阵列,其中元素权重和元素位置将收敛,以实现一组阵列性能目标。也就是说,我们从权重扩展到元素位置,展示如何通过在优化问题中加入约束来塑造模式以满足需求。

例1:仅优化权重

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

  1. 确定所需的模式
  2. 开发一个成本函数,以最小化开始模式和期望模式之间的距离
  3. 运行优化
  4. 查看生成权重的模式,并将其与所需的模式进行比较
图2。例如1的工作流步骤。

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

我们从所需的2D模式Beam_d开始,它特定于一组方位角和仰角。然后,我们构建一个代价函数,以最小化所需模式(Beam_d)与由权重向量(weights_o)生成的模式之间的距离。优化的初始条件是基于均匀加权的。该模式包含在下面的代码中所示的目标函数中。

设置优化objfun = @(w)norm(w'*stvmat-Beam_d);定义fmincon中使用的目标函数,目标是最小化期望模式和结果模式之间的规范weights_i = ones(N,1);%阵列振幅的初始设置%作为%优化的起点weights_o = fmincon (objfun weights_i ,[],[],[],[], 0 (N, 1), 1 (N - 1));在这个例子中,% 0 <= weights_o <= 1 % weights_o保存了可以用来创建%匹配我们%期望模式的光束的权重%

因为我们试图确定元素权重,使两个梁模式之间的距离最小化,所以我们将使用优化工具箱fmincon函数,其中包含目标函数、权重的初值和约束条件。初始权重值设置为1。约束是分数权重值的最小值和最大值,我们将其定义为0到1之间。

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

图3。优化后的期望模式与合成模式的比较。

图3。优化后的期望模式与合成模式的比较。

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

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

  1. 识别模式属性
  2. 定义约束以确保系统能够实现
  3. 开发一个目标(成本)函数,将模式属性驱动到期望的“方向”
  4. 运行优化
  5. 将优化的模式与所需的模式进行比较
图4。例2的工作流程步骤。

图4。例2的工作流程步骤。

请注意,与示例1不同,在示例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个元素)和每个元素周围对应的“约束框”。

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

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

我们首先使用相控阵系统工具箱来设置一个5x5的阵列,从均匀间隔的元素开始。然后我们使用ConformalArray构造来更改每个元素的位置。我们可以在优化过程中随着位置的变化而更新我们的模型。

注意,我们在这个阵列模型中使用的是理想余弦天线单元。我们也可以使用天线工具箱™或外部测量的模式。

函数[Val] = position_objecve_optim_cost (position_锥度)定义常量Lmbda = physconst(“光速”) / 1.1 e9;方位角= -180:2:180;仰角= -90:2:90;正在创建余弦天线元素handle_Ant =分阶段。CosineAntennaElement (“FrequencyRange”, (1.0 e9 1.2 e9),…“CosinePower”[1.5 - 2.5]);从输入向量中提取锥度值* position_锥度(76:100);创建包含余弦元素的共形数组。保形阵列将被限制在一个平面上。handle_Conf_Array =相控。ConformalArray (“元素”, handle_Ant,…“ElementPosition”, (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.1e9,0,“高度”>,海拔高度,“类型”>,“权力”);将任何inf和0替换为一个非常低的值Fieldval_az (isinf(Fieldval_az)) = -400;Fieldval_az ((Fieldval_az == 0)) = -400;使用提取的数据生成一个极坐标图,极坐标图方法“findlobe”用于获取所需的光束信息。Handle_polar_az = polarpattern(方位角,mag2db(fieldval_az));lobe_info = findlobe (handle_polar_az);获取副瓣幅度%方位波束图形的幅度SL_Mag_az = lobe_info. sidelobess .magnitude;

建立目标函数

我们设置了优化,以实现5x5平面阵列在方位角和仰角上的性能。我们的模式将被构造来降低副瓣水平的大小。类似的例子可能包括增加主瓣的幅度或减少3dB带宽。

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

提取方位角和仰角模式[fieldval_az] = patternAzimuth(handle_Conf_Array,1.1e9,0 .“方位”方位,“类型”“权力”);[fieldval_el] = patternElevation(handle_Conf_Array,1.1e9,0,“高度”>,海拔高度,“类型”>,“权力”);将任何inf和0替换为一个非常低的值Fieldval_az (isinf(Fieldval_az)) = -400;Fieldval_az ((Fieldval_az == 0)) = -400;使用提取的数据生成一个极坐标图,极坐标图方法“findlobe”用于获取所需的光束信息。Handle_polar_az = polarpattern(方位角,mag2db(fieldval_az));lobe_info = findlobe (handle_polar_az);获取副瓣幅度%方位波束图形的幅度SL_Mag_az = lobe_info. sidelobess .magnitude;添加项以最小化Az和El模式之间的差异SL_Mag = SL_Mag_az + SL_Mag_el + abs(SL_Mag_az-SL_Mag_el);从SL_Mag Val = SL_Mag计算函数值;

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

图6。方位角平面上的极坐标图形显示起始点图形和优化后的图形。

图6。方位角平面上的极坐标图案显示起点图案(蓝线)和优化后的图案(橙线)。

图7显示了仰角平面的相应视图。

图7。高程平面上的极坐标图形显示起点图形和优化图形。

图7。高程平面上的极坐标图案显示起点图案(蓝线)和优化图案(橙线)。

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

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

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

扩展示例

在这些例子中,所有的分析都是在一个频率值下完成的。实际上,系统必须在一系列频率范围内工作。

同样的优化技术可以应用于跨频率的操作。例如,对于宽带应用程序,我们查看在频带上等间隔的多个频率。然后决定应用程序的哪个方面是最重要的。例如,最好是针对特定的组合进行优化,并基于该组合选择定位。所有其他场景都可以使用权重来“尽最大努力”。

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

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

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

确认

作者感谢Jegan Mani对本文的贡献。此外,我们还要感谢Derya Ozyurt的支持。金宝app

发布日期2017 - 93102v00

查看相关功能的文章