主要内容

阵列图综合第二部分:优化

这个例子展示了如何使用优化技术来执行模式合成。该示例以最小方差波束形成为例,介绍了如何将模式综合设置为一个优化问题,然后使用优化求解器解决它。

模式综合可以使用多种技术来实现。的阵列模式综合第一部分:空化、窗口化和细化示例介绍了空化和窗口技术。

此示例需要优化工具箱™。

最小方差波束形成

与单一单元相比,相控阵的一个主要优点是形成波束的能力。一般来说,N元相控阵在合成图形时提供N个自由度,这意味着可以调整N个权重,每个元素一个权重,以控制光束的形状,以满足一些预定义的约束。

许多流行的波束形成技术都可以表示为优化问题。例如,流行的最小方差无失真响应波束形成器(MVDR)被用于最小化总噪声输出,同时保留来自给定方向的信号。在数学上,通过求解优化问题可以找到MVDR波束形成权值

w o 最小值 w w H R w 年代 t B θ 0 , w 1

在哪里<年代pan class="inlineequation"> R 是协方差矩阵,<年代pan class="inlineequation"> B θ 0 , w 光束的响应方向是这个方向吗<年代pan class="inlineequation"> θ 0 用权重向量<年代pan class="inlineequation"> w ,<年代pan class="inlineequation"> w o 是包含最优权值的向量。因为光束模式可以写成

B θ , w w H v θ

在哪里<年代pan class="inlineequation"> v θ 转向矢量与角度对应吗<年代pan class="inlineequation"> θ 时,约束在复域内呈线性关系。

无扭曲约束<年代pan class="inlineequation"> θ 0 在设计空间中只需要1个自由度。因为n元素数组可以处理<年代pan class="emphasis">N- 1个约束条件时,MVDR波束形成器可以扩展到包含更多的约束条件,从而得到线性约束最小方差(LCMV)波束形成器。LCMV波束形成器中的附加约束常用于消除来自给定方向的干扰。因此,这种LCMV波束形成器可以解决以下优化问题

w o 最小值 w w H R w 年代 t B θ 0 , w 1 B θ k , w 0 k 1 , 2 , ... , K

在哪里<年代pan class="inlineequation"> θ k 代表了<年代pan class="inlineequation"> k 零方向和<年代pan class="inlineequation"> K 总共为零方向。由于在复域中所有约束都是线性的,LCMV波束探测权值可以用拉格朗日乘子法解析推导。

接下来,使用一个具有半波长间距的32元ULA演示如何使用LCMV方法进行阵列合成。注意,尽管本例使用线性数组,但该技术适用于任何数组几何结构。假设感兴趣的信号在0度方位角,干扰在-70度、- 40度和-20度方位角。假定噪声功率比信号低40分贝。LCMV权值的闭合形式解可以使用lcmvweights函数。

