Voice Codingl 7 p

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