Gamma MSP: Reference Manual


af

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.


© Copyrights for Documentation, Users Guide and Reference Manual by Gamma Remote Sensing, 2010.
UW, CW, last change 10-Sep-2010.