30
ECE 4371, Fall, 2015 Introduction to Telecommunication Engineering/Telecommunication Laboratory Zhu Han Department of Electrical and Computer Engineering Class 19 Oct. 29 th , 2015

ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

  • Upload
    trory

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory. Zhu Han Department of Electrical and Computer Engineering Class 19 Nov. 6 th , 2013. Outline. Convolutional Code Encoder Decoder Viterbi Interleaver Turbo Code LDPC Code Fountain Code. - PowerPoint PPT Presentation

Citation preview

Page 1: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

ECE 4371, Fall, 2015

Introduction to Telecommunication Engineering/Telecommunication Laboratory

Zhu Han

Department of Electrical and Computer Engineering

Class 19

Oct. 29th, 2015

                                                           

Page 2: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

OutlineOutline Modern code

– Turbo Code

– LDPC Code

– Fountain Code

MIMO/Space time coding

Coded Modulation– Trellis code modulation

– BICM

Homework 5, due 11/19/15

Page 3: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Turbo CodesTurbo Codes

Backgound– Turbo codes were proposed by Berrou and Glavieux in the 1993

International Conference in Communications.

– Performance within 0.5 dB of the channel capacity limit for BPSK was demonstrated.

Features of turbo codes– Parallel concatenated coding

– Recursive convolutional encoders

– Pseudo-random interleaving

– Iterative decoding

Page 4: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Motivation: Performance of Turbo CodesMotivation: Performance of Turbo Codes

Comparison:– Rate 1/2 Codes.

– K=5 turbo code.

– K=14 convolutional code.

Plot is from: – L. Perez, “Turbo Codes”,

chapter 8 of Trellis Coding by C. Schlegel. IEEE Press, 1997

Gain of almost 2 dB!

Theoretical Limit!

Page 5: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Concatenated CodingConcatenated Coding

A single error correction code does not always provide enough error protection with reasonable complexity.

Solution: Concatenate two (or more) codes– This creates a much more powerful code.

Serial Concatenation (Forney, 1966)

OuterEncoder

BlockInterleaver

InnerEncoder

OuterDecoder

De-interleaver

InnerDecoder

Channel

Page 6: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Parallel Concatenated CodesParallel Concatenated Codes

Instead of concatenating in serial, codes can also be concatenated in parallel.

The original turbo code is a parallel concatenation of two recursive systematic convolutional (RSC) codes.– systematic: one of the outputs is the input.

Encoder#1

Encoder#2In

terle

aver MUX

Input

ParityOutput

Systematic Output

Page 7: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Pseudo-random InterleavingPseudo-random Interleaving

The coding dilemma:– Shannon showed that large block-length random codes achieve channel

capacity.

– However, codes must have structure that permits decoding with reasonable complexity.

– Codes with structure don’t perform as well as random codes.

– “Almost all codes are good, except those that we can think of.”

Solution:– Make the code appear random, while maintaining enough structure to

permit decoding.

– This is the purpose of the pseudo-random interleaver.

– Turbo codes possess random-like properties.

– However, since the interleaving pattern is known, decoding is possible.

Page 8: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Recursive Systematic Convolutional EncodingRecursive Systematic Convolutional Encoding

An RSC encoder can be constructed from a standard convolutional encoder by feeding back one of the outputs.

An RSC encoder has an infinite impulse response.

An arbitrary input will cause a “good” (high weight) output with high probability.

Some inputs will cause “bad” (low weight) outputs.

D D

