主要内容

使用虚拟阵列增加角度分辨率

这如何形成MIMO雷达虚拟阵列例介绍可以帮助增加的角分辨率。它显示了如何使用相控阵系统工具箱™模拟相干MIMO雷达信号处理链。

介绍

有两类多输入多输出(MIMO)雷达。多站雷达形成第一类。他们通常被称为MIMO统计雷达。相干MIMO雷达形成第二类别,并且在本实施例的重点。相干MIMO雷达信号处理的一个好处是通过形成虚拟阵列来增加物理天线阵列的角分辨率的能力。

虚拟阵列

准单基地MIMO雷达可以创建一个虚拟阵列,其中发射和接收阵列位于紧密的位置。为了更好地理解虚拟阵列的概念,首先看看传统相控阵雷达的双向模式。相控阵雷达的双向方向图是其发射阵列方向图和接收阵列方向图的产物。例如,考虑一个带有2元发射阵列和4元接收阵列的77 GHz毫米波雷达。

FC = 77e9;C = 3E8;拉姆达= C / FC;NT = 2;NR = 4;

如果两个阵列具有半波长的间距,其有时被称为全阵列,则图案双向接近接收阵列图案。

dt = lambda / 2;Dr = lambda / 2;txarray = phased.ULA(NT,DT);rxarray = phased.ula(nr,dr);Ang = -90:90;pattx =图案(txarray,FC,ANG,0,'类型''powerdb');Patrx =模式(RxArray,Fc,Ang,0,'类型''powerdb');pat2way = pattx + patrx;helperPlotMultipledBPattern(ANG,[pat2way pattx patrx],[ -  30 0],...“双向模式”“Tx模式”“Rx模式”},...full/full array的模式- 2Tx, 4Rx...“- - -”' - '' - '。});

如果将整个发射阵列替换为一个薄阵列,这意味着元件间距比半个波长宽,那么双向模式的波束宽度就会更窄。请注意,即使薄发射阵列有光栅瓣,这些光栅瓣在双向模式中并不存在。

DT = NR *波长/ 2;txarray = phased.ULA(NT,DT);pattx =图案(txarray,FC,ANG,0,'类型''powerdb');pat2way = pattx + patrx;helperPlotMultipledBPattern(ANG,[pat2way pattx patrx],[ -  30 0],...“双向模式”“Tx模式”“Rx模式”},...'薄/全数组的模式 -  2TX,4RX'...“- - -”' - '' - '。});

该系统的双向模式对应于具有2 × 4 = 8元素的虚拟接收阵列模式。因此,通过仔细选择发射阵列和接收阵列的几何形状,我们可以在不增加更多天线的情况下增加系统的角分辨率。

varray = phased.ula(nt * nr,dr);Patv =模式(Varray,Fc,Ang,0,'类型''powerdb');helperPlotMultipledBPattern(ANG,[pat2way PATV],[ -  30 0],...“双向模式”“虚拟阵列模式”},...“thin/full array和virtual array的模式”...“- - -”' - '}, (1 2));

MIMO雷达中的虚拟阵列

在相干的MIMO雷达系统中,发射阵列的每个天线发送正交波形。由于这种正交性,可以在接收阵列处恢复发送的信号。然后可以堆叠对应于每个正交波形的物理接收阵列的测量以形成虚拟阵列的测量。

注意,由于发射阵列中的每个元件独立地辐射,因此没有发送波束形成,因此发射模式广泛并覆盖大型视野(FOV)。这允许同时照明FOV中的所有目标。然后,接收数组可以生成多个光束以处理所有目标回波。与需要连续扫描的传统阵列雷达相比,覆盖整个FOV,这是MIMO雷达对于需要快速反应时间的应用的另一个优点。

TDM-MIMO雷达仿真

时分多路复用(TDM)是实现传输信道之间正交性的一种方法。本示例的其余部分将展示如何建模和模拟一个TDM-MIMO调频连续波(FMCW)汽车雷达系统。波形特征自适应采用FMCW技术的汽车自适应巡航控制(雷达工具箱)例子。

波形= HelperdesignfmcwwaveForm(C,Lambda);fs = waveform.samplerate;

假设视野中有两辆车,间隔20度。如图所示,4单元接收阵列的3dB波束宽度约为30度,因此传统处理无法在角域分离两个目标。雷达传感器参数如下:

