ANSI-C program: af_SLC.c
NAME autof - Estimation of effective along-track velocity for SAR processing using cross-correlation of azimuth looks
SYNOPSIS af <SLC_par> <SLC>
[rwin] [azwin] [dr] [daz] [thres] [a1_flg] [b0_flg] [offsets]
[n_ovr] [roff] [azoff]
<SLC_par> | (input) ISP SLC image parameter
file |
<SLC> | (input) (input) single-look complex image |
[rwin] | range window size (enter - for default: 1024) |
[azwin] | azimuth window size (enter - for default:
4096) |
[dr] |
range sample increment (enter - for
default: 1024, enter 0 for single patch) |
[daz] |
azimuth line increment
(enter - for default: 4096, enter 0 for single
patch) |
[thres] | offset estimation SNR threshold (enter - for default: 10.000) |
[a1_flg] | fit a1 for first derivative of the
effective velocity w.r.t.range 0: no (default) 1: yes |
[b0_flg] | fit b0 for first derivative of the
effective velocity w.r.t. along-track time 0: no (default) 1: yes |
[offsets] | (output) range and azimuth offsets and SNR
data in text format, enter - for no output |
[n_ovr] | SLC oversampling factor
(1,2,4: enter - for default: 1) |
[roff] | range offset for single
patch center |
[azoff] |
azimuth offset for single
patch center |
EXAMPLE af_SLC 19991020.slc.par
19991020.slc 1024 4096
states that the af_SLC program should use the SLC parameter file 19991020.slc.par to analyze the SLC 10001020.slc. The autofocus analysis is performed on patches that are 1024 pixels in range and 4096 azimuth lines by default. The default SNR threshold of 10 is used to exclude estimates with possibly large errors in the range and azimuth offsets.
DESCRIPTION
af_SLC measures
errors in the along-track velocity of the radar platform using
cross correlation of images derived from different segments
("looks") of the azimuth doppler spectrum derived from the SLC.
An azimuth shift between these two image is proportional to a
platform velocity error. af_SLC selects a set of patches
covering the entire SLC mage, generates two looks, and estimates
a velocity error for each patch. The set of estimates are
averaged and offsets that are more then 2 standard deviations
away from the mean are discarded in the case where more than 3
patches are measured. The resulting azmuth offsets are
converted to errors in the velocity model used for processing the
data. The functional relationship between offset and velocity
error is a function of the frequency separation of the looks, the
radar frequency, slant range, and the platform velocity.
See the references: Synthetic Aperture Radar: Systems
and Signal Processing, J. Curlander and R.
MacDonough, Wiley Interscience, 1991, Chapter 5 and
Digital Processing of
Synthetic Aperture Data, Algorithms and
Implemenation, Ian Cumming and Frank Wong, Artech House,
2005, Chapter 13.
Range offsets occur only if there is uncompensated range migration in the processor. This can occur when the doppler centroid is incorrect by some multiple of the PRF and termed a doppler ambiguity errror. Azimuth offsets between the looks indicate an error in the azimuth chirp rate.
Each of the sub-aperture images is formed from a bandwidth equal to 0.35 times the radar PRF. Typically the processing bandwidth for an SLC is 0.8*PRF and hence the frequency separation between looks is .45*PRF. The two looks are obtained by filtering the image using an FIR bandpass filter. After filtering the images are detected and cross-correlated using a 2D FFT to measure the range and azimuth offsets. A biquadratic interpolator determines the offset correlation peak with sub-pixel accuracy.
Low correlation and inaccurate offset measurement 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 signal can be specified on the command line as the parameter thres and has a default value of 10. The size of the SLC patches is specified by the parameters rwin and azwin, with the spacing between patches by the parameters dr and daz. A recommended patch size is 1024 range samples by 4096 azimuth lines. The dr and daz parameters are set by default to 2*rwin and 2*azwin respectively resulting in approximately 6 estimates in a single ERS frame.Since multiple measurements are made over the scene,
af_SLC is usually able
to find areas with reasonable correlation. A fit of the autofocus
derived velocity with respect to azimuth and slant range is
possible if the a1_flg
and b0_flg command line
parameters are set to 1.
This can reveal if there are any systematic focusing errors in
the image.
An example of the screen output after running the program on
an ERS frame is shown below:
patch:
1 az.time(s): -4.8762 rng(m): -8090.65
r_off(pix): -0.0175 az_off(pix): -0.0014
af_vel.(m/s): 7109.4956 del_v.(m/s): -0.009
SNR: 11.18
patch:
2 az.time(s): -4.8762 rng(m):
8098.56 r_off(pix): -0.0249 az_off(pix):
0.0048 af_vel.(m/s): 7106.6711
del_v.(m/s): 0.033 SNR: 30.08
patch:
3 az.time(s): 0.0003 rng(m):
-8090.65 r_off(pix): -0.0150 az_off(pix):
-0.1321 af_vel.(m/s): 7108.7691 del_v.(m/s):
-0.916 SNR: 24.13
patch:
5 az.time(s): 4.8768 rng(m):
-8090.65 r_off(pix): -0.0206 az_off(pix):
0.1072 af_vel.(m/s): 7110.6088
del_v.(m/s): 0.744 SNR: 28.05
patch:
6 az.time(s): 4.8768 rng(m):
8098.56 r_off(pix): -0.0143 az_off(pix):
0.0604 af_vel.(m/s): 7107.4441
del_v.(m/s): 0.419 SNR: 13.22
number of valid
autofocus patch estimates after culling: 5
nominal image
center effective focus velocity (m/s): 7108.2352
average
autofocus velocity (m/s): 7108.5977
average range
offset between looks (pixels): -0.01844
average azimuth
offset between looks (pixels): 0.00781
average velocity
delta (m/s): 0.0541
estimated
autofocus velocity poly. coeff.: vel.x: 7108.5977
vel.y: 0.000e+00 acc.x:
0.000e+00
autofocus
velocity std. dev.(m/s): 1.4087
average velocity
std. dev. (m/s): 0.6300
nominal azimuth
chirp rate (Hz/sec**2): -2105.3644
estimated
azimuth chirp rate error (Hz/sec**2): -0.2148
azimuth
quadratic phase mismatch (deg.): -3.938
SLC
phase accuracy (deg.): -1.313
SLC
focus quality factor (time_bandwidth_product *
chirp_rate_error/chirp_rate): 0.088
NOTE: range of
values for the focus quality factor:
0-->1 < 2 percent peak broadening
1-->2 < 8 percent peak broadening
> 2 significant blur
At the top is a list of the each of the patches, one line per
patch with the azimuth time relative to the center of the image,
and the slant range relative to center of the swath. The slant
range and azimuth time are for the center of the patches that are
1024 samples in range and 4096 lines long. The measured range and
azimuth offsets between the sub_looks derived from the SLC are
shown in the next 2 columns. Finally the effective velocity
derived from the azimuth offset and the change in velocity away
from the original model are shown. The data on the line is
completed by the correlation SNR value derived from the
correlation function calculated to determine the offsets.
In the next block are the averaged velocity error estimates
determined from the SLC data. In this case the velocity error is
very small, approximately 5 cm/second. The effect of
velocity errors on the processed image are two fold. First there
is a quadratic phase error in the azimuth reference function used
for azimuth focus. This quadratic phase error introduces a phase
error in the SLC and cause broadening of the azimuth point target
response. SLC phase errors < 10 degrees are not
significant.
A focus quality factor is calculated from the error in the
chirp rate and time-bandwidth product of the azimuth reference
function. If the quality factor has a value less than 1 then the
focus is good with less than 2% broadening of the peak.
SEE ALSO Users Guide, typedef_ISP.h.