主要内容

均匀矩形阵列电子扫描

本例模拟了定期扫描预定义监视区域的相控阵雷达。该单基地雷达使用900单元矩形阵列。介绍了根据规范推导雷达参数的步骤。合成接收脉冲后,执行检测和距离估计。最后,Doppler估计用于获得每个目标的速度。

雷达的定义

首先,我们创建了一个相控阵雷达,我们重用了示例中构建的大多数子系统雷达接收机的模拟测试信号。我们鼓励读者探讨雷达系统设计通过这个例子。一个主要的区别是我们使用了一个30×30的均匀矩形阵列(URA)来代替原来的单天线。

现有雷达设计符合以下规范。

pd = 0.9;%发现概率pfa=1e-6;%虚警概率最大量程=5000;%最大无歧义范围tgt_rcs=1;%所需目标雷达截面脉冲积分=10;%要积分的脉冲数

加载雷达系统并检索系统参数。

负载基本经济数据; fc=散热器工作频率;%工作频率(Hz)v = radiator.PropagationSpeed;%波传播速度(m/s)λ=v/fc;%波长(m)fs=波形采样器;%采样频率(Hz)prf=波形.prf;%脉冲重复频率(Hz)

接下来,我们定义一个30×30的均匀矩形阵列。

ura=分阶段的。ura(“元素”天线...“尺寸”, 30 (30),“ElementSpacing”,[lambda/2,lambda/2]);%配置天线元件,使其仅向前发射ura.Element.backaffled=true;%将响应模式可视化。模式(市区重建局、功能界别、,“PropagationSpeed”,physconst(“光速”),...“类型”,“powerdb”);

将阵列与散热器和收集器关联。

散热器。传感器= ura所言;收集器。传感器= ura所言;%我们需要将WeightsInputPort属性设置为true,以使其能够%接受发送波束形成权值散热器重量输入端口=真;

现在我们需要重新计算发射功率。原始发射功率是基于单个天线计算的。对于一个有900个元件的阵列,每个元件所需的功率要小得多。

%计算阵列增益arraygain=相控。arraygain(“传感器阵列”ura所言,“PropagationSpeed”ag=arraygain(fc[0;0]);%计算峰值功率信噪比最小值=阿尔伯斯海姆(pd,pfa,内部脉冲数);峰值功率=((4*pi)^3*noisepow(1/波形.脉冲宽度)*最大范围^4*...db2pow(snr_min))/(db2pow(2*(发射机增益+ag))*tgt_rcs*lambda^2)
峰值功率=0.0065

新的峰值功率为0.0065瓦。

%设置发射机的峰值功率发射机峰值功率=峰值功率;

我们还需要设计相控阵的扫描时间表。为了简化示例,我们只在方位维度进行搜索。我们要求雷达在方位角上从45度搜索到-45度。重访时间应小于1秒,这意味着雷达应在1秒内重访相同的方位角。

initialAz = 45;endAz = -45;volumnAz = initialAz - endAz;

为了确定所需的扫描次数,我们需要知道阵列响应的波束宽度。我们使用经验公式来估计3-dB的波束宽度。

G = 4. π θ 2.

哪里 G 是阵列增益和 θ 是3-dB波束宽度。

%计算3-dB波束宽度θ=radtodeg(sqrt(4*pi/db2pow(ag)))
θ=6.7703

3-dB波束宽度为6.77度。为了在空间中允许一些波束重叠,我们选择扫描步长为6度。

scanstep=-6;scangrid=initialAz+scanstep/2:scanstep:endAz;numscans=length(scangrid);pulsenum=int_pulsenum*numscans;%计算重访时间时间=脉冲数/脉冲重复频率
重新访问时间=0.0050

由此产生的重新访问时间为0.005秒,远低于规定的1秒上限。

目标定义

我们要模拟两个非波动目标的脉冲返回,都在0度仰角。第一个目标正在接近雷达,而第二个目标正在远离雷达。

tgtpos = [[3532.63;800;0], [2020.66;0;0]];tgtvel = [[-100;50;0], [60;80;0]]; tgtmotion = phased.Platform(“初始位置”tgtpos,“速度”, tgtvel);TGTRCS = [1.6 2.2];=阶段性目标。RadarTarget (“MeanRCS”tgtrcs,“OperatingFrequency”,fc);计算目标的距离,角度和速度[tgtrng, tgtang] = rangeangle (tgtmotion。InitialPosition,...sensormotion.InitialPosition);numtargets =长度(target.MeanRCS);

脉冲合成

现在定义了所有子系统,我们可以继续模拟接收到的信号。总模拟时间相当于通过监视区域的一次。因为反射信号由阵列接收,所以我们使用指向转向的波束形成器来获得组合信号。

%为发射波束形成创建指导矢量steeringvec=相控。SteeringVector(“传感器阵列”ura所言,...“PropagationSpeed”,v);%创建接收波束形成器beamformer =分阶段。PhaseShiftBeamformer (“传感器阵列”ura所言,...“OperatingFrequency”足球俱乐部,“PropagationSpeed”v,...“DirectionSource”,“输入端口”);为每个目标定义传播通道通道=相控。自由空间(...“采样器”,财政司司长,...“TwoWayPropagation”符合事实的...“OperatingFrequency”,fc);快速时间网格=单网格(0,1/fs,1/prf,'[)');%预分配阵列以提高处理速度rxpulses=零(numel(快速时间网格),脉冲数);对于m=1:pulsenum%更新传感器和目标位置[sensorpos, sensorvel] = sensormotion(1 /脉冲重复频率);[tgtpos, tgtvel] = tgtmotion(1 /脉冲重复频率);%计算传感器看到的目标角度[tgtrng,tgtang]=范围角(tgtpos,sensorpos);%计算当前扫描角度的转向矢量scanid=楼层((m-1)/int_pulsenum)+1;sv=转向VEC(fc,scangrid(scanid));w=连接(sv);%形成此扫描角度的发射光束并模拟传播脉冲=波形();[txsig, txstatus] =发射机(脉冲);txsig =散热器(txsig tgtang w);txsig =通道(txsig sensorpos、tgtpos sensorvel, tgtvel);%从目标反射脉冲tgtsig =目标(txsig);%波束形成传感器接收到的目标返回rxsig=收集器(tgtsig,tgtang);rxsig=接收器(rxsig,~(txstatus>0));rxpulses(:,m)=波束形成器(rxsig,[scangrid(scanid);0]);终止

匹配滤波器

为了处理接收到的信号,我们首先将其通过匹配滤波器,然后对每个扫描角度的所有脉冲进行积分。

%匹配滤波matchingcoeff=getMatchedFilter(波形);matchedfilter=phased.matchedfilter(...“系数”,匹配系数,...“收益输出”,true);[mf_脉冲,mfgain]=匹配滤波器(rxpulses);mf_脉冲=整形(mf_脉冲,[],int_脉冲,numscans);匹配延迟=大小(匹配系数,1)-1;sz_脉冲=大小(mf_脉冲);mf_脉冲=[mf_脉冲(匹配延迟+1:结束)零(1,匹配延迟)];mf_脉冲=整形(mf_脉冲,sz_脉冲);%脉冲积分int_脉冲=脉冲int(mf_脉冲,“非相干”);int_脉冲=挤压(int_脉冲);%想象r=v*快速时间网格/2;X=r'*cosd(扫描网格);Y=r'*sind(扫描网格);clf;pcolor(X,Y,pow2db(abs(内部脉冲)。^2));轴相同的阴影内页文本(-800 0“数组”)文本((最大(r)+10)*cosd(初始值),(最大(r)+10)*sind(初始值),...[num2str(缩写为AZ)“^o”]); 文本((最大(r)+10)*cosd(endAz),(最大(r)+10)*sind(endAz),...[num2str(endAz)“^o”]);文本((最大(r)+10)*cosd(0),(最大(r)+10)*sind(0),[num2str(0)“^o”]); 色条;

从扫描图上,我们可以清楚地看到两个峰值。靠近的一个在方位角0度左右,而远的一个在方位角10度左右。

检测与距离估计

为了获得对目标参数的准确估计,我们在扫描图上应用阈值检测。首先,我们需要通过对接收信号应用时变增益来补偿由于距离引起的信号功率损失。

range_gates = v * fast_time_grid / 2;tvg =分阶段。TimeVaryingGain (...“RangeLoss”2 * fspl (range_gatesλ),...“ReferenceLoss”2 * fspl (max (range_gates),λ));tvg_pulses = tvg (mf_pulses);%脉冲积分int_脉冲=脉冲(tvg_脉冲,“非相干”);int_脉冲=挤压(int_脉冲);%计算检测阈值%采样率是设计系统噪声带宽的两倍noise_bw=receiver.SampleRate/2;npower=noisepow(noise_bw,...接收器。噪声图,接收器。参考温度);阈值=npower*db2pow(npwgnthresh)(pfa,int_pulsenum,“非相干”));%通过匹配滤波器处理增益增加阈值Threshold = Threshold * db2pow(mfgain);

