[Venus Express]-[SPICAV/SOIR]
SOIR calibration description
Issue 002
23 April 2013
Prepared by: Arnaud MAHIEUX
Verified by: Eddy NEEFS
Institute: Belgian Institute for
Space Aeronomy
Ringlaan 3 B-1180 Brussels
Belgium
Change Log
Date
Sections Changed
Reasons for Change
17/05/2011
All
Creation of document from SOIR_CALIBRATION_DESC.TXT
Table of Contents
2 Introduction 4
3 Calibration steps to create the PSA data level 2 4
3.1 Step 1: Detector non linearity correction 4
3.2 Step 2: Wavenumber calibration 5
3.3 Step 3: Order number calculation and AOTF frequency to
wavenumber calibration 6
3.4 Step 4: Full Sun referencing 6
3.5 Step 5: Tracing the calibration history 6
4 Calibration steps to create the PSA data level 3 29
4.1 Step 1: The AOTF transfer function 29
4.2 Step 2: The blaze function 29
5 Description of the CALIB directory at PSA level 3 30
5.1 Introduction 30
5.2 Resolution calibration file 32
5.3 The AOTF frequency to wavenumber calibration file 32
5.4 The AOTF transfer function calibration file 32
5.5 The blaze function calibration file 32
1
2 Introduction
This file describes the different calibration steps to bring
SOIR raw data (PSA level 1B) to calibrated data (PSA level 2).
It also describes the files contained in the CALIB directory.
3 Calibration steps to create the PSA data level 2
3.1 Step 1: Detector non linearity correction
For low signal intensity the detector has a non-linear response.
The definition of linearity by the manufacturer is not fully
understood. Nevertheless, one has the impression that the pixel
is linear within 2 % if it is filled less than 98 % and more
than 25 %. Between 10 and 25 % of full well the error grows to
about 4 %. Non-linearity correction has to be applied.
It is understood that this correction routine is only applicable
on data sets that contain signal values with on board subtracted
background.
1) Calculate exact number of accumulations for this observation
n_accum = (dcbf+1) * (nrac1-1)/2
with dcbf and nracc two parameters in the SOIR telemetry.
dcbf is number of lines binned and nracc is number of bins
accumulated.
For details see TMTC TM/TC document in DOCUMENT directory.
2) Calculate exact integration time for this observation (in
milliseconds)
integ_time_ms = deit1/1000
with deit a parameter in the SOIR telemetry.
deit is integration time in microseconds.
For details see TMTC TM/TC document in DOCUMENT directory
3) Read the background value corresponding to this integration
time (ADC codes) in the bkgcodes_vs_integtime table (based on
measurement during CRUISE phase on Feb 21st 2006)
## background codes vs. integration time for integtime = 0, 1,
...., 150 ms
bkgcodes_vs_integtime =
[663, 663, 679, 693, 706, 721, 738, 755, 772, 790, 808, 827,
846, 866, 886, 908, 930, 952, 975, 1000, 1024, 1050, 1077, 1104,
1134, 1164, 1194, 1225, 1257, 1289, 1323, 1357, 1391, 1427,
1463, 1500, 1536, 1574, 1611, 1650, 1688, 1727, 1766, 1806,
1846, 1886, 1926, 1966, 2008, 2048, 2089, 2131, 2173, 2215,
2257, 2299, 2340, 2383, 2426, 2469, 2511, 2555, 2599, 2641,
2684, 2729, 2772, 2815, 2860, 2903, 2947, 2992, 3035, 3080,
3125, 3168, 3213, 3257, 3302, 3346, 3391, 3437, 3481, 3527,
3572, 3616, 3661, 3706, 3752, 3797, 3842, 3887, 3933, 3977,
4022, 4068, 4113, 4159, 4205, 4250, 4296, 4342, 4387, 4432,
4479, 4524, 4570, 4616, 4661, 4707, 4753, 4799, 4844, 4891,
4936, 4982, 5028, 5075, 5121, 5166, 5212, 5259, 5305, 5350,
5396, 5442, 5488, 5534, 5581, 5627, 5672, 5719, 5765, 5811,
5858, 5903, 5950, 6042, 6088, 6134, 6182, 6227, 6274, 6319,
6366, 6412, 6458, 6504, 6551, 6597]
The ADC values correspond to different integration times and
hence to different quantities of thermal background photons. The
collected pixel charges are converted by the read-out process
into ADC units. There is a non-linear relation between collected
photons and observed ADC units. The ADC values include an offset
(about 660 units) in the video amplifier electronics introduced
to allow for aging margin.
We assumed a perfectly linear relationship between integration
time and the quantity of photons that is equal for all pixels
within a grating order and over all grating orders
(wavelengths). This assumption is only valid if pixel quantum
efficiency would be constant over pixels and wavelengths. This
relationship is most probably also temperature dependent.
adc_bkg =
non_lin_correction.bkgcodes_vs_integtime[integ_time_ms]
4) Reduce the spectrum pixel values to one non-binned non-
accumulated values
adc_sig = float(data[i]) / n_accum
5) Make sum of ADC value of (measured) signal and (estimated)
background
For spectra which have the thermal background subtracted on-
board, the real charge collected on the pixel capacitor is still
the result of the combined input of signal photons and thermal
background photons
adc_sig_plus_bkg = adc_sig + adc_bkg
6) Conversion of ADC units into Arbitrary Charge Units (ACU)
During the measurement with different integration times (Feb
21st 2006), we have collected different amounts of thermal
background photons that have produced different amounts of
electrons or charges in the pixel. Because we do not know the
exact thermal background level, these quantities are not
calibrated. Therefore we introduce the concept of Arbitrary
Charge Units, in which we will express signal levels. It is
suggested that the value of the arbitrary charge units equals
the integration time value.
The measured relation between ADC units and ACUs can be
approximated by the following equation (10 degrees polynomial if
ADC units < 6000 and a linear relationship above 6000 ADC units)
:
adccode_to_charge( x ):
if x < 6000:
y=-109.4112717552833+x*(0.3281672408563101+\
x*(-0.0003846513541535442+x*(2.869226627796301E-07+\
x*(-1.381722060516796E-10+x*(4.459643046851159E-14+\
x*(-9.752279474228916E-18+x*(1.426792904826683E-21+\
x*(-1.337703563748429E-25+x*(7.266297806363216E-30+\
x*-1.738835026549852E-34)))))))))
else:
y = 6.0634764 + 0.02184421*x
with x = ADC units and y = ACUs
7) Calculation of new corrected pixel values
charge = non_lin_correction.adccode_to_charge( adc_sig_plus_bkg
) - integ_time_ms
3.2 Step 2: Wavenumber calibration
The wavenumber to pixel calculation is done using the formula
where is the wavenumber in cm-1 of pixel p in diffraction order
n and a, b, c and d the coefficients of a third order
polynomial. The values of the pixel number range from 0.5 to
319.5, and the order number is a value between 101 and 194.
The values of the coefficients are reported for each measured
spectrum in the in the spectra files under the DATA directory at
PSA level 3. Check the EAICD.pdf file for more info.
3.3 Step 3: Order number calculation and AOTF frequency to
wavenumber calibration
From the AOTF frequency, the value of the diffraction order is
calculated.
The relation between the AOTF frequency and the wavenumber is
given as
with the wavenumber in cm-1 and f the AOTF frequency in Hz.
The value of the AOTF frequency programmed in aofs1, aofs2,
aofs3 and aofs4 are transformed into their corresponding
wavenumber: , , and .
Then, for each order, the order center wavenumber is computed
using the formula described in the previous section (section
3.2):
The values of , , and are compared to list of values, and the
each order is assigned considering the closest value between the
both lists.
3.4 Step 4: Full Sun referencing
1) Selection of the zone of interest from the total data set
The zone of interest is defined using the following criteria:
Beginning when SOIR altitude of measurement is 220km (defined
from the attitude files, refraction taken into account)
End when SOIR altitude of measurement is 60 km (defined from the
altitude files, refraction taken into account)
2) Selection of the reference zone
The reference zone is defined using the following criteria:
End one second before start of the zone of interest
Beginning such that reference zone lasts for 39 or 40s
The reference spectrum is calculated for every pixel as a linear
regression in function of time on the reference zone as
described here above. This is to account for the observed drift
of the satellite during the occultation.
3) Division of spectra in observation zone by reference spectrum
to obtain transmittance values (between 0 and 1)
3.5 Step 5: Tracing the calibration history
Look into the .TRT additional data files on PSA level 2.
Example:
0.1_TO_0.2_SCRIPT_VERSION,[SVN revision nr]
0.2_TO_0.3_SCRIPT_VERSION,[SVN revision nr]
0.2_TO_0.3_REGRESSION_ZONE,20070415053104-20070415053143
0.2_TO_0.3_OCCULTATION_ZONE,20070415053144-20070415053230
0.2_TO_0.3_REGRESSION_ALTITUDE,220
0.3_TO_1.0_PDS_CREATION,[SVN revision nr]
4 Calibration steps to create the PSA data level 3
4.1 Step 1: The AOTF transfer function
The AOTF transfer function describes the behavior as a function
of the wavenumber for a given AOTF excitation frequency,
corresponding to a diffraction order.
More details about the physics underlying the AOTF and its
characteristics can be found in:
Nevejans et al., Compact high-resolution spaceborne echelle
grating spectrometer with acousto-optical tunable filter based
order sorting for the infrared domain from 2.2 to 4.3 µm,
Applied Optics, Vol. 45, No. 21, 20 July 2006;
Mahieux et al., In-flight performance and calibration of SPICAV
SOIR onboard Venus Express, Applied Optics, Vol. 47, No. 13, 1
May 2008;
Mahieux et al., A new method for determining the transfer
function of an Acousto optical tunable filter, Optics Express,
Vol. 17, No. 3, 2 February 2009.
4.2 Step 2: The blaze function
The blaze function corresponds to the efficiency of the echelle
grating as a function of the incident angle to the blaze angle.
In the case of SOIR, it takes values between 0 and 1, and these
values are given per diffraction order.
The blaze angle has been computed from calibration measurements.
5 Description of the CALIB directory at PSA level 3
5.1 Introduction
The CALIB directory contains 4 calibration files available in
the PDS3 format:
The resolution calibration file
The AOTF frequency to wavenumber calibration file
The AOTF transfer function calibration file
The Blaze function calibration file.
Each file is accompanied with a CAT file, in the PDS3 format.
5.2 Resolution calibration file
The resolution calibration data are given in the
RESOL_BINNINGXX.TAB files. The different binning XX
possibilities are listed in Table 1. This file is made of
(bins+1) columns, where bins corresponds to thevalue listed in
the second columnof Table 1.
Binning case
Number of lines per bin
Number of binning groups
8 x 3
3
8
8 x 4
4
8
2 x 12
12
2
2 x 16
16
2
Table 1: List of the binning possibilities
5.3 The AOTF frequency to wavenumber calibration file
The AOTF frequency to wavenumber calibrations are given in the
AOTF_F_WN.TAB with its associated LBL file.
This file is made of 6 columns, the first one giving the
relation type (AOTF frequency to wavenumber – F->WN – or
wavenumber to AOTF frequency – WN->F). The relations are defined
in Section 3.3. The second column gives the binning case and the
third one the bin number. Error: Reference source not
foundsummarizes the detector lines that are summed up for each
case and Table 1 gives the different binning cases.
The three last columns give the values of the second order
polynomial coefficients.
There is one calibration file for the nominal mission, and for
each extension of the mission.
5.4 The AOTF transfer function calibration file
The AOTF transfer function values are given in the
AOTF_F_WN_BINNINGXX.TAB with its associated LBL file. As for the
resolution, there is a file for each binning case, which are
listed in Table 1.
The first column gives the diffraction order number, followed by
the centered wavenumber values (between -100 and 100 cm-1 around
the maximum, by steps of 0.1cm-1, 2001 in total), the transfer
function values for bin 1(2001 in total) and the transfer
function values for bin 2 (2001 in total).
There is one line per order (94 in total).
5.5 The blaze function calibration file
The blaze function values are given in the BLAZE.TAB with its
associated LBL file.
The first column gives the diffraction order number, followed by
the centered wavenumber values (between -100 and 100 cm-1 around
the center of the order, by steps of 0.1cm-1, 2001 in total) and
the blaze function values (2001 in total), same for bins 1 and
2.
There is one line per order (94 in total).