N = 32;pos = (0: n - 1) * 0.5;<年代pan style="color:#228B22">元素的%位置Ang_i = [-70 -40 -20];<年代pan style="color:#228B22">%干扰角度ang_d = 0;<年代pan style="color:#228B22">%的角Rn = sensorcov (pos、ang_i db2pow (-40);<年代pan style="color:#228B22">%噪声协方差矩阵Sv_c = steervec(pos,[ang_d ang_i]);<年代pan style="color:#228B22">%线性约束R_c = [1 zero (size(ang_i))]';<年代pan style="color:#228B22">%想要的反应w_lcmv = lcmvweights (sv_c、r_c Rn);<年代pan style="color:#228B22">淋巴细胞脉络丛脑膜炎病毒重量百分比ang_plot = 90:0.1:90;ang_plot sv_plot = steervec (pos);plcmv =情节(ang_plot mag2db (abs (w_lcmv * sv_plot)));参照线(ang_i<年代pan style="color:#A020F0">”——“ylim([-100 0])网格<年代pan style="color:#A020F0">在传奇(plcmv<年代pan style="color:#A020F0">“淋巴细胞脉络丛脑膜炎病毒-分析”)包含(<年代pan style="color:#A020F0">“方位角(度)”) ylabel (<年代pan style="color:#A020F0">“梁模式(dB)”)

图中包含一个axes对象。坐标轴对象包含4个类型为line、constantline的对象。该对象表示LCMV - Analytic。

从图中可以看出,计算得到的权重满足所有约束条件。

基于二次规划的LCMV波束形成

由于LCMV波束形成可以被描述为一个优化问题,因此了解如何使用优化技术解决该问题是很有用的。当封闭形式解决方案不可用时,例如当约束包括不等式时,这样的工作流就变得很重要。

当使用优化技术执行模式合成任务时,第一步是选择一个求解器。由于求解器通常是用来解决特定问题的,所以做出正确的选择是至关重要的。

二次规划求解器常用于求解具有线性约束的二次目标函数。公式由

w o 最小值 w 1 2 w T H w + f T w 年代 t 一个 w b 一个 情商 w b 情商 w w w 乌兰巴托

在哪里<年代pan class="inlineequation"> 一个 而且<年代pan class="inlineequation"> 一个 情商 分别为指定不等式和等式约束的矩阵;<年代pan class="inlineequation"> b 而且<年代pan class="inlineequation"> b 情商 分别为指定不等式和等式约束的期望边界的向量;而且<年代pan class="inlineequation"> w 而且<年代pan class="inlineequation"> w 中元素的下界和上界<年代pan class="inlineequation"> w ,分别。

乍一看,二次规划的问题公式似乎与LCM波束形成完美匹配,因为我们知道波束模式可以写成<年代pan class="inlineequation"> B θ , w w H v θ .不幸的是,这是不正确的,因为尽管波束模式在复域是线性的,但在实域不是这样的。另一方面,大多数优化求解器,包括二次规划,都在实域中工作,因为在复域中解空间变得非常复杂。此外,该不等式在复域中也没有很好地定义。因此,问题是LCMV波束形成问题是否可以表述为实域而仍然得到二次规划形式。

从目标函数开始<年代pan class="inlineequation"> w H R w .请注意,<年代pan class="inlineequation"> R 在这种情况下协方差矩阵是这样的吗<年代pan class="inlineequation"> w H R w 是真实的。因此,我们的目标是最小化实部<年代pan class="inlineequation"> w H R w ,可以写成以下形式:

w H R w } w } T w } T R } - R } R } R } w } w } w T R w

在哪里<年代pan class="inlineequation"> w w } w } 而且<年代pan class="inlineequation"> R R } - R } R } R }

接下来,看看约束条件。LCMV波束形成中的约束是等式,这一事实使转换更容易一些,因为一个复杂的线性等式约束可以被分为两个对应的实线性等式约束,一个用于实部,另一个用于虚部。例如,下面的约束

w H v r H

可以改写为

v H w r v } v } v } - v } w } w } v } v } v } - v } w r } r }

利用这些关系,可以利用二次规划来获得LCMV波束形成权值。

%目标函数H = [real(Rn) - image (Rn);imag(Rn) real(Rn)];f = [];<年代pan style="color:#228B22">%等式约束Aeq = [(sv_c)。图像放大(sv_c)。”;图像放大(sv_c)。“地(sv_c)。”);说真的=[真实(r_c);图像放大(r_c)];<年代pan style="color:#228B22">%计算权重x_opt = quadprog (H f [] [], Aeq, beq);
找到满足约束条件的最小值。由于目标函数在可行方向上不减少,优化完成,在最优性公差的值内,约束满足在约束公差的值内。
w_opt = x_opt(1:元素个数(x_opt) / 2) + x_opt(元素个数(x_opt) / 2 + 1:结束)* 1我;持有<年代pan style="color:#A020F0">在plcmvq =情节(ang_plot mag2db (abs (w_opt * sv_plot)),<年代pan style="color:#A020F0">”——“);持有<年代pan style="color:#A020F0">从传奇([plcmv plcmvq]、[<年代pan style="color:#A020F0">“淋巴细胞脉络丛脑膜炎病毒-拉格朗日”“淋巴细胞脉络丛脑膜炎病毒- QP”])

图中包含一个axes对象。axis对象包含5个类型为line、constantline的对象。这些天体代表LCMV - Lagrange, LCMV - QP。

从图中可以看出,QP技术可以获得相同的LCMV波束形成权值。

基于二次规划的最小方差波束形成

模式综合的另一个常见需求是确保对于一组给定的角度,响应低于某个阈值。这些是不等式要求,整体优化问题就变成了

w o 最小值 w w H R w 年代 t B θ 0 , w 1 B θ k , w 0 k 1 , 2 , ... , K | B w , θ l | r l l 1 , 2 , ... , l

在哪里<年代pan class="inlineequation"> θ l 是<年代pan class="inlineequation"> l 副瓣电平应小于阈值的角度<年代pan class="inlineequation"> r l .有<年代pan class="inlineequation"> l 总不相等要求。

作为示例,将以下需求添加到我们的示例问题中:

  1. 在-30和-10度方位角之间,副瓣应低于-40分贝。

  2. 在主瓣以外的任何地方,副瓣应低于−20分贝。

