【雷达原理】雷达测角原理及实现方法 您所在的位置:网站首页 雷达目标跟踪基本原理 【雷达原理】雷达测角原理及实现方法

【雷达原理】雷达测角原理及实现方法

2024-07-09 18:21| 来源: 网络整理| 查看: 265

目录 一、雷达测角原理1.1 测角研究历史和现状1.2 测角方法总结1.3 3DFFT测角1.3.1 基本原理1.2.2 测角性能 二、MATLAB仿真案例参考文献

一、雷达测角原理 1.1 测角研究历史和现状

(1)早期采用窄波束对准目标,目标的角度对应于天线的角度读数,这种使得波束中目标回波的信号强度最大的方法并不能满足所需精度要求。 (2)1937 年一种称为波束切换的技术,首次在美军通信兵SCR-268雷达的原型机上得到演示。这种雷达专门为引导防空火力而设计,并且成为首批成功采用波束切换技术将天线对准目标的成品雷达。 (3)搜索照射技术是利用反射体天线在观测空间的俯仰维上产生窄的笔形波束,以机械扫描的方式对准待观测目标方向或者接近观测目标方向,从而确定待观测目标的空间俯仰角。 (4)点头式雷达广泛应用于雷达系统中的俯仰角测量之中,它通过利用雷达天线摆动或“点头”的方法,在俯仰维上使用窄垂直波束宽度的扇状水平波束进行扫描。 (5)相控阵雷达是一种自适应能力很强的雷达探测系统, 其阵元天线利用阵元间信号的相位关系,根据设定的观测角度快速的形成波束指向,同时可以有效的设定波束形状,不需要使用机械扫描方法。 (6)阵列天线的优势在于可以通过调节行馈源输出端的移相器实现俯仰维扫描或控制笔形窄波束。这种方法在 3D 雷达测高技术中应用广泛,能充分利用频带,并使波形和波束位置相互完全独立。 (7)在精密跟踪测量领域中,单脉冲测角技术是一种工程中较为实用的测角技术,它具有方法简单、计算量小的特点, 在雷达角度测量领域得到广泛应用。 (8)堆积波束雷达将同时形成的接收波束在俯仰维上垂直堆积起来,并在方位维机械旋转,以实现目标的检测和三坐标测量。

1.2 测角方法总结

测角方法分为相位法测角和振幅法测角 相位法测角: 通过比较两天线接收信号的相位信息来确定目标角度的方法。 振幅法测角: 利用目标回波的幅度来定向并利用幅度鉴别器确定目标角度的方法。振幅法测角可以分为最大信号法和等信号法两种。 在这里插入图片描述 对于毫米波雷达,通常采用波达方向估计(Direction of Arrival,DOA)进行测角,这类方法利用多个阵列接收的回波信号之间存在的相位变化关系进行计算,包括 F F T FFT FFT 、 D B F DBF DBF 以及超分辨测角方法。

1.3 3DFFT测角

以一维均匀线阵为例,X波段甚至频率更高的毫米波雷达,其接收阵元的间距为厘米级,对于几米外的目标可视为远场目标,该目标到达各个阵元的回波均相互平行。回波到达相邻两个阵元之间的相位差相同,如图1所示。 对于 LFMCW 雷达的多个接收阵元,做空间 F F T FFT FFT 运算可求得目标反射波在不同天线阵列的相位变化规律,因此可以计算出目标的角度信息。

1.3.1 基本原理

如图1所示,设该雷达系统的天线为1发8收的均匀线阵,接收阵元的间距为 d d d, d = λ / 2 d=λ/2 d=λ/2, λ 为波长 λ为波长 λ为波长,目标相对于天线法线方向的夹角为 θ θ θ,则相邻阵元之间接收信号的波程差为 d s i n θ dsinθ dsinθ,由此得到对应的相位差为: w = 2 π d s i n θ λ ( 1 − 1 ) w=\frac{2πdsinθ}{λ} (1-1) w=λ2πdsinθ​(1−1) 式(1-1)描述了相邻接收阵元的相位差与目标角度的关系,即通过测量出相邻阵元之间的相位差来间接解算出目标相对雷达的角度。 在这里插入图片描述 图1 一维均匀线阵信号接收示意图 对所有接收阵元的回波信号进行 N f f t N_{fft} Nfft​ 点 F F T FFT FFT 处理,设获取峰值对应的下标为 k k k , k ∈ [ − N f f t / 2 , N f f t / 2 − 1 ] k∈[-N_{fft}/2,N_{fft}/2-1] k∈[−Nfft​/2,Nfft​/2−1],则根据 F F T FFT FFT 频谱分析的原理可知 w = 2 π k N f f t w=\frac{2πk}{N_{fft}} w=Nfft​2πk​,得到 w w w 后,并根据式(1-1)可计算得到目标角度信息: θ = a r c s i n ( w λ 2 π d ) = a r c s i n ( k λ N f f t d ) = a r c s i n ( 2 k N f f t ) ( 1 − 2 ) θ=arcsin(\frac{wλ}{2πd})=arcsin(\frac{kλ}{N_{fft}d})=arcsin(\frac{2k}{N_{fft}})(1-2) θ=arcsin(2πdwλ​)=arcsin(Nfft​dkλ​)=arcsin(Nfft​2k​)(1−2) 由式(1-2)知,使用 F F T FFT FFT 的方法来进行DOA估计时,采用更多的 F F T FFT FFT 点数有利于提高角度计算精度。

