comparison doc/Tx-cal-theory @ 120:32bf19fb8a2a

doc/Tx-cal-theory: update for the new conservative rf3166 profile set
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 14 Feb 2018 03:46:34 +0000
parents 7bcbbba94c41
children 76faa4f52a4d
comparison
equal deleted inserted replaced
119:8054c1967c32 120:32bf19fb8a2a
23 first. I draw the reader's attention to section A.3.1 on page 43 of that 23 first. I draw the reader's attention to section A.3.1 on page 43 of that
24 document. The trick is as follows: the relation between the APC DAC value and 24 document. The trick is as follows: the relation between the APC DAC value and
25 the resulting Tx output power (or rather the equivalent in terms of voltage) is 25 the resulting Tx output power (or rather the equivalent in terms of voltage) is
26 modeled as a piecewise linear function, and this piecewise linear function is 26 modeled as a piecewise linear function, and this piecewise linear function is
27 constructed from a preliminary set of output power measurements with a fixed 27 constructed from a preliminary set of output power measurements with a fixed
28 set of APC DAC values. 28 set of APC DAC values. Looking at the Vout/LSB slope in each segment of this
29 constructed piecewise linear function, one can see that the relation stays
30 mostly linear throughout most of the RF PA's valid control range, and at least
31 in the case of GSM MS devices made by Openmoko, the factory-calibrated power
32 levels all fall into this "good" range in which the PA's response to the APC DAC
33 control value is mostly linear.
29 34
30 We also have a strong piece of evidence that the Tx power level calibration 35 We also have a strong piece of evidence that the Tx power level calibration
31 procedure performed by Openmoko at their factory was based on the same principle 36 procedure performed by Openmoko at their factory was based on the same principle
32 as the LoCosto document version. If you look at the /gsm/rf/tx/levels.900 table 37 as the LoCosto document version. If you look at the /gsm/rf/tx/levels.900 table
33 in Om-calibrated GTA02 units and compare it against the firmware's compiled-in 38 in Om-calibrated GTA02 units and compare it against the firmware's compiled-in
52 ========================== 57 ==========================
53 58
54 Ideally the power level numbers to be used as the targets for the calibration 59 Ideally the power level numbers to be used as the targets for the calibration
55 process would be the levels given in the GSM 05.05 spec: from 33 dBm down to 60 process would be the levels given in the GSM 05.05 spec: from 33 dBm down to
56 5 dBm for the EGSM and GSM850 bands or from 30 dBm down to 0 dBm for DCS and 61 5 dBm for the EGSM and GSM850 bands or from 30 dBm down to 0 dBm for DCS and
57 PCS, in 2 dBm steps in each case. However, the evidence from TI's calibration 62 PCS, in 2 dB steps in each case. However, the evidence from TI's calibration
58 documents (both Sara and LoCosto) is that some devices are not able to produce 63 documents (both Sara and LoCosto) is that some devices are not able to produce
59 the very highest and sometimes the very lowest power levels given in the spec, 64 the very highest and sometimes the very lowest power levels given in the spec,
60 and getting a successful calibration requires setting the calibration targets 65 and getting a successful calibration requires setting the calibration targets
61 to slightly shifted numbers, although still within the tolerances allowed by 66 to slightly shifted numbers, although still within the tolerances allowed by
62 the GSM 05.05 spec. The table in TI's Sara calibration document (page 26) has 67 the GSM 05.05 spec. The table in TI's Sara calibration document (page 26) has
73 for the lowest 4 (EGSM or GSM850) or 6 (DCS and PCS) power levels the decrement 78 for the lowest 4 (EGSM or GSM850) or 6 (DCS and PCS) power levels the decrement
74 between levels is 1.5 instead of 2, putting the lowest EGSM or GSM850 power 79 between levels is 1.5 instead of 2, putting the lowest EGSM or GSM850 power
75 level at 7 dBm instead of 5 dBm, and the lowest DCS and PCS power levels at 80 level at 7 dBm instead of 5 dBm, and the lowest DCS and PCS power levels at
76 3 dBm instead of 0 dBm. 81 3 dBm instead of 0 dBm.
77 82
78 It appears that OM/FIC were using some TI-provided calibration software without 83 When it comes to the highest power levels, my (Mychaela's) first thought was
79 taking the time and effort to tune its settings for their own hardware: when we 84 that OM's calibration had them reduced to 31.8/28.8 dBm for no good reason other
80 recalibrate these OM-made devices in our own lab, we are able to hit all of the 85 than OM/FIC mindlessly using some TI-provided calibration software that had
81 highest and lowest power levels given in the GSM 05.05 spec. On our own FCDEV3B 86 those settings by default, as a leftover from some much older hw platform that
82 hardware we are likewise able to get the full 30 dBm in the DCS and PCS bands, 87 was poorer in this department than OM's GTA0x hardware. As a matter of fact,
83 but we are not able to get the full 33 dBm in the low band. Following TI's 88 it *is* possible to make an Openmoko-made GTA02 device put out the full 33 dBm
84 practice with LoCosto, I set the highest power level target to 32.2 dBm for the 89 in the EGSM band and the full 30 dBm in the DCS and PCS bands by setting the
85 EGSM and GSM850 bands; for DCS and PCS the highest power level target is 30 dBm 90 APC DAC to higher values than those used by OM's factory calibration. However,
86 per the spec. On the low end the power level targets are the official ones 91 a closer look reveals that those higher-than-OM's APC DAC values which produce
87 from the GSM 05.05 spec. 92 the full 33/30 dBm output put the PA outside of its linear range, i.e., the
93 relation between the APC DAC control value and the resulting RF Vout no longer
94 has the same linearity as is maintained at the lower power levels. In our own
95 FreeCalypso calibration, we used to set the higher 32.2/29.2 or even the full
96 33/30 dBm targets for the highest power levels prior to the discovery of the
97 linearity issue, but our current rf3166 profile set (see below) uses the same
98 conversative upper-end targets as OM's original: 31.8/28.8 dBm for the highest
99 power level and 30.5/27.5 dBm for the next one down.
100
101 When it comes to the lowest power levels, the empirical observation is that the
102 official spec bottom power levels of 5 dBm for the low bands and 0 dBm for the
103 high bands are perfectly attainable both on Openmoko-made units and on our own
104 FCDEV3B, with APC DAC values that are only a tiny bit lower than the lowest
105 values in OM's calibration. We currently use 70 as the lowest basis point in
106 the EGSM and GSM850 bands and 60 as the lowest basis point for DCS and PCS,
107 following the LoCosto document; we are consistently able to get 5 dBm for the
108 low bands or 0 dBm for the high bands within our basis range, and examination
109 of the piecewise Vout/LSB slopes shows that the PA appears to be happily linear
110 in this range. Therefore, we use the official spec numbers for the lowest
111 power level targets in our current rf3166 profile set, not the raised target
112 numbers from TI's older platforms.
88 113
89 Profiles for Tx levels calibration 114 Profiles for Tx levels calibration
90 ================================== 115 ==================================
91 116
92 Our fc-rfcal-txband program that performs the actual per-unit calibration of Tx 117 Our fc-rfcal-txband program that performs the actual per-unit calibration of Tx
93 power levels for each band requires a preconfigured txlevels calibration profile 118 power levels for each band requires a preconfigured txlevels calibration profile
94 for each band as one of its inputs; if you are performing calibration on 119 for each band as one of its inputs; if you are performing calibration on
95 individual units of a board design for which the correct profiles have already 120 individual units of a board design for which the correct profiles have already
96 been crafted, you simply use those given profiles (see the txlevels directory 121 been crafted, you simply use those given profiles (rf3166 for Openmoko and
97 in the source tree for our current offerings), but if you are doing Tx power 122 OM-based FreeCalypso hardware), but if you are doing Tx power level calibration
98 level calibration on a new board design for the first time, you first need to 123 on a new board design for the first time, you first need to characterize the Tx
99 characterize the Tx output level behaviour of your new board design and craft 124 output level behaviour of your new board design and craft the appropriate set
100 the appropriate set of profiles. 125 of profiles.
101 126
102 The profiles for txlevels calibration reside in /opt/freecalypso/rfcal/txlevels; 127 The profiles for txlevels calibration reside in /opt/freecalypso/rfcal/txlevels;
103 each per-band profile is sought in a file named profile_name-band_number, where 128 each per-band profile is sought in a file named profile_name-band_number, where
104 profile_name is the profile name argument given to fc-rfcal-txband and 129 profile_name is the profile name argument given to fc-rfcal-txband and
105 band_number is one of 850, 900, 1800 or 1900. For example, if you are using 130 band_number is one of 850, 900, 1800 or 1900. For example, if you are using
106 the rf3166-ideal profile set (appropriate for recalibrating Openmoko GTA02 131 the rf3166 profile set (appropriate for recalibrating Openmoko GTA02 devices
107 devices), the individual profile config files are rf3166-ideal-900, 132 and for factory production of new FreeCalypso devices with the same RF PA), the
108 rf3166-ideal-1800 and rf3166-ideal-1900 for the tri900 band configuration. 133 individual profile config files are rf3166-900, rf3166-1800 and rf3166-1900 for
134 the tri900 band configuration.
109 135
110 Each profile provides two key pieces of data: the list of fixed APC DAC values 136 Each profile provides two key pieces of data: the list of fixed APC DAC values
111 to be used as the basis set for constructing the piecewise linear model, and 137 to be used as the basis set for constructing the piecewise linear model, and
112 the list of power levels in dBm that will be the targets for the calibration. 138 the list of power levels in dBm that will be the targets for the calibration.
113 139