这段代码绘制所需模式的掩码并返回不等式约束:

(rc、angc sv_cineq、r_ineq ang_ineq] = generatePatternMask (pos、r_c [ang_d ang_i]);pdp =情节(angc,钢筋混凝土,<年代pan style="color:#A020F0">“k——”);-100 ylim([0])网格<年代pan style="color:#A020F0">在包含(<年代pan style="color:#A020F0">“方位角(度)”) ylabel (<年代pan style="color:#A020F0">“梁模式(dB)”)

图中包含一个axes对象。axis对象包含一个类型为line的对象。

随着新的不等式约束的引入,这个问题不再有一个封闭的解。此外,由于范数操作的存在,前面提到的将复杂约束转换为真实域的技巧不再有效。因此,需要一种新的方法来转换复杂不等式,对这组约束使用QP求解器,

给定约束条件为<年代pan class="inlineequation"> | B θ , w | < r ,一种可能的转换方法是假设实部和虚部对规范的贡献相等。在这种情况下,单一的复杂不等式约束可以分为两个真实的不等式为

- r 2 B θ , w } r 2 - r 2 B θ , w } r 2

B θ , w } r 2 B θ , w } r 2 - B θ , w } r 2 - B θ , w } r 2

约束的实部和虚部可以按照上一节的描述提取出来。因此,下面的代码设置约束并解决模式合成任务。

将复杂不等式约束映射为真实约束sv_c_real = [(sv_cineq)。图像放大(sv_cineq)。”);sv_c_imag =[图像放大(sv_cineq)。“地(sv_cineq)。”);A_ineq = [sv_c_real; sv_c_imag];A_ineq = [A_ineq; -A_ineq];b_ineq = [r_ineq; r_ineq] /√(2);b_ineq = [b_ineq; b_ineq];<年代pan style="color:#228B22">%计算权重x_opt = quadprog (H f A_ineq、b_ineq Aeq, beq);
找到满足约束条件的最小值。由于目标函数在可行方向上不减少,优化完成,在最优性公差的值内,约束满足在约束公差的值内。
从实部和虚部重新组合复权。w_opt = x_opt(1:元素个数(x_opt) / 2) + x_opt(元素个数(x_opt) / 2 + 1:结束)* 1我;持有<年代pan style="color:#A020F0">在药品资格预审规划=情节(ang_plot mag2db (abs (w_opt * sv_plot)));持有<年代pan style="color:#A020F0">从传奇(药品资格预审规划,<年代pan style="color:#A020F0">“模式- QP”)

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。该对象表示模式- QP。

得到的模式满足需求。

用二阶锥规划最小方差波束形成

尽管QP求解器成功地解决了最小方差波束形成问题,但将不等式约束从复数转化为实数并不理想。例如,没有理由认为实部和虚部对规范的贡献总是相等的。然而,在QP问题设置中,确实没有简单的方法来处理带有规范的约束。

幸运的是,在这种情况下可以使用另一种优化求解器,称为二阶锥编程(SOCP)。开发SOCP是为了有效解决以下优化问题:

w o 最小值 w f T w 年代 t 一个 sc w - b sc d T w - γ 一个 w b 一个 情商 w b 情商 w w w 乌兰巴托

在哪里<年代pan class="inlineequation"> 一个 sc 是一个矩阵,<年代pan class="inlineequation"> b sc 而且<年代pan class="inlineequation"> d 向量,<年代pan class="inlineequation"> γ 是一个标量。<年代pan class="inlineequation"> 一个 sc ,<年代pan class="inlineequation"> b sc ,<年代pan class="inlineequation"> d ,<年代pan class="inlineequation"> γ 一起定义一个二阶锥约束,这是指定规范约束的自然选择。该求解器可以同时处理多个二阶锥约束。

与QP的问题表述相比,SOCP不仅可以处理二阶约束,而且可以处理QP中规定的所有约束。然而,目标函数是完全不同的。SOCP不是最小化方差,而是最小化优化变量的线性函数,<年代pan class="inlineequation"> w .幸运的是,有一种方法可以转换最小方差目标函数以适应这个SOCP框架。诀窍是定义一个辅助变量,<年代pan class="inlineequation"> t ,并确保方差的边界为<年代pan class="inlineequation"> t .这样,问题就变成了最小化<年代pan class="inlineequation"> t 而原来的二次目标变成了一个以<年代pan class="inlineequation"> t

