Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Communication Systems Laboratory (CSL) - http://www.seas.ucla.edu/csl/
System Model Undetected Error Probability
Standard CRC Codes vs. Optimal CRC Codes for 3GPP (561,753) Convolutional Code
Undetected Error Distance SpectrumNearest Neighbor Approximation on
Undetected Error Probability
A Convolutional-Code-Specific Redesign ofthe 3GPP 8, 12, and 16-bit CRC Codes
Hengjie Yang, Richard D. Wesel
Optimal CRC Search Algorithm
[1] C. Y. Lou, B. Daneshrad, and R. D. Wesel, “Convolutional-code-specific CRC code design,” IEEE Trans. Commun., vol. 63, no. 10, pp. 3459–3470, Oct. 2015.[2] E. T. S. Institute, “3gpp ts 25.212 version 7.0.0 release 7.” [Online]. Available: http://www.etsi.org/deliver/etsi_ts/125200_125299/125212/07.00.00_60/ts_125212v070000p.pdf
Message xk CRC
Encoder p(x)Convolutional
Encoder c(x)QPSK
Modulator
AWGN
Channel
Output x̃k CRC
checks?
CRC
Decoder p(x)Soft Viterbi
Decoder
Output
NACK
f(x) xmf(x) + r(x) = q(x)p(x) q(x)p(x)c(x)
r̃(x) = q(x)p(x) + e(x)
Yes
No
1
※ Undetectable error (UE)※ For the output of the soft Viterbi decoder , the undetectable
error occurs when .
※ Undetectable single error
r̃(x) = q(x)p(x) + e(x)
2.2 Undetected Error Probability via Exclusion Method
Assume that a codeword erroneously identified by the Viterbi decoder is q(x)p(x) + e(x),where e(x) 6= 0 and is divisible by p(x). The undetected error probability P1
UE is theprobability that such an e(x) occurs with the most likely codeword identified by standardViterbi. The exclusion method enumerates all possible error patterns of the CC and excludesthose patterns that are detectable by the CRC decoder (i.e. not divisible by p(x)). Thus,the probability of selecting one of the remaining undetectable error patterns is equal toP1UE, which is upper bounded in [3] via a union bound on codeword error. Here, we briefly
present the union bound obtained via the exclusion method of [3].
2.2.1 Undetectable Single Error
An error event occurs when the decoded trellis path leaves the encoded trellis path onceand rejoins it once. The undetectable single error probability P1
UE,1 is upper bounded bythe union bound
P1UE,1
1X
d=dfree
adX
i=1
{p(x)|ed,i(x)} ·max{0, n+ v � ld,i + 1}P(d), (1)
where ad is the number of distinct undetectable single error events with CC output Ham-ming distance d, {·} is the indicator function, ed,i is the ith error event with distance d andlength ld,i, and P(d) is the pairwise error probability of decoding to a word at distance d.For QPSK modulation over the AWGN channel, P(d) can be computed using the GaussianQ-function:
P(d) = Q(p
d�s) Q(p
dfree �s)e�(d�dfree)�s/2 (2)
Here, �s = Es/N0 is the signal-to-noise ratio (SNR) of a QPSK symbol, and Es and N0/2denote the transmitted symbol energy and one-dimensional noise variance, respectively1.
A computation-friendly approximation of (1) is given as
P1UE,1
1X
d=d̃+1
nad P(d) +d̃X
d=dfree
adX
i=1
{p(x)|ed,i(x)} · (n+ v � ld,i + 1)+ P(d), (3)
where (·)+ is the positive part and d̃ is a threshold selected to approximate (1). See [3] formore details.
2.2.2 Undetectable Double Error
An undetectable double error involves two disjoint error events ed1,i1 and ed2,i2 with respec-tive lengths ld1,i1 and ld2,i2 . For simplicity, let eu and lu denote edu,iu and ldu,iu , respectively,
1In [3], there is a typo in the expression for equation (2) that includes erroneously a factor of two in thesquare root.
4
※ True union bound:
※ Approximation:
2.2 Undetected Error Probability via Exclusion Method
Assume that a codeword erroneously identified by the Viterbi decoder is q(x)p(x) + e(x),where e(x) 6= 0 and is divisible by p(x). The undetected error probability P1
UE is theprobability that such an e(x) occurs with the most likely codeword identified by standardViterbi. The exclusion method enumerates all possible error patterns of the CC and excludesthose patterns that are detectable by the CRC decoder (i.e. not divisible by p(x)). Thus,the probability of selecting one of the remaining undetectable error patterns is equal toP1UE, which is upper bounded in [3] via a union bound on codeword error. Here, we briefly
present the union bound obtained via the exclusion method of [3].
2.2.1 Undetectable Single Error
An error event occurs when the decoded trellis path leaves the encoded trellis path onceand rejoins it once. The undetectable single error probability P1
UE,1 is upper bounded bythe union bound
P1UE,1
1X
d=dfree
adX
i=1
{p(x)|ed,i(x)} ·max{0, n+ v � ld,i + 1}P(d), (1)
where ad is the number of distinct undetectable single error events with CC output Ham-ming distance d, {·} is the indicator function, ed,i is the ith error event with distance d andlength ld,i, and P(d) is the pairwise error probability of decoding to a word at distance d.For QPSK modulation over the AWGN channel, P(d) can be computed using the GaussianQ-function:
P(d) = Q(p
d�s) Q(p
dfree �s)e�(d�dfree)�s/2 (2)
Here, �s = Es/N0 is the signal-to-noise ratio (SNR) of a QPSK symbol, and Es and N0/2denote the transmitted symbol energy and one-dimensional noise variance, respectively1.
A computation-friendly approximation of (1) is given as
P1UE,1
1X
d=d̃+1
nad P(d) +d̃X
d=dfree
adX
i=1
{p(x)|ed,i(x)} · (n+ v � ld,i + 1)+ P(d), (3)
where (·)+ is the positive part and d̃ is a threshold selected to approximate (1). See [3] formore details.
2.2.2 Undetectable Double Error
An undetectable double error involves two disjoint error events ed1,i1 and ed2,i2 with respec-tive lengths ld1,i1 and ld2,i2 . For simplicity, let eu and lu denote edu,iu and ldu,iu , respectively,
1In [3], there is a typo in the expression for equation (2) that includes erroneously a factor of two in thesquare root.
4
※ Undetectable double error
Table 1: Standard CRC Codes versus Optimal CRC Codes for Convolutional CodeG = (561 753) with n = 504 Bits
Name Gen. Poly. Undetected Error Distance Spectrumd 16 18 20 22 24 26
Standard-8 0x19B 983 4387 19909 105000 672724 3972970Optimal-8 0x19D 0 979 22349 111304 686314 3830340
Standard-12 0x180F 0 0 969 5815 42893 245211Optimal-12 0x108B 0 0 0 4793 45795 246729
Standard-16 0x11021 0 0 484 0 1765 14752Optimal-16 0x1F8FD 0 0 0 0 0 13240
for u 2 {1, 2}. The undetectable double error probability can be upper bounded by theunion bound
P1UE,2
1X
d1=dfree
1X
d2=dfree
ad1X
i1=1
ad2X
i2=1
n+v�l1�l2X
g1=0
P(d1 + d2) · {p(x)|xg1+l2e1(x)+e2(x)}
· (n+ v � l1 � l2 � g1 + 1)+, (4)
where g1 represents the gap between e1(x) and e2(x). A computation-friendly approxima-tion of (4) is given as follows:
P1UE,2
X
(d1,d2)2Dd̃,2
ad1X
i1=1
ad2X
i2=1
n+v�l1�l2X
g1=0
P(d1 + d2)
· {p(x)|xg1+l2e1(x)+e2(x)}(n+ v � l1 � l2 � g1 + 1)+
+X
(d1,d2)/2Dd̃,2
1
2(n� v)(n� v � 1) · ad1ad2 P(d1 + d2), (5)
where Dd̃,2 = {(d1, d2)|d1, d2 � dfree, d1 + d2 d̃}. We refer the reader to [3] for moredetails.
2.2.3 Undetected Error Probability
In general, the UE probability P1UE is upper bounded by the sum of the probability of
arbitrary number of disjoint error event combinations, which can be generalized as follows:
P1UE
1X
s=1
P̂1UE,s , (6)
5
Table 1: Standard CRC Codes versus Optimal CRC Codes for Convolutional CodeG = (561 753) with n = 504 Bits
Name Gen. Poly. Undetected Error Distance Spectrumd 16 18 20 22 24 26
Standard-8 0x19B 983 4387 19909 105000 672724 3972970Optimal-8 0x19D 0 979 22349 111304 686314 3830340
Standard-12 0x180F 0 0 969 5815 42893 245211Optimal-12 0x108B 0 0 0 4793 45795 246729
Standard-16 0x11021 0 0 484 0 1765 14752Optimal-16 0x1F8FD 0 0 0 0 0 13240
for u 2 {1, 2}. The undetectable double error probability can be upper bounded by theunion bound
P1UE,2
1X
d1=dfree
1X
d2=dfree
ad1X
i1=1
ad2X
i2=1
n+v�l1�l2X
g1=0
P(d1 + d2) · {p(x)|xg1+l2e1(x)+e2(x)}
· (n+ v � l1 � l2 � g1 + 1)+, (4)
where g1 represents the gap between e1(x) and e2(x). A computation-friendly approxima-tion of (4) is given as follows:
P1UE,2
X
(d1,d2)2Dd̃,2
ad1X
i1=1
ad2X
i2=1
n+v�l1�l2X
g1=0
P(d1 + d2) {p(x)|xg1+l2e1(x)+e2(x)}(n+ v � l1 � l2 � g1 + 1)+
+X
(d1,d2)/2Dd̃,2
1
2(n� v)(n� v � 1) · ad1ad2 P(d1 + d2),
where Dd̃,2 = {(d1, d2)|d1, d2 � dfree, d1 + d2 d̃}. We refer the reader to [3] for moredetails.
2.2.3 Undetected Error Probability
In general, the UE probability P1UE is upper bounded by the sum of the probability of
arbitrary number of disjoint error event combinations, which can be generalized as follows:
P1UE
1X
s=1
P̂1UE,s , (5)
where the P̂1UE,s refers to the union bound on the s-tuple undetectable error as shown in (1)
and (4) as examples. The corresponding approximation of (5) given in [3] uses a maximum
5
※ True union bound:
※ Approximation:
※ Union bound:
distance d) are given as a comparison in Table I. All CRCcode generator polynomials are represented in hexidecimal,as used in [1], and d represents the convolutional code outputHamming distance.
TABLE ISTANDARD CRC CODES VERSUS OPTIMAL CRC CODES FORCONVOLUTIONAL CODE G = (561 753) WITH n = 504 BITS
Name Gen. Poly. Undetected Error Distance Spectrumd 16 18 20 22 24 26
Standard-8 0x19B 983 4387 19909 105000 672724 3972970Optimal-8 0x19D 0 979 22349 111304 686314 3830340
Standard-12 0x180F 0 0 969 5815 42893 245211Optimal-12 0x108B 0 0 0 4793 45795 246729
Standard-16 0x11021 0 0 484 0 1765 14752Optimal-16 0x1F8FD 0 0 0 0 0 13240
16 18 20 22 24 26d
100
101
102
103
104
105
106
10
ndetecta
leerrrs
Standard-8Optimal-8Standard-12Optimal-12Standard-16Optimal-16
Fig. 1. The undetected error distance spectrum of standard CRC codes versusoptimal CRC codes for (561, 753) convolutional code with n = 504 bits.
Fig. 2. The upper bound of undetected error probability of standard CRCcodes versus optimal CRC codes for (561, 753) code with n = 504 bits
Fig 1 shows the histogram of the undetected error distancespectrum in Table I. It is noticeable that for standard CRC codeof degree m, the minimum distance at which undetected errorsfirst occur, i.e., dCRC, is always smaller than the correspondingdegree-m optimal CRC code, which is the fundamental reason
why the optimal CRC codes are better than the standard CRCcodes. Fig 2 shows the theoretical upper bounds of undetectederror probability for each CRC codes.
III. SERIAL LIST VITERBI DECODING ALGORITHM(S-LVA) WITH OPTIMAL CRC CODE
Serial list Viterbi decoding algorithm (S-LVA) finds onemost promising sequence at a time and passes it to the CRCcode for verification. If the CRC check fails, S-LVA outputsthe next most promising sequence and repeats the aboveprocedure until the CRC check is successful. The ith mostpromising sequence is the sequence at position i in the list ofall possible sequences sorted according to increasing distancefrom the received noisy codeword.
We first study the case of S-LVA with unbounded list size.That is, the decoder successively outputs the next promisingsequence until the CRC check passes. Because of the existenceof codewords that check the CRC, the decoding process isessentially a stopping process that will terminate in a finitenumber of decoding trials. In our system model, building onthe work of [7], we use S-LVA combined with the optimalCRC code designed for the convolutional code.
A. Performance Analysis
With the optimality of the CRC code, we show that theFER using S-LVA can be reduced to the underlying minimumundetected error probability for the convolutionally codedsystem.
An example of the performance of S-LVA with optimal CRCcode is given in Fig 3. With k = 256 bits, the S-LVA combinedwith the optimal degree-6 CRC code 0x43 designed for the(13, 17) convolutional code successfully reduces the FER tothe underlying minimum undetected error probability. Theupper bound on the undetected error probability is obtainedusing the exclusion method of [7].
Fig. 3. Comparison of FER between S-LVA combined with the optimaldegree-6 CRC code and Soft Viterbi decoding with k = 256 bits.
B. Complexity Analysis
In [5], the authors present tables that compare the time andspace complexity for different implementations of the LVA.For a fixed blocklength and a convolutional code, the decoding
Table 1: Standard CRC Codes versus Optimal CRC Codes for Convolutional CodeG = (561 753) with n = 504 Bits
Name Gen. Poly. Undetected Error Distance Spectrumd 16 18 20 22 24 26
Standard-8 0x19B 983 4387 19909 105000 672724 3972970Optimal-8 0x19D 0 979 22349 111304 686314 3830340
Standard-12 0x180F 0 0 969 5815 42893 245211Optimal-12 0x108B 0 0 0 4793 45795 246729
Standard-16 0x11021 0 0 484 0 1765 14752Optimal-16 0x1F8FD 0 0 0 0 0 13240
for u 2 {1, 2}. The undetectable double error probability can be upper bounded by theunion bound
P1UE,2
1X
d1=dfree
1X
d2=dfree
ad1X
i1=1
ad2X
i2=1
n+v�l1�l2X
g1=0
P(d1 + d2) · {p(x)|xg1+l2e1(x)+e2(x)}
· (n+ v � l1 � l2 � g1 + 1)+, (4)
where g1 represents the gap between e1(x) and e2(x). A computation-friendly approxima-tion of (4) is given as follows:
P1UE,2
X
(d1,d2)2Dd̃,2
ad1X
i1=1
ad2X
i2=1
n+v�l1�l2X
g1=0
P(d1 + d2)
· {p(x)|xg1+l2e1(x)+e2(x)}(n+ v � l1 � l2 � g1 + 1)+
+X
(d1,d2)/2Dd̃,2
1
2(n� v)(n� v � 1) · ad1ad2 P(d1 + d2), (5)
where Dd̃,2 = {(d1, d2)|d1, d2 � dfree, d1 + d2 d̃}. We refer the reader to [3] for moredetails.
2.2.3 Undetected Error Probability
In general, the UE probability P1UE is upper bounded by the sum of the probability of
arbitrary number of disjoint error event combinations, which can be generalized as follows:
P1UE
1X
s=1
P̂1UE,s , (6)
5
TABLE ISTANDARD CRC CODES VERSUS OPTIMAL CRC CODES FOR CC
G = (561, 753) WITH n = 504 BITS
Name Gen. Poly. Undetected Error Distance Spectrum Ad
d 16 18 20 22 24 26
Standard-8 0x19B 983 4387 19909 105000 672724 3972970Optimal-8 0x19D 0 979 22349 111304 686314 3830340
Standard-12 0x180F 0 0 969 5815 42893 245211Optimal-12 0x108B 0 0 0 4793 45795 246729
Standard-16 0x11021 0 0 484 0 1765 14752Optimal-16 0x1F8FD 0 0 0 0 0 13240
where Dd̃,2 = {(d1, d2)|d1, d2 � dfree, d1 + d2 d̃}. Werefer the reader to [3] for more details.
3) Undetected Error Probability: In general, the UE prob-ability P1
UE is upper bounded by the sum of the probability ofarbitrary number of disjoint error event combinations, whichcan be generalized as follows:
P1UE
1X
s=1
P̂1
UE,s , (6)
where the P̂1
UE,s refers to the union bound on the s-tupleundetectable error as shown in (1) and (4) as examples.The corresponding approximation of (6) given in [3] uses amaximum search depth threshold of d̃. Due to this limitation,the exclusion method is only useful when undetectable errorswith distances d d̃ dominate.
In this paper, all truncated union bounds on UE probabilityare plotted by considering only the undetectable errors withd d̃ and neglecting the remainder terms.
C. Convolutional-Code-Specific CRC Code Search AlgorithmWhen FER is low, UE probability is dominated by the UEs
with the smallest distance. Thus, the algorithm to find anoptimal CRC code for a given CC focuses on UEs with thesmallest distances. Since the coefficients of xm and x0 areboth 1, there are 2m�1 candidate degree-m CRC generatorpolynomials. The CRC code search starts with d = dfreeand updates the candidate list by keeping only the CRCgenerator polynomials with the fewest undetectable errors atthat distance. The search then progressively increases d andrepeats the same procedure until only one polynomial remainsin the candidate list, the polynomial with the best "truncated"distance spectrum only considering distances up to d̃. Notethat when d � 2 dfree, undetectable double errors also have tobe considered. In [3], the authors point out that the algorithmusually terminates before d = 3 dfree.
D. Optimal CRC Codes for 3GPP StandardWe now present the optimal CRC codes designed for the
(561, 753) CC that is specified in the 3GPP TS 25.212 version7.0.0 Release 7 document [10]. The technical specificationdocument provides 8, 12, and 16-bit CRC codes. These CRCcodes and the corresponding newly designed optimal CRCcodes are given in Table I. The table presents the UE distancespectrum Ad (the number of distinct UEs at distance d withpositions taken into account) for each CRC. The CRC code
distance d) are given as a comparison in Table I. All CRCcode generator polynomials are represented in hexidecimal,as used in [1], and d represents the convolutional code outputHamming distance.
TABLE ISTANDARD CRC CODES VERSUS OPTIMAL CRC CODES FORCONVOLUTIONAL CODE G = (561 753) WITH n = 504 BITS
Name Gen. Poly. Undetected Error Distance Spectrumd 16 18 20 22 24 26
Standard-8 0x19B 983 4387 19909 105000 672724 3972970Optimal-8 0x19D 0 979 22349 111304 686314 3830340
Standard-12 0x180F 0 0 969 5815 42893 245211Optimal-12 0x108B 0 0 0 4793 45795 246729
Standard-16 0x11021 0 0 484 0 1765 14752Optimal-16 0x1F8FD 0 0 0 0 0 13240
16 18 20 22 24 26d
100
101
102
103
104
105
106
10
ndetecta
leerrrs
Standard-8Optimal-8Standard-12Optimal-12Standard-16Optimal-16
Fig. 1. The undetected error distance spectrum of standard CRC codes versusoptimal CRC codes for (561, 753) convolutional code with n = 504 bits.
Fig. 2. The upper bound of undetected error probability of standard CRCcodes versus optimal CRC codes for (561, 753) code with n = 504 bits
Fig 1 shows the histogram of the undetected error distancespectrum in Table I. It is noticeable that for standard CRC codeof degree m, the minimum distance at which undetected errorsfirst occur, i.e., dCRC, is always smaller than the correspondingdegree-m optimal CRC code, which is the fundamental reason
why the optimal CRC codes are better than the standard CRCcodes. Fig 2 shows the theoretical upper bounds of undetectederror probability for each CRC codes.
III. SERIAL LIST VITERBI DECODING ALGORITHM(S-LVA) WITH OPTIMAL CRC CODE
Serial list Viterbi decoding algorithm (S-LVA) finds onemost promising sequence at a time and passes it to the CRCcode for verification. If the CRC check fails, S-LVA outputsthe next most promising sequence and repeats the aboveprocedure until the CRC check is successful. The ith mostpromising sequence is the sequence at position i in the list ofall possible sequences sorted according to increasing distancefrom the received noisy codeword.
We first study the case of S-LVA with unbounded list size.That is, the decoder successively outputs the next promisingsequence until the CRC check passes. Because of the existenceof codewords that check the CRC, the decoding process isessentially a stopping process that will terminate in a finitenumber of decoding trials. In our system model, building onthe work of [7], we use S-LVA combined with the optimalCRC code designed for the convolutional code.
A. Performance AnalysisWith the optimality of the CRC code, we show that the
FER using S-LVA can be reduced to the underlying minimumundetected error probability for the convolutionally codedsystem.
An example of the performance of S-LVA with optimal CRCcode is given in Fig 3. With k = 256 bits, the S-LVA combinedwith the optimal degree-6 CRC code 0x43 designed for the(13, 17) convolutional code successfully reduces the FER tothe underlying minimum undetected error probability. Theupper bound on the undetected error probability is obtainedusing the exclusion method of [7].
Fig. 3. Comparison of FER between S-LVA combined with the optimaldegree-6 CRC code and Soft Viterbi decoding with k = 256 bits.
B. Complexity AnalysisIn [5], the authors present tables that compare the time and
space complexity for different implementations of the LVA.For a fixed blocklength and a convolutional code, the decoding
Fig. 1. Undetected error distance spectrum of standard CRC codes versusoptimal CRC codes for (561, 753) CC with n = 504 bits.
Fig. 2. (AdCRC , dCRC) nearest neighbor approximation (NNA) on P1UE
of standard CRC codes versus optimal CRC codes for (561, 753) CC withn = 504 bits. (Adfree , dfree) NNA on FER of soft Viterbi decoding withno CRC code for the same CC is also given as a reference.
generator polynomials are represented in hexadecimal and drepresents the CC output Hamming distance. Fig. 1 shows thehistogram of UE distance spectrum in Table I. For the degree-m CRC code in the 3GPP standard, the minimum distancedCRC at which UEs first occur is always smaller than thecorresponding degree-m optimal CRC code.
Fig. 2 shows the nearest neighbor approximations (NNAs)on P1
UE in (15) for each CRC code as well as the NNA of (13)on P1
NACK. Also shown is the NNA of the FER of soft Viterbidecoding with no CRC. As shown in Sec. III, these NNAs aretight at high SNR in our simulations. The figure shows thatconsiderable improvement in P1
UE can be obtained with CRCcodes designed specifically for the 3GPP G = (561, 753) CC.
III. S-LVA PERFORMANCE VS. SNR
S-LVA begins by finding the closest codeword c1 to thereceived sequence and passing it to the CRC code for verifi-cation. If the CRC check fails, S-LVA outputs the next closestcodeword c2 and repeats the above procedure until the CRCcheck is successful or the best L codewords c1, . . . cL all fail
Remark1. When FER is low, UE probability is dominated by the UEs with the smallest distance.2. In practice, one needs to pre-store all the error events with distance .3. The algorithm usually terminates before . 4. The optimal CRC codes designed for the 3GPP standard is found by this algorithm.
d = 3dfree
d d̃
Truncated Union Bound onUndetected Error Probability
0 1 2 3 4 5 610-20
10-15
10-10
10-5
100 Standard--8Optimal-8Standard-12Optimal-12Standard-16Optimal-16
Remark: The union bound is truncated at . Blocklength bits. d̃ = 26 Remark: NNA: . Recent research shows that NNA is a better approximation than the union bound proposed in [1].
P1UE AdCRCP(dCRC)(AdCRC , dCRC)n = 504
RemarkIt is noticeable that the the minimum distance at which UEs first occur is alwayssmaller than the corresponding degree-m optimal CRC code designed for (561, 753)convolutional code in the 3GPP standard. The number of UEs at in the table isdenoted by (with error positions taken into account).
dCRC
dCRC
AdCRC
Motivation※ Design the optimal CRC code with the techniques in [1] for (561, 753) convolutional code
used in 3GPP standard [2] such that the undetected error probability is minimized.※ Compare the performance between the optimal CRC code and the standard CRC code.
Algorithm 1 Convolutional-Code-Specific CRC Search Algorithm
1: Initialize the CRC candidate list L with |L| = 2m�1
2: d = dfree3: while d � dfree do4: Compute the number of UE of distance d by ith CRC polynomial5: Update L by only preserving the ones with the fewest number of UE6: d = d+ 17: if |L| = 1 then8: break9: end if
10: end while
1