变送器= Phased.Transmitter('峰值功率', 0.001,“获得”,36);Receiver = phased.receiverProamp(“获得”,40,“噪声系数”, 4.5,'采样率',fs);txradiator =相位的.Radiator('传感器',txarray,'运行频率',fc,...'繁殖',C,'WeightsInputPort',真正的);rxcollector = phased.Collector('传感器',rxarray,'运行频率',fc,...'繁殖',C);

定义自我车辆的位置和运动和FOV中的两辆汽车。

radar_speed = 100 * 1000/3600;%自我车速100 km / hradarmotion = phased.platform('初始位置',[0; 0; 0.5],'速度'[radar_speed; 0; 0]);car_dist = [40 50];%传感器与车辆距离(米)car_speed = [-80 96] *3600分之1000;%公里/小时 - >米/秒Car_az = [-10 10];Car_rcs = [20 40];car_pos = [car_dist。* cosd (car_az); car_dist。*信德(car_az); 0.5 - 0.5);汽车=分阶段。RadarTarget ('MeanRCS',car_rcs,'繁殖',C,'运行频率'、fc);carmotion =分阶段。平台('初始位置',car_pos,'速度', car_speed; 0 0 0 0);

传播模型假定为自由空间。

频道=分阶段。空闲空间('繁殖',C,...'运行频率',fc,'采样率',fs,'twowaypropagation',真正的);

TDM MIMO雷达物理阵列接收到的原始数据立方体可以模拟如下:

RNG(2017);nsweep = 64;dn = 2;%抽取因子FS = FS / DN;XR =络合物(零(FS * waveform.SweepTime,NR,Nsweep));W0 = [0; 1];%权重启用/禁用辐射元素为了m = 1:nsweep更新雷达和目标位置[RADAR_POS,RADAR_VEL] = radarmotion(waveborm.sweeptime);[tgt_pos,tgt_vel] = carmotion(waveform.sweeptime);[〜,tgt_ang] = rangeangle(tgt_pos,radar_pos);%发送FMCW波形sig =波形();txsig =发射机(SIG);%切换传输元素w0 = 1-w0;txsig = txradiator (txsig tgt_ang, w0);传播信号并反射出目标txsig =通道(TXSIG,RADAR_POS,TGT_POS,RADAR_VEL,TGT_VEL);TXSIG =汽车(TXSIG);%解线调接收到的雷达回波rxsig = rxcollector (txsig tgt_ang);rxsig =接收机(rxsig);dechirpsig = dechirp (rxsig、团体);%抽取回报以减少计算需求为了n =大小(xr, 2): 1:1 xr (: n m) =毁掉(dechirpsig (:, n), Dn,'冷杉');结尾结尾

虚拟阵列处理

由物理阵列接收的数据立方体必须进行处理,以形成虚拟阵列数据立方体。对于在本实施例中使用的TDM-MIMO雷达系统中,对应于两个发射天线元件的测量可从两个连续的扫描通过取数据立方体的其他每一页被回收。

nvsweep = nsweep / 2;XR1 = XR(:,:,1:2:结束);XR2 = XR(:,:,2:2:结束);

现在,数据立方体xr1包含对应于所述第一发射天线元件的返回,和所述数据立方体中xr2包含对应于第二发射天线元件的返回。因此,从虚拟阵列数据立方体可以被形成为:

xrv =猫(2 xr1 xr2);

接下来,对虚拟数据多维数据集执行范围 - 多普勒处理。因为范围 - 多普勒处理是线性的,所以保留相位信息。因此,稍后可以使用所得到的响应来对虚拟孔径执行进一步的空间处理。

nfft_r = 2 ^ nextpow2(大小(xrv, 1));nfft_d = 2 ^ nextpow2(大小(xrv, 3));rngdop =分阶段。RangeDopplerResponse ('繁殖',C,...'dopperoutput''速度''运行频率',fc,'采样率',fs,...'rangemethod''fft'“PRFSource”'财产'...“RangeWindow”“损害”脉冲重复频率的,1 /(NT * waveform.SweepTime),...'SweepSlope'waveform.SweepBandwidth / waveform.SweepTime...'RangeFftLengthSource''财产'“RangeFFTLength”,nfft_r,...'dopplerfftlengthsource''财产''DopplerFFTLength',nfft_d,...“DopplerWindow”“损害”);[resp,r,sp] = RNGDOP(XRV);