1.2.2 测角性能

(1)测量精度 根据式(1-1)可知,相位差 w w w 与目标角度 θ θ θ 是一种非线性的关系。如图2所示, s i n θ sinθ sinθ 随着 θ θ θ 的增大而逐渐缓慢变化,即该曲线的斜率减小。因此,当 θ θ θ 为0°时,相位差 w w w 对目标角度 θ θ θ 的变化最敏感,此时角度测量的精度最高, w w w 对目标角度 θ θ θ 的灵敏度会随着 θ θ θ 的增加而降低,直到 θ θ θ 为90°时,相位差 w = 0 w=0 w=0,测角精度大大降低。 在这里插入图片描述 图2 正弦曲线示意图

(2)最大不模糊角度 在这里插入图片描述 雷达的最大视场角由估计的最大到达角(Angle of Arrival,AOA)决定。当相位差 w > 0 w>0 w>0 时,目标在雷达的左侧;当相位差 w < 0 wπ w>π 时,就无法确定目标在雷达的哪一侧,这便产生了角度模糊。因此为了测角无模糊,需要满足以下条件: w = 2 π d s i n θ λ < π ,即 θ = a r c s i n ( λ 2 d ) ( 1 − 3 ) w=\frac{2πdsinθ}{λ}\frac{2π}{N}(1-5) 又因为,Δω>N2π​(1−5) 由式(1-4)和式(1-5),可以得到: 2 π d λ c o s ( θ ) Δ θ > 2 π N ⇒ Δ θ > λ N d c o s ( θ ) \frac{2πd}{λ}cos(θ) Δθ >\frac{2π}{N} ⇒ Δθ >\frac{λ}{Ndcos(θ)} λ2πd​cos(θ)Δθ>N2π​⇒Δθ>Ndcos(θ)λ​ 因此,角度分辨率 θ r e s = λ N d c o s ( θ ) θ_{res}=\frac{λ}{Ndcos(θ)} θres​=Ndcos(θ)λ​ 通常认为 d = λ / 2 , θ = 0 d=λ/2,θ=0 d=λ/2,θ=0,所以最终的角度分辨率为: θ r e s = 2 N θ_{res}=\frac{2}{N} θres​=N2​

二、MATLAB仿真案例

有关测角的代码(不完整)如下: 1)该程序首先建立1发8收的雷达系统模型,对目标回波进行处理,得到8个通道的距离-多普勒二维数据; 2)其次,对8个通道的距离-多普勒二维数据进行通道间的非相干积累,进而分别在多普勒维和距离维进行不同类型的CFAR检测,得到目标的距离维、速度维下标; 3)最后,提取目标在8个通道的距离维、速度维下标的对应数据,进行空间FFT,获取目标的角度维下标; 4)最终计算出目标的距离、速度和角度等信息,与仿真设置的目标参数保持一致。

