Document 7283387

Download Report

Transcript Document 7283387

Channel Coding
NCU-EE VLSI/DSP Lab.
Freshman Training Course
Speaker : 林承鴻
Advisor: 蔡宗漢 博士
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
1
Outline

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
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
2
Digital Communication System
Information
Source
JPEG,
MPEG, etc.
Source
Encoder
rb
RS code,
Turbo code,
Channel
Encoder
rc
QPSK, QAM,
BPSK, etc.
Modulator
rs
Channel
Data Sink
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
Source
Decoder
2003/07/07
Channel
Decoder
Demodulator
3
Channel Coding




Channel coding refers to the class of signal transformation
designed to improve communication performance by
enabling the transmitted signals to better withstand the
effects of various channel impairments.
Channel coding can be partitioned into two areas,
waveform (or signal design) coding and structured
sequences (or structured redundancy.)
Waveform coding deals with transforming waveforms into
“better waveforms,” to make the detection process less
subject to errors.
Structured sequence deals with transforming data
sequences into “better sequences,” having structured
redundancy.
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
4
Types of Error Control

Before we discuss the detail of structured 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.
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
5
Why Use Error-Correction Coding


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/N0 that can be realized
through the use of code.
G (dB )  (
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
Eb
E
) u (dB)  ( b ) c (dB)
N0
N0
2003/07/07
6
Types 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
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
7
Block 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
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
(6,3) Binary Block Code
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)
8
Convolustional 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
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
(2,1,2) Convolutional Code
u2
Input bit
b
s2
s1
D
D
u1
9
Outline

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
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
10
Turbo Codes

Shannon’s channel coding theorem guarantees the existence of codes
that can achieve arbitrary small probability of error if the data
transmission rate is smaller than the channel capacity.
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
11
Applications

Turbo code is currently adopted as the channel coding
schemes in many next-generation communication systems
– WCDMA, CDMA2000
– CCSDS in space communications
– Baseband Signal compensation in Fiber transmission systems
Application Area
Space Data
Transmission
Cellular mobile
Applied System
Consultative Committee for Space Data
Systems (CCSDS)
(a) 3rd Generation Partnership Project
(3GPP)
(b) CDMA2000
Satellite
Communication
INMARSAT
Network
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
12
Specifications in WCDMA
Type of TrCH
Coding scheme
BCH
PCH
Coding rate
1/2
Convolutional coding
RACH
1/3, 1/2
CPCH, DCH, DSCH, FACH
Turbo coding
1/3
No coding
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
13
Specification 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
Convolutional or
Turbo code
1/2, 1/3
1/2, 1/3, 1/4
Reverse Supplemental Code Channel
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
14
Turbo Code v.s. Convolutional
Code
Convolutional Code



Turbo Code
Non-recursive
Non-systematic
Without Interleaver




NSC
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
Recursive
Systematic
Parallel structure
Use Interleaver
RSC
15
Design Flow
Design
Specification
High Level
Simulation
Design
Architecture
Place & Route
Behavior Level
Simulation
Dracula
DRC, LVS, LPE
Synthesis & Gate
Simulation
Post-Layout
Simulation
Tap out
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
16
System Model
k
d
k
X
Memoryless Noise
Parallel-to-serial
Y
k1
Interleaver
Y
k2
RSC1
Puncturing
RSC1
x
BPSK
Modulator
n

r
Denterlever
Serial-to-parallel
BPSK
Demodulator
1e
ro
r1
Decoder 1
Decoder 2
r2
2
~
Interlever
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
 2e
Interlever
ro
Hard
Decision
2003/07/07
dk
Denterlever
17
Log-MAP vs SOVA
G=[7 5], Unpunctured(1/3),
frame size=1024,
Iteration=8.
Iteration
increment..
SOVA
Iteration
increment..
Log_MAP
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
18
The SOVA algorithm
Input
symbols
‧‧‧
‧‧‧
Trace back
Store
sign
Delay Line
‧‧‧
weight
ML path
Competitor path
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
19
Log-MAP Algorithms