im )0(ix

)1(ix

ix

ir

Constraint Length K= 3

D Dim

)0(ix

)1(ix

ix

Page 9: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Why Interleaving and Recursive Encoding?Why Interleaving and Recursive Encoding?

In a coded systems:– Performance is dominated by low weight code words.

A “good” code: – will produce low weight outputs with very low probability.

An RSC code:– Produces low weight outputs with fairly low probability.

– However, some inputs still cause low weight outputs.

Because of the interleaver:– The probability that both encoders have inputs that cause low

weight outputs is very low.

– Therefore the parallel concatenation of both encoders will produce a “good” code.

Page 10: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Iterative DecodingIterative Decoding

There is one decoder for each elementary encoder.

Each decoder estimates the a posteriori probability (APP) of each data bit.

The APP’s are used as a priori information by the other decoder.

Decoding continues for a set number of iterations.– Performance generally improves from iteration to iteration, but follows a

law of diminishing returns.

Decoder#1

Decoder#2

DeMUX

Interleaver

Interleaver

Deinterleaver

systematic data

paritydata

APP

APP

hard bitdecisions

Page 11: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

The Turbo-PrincipleThe Turbo-Principle

Turbo codes get their name because the decoder uses feedback, like a turbo engine.

Page 12: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Performance as a Function of Number of IterationsPerformance as a Function of Number of Iterations

K=5, r=1/2, L=65,536

0.5 1 1.5 210

-7

10-6

10-5

10-4

10-3

10-2

10-1

100

Eb/N

o in dB

BE

R

1 iteration

2 iterations

3 iterations6 iterations

10 iterations

18 iterations

Page 13: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Performance Factors and TradeoffsPerformance Factors and Tradeoffs

Complexity vs. performance– Decoding algorithm.– Number of iterations.– Encoder constraint length

Latency vs. performance– Frame size.

Spectral efficiency vs. performance– Overall code rate

Other factors– Interleaver design.– Puncture pattern.– Trellis termination.

Page 14: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Influence of Interleaver SizeInfluence of Interleaver Size

0.5 1 1.5 2 2.510

-7

10-6

10-5

10-4

10-3

10-2

10-1

Eb/N

o in dB

BE

RL = 1,024 L = 4,096 L = 16,384L = 65,536

Voice

VideoConferencing

ReplayedVideo

Data

Constraint Length 5. Rate r = 1/2. Log-MAP decoding. 18 iterations. AWGN Channel.

Page 15: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Power Efficiency of Existing StandardsPower Efficiency of Existing Standards

Page 16: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Turbo Code SummaryTurbo Code Summary Turbo code advantages:

– Remarkable power efficiency in AWGN and flat-fading channels for moderately low BER.

– Deign tradeoffs suitable for delivery of multimedia services.

Turbo code disadvantages:– Long latency.– Poor performance at very low BER.– Because turbo codes operate at very low SNR, channel estimation

and tracking is a critical issue.

The principle of iterative or “turbo” processing can be applied to other problems.– Turbo-multiuser detection can improve performance of coded

multiple-access systems.

Page 17: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

LDPC IntroductionLDPC Introduction

Low Density Parity Check (LDPC) History of LDPC codes

– Proposed by Gallager in his 1960 MIT Ph. D. dissertation– Rediscovered by MacKay and Richardson/Urbanke in 1999

Features of LDPC codes– Performance approaching Shannon limit– Good block error correcting performance– Suitable for parallel implementation

Advantages over turbo codes– LDPC do not require a long interleaver– LDPC’s error floor occurs at a lower BER– LDPC decoding is not trellis based

Page 18: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Tanner Graph (1/2)Tanner Graph (1/2)

Tanner Graph (A kind of bipartite graph)– LDPC codes can be represented by a sparse bipartite graph

Si: the message nodes (or called symbol nodes) Ci: the check nodes Because G is the null space of H, H . xT = 0 According to the equation above, we can define some relation

between the message bits– Example

n = 7, k=3, J = 4, λ=1

H =

1 1 1 0 0 0 0 00 0 0 1 1 1 0 01 0 0 1 0 0 1 00 1 0 0 1 0 0 1

s0 s1 s2 s3 s4 s5 s6 s7

c0 c1 c2 c3

Symbol nodes

Check nodes

Page 19: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Decoding of LDPC CodesDecoding of LDPC Codes

For linear block codes– If c is a valid codeword, we have

c HT = 0– Else the decoder needs to find out error vector e

Graph-based algorithms– Sum-product algorithm for general graph-based codes

– MAP (BCJR) algorithm for trellis graph-based codes

– Message passing algorithm for bipartite graph-based codes

Page 20: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Pro and ConPro and Con ADVANTAGES

– Near Capacity Performance: Shannon’s Limit – Some LDPC Codes perform better than Turbo Codes– Trellis diagrams for Long Turbo Codes become very complex and

computationally elaborate– Low Floor Error – Decoding in the Log Domain is quite fast.

DISADVANTAGES– Long time to Converge to Good Solution– Very Long Code Word Lengths for good Decoding Efficiency– Iterative Convergence is SLOW

Takes ~ 1000 iterations to converge under standard conditions.

– Due to the above reason transmission time increases

i.e. encoding, transmission and decoding– Hence Large Initial Latency

(4086,4608) LPDC codeword has a latency of almost 2 hours

Page 21: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Fountain CodeFountain Code Sender sends a potentially limitless stream of encoded bits.

Receivers collect bits until they are reasonably sure that they can recover the content from the received bits, and send STOP feedback to sender.

Automatic adaptation: Receivers with larger loss rate need longer to receive the required information.

Want that each receiver is able to recover from the minimum possible amount of received data, and do this efficiently.

Originalcontent

Encoded packetsUsers reconstruct

Original content as soon as they receive

enough packets

Encoding

Engine

Transmission

Page 22: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

MIMOMIMO Model

TNTMMNTN WXHY

T: Time index

W: Noise

Page 23: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Alamouti Space-Time Code Alamouti Space-Time Code • Transmitted signals are orthogonal =>

Simplified receiver

• Redundance in time and space => Diversity

• Equivalent diversity gain as maximum ratio combining => Smaller terminals Antenna

1Antenna 2

Time n d0 d1

Time n + T

- d1* d0

*

Page 24: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Space Time Code PerformanceSpace Time Code Performance

STBC

Block of K symbols

Block of T symbols

nt transmit antennas

Constellation mapper

Data in

• K input symbols, T output symbols T K• R=K/T is the code rate code rate • If R=1 the STBC has full rate full rate • If T= If T= nt the code has minimum delayminimum delay• Detector is Detector is linearlinear !!! !!!

Page 25: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

BLASTBLAST Bell Labs Layered Space Time Architecture V-BLAST implemented -98 by Bell Labs (40 bps/Hz) Steps for V-BLAST detection

1. Ordering: choosing the best channel

2. Nulling: using ZF or MMSE

3. Slicing: making a symbol decision

4. Canceling: subtracting the detected symbol

5. Iteration: going to the first step to

detect the next symbol

Time

s0

s0

s0

s0

s0

s0

s1

s1

s1

s1

s1

s2

s2

s2

s2

V-BLAST

D-BLAST

Ante

nna

s1 s1 s1 s1 s1 s1

s2 s2 s2 s2 s2 s2

s3 s3 s3 s3 s3 s3

Page 26: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Trellis Coded ModulationTrellis Coded Modulation

1. Combine both encoding and modulation. (using Euclidean distance only)

2. Allow parallel transition in the trellis.

3. Has significant coding gain (3~4dB) without bandwidth compromise.

4. Has the same complexity (same amount of computation, same decoding time and same amount of memory needed).

5. Has great potential for fading channel.

6. Widely used in Modem

Page 27: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Set PartitioningSet Partitioning

1. Branches diverging from the same state must have the largest distance.

2. Branches merging into the same state must have the largest distance.

3. Codes should be designed to maximize the length of the shortest error event path for fading channel (equivalent to maximizing diversity).

4. By satisfying the above two criterion, coding gain can be increased.

Page 28: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Coding GainCoding Gain About 3dB

Page 29: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

Bit-Interleaved Coded ModulationBit-Interleaved Coded Modulation Coded bits are interleaved prior to modulation.

Performance of this scheme is quite desirable

Relatively simple (from a complexity standpoint) to implement.

BinaryEncoder

BitwiseInterleaver

M-aryModulator

SoftDecoder

BitwiseDeinterleaver

Soft Demodulator

Channel

Page 30: ECE 4371, Fall, 2013 Introduction to Telecommunication Engineering/Telecommunication Laboratory

                                                           

BICM PerformanceBICM PerformanceM

inim

um E

b/N

o (i

n dB

)

Code Rate R

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

2

4

6

8

10

12

CMBICM

M = 2

M = 64

M = 16

M = 4

AWGN Channel,Noncoherent Detection

M: Modulation Alphabet Size