Upload
pilis
View
205
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Error Correction and LDPC decoding. Error Correction in Communication Systems. noise. Transmitter. Receiver. Corrupted. Binary. Corrected. frame. frame. information. information. channel. 3. - PowerPoint PPT Presentation
Citation preview
Error Correction and LDPC decoding
1
Error Correction in Communication Systems
2
Error: Given the original frame k and the received frame k’, how many corresponding bits differ? Hamming distance (Hamming, 1950). Example:
Transmitted frame: 1110011 Received frame: 1011001 Number of errors:
noise
TransmitterBinary
informationCorrected
informationframeCorrupted
framechannel Receiver
3
3
Error Detection and Correction
Add extra information to the original data being transmitted. Frame = k data bits + m bits for error control: n = k + m.
Error detection: enough info to detect error. Need retransmissions.
Error correction: enough info to detect and correct error. Forward error correction (FEC).
Error Correction in Communication Systems
Encoder(Adding
Redundancy)Channel
Decoder(Error Detectionand Correction
Noise
Binary information
Corrected information
Encoded information
Corruptedinformationwith noise
Reed Solomon codes
Hamming codes
LDPC Introduced
Convolutional codes
BCH codes
Renewed interest in LDPC
Turbo codes
197019601950 1990 20001980
Practical implementation
of codes LDPC beats Turbo and
convolutional codes
Key terms
Encoder : adds redundant bits to the sender's bit stream to create a codeword. Decoder: uses the redundant bits to detect and/or correct as many bit errors
as the particular error-control code will allow. Communication Channel: the part of the communication system that
introduces errors. Ex: radio, twisted wire pair, coaxial cable, fiber optic cable, magnetic tape, optical discs, or
any other noisy medium
Additive white Gaussian noise (AWGN)
Larger noise makes the distribution wider
5
Important metrics
Bit error rate (BER): The probability of bit error. We want to keep this number small Ex: BER=10-4 means if we have transmitted10,000 bits, there is 1 bit error. BER is a useful indicator of system performance independent of error channel
Signal to noise ratio (SNR): quantifies how much a signal has been corrupted by noise. defined as the ratio of signal power to the noise power corrupting the signal. A ratio
higher than 1:1 indicates more signal than noise often expressed using the logarithmic decibel scale:
Important number: 3dB means
6
signal power is two times noise power
Error Correction in Communication Systems
Goal: Attain lower BER at smaller SNR Error correction is a key component
in communication and storage applications.
Coding example: Convolutional, Turbo, and Reed-Solomon codes
What can 3 dB of coding gain buy? A satellite can send data with half the
required transmit power A cellphone can operate reliably with
half the required receive power Signal to Noise Ratio (dB)
Figure courtesy of B. Nikolic, 2003 (modified)
Bit
Err
or P
roba
bilit
y
100
10-1
10-2
10-3
10-4
0 1 2 3 4 5 6 7 8
3 dBConvolutional code
Uncoded system
noise
7
Information k-bit
channel
Codewordn-bit
Receivedword n-bit
Decoder (check parity,detect error)
Encoder(add parity)
CorrectedInformation
k-bit
LDPC Codes and Their Applications
Low Density Parity Check (LDPC) codes have superior error performance 4 dB coding gain over convolutional codes
Standards and applications 10 Gigabit Ethernet (10GBASE-T) Digital Video Broadcasting
(DVB-S2, DVB-T2, DVB-C2) Next-Gen Wired Home
Networking (G.hn) WiMAX (802.16e) WiFi (802.11n) Hard disks Deep-space satellite missions
Signal to Noise Ratio (dB)
Bit
Err
or P
roba
bilit
y
100
10-1
10-2
10-3
10-4
0 1 2 3 4 5 6 7 8
4 dBConv. code
Uncoded
Figure courtesy of B. Nikolic, 2003 (modified) 8
Future Wireless Devices Requirements
Increased throughput 1Gbps for next generation of WiMAX
(802.16m) and LTE (Advanced LTE) 2.2 Gbps WirelessHD UWB [Ref]
Power budget likely Current smart phones require 100 GOPS
within 1 Watt [Ref]
Required reconfigurability for different environments A rate-compatible LDPC code is proposed
for 802.16m [Ref]
Required reconfigurability for different communication standards Ex: LTE/WiMax dual-mode cellphones
require Turbo codes (used in LTE) and LDPC codes (used in WiMAX)
Requires hardware sharing for silicon area saving
Future Digital TV Broadcasting Requirements
High definition television for stationery and mobile users
DTMB/DMB-TH (terrestrial/mobile), ABS-S (satellite), CMMB (multimedia/mobile)
Current Digital TV (DTV) standards are not well-suited for mobile devices
Require more sophisticated signal processing and correction algorithms
Require Low power Require Low error floor
Remove multi-level coding Recently proposed ABS-S
LDPC codes (15,360-bit code length, 11 code rates) achieves FER < 10-7 without concatenation [Ref]
Future Storage Devices Requirements
Ultra high-density storage 2 Terabit per square inch [ref]
Worsening InterSymbol Interference (ISI) [ref] High throughput
Larger than 5 Gbps [ref] Low error floor
Lower than 10-15 [ref] Remove multi-level coding
Next generation of Hitachi IDRC read-channel technology [9]
Encoding Picture Example
H×ViT=0
1 0 1 1 1 0 1 1 0 0 0 0 … 1 1 1 1 0 0 0 1 1 1 1 10 1 0 0 1 0 0 0 1 0 1 1 … 0 1 1 0 0 1 0 0 0 1 1 00 1 0 1 0 0 0 1 1 1 1 1 … 1 0 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 0 … 0 1 0 0 1 1 1 0 0 1 0 0
… ...
V =
1 0 0 0 0 0 0 0 0 0 . . .1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 00 1 0 0 0 0 0 0 0 0 . . .1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 . . .0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 . . .0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1
… ...
H=
Parity Image
V=
Binary multiplication called syndrome check
Decoding Picture Example
20 40 60 80 100 120 140 160 180 200
50
100
150
200
250
20 40 60 80 100 120 140 160 180 200
50
100
150
200
250
50 100 150 200
50
100
150
200
250
20 40 60 80 100 120 140 160 180 200
50
100
150
200
250
Iterative message passing decoding
Receivernoise
Iteration 1
Transmitter
Iteration 5 Iteration 15 Iteration 16
channel
Ethernet cable,
Wireless,
or Hard disk
LDPC Codes—Parity Check Matrix
Defined by a large binary matrix, called a parity check matrix or H matrix Each row is defined by a parity equation Each parity is generated by a few (not all) information bits
Example: 6x 12 H matrix for a12-bit LDPC code No. of columns=12 (i.e. Receivedword (V) = 12 bit) No. of rows= 6 No. of ones per row=3 (row weight) No. of ones per col= 2 (column weight)
14
100001010
010100001
001001100
001100010
100010001
10010100
H =
C1
V3 V4 V8V1 V2 V5 V6 V7 V9
C2
C3
C4
C5
C6
001
010
010
100
001
100
V11V10 V12
0
LDPC Codes—Tanner Graph Interconnect representation of H matrix
Two sets of nodes: Check nodes and Variable nodes Each row of the matrix is represented by a Check node Each column of matrix is represented by a Variable node
A message passing method is used between nodes to correct errors
(1) Initialization with Receivedword(2) Messages passing until correct Example: V3 to C1, V5 to C1, V8 to C1, V10 to C1 C2 to V1, C5 to V1
15
C1 C2 C3 C4 C5 C6
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
Check nodes
Variable nodes
Receivedword from channel
C1 C2 C3 C4 C5 C6
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
Check nodes
Variable nodes
C1 C2 C3 C4 C5 C6
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
Check nodes
Variable nodes
Message Passing: Variable node processing
100001010
010100001
001001100
001100010
100010001
10010100
H
001
010
010
100
001
100
0
C1 C2 C3 C4 C5 C6
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
jijhj
ij
ij
'1,' '
λ is the original received information from the channel16
α: message from check to variable node
β: message from variable to check node
Variable processing
β
α
Check processingλ
channel
Message Passing: Check node processing (MinSum)
100001010
010100001
001001100
001100010
100010001
10010100
H
001
010
010
100
001
100
0
C1 C2 C3 C4 C5 C6
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
Check nodes
Variable nodes
Sfactorsign ijjjhjjjhj
ijMSijijij
'
',1,'',1,'' min
''
17
Sign Magnitude
After check node processing, the next
iteration starts with another variable node processing
(begins a new iteration)
Variable processing
α
Check processingλ
β
channel
Example
Encoded information V= [1 0 1 0 1 0 1 0 1 1 1 1]
18
100001010
010100001
001010100
001100010
100010001
10001100
H
001
010
010
100
001
100
0
BPSK modulated= [-1 1 -1 1 -1 1 -1 1 -1 -1 -1 -1] λ (Received data from channel)= [ -9.1 4.9 -3.2 3.6 -1.4 3.1 0.3 1.6 -6.1 -2.5 -7.8 -6.8]
Estimated code= V= 1 0 1 0 1 0 0 0 1 1 1 1^
Syndrome computation
19
100001010
010100001
001010100
001100010
100010001
10001100
H
001
010
010
100
001
100
0
Estimated code= V= 1 0 1 0 1 0 0 0 1 1 1 1
Syndrome = [0 0 1 1 0 0]
Sumsyndrome=2 Not ZERO then Error
ii
hhjji
SyndromeSyndromSum
vXORSyndromeijij 0|
)(
Step 1: syndrome check: H.Vt=0?
^