This manual is still being converted...
AIRSAR Data Compression Formats
For AIRSAR data, there are four possible formats :
1) compressed stokes matrix data
(multilook,quad-pol, low-res, 10 bytes/pixel)
2) compressed scattering matrix (730 processor) data
(single look,quad-pol,10 bytes/pixel)
3) compressed scattering matrix (3.5 processor) data
(single look,quad-pol, low-res, 10 bytes/pixel)
4) uncompressed synoptic amplitude data
(vax real*4, single pol, low-res, 4 bytes/pixel)
In the following descriptions:
sign( ) will return the sign of the argument ( ± 1)
nint( ) will indicate that the nearest integer value is calculated of its
argument.
int( ) will indicate that the truncation of the floating point value to integer
is calculated of its argument, and that, if the floating point value is less than zero,
subtraction by 1.0 is additionally required. Note that this is not the same as FORTRAN
int( ).
gen_fac is the AIRSAR general scale factor whose value is recorded in the
header of the oldheader, field 133.
Complex scattering matrix data
AIRSAR 730 processor "hi-res" quad-pol data - 10 bytes per pixel.
Consists of four files for each scene, per frequency. Each line of each file consists of
1024 azimuth samples. There are 750 lines, each corresponding to progressively greater
range from the radar. The azimuth pixel spacing is 3.33 meters. The range pixel spacing
is 6.66 meters (assumes 20 MHz data). The four files are exactly adjacent to each other
in azimuth. Generally, the first two lines of the file are header lines. There is no
symmetrization of the data.
¡ 10 bytes per pixel - quad-pol data, with:
¡ Byte(1) : int{log2(0.25 (SHHMHH* + SHVSHV* + SVHSVH*+
SVVSVV*))}
¡ Byte(2) : nint{254[Mantissa - 1.5]}
Mantissa = 0.25 (SHHSHH* + SHVSHV* + SVHSVH*+ SVVSVV*) /
2Byte(1)
qsca = 2 sqrt{ gen_fac [ (Byte(2) / 254 ) + 1.5] 2Byte(1) }
¡ Byte(3) : nint{127 Re(SHH)/qsca}
¡ Byte(4) : nint{127 Im(SHH)/qsca}
¡ Byte(5) : nint{127 Re(SHV)/qsca}
¡ Byte(6) : nint{127 Im(SHV)/qsca}
¡ Byte(7) : nint{127 Re(SVH)/qsca}
¡ Byte(8) : nint{127 Im(SVH)/qsca}
¡ Byte(9) : nint{127 Re(SVV)/qsca}
¡ Byte(10) : nint{127 Im(SVV)/qsca}
The total power (when decompressing) is :
TP = gen_fac ( byte(2) / 254 + 1.5) 2Byte(1))
and the remaining terms are given by :
ysca = 2 sqrt{ gen_fac [ (Byte(2) / 254 ) + 1.5] 2Byte(1) }
Re(SHH) = byte(3) ysca/127
Im(SHH) = byte(4) ysca/127
Re(SHV) = byte(5) ysca/127
Im(SHV) = byte(6) ysca/127
Re(SVH) = byte(7) ysca/127
Im(SVH) = byte(8) ysca/127
Re(SVV) = byte(9) ysca/127
Im(SVV) = byte(10) ysca/127
AIRSAR 3.5 processor "complex" quad-pol data - 10 bytes per pixel.
Consists of four files for each scene, per frequency. Each line of each file consists of
1024 azimuth samples. There are 1282 lines, each corresponding to progressively greater
range from the radar. For 20 MHz bandwidth data, the azimuth pixel spacing is 12.2
meters (1993 and after, the prf was increased, such that the azimuth pixel spacing was
decreased to 8 meters). The range pixel spacing is 6.66 meters (again assuming 20 MHz
data). The first 2 lines of each file are header lines. The four files correspond to the
center four looks of 16 processed looks. There is no symmetrization of the data. The
compression is identical to the AIRSAR 730 processor "hi-res" quad-pol data.
The differences between AIRSAR and SIR-C data, is that the first two bytes are
defined differently, and that the scale factor is defined differently. The value stored in the
first two bytes by AIRSAR is the total power, while the value stored in the first two bytes
by SIR-C is four times the total power. The scale factor for AIRSAR is two times larger
than the scale factor used by SIR-C. In addition, there is no general scale factor for SIR-
C.
Because of round off errors for some of the cross-product terms that are small,
AIRSAR data converted to the SIR-C format, and then compared with the original
AIRSAR compressed scattering matrix data, or with the AIRSAR Stokes data derived
from the scattering matrix data, might not be in exact agreement.
Updated 8/25/94
bruce.chapman@jpl.nasa.gov