Upload
majidjerk1
View
221
Download
0
Embed Size (px)
Citation preview
8/8/2019 Voice Codingl 7 p
1/21
Ha d
dii
Speech Coding at GSM
8/8/2019 Voice Codingl 7 p
2/21
Ha d
dii
8/8/2019 Voice Codingl 7 p
3/21
Ha d
dii
8/8/2019 Voice Codingl 7 p
4/21
Ha d
dii
8/8/2019 Voice Codingl 7 p
5/21
Ha d
dii
Speech Coding
A/D SegmentationChannel
coding
Speech
coder
8 KHz
13 bits 160 SamplesOf 13 bits
=2080 bits
(20 msec)
260 bits
20 msec13kbps
456 bitsPer 20ms
22.8 kbps
speech
8/8/2019 Voice Codingl 7 p
6/21
Ha d
dii
8/8/2019 Voice Codingl 7 p
7/21
Ha d
dii
8/8/2019 Voice Codingl 7 p
8/21
Ha d
dii
RPE-LTP
speech
encoder
160 samples/20 msfrom A/D
(= 2080 bits)
36 LPC bits/20 ms
9 LTP bits/5 ms
47 RPE bits/5 ms
260 bits/20 ms (13Kbps) to
channel encoder
LPC: linear prediction coding filter
LTP: long term prediction filter
RPE: regular pulse excitation signal
Regular pulse excited - long term prediction (RPE-LTP)
speech encoder
8/8/2019 Voice Codingl 7 p
9/21
Ha d
dii
BSSide
8 bit A-Law
to
13 bit Uniform RPE/LTP speech Encoder To Channel Coder 13Kbps
8 K sps
MSSide
LPF A/DRPE/LTP speech Encoder
To Channel Coder 13Kbps
8 K sps,
Sampling Rate - 8Kbps
Encoding - 13 bit Encoding (104 Kbps)
RPE/LTP - Regular Pulse Excitation/Long Term Prediction
RPE/LTP converts the 104 Kbps stream to 13 Kbps
Air Interface
8000 samples/s,13 bits/sample
104 kbps
8000 samples/s,
13 bits/sample
104 kbps
8/8/2019 Voice Codingl 7 p
10/21
Ha d
dii
8/8/2019 Voice Codingl 7 p
11/21
Ha d
dii
8/8/2019 Voice Codingl 7 p
12/21
Ha d
dii
8/8/2019 Voice Codingl 7 p
13/21
Ha d
dii
The 260 bits are divided into three classes:
Class Ia 50 bits - most sensitive to bit errors.
Class Ib 132 bits - moderately sensitive to bit errors. Class II 78 bits - least sensitive to bit errors.
Class Ia bits have a 3 bit cyclic redundancy code added for errordetection = 50+3 bits.
132 class Ib bits with 4 bit tail sequence = 132 + 4 = 136.
Class Ia + class Ib = 53+136=189, input into a 1/2 rate convolutionencoder of constraint length 4. Each input bit is encoded as two outputbits, based on a combination of the previous 4 input bits. The convolutionencoder thus outputs 378 bits, to which are added the 78 remaining classII bits.
Thus every 20 ms speech sample is encoded as 456 bits, giving a bit rate
of 22.8 kbps. 456 bits * 50 sps = 22.8 kbps
Hybrid coder block
Class 1A
50
Class 1B
132
Class 2
78
8/8/2019 Voice Codingl 7 p
14/21
Ha d
dii
Hybrid coder block The 260 bits are divided into three classes:
Class Ia 50 bits - most sensitive to bit errors.
Class Ib 132 bits - moderately sensitive to bit errors.
Class II 78 bits - least sensitive to bit errors.
Hybrid coder block
Class 1A
50
Class 1B
132
Class 2
78
8/8/2019 Voice Codingl 7 p
15/21
Ha d
dii
(2,1,5)convolution
coder
260 bits/20 ms
= 13 kb/s
50 class
1a bits
182 class 1b bits
78 class 2 bits
456bits/20ms
= 22.8 kb/s
Class 1a: CRC (3-bit error detection) and convolutional coding (error Correction)
Class 1b: convolutional coding
Class 2: no error protection
*tail bits to periodically reset convolutional coder
Channel encoder
3-bit
CRC
53
bits
Bit
inter-
leaver
378bits
4 tail bits*
8/8/2019 Voice Codingl 7 p
16/21
Ha d
dii
Channel Coder:
The Channel Coder is divided into two blocks:
The Block Coder allows error detection on the Class 1A bits. This is performed
by using a CRC-3 process that generates (50 + 3) bits.
The Convolution Coder allows error detection and correction. It protects the
resulting 53 bits of the Block Coder as well as the Class 1B bits. 378 bits are
generated. The decoding process is performed by the Viterbi decoder
22.8 kbits/s= 456 bits
For each 20 ms block
Channel
Coding
Block codingConvolutional
coding
8/8/2019 Voice Codingl 7 p
17/21
Ha d
dii
Channel Coder
Block coder
Convolutional coder 2
456 bits for 20 ms speech
4 '0' tail bits
378 bits
Class 1A
50
Class 1B
132
Class 2
78
1
1
1A 1B 1B 1A tailCRC
3 66 25 46625
2378Class 1 bits coded
with
convolutional coderClass 2 bits
78
8/8/2019 Voice Codingl 7 p
18/21
Ha d
dii
Air Interface
Di itizi
S rce i
GMSK
M l ti
I terle vi
ipheri
TDMA b rst
F rm tti
el i
Speech13 Kbit/s
22.8Kbit/s
22.8Kbit/s
33.8 Kbit/sAir i terf ce
8/8/2019 Voice Codingl 7 p
19/21
8/8/2019 Voice Codingl 7 p
20/21
Ha d
dii
Interleaving - Second level
SB#1 block n
SB#2 block n
SB#3 block n
SB#6 block n
SB#4 block n
SB#7 block n
SB#5 block n
SB#8 block n
SB#5 block n - 1
SB#6 block n - 1
SB#7 block n - 1
SB#8 block n - 1
SB#1 block n + 1
SB#2 block n + 1
SB#3 block n + 1
SB#4 block n + 1
Second level interleaving introduces a delay (i.e.40 ms)
8/8/2019 Voice Codingl 7 p
21/21
Ha d
dii
1 2 3 4 5 6 7 8
1 26 8.253 57
20 ms
1 57 3
260 260
456 bit
Speech Coder Speech Coder
Channel Encoding Channel Encoding
Interleaving
NORMALBURST
Out of first 20 ms Out of second 20ms
20 msSpeech
456 bit