主要内容

阵列模式综合第一部分:空化、开窗和细化

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

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

使用旁瓣消除干扰

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

旁瓣对消有助于抑制通过阵列旁瓣进入的干扰。在这种情况下,由于干扰方向已知,算法简单。形成一个指向干涉方向的波束,然后缩放波束权重,并从指向任何其他观察方向的波束模式的权重中减去缩放权重。这个过程总是在干涉方向上放置一个强null。

下面的例子展示了如何设计雷达的权重,使其在-30和30度之间扫描,而在40度始终保持null。假设雷达使用与地面平行的10元ULA,并且已知的无线电干扰从40度方位角到达。

C = 3e8;信号传播速度%Fc = 1e9;信号载波频率%Lambda = c/fc;%的波长Thetaad = -30:5:30;%看方向希坦= 40;干涉方向%ula = phase . ula (10,lambda/2);ula. element . backbaffle = true;为空方向计算转向向量wn = steervec(getElementPosition(ula)/lambda,thetaan);计算瞭望方向的转向矢量。wd = steervec(getElementPosition(ula)/lambda,thetaad);计算在空方向上期望转向的响应Rn = wn'*wd/(wn'*wn);%旁瓣消除器-消除零方向的响应W = wd-wn*rn;绘制图案模式(齿龈、fc 180:180 0“PropagationSpeed”c“类型”“powerdb”...“CoordinateSystem”“矩形”“重量”, w);持有;传说;Plot ([40 40],[-100 0],“r——”“线宽”40.5, 2)文本(5“\左箭头干涉方向”“翻译”“泰克斯”...“颜色”“r”“字形大小”, 10)

上图显示了从-30度方位角到30度方位角,以5度为增量的观测方向的光束模式。从下面放大的图中可以清楚地看出,无论观察方向在哪里,雷达波束图在干扰方向上都有很强的零。

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

使用窗函数的模式合成

在设计相控阵时,另一个常见的问题是将所需的光束模式与交给你的规格相匹配。通常,这些要求用波束宽度和旁瓣电平来表示。

处理这类问题的过程通常包括以下步骤:

  1. 观察所需的模式,并确定一个阵列几何;

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

  3. 根据所需的副瓣电平设计锥度;

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

下面的例子说明了这四个步骤。首先,观察下图所示的理想模式。

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

三维辐射模式在方位角和高程切割上都表现出一定的对称性。因此,使用均匀矩形阵列(URA)可以最好地获得图案。从图中还可以清楚地看到,没有能量辐射到阵列的后面。

接下来,确定数组的大小。为了避免光栅瓣,元件间距设置为半波长。对于市区重建局,沿方位角和仰角方向的尺寸可以分别由所需的沿方位角和仰角方向的波束宽度导出。在波长间隔为一半的情况下,沿某一方向的元素数可近似为

$$ N \simeq \frac{2}{\sin (\theta_b)} $$

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

