主要内容

电子扫描使用统一的矩形数组

这个例子模拟一个相控阵雷达,定期扫描一个预定义的监视区域。900本单站雷达中使用矩形数组元素。步骤介绍,获得雷达参数根据规范。合成后接收到的脉冲,探测和范围估计。最后,多普勒估计是用来获取每个目标的速度。

雷达的定义

首先,我们创建一个相控阵雷达。我们最重用的子系统建立的例子模拟测试信号对雷达接收机。鼓励读者探索的细节雷达系统设计通过这个例子。一个主要的区别是,我们使用一个30-by-30均匀矩形数组(URA所言)代替原来的单天线。

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

pd = 0.9;%的概率检测pfa = 1 e-6;%的概率假警报max_range = 5000;%最大明确的范围tgt_rcs = 1;%需要目标雷达截面int_pulsenum = 10;%的脉冲积分

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

负载BasicMonostaticRadarExampleData;fc = radiator.OperatingFrequency;%的操作频率(赫兹)v = radiator.PropagationSpeed;%波传播速度(米/秒)λ= v / fc;%波长(m)fs = waveform.SampleRate;%采样频率(赫兹)脉冲重复频率= waveform.PRF;%脉冲重复频率(赫兹)

接下来,我们定义一个30-by-30均匀矩形数组。

ura所言= phased.URA (“元素”、天线、“大小”,30 (30),“ElementSpacing”,(λ/ 2,λ/ 2));%配置天线元素,这样他们只向前传播ura.Element。BackBaffled = true;%可视化响应模式。模式(ura所言,足球俱乐部,“PropagationSpeed”physconst (“光速”),“类型”,“powerdb”);

将数组与散热器和收藏家。

散热器。传感器= ura所言;收集器。传感器= ura所言;%,我们需要设置WeightsInputPort属性为true来启用它%接受传输波束形成的权值散热器。WeightsInputPort = true;

现在我们需要重新计算传输能量。最初的计算是基于单个天线传输能量。900 -元素数组,每个元素所需的能量要少得多。

%计算阵列增益arraygain = phased.ArrayGain (“SensorArray”ura所言,“PropagationSpeed”,v);ag) = arraygain (fc (0, 0));%计算峰值功率snr_min = albersheim (pd、pfa int_pulsenum);peak_power =((4 *π)^ 3 * noisepow (1 / waveform.PulseWidth) * max_range ^ 4 *db2pow (snr_min)) / (db2pow (2 * (transmitter.Gain + ag)) * tgt_rcs *λ^ 2)
peak_power = 0.0065

新的峰值功率是0.0065瓦。

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

我们还需要设计相控阵扫描表的规定。简化的示例中,我们只在方位维搜索。我们要求雷达搜索从45度到-45度方位。重新审视时间应小于1秒,这意味着雷达也应该重新审视方位角在1秒之内。

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

确定所需数量的扫描,我们需要知道数组的波束宽度的回应。我们使用一个经验公式估算3-dB波束宽度。

G = 4 π θ 2

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

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

的3-dB波束宽度是6.77度。允许一些光束在空间重叠,我们选择扫描步骤6度。

scanstep = 6;scangrid = initialAz + scanstep / 2: scanstep: endAz;numscans =长度(scangrid);pulsenum = int_pulsenum * numscans;%计算重新审视时间revisitTime = pulsenum /脉冲重复频率
revisitTime = 0.0050

结果重新审视时间是0.005秒,远低于1秒的上限规定。

目标定义

我们要从两个non-fluctuating目标模拟脉冲返回,在0度仰角。第一个目标是接近雷达,而第二个目标是远离雷达。

tgtpos = [[3532.63;800;0],[2020.66;0;0]];tgtvel = [[-100;50;0],[60;80;0]]; tgtmotion = phased.Platform(“InitialPosition”tgtpos,“速度”,tgtvel);tgtrcs = (1.6 - 2.2);目标= phased.RadarTarget (“MeanRCS”tgtrcs,“OperatingFrequency”、fc);%计算范围、角度和速度的目标[tgtrng, tgtang] = rangeangle (tgtmotion.InitialPosition,sensormotion.InitialPosition);numtargets =长度(target.MeanRCS);

脉冲合成

现在所有子系统的定义,我们可以进行模拟接收到的信号。总的仿真时间对应于一个通过监测区域。因为反射信号接收到一个数组,我们使用一个beamformer指着指导方向获得合并后的信号。

