主要内容

数组模式合成

这个例子展示了如何使用相控阵系统工具箱™来解决一些阵列合成问题。

在相控阵设计应用中,经常需要找到一种方法来减小单元响应,以便得到的阵列图案满足一定的性能标准。典型的性能标准包括主瓣位置、零位和副瓣电平。

用旁瓣对消器消除干扰

在合成波束模式时,一个常见的要求是将一个零指向给定的到达方向。这有助于抑制来自该方向的干扰,提高信噪比。干扰并不总是恶意的——机场雷达系统可能需要抑制来自附近无线电台的干扰。在这种情况下,无线电台的位置是已知的,可以使用旁瓣抵消算法来消除干扰。

旁瓣对消可用于抑制通过阵列旁瓣进入的干扰。在这种情况下,由于干扰方向已知,因此算法简单。形成指向干扰方向的波束,然后缩放波束权重,并从p指向任何其他观察方向。此过程始终在干涉方向上放置一个强零点。

下面的示例显示了如何设计雷达的权重,使其在-30和30度之间扫描,但始终在40度处保持零。假设雷达使用与地面平行的10个元素的ULA,并且已知的无线电干扰来自40度方位角。

c = 3 e8;信号传播速度%fc = 1 e9;信号载频%λ= c / fc;%波长thetaad = 30:5:30;%的方向看θ=40;%干扰方向齿龈= phased.ULA(10,λ/ 2);ula.Element.BackBaffled = true;%计算零方向的方向矢量wn = steervec (getElementPosition(齿龈)/λ,thetaan);计算瞭望方向的方向矢量wd = steervec (getElementPosition(齿龈)/λ,thetaad);%计算零方向上期望转向的响应rn = wn ' * wd / (wn * wn);%副瓣消除-消除零方向的响应w = rn wd-wn *;%绘制图案模式(齿龈、fc 180:180 0“PropagationSpeed”c“类型”“powerdb”...“CoordinateSystem”“矩形”“重量”, w);持有;传说;情节(40[40]、[0]-100,“r——”“线宽”40.5, 2)文本(5“\ leftarrow干扰方向”“翻译”“特克斯”...“颜色”“r”“字形大小”, 10)

上图显示了从-30°方位角到30°方位角,以5°增量的结果波束方向。从放大后的图中可以清楚地看到,无论观察方向在哪里,雷达波束图在干涉方向上都有一个很强的零值。

%放大xlim(50[30])传说(arrayfun (@ (k) sprintf (“% d度”, thetaad k)...“UniformOutput”假),“位置”“东南”);

利用窗口函数进行图形合成

在设计相控阵时,另一个经常遇到的问题是将期望的波束模式与提交给你的规范相匹配。通常,这些要求是以波束宽度和旁瓣电平表示的。

解决此类问题的过程通常包括以下步骤:

  1. 观察所需的图形并确定阵列几何形状;

  2. 根据所需的波束宽度选择阵列大小;

  3. 根据所需旁瓣电平设计锥形;

  4. 迭代调整第2步和第3步得到的参数,以获得最佳匹配。

下面的示例演示了这四个步骤。首先,观察下图所示的所需模式。

负载desiredSynthesizedAntenna;clf;模式(mysteryAntenna、fc、“CoordinateSystem”“极地”“类型”“powerdb”);视图(50、20);甘氨胆酸ax =;斧子。Position = [-0.15 0.1 0.9 0.8];camva (4.5);坎波斯((520 -250 200));

三维辐射模式在方位角和仰角切割上都显示出一些对称性。因此,最好使用统一矩形阵列(URA)来获得图案。从图中还可以清楚地看出,没有能量向阵列的后部辐射。

接下来,确定数组的大小。为了避免光栅瓣,元件间距设置为半波长。就市区重建局而言,方位角和仰角方向的尺寸可分别根据方位角和仰角方向所需的波束宽度计算。在半波长间距的情况下,沿某一方向的单元数可以近似为

