• 大小: 3KB
    文件类型: .m
    金币: 2
    下载: 2 次
    发布日期: 2021-06-03
  • 语言: Matlab
  • 标签: PGA  sar  matlab  

资源简介

SAR成像的PGA自聚焦算法,一个很值得参考的程序,亲测可用

资源截图

代码片段和文件信息

function [dataoutphase_correctionentropy_his] = PGA(datainvarlimiteration_num)
%PGA phase gradient autofocus of ISAR
% function [dataout]=PGA(datain) performs phase gradient 
% autofocus of ISAR.
%
% datain is range-time data of ISAR.
% dataout is range-time data that have been removed translational
% phase error.
%
% Reference:
%   D.E. Wahl P.H. Eichel D.C. Ghiglia C.V. Jakowatz “Phase
%   gradient autofocus-a robust tool for high resolution SAR phase
%   correction“ IEEE Trans. Aero. & Elec. Sys. vol. 30 no. 3 1994.

if nargin < 2
    varlim = 0.2; 
    iteration_num=10;
end
[MN] = size(datain);
dataout = datain;
% varlim = 0.2;
[dataslvarslen] = sltbin(datainvarlim);
clear datain
datain = datasl;
phase_correction = ones(1N);

% 实验
% datain=dataout;
% temp=0;
% Iterative Phase Correction
% iteration_num=10
for iii = 1:iteration_num
    orig_img = fftshift(fft(datain[]2)2);           %做行FFT
    
    % Circular Shifting
    center_az_idx = ceil(N/2);
    [tmp maximum_az_idx] = max(abs(orig_img) [] 2);
    new_img = zeros(lenN);
    for i = 1:size(orig_img1)
        new_img(i:) = circshift(transpose(orig_img(i:)) center_az_idx - maximum_az_idx(i));
    end
   % 
%    figurecontour(abs(new_img)20)xlabel(‘方位‘)ylabel(‘距离‘)
   
    % Windowing
    if 1
        window = 20*log10(sum(abs(new_img).^2 1));
        scatter_power = window;
        db_down = 30;
        window_cutoff = max(window)-db_down;
        leftidx = find(window(1:center_az_idx) - window_cutoff<0 1 ‘last‘ );
        rightidx = find(window(center_az_idx+1:end) - window_cutoff<0 1 ‘first‘);
        leftidx = leftidx+1;
       

评论

共有 条评论