annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 The Tx power levels put out by a GSM mobile station are subject to strict
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 specifications, and on the Calypso+Iota+Rita chipset they are produced by
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 writing different values into the APC DAC register. But what value should be
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 written into the APC DAC in order to produce a given Tx power level in dBm?
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 The answer varies from one produced device unit to the next, and even more from
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 one board design to the next, hence these APC values need to be calibrated.
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 The general procedure for calibrating Tx power levels is described in both Sara
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 and LoCosto calibration documents (see TI-docs), but the LoCosto document adds
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 one crucial detail which the Sara one fails to describe. The instructions given
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 in the Sara document appear to be perfectly intuitive at first: go through all
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 power levels in turn (PL numbers 5-19 for EGSM and GSM850 or 0-15 for DCS and
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 PCS), and for each power level command the DUT to transmit at that level,
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 measure the actual Tx output power with the CMU200 or other RF test equipment,
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 and adjust the APC DAC value up or down to make the output power match the spec.
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 The problem is with the very last part: the output power you get with the
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 compiled-in APC DAC value is one number, the spec-defined target power is a
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 different number, exactly how do you adjust the APC DAC value to hit the target
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 power level?
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 The LoCosto document gives the answer which was not at all obvious to me at
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 first. I draw the reader's attention to section A.3.1 on page 43 of that
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 document. The trick is as follows: the relation between the APC DAC value and
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 the resulting Tx output power (or rather the equivalent in terms of voltage) is
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 modeled as a piecewise linear function, and this piecewise linear function is
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 constructed from a preliminary set of output power measurements with a fixed
120
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
28 set of APC DAC values. Looking at the Vout/LSB slope in each segment of this
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
29 constructed piecewise linear function, one can see that the relation stays
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
30 mostly linear throughout most of the RF PA's valid control range, and at least
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
31 in the case of GSM MS devices made by Openmoko, the factory-calibrated power
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
32 levels all fall into this "good" range in which the PA's response to the APC DAC
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
33 control value is mostly linear.
66
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 We also have a strong piece of evidence that the Tx power level calibration
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 procedure performed by Openmoko at their factory was based on the same principle
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 as the LoCosto document version. If you look at the /gsm/rf/tx/levels.900 table
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 in Om-calibrated GTA02 units and compare it against the firmware's compiled-in
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 version, you will see that the APC DAC values for power levels 5-19 have been
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 replaced with calibrated ones as expected, but there is also this oddity: the
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 APC DAC value for power level 0 (not a valid number for this band) has been
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 replaced with 600. Always 600, a perfect round number, on every unit.
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 Having understood the calibration method described in the LoCosto document, the
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 mystery of this fixed number 600 becomes clear: the calibration program
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 establishes the basis for the calibration by temporarily overwriting the APC DAC
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 value in the power level 0 slot with a series of fixed values, 600 being the
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 last of them. It constructs the piecewise linear model for the APC from power
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 measurements made with these fixed DAC values, and uses this model to compute
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 the DAC value for each target power level. The latter DAC values are then
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 written into Tx levels table slots 5-19 for EGSM and GSM850, or 0-15 for DCS
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 and PCS. In the case of DCS and PCS no visible artifacts remain from the
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 calibration basis run (because slot 0 is a valid power level for these bands),
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 but an artifact remains in the levels.900 table in the unused slot 0.
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55
98
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
56 Target power level numbers
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
57 ==========================
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
58
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
59 Ideally the power level numbers to be used as the targets for the calibration
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
60 process would be the levels given in the GSM 05.05 spec: from 33 dBm down to
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
61 5 dBm for the EGSM and GSM850 bands or from 30 dBm down to 0 dBm for DCS and
120
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
62 PCS, in 2 dB steps in each case. However, the evidence from TI's calibration
98
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
63 documents (both Sara and LoCosto) is that some devices are not able to produce
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
64 the very highest and sometimes the very lowest power levels given in the spec,
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
65 and getting a successful calibration requires setting the calibration targets
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
66 to slightly shifted numbers, although still within the tolerances allowed by
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
67 the GSM 05.05 spec. The table in TI's Sara calibration document (page 26) has
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
68 the highest power level reduced by 1.2 relative to the spec, the next highest
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
69 by 0.5, whereas the lowest 4 (EGSM) or 6 (DCS) levels are raised and compacted
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
70 together. The table in the LoCosto document (page 44) has the highest power
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
71 level for each band reduced by 0.8, making it 32.2 dBm for EGSM and GSM850 and
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
72 29.2 dBm for DCS and PCS, while all other levels are set to the spec numbers.
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
73
111
7bcbbba94c41 doc/Tx-cal-theory: update with properly calibrated CMU200 and cabling setup
Mychaela Falconia <falcon@freecalypso.org>
parents: 103
diff changeset
74 The calibration that was performed by Openmoko's factory (FIC?) on their GTA02
7bcbbba94c41 doc/Tx-cal-theory: update with properly calibrated CMU200 and cabling setup
Mychaela Falconia <falcon@freecalypso.org>
parents: 103
diff changeset
75 units is similar to what the old Sara document calls for: the highest power
7bcbbba94c41 doc/Tx-cal-theory: update with properly calibrated CMU200 and cabling setup
Mychaela Falconia <falcon@freecalypso.org>
parents: 103
diff changeset
76 level is set to 31.8 dBm for EGSM or GSM850 and to 28.8 dBm for DCS and PCS,
7bcbbba94c41 doc/Tx-cal-theory: update with properly calibrated CMU200 and cabling setup
Mychaela Falconia <falcon@freecalypso.org>
parents: 103
diff changeset
77 the next one down is 30.5/27.5 dBm instead of 05.05-spec-given 31/28 dBm, and
7bcbbba94c41 doc/Tx-cal-theory: update with properly calibrated CMU200 and cabling setup
Mychaela Falconia <falcon@freecalypso.org>
parents: 103
diff changeset
78 for the lowest 4 (EGSM or GSM850) or 6 (DCS and PCS) power levels the decrement
7bcbbba94c41 doc/Tx-cal-theory: update with properly calibrated CMU200 and cabling setup
Mychaela Falconia <falcon@freecalypso.org>
parents: 103
diff changeset
79 between levels is 1.5 instead of 2, putting the lowest EGSM or GSM850 power
7bcbbba94c41 doc/Tx-cal-theory: update with properly calibrated CMU200 and cabling setup
Mychaela Falconia <falcon@freecalypso.org>
parents: 103
diff changeset
80 level at 7 dBm instead of 5 dBm, and the lowest DCS and PCS power levels at
7bcbbba94c41 doc/Tx-cal-theory: update with properly calibrated CMU200 and cabling setup
Mychaela Falconia <falcon@freecalypso.org>
parents: 103
diff changeset
81 3 dBm instead of 0 dBm.
98
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
82
120
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
83 When it comes to the highest power levels, my (Mychaela's) first thought was
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
84 that OM's calibration had them reduced to 31.8/28.8 dBm for no good reason other
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
85 than OM/FIC mindlessly using some TI-provided calibration software that had
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
86 those settings by default, as a leftover from some much older hw platform that
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
87 was poorer in this department than OM's GTA0x hardware. As a matter of fact,
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
88 it *is* possible to make an Openmoko-made GTA02 device put out the full 33 dBm
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
89 in the EGSM band and the full 30 dBm in the DCS and PCS bands by setting the
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
90 APC DAC to higher values than those used by OM's factory calibration. However,
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
91 a closer look reveals that those higher-than-OM's APC DAC values which produce
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
92 the full 33/30 dBm output put the PA outside of its linear range, i.e., the
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
93 relation between the APC DAC control value and the resulting RF Vout no longer
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
94 has the same linearity as is maintained at the lower power levels. In our own
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
95 FreeCalypso calibration, we used to set the higher 32.2/29.2 or even the full
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
96 33/30 dBm targets for the highest power levels prior to the discovery of the
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
97 linearity issue, but our current rf3166 profile set (see below) uses the same
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
98 conversative upper-end targets as OM's original: 31.8/28.8 dBm for the highest
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
99 power level and 30.5/27.5 dBm for the next one down.
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
100
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
101 When it comes to the lowest power levels, the empirical observation is that the
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
102 official spec bottom power levels of 5 dBm for the low bands and 0 dBm for the
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
103 high bands are perfectly attainable both on Openmoko-made units and on our own
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
104 FCDEV3B, with APC DAC values that are only a tiny bit lower than the lowest
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
105 values in OM's calibration. We currently use 70 as the lowest basis point in
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
106 the EGSM and GSM850 bands and 60 as the lowest basis point for DCS and PCS,
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
107 following the LoCosto document; we are consistently able to get 5 dBm for the
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
108 low bands or 0 dBm for the high bands within our basis range, and examination
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
109 of the piecewise Vout/LSB slopes shows that the PA appears to be happily linear
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
110 in this range. Therefore, we use the official spec numbers for the lowest
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
111 power level targets in our current rf3166 profile set, not the raised target
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
112 numbers from TI's older platforms.
103
16aab86384a7 doc/Tx-cal-theory: update regarding our current FCDEV3B calibration
Mychaela Falconia <falcon@freecalypso.org>
parents: 98
diff changeset
113
98
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
114 Profiles for Tx levels calibration
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
115 ==================================
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
116
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
117 Our fc-rfcal-txband program that performs the actual per-unit calibration of Tx
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
118 power levels for each band requires a preconfigured txlevels calibration profile
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
119 for each band as one of its inputs; if you are performing calibration on
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
120 individual units of a board design for which the correct profiles have already
120
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
121 been crafted, you simply use those given profiles (rf3166 for Openmoko and
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
122 OM-based FreeCalypso hardware), but if you are doing Tx power level calibration
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
123 on a new board design for the first time, you first need to characterize the Tx
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
124 output level behaviour of your new board design and craft the appropriate set
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
125 of profiles.
66
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126
98
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
127 The profiles for txlevels calibration reside in /opt/freecalypso/rfcal/txlevels;
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
128 each per-band profile is sought in a file named profile_name-band_number, where
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
129 profile_name is the profile name argument given to fc-rfcal-txband and
111
7bcbbba94c41 doc/Tx-cal-theory: update with properly calibrated CMU200 and cabling setup
Mychaela Falconia <falcon@freecalypso.org>
parents: 103
diff changeset
130 band_number is one of 850, 900, 1800 or 1900. For example, if you are using
120
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
131 the rf3166 profile set (appropriate for recalibrating Openmoko GTA02 devices
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
132 and for factory production of new FreeCalypso devices with the same RF PA), the
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
133 individual profile config files are rf3166-900, rf3166-1800 and rf3166-1900 for
32bf19fb8a2a doc/Tx-cal-theory: update for the new conservative rf3166 profile set
Mychaela Falconia <falcon@freecalypso.org>
parents: 111
diff changeset
134 the tri900 band configuration.
98
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
135
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
136 Each profile provides two key pieces of data: the list of fixed APC DAC values
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
137 to be used as the basis set for constructing the piecewise linear model, and
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
138 the list of power levels in dBm that will be the targets for the calibration.
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
139
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
140 Crafting the txlevels calibration profiles for a new board design
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
141 =================================================================
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
142
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
143 If you are working with a new (or new-to-you) board design with no previous Tx
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
144 levels calibration experience, you need to begin by characterizing its Tx
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
145 output level behaviour so you can determine what APC values are appropriate for
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
146 the basis set, whether or not you need to shift the highest and/or lowest
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
147 target levels from their nominal spec values, and if some target shifting is
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
148 needed, which levels need to be shifted and by how much.
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
149
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
150 The tool you will need for this investigation is fc-rfcal-txbasis. It requires
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
151 fc-cmu200d and rvinterf to be running, talking to the CMU200 and to the DUT,
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
152 respectively, and it takes the band number (850/900/1800/1900) and a set of
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
153 APC DAC values on the command line; no pre-existing txlevels profile is needed.
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
154 It commands the DUT to transmit at each of the specified APC DAC values in turn
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
155 and reports the power output levels measured by the CMU200.
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
156
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
157 VERY IMPORTANT: You need to be very sure that your CMU200 or other measuring
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
158 instrument is itself in good calibration standing, i.e., that the measurements
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
159 it reports are trustworthy, and that the insertion loss in your cabling setup
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
160 (all the way from the actual DUT's antenna connector or RF test port to your
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
161 CMU200) really matches the numbers you have put in your cable configuration file
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
162 (see Cable-config-howto). If you fail to ensure these prerequisites, your
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
163 fc-rfcal-txbasis observations will be meaningless, as the cable insertion losses
111
7bcbbba94c41 doc/Tx-cal-theory: update with properly calibrated CMU200 and cabling setup
Mychaela Falconia <falcon@freecalypso.org>
parents: 103
diff changeset
164 and instrument errors are typically of the same order of magnitude as the
7bcbbba94c41 doc/Tx-cal-theory: update with properly calibrated CMU200 and cabling setup
Mychaela Falconia <falcon@freecalypso.org>
parents: 103
diff changeset
165 transmitter differences you are trying to determine.
98
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
166
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
167 You will need to run fc-rfcal-txbasis with a guesstimated set of APC DAC values,
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
168 to be revised iteratively, and get a feel for what your DUT is putting out.
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
169 Are you able to hit the lowest spec power level consistently while the APC DAC
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
170 value remains well above zero? Are you able to hit the highest spec power level
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
171 as well, or does the measured power output fall short of this target no matter
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
172 how high you crank the APC DAC? These observations will tell you whether or not
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
173 you need to shift the highest and/or lowest target power levels in your new
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
174 txlevels calibration profile.
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
175
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
176 Regular calibration runs
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
177 ========================
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
178
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
179 Once you have a good set of profiles for the type of Calypso GSM device you are
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
180 calibrating, just run fc-rfcal-txband with the band number and the name of your
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
181 profile.
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
182
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
183 Checking existing calibration
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
184 =============================
66
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 fc-rfcal-txcheck is a completely non-invasive program (does not make any writes
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
187 to any L1 RF tables or to FFS) that steps through all power levels for the
8e675142cca7 doc/Tx-cal-theory written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188 specified band (5-19 for EGSM or GSM850, or 0-15 for DCS or PCS), performs a
98
615df2fb1ec3 doc/Tx-cal-theory: update with both theory and practice
Mychaela Falconia <falcon@freecalypso.org>
parents: 66
diff changeset
189 power measurement at each level, and displays the measured result.