现代雷达能够通过发射步进频信号实现对目标散射点结构的感知与判定,该博客基于FEKO软件仿真,获取目标的回波数据(电场分量),进而生成目标的高分辨一维距离像(High
Resolution Range Profile,
HRRP),能够较为方便地得到目标各方向尺寸信息。
雷达高分辨一维距离像能反映目标精细的结构特征,能够刻画目标基础特性。因此,目标HRRP对于目标识别具有重要的意义。对于目标特性数据的获取方法通常可以分为实测和仿真两大类。实测主要采取微波暗室测量的方法,仿真方法则相对多样。该篇博客主要利用电磁仿真软件FEKO对目标进行了建模和回波仿真,最后利用逆傅里叶变换(Inverse
Fast Fourier Transform, IFFT)的方法得到目标的一维距离像。
当雷达发射大带宽步进频信号时,如果雷达距离分辨单元远小于目标的径向尺寸,目标会连续占据多个距离单元,从而在雷达视线投影上形成目标幅度的图像,称为目标一维距离像。一维距离像成像原理简要概括如下:
设雷达发射信号为步进频信号,对应带宽为\(B\) ,步进频步长为\(\Delta f\) ,其中\(B=N\Delta
f\) 。通过混频和中频处理后,得到基带信号,采样后(满足奈奎斯特采样定理),可得到目标的幅频响应为:
\[
x(n)=\sum_{k=1}^{K}B_k\text{exp}\bigg\lbrace -j2\pi\left[\Delta f
\frac{2R_k}{c}n+f_0\frac{2R_k}{c}\right]\bigg\rbrace
\] 其中,\(R_k\) 为第\(k\) 个散射中心与目标中心的相对距离;\(B_k\) 为第\(k\) 个回波分量的幅度。直接对上述信号进行IFFT,即可得到目标的HRRP。
利用FEKO的仿真流程如下:
①构建目标的FEKO模型;
②设置雷达步进频参数以及观测角度信息;
③仿真获取*.ffe文件数据;
④利用MATLAB读取ffe文件中电场分量信息,实现目标HRRP信息获取
下面分别从正前方视角与侧方视角进行飞机目标HRRP的仿真实验与目标尺寸的估计。
情况一:雷达从正前方对目标进行观测
雷达带宽范围:3GHz-3.3GHz,频点数:100,观测视角\(\varphi=0°,\theta=90°\)
观测视角为\(\varphi=0°,\theta=90°\) 时,雷达视线(Line
of Sight,
LOS)下,目标的尺寸为机头与机尾的距离,FEKO中的实际测量数据为19m。
通过仿真,可以得到该组雷达参数下的ffe文件,部分数据如下图:
目标的回波数据以及HRRP图像分别如下:
图中一维距离像进行了50倍过采样IFFT,即实验中对100点的回波数据进行了5000点的IFFT,因此,每个距离单元实际长度为:C/2B/50,因此目标机头与机尾的尺寸估计结果为:L1
= C/2B/50*(3236-1242)=19.94m。,接近真实数值19m。
情况二:雷达从侧方对目标进行观测
观测视角\(\varphi=90°,\theta=90°\) ,参数设置如下:
观测视角为\(\varphi=90°,\theta=90°\) 时,雷达LOS下,目标的尺寸为两个机翼之间的距离,FEKO中的实际测量数据为13.6m。
通过仿真,可以得到该组雷达参数下的ffe文件,部分数据如下图:
此时,目标的回波数据以及HRRP图像分别如下:
图中一维距离像进行了50倍过采样IFFT,即实验中对100点的回波数据进行了5000点的IFFT,因此,每个距离单元实际长度为:C/2B/50,因此目标两个机翼之间的尺寸估计结果为:L1
= C/2B/50*(2969-1632)=13.35m,接近真实数值13.6m。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 clc; clear; close all; fre_Num=100 ; azi_Num=1 ; ele_Num=1 ; upsample = 50 ; dir_txt = dir('.\以往的数据\F22_HRRP_CSDN_2.ffe' ); folder = string({dir_txt.folder}'); file = string({dir_txt.name}'); filepath = strcat(folder, '\' , file); TXT_Num = length (filepath); for TAR_order = 1 :TXT_Num fid1=fopen(filepath(TAR_order),'rt' ); for fre_layer = 1 :fre_Num for phi_layer = 1 :azi_Num for theta_layer=1 :ele_Num frewind(fid1); …… …… end end end fclose(fid1) end figure ('color' ,[1 1 1 ])for k = 1 :TXT_Num for i = 1 :azi_Num for j = ele_Num hold on DATA_now = EV_r(j ,i ,:,k) +EH_r(j ,i ,:,k) + 1 j *EV_i(j ,i ,:,k) + 1 j *EH_i(j ,i ,:,k); plot (abs (DATA_now(:)),'b--o' ,LineWidth=1.3 ); end end end grid on title('飞机目标雷达回波数据(phi=0)' ); figure ('color' ,[1 1 1 ])for k = 1 :TXT_Num for i = 1 :azi_Num for j = ele_Num hold on DATA_now = EV_r(j ,i ,:,k) +EH_r(j ,i ,:,k) + 1 j *EV_i(j ,i ,:,k) + 1 j *EH_i(j ,i ,:,k); HRRP_now = ifftshift(ifft(DATA_now(:),floor (upsample * fre_Num))); plot (abs (HRRP_now),'b' ,LineWidth=1.3 ); end end end grid on title('飞机目标HRRP(phi=0)' );
博客对应文件如下:
MATLAB读取ffe文件代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 clc clear all close all fre_Num=100 ; azi_Num=1 ; ele_Num=1 ; dir_txt = dir('C:\Users\LEGION\Desktop\一维距离像仿真\以往的数据\*.ffe' ); folder = string({dir_txt.folder}'); file = string({dir_txt.name}'); filepath = strcat(folder, '\' , file); TXT_Num = length (filepath); for TAR_order = 1 :TXT_Num fid1=fopen(filepath(TAR_order),'rt' ); for fre_layer = 1 :fre_Num for phi_layer = 1 :azi_Num for theta_layer=1 :ele_Num frewind(fid1); ele_theta(theta_layer,phi_layer,fre_layer,TAR_order) = data_temp(1 ); azi_phi(theta_layer,phi_layer,fre_layer,TAR_order) = data_temp(2 ); EV_r(theta_layer,phi_layer,fre_layer,TAR_order) = data_temp(3 ); EV_i(theta_layer,phi_layer,fre_layer,TAR_order) = data_temp(4 ); EH_r(theta_layer,phi_layer,fre_layer,TAR_order) = data_temp(5 ); EH_i(theta_layer,phi_layer,fre_layer,TAR_order) = data_temp(6 ); RCS_VV(theta_layer,phi_layer,fre_layer,TAR_order) = data_temp(7 ); RCS_VH(theta_layer,phi_layer,fre_layer,TAR_order) = data_temp(8 ); RCS_total(theta_layer,phi_layer,fre_layer,TAR_order) = data_temp(9 ); end end end fclose(fid1) end