FreeCalypso > hg > gsm-net-reveng
annotate doc/TFO-xform/Theory @ 56:b32b644b7d96
d144/nokia-tcsm2-atrau.bin: captured A-TRAU output from
Nokia TCSM2, fed with ul-input from Ater
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 25 Sep 2024 07:42:04 +0000 |
parents | e828468b0afd |
children |
rev | line source |
---|---|
33
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 TFO transform from uplink to downlink |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 ===================================== |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 With all 3 classic GSM codecs (FRv1, HRv1, EFR) the original architecture calls |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 for a network-side transcoder (TRAU) on each individual call leg. The |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 implications are: |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 * The uplink runs from the MS to the speech decoder in the TRAU that turns the |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 mobile-generated speech into 64 kbit/s G.711. The Rx DTX handler, a subblock |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 of that speech decoder in the TRAU, handles error concealment (substitution |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 and muting of lost frames) and comfort noise insertion during DTXu pauses, |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 and once this speech stream has been transcoded to G.711, all trace of these |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 GSM-specific effects disappears. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 * The downlink runs from the speech encoder in the TRAU to TCH DL radio output |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 from the BTS. Because the DL frame stream comes from a free-running speech |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 encoder, it never contains errored frames or invalid SID or any other |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 aberrations: without DTXd, this frame stream is 100% good speech frames, and |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 with DTXd, it is a mixture of good speech and valid SID frames. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 But suppose you have two mobile call legs (mobile user Alice calls mobile user |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 Bob), and you wish to eliminate the quality-degrading effect of double or tandem |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 transcoding by passing compressed speech frames directly from Alice to Bob and |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 vice-versa - what happens now? The UL frame stream from each call leg will |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 contain BFI frame gaps that are never allowed in DL, and if the network deploys |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 DTX only in the UL direction (DTXu without DTXd, a very sensible choice for |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 small-capacity single-carrier cells), the representation of DTXu pauses coming |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 from each call leg (SID frames followed by prolonged BFI gaps) is also not |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 suitable for direct passing to the DL of the opposite call leg. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 The solution offered in the TFO spec (GSM 08.62) is a special transform from |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 call leg A UL to call leg B DL. This transform has no official name that I |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 could find, but I call it "TFO transform". In the original GSM 08.62 spec (up |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 to R99) this TFO transform is described in sections 8.2.1 and 8.2.2; when the |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 spec changed to 28.062 with 3GPP Release 4 (adding AMR in GSM and AMR-only |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 UMTS), the description of TFO transform for classic GSM codecs moved to section |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 C.3.2.1.1. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 However, both spec versions only say what "shall" be done without any guidance |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 on how to do it algorithmically: the spec language is "subject to manufacturer |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 dependent future improvements and is not part of this recommendation." |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 Distilling the problem to its essence, the addition of TFO introduces a new type |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 of logical transform on codec frames (and a stateful one at that!) that never |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 appeared previously anywhere in classic GSM architecture, is not mentioned in |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 any other spec, and is not addressed at all by any of the reference codec |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 sources. This new transform is implemented only in the TFO block in TRAUs and |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 nowhere else (in classic GSM architecture), and can be exercised only by |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 establishing a TFO call between two interworking TRAUs. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 There are 3 main parts to this TFO transform, 3 main areas where anyone who |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 seeks to implement this transform has to think hard and come up with an |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 innovative solution: |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 1) Error concealment in non-DTX speech: if an errored frame (BFI) appears after |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 non-SID speech frames (meaning non-DTX speech), the transform has to fill in |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 substitution/muting "speech" frames (meaning codec frames that look like |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 valid speech frames) in the stream going to call leg B DL. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 2) Comfort noise insertion: if the incoming frame stream from call leg A UL |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 contains SID frames (DTXu) but the same are not allowed on call leg B DL |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 (no DTXd), the transform has to insert "speech" frames (in the same |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 parenthetical meaning) that represent comfort noise, as intended by Alice's |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 phone that transmitted SID with certain CN parameters. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 3) Comfort noise muting: handling the case where the incoming UL frame stream |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 goes into CN insertion state (via one or more SID frames), but then goes |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 total BFI, with no more SID update frames appearing in TAF positions. In |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 the case of a single codec leg from a source encoder to an end decoder, |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 standard decoders are required by their respective DTX specs to gradually |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 mute their CN output, to indicate channel breakdown to the user - the TFO |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 transform has to produce the same effect. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 All 3 of the just-listed functions are explicitly called out in the TFO spec, in |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 each case with the same language of "shall" followed by "subject to manufacturer |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 dependent future improvements and is not part of this recommendation." |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 DTXd or no DTXd |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 =============== |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 When the destination call leg operates without DTXd, the TFO transform can only |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 emit frames that are well-formed speech frames for the respective codec, no SID |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 frames. In this case the transform has to do "everything", all 3 of the listed |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 functions, although the last function of CN muting may be either separate or |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 absorbed into CN generation function depending on the codec. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 OTOH, when call leg B has DTXd enabled/allowed, there is more room for |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 additional complexity. The simplest solution would be to not make use of DTXd |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 capability and always emit speech frames - but the problem with this simple |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 approach is teleological. If a GSM network operator runs with DTXd enabled, |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 presumably that operator seeks to reap the benefits of DTXd as in reduction of |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 radio interference, in which case a TFO transform that fails to make use of DTXd |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 capability would defeat the purpose. Hence if someone sets out to implement a |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 TFO transform that supports full utilization of DTXd, they would have to do |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 additional work: |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 * The function of CN insertion in the transform _mostly_ goes away: if a valid |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 SID frame comes, the TRAU caches it and repeats it continuously until the |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 next SID update, allowing the BTS to select which SID frames it will actually |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 transmit based on its SACCH alignment. But more complex handling is still |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 needed if the first SID frame (the one that begins CN insertion period) came |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 in as invalid SID, and the function of CN muting takes on new significance. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 * CN muting: when the cached SID expires and no new SID updates arrive in TAF |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 positions, the TFO transform has to indicate somehow to Bob that Alice's call |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 leg is having trouble, which will be easy or difficult depending on what rules |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 are specified in the codec specs for SID interpolation in the final receiver. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 * Error concealment in non-DTX speech: at first glance this function appears to |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 be exactly the same whether DTXd is used or not. But consider the case of |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 total channel breakdown, such that the incoming frame stream becomes all BFI: |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 how should this case be handled? In the absence of DTXd, the output of the |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 TFO transform becomes a stream of silence frames, meaning some kind of |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 "speech" frames that produce total silence at the end decoder. But if the |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 network operates with DTXd with the aim of reducing radio interference, these |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 silence "speech" frames should be replaced with SIDs whose parameters are |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 chosen to produce silent output. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 Current approach in Themyscira libraries |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 ======================================== |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 There is a desire to implement TFO transform for all 3 classic GSM codecs in |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 Themyscira Wireless GSM codec libraries suite, and the first question to be |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 decided is the policy with regard to DTXd. |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 The current approach is to not implement any DTXd support, i.e., implement the |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 TFO transform only in its no-DTXd basic form. The reason for this decision is |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 based on the reality of small-capacity single-carrier cells: given that the |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 total number of humans who actually _want_ to use GSM (as opposed to whatever |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 latest 4G/5G/etc is peddled by Big Tech mafia) is vanishingly small, there is |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 currently no justification for building higher-capacity GSM cells that use more |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 than a single 200 kHz radio carrier. And if each GSM cell consists of only one |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 radio carrier (the BCCH carrier, also called C0 in the specs), then physical |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 DTXd (as in actually turning off radio Tx, as opposed to "logical" DTXd where |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 that effect is merely faked for the MS by transmitting dummy bursts or |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 induced-BFI frames) is simply impossible. Therefore, in the present state of |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 human condition, there is no justification for expending the effort to implement |
e828468b0afd
doc/TFO-xform/Theory: article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 additional complexity for proper DTXd. |