FreeCalypso > hg > gsm-codec-lib
view doc/Calypso-TCH-downlink @ 141:c1dc094f0821
pcm16-raw2wav utility written
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 14 Dec 2022 06:19:03 +0000 |
parents | 8eb0e7a39409 |
children | 486e19acc66f |
line wrap: on
line source
It has been discovered that the DSP ROM in the Calypso GSM baseband processor implements one nifty feature which is not used at all in standard phone or modem operation, but which can be used for all kinds of interesting hacks: the traffic channel (TCH) bits coming out of the GSM 05.03 channel decoder in the downlink direction (to be fed to one of several speech decoders) can be read out of the DSP's API RAM in real time, and in the uplink direction the user can feed her own bits to the input of the GSM 05.03 channel encoder, effectively suppressing the output of the internal vocoder. I (Mother Mychaela) previously played with this functionality back in 2016, and it's been mostly shelved since then. This functionality is now getting renewed attention in late 2022: now that we have a proper set of codec libraries (the present package) and a proper understanding of Rx DTX handling requirements, we can take another shot at decoding TCH downlink captures taken from Calypso GSM MS. For reasons of project resource planning, the work to study Calypso DSP downlink bits in EFR mode is currently postponed until after we build our long-overdue FC Venus board, but in the case of FR1 codec, we have a TCH downlink recording that was captured back in 2016, and by analyzing this recording, we can make the following observations: * DSP status word 0 contains various flags; we already knew some of them, but now we got additional knowledge: bit 2 is BFI bits 4:3 give a 2-bit SID flag per GSM 06.31 section 6.1.1 Unfortunately I couldn't find TAF anywhere - but oh well. * DSP status word 1 appears to be garbage, DSP status word 2 appears to be some kind of error count - no new knowledge here. * By heeding the newly-understood BFI flag in DSP status word 0, we can do a much cleaner decoding of TCH downlink capture than we did back in 2016. The new gsmfr-cvt-dlcap utility in the present package replaces the old fc-tch2fr utility from FC host tools - the latter should now be considered a bogon. The output from gsmfr-cvt-dlcap is in our gsmx format, containing Themyscira BFI markers in those frame positions where Calypso DSP indicated BFI on TCH downlink, and it needs to be fed to gsmfr-decode from the present package; our FR1 Rx DTX preprocessor will take care of SIDs and BFIs, and the complete decoding chain should then closely replicate what must be happening inside the original DSP.