Freshman Training - Channel Coding

  • Upload
    harsha

  • View
    231

  • Download
    0

Embed Size (px)

Citation preview

  • 8/8/2019 Freshman Training - Channel Coding

    1/33

    2003/07/07 1National Central UniversityDepartment of Electrical EngineeringVLSI/DSP Lab.

    Channel CodingChannel Coding

    NCU-EE VLSI/DSP Lab.

    Freshman Training Course

    Speaker :

    Advisor:

  • 8/8/2019 Freshman Training - Channel Coding

    2/33

    2003/07/07 2National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    OutlineOutline

    Overview of Channel coding Digital Communication System Types of Error Control

    Types of Channel Coding Turbo Codes

    Introduction System model

    Log-MAP vs SOVA Simulation SW Memory Architectures

    Conclusions

  • 8/8/2019 Freshman Training - Channel Coding

    3/33

    2003/07/07 3National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Digital Communication SystemDigital Communication System

    Information

    Source

    Source

    Encoder

    Channel

    EncoderModulator

    Channel

    Demodu-

    lator

    Channel

    Decoder

    Source

    Decoder

    Data Sink

    rb

    rc

    rs

    JPEG,

    MPEG, etc.

    RS code,

    Turbo code,

    QPSK, QAM,

    BPSK, etc.

  • 8/8/2019 Freshman Training - Channel Coding

    4/33

    2003/07/07 4National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Channel CodingChannel Coding

    Channel coding refers to the class of signal transformationdesigned to improve communication performance byenabling the transmitted signals to better withstand theeffects of various channel impairments.

    Channel coding can be partitioned into two areas,waveform (orsignal design) coding and structuredsequences (orstructured redundancy.)

    Waveform coding deals with transforming waveforms intobetter waveforms, to make the detection process lesssubject to errors.

    Structured sequence deals with transforming datasequences into better sequences, having structuredredundancy.

  • 8/8/2019 Freshman Training - Channel Coding

    5/33

    2003/07/07 5National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Types of Error ControlTypes of Error Control

    Before we discuss the detail ofstructured redundancy, let

    us describe the two basic ways such redundancy is used for

    controlling errors.

    Error detection and retransmission, utilizes parity bits

    (redundant bits added to data) to detect that an error has

    been made and requires two-way link for dialogue

    between the transmitter and receiver.

    Forward error correction (FEC), requires a one way

    link only, since in this case the parity bit are designed

    for both the detection and correction of errors.

  • 8/8/2019 Freshman Training - Channel Coding

    6/33

    2003/07/07 6National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Why Use Error-Correction CodingWhy Use Error-Correction Coding

    )()()()()(00

    dBN

    EdB

    N

    EdBG c

    bu

    b=

    Trade-off:

    Error Performance verse Bandwidth

    Power verse Bandwidth

    Data Rate verse Bandwidth Capacity verse Bandwidth

    Coded verse Uncoded Performance

    Coding Gains

    For a given bit-error probabilities, coding gain is

    defined as the reduction in Eb/N

    0that can be realized

    through the use of code.

  • 8/8/2019 Freshman Training - Channel Coding

    7/332003/07/07 7National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Types of Channel CodingTypes of Channel Coding

    Block codes Extended Golay code Hamming code

    BCH code Convolutional codes

    Recursive or Nonrecursive Systematic or Nonsystematic

    Reed-Solomon Codes Interleaving and Concatenated Codes Turbo Codes

  • 8/8/2019 Freshman Training - Channel Coding

    8/332003/07/07 8

    National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Block CodesBlock Codes

    (n,k) Block Codes

    message :

    k-tuple u=(u1,u2,,uk)

    code word :

    n-tuple v=(v1,v2,,vn)

    code rate :

    R=k/n

    Messages Code words

    (0 0 0) (0 0 0 0 0 0)

    (1 0 0) (1 1 0 1 0 0)

    (0 1 0) (0 1 1 0 1 0)

    (1 1 0) (1 0 1 1 1 0)

    (0 0 1) (1 1 1 0 0 1)

    (1 0 1) (0 0 1 1 0 1)

    (0 1 1) (1 0 0 0 1 1)

    (1 1 1) (0 1 0 1 1 1)

    (6,3) Binary Block Code

  • 8/8/2019 Freshman Training - Channel Coding

    9/332003/07/07 9

    National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Convolustional CodesConvolustional Codes

    (n,k,m) Convolutional Codes

    message :k-tuple u=(u1,u2,,uk)

    code word :n-tuple v=(v1,v2,,vn)

    code rate :R=k/n

    memory order :m

    Constraint length :K=m+1

    Generator polynomials :g1(x)= 1+x+x2;g2(x)=1+x2

    D D

    u2

    u1

    Input bit

    b

    s2 s1

    (2,1,2) Convolutional Code

  • 8/8/2019 Freshman Training - Channel Coding

    10/332003/07/07 10

    National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    OutlineOutline

    Overview of Channel coding Digital Communication System Types of Error Control

    Types of Channel Coding Turbo Codes

    Introduction System model

    Log-MAP vs SOVA Simulation SW Memory Architectures

    Conclusions

  • 8/8/2019 Freshman Training - Channel Coding

    11/332003/07/07 11

    National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Turbo CodesTurbo Codes

    Shannons channel coding theorem guarantees the existence of codesthat can achieve arbitrary small probability of errorif the datatransmission rate is smaller than the channel capacity.

  • 8/8/2019 Freshman Training - Channel Coding

    12/332003/07/07 12

    National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    ApplicationsApplications

    Turbo code is currently adopted as the channel codingschemes in many next-generation communication systems

    WCDMA, CDMA2000

    CCSDS in space communications Baseband Signal compensation in Fiber transmission systems

    Application Area Applied System

    Space DataTransmission

    Consultative Committee for Space DataSystems (CCSDS)

    Cellular mobile

    (a) 3rd Generation Partnership Project(3GPP)

    (b) CDMA2000

    Satellite

    Communication

    Network

    INMARSAT

  • 8/8/2019 Freshman Training - Channel Coding

    13/33

    2003/07/07 13National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Specifications in WCDMASpecifications in WCDMA

    Type of TrCH Coding scheme Coding rate

    BCH

    Convolutional coding

    1/2

    PCH

    RACH

    CPCH, DCH, DSCH, FACH

    1/3, 1/2

    Turbo coding 1/3

    No coding

  • 8/8/2019 Freshman Training - Channel Coding

    14/33

    2003/07/07 14National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Specification in CDMA2000Specification in CDMA2000

    Channel Type Forward Error

    Correction code

    Code Rate

    Access Channel Convolutional 1/3

    Enhanced Access Channel Convolutional 1/4

    Reverse Common Control Channel Convolutional 1/4

    Reverse Dedicated Control Channel Convolutional 1/4

    Reverse Fundamental Channel Convolutional 1/2, 1/3, 1/4

    Reverse Supplemental Code Channel Convolutional or

    Turbo code

    1/2, 1/3

    1/2, 1/3, 1/4

  • 8/8/2019 Freshman Training - Channel Coding

    15/33

    2003/07/07 15National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Turbo CodeTurbo Code v.s.v.s. ConvolutionalConvolutional

    CodeCode

    Convolutional Code Non-recursive

    Non-systematic

    Without Interleaver

    Turbo Code Recursive

    Systematic

    Parallel structure Use Interleaver

    RSCNSC

  • 8/8/2019 Freshman Training - Channel Coding

    16/33

    2003/07/07 16National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Design FlowDesign Flow

    DesignSpecification

    DesignSpecification

    High LevelSimulation

    High LevelSimulation

    DesignArchitecture

    DesignArchitecture

    Behavior LevelSimulation

    Behavior LevelSimulation

    Synthesis & GateSimulation

    Synthesis & GateSimulation

    Place & RoutePlace & Route

    DraculaDRC, LVS, LPE

    DraculaDRC, LVS, LPE

    Post-LayoutSimulation

    Post-LayoutSimulation

    Tap out

  • 8/8/2019 Freshman Training - Channel Coding

    17/33

    2003/07/07 17National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    System ModelSystem Model

    kd

    kd kX

    kY1

    kY2

    RSC1

    RSC1

    Interleaver

    Puncturing

    Parallel-to-serial

    BPSK

    Modulator

    Memoryless Noisen

    +

    x

    r

    BPSK

    Demodulator

    Decoder 1 Decoder 2

    Interlever

    Denterlever

    Denterlever

    Hard

    Decision

    or

    1

    r

    2r

    Interlever

    e1 e2

    2

    or~

    S

    erial-to-parallel

  • 8/8/2019 Freshman Training - Channel Coding

    18/33

    2003/07/07 18National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Log-MAP vs SOVALog-MAP vs SOVA

    Iteration

    increment..

    Iteration

    increment..

    Log_MAP

    SOVA

    G=[75], Unpunctured(1/3),

    frame size=1024,

    Iteration=8.

  • 8/8/2019 Freshman Training - Channel Coding

    19/33

    2003/07/07 19National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    The SOVA algorithmThe SOVA algorithm

    Trace backStore

    Input

    symbols

    Delay Line

    ML path

    Competitor path

    sign

    weight

  • 8/8/2019 Freshman Training - Channel Coding

    20/33

    2003/07/07 20National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Log-MAP AlgorithmsLog-MAP Algorithms

    =

    +

    =1

    0 1,0

    )(),(

    1

    111 )(log)(s

    k

    kkkk

    M

    S i

    SSSir

    k eS

    =

    +

    +

    +++

    =

    1

    0 1,0

    )(),(

    1

    111

    )(log)(

    s

    k

    kkkk

    M

    S i

    SSSir

    k eS

    ( )pk

    pkc

    sk

    skc

    sk

    sk

    einkk xyLxyLxxLSS ++== )(

    21)(log)(

    =

    ++

    =

    ++

    +++

    +++

    =

    1

    0

    )(),(0)(

    1

    0

    )(),(1)(

    )(log

    )(log)(

    111

    111

    s

    k

    kkkkkk

    s

    k

    kkkkkk

    M

    S

    SSSrS

    M

    S

    SSSrS

    k

    e

    eSLLR

    ))(),(()( 111*

    ,1 +=

    kkkkiS

    k SSSirMAXSk

    ))(),(()( 111,*

    1kkkkiSk SSSirMAXS k +++ += +

    ))(),(0)((

    ))(),(1)(()(

    111

    *

    111

    *

    kkkkkkS

    kkkkkkS

    k

    SSSrSMAX

    SSSrSMAXSLLR

    k

    k

    +++

    +++

    ++

    ++=

    |x-y| 0~0.25 0.25~0.5 0.5~0.75 0.75~1 1~1.25 1.25~1.5 1.5~2 >2

    ln(1+e-|x-y| ) 0.75 0.5 0.5 0.5 0.25 0.25 0.25 0

    )1ln(),()ln(),(*)( yxyx eyxMAXeeyxMAX ++=+=

  • 8/8/2019 Freshman Training - Channel Coding

    21/33

    2003/07/07 21National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Log-MAP AlgorithmsLog-MAP Algorithms

    0S

    1S

    2S

    3S

    0S

    1S

    2S

    3S

    0t 1t 2t 3t 4t 5t)0(1k

    )1(1k

    )0,0(k)0(1+k

    )2(1+k

    )0,1(k

    )0,0(1+k

    )2,0(1+k

    )0(k

    )0(k

  • 8/8/2019 Freshman Training - Channel Coding

    22/33

    2003/07/07 22National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Sliding Window Memory IssueSliding Window Memory Issue

    The extrinsic and APPvalue are made with adelay, which is equalto received sequencelength.

    But the decoderdecisions length can bereduced to about sixtimes the encodermemory because ofreliable decodingdecision.

  • 8/8/2019 Freshman Training - Channel Coding

    23/33

    2003/07/07 23National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Simulation Results (1/3)Simulation Results (1/3)

  • 8/8/2019 Freshman Training - Channel Coding

    24/33

    2003/07/07 24National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Simulation Results (2/3)Simulation Results (2/3)

    Iteration1Iteration2Iteration3Iteration4Iteration5Iteration6Iteration7Iteration8

  • 8/8/2019 Freshman Training - Channel Coding

    25/33

    2003/07/07 25National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Simulation Results (3/3)Simulation Results (3/3)

  • 8/8/2019 Freshman Training - Channel Coding

    26/33

    2003/07/07 26National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    SW - Memory ArchitecturesSW - Memory Architectures

    ACS

    ACS u ACS c

    );( Ock);( Ouk

    ACS

    MUX

    ACS

    MUX

    MUX MUXMUXMUXMUX

    RAM1RAM2RAM3RAMA

    Advantage:

    1 Less memory size. 2. Might be Lower latency.

    Disadvantage:

    1.Read-modify-write access required for the memory.

    2.Address is hard to be controlled.

  • 8/8/2019 Freshman Training - Channel Coding

    27/33

    2003/07/07 27National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Timing DiagramTiming Diagram

  • 8/8/2019 Freshman Training - Channel Coding

    28/33

    2003/07/07 28National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Position VS TimePosition VS Time

    Decode output withLIFO

    Decode output without LIFO

    G

    B0

    B1

    ADO

  • 8/8/2019 Freshman Training - Channel Coding

    29/33

    2003/07/07 29National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    ACS UnitACS Unit

    *Add-compare-select (ACS) Unit:

  • 8/8/2019 Freshman Training - Channel Coding

    30/33

    2003/07/07 30National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Forward / Backward ProcessorForward / Backward Processor

    0S

    1S

    2S

    3S

    0S

    1S

    2S

    3S

    Trellis States:

    BlockDiagrambasedon Trellis States:

    ForwardProcessor (A) / BackwardProcessor (B) BlockDiagram:

  • 8/8/2019 Freshman Training - Channel Coding

    31/33

    2003/07/07 31National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    Novel Turbo Code IterationNovel Turbo Code Iteration

    IssuesIssues In high-quality channel environments, a large of decoding

    iterations are not required to obtain the target BER, and itis possible to terminate the process after a few numbers ofdecoding iterations.

    SISO

    (MAP1)

    Decoder

    SISO

    (MAP1)

    Decoder

    SISO

    (MAP2)

    Decoder

    SISO

    (MAP2)

    Decoder

    InterleverInterlever

    DenterleverDenterlever

    DenterleverDenterleverHard

    Decision

    Hard

    Decision

    ThresholdDetectionThresholdDetection

    kx

    ky1

    ky2

    kd

    +

    +

    )(1 kdL )(2 kdL

    +

    )(1 ka dL

    )(1 kek dLx +

    )(2 kak dLx + )(2 kak dLx +

    +

    )(2 ke dL

  • 8/8/2019 Freshman Training - Channel Coding

    32/33

    2003/07/07 32National Central UniversityDepartment of Electrical Engineering

    VLSI/DSP Lab.

    OutlineOutline

    Overview of Channel coding Digital Communication System Types of Error Control Types of Channel Coding

    Turbo Codes Introduction System model

    Log-MAP vs SOVA Simulation SW Memory Architectures

    Conclusions

  • 8/8/2019 Freshman Training - Channel Coding

    33/33

    / /National Central UniversityDepartment of Electrical Engineering

    ConclusionsConclusions

    We discuss some fundamentals of channel coding.

    We discuss some basic implementation issues for

    turbo codes.

    This study can be exploited in development ofhigh performance receiver with different

    constraints of cost and throughput.

    The novel turbo decoder can practically havelower iteration with the adaptive SNR channel

    estimation.