clc; clear; close all; %% 雷达系统仿真模型 setParameter(); % 设置雷达系统参数 cancel_On = 0; % 对消开启或者关闭 chioce = 1; % 选择均值类CFAR器的类型 global para; % 设置目标参数 set_TarInfo.tarNum = 5; set_TarInfo.tar_R0 = [500,1000,1500,2000,2500]; % 目标距离 set_TarInfo.tar_V0 = [5,1,-8,-1,8]; % 目标速度 set_TarInfo.tar_Ag = [-20,-10,0,10,20]; % 目标角度 set_TarInfo.Rcs = [0.1,1,5,1,5]; % 目标rcs set_TarInfo.SNR = 10; % 信噪比 % 雷达发射和接收信号模型 para.Tx_Num = 1; % 发射阵元数目 para.Rx_Num = 8; % 接收阵元数目 rawData = RadarSigModel_MultiCh(set_TarInfo); figure(101);plot(abs(rawData(:,1,1))); xlabel('采样点');ylabel('幅度/mV');title('ADC输入信号'); %% 雷达信号处理 global NumADC; global NumChirp; fs = para.fs; u = para.u; PRT = para.PRT; c = para.c; B = para.B; Lambda = para.Lambda; Rx_Num = para.Rx_Num; Nfft1 = 2^ceil(log2(NumADC)); % 距离维FFT点数 Nfft2 = 2^ceil(log2(NumChirp)); % 速度维FFT点数 Nfft3 = 64; % 通道间FFT点数 R_point = (fs/Nfft1)*c/(2*u); % 距离点精度 delta_R = c/(2*B); % 距离分辨率 V_point = Lambda/(2*PRT*Nfft2); % 速度点精度 delta_V = Lambda/(2*PRT*NumChirp); % 速度分辨率 Ag_point = 2/Nfft3*180/pi; delta_Ag = 2/Rx_Num*180/pi; % 角度分辨率为delta_Ag=Lambda/(N*d),单位rad。其中N为阵元数目,d为阵元间距,所以要转换为角度 win1 = hamming(NumADC); % 加汉明窗 fft_Data = zeros(Nfft1,NumChirp); fft2D_Data = zeros(Nfft1,Nfft2,Rx_Num); cfarData_In = 0; for Ch_Num = 1:Rx_Num % 距离维FFT for ii = 1:NumChirp fft_Data(:,ii) = fft(rawData(:,ii,Ch_Num).*win1,Nfft1); end if cancel_On == 1 % 二次对消 H_coef = [1,-1]; % 对消器系数 Cancel_Data = Cancellation(fft_Data,H_coef); else Cancel_Data = fft_Data; end % 速度维FFT fft_tempData = MTD(Cancel_Data); fft2D_Data(:,:,Ch_Num) = fft_tempData; % 通道间的非相干积累 cfarData_In = cfarData_In+abs(fft_tempData); end figure(201); for Ch_Num = 1:Rx_Num subplot(2,4,Ch_Num); mesh(mag2db(abs(fft2D_Data(:,:,Ch_Num)))); xlabel('速度维');ylabel('距离维');zlabel('信号功率(dB)');title(['通道',num2str(Ch_Num),'-MTD']); view([0 90]); end figure(301); mesh(mag2db(cfarData_In)); xlabel('速度维');ylabel('距离维');zlabel('信号功率(dB)');title('各通道积累结果'); view([0 90]); % 计算平均底噪 noiseData = calcu_Noise(cfarData_In); % 目标CFAR检测 global sensitive; global P_fa; global referWin; global guradWin; global os_ReferWin; global os_GuardWin; sensitive = 1; % 灵敏度 P_fa = 1e-6; % 虚警概率 referWin = 8; % 参考窗大小 guradWin = 5; % 保护窗大小 os_ReferWin = 8; % os-cfar参考窗 os_GuardWin = 3; % os-cfar保护窗 global CA_MaxNum; CA_MaxNum = 128; % 速度维CFAR最大检测目标数 % 速度维CFAR T_start = tic; cfarData = ML_CFAR(cfarData_In,chioce); count1_Time = toc(T_start); disp(['速度维CFAR用时t1=',num2str(count1_Time),'s']); figure(401); mesh(cfarData);xlabel('速度维');ylabel('距离维');title('CA-CFAR'); view([0 90]); % 距离维CFAR T_start = tic; Os_cfarOut = OS_CFAR(cfarData_In,cfarData); count2_Time = toc(T_start); disp(['速度维CFAR用时t2=',num2str(count2_Time),'s']); figure(402); mesh(Os_cfarOut);xlabel('速度维');ylabel('距离维');title('OS-CFAR'); view([0 90]); % 获取目标位置等参数 global get_TarInfo; [Rpos,Vpos] = find(Os_cfarOut==1); [Rpos,I] = sort(Rpos); % 按距离从近到远排序 Vpos = Vpos(I); TarNum = length(Rpos); TargetA = zeros(1,TarNum); fft3D_Data = zeros(TarNum,Nfft3); % 用于获取fft测角数据 win3 = hamming(Rx_Num); for num = 1:TarNum Data_temp = zeros(1,Rx_Num); for Ch_Num = 1:Rx_Num Data_temp(Ch_Num) = fft2D_Data(Rpos(num),Vpos(num),Ch_Num); end deltaPha = mean(phase(Data_temp(2:end)./Data_temp(1:end-1))); % 求相邻两通道见的相位差,再取平均 TargetA(num) = -asind(deltaPha/pi); % 公式法计算目标角度 fft3D_Data(num,:) = abs(fft(Data_temp.*win3',Nfft3)); % 获取3DFFT后取模值 % 计算目标角度所在下标 [~,Ag_Pos] = max(fft3D_Data(num,:)); % 获取目标测量结果 get_TarInfo.Range(num) = (Rpos(num)-1)*R_point; if Vpos(num)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有