现在,我们将检测过程可视化。为了更好地表示数据,我们只绘制超过50的范围样本。

N = 51;clf;冲浪(X (N:,:), Y (N:最终,),...pow2db(abs(内部脉冲(N:end,:).^2));保持;网格(X(N:end,:),Y(N:end,:),...pow2db(阈值*个(大小X(N:end,:))),“FaceAlpha”,0.8); 视图(0,56);轴

在检测阈值上方有两个可见的峰值,对应于我们前面定义的两个目标。我们可以找到这些峰值的位置,并估计每个目标的距离和角度。

[~,peakInd]=FindPeak(整数脉冲(:),“小豌豆”,sqrt(阈值));[rngInd,angInd]=ind2sub(大小(整数脉冲),峰值);est_范围=范围门(rngInd);%估计范围est_angle = scangrid (angInd);%估计方向

多普勒估计

接下来,我们要估计每个目标的多普勒速度。关于多普勒估计的详细信息,请参考示例多普勒估计.

对于m=numtargets:-1:1[p,f]=周期图(mf_脉冲(rngInd(m),:,angInd(m)),[],256,prf,...“权力”,“居中”);速度向量=dop2速度(f,λ)/2;光谱数据=p/max(p);[~,dop检测1]=FindPeak(功率2db(光谱数据),“小豌豆”,-5);sp(m)=速度向量(dop_检测1);估计多普勒速度终止

最后,我们估计了两个检测目标的所有参数。下面是估计参数值和真实参数值的比较。

------------------------------------------------------------------------估计(真实)目标参数-------------------------------------------距离(m)方位(deg)速度(m/s)目标1:3625.00(3622.08)12.00(12.76)86.01(86.49)目标2:2025.00(2020.66)0.00(0.00)-59.68(-60.00)

总结

在本例中,我们演示了如何模拟相控阵雷达扫描预定义的监视区域。我们演示了如何设计扫描计划。使用常规波束形成器处理接收到的多通道信号。从反射脉冲中提取每个目标的距离、角度和多普勒信息。该信息该方法可用于进一步的任务,如高分辨率到达方向估计或目标跟踪。