FreeCalypso > hg > gsm-codec-lib
comparison doc/TFO-transform @ 551:8f44d7064c56
document gsmfr-tfo-xfrm
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Sat, 05 Oct 2024 06:48:44 +0000 |
| parents | doc/FR1-library-API@a3300483ae74 |
| children | ebcf414b7d99 |
comparison
equal
deleted
inserted
replaced
| 550:de333989a12b | 551:8f44d7064c56 |
|---|---|
| 1 TFO transform: general definition and goal | |
| 2 ========================================== | |
| 3 | |
| 4 "TFO transform" is the term adopted by Themyscira Wireless for the non-trivial | |
| 5 transform on GSM codec frames called for by the TFO spec, 3GPP TS 28.062 | |
| 6 section C.3.2.1.1. We have a goal of implementing TFO transform for all 3 | |
| 7 classic GSM codecs (FR, HR and EFR) in our Themyscira codec libraries; in the | |
| 8 present release, only GSM-FR version has been implemented. | |
| 9 | |
| 10 The input to this transform is the stream of received uplink frames from call | |
| 11 leg A, possibly containing BFI frame gaps and SID frames if call leg A uses | |
| 12 DTXu. The output from the transform is a "pristine" stream of good codec frames | |
| 13 to be transmitted on the radio downlink for call leg B: good speech frames only | |
| 14 in the non-DTXd case, or a mixture of good speech and valid SID frames with | |
| 15 DTXd. TFO transform is expected to be an identity transform when the input is | |
| 16 100% good speech frames, but it becomes non-trivial when it has to insert | |
| 17 synthetic "speech" frames for comfort noise or as error concealment. | |
| 18 | |
| 19 TFO transform for FRv1 | |
| 20 ====================== | |
| 21 | |
| 22 This transform is implemented in libgsmfr2 in both DTXd=0 and DTXd=1 | |
| 23 configurations. DTXd=0 version of FRv1 TFO transform is mostly identical with | |
| 24 the Rx DTX handler preprocessor stage of regular speech decoding (the only | |
| 25 difference is in details of the in-band homing function); DTXd=1 version is | |
| 26 specific to this TFO/TrFO application. | |
| 27 | |
| 28 In addition to libgsmfr2 functions documented in FR1-library-API article, there | |
| 29 is a command line test program that exercises our implementation of this TFO | |
| 30 transform. Its usage is: | |
| 31 | |
| 32 gsmfr-tfo-xfrm [-d] input.hex output.hex | |
| 33 | |
| 34 Both input and output files are in TW-TS-005 Annex A hexadecimal format. The | |
| 35 input will typically consist of TW-TS-001 extended RTP format, whereas the | |
| 36 output is always emitted in the basic format, pure GSM-FR codec frames only. | |
| 37 | |
| 38 -d option enables DTXd, which is disabled by default. |
