合成光束图案时的一个常见要求是将零点指向给定的到达方向。这有助于抑制来自该方向的干扰并提高信干比。干扰并不总是恶意的 - 机场雷达系统可能需要抑制来自附近无线电台的干扰。在这种情况下,无线电台的位置是已知的股票行情今天配资,可以使用旁瓣消除算法来消除干扰。
旁瓣消除可用于抑制通过阵列旁瓣进入的干扰。在这种情况下,由于干扰方向是已知的,因此算法很简单。形成指向干涉方向的光束,然后缩放光束权重,并从指向任何其他观察方向的光束图案的权重中减去缩放权重。此过程始终在干涉方向上放置一个强零点。
以下示例显示了如何设计雷达的权重,使其扫描范围在 -30 度和 30 度之间,但始终保持 40 度的零点。假设雷达使用平行于地面的 10 元件 ULA,并且已知的无线电干扰来自 40 度方位角。
获取
c = 3e8; % signal propagation speedfc = 1e9; % signal carrier frequencylambda = c/fc; % wavelengththetaad = -30:5:30; % look directionsthetaan = 40; % interference directionula = phased.ULA(10,lambda/2);ula.Element.BackBaffled = true;% Calculate the steering vector for null directionswn = steervec(getElementPosition(ula)/lambda,thetaan);% Calculate the steering vectors for lookout directionswd = steervec(getElementPosition(ula)/lambda,thetaad);% Compute the response of desired steering at null directionrn = wn'*wd/(wn'*wn);% Sidelobe canceler - remove the response at null directionw = wd-wn*rn;% Plot the patternpattern(ula,fc,-180:180,0,'PropagationSpeed',c,'Type','powerdb',... 'CoordinateSystem','rectangular','Weights',w);hold on; legend off;plot([40 40],[-100 0],'r--','LineWidth',2)text(40.5,-5,'\leftarrow Interference Direction','Interpreter','tex',... 'Color','r','FontSize',10)图片
上图显示了从 -30 度方位角到 30 度方位角的观察方向生成的波束模式,增量为 5 度。从下面的放大图中可以清楚地看出,无论观察方向在哪里,雷达波束方向图在干涉方向上都具有很强的零点。
获取
% Zoomxlim([30 50])legend(arrayfun(@(k)sprintf('%d degrees',k),thetaad,... 'UniformOutput',false),'Location','SouthEast');
图片
使用窗口函数的模式合成设计相控阵时的另一个常见问题是将所需的光束方向图与交给您的规格相匹配。通常,要求以波束宽度和旁瓣电平表示。
解决此类问题的过程通常包括以下步骤:
观察所需的图案并确定阵列几何形状;
根据所需的波束宽度选择阵列大小;
根据所需的旁瓣水平设计锥度;
迭代调整步骤 2 和 3 获得的参数以获得最佳匹配。
以下示例演示了这四个步骤。首先,观察下图所示的所需模式。
获取
load desiredSynthesizedAntenna;clf;pattern(mysteryAntenna,fc,'CoordinateSystem','polar','Type','powerdb'); view(50,20);ax = gca;ax.Position = [-0.15 0.1 0.9 0.8];camva(4.5); campos([520 -250 200]);图片
三维辐射方向图在方位角和仰角切割方面都表现出一定的对称性。因此,最好使用均匀矩形阵列 (URA) 获得图案。从图中也可以清楚地看出,没有能量辐射到阵列的背面。
接下来,确定数组的大小。为了避免光栅波瓣,将元件间距设置为半波长。对于URA,沿方位角和仰角方向的尺寸可以分别从沿方位角和仰角方向所需的波束宽度推导出来。在半波长间距的情况下,沿特定方向的元素数量可以近似为:
N≃2没有(θb)
哪里θb是沿该方向的波束宽度。因此,市建局的孔径大小可以计算为:
获取
[azpat,elpat,az,el] = helperExtractSynthesisPattern(mysteryAntenna,fc,c);% Azimuth directionidx = find(azpat>pow2db(1/2));azco = [az(idx(1)) az(idx(end))]; % azimuth cutoffN_col = round(2/sind(diff(azco)))N_col = 19
获取
% Elevation directionidx = find(elpat>pow2db(1/2));elco = [el(idx(1)) el(idx(end))]; % elevation cutoffN_row = round(2/sind(diff(elco)))N_row = 14
估计建议从 14x19 URA 开始。
获取
% Form the URAura = phased.URA([N_row N_col],[lambda/2 lambda/2]);ura.Element.BackBaffled = true;helperArraySynthesisComparison(ura,mysteryAntenna,fc,c)
图片
从图中可以看出,合成的阵列超过了所需图案的波束宽度要求。然而,旁瓣比所需的模式大得多。您可以通过对数组应用窗口化操作来减少旁瓣。由于 URA 可以被认为是两个可分离均匀线性阵列 (ULA) 的组合,因此可以使用熟悉的滤波器设计方法沿方位角和仰角方向独立设计窗口。
下面的代码显示了如何获取方位角和仰角方向的窗口。
获取
AzSidelobe = 20; Ap = 0.1; % Passband ripplesAzWeights = designfilt('lowpassfir','FilterOrder',N_col-1,... 'CutoffFrequency',azco(2)/90,'PassbandRipple',0.1,... 'StopBandAttenuation',AzSidelobe);azw = AzWeights.Coefficients;ElSidelobe = 30; ElWeights = designfilt('lowpassfir','FilterOrder',N_row-1,... 'CutoffFrequency',elco(2)/90,'PassbandRipple',0.1,... 'StopBandAttenuation',ElSidelobe);elw = ElWeights.Coefficients;% Assign the weights to the arrayura.Taper = elw(:)*azw(:).';% Compare the patternhelperArraySynthesisComparison(ura,mysteryAntenna,fc,c)图片
该图显示,与以前的设计相比,得到的旁瓣电平较低,但仍不能满足要求。通过一些试验和错误,以下参数用于创建最终设计:
获取
N_row = N_row+2; % trial and errorN_col = N_col-3; % trial and errorAzSidelobe = 26;ElSidelobe = 35;AzWeights = designfilt('lowpassfir','FilterOrder',N_col-1,... 'CutoffFrequency',azco(2)/90,'PassbandRipple',0.1,... 'StopBandAttenuation',AzSidelobe);azw = AzWeights.Coefficients;ElWeights = designfilt('lowpassfir','FilterOrder',N_row-1,... 'CutoffFrequency',elco(2)/90,'PassbandRipple',0.1,... 'StopBandAttenuation',ElSidelobe);elw = ElWeights.Coefficients;ura = phased.URA([N_row N_col],[lambda/2 lambda/2]);ura.Element.BackBaffled = true;ura.Taper = elw(:)*azw(:).';helperArraySynthesisComparison(ura,mysteryAntenna,fc,c)
图片
该图显示,合成图案的波束宽度和旁瓣电平与所需规格相匹配。下图显示了所需的 3D 图案、合成的 3D 图案、生成的阵列几何图形和锥度。
获取
helperArraySynthesisComparison(ura,mysteryAntenna,fc,c,'3d')图片
使用遗传算法的阵列稀疏许多阵列合成问题可以被视为优化问题,特别是对于具有大孔径或复杂几何形状的阵列。在这些情况下,闭合形式的解决方案通常不存在,并且解决方案空间非常大。例如,对于大型阵列,通常需要对阵列进行精简以控制旁瓣电平,以避免浪费传递到每个天线元件的功率。在这种情况下,可以打开或关闭元素。如果您要在 40x40 URA 中尝试所有可能的解决方案,则需要尝试21600组合,这是不现实的。在这种情况下,通常采用优化技术。
一种常用的优化技术是遗传算法。遗传算法通过模拟自然选择过程来实现最优解。它从随机选择的候选人作为第一代开始。在每个演化周期中,该算法根据预定的性能度量对生成进行排序(在精简阵列示例中,性能度量是峰与旁瓣电平的比率),然后丢弃性能分数较低的生成。然后,该算法会改变剩余的候选对象以生成更新的一代,并重复该过程,直到达到停止条件,例如最大代数。
以下示例演示如何使用该方法对 40x40 URA 进行精简。该方法使用遗传算法来最小化有源阵列单元的总数,使得的最大旁瓣电平低于指定的期望值。thinnedArraythinnedArray
创建一个 40x40 URA 的余弦天线元件。
获取
% Set the random number generator for reproducibility.rng('default');Nside = 40;uraFull = phased.URA(Nside,lambda/2,'Element',phased.CosineAntennaElement);
绘制完整阵列的波束方向图。
获取
az = -90:90; % Azimuth anglesel = -90:90; % Elevation anglesfigurepattern(uraFull,fc,az,el,'Type','powerdb','CoordinateSystem','rectangular')view(2)clim([-60 1])图片
全阵列的旁瓣电平约为13.5dB。使用对象的方法创建精简数组。将所需的旁瓣电平设置为 -25 dB。假设阵列被引导到宽边。thinnedArrayuraFull
获取
sll = -25; % Desired sidelobe level[uraThin,w,info] = thinnedArray(uraFull,fc,[0; 0],sll);figurepattern(uraThin,fc,az,el,'Type','powerdb','CoordinateSystem','rectangular')view(2)clim([-60 1])
图片
该方法还返回一个结构,其中包含有关生成的精简数组的信息。thinnedArray
获取
infoinfo = struct with fields: ThinningFactor: 45.7500 MaxSidelobeLevel: -25.2907 BeamwidthThinned: [2x1 double] BeamwidthFull: [2x1 double]
报告的变薄因子(变薄后保持活动状态的阵列元件的百分比)小于 50%。这意味着超过一半的数组元素处于关闭状态。与全阵列相比,由此产生的精简阵列可以节省在虚拟元件后面实施 T/R 开关的成本,从而节省大约 50% 的功耗。另请注意,即使瘦减阵列使用较少的元件,波束宽度也接近全阵列所能达到的波束宽度。
获取
info.BeamwidthFullans = 2×1 2.5400 2.5400
获取
info.BeamwidthThinnedans = 2×1 3.1800 3.1800
该字段报告优化期间达到的最大旁瓣电平。尽管它接近所需的旁瓣电平,但遗传算法优化并不能保证满足旁瓣电平约束。MaxSidelobeLevel
该方法试图在整个方位角仰角空间上达到所需的旁瓣电平。验证沿方位角和仰角切割实现的旁瓣电平是否等于或低于所需值。thinnedArray
获取
clfhelperThinnedArrayComparison(uraFull,fc,c,[ones(Nside^2, 1) w(:)],... {'Full','Thinned'});图片
显示生成的精简阵列的几何图形。虚拟元素由黑色圆圈表示。
获取
clfviewArray(uraThin,'ShowTaper',true);
图片
只有当阵列转向宽边时,获得的薄型阵列的最大旁瓣电平才接近所需值。如果偏离舷侧,最大旁瓣电平将显着增加。
设最大扫描角度为方位角 45 度,仰角为 30 度。当细化阵列指向最大扫描角度时绘制波束方向图。
获取
steeringVector = phased.SteeringVector('SensorArray',uraFull);maxScanAngle = [45; 30];sv = steeringVector(fc, maxScanAngle);figure;pattern(uraThin,fc,az,el,'Type','powerdb','CoordinateSystem','rectangular',... 'Weights',sv);view(2)clim([-60 1])图片
最大旁瓣电平现在接近 -16 dB。
为了保持良好的旁瓣性能,在指向最大扫描角度时,应将扫描阵列变薄。然后,较小扫描角度的旁瓣将接近甚至低于所需水平。
获取
[uraThinScan,~,info] = thinnedArray(uraFull,fc,maxScanAngle,sll);infoinfo = struct with fields: ThinningFactor: 62.5000 MaxSidelobeLevel: -21.9208 BeamwidthThinned: [2x1 double] BeamwidthFull: [2x1 double]
当转向到最大扫描角度时,最大旁瓣电平现在约为 -22 dB。绘制转向到最大扫描角度、宽边和中间两个位置时的阵列波束方向图。请注意,当指向最大扫描角度时,最大旁瓣电平是最高的。
获取
azel = [maxScanAngle [30 15 0; 20 10 0]];sv = steeringVector(fc,azel);figuretiledlayout(2,2);for i = 1:4 nexttile; pattern(uraThinScan,fc,az,el,'Type','powerdb','CoordinateSystem','rectangular',... 'Weights',sv(:, i)); view(2) clim([-60 1]) title(sprintf('Az = %.1f, El = %.1f',azel(1, i),azel(2, i)));end
图片
阵列细化还可用于在特定方向上创建空区域。将空区域指定为方位角和仰角的开始和停止方向。
获取
nstart = [25; 15]; % Start position of the null regionnstop = [30; 18]; % Stop position of the null region[uraThinNullSymmetric,~,info] = thinnedArray(uraFull,fc,[0;0],sll,nstart,nstop);infoinfo = struct with fields: ThinningFactor: 49.2500 MaxSidelobeLevel: -25.2999 MinNullRegionDepth: -51.8854 BeamwidthThinned: [2x1 double] BeamwidthFull: [2x1 double]
获取
figure;pattern(uraThinNullSymmetric,fc,az,el,'Type','powerdb','CoordinateSystem','rectangular');rectangle('Position', [nstart(1) nstart(2) nstop(1)-nstart(1) nstop(2)-nstart(2)],... 'EdgeColor','r');view(2)clim([-60 1])图片
在返回的信息结构体的字段中报告稀疏后指定空区域内的最小空深度。MinNullRegionDepth
指定的零区域在波束图案上以红色矩形显示。请注意,在相对于方位角和仰角轴对称的位置上会出现相同的空区域。这是因为默认情况下,该方法利用 URA 的行和列的对称性来加快计算速度。将 URA 划分为四个对称的四分之一,可以将未知的变薄系数减少 4 个。这使得底层遗传算法能够更快地找到解决方案。若要独立处理所有数组元素,请在调用该方法时将“SymmetricThinning”名称/值对设置为 false。在这种情况下,只有一个相对于原点对称的附加空区域。thinnedArraythinnedArray
值得注意的是,在每次试验中,遗传算法并不总是采用相同的解决方案。然而,一般来说,由此产生的光束方向图具有相似的旁瓣电平。
总结此示例显示了在相控阵上执行阵列合成的几种方法。在实践中,需要根据应用的具体约束条件,如阵列孔径的大小、阵列几何形状等,选择合适的合成方法。
为获得更多关于人工智能技术在导弹武器系统的使用,以及武器系统的软件设计等知识分享股票行情今天配资,建立了软件技术交流知识星球,该知识星球内部含有人工智能在武器系统中使用的各类技术资料,用于对人工智能、武器系统软件开发、软件生命周期模型等方面的技术资料的学习和交流很有帮助。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。配资天眼提示:文章来自网络,不代表本站观点。