$ simeq {2}{sin (theta_b)} $ simeq {2}{simeq {2}} $ simeq {2}{simeq {2}

在哪里\ theta_b美元是沿着那个方向的波束宽度。因此,市建局的孔径可计算为

[azpat elpat, az, el] = helperExtractSynthesisPattern (mysteryAntenna, fc, c);%方位方向idx =找到(azpat > pow2db (1/2));Azco = [az(idx(1)) az(idx(end))];%方位截止N_col =圆(2 /信德(diff (azco)))%垂直方向idx=find(elpat>pow2db(1/2));elco=el(idx(1))el(idx(end));%海拔截止N_row =圆(2 /信德(diff (elco)))
N_col = 19

估计以14x19的市区重建局开始。

%填写市建局表格ura所言=分阶段。([N_row N_col],[λ/ 2λ/ 2]);ura.Element.BackBaffled = true;helperArraySynthesisComparison (ura所言,mysteryAntenna, fc, c)

从图中可以看出,合成阵列超出了所要求的方向图的波束宽度要求。然而,旁瓣比所需的图案大得多。通过对数组应用窗口操作,可以减少旁瓣。由于市区重建局可以被认为是两个可分离的均匀线性阵列(ULA)的组合,窗口可以沿着方位角和仰角方向独立设计,使用熟悉的滤波器设计方法。

下面的代码显示了如何获取方位和仰角方向的窗口。

AzSidelobe = 20;美联社= 0.1;%通带波纹AzWeights = designfilt (“lowpassfir”“FilterOrder”N_col-1,...“CutoffFrequency”90年,azco (2) /“PassbandRipple”, 0.1,...“StopBandAttenuation”, AzSidelobe);azw = AzWeights.Coefficients;ElSidelobe = 30;ElWeights = designfilt (“lowpassfir”“FilterOrder”N_row-1,...“CutoffFrequency”90年,elco (2) /“PassbandRipple”, 0.1,...“StopBandAttenuation”, ElSidelobe);elw = ElWeights.Coefficients;%将权重赋给数组乌拉.塔普=elw(:)*azw(:);%比较模式helperArraySynthesisComparison (ura所言,mysteryAntenna, fc, c)

从图中可以看出,得到的旁瓣电平比之前的设计要低,但仍然不能满足要求。经过一些尝试和错误,以下参数被用来创建最终的设计:

N_row = N_row + 2;试错%N_col = N_col-3;试错%AzSidelobe = 26;ElSidelobe = 35;AzWeights = designfilt (“lowpassfir”“FilterOrder”N_col-1,...“CutoffFrequency”90年,azco (2) /“PassbandRipple”, 0.1,...“StopBandAttenuation”, AzSidelobe);azw = AzWeights.Coefficients;ElWeights = designfilt (“lowpassfir”“FilterOrder”N_row-1,...“CutoffFrequency”90年,elco (2) /“PassbandRipple”, 0.1,...“StopBandAttenuation”, ElSidelobe);elw = ElWeights.Coefficients;ura所言=分阶段。([N_row N_col],[λ/ 2λ/ 2]);ura.Element.BackBaffled = true;乌拉.塔普=elw(:)*azw(:);helperArraySynthesisComparison (ura所言,mysteryAntenna, fc, c)

从图中可以看出,合成图的波束宽度和旁瓣电平符合要求。下图显示了所需的三维图形、合成的三维图形、得到的阵列几何形状和锥度。

helperArraySynthesisComparison (ura所言,mysteryAntenna fc, c,“3 d”

基于遗传算法的阵列细化

许多阵列综合问题都可以作为优化问题来处理,特别是对于大孔径或复杂几何形状的阵列。在这些情况下,封闭形式的解通常不存在,解空间非常大。例如,对于一个大的阵列,经常需要将阵列变薄以控制旁瓣电平,以避免浪费传递到每个天线单元的功率。在这种情况下,可以打开或关闭一个元素。如果你想在一个包含400个元素的数组中尝试所有可能的解,你就需要万博 尤文图斯尝试2美元^ {400}$组合,这是不现实的,一个400元阵列根本就不是一个大光圈。在这种情况下经常采用优化技术。

一种常用的优化技术是遗传算法。遗传算法通过模拟自然选择过程来获得最优解。它从随机选择的第一代候选人开始。在每个进化周期,算法根据预定的性能度量(在减薄阵列的例子中,性能度量将是峰值与旁瓣水平的比值)对生成进行排序,然后丢弃性能评分较低的生成。然后,该算法对剩余的候选者进行变异,以生成新的代,并重复该过程,直到达到停止条件,例如最大代数。

下面的例子展示了如何使用遗传算法来瘦一个40x40的URA。目标是在方位角和仰角切割中实现最大的旁瓣抑制。首先给出了全阵列的波束图。

Nside = 40;geneticArray = phased.URA (Nside,λ/ 2);geneticArray.Element.BackBaffled = true;clf;wplot = helperThinnedArrayComparison (geneticArray, fc, c);

旁瓣电平可计算为

%计算波束图[azpat,elpat,az,el]=帮助提取样本(基因阵列,fc,c);计算相对旁瓣电平pks_az = findpeaks (azpat,“NPeaks”,2,“SortStr”“下”);pks_el = findpeaks (elpat,“NPeaks”,2,“SortStr”“下”);找出两个切口之间较小的旁瓣电平-pks_az sllopt = min (pks_az (1) (2), pks_el (1) -pks_el (2))
sllopt = 13.2981

正如预期的那样,旁瓣电平约为13dB。

现在应用遗传算法。请注意,URA的行和列都是对称的,因此可以利用这种对称,使每个细化系数候选仅适用于阵列的四分之一。这减少了算法的搜索空间。

随机种子拟就= rng (2013);%初始代有200个候选人。最初,元素朝%中心是活动的,虚拟元素是朝向边缘的w0 =双(兰德(Nside / 2, Nside / 2200) > 0.5);w0(一14、一14:)= 1;%选择一个候选者,绘制波束图,并计算副瓣%的水平wtemp = w0 (:: 100);= [fliplr(wtemp) wtemp;rot90(wtemp,2) flipud(wtemp)];wplot = helperThinnedArrayComparison(geneticArray,fc,c,[wplot wo(:)],...“全部”“初始”});

图中显示了一个典型的第一代候选者产生的波束模式。与全阵列相比,旁瓣在方位角方向较低,但在仰角方向较高。阵列的精确旁瓣电平和填充率可计算为

[azpat, elpat] = helperExtractSynthesisPattern (geneticArray fc, c,我们(:));计算相对旁瓣电平pks_az = findpeaks (azpat,“NPeaks”,2,“SortStr”“下”);pks_el = findpeaks (elpat,“NPeaks”,2,“SortStr”“下”);-pks_az sllopt = min (pks_az (1) (2), pks_el (1) -pks_el(2)不仅=总和(我们(:))/ Nside ^ 2 * 100
Sllopt = 8.7013 fillrate = 71.7500

这意味着71.75%的阵列单元(1148个)是有源的,旁瓣电平约为9 dB。它需要被进一步抑制。下面的代码应用了30代遗传算法。

%最大代数硝酸盐=30;%每一代候选人的数量numGene =大小(w0, 3);w = w0;pos = getElementPosition (geneticArray) /λ;angspan = 90:90;m = 1:硝石%计算整个生成的波束模式[azpat, elpat] = helperArraySynthesisBeamPattern (pos angspan w);%计算每个候选的旁瓣电平sll = helperArraySynthesisRelativeSidelobeLevel (azpat elpat);%排序产生的副瓣水平[~, idx] =排序(sll, 2,“下”);%丢弃得到较低分数的生成的一半w = w(:,:,[idx(1:numGene/2) idx(1:numGene/2)]);%在新生成的候选对象中改变行和列mutIdx_行=randi(Nside/2,1,1);mutIdx_列=randi(Nside/2,1,1);w(mutIdx_行:end,:,numGene/2+1:numGene)=flipud(...w(多行:结束,:,numGene/2+1:numGene));w(mutIdx_col:end,:,numGene/2+1:numGene)=fliplr(...w (mutIdx_col:,:, numGene / 2 + 1: numGene));结束wopt = w (:,: 1);rng(减压阀);= [fliplr(wopt) wopt;rot90(wopt,2) flipud(wopt)];wplot = helperThinnedArrayComparison(geneticArray,fc,c,[wplot wo(:)],...“全部”“初始”“合成”});

sllopt = sll(idx(1)) fillrate = sum(wo(:))/Nside^2*100
Sllopt = 17.5380 fillrate = 76.5000

图中显示了产生的波束模式。可以看出,旁瓣水平进一步提高到17.5 dB左右,填充率为76.5%(1224个有源元素)。与第一代候选相比,它使用了多5%的有源元素,同时实现了额外的9 dB旁瓣抑制。与全阵列相比,由此产生的减薄阵列可以节省在虚拟元件后实现T/R开关的成本,从而节省大约25%的功耗。还需要注意的是,尽管减薄阵列使用的元件更少,但波束宽度接近于完整阵列。

最终的减薄数组如下所示,黑色圆圈表示虚拟元素。

clf;geneticArray。锥形=我们;viewArray (geneticArray“ShowTaper”,真正的);

值得注意的是,遗传算法并不总是在每次试验中得到相同的解决方案。然而,总的来说,产生的波束图样共享一个相似的旁瓣电平。

上面的脚本显示了一个应用于数组综合问题的非常简单的遗传算法。在实际应用中,遗传算法可能更为复杂。阵列综合中还使用了其他的优化算法,如模拟退火算法。有兴趣的读者可以在全局优化工具箱™中找到遗传算法和模拟退火算法求解器。

总结

本例显示了在相控阵上执行阵列合成的几种方法。在实践中,需要根据应用的特定约束选择适当的合成方法,例如阵列孔径的大小、阵列几何图形的形状等。

参考

[1] Randy L. Haupt,基于遗传算法的稀疏阵列,IEEE天线与传播学报,Vol 42, No . 7, 1994

[2] Randy L.Haupt,《电磁学遗传算法导论》,IEEE天线和传播杂志,第37卷,第2期,1995年

[3] Harry L. Van Trees,最佳阵列处理,Wiley-Interscience, 2002