[azpat,elpat,az,el] = helperExtractSynthesisPattern(mysteryAntenna,fc,c);%方位方向Idx = find(azpat>pow2db(1/2));Azco = [az(idx(1)) az(idx(end))];%方位角截断N_col = round(2/sind(diff(azco))%仰角方向Idx = find(elpat>pow2db(1/2));Elco = [el(idx(1)) el(idx(end))];高度百分比(2/sind(diff(elco)))
N_col = 19 N_row = 14

估算建议从14x19的URA开始。

%来自市建局Ura =阶段性。URA([N_row N_col],[lambda/2 lambda/2]);ura. element . backbaffle = true;helperArraySynthesisComparison (ura所言,mysteryAntenna, fc, c)

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

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

AzSidelobe = 20;Ap = 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;为数组分配权重ura所言。锥度= elw(:)*azw(:).';%比较图案helperArraySynthesisComparison (ura所言,mysteryAntenna, fc, c)

从图中可以看出,所设计的副瓣电平较之前的设计有所降低,但仍不能满足要求。经过反复试验,使用以下参数创建最终设计:

n = 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 =阶段性。URA([N_row N_col],[lambda/2 lambda/2]);ura. element . backbaffle = true;ura所言。锥度= elw(:)*azw(:).';helperArraySynthesisComparison (ura所言,mysteryAntenna, fc, c)

从图中可以看出,合成模式的波束宽度和旁瓣电平符合所需的规格。下图显示了所需的3D模式、合成的3D模式、生成的阵列几何形状和锥度。

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

基于遗传算法的阵列细化

许多阵列综合问题都可以作为优化问题来处理,特别是对于具有大孔径或复杂几何形状的阵列。在这些情况下,通常不存在封闭形式的解,解空间非常大。例如,对于一个大型阵列,通常需要对阵列进行薄化以控制旁瓣电平,以避免浪费交付给每个天线元件的功率。在这种情况下,可以打开或关闭元素。如果要在400个元素的数组中尝试所有可能的解决方案,则需要尝试金宝搏官方网站2美元^ {400}$组合,这是不现实的,一个400个元素的数组根本就不被认为是一个大口径。在这种情况下通常采用优化技术。

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

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

内侧= 40;geneticArray = phase . ura (Nside,lambda/2);geneticarray . element . backbaffle = true;clf;wplot = helperThinnedArrayComparison(geneticArray,fc,c);

副瓣电平可以计算为

%计算光束图[azpat,elpat,az,el] = 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))
Sllopt = 13.2981

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

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

%设置随机种子prvS = rng(2013);最初生成200个候选人。最初,元素朝向中心是活跃的,虚拟元素是向边缘w0 = double(rand(Nside/2,Nside/2,200)>0.5);W0 (1:14,1:14,:) = 1;选择一个候选,绘制波束图,并计算副瓣。%的水平Wtemp = w0(:,:,100);Wo = [fliplr(wtemp) wtemp;rot90(wtemp,2) flipud(wtemp)];wplot = helperThinnedArrayComparison(geneticArray,fc,c,[wplot wo(:)],...“全部”“初始”});

该图显示了一个典型的第一代候选结果的光束模式。副瓣电平在方位角方向上较低,而在仰角方向上较高。精确的旁瓣电平和阵列的填充率可以计算为

[azpat,elpat] = helperExtractSynthesisPattern(geneticArray,fc,c,wo(:));计算相对副瓣电平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填充率= 71.7500

这意味着71.75%的阵列元素(1148个)是活动的,副瓣电平约为9 dB。它需要进一步抑制。以下代码采用30代遗传算法。

%最大代数镍= 30;每代候选数的%numGene = size(w0,3);W = w0;pos = getElementPosition(geneticArray)/lambda;Angspan = -90:90;m = 1:镍计算整个生成的波束模式。[azpat,elpat] = helperArraySynthesisBeamPattern(pos,angspan,w);计算每个候选的旁瓣电平sll = helperArraySynthesisRelativeSidelobeLevel(azpat,elpat);对产生的副瓣电平进行排序[~,idx] = sort(sll,2,“下”);舍弃一半得分较低的代w = w(:,:,[idx(1:numGene/2) idx(1:numGene/2)]);在新生成的候选对象中改变行和列mutIdx_row = randi(Nside/2,1,1);mutIdx_col = randi(Nside/2,1,1);w(mutIdx_row:end,:,numGene/2+1:numGene) = flipud(...w (mutIdx_row:,:, numGene / 2 + 1: numGene));w(mutIdx_col:end,:,numGene/2+1:numGene) = fliplr(...w (mutIdx_col:,:, numGene / 2 + 1: numGene));结束Wopt = w(:,:,1);rng(减压阀);Wo = [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填充率= 76.5000

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

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

clf;geneticArray。锥度= wo;viewArray (geneticArray“ShowTaper”,真正的);

值得注意的是,遗传算法在每次试验中并不总是降落在相同的解上。然而,总的来说,产生的波束模式共享一个相似的副瓣水平。

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

总结

这个例子展示了在相控阵上执行阵列合成的几种方法。在实际应用中,需要根据应用的具体约束,如阵列孔径大小、阵列几何形状等,选择合适的综合方法。

参考

[1] Randy L. Haupt,使用遗传算法的薄阵列,IEEE天线和传播汇刊,第42卷,第7期,1994年

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

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