FreeCalypso > hg > gsm-codec-lib
comparison doc/FR1-Rx-DTX @ 250:731c98b67da1
doc/FR1-Rx-DTX: document changes from 1.0.1 to 1.0.2
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 12 May 2023 04:49:09 +0000 |
| parents | fcc0887ff0d0 |
| children | 4034c2b06ec8 |
comparison
equal
deleted
inserted
replaced
| 249:731ca8b5cc42 | 250:731c98b67da1 |
|---|---|
| 157 frame of 260 zero bits, but the official specs disagree: the silence frame given | 157 frame of 260 zero bits, but the official specs disagree: the silence frame given |
| 158 in GSM 06.11 (3GPP TS 46.011, at the very end of the spec) is quite different. | 158 in GSM 06.11 (3GPP TS 46.011, at the very end of the spec) is quite different. |
| 159 Themyscira libgsmfrp implements the correct silence frame per the spec, and that | 159 Themyscira libgsmfrp implements the correct silence frame per the spec, and that |
| 160 datum is also made public. | 160 datum is also made public. |
| 161 | 161 |
| 162 libgsmfrp change history: version 1.0.1 to version 1.0.2 | |
| 163 ======================================================== | |
| 164 | |
| 165 There are only two changes, both involving corner cases with invalid SID frames | |
| 166 being received: | |
| 167 | |
| 168 1) An invalid SID frame was received immediately following a good speech frame. | |
| 169 In this case we start CN generation, but we take the needed LARc and Xmaxc | |
| 170 parameters from the last speech frame, instead of the usual procedure of | |
| 171 extracting them from a valid SID frame. The change from 1.0.1 to 1.0.2 | |
| 172 concerns the Xmaxc parameter in this corner case: in 1.0.1 we took Xmaxc | |
| 173 from the last subframe and used it for ensuing CN generation, but in 1.0.2 | |
| 174 we compute a more proper mean Xmaxc from all 4 subframes, by dequantizing, | |
| 175 summing and requantizing. | |
| 176 | |
| 177 2) An invalid SID frame was received in the speech muting state. The sequence | |
| 178 of inputs would have to be: | |
| 179 | |
| 180 - a good speech frame; | |
| 181 - one or more BFIs, but not too many, so that the cached speech frame | |
| 182 does not decay fully by Xmaxc reduction; | |
| 183 - an invalid SID frame. | |
| 184 | |
| 185 In version 1.0.1 we handled this even more obscure corner case by entering | |
| 186 the CN muting state, i.e., the state that is normally entered upon the | |
| 187 second lost SID. In version 1.0.2 we ignore invalid SID in the speech | |
| 188 muting state and act as if we got BFI, i.e., continue speech muting rather | |
| 189 than switch to CN muting. | |
| 190 | |
| 162 libgsmfrp change history: version 1.0.0 to version 1.0.1 | 191 libgsmfrp change history: version 1.0.0 to version 1.0.1 |
| 163 ======================================================== | 192 ======================================================== |
| 164 | 193 |
| 165 Version 1.0.0 exhibited the following defects, which are fixed in 1.0.1: | 194 Version 1.0.0 exhibited the following defects, which are fixed in 1.0.1: |
| 166 | 195 |