按照这个想法,修正<年代pan class="inlineequation"> t 直到…的底部<年代pan class="inlineequation"> w .优化搜索空间由<年代pan class="inlineequation"> w w t .因为目标是最小化<年代pan class="inlineequation"> t ,<年代pan class="inlineequation"> f 被定义为<年代pan class="inlineequation"> f T 0 , ... , 0 1

f = [0 (2 * N, 1); 1];

接下来,探讨如何将二次约束转换为二阶锥约束。因为这个想法是把方差限制为

w T R w t

这相当于说

R 0 5 w 2 t + 1 4

因此,

R 0 5 0 0 1 w t 2 R 0 5 w 2 + t 2 t 2 + t + 1 4 t + 1 2 2

第二个锥约束变成

R 0 5 0 0 1 w t + 1 2

锥约束定义为||A_c*u-b_c||<=d_c^T*u-gamma_cAc = [sqrtm(H) zero (2*N,1);zero (1,2*N) 1];公元前= 0 (2 * N + 1, - 1);dc = [0 (2 * N, 1); 1];gammac = 1/2;M =元素个数(r_ineq);socConstraints (M + 1) = secondordercone(公元前Ac, dc, gammac);

剩下的第二个锥约束来自原始的不等式约束,转换起来相当简单。形式的每个不等式约束

B θ , w r

可以写成二阶锥约束为

B θ , w } 0 B θ , w } 0 0 0 w r

m = 1: m Ac = [A_ineq ((m m + m):) 0(2,1); 0(1、2 * N) 0];公元前= 0 (3,1);dc = 0 (2 * N + 1, - 1);gammac = -r_ineq (m);socConstraints (m) = secondordercone(公元前Ac, dc, gammac);<年代pan style="color:#0000FF">结束

等式约束也需要增强,以容纳辅助变量,<年代pan class="inlineequation"> t

%补丁Aeq和beqAeqc = [Aeq 0(大小(Aeq, 1), 1), 0(1、2 * N) 0];beqc =(说真的;0);

现在可以使用SOCP求解器计算数组权重。由于不等式约束更自然地表示为锥约束,因此人们会天真地认为,在本例中,SOCP得到的模式将比QP得到的模式更好。

[u_op,函数宏指令,exitflag] = coneprog (f socConstraints [] [], Aeqc, beqc);
找到最优解。
从实部和虚部重新组合复权。优化向量的最后一项对应于变量tw_op = u_op (1: N) + u_op (N + 1:2 * N) * 1我;持有<年代pan style="color:#A020F0">在psocp =情节(ang_plot mag2db (abs (w_op * sv_plot)));持有<年代pan style="color:#A020F0">从传奇([药品资格预审规划psocp]、[<年代pan style="color:#A020F0">“模式- QP”“二次锥规划模式- - - - - -”])

图中包含一个axes对象。坐标轴对象包含3个line类型的对象。这些对象表示模式- QP,模式- SOCP。

的确,图中显示,与QP相比,通过SOCP获得的模式具有更好的副瓣抑制。如您所见,当使用优化求解器时,这个过程相当复杂。我们可以通过调用minvarweights函数来简化这个过程。下面的代码显示如何将掩码约束定义为的输入<年代pan class="emphasis">minvarweights函数。掩码副瓣电平和掩码角代表优化问题的不等式约束,零角代表SOCP的等式约束。有关更多细节,请参阅minvarweights文档。

