Exercise 3.4Z: GSM Full-Rate Voice Codec
This codec called "GSM Full Rate Vocoder" (which was standardized for the GSM system in 1991) stands for a joint realization of coder and decoder and combines three methods for the compression of speech signals:
- Linear Predictive Coding (LPC),
- Long Term Prediction (LTP), and
- Regular Pulse Excitation (RPE).
The numbers shown in the graphic indicate the number of bits generated by the three units of this Full Rate speech codec per frame of 20 millisecond duration each.
It should be noted that LTP and RPE, unlike LPC, do not work frame by frame, but with sub-blocks of 5 milliseconds. However, this has no influence on solving the task.
The input signal in the above graphic is the digitalized speech signal sR(n).
This results from the analog speech signal s(t) by
- a suitable limitation to the bandwidth B,
- sampling at the sampling rate fA=8 kHz,
- quantization with 13 bit,
- following segmentation into blocks of each 20 ms.
The further tasks of preprocessing will not be discussed in detail here.
Notes:
- The task belongs to the chapter Similarities between GSM and UMTS.
- Reference is also made to the Chapter Speech Coding of the book "Examples of Communication Systems".
Questionnaire
Solution
(1) To satisfy the sampling theorem, the bandwidth B must not exceed fA/2=4 kHz_.
(2) The given sampling rate fA=8 kHz results in a distance between individual samples of TA=0.125 ms.
- Thus a speech frame of 20ms consists of NR=20/0.125=160 samples_, each quantized with 13 bit.
- The data rate is thus
- RIn=160⋅1320ms=104kbit/s_.
(3) The graph shows that per speech frame 36 (LPC)+36 (LTP)+188 (RPE)=260 bit are output.
- From this the output data rate is calculated as
- ROut=26020ms=13kbit/s_.
- The compression factor achieved by the full rate speech codec is thus 104/13=8.
(4) The first two statements are true:
- The 36 LPC bits describe a total of eight filter coefficients of a non-recursive filter, whereby eight ACF values are determined from the short-term analysis and where these are converted into reflection factors rk after the so-called "Schur recursion".
- From these the eight LAR coefficients are calculated according to the function ln[(1−rk)/(1+rk)], quantized with a different number of bits and sent to the receiver.
- The LPC output signal has a significantly lower amplitude than its input sR(n), and it has a significantly reduced dynamic range and a flatter spectrum.
(5) Correct are the statements 1 and 3, but not the second:
- The LTP analysis and filtering is done blockwise every 5 ms ⇒ (40 samples), i.e. four times per speech frame.
- The cross correlation function (CCF) between the current sub-block and the three previous sub-blocks is formed.
- For each sub-block, an LTP delay and an LTP gain are determined which best match the sub-block.
- A correction signal of the following component "RPE" is also taken into account.
- For the long-term prediction, as with the LPC, the output is reduced in redundancy compared to the input.
(6) The statements 2 and 3 are correct:
- The fact that statement 1 is wrong can be seen from the graphic on the data page, because 188 of the 260 output bits come from the RPE. Voice would be understandable with RPE alone (without LPC and LTP).
- Regarding the last statement: The RPE is of course looking for the subsequence with the maximum energy. The RPE pulses are a subsequence (13 of 40 samples) of three bits per subframe of 5 ms and accordingly 12 bits per 20 ms frame.
- The "RPE pulse" thus occupies 13⋅12=156 of the 260 output bits.
More details about the RPE block can be found on the page RPE coding of the book "Examples of Communication Systems".