ISAR(逆合成孔径雷达)成像是通过利用目标-雷达视线之间相对运动而张成的观测孔径来反演目标的结构信息。其距离分辨率主要由雷达发射信号带宽决定,通过发射大带宽信号,在距离维通过匹配滤波与脉冲压缩的信号处理手段来获取距离上的高分辨能力。而方位维分辨则是由目标与雷达视线之间的相对转动产生的多普勒来区分不同的散射结构,通常为获得较高的方位维分辨率,需要在保证目标散射点相对结构基本不变的前提下,使得雷达对目标在较长的观测时间段内获取较大的有效积累角。
雷达所形成的ISAR二维图像能有效揭示目标散射中心的空间位置及强度分布,在判别空间目标类型、分析目标重要结构、推断目标功能属性方面发挥了重要作用。
本博客首先针对步进频信号进行ISAR成像仿真,然后为了得到更加真实的回波数据,通过FEKO软件对舰船目标进行步进频信号下的电场值计算,得到了更加真实的舰船目标ISAR成像结果。
步进频信号的ISAR成像(MATLAB仿真)
目标的散射点模型如下图所示:
图1 目标散射点模型
图2 雷达回波数据
图3 目标一维距离像序列
图4 目标ISAR图像
FEKO目标的ISAR成像
下文通过FEKO软件对某飞机目标进行回波仿真,利用步进频信号进行目标ISAR成像,并进行目标二维尺寸估计。FEKO模型如下图所示。
图5 飞机目标FEKO模型
飞机目标模型尺寸如下如所示,可以看出目标两机翼之间的距离为13.6m,而机头到机尾的全长是19m。
-
图6 飞机目标FEKO模型尺寸
下面采用步进频信号进行回波仿真,雷达信号载频fc为10GHz,带宽B为1GHz。频点数设置为251,单频点带宽为:4MHz。目标与雷达之间满足远场条件,方位维有效旋转积累角设置为3°(φ从87°转动到90°)。此时可以得到目标ISAR图像的分辨率如下:
距离向分辨率ρr = c/2/B = 0.15m
方位向分辨率ρa= λ/2/θ = c/fc/2/θ = 0.2865m
图7 FEKO步进频采样
图8 FEKO方位维采样
FEKO仿真的雷达原始回波如下:
-
图9 飞机目标FEKO雷达回波
图10 飞机目标一维距离像序列
图11 飞机目标FEKO-ISAR图像
图12 飞机目标FEKO-ISAR图像跨单元数据
从图12可以看出,目标方位维所跨单元数为63(184-121)个,方位维尺寸估计结果为:ρa * 63 = 18.05m。距离维所跨单元数为58(137-59)个,距离维估计结果为:ρr * 58 = 8.7m。可以看出,目标尺寸在方位维尺寸估计结果十分接近真值,而距离维尺寸估计结果小于真值。这是因为雷达视线方向LOS是从一个机翼指向另外一个机翼,机翼很薄,且雷达入射波方向基本平行于机翼的翼展方向,机翼反射的回波能量较少,不能正确反映目标的真实结构。而方位向是从机头到机尾的方位,目标面积较大,每个位置都有目标回波,因此能够较好地反映目标的横向真实结构。
另外,后续还会针对如下舰船目标开展类似仿真。
-
图13 舰船目标FEKO模型
-
仿真部分代码如下:
-
% 步进频率信号的ISAR成像 clc; close all; load tgtplane; x0 = posxy(: ,1); y0 = posxy(: ,2); M = 512; eff_PRF = 100; tp = 5e-6; fc = 10e9; c = 3e8; bw = 200e6; N = 200; df = bw/N; fn = zeros(1 ,N); for n = 1 : N fn(n) = df*(n-1); end pri = 1/eff_PRF; subpri = pri/N; %============================TARGET PARAMETERS====================== tgtnum = size(posxy ,1); w = 0.0125; r0 = 1000; %==================Inphase and Quardratic phase generation========== j = sqrt(-1); echos = zeros(M ,N); for p = 1 : M for sp = 1 : N eta = (p-1)*pri + (sp-1)*subpri; % 全时间序列 lambda = c/(fc + fn(sp)); % 快时间对应的频率 x = x0*cos(w*eta) - y0*sin(w*eta); y = y0*cos(w*eta) + x0*sin(w*eta); r = sqrt((x + r0).^2 + y.^2); echos(p ,sp) = sum(exp(-j*4*pi/lambda*r)); %所有散射点的回波之和 end end rgeprofile = ifft(echos ,[] ,2); rgedoppler = fftshift(fft(rgeprofile) ,1); ddr = c/(2*N*df); Ra = c/(2*df); na = floor(r0/Ra); rge = na*Ra + (0 : N-1)*ddr; % rge = (0 : N-1)*ddr; dopp = linspace(-eff_PRF/2 ,eff_PRF/2 ,M); figure plot(x0,y0,'*'); xlabel('x(m)');ylabel('y(m)'); box on; title('目标散射点') figure imagesc(abs(echos)); xlabel('距离向');ylabel('方位向'); box on; colormap hot title('雷达回波数据') figure imagesc(abs(rgeprofile)); xlabel('距离向');ylabel('方位向'); box on; colormap hot title('目标距离向压缩结果') figure imagesc(abs(rgedoppler)); xlabel('距离向');ylabel('方位向'); box on; colormap hot title('目标ISAR成像结果') % % 查看不同回波的初相 % figure % for i = 1:M % hold on % plot(1:N,abs(rgedoppler(i,:))); % end % hold off % % figure % imagesc(rge ,dopp ,abs(rgedoppler)); % xlabel('Range [m]' ,'FontSize' ,12 ,'FontWeight' ,'Bold'); % ylabel('Doppler [Hz]' ,'FontSize' ,12 ,'FontWeight' ,'Bold'); % axis xy % colormap(1 - gray);
-
如有代码与FEKO模型问题,请加V(Lucky_YQW)交流。