W_opt = minvarweights (pos、ang_d Rn,<年代pan style="color:#0000FF">...MaskSidelobeLevel = mag2db (r_ineq)”,<年代pan style="color:#0000FF">...MaskAngle = ang_ineq NullAngle = ang_i);情节(ang_plot mag2db (abs (W_opt * sv_plot)))<年代pan style="color:#A020F0">在情节(angc rc,<年代pan style="color:#A020F0">“k——”)举行<年代pan style="color:#A020F0">从传奇([<年代pan style="color:#A020F0">“模式——minvarweights”“旁瓣面具”],<年代pan style="color:#0000FF">...位置=<年代pan style="color:#A020F0">“最佳”ylim([-100 0])网格<年代pan style="color:#A020F0">在包含(<年代pan style="color:#A020F0">“方位角(度)”) ylabel (<年代pan style="color:#A020F0">“梁模式(dB)”)

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示模式-小变量权重,旁瓣掩模。

最小方差波束形成使用minvarweights使用其他掩码约束

在本节中,我们使用minvarweights函数来解决具有不同优化约束的模式综合问题。考虑一个有55个天线单元和0.5个天线单元的线性阵列<年代pan class="emphasis">λ在方位角25度方向上间距ULA。目标是通过以下约束优化波束形成权值:

  • 小于锥形副瓣掩膜的副瓣电平在第一个slll到±90°的方位角范围内从- 18dB到- 55dB线性下降。

  • 航向在方位角[- 45 - 35 40 60]度处为零。

N = 55;<年代pan style="color:#228B22">%元素数量pos = (0: n - 1) * 0.5;<年代pan style="color:#228B22">%元素位置ANGmainBeam = 25;<年代pan style="color:#228B22">%主梁方向%定义空方向ANGn = [-35 -45 40 60];<年代pan style="color:#228B22">零角,度%定义SLL掩码ANGml = -90: .2:22.5;<年代pan style="color:#228B22">%左sll的掩码角度SLLml = linspace(-55、-18、元素个数(ANGml));<年代pan style="color:#228B22">%掩码sll的ANGml(从- 18dB到- 55dB线性下降)ANGmr = 27.5:0.2:90;<年代pan style="color:#228B22">%掩码角度为正确的sllSLLmr = linspace(-18、-55、元素个数(ANGmr));<年代pan style="color:#228B22">ANGmr的%掩码sll(从- 18dB到- 55dB线性下降)ANGm = [ANGml ANGmr];<年代pan style="color:#228B22">%面具角度SLLm = [SLLml SLLmr];<年代pan style="color:#228B22">%面具SLL%计算优化权重OptimizedWeights = minvarweights(pos, ANGmainBeam,<年代pan style="color:#0000FF">...MaskAngle = ANGm MaskSidelobeLevel = SLLm NullAngle = ANGn);<年代pan style="color:#228B22">%计算数组模式sv_plot = steervec (pos, -90: .25:90);模式= OptimizedWeights ' * sv_plot;<年代pan style="color:#228B22">绘制图案情节(-90:.25:90 mag2db (abs(模式)))包含(<年代pan style="color:#A020F0">“方位角(度)”) ylabel (<年代pan style="color:#A020F0">“梁模式(dB)”)轴([-90 90 -80 0]<年代pan style="color:#A020F0">在用空值绘制掩码持有<年代pan style="color:#A020F0">在[AngMask,IA] = sort([ANGm ANGn]);SLLmask = [SLLm -1000*ones(1,size(ANGn,2))];情节(AngMask SLLmask (IA),<年代pan style="color:#A020F0">“k”)传说([<年代pan style="color:#A020F0">“模式——minvarweights”“旁瓣面具”],<年代pan style="color:#0000FF">...位置=<年代pan style="color:#A020F0">“最佳”)举行<年代pan style="color:#A020F0">从

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示模式-小变量权重,旁瓣掩模。

该动画展示了光束扫描范围从- 35度到+35度的模式合成结果,在第1个SLL到±90度的方位角范围内,SLL线性减少,从−18 dB到−55 dB。

Pattern_v3.m4v.gif

总结

这个例子展示了如何使用优化技术来执行模式合成。该示例从熟悉的LCMV问题开始,并扩展所需的模式以包含不等式约束。与封闭形式的解决方案相比,优化技术更灵活,可用于解决更复杂的约束。该示例还展示了如何使用二次规划、二阶锥规划或小变量权来处理不等式约束。

参考

[1] Lebret, Hervé,还有Stephen Boyd。“通过凸优化的天线阵列图综合。”<年代pan class="emphasis">信号处理汇刊,第45卷第3期(1997年3月),526-532页。

函数[rcplot, angc svcineq、rineq angineq] = generatePatternMask (pos、rcexist angexist)<年代pan style="color:#228B22">用于模式合成的生成掩码Ang_c1 = [-30:-21 -19:-10];Ang_c2 = [-90:-71 -69:-41 -39:-31 -9:-5 5:90];<年代pan style="color:#228B22">注意,主梁在-10到10度之间ang_c1 sv_c1 = steervec (pos);ang_c2 sv_c2 = steervec (pos);r1 = db2mag(-40) *的(大小(sv_c1, 2), 1);r2 = db2mag(-20) *的(大小(sv_c2, 2), 1);[angc,cidx] = sort([ang_c1 ang_c2 angexist]);rc = (r1, r2; rcexist);rcplot = mag2db (rc (cidx));rcplot (rcplot < -100) = -100;<年代pan style="color:#228B22">%不等式约束ang_c1 sv_c1 = steervec (pos);ang_c2 sv_c2 = steervec (pos);Svcineq = [sv_c1 sv_c2];rineq = (r1, r2);Angineq = [ang_c1 ang_c2];<年代pan style="color:#0000FF">结束
Baidu
map