ANSI-C program: autof.c
NAMEautof - Estimation of along track velocity based on range compressed SAR data by SAR azimuth auto-focusing.
SYNOPSISautof <SAR_par>
<PROC_par> <rc_data> [autofocus] [SNR_min]
[prefilter] [auto_az] [az_offset] [auto_bins]
[dop_ambig_corr]
<SAR_par> | (input) MSP SAR sensor parameter file |
<PROC_par> | (input) MSP processing parameter file |
<rc_data> | (input) range compressed data file (minimum of 4K lines) |
[autofocus] | (output) autofocus correlation function file |
[SNR_min] | minimum autofocus SNR to accept new estimate (default: 5.0) |
[prefilter] | prefilter decimation factor (default from PROC_param) |
[auto_az] | autofocus azimuth correlation image patch size patch size (2**N, default: 2048) |
[az_offset] | offset in prefiltered lines from start of file (default: 0) |
[auto_bins] | number of range pixels to use for autofocus(2**N, default=1024) |
[dop_ambig_corr] | Doppler ambiguity error correction flag
(default=1) 0: doppler centroid remains unchanged 1: correction of detected doppler ambiguity error |
EXAMPLE
autof ERS1_ESA.par p8560.slc.par 8560.rc 8560.autof
DESCRIPTIONautof reads SAR sensor parameter, SAR processing parameter and SAR range compressed data and calculates an estimate of the along-track velocity of the radar platform using cross correlation of images derived from different segments of the azimuth Doppler spectrum. A shift in azimuth between these looks is proportional to a velocity error for the platform and is corrected by the program.
Each of the sub-aperture images is formed from 1/4 of the
Doppler spectrum, space 1/2 PRF apart. Two looks are taken in
azimuth so that the image is still oversampled by 2:1. The
detected images are cross correlated to measure the range and
azimuth offsets. A 1-D cut of the 2-D correlation function (at
range offset 0.0) is written to a text file specified on the
command line. Plotting of this function can be performed using
gnuplot.
echo "plot '8560.autof' u 1:2 lc 3 lw .5" | gnuplot
The shift of the peak from 0 in azimuth is proportional to the focus error. There are two columns in the file, the first is the azimuth sample number and the second column is the correlation function. Perfect focus is indicated when the peak of the correlation function is at 0 azimuth offset. The text file containing the correlation function has the following format:
column 1 | azimuth correlation offset (in pixels) |
column 2 | autofocus correlation function |
Low correlation values can occur if the scene is devoid of contrast, such as over the open ocean or on an ice sheet. A threshold for the SNR of the correlation peak can be specified on the command line as the parameter SNR_min. autof may be run several times to iteratively improve the estimate of the along-track velocity.
The number of azimuth image samples used by autof to determine the offset can be specified by the command line parameter auto_az. The number of range bins is given by the parameter auto_bins. Large values for auto_bins will reduce the correlation SNR because the azimuth offset due to a focus error is not constant value as a function of slant range. Conversely, using a wide swath (e.g. auto_bins = 4096) will lead to a more robust estimation procedure when operationally processing a large numbers of scenes with variable image contrast.
A range offset between the looks is caused by uncompensated
range migration, with the most likely cause being an error in the
Doppler centroid by 1 or more multiples of the PRF. This is one
of the best methods for Doppler ambiguity resolution and is
implemented by autof. If the range displacement is greater
than half the range migration over the synthetic aperture then
processing with the wrong Doppler ambiguity is the most likely
cause. The program then updates the Doppler centroid by the
correct number of ambiguities The user can control the use of
this method through the dop_ambig_corr flag. The
autofocus offset function can be plotted versus azimuth sample
number using gnuplot.
echo "plot 'slc/19960615.autof' u 1:2 with lines lc 3 lw
.5 "|gnuplot
OPTIONS
If the velocity does not converge, then a possible cause is that
the image is featureless, such as open water or an ice, or that
there is an error in the processing parameters. Possible culprits
are the Doppler centroid, range to the first sample, or initial
value for the along-track velocity caused by incorrect state
vectors. Radio interference (RFI) visible in JERS data can also
corrupt the autofocus by obliterating the scene. Examination of
the image patches (autof1.mli, autof2.mli, see options) can be
helpful to diagnose the cause of autofocus failure. The solution
is to look at another region of the image where there is
sufficient contrast to give meaningful answers.
The single-look image patches generated by autof may be stored in the files autof1.mli and autof2.mli. The 2-D correlation function is also written out as the file auto.cc. These intensity images have a width equal to (auto_az/2) and can be viewed using a display programs such as dis2pwr. In order for autof to write out these images it must be compiled with the -DAUTO_IMAGES option.
SEE ALSOUsers Guide, typedef_MSP.h, MSP Processing Parameter File.