Post on 12-Jun-2018
transcript
1
PERFORMANCE ESTIMATION OF CRC WITH LDPC CODES
Presenters: Rich Prodan and BZ Shen
2
PACKET ERROR DETECTION WITH CYCLIC REDUNDANCY CHECK (CRC)
Add n-k bits of extra data (the CRC field) to an k-bit message to provide error detection function (i.e. an (n,k) binary cyclic code)
For efficiency, n-k << n
e.g., n-k = 32 for Ethernet and k = 12,000 (1500 bytes)
Header Body
8 16 32 8
CRC Beginning sequence
Ending sequence
3
A PICTORIAL VIEW OF CRC CODING
2n vectors 2k code words
Replace k information bits by a unique n bit code word
4
ERROR DETECTION
2n vectors transmitted
received
Received vector not equal to one of the 2k code words
5
ERROR DETECTION CAPABILITY
code words differ in at least dmin positions
2k vectors
up to dmin –1
errors are detectable
0xx1x0x0
4 differences
1xx0x1x1
≤ 3 errors can be detected
6
MISDETECTION
2n vectors 2k code words
transmitted
received
For a random vector:
the probability of false
acceptance is (2k-1)/2n
≈ 2-(n-k) for 2k >> 1
(e.g. 2-32 = 2.3e-10)
= probability of hitting the wrong code word (misdetection)
7
PROPER CODES
Linear block codes do not necessarily obey the 2-(n-k) bound
A code is proper if PU is monotonically increasing in p for 0 ≤ p ≤ 0.5
Hamming codes and primitive double error-correcting BCH codes are proper
2-16 = 1.5e-5
8
PROBABILITY OF UNDETECTABLE ERROR
C: binary [n, k] linear code
n: the codeword length
k: the number of information bits
p : bit error probability on every received bit
Pue(C, p): probability of undetectable error
Among 2n binary random strings of size n (i.e. p=1/2) there are 2k strings are codewords of C → the fraction of such strings that are codewords of C is 2k/2n. Thus
)(2)2
1,( kn
ue CP
In general, it is not necessary true that 2
1for )
2
1,(),( pCPpCP ueue
9
EXISTENCE UPPER BOUND
Levenshtein bound (1977) For a given n and k, if 0≤p≤1/2 and
R=k/n≤1-H2(p), then there is a binary [n, k] linear codes C such that
RRH
pppppH
pppCP RnnRnue
1))((such that
1/2(R)0 and )1(log)1()(log)( where
)1(),(
2
222
)()(
The bound gives the best a CRC code can achieve. However, not all CRC codes have such upper bound.
10
GOOD CRC CODES
Philip Koopman, “32-Bit Cyclic Redundancy Codes for Internet Applications,”
The International Conference on Dependable Systems and Networks (DSN) 2002
11
ADDING CRC BITS TO LDPC INFORMATION BITS
On long size downstream/upstream (16200,14400) LDPC code
After adding 32 bit CRC, the actual number of information bits is 14368
Need a (14400,14368) CRC code
On medium size upstream (5940, 5040) LDPC code
After adding 32 bit CRC, the actual number of information bits is 5008
Need a (5040,5008) CRC code
On short size upstream (1120, 840) LDPC code
After adding 32 bits CRC, the actual number of information bits is 808
Need a (840,808) CRC code
12
ON DOWNSTREAM LDPC CODE (4096 QAM)
0001579.0 when )(19050.00015792)(0.0222221
0.99778 :rate CRC)14368,14400(),( :CRC bits 32
14368:ninformatio code LDPC
2
ppHRRR
R kn
bits
BER (bit error rate)
(after max. 30 iterations LDPC decoding)
Best Pue
34.7 34.75 34.8 34.85 34.9 34.95 35 35.05 35.110
-20
10-18
10-16
10-14
10-12
10-10
10-8
SNR(dB)
Pue
34.7 34.75 34.8 34.85 34.9 34.95 35 35.05 35.110
-9
10-8
10-7
10-6
10-5
10-4
10-3
SNR (dB)
BE
R
DS LDPC(16200,14400)
4096QAM, 30it
4096QAM
13
ON LONG SIZE UPSTREAM LDPC CODE (4096 QAM)
0001579.0 when )(19050.00015792)(0.0222221
0.99778 :rate CRC)14368,14400(),( :CRC bits 32
14400:ninformatio code LDPC
2
ppHRRR
R kn
bits
BER (bit error rate)
(after max. 30 iterations LDPC decoding)
Best Pue
34.8 34.85 34.9 34.95 35 35.05 35.1 35.15 35.2
10-20
10-18
10-16
10-14
10-12
10-10
SNR(dB)
Pue
34.8 34.85 34.9 34.95 35 35.05 35.1 35.15 35.2
10-8
10-7
10-6
10-5
10-4
SNR (dB)
BE
R
US LDPC(16200,14400)
4096QAM, 30it
4096QAM
14
29.2 29.25 29.3 29.35 29.4 29.45 29.5 29.55 29.6 29.65
10-8
10-7
10-6
10-5
10-4
10-3
SNR (dB)
BE
R
US LDPC(16200,14400)
41024 QAM, 30it
ON LONG SIZE UPSTREAM LDPC CODE (1024 QAM)
0001579.0 when )(19050.00015792)(0.0222221
0.99778 :rate CRC)14368,14400(),( :CRC bits 32
14400:ninformatio code LDPC
2
ppHRRR
R kn
bits
BER (bit error rate)
(after max. 30 iterations LDPC decoding)
Best Pue
1024QAM
29.3 29.35 29.4 29.45 29.5 29.55 29.6
10-18
10-16
10-14
10-12
10-10
SNR(dB)
Pue
15
ON MEDIAN SIZE UPSTREAM LDPC CODE (1024 QAM)
0005133.0 when )(10180.00051326)(63492060.006349201
36507940.99365079 :rate CRC)5008,5040(),( :CRC bits 32
5040:ninformatio LDPC
2
ppHRRR
R kn
bits
BER (bit error rate)
(after max. 30 iterations LDPC decoding)
Best Pue
28 28.2 28.4 28.6 28.8 29
10-8
10-7
10-6
10-5
10-4
10-3
10-2
SNR (dB)
BE
R
US LDPC(5940,5040)
1024 QAM, 30it
28.3 28.4 28.5 28.6 28.7 28.8 28.9 29
10-20
10-18
10-16
10-14
10-12
SNR(dB)
Pue
16
ON SHORT SIZE UPSTREAM LDPC CODE (1024 QAM)
004059.0 when )(168390.00405948)(80952380.038095231
19047620.96190476 :rate CRC)808,840(),( :CRC bits 32
840 :coden informatio LDPC
2
ppHRRR
R kn
bits
BER (bit error rate)
(after max. 30 iterations LDPC decoding)
Best Pue
26 26.5 27 27.5 28 28.5
10-8
10-7
10-6
10-5
10-4
10-3
10-2
SNR (dB)
BE
R
US LDPC(1120,840)
1024 QAM, 30it
26.4 26.6 26.8 27 27.2 27.4 27.6 27.8 28 28.2 28.4
10-25
10-20
10-15
10-10
SNR(dB)
Pue
17
CONCLUSION
A bound for probability of an undetected error using CRC has been presented
The bound is calculated for the proposed long, medium, and short codes for active plant for adding a 32 bit CRC to each codeword
The overhead in adding a 32 bit CRC is only 0.2%, 0.6%, and 3.8% for the long, medium, and short size codes respectively
The probability of an undetected error is less than 1e-18 above the threshold probability of error for these codes