找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1932|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

ISAR成像算法仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:168257 發(fā)表于 2017-3-5 10:26 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
ISAR成像算法仿真
本程序是包括從ISAR 雷達(dá)系統(tǒng)獲取數(shù)據(jù)  并且進(jìn)行距離向脈沖壓縮  得到脈壓之后的距離時(shí)間圖像
程序源碼如下

tic
close all
clear all
%% file
file_rawdata0 = 'G:\ID118_8H76M';
%% parameter
Tr        = 500e-6;
Br        = 1200e6;
f0        = 34.6e9; %載頻
PRF       = 1/Tr;
Fsr       = 50e6;                       %A/D采樣率
head_len  = 64;                         %包頭信息長(zhǎng)度128個(gè)字節(jié)
pulse_len =  round(Tr*Fsr);              %采樣點(diǎn)數(shù),每個(gè)點(diǎn)2個(gè)Byte =16 bit:;  pulse_len = round(Tr*Fsr);
pkg_len   = pulse_len+head_len;
rg_offset = 0;                         %距離向偏移
az_offset = PRF*74;      %125e3*1                   %方位向偏移

c    = 299792458;
Kr   = Br/Tr;
Rbin = c/2*Fsr/pulse_len/abs(Kr);      % 去調(diào)頻接收的距離門(mén)計(jì)算方法   
rg_len    = round(Tr*Fsr);    %500us 時(shí)候值為25000

%% reading and processing data

pulse_num = PRF*3;%125e3*5;
fid_in0 = fopen(file_rawdata0,'rb','b');    %二進(jìn)制方式打開(kāi)文件 b?
fseek(fid_in0,az_offset*pkg_len*2,'bof');      %將文件指針指向pkg_len*2位置,bof從文件開(kāi)頭偏移  可以自己設(shè)置方位向偏移az_offset,跳過(guò)前面的脈沖數(shù);若取某段時(shí)間,計(jì)算讀取該時(shí)間的脈沖數(shù)
data0 = fread(fid_in0,pkg_len*pulse_num,'int16');  %讀二進(jìn)制文件16位整型數(shù)
fclose(fid_in0);
% figure;plot((data0(1:2000)))
data0 = reshape(data0,pkg_len,pulse_num);  %讀二進(jìn)制文件16位整型數(shù)
size(data0)
data0(1:64,:) = [];
size(data0)
%%
dt=1/PRF;
df=PRF/pulse_num;
f=df*(-pulse_num/2:pulse_num/2-1);
t=dt*(0:pulse_num-1);
data0 = fft(data0);
data0 = data0(1:rg_len/2,:);
%  data0(1:30,:) = 0;
%%
figure
%下面這句是專(zhuān)門(mén)用于 ID49 對(duì)于ID49 螺旋槳位置位于180:200  后面微多普勒分析也是對(duì)應(yīng)這個(gè)位置
%imagesc(t,Rbin*(179:pulse_len/2-1) ,20*log10(abs(data0(180:200,:))));         
%ID41 對(duì)于ID41 右側(cè)螺旋槳位置位于120:140  左側(cè)對(duì)應(yīng)155:165   后面微多普勒分析也是對(duì)應(yīng)這個(gè)位置
% ID45 對(duì)于ID45 螺旋槳位置位于280:330  后面微多普勒分析也是對(duì)應(yīng)這個(gè)位置
% ID35 對(duì)于ID35 鐵鍬 位置位于80:110  后面微多普勒分析也是對(duì)應(yīng)這個(gè)位置
% ID61 對(duì)于ID45 右側(cè)螺旋槳位置位于145:155  后面微多普勒分析也是對(duì)應(yīng)這個(gè)位置
% ID76 對(duì)于ID76 右側(cè)螺旋槳位置位于640:960  后面微多普勒分析也是對(duì)應(yīng)這個(gè)位置
max_data0 = max(max(abs(data0)));
%  imagesc(t,Rbin*(79:109) ,20*log10(abs(data0(80:110,:))/(max_data0)));  %t,Rbin*(0:pulse_len/2-1) ,
% figure; imagesc(t,Rbin*(639:959) ,20*log10(abs(data0(640:960,:))/(max_data0)));set(gca,'CLim', [-50 0]);
imagesc(t,Rbin*(0:rg_len/2-1),abs(data0));   %   t,Rbin*(0:rg_len/2-1),   abs(data0)
axis xy
clim = get(gca,'CLim');
%  set(gca,'CLim',clim(2) + [-30 0]);
colorbar
title('時(shí)間-距離像');
xlabel('時(shí)間 (s)')
ylabel('距離 (m)')

%%
%時(shí)頻分析


  data1  = sum(data0(180:195,:));     figure;plot(abs(data1)); figure;plot(abs(fftshift(fft(data1))));
%   data1  = data0(289,:);figure;plot(abs(data1));   figure;plot(abs(fftshift(fft(data1))));
% % clear data0
% % % [mm,nn] = size(data11)
% % % Nn      = 10 ;  % 降采樣倍數(shù)
% % % data1   = data11(1,1:10:nn); size(data1)
% % % figure;plot(abs(data1));
% % h1=window('hanning',65);
% % [TF,t,f]=tfrstft(data1',t,2^15,h1);
% % % TF      = tfrstft(data1');
% % % TF      = fftshift(TF,1); %將頻率零頻移到中心fftshift
% % figure
% %  imagesc(abs(TF));
% % % imagesc(20*log10(abs(TF)));
% % axis xy;
% % % title('時(shí)頻分析')
%%
%時(shí)頻分析
x  = data1;
np = length(x);
wd = 512;
wdd2 = wd/2;
wdd8 = wd/8;
ns = floor(np/wd);

% calculate time-frequency micro-Doppler signature
disp('Calculating segments of TF distribution ...')
for k = 1:ns
    disp(strcat('  segment progress: ',num2str(k),'/',num2str(round(ns))))
    sig(1:wd,1) = x(1,(k-1)*wd+1:(k-1)*wd+wd);
     TMP = stft(sig,16);
%     TMP = tfrspwv(sig);
    TF2(:,(k-1)*wdd8+1:(k-1)*wdd8+wdd8) = TMP(:,1:8:wd);
end
TF = TF2;
disp('Calculating shifted segments of TF distribution ...')
TF1 = zeros(size(TF));
for k = 1:ns-1
    disp(strcat('  shift progress: ',num2str(k),'/',num2str(round(ns-1))))
    sig(1:wd,1) = x(1,(k-1)*wd+1+wdd2:(k-1)*wd+wd+wdd2);
     TMP = stft(sig,16);
%     TMP = tfrspwv(sig);
    TF1(:,(k-1)*wdd8+1:(k-1)*wdd8+wdd8) = TMP(:,1:8:wd);
end
disp('Removing edge effects ...')
for k = 1:ns-1
    TF(:,k*wdd8-8:k*wdd8+8) = ...
        TF1(:,(k-1)*wdd8+wdd8/2-8:(k-1)*wdd8+wdd8/2+8);
end


% display final time-frequency signature
figure;
colormap(jet(256))
imagesc(t,f,20*log10(fftshift(abs(TF),1)+eps))
xlabel('時(shí)間 (s)')
ylabel('多普勒頻率 (Hz)')
title('旋轉(zhuǎn)螺旋槳三個(gè)葉片微多普勒特征')
axis xy
clim = get(gca,'CLim');
set(gca,'CLim',clim(2) + [-50 0]);
colorbar

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表