%为传输波束形成创建指导向量steeringvec = phased.SteeringVector (“SensorArray”ura所言,“PropagationSpeed”,v);%接收beamformer创建beamformer = phased.PhaseShiftBeamformer (“SensorArray”ura所言,“OperatingFrequency”足球俱乐部,“PropagationSpeed”v,“DirectionSource”,输入端口的);%定义每个目标的传播渠道频道= phased.FreeSpace (“SampleRate”fs,“TwoWayPropagation”,真的,“OperatingFrequency”、fc);fast_time_grid = unigrid (0,1 / fs, 1 /脉冲重复频率,“()”);%预先分配数组来提高处理速度rxpulses = 0(元素个数(fast_time_grid) pulsenum);m = 1: pulsenum%更新传感器和目标位置[sensorpos, sensorvel] = sensormotion(1 /脉冲重复频率);[tgtpos, tgtvel] = tgtmotion(1 /脉冲重复频率);%计算目标角度所看到的传感器[tgtrng, tgtang] = rangeangle (tgtpos sensorpos);%计算当前扫描角转向向量地板scanid = ((m - 1) / int_pulsenum) + 1;sv = steeringvec (fc, scangrid (scanid));w =连词(sv);%形式传输光束的扫描角度和模拟传播脉冲=波形();[txsig, txstatus] =发射机(脉冲);txsig =散热器(txsig tgtang w);txsig =通道(txsig sensorpos、tgtpos sensorvel, tgtvel);%反射脉冲的目标tgtsig =目标(txsig);% Beamform目标返回收到的传感器rxsig =收集器(tgtsig tgtang);rxsig =接收机(rxsig ~ (txstatus > 0));rxpulses (:, m) = beamformer (rxsig, [scangrid (scanid); 0]);结束

匹配滤波器

处理接收到的信号,我们首先通过一个匹配滤波器,然后每个扫描角的所有脉冲集成。

%匹配滤波matchingcoeff = getMatchedFilter(波形);matchedfilter = phased.MatchedFilter (“系数”matchingcoeff,“GainOutputPort”,真正的);[mf_pulses, mfgain] = matchedfilter (rxpulses);[],mf_pulses =重塑(mf_pulses int_pulsenum, numscans);matchingdelay =大小(matchingcoeff, 1) 1;sz_mfpulses =大小(mf_pulses);mf_pulses = [mf_pulses (matchingdelay + 1:结束)0 (matchingdelay)];mf_pulses =重塑(mf_pulses sz_mfpulses);%脉冲集成int_pulses = pulsint (mf_pulses,“非相干”);int_pulses =挤压(int_pulses);%可视化r = v * fast_time_grid / 2;X = r ' * cosd (scangrid);Y = r ' *信德(scangrid);clf;pcolor (X, Y, pow2db (abs (int_pulses)。^ 2));轴平等的阴影插值函数文本(-800 0“数组”);文本((max (r) + 10) * cosd (initialAz), (max (r) + 10) *信德(initialAz),[num2str (initialAz)“阿^”]);文本((max (r) + 10) * cosd (endAz), (max (r) + 10) *信德(endAz),[num2str (endAz)“阿^”]);文本((max (r) + 10) * cosd (0) (max (r) + 10) *信德(0)[num2str (0)“阿^”]);colorbar;

从扫描图,我们可以清楚地看到两座山峰。关闭一个是在0度左右方位,远程方位在10度左右。

检测和评估范围

获得一个精确的目标参数的估计,我们运用阈值检测扫描地图上。首先我们需要补偿信号功率损耗由于运用时变增益范围接收到的信号。

range_gates = v * fast_time_grid / 2;tvg = phased.TimeVaryingGain (“RangeLoss”2 * fspl (range_gatesλ),“ReferenceLoss”2 * fspl (max (range_gates),λ));tvg_pulses = tvg (mf_pulses);%脉冲集成int_pulses = pulsint (tvg_pulses,“非相干”);int_pulses =挤压(int_pulses);%计算检测阈值%采样率是设计系统的噪声带宽的两倍noise_bw = receiver.SampleRate / 2;npower = noisepow (noise_bwreceiver.NoiseFigure receiver.ReferenceTemperature);阈值= - * db2pow (npwgnthresh (pfa、int_pulsenum“非相干”));%增加阈值的匹配滤波器处理增益阈值=阈值* db2pow (mfgain);

我们现在可视化检测过程。更好地代表了数据,我们只图样本范围超过50岁。

N = 51;clf;冲浪(X (N:,:), Y (N:最终,),pow2db (abs (int_pulses (N:最终,))^ 2));持有;网格(X (N:,:), Y (N:最终,),pow2db(阈值*的(大小(X (N:最终,)))),“FaceAlpha”,0.8);视图(0,56);轴

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

[~,peakInd] = findpeaks (int_pulses (:),“MinPeakHeight”返回值(阈值));[rngInd, angInd] = ind2sub(大小(int_pulses), peakInd);est_range = range_gates (rngInd);%估计范围est_angle = scangrid (angInd);%估计方向

多普勒估计

接下来,我们想估计每个目标的多普勒速度。有关多普勒估计,参考的例子多普勒估计

m = numtargets: 1:1 [p f] =周期图(mf_pulses (rngInd (m),:, angInd (m)),[], 256年,脉冲重复频率,“权力”,“中心”);speed_vec = dop2speed (f,λ)/ 2;spectrum_data = p / max (p);[~,dop_detect1] = findpeaks (pow2db (spectrum_data),“MinPeakHeight”5);sp (m) = speed_vec (dop_detect1);%估计多普勒速度结束

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(真正的)目标参数估计- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -范围(m)方位(度)速度(米/秒)目标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)

总结

在这个例子中,我们展示了如何模拟一个相控阵雷达扫描一个预定义的监视区域。我们演示了如何设计扫描进度。传统beamformer是用于处理接收到的多通道信号。角范围,每个目标的多普勒信息提取反射的脉冲。这些信息可以用于进一步的任务,如高分辨率direction-of-arrival估计,或目标跟踪。