FreeCalypso > hg > fc-rfcal-tools
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 |
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. |