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 |