Channel Coding in Communication Networks

download Channel Coding in Communication Networks

of 29

Transcript of Channel Coding in Communication Networks

  • 8/6/2019 Channel Coding in Communication Networks

    1/29

    Convolutional Codes

    Representation and Encoding Many known codes can be modified by an extra code symbol or by

    deleting a symbol

    * Can create codes of almost any desired rate

    * Can create codes with slightly improved performance

    The resulting code can usually be decoded with only a slight

    modification to the decoder algorithm.

    Sometimes modification process can be applied multiple times in

    succession

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

  • 8/6/2019 Channel Coding in Communication Networks

    2/29

    Modification to Known Codes

    1. Puncturing: delete a parity symbol

    (n,k) codep (n-1,k) code

    2. Shortening: delete a message symbol

    (n,k) codep (n-1,k-1) code

    3. Expurgating: delete some subset of codewords

    (n,k) codep (n,k-1) code

    4. Extending: add an additional parity symbol

    (n,k) codep (n+1,k) code

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

  • 8/6/2019 Channel Coding in Communication Networks

    3/29

    Modification to Known Codes

    5. Lengthening: add an additional message symbol

    (n,k) codep (n+1,k+1) code

    6. Augmenting: add a subset of additional code words

    (n,k) codep (n,k+1) code

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

  • 8/6/2019 Channel Coding in Communication Networks

    4/29

    Interleaving We have assumedso far that bit errors are independent from one

    bit to the next

    In mobile radio,fadingmakes bursts of errorlikely.

    Interleaving is used to try to make these errors independent again

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Depth

    Of

    Interleaving

    1

    16

    2

    11

    3

    16

    4

    21

    5

    ~

    31

    7

    ~

    26

    6

    5

    2910

    30

    30

    34

    35

    35

    Length

    Order

    Bits

    Transmitted

    Order

    Bits

    Received

  • 8/6/2019 Channel Coding in Communication Networks

    5/29

  • 8/6/2019 Channel Coding in Communication Networks

    6/29

    Block Diagram of Concatenated Coding Systems

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Data

    Bits

    Outer

    EncoderInterleave

    Inner

    Encoder

    Modulator

    Channel

    De-ModulatorInner

    Decoder

    De-

    Interleave

    Outer

    Decoder

    Data

    Out

  • 8/6/2019 Channel Coding in Communication Networks

    7/29

    Practical Application : Coding for CD

    Each channel is sampled at 44000 samples/second

    Each sample is quantized with 16 bits

    Uses a concatenated RS code Both codes constructed over GF(256) (8-bits/symbol)

    Outer code is a (28,24) shortened RS code

    Inner code is a (32,28) extended RS code

    In between coders is a (28,4) cross-interleaver

    Overall code rate is r = 0.75

    Most commercial CD players dont exploit full power of the error

    correction coder

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

  • 8/6/2019 Channel Coding in Communication Networks

    8/29

    Practical Application: Galileo Deep Space Probe

    Uses concatenated coding

    Inner code rate is , constraint length 7 convolutinal encoder

    Outer Code (255,223) RS code over GF(256) corrects any burst errors

    from convolutional codes

    Overall Code Rate is r= 0.437

    A block interleaver held 2RS Code words

    Deep space channel is severely energy limited but not bandwidth limited

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

  • 8/6/2019 Channel Coding in Communication Networks

    9/29

    IS-95 CDMA

    The IS-95 standard employs the rate (64,6) orthogonal (Walsh)code on the reverse link

    The inner Walsh Code is concatenated with a rate 1/3, constraint

    length 9 convolutional code

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Data Transmission in a 3rd

    Generation PCSProposed ETSI standard employs RS Codes concatenated with

    convolutional codes for data communication

    Requirements;

    Ber of the order of 10-6

    Moderate Latency is acceptable

    CDMA2000 uses turbo codes for data transmission

    ETSI has optional provisions for Turbo Coding

  • 8/6/2019 Channel Coding in Communication Networks

    10/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    A Common Theme from Coding Theory

    The real issue is the complexity of the decoder.

    For a binary code, we must match 2n possible received

    sequences with code words

    Only a few practical decoding algorithms have beenfound:

    Berlekamp-Massey algorithm for clock codes

    Viterbi algorithm (and similar technique) for

    convolutional codes

    Code designers have focused on finding new codes that

    work with known algorithms

  • 8/6/2019 Channel Coding in Communication Networks

    11/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Block Versus Convolutional

    Codes

    Block codes take k input bits and produce n output bits, where k

    and n are large

    there is no data dependency between blocks

    useful for data communcations

    Convolutional codes take a small number of input bits and

    produce a

    small number of output bits each time period

    data passes through convolutional codes in a continuous

    stream

    useful for low- latency communications

  • 8/6/2019 Channel Coding in Communication Networks

    12/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Convolutional Codes

    k bits are input, n bits are output

    Now k & n are very small (usually k=1-3, n=2-6)

    Input depends not only on current set of k input bits, but also on

    past

    input.

    The number of bits which input depends on is called the

    "constraint

    length" K.

    Frequently, we will see that k=1

  • 8/6/2019 Channel Coding in Communication Networks

    13/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Example of Convolutional

    Code

    k=1, n=2, K=3 convolutionalcode

  • 8/6/2019 Channel Coding in Communication Networks

    14/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Example of Convolutional

    Code

    k=2, n=3, K=2convolutionalcode

  • 8/6/2019 Channel Coding in Communication Networks

    15/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Representations of Convolutional

    Codes

    Encoder Block Diagram (shown above)

    GeneratorRepresentation

    Trellis Representation

    State Diagram Representation

  • 8/6/2019 Channel Coding in Communication Networks

    16/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Convolutional Code Generators

    One generator vector for each of the n output bits:

    The length of the generator vector for a rate r=k/n

    code with constraint length Kis K

    The bits in the generator from left to right represent the

    connections in the encoder circuit. A 1 represents a link

    from

    the shift register. A 0 represents no link.

    Encoder vectors are often given in octal representation

  • 8/6/2019 Channel Coding in Communication Networks

    17/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Example of Convolutional

    Code

    k=1, n=2, K=3 convolutional

    code

  • 8/6/2019 Channel Coding in Communication Networks

    18/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Example of Convolutional

    Code

    k=2, n=3, K=2convolutionalcode

  • 8/6/2019 Channel Coding in Communication Networks

    19/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    State Diagram Representation

    Contents of shift registers make up "state" of code:

    Most recent input is most significant bit of state.

    Oldest input is least significant bit of state.

    (this convention is sometimes reverse)

    Arcs connecting states represent allowable transitions

    Arcs are labeled with output bits transmitted during transition

  • 8/6/2019 Channel Coding in Communication Networks

    20/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Example of State Diagram Representation

    Of Convolutional Codesk=1, n=2, K=3 convolutional code

  • 8/6/2019 Channel Coding in Communication Networks

    21/29

  • 8/6/2019 Channel Coding in Communication Networks

    22/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Example of Trellis Diagram

    k=1, n=2, K=3 convolutional

    code

  • 8/6/2019 Channel Coding in Communication Networks

    23/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Encoding Example Using Trellis

    Representation

    k=1, n=2, K=3 convolutional code

    We begin in state 00:

    Input Data: 0 1 0 1 1 0 0

    Output: 0 0 1 1 0 1 0 0 10 10 1 1

  • 8/6/2019 Channel Coding in Communication Networks

    24/29

  • 8/6/2019 Channel Coding in Communication Networks

    25/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Search for good codes

    We would like convolutional codes with large free distance

    must avoid catastrophic codes

    Generators for best convolutional codes are generally found via

    computer search

    search is constrained to codes with regular structure

    search is simplified because any permutation of identical

    generators is equivalent

    search is simplified because of linearity.

  • 8/6/2019 Channel Coding in Communication Networks

    26/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Best Rate 1/2 Codes

  • 8/6/2019 Channel Coding in Communication Networks

    27/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Best Rate 1/3

    Codes

  • 8/6/2019 Channel Coding in Communication Networks

    28/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Best Rate 2/3 Codes

  • 8/6/2019 Channel Coding in Communication Networks

    29/29

    Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE

    Summary of Convolutional Codes

    Convolutional Codes are useful for real-time applications

    because

    they can be continously encoded and decoded

    We can represent convolutional codes as generators, block

    diagrams, state diagrams, and trellis diagrams

    We want to design convolutional codes to maximize free

    distance

    while maintaining non-catastrophic performance