1 e s s
Lin ( xk ) xk  Lc yks xks  Lc ykp xkp
2
 k ( S )  log  k ( S ) 
 k ( S )  log
 k ( S )  log
M s 1

 (e rk i ( Sk1 ,S ) k1 ( Sk1 ) )
 k ( S )  MAX * (rk i ( S k 1 , S )   k 1 ( S k 1 ))
S k 1 ,i
S k 1  0 i0 ,1
M s 1
  (e
rk 1i ( S , S k 1 )   k 1 ( S k )
 k ( S )  MAX * (rk 1i ( S , S k 1 )   k 1 ( S k ))
)
S k 1 ,i
S k 1  0 i0 ,1
LLRk ( S )  log
 log
M s 1
 (e
k
( S k )  rk 11( S , S k 1 )   k 1 ( S k )
)
S k 0
M s 1

LLRk ( S )  MAX * ( k ( S k )  rk 11( S , S k 1 )   k 1 ( S k ))
Sk
 (e
 k ( S k )  rk 1 0 ( S , S k 1 )   k 1 ( S k )
 MAX * ( k ( S k )  rk 1 0( S , S k 1 )   k 1 ( S k ))
)
Sk
S k 0
MAX * ( x, y)  ln( e x  e y )  MAX ( x, y)  ln( 1  e ( x  y ) )
|x-y|
ln(1+e-|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
0.75
0.5
0.5
0.5
0.25
0.25
0.25
0
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
20
Log-MAP Algorithms
S0
S0
t0
t
 k (1,0)
S1
S1
t
 k 1 (0) 1  k (0,0)  k (20)  k 1 (0,0)
 k 1 (1)
t3 
k 1
(0)
t4
t5
 k (0)
 k 1 (0,2)
 k 1 (2)
S2
S2
S3
S3
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
21
Sliding Window – Memory Issue


National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
The extrinsic and APP
value are made with a
delay, which is equal
to received sequence
length.
But the decoder
decisions length can be
reduced to about six
times the encoder
memory because of
reliable decoding
decision.
22
Simulation Results (1/3)
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
23
Simulation Results (2/3)
Iteration 8
1
2
3
4
5
6
7
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
24
Simulation Results (3/3)
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
25
SW - Memory Architectures


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.
RAM A
MUX
RAM3
MUX
RAM2
MUX
MUX
MUX
ACS
β
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
MUX
MUX
ACS
β
ACS
α
ACS u
 k (u; O)
RAM1
ACS c
 k (c; O)
2003/07/07
26
Timing Diagram
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
27
Position VS Time
A
B0
DO
B1
G
Decode output without LIFO
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
Decode output with LIFO
2003/07/07
28
ACS Unit
*Add-compare-select (ACS) Unit:
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
29
Forward / Backward Processor
Trellis States:
S0
S0
S1
S1
S2
S2
S3
S3
Forward Processor (A) / Backward Processor (B) Block Diagram:
Block Diagram based on Trellis States:
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
30
Novel Turbo Code – Iteration
Issues
In high-quality channel environments, a large of decoding
iterations are not required to obtain the target BER, and it
is possible to terminate the process after a few numbers of
decoding iterations.
L (d )

e2
k
Denterlever
xk


y1k 

SISO
(MAP1)
Decoder

xk  La 2 (d k )
La1 ( d k )


Interlever
SISO
(MAP2)
Decoder
xk  Le1 (d k )
y2 k

xk  La 2 (d k )

Threshold Detection
Hard
Decision
L1 (d k )
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
Denterlever
L2 (d k )
dk
2003/07/07
31
Outline

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
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
32
Conclusions




We discuss some fundamentals of channel coding.
We discuss some basic implementation issues for
turbo codes.
This study can be exploited in development of
high performance receiver with different
constraints of cost and throughput.
The novel turbo decoder can practically have
lower iteration with the adaptive SNR channel
estimation.
National Central University
Department of Electrical Engineering
VLSI/DSP Lab.
2003/07/07
33