The complex imagery includes four files (HH, HV, VH, and VV) of one-look, slant range, scattering matrix data. HV means vertical transmit polarisation and horizontal receive polarisation. Data are sampled at a 1.5 ¥ 1.5 m pixel spacing (slant range ¥ azimuth), but focused to a nominal resolution of 2 ¥ 2 m in order to suppress sidelobes. Data are motion compensated and calibrated.
The calibration includes a channel imbalance correction (phase and amplitude) and an absolute radiometric calibration. This implies that the radar brightness b ° of a homogeneous area equals 4p times the spatial average of the pixel intensity (I2 +Q2 ). The backscatter coefficient s ° is obtained as b ° multiplied by sine to the local incidence angle (taking the topography into account). The radar cross section of a point target is 4p times the total energy of the target as found with the integral method. Cross-talk elimination is normally not performed as the EMISAR sensor provides a cross-talk ratio better than -25 dB.
Data are stored as range lines with the imaginary part of a pixel, Q, following the real part, I. The two byte "short float" format used (four byte IEEE float format with truncated mantissa) is supported by the util.c type conversion.
where <x> is the expectation value of the stochastic quantity x, and x* is the complex conjugate of x. S is the scattering matrix, and S T is the transposed matrix. The scattering matrix is written as a column vector with only three elements as the two cross-polarised channels, S hv and S vh , are identical for all natural scatterers (reciprocity). The covariance matrix is easily seen to have symmetry properties: the three elements below the principal diagonal are the complex conjugate of the three elements above the diagonal.
When calculating the covariance matrix in practice, the two cross-polarised channels are averaged coherently, i.e. on a pixel by pixel basis the complex numbers are added and divided by two. Thereby the signal-to-noise ratio is improved. Further, the expectation value is replaced by some spatial average over a small area around each pixel, i.e. upon a pixel by pixel multiplication of one image by the complex conjugate of the another image the product image is low-pass filtered. Finally, due to the symmetry properties only six of the nine images are computed.
The covariance matrix imagery is first processed like the scattering matrix imagery, but subsequently it is subject to a post-processing consisting of the following sequence of operations:
The filter impulse response has a fixed length in the slant range domain implying that the number of equivalent looks (the speckle noise reduction) is range independent, while on the other hand the ground range resolution is coarser in near range than in far range. In order to ensure that a subsequent high quality resampling can by applied to the covariance matrix data, aliasing has been suppressed by using an effective filter bandwidth somewhat smaller than the output sampling frequency. The penalty is a slightly blurred appearance of the imagery.
The calibration implies that the backscatter coefficients s °hh , s °hv , and s °vv are obtained as the spatial average of the pixels in the hhhh, hvhv and vvvv images, respectively. The radar cross section of a point target is the sum of the pixel values over the target extent multiplied by 25 m2 .
To be exact, the terms ground range and s ° should be replaced by pseudo ground range and pseudo s °, respectively, because a flat earth with no topography is assumed in the post processing.
The covariance matrix data are stored as range lines (pixels in one line have the same azimuth position) in a 4 byte floating point format (byte swapped for direct PC usage) with each of the six channels in a separate file.
Read_me file example
-------------
General info:
-------------
EMISAR data : pm027_m0955_siggefora
Acquired : July 5, 1995 at 10.12 UTC
Frequency : 5.3 GHz
Altitude (WGS84) : 12498 m
Look direction : left
Heading : -155 Deg.
-------------------------------------
Scattering matrix data (slant range):
-------------------------------------
File names:
pm027_m0955_siggefora_lhh.pp
pm027_m0955_siggefora_lhv.pp
pm027_m0955_siggefora_lvh.pp
pm027_m0955_siggefora_lvv.pp
Data type:
Complex 16 bit floats
Size of images:
Samples per line : 6409 (range)
Lines per file : 8623 (azimuth)
Pixel spacing:
Range : 1.499 m
Azimuth : 1.500 m
Pulse bandwidth : 100 MHz
Processing bandwidth:
Range : 100 % (hamming weighted)
Azimuth : 100 % (hamming weighted)
Slant range offset : 15050 m (to the first sample in the file)
Incidence angle (platform assumed 12388 m above a flat earth):
Near range : 33.9 Deg
Mid range : 51.0 Deg
Far range : 59.6 Deg
--------------------------------------
Covariance matrix data (ground range):
--------------------------------------
File names (diagonal elements):
pm027_m0955_siggefora_lhhhh.co
pm027_m0955_siggefora_lvvvv.co
pm027_m0955_siggefora_lhvhv.co
Data type:
32 bit floats, byte swapped for direct PC usage (1 2 3 4 -> 4 3 2 1)
File names (off-diagonal elements):
pm027_m0955_siggefora_lhhhv.co
pm027_m0955_siggefora_lhhvv.co
pm027_m0955_siggefora_lhvvv.co
Data type:
Complex 32 bit floats, byte swapped for direct PC usage (1 2 3 4 -> 4 3 2 1)
Size of images:
Samples per line : 2554 (range)
Lines per file : 2586 (azimuth)
Post-processing:
The covariance matrix has been extracted from the scattering matrix data.
For instance the data in the file pm027_m0955_siggefora_lhhhv.co have been
calculated by the following sequence of operations:
1) The data in pm027_m0955_siggefora_lvh.pp are added coherently to the data
in pm027_m0955_siggefora_lhv.pp and divided by two, pixel by pixel.
2) The complex conjugate of the results are multiplied by the data in
pm027_m0955_siggefora_lhh.pp, pixel by pixel.
3) The resulting image is lowpass filtered, resampled at a 5 m by
5 m pixel spacing in ground grid and radiometric corrected to
Sigma0. For the ground range projection the platform is assumed
12388 m above a flat earth.
Note that the covariance matrix has been optimised for analysis purposes,
and not for visualisation.
----------------
Utility program:
----------------
The source code of a menu driven C-program, util.c, is enclosed. This
program offers type conversion, byte swapping (DOS -> UNIX, UNIX -> DOS),
subwindow extraction, detection and averaging. The program can be compiled
by a standard C compiler or a C++ compiler, but be aware that small changes
might be necessary due to machine differences.
Version number : 2.03
------------------------------
Executable of utility program:
------------------------------
An executable of util.c for PC usage is enclosed. This file is denoted
util.exe.
Appendix B
util.c menus
---------- Main menu ----------
(1) Input file name :
(2) Input data type : complex 16 bit float
(3) Input parameter type : AMPLITUDE
(4) Number of samples per line : 1024
(5) Number of lines : 1024
(6) Input image storing format : UNIX
(7) Output file name :
(8) Output data type : complex 16 bit float
(9) Output image storing format: UNIX
(10) Input scale factor : 1.000000e+00
(11) Windowing : OFF
(12) Detection : OFF
(13) Averaging : OFF
(14) Transform to pixels : OFF
(15) Go
(0) Exit
Choose (1) to (14) for changing, (15) for execute or (0) for exit:
---------- Window menu ----------
(1) Windowing : ON
(2) Number of used samples per line : 1024
(3) Number of used lines : 1024
(4) Sample offset : 0
(5) Line offset : 0
(0) Exit
Choose (1) to (5) for changing or (0) for exit:
---------- Detection menu ----------
(1) Detection : ON
(2) Output parameter type : AMPLITUDE
(0) Exit
Choose (1) to (2) for changing or (0) for exit:
---------- Output parameter type menu ----------
(1) AMPLITUDE
(2) POWER
(3) PHASE (rad)
(4) PHASE (deg)
Choose (1) to (4) for setting data type:
---------- Average menu ----------
(1) Averaging : ON
(2) Sample scale factor: 1.000
(3) Line scale factor : 1.000
(4) Filter type : WEIGHTED SINC
(0) Exit
Choose (1) to (4) for changing or (0) for exit:
---------- Filter type menu ----------
(1) Weighted sinc
(2) Raised cosine
(3) Integrate & dump
(0) Exit
Choose (1) to (2) for changing og (0) for exit:
---------- Pixel transform menu ----------
(1) Transform to pixels : ON
(2) log10
(3) power
(4) linear
choose (2) to (3) for setting transformation type:
---------- Log transform menu ----------
(1) Maximum value in dB : 0.000
(2) Dynamic range in dB : 36.000
(3) Minimum output value : 0
(4) Maximum output value : 32767
(0) Exit
Choose (1) to (2) for changing or (0) for exit:
---------- Power transform menu ----------
(1) Maximum value in dB : 0.000
(2) Power : 0.800
(3) Fixpoint : 16384.000
(4) Minimum output value : 0
(5) Maximum output value : 32767
(0) Exit
Choose (1) to (3) for changing or (0) for exit:
---------- Linear transform menu ----------
(1) Minimum value : 0.000
(2) Maximum value : 1.000
(3) Minimum output value : 0
(4) Maximum output value : 32767
(0) Exit
Choose (1) to (4) for changing or (0) for exit.