==========================================
simend2end - An end-to-end simulation tool
for radio occultation events
==========================================
Installation
------------
- create a new directory for simend2end andd unzip the archive
- add the directory to the MATLAB search paath
- edit local parameter file 'private/priv_ccontrolparlocal.m'
(optional)
Usage
-----
The simulation tool is started from the MATLAB command line with
>> simend2end( OccNo, TrkType, CN0, Control)
The integer 'OccNo' characterizes an occulation event calculated
for a specific refractivity profile. The refractivity profile
is defined in the parameter file ['simend2endrefrpar_' OccNo '.m'].
I.e. for OccNo=17 the file 'simend2endrefrpar_17.m' is called.
Predefined ranges are (see 'priv_initrefrparameter.m')
100,000 - 199,999 : radio sonde data
200,000 - 299,999 : DWD local model
300,000 - 399,999 : planetary boundary layer studies
The integer 'TrkType' determines the type of signal tracking employed.
The tracking parameters are defined in the parameter file
['simend2endtrkpar_' TrkType '.m']. I.e. for TrkType=11 the file
'simend2endtrkpar_11.m' is called.
'TrkType'
0 : no receiver (no noise is added to signal)
2 : closed-loop tracking, no fly-wheeling, 4-quad carrier
phase extraction, 3rd order PLL, 30 Hz bandwidth
11 : open-loop, with navigation data modulation
12 : open-loop, with navigation data modulation,
Doppler model shifted by +10 Hz
13 : closed-loop, no fly-wheeling, 4-quad phase extraction,
3rd order PLL, 5 Hz bandwidth
14 : closed-loop, no fly-wheeling, 4-quad phase extraction,
2nd order PLL, 30 Hz bandwidth
15 : closed-loop, fly-wheeling active, 2-quad phase extraction,
3rd order PLL, 30 Hz bandwidth
The float number 'CN0' determines the carrier signal-to-noise
density ratio in units of dB Hz; default value is 45 dB Hz.
Parameters controlling the simulation flow can be set with the
structure 'Control':
Control.NewA
1 : calculate orbit data
0 : read orbit from intermediate MAT file
Control.SaveDataA
1 : save orbit data to intermediate MAT file
0 : don't save
Control.NewB
1 : run forward model to calculate bending angle profile
0 : read forward model results from intermediate MAT file
Control.SaveDataB
1 : save forward model results to intermediate MAT file
0 : don't save
Control.NewC
1 : run signal tracking and FSI retrieval
0 : read simulation results from intermediate MAT file
Control.SaveDataC
1 : save simulation results to intermediate MAT file
0 : don't save
Control.Visual
1 : plot results on screen (default)
0 : don't create figures
Control.RandomNoise
0 : initialize random generator with 'OccNo' (default)
1 : initialize random generator with system time
(results may not reproducible)
Control.SaveResultsAsASCII
1 : write results to file in ASCII format
0 : no ASCII output (default)
Control.SondeProfileSmooth
width of smoothing window applied to sonde refractivity in meters
(default: 150 m)
Further customization is done by setting parameters in
priv_controlparlocal.m : machine/site specific settings
priv_controlpardefault.m : general parameters
Example:
>> simend2end( 100010, 15, 45)
Calculate refractivity profile AWI radio sonde profile #10, add noise to
obtain signal-to-noise density ratio of 45 dB Hz, track with closed-loop
fly-wheeling enabled receiver and plot result on screen.
Parameter files
---------------
a) Refractivity profile
Information on the refractivity profile is stored in the structure
'RefrPar' comprising the following six fields:
RefrPar.pp = spline( Altitude, Refractivity)
fit parameters derived from a spline fit of a (high resolution)
refractivity profile as a function of altitude.
RefrPar.zMin
lower limit of altitude range [m]
RefrPar.RefrMin
refractivity at altitude 'RefrPar.zMin'
RefrPar.zMax
upper limit of altitude range [m]
RefrPar.RefrMax
refractivity at altitude 'RefrPar.zMax'
RefrPar.ScaleHeight
scale height, profile is extrapolated below 'RefrPar.zMin' and above
'RefrPar.zMax' with exponential function using a scale height of
'RefrPar.ScaleHeight'
b) Signal tracking parameters
Control.FourQuadExtraction
1 : four quadrant carrier phase extraction (atan2(Q,I))
0 : two quadrant carrier phase extraction (atan(Q/I))
Control.TrackClosedLoop
1 : track in closed-loop mode
0 : don't track in closed-loop mode
Control.TrackOpenLoop
1 : track in open-loop mode
0 : don't track in open-loop mode
Control.OLModelFrqOffset
over-all shift of open-loop Doppler model [Hz]
Control.PLLOrder
loop order employed in closed-loop tracking
Control.LoopBLT
bandwidth of carrier tracking loop times loop update time (1 ms)
(i.e. 0.030 corresponds to 30 Hz loop bandwidth)
Control.DataWipeActive
1 : 50 Hz navigation data is predicted and removed
from signal (data-wipe)
0 : don't do data-wipe
Control.CohIntegTime
coherent integration time [s] (default: 0.020)
Control.FlyWheeling
0 : fly-wheeling deactivated
1 : fly-wheeling activate
Control.FlyWheelDataWipeActive
1 : data-wipe during fly-wheeling
0 : no data-wipe during fly-wheeling
Control.FlyWheelSNRThreshLo
active fly-wheeling if SNR drops below this value [V/V]
Control.FlyWheelSNRThreshHi
deactive fly-wheeling if SNR rises above this value [V/V]
Control.FlyWheelAvgTime
time period used for NCO frequency extrapolation [s]
Control.FlyWheelDelayAct
delay for activation of fly-wheeling [s]
Control.FlyWheelDelayDeAct
delay for deactivation of fly-wheeling [s]
Control.FlyWheelFourQuadExtr
1 : four-quadrant phase extraction during fly-wheeling
0 : two-quadrant phase extraction during fly-wheeling
Control.FlyWheelNoResPhase
1 : don't add residual phase to NCO phase durung fly-wheeling
0 : add residual phase to NCO phase durung fly-wheeling
Control.FlyWheelPolyDegree
degree of fit polynomial used for extrapolation
Input & output
--------------
Intermediate and final results stored in files (binary MATLAB format),
default output directory is '.../simend2end/data/out/mat/'
The following figures are created with the call to private function
'priv_plotresults.m'
'Figure 1: SNR':
Signal-to-noise ratio as a function of occultation time
'Figure 3: path difference':
Difference between retrieved and true optical path as a function
of occultation time
'Figure 4: residual phase':
Residual phase as a function of occultation time
'Figure 5: Doppler deviation':
Deviation between true and retrieved Doppler as a function of
occultation time
'Figure 6: path difference':
Difference between true and retrieved optical path as a function of
occultation time
'Figure 7: bending angle':
Bending angle as a function of ray height
blue : true profile
red : retrieved profile
'Figure 8: FSI amplitude':
FSI amplitude as a function of ray height
black : FSI amplitude
green : smoothed amplitude
red : cut-off ray height
'Figure 9: refractivity':
Refractivity as a function of altitude
red : true profile
blue : retrieved profile
'Figure 10: refractivity gradient':
Refractivity gradient as a function of altitude
red : true profile
blue : retrieved profile
'Figure 11: refractivity error':
Fractional deviation between true and retrieved
refractivity as a function of altitude.
License
-------
Copyright (C) 2000-2005 Georg Beyerle
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
               (
geocities.com/gbeyerle)