所结果的resp是一个数据立方体,其中包含虚拟阵列中每个单元的距离-多普勒响应。作为实例,给出了虚拟阵列中第一个元素的距离多普勒图。

PlotResponse(RNGDOP,挤压(XRV(:,1,:));

可以在从每对发射和接收元件上对测距多普勒图执行检测以识别场景中的目标。在该示例中,对在第一发送元件和第一接收元件之间获得的地图上执行简单的基于阈值的检测,其对应于虚拟阵列中的第一元件处的测量。基于上图中所示的范围 - 多普勒映射,阈值设定为10 dB以下最大峰值。

respmap =挤压(mag2db (abs (resp (: 1:))));ridx = helperRDDetection (respmap, -10);

根据目标的探测距离,从虚拟阵列数据立方体中提取相应的距离割,进行进一步的空间处理。为了验证虚拟阵列与物理阵列相比提供了更高的分辨率,下面的代码提取了两个目标的距离切割,并将它们合并成一个数据矩阵。然后在这些虚拟阵列测量上执行波束扫描算法来估计目标的方向。

XV =挤压(总和(REAC(RIDX,:),1))';doa = phased.beamscanestimator('SensorArray',varray,'繁殖',C,...'运行频率',fc,'doaoutputport',真的,'numsignals'2,'ScanAngles',ANG);[pdoav,target_az_est] = doa(xv);fprintf('target_az_est = [%s] \ n',num2str(target_az_est));
target_az_est = [-6 10]

这两个指标均成功分离。对于两台车的实际角度是-10度到10度。

下图比较了虚拟和物理接收数组的空间谱。

doarx = phased.beamscanestimator('SensorArray',rxarray,'繁殖',C,...'运行频率',fc,'doaoutputport',真的,'ScanAngles',ANG);Pdoarx = doarx(XR);helperPlotMultipledBPattern(ANG,mag2db(ABS([Pdoav Pdoarx])),[ -  30 0],...'虚拟数组'“物理阵列”},...“虚拟阵列空间谱和物理阵列”,{“- - -”' - '});

在该示例中,在范围 - 多普勒地图上执行检测而不进行虚拟阵列数据多维数据集的空间处理。这是因为SNR很高。如果SNR低,则还可以在整个范围 - 多普勒映射上盲目地处理虚拟阵列,以最大化检测前的SNR。

相MIMO雷达

虽然TDM-MIMO雷达的加工链相对简单,但它一次只使用一个发射天线。因此,它不利用发射阵列的全部容量。为了提高效率,还有其他正交波形可用于MIMO雷达。

使用相同的配置例子中,一个方案来实现正交性是有一个元件总是发射相同的FMCW波形,而第二发射元件反转每个扫FMCW波形的相位。这样既发射单元在所有扫描活跃。对于第一次扫描中,两个元件发送相同的波形,并且对于第二扫描中,两个元件发送与相反相位的波形,等等。这实质上编码从具有Hadamard码不同的元件连续扫描。它类似于在MIMO通信系统中使用的Alamouti码。

MIMO雷达还可以采用MIMO雷达中的相位编码波形。在这种情况下,每个辐射元件可以传输唯一编码的波形,并且接收器可以具有与每个相位编码波形中的每一个对应的匹配的滤波器组。然后可以恢复并处理信号以形成虚拟阵列。

概括

在这个例子中,我们简要介绍相干MIMO雷达和虚拟阵列概念。我们模拟的MIMO雷达的具有2元件的发射阵列和4元件的返回接收阵列和使用8元件虚拟阵列的两个紧密间隔的目标的模拟回波的到达估计的执行方向。

参考

Frank Robey等。MIMO雷达理论与实验结果,第三十八阿西洛马会议的信号,系统和计算机,加利福尼亚州,第300-304,2004年会议记录。

[2]以利布鲁克纳,MIMO雷达及其等价常规,IEEE雷达会议,2015年。

[3] Sandeep Rao,MIMO雷达,德州仪器应用报告SWRA554, 2017年5月。

[4]李坚和彼得·斯托伊卡,MIMO雷达信号处理,约翰瓦里和儿子,2009年。