changeset 122:aa2533be2ec1

doc/Tx-cal-theory: channel calibration documented
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 14 Feb 2018 04:54:58 +0000
parents 76faa4f52a4d
children 7302bc0bdd18
files doc/Tx-cal-theory
diffstat 1 files changed, 39 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/doc/Tx-cal-theory	Wed Feb 14 03:55:03 2018 +0000
+++ b/doc/Tx-cal-theory	Wed Feb 14 04:54:58 2018 +0000
@@ -185,10 +185,48 @@
 calibrating, just run fc-rfcal-txband with the band number and the name of your
 profile.
 
+Channel correction calibration
+==============================
+
+The APC DAC values given in the levels tables apply directly only to the
+channels in the centre of each band.  The transfer function from APC DAC control
+values to power output levels in dBm depends on the frequency, and the APC DAC
+values need to be adjusted for different subbands within each band in order to
+produce the correct output power levels for all channels.  TI's RF driver code
+and calibration data structures provide for a Tx channel calibration, and all
+historical commercial manufacturers of Calypso GSM devices that are known to us
+have performed this Tx channel calibration on a per-unit basis on their
+production lines.
+
+Our fc-rfcal-txband calibration tool implements Tx channel correction
+calibration as of 2018-02, and we do it a little better than the way it was done
+by the big folks Back In The Day.  TI's RF data structures allow for up to 4
+channel calibration tables, to be used for different power levels, but
+Openmoko's factory only did one channel calibration set (calibrated at the
+highest power level for each band), using only one table out of the possible 4,
+and this one table (calibrated at the highest power level) is then used for all
+power levels.  As far as we can tell, other Calypso GSM device manufacturers
+have done likewise.
+
+Our Tx calibration implementation makes use of all 4 available channel
+correction table slots.  We divide the 15 power levels of EGSM and GSM850 bands
+or the 16 power levels of DCS and PCS into 4 groups (5-7, 8-11, 12-15, 16-19
+for EGSM and GSM850; 0-3, 4-7, 8-11, 12-15 for DCS and PCS), perform channel
+calibration at the highest power level in each group, and set the resulting
+channel calibration table to be used for all 3 or 4 power levels in that group.
+Our procedure produces Tx behaviour that is identical to Openmoko's for the
+highest 3 or 4 power levels, but the lower power levels run with channel
+calibration that was made closer to them, as opposed to the very highest power
+level.  The price of our approach is more time spent in RF calibration for each
+unit on the production line, but our approach is perfectly suited for low volume
+production and aftermarket recalibration services.
+
 Checking existing calibration
 =============================
 
 fc-rfcal-txcheck is a completely non-invasive program (does not make any writes
 to any L1 RF tables or to FFS) that steps through all power levels for the
 specified band (5-19 for EGSM or GSM850, or 0-15 for DCS or PCS), performs a
-power measurement at each level, and displays the measured result.
+power measurement at each level, and displays the measured result.  By default
+the test is performed at the centre frequency of the specified band, but the
+ARFCN to be used can also be specified on the command line.