1
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 Spectrum Nearest Neighbor Approximation on Undetected Error Probability A Convolutional-Code-Specific Redesign of the 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 x k 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) x m f (x)+ r (x)= q (x)p(x) q (x)p(x)c(x) ˜ r (x)= q (x)p(x)+ e(x) Yes No 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) P 1 UE,1 1 X d=d free a d X i=1 {p(x)|e d,i (x)} · max{0,n + v - l d,i +1} P(d), True union bound: Approximation: P 1 UE,1 1 X d= ˜ d+1 na d P(d)+ ˜ d X d=d free a d X i=1 {p(x)|e d,i (x)} · (n + v - l d,i + 1) + P(d), Undetectable double error P 1 UE,2 1 X d 1 =d free 1 X d 2 =d free a d 1 X i 1 =1 a d 2 X i 2 =1 n+v-l 1 -l 2 X g 1 =0 P(d 1 + d 2 ) · {p(x)|x g 1 +l 2 e 1 (x)+e 2 (x)} · (n + v - l 1 - l 2 - g 1 + 1) + , P 1 UE,2 X (d 1 ,d 2 )2D ˜ d,2 a d 1 X i 1 =1 a d 2 X i 2 =1 n+v-l 1 -l 2 X g 1 =0 P(d 1 + d 2 ) {p(x)|x g 1 +l 2 e 1 (x)+e 2 (x)} (n + v - l 1 - l 2 - g 1 + 1) + + X (d 1 ,d 2 ) / 2D ˜ d,2 1 2 (n - v )(n - v - 1) · a d 1 a d 2 P(d 1 + d 2 ), True union bound: Approximation: Union bound: 16 18 20 22 24 26 d 10 0 10 1 10 2 10 3 10 4 10 5 10 6 10 RI XndetectaEle errRrs Standard-8 Optimal-8 Standard-12 Optimal-12 Standard-16 Optimal-16 P 1 UE 1 X s=1 ˆ P 1 UE,s , S TANDARD CRC C ODES VERSUS O PTIMAL CRC C ODES FOR CC G = (561, 753) WITH n = 504 B ITS Name Gen. Poly. Undetected Error Distance Spectrum A d d 16 18 20 22 24 26 Standard-8 0x19B 983 4387 19909 105000 672724 3972970 Optimal-8 0x19D 0 979 22349 111304 686314 3830340 Standard-12 0x180F 0 0 969 5815 42893 245211 Optimal-12 0x108B 0 0 0 4793 45795 246729 Standard-16 0x11021 0 0 484 0 1765 14752 Optimal-16 0x1F8FD 0 0 0 0 0 13240 Remark 1. 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 =3d free d ˜ d Truncated Union Bound on Undetected Error Probability 0 1 2 3 4 5 6 10 -20 10 -15 10 -10 10 -5 10 0 Standard--8 Optimal-8 Standard-12 Optimal-12 Standard-16 Optimal-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]. P 1 UE A d CRC P(d CRC ) (A d CRC ,d CRC ) n = 504 Remark It is noticeable that the the minimum distance at which UEs first occur is always smaller 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 is denoted by (with error positions taken into account). d CRC d CRC A d CRC 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| =2 m-1 2: d = d free 3: while d d free do 4: Compute the number of UE of distance d by i th CRC polynomial 5: Update L by only preserving the ones with the fewest number of UE 6: d = d +1 7: if |L| =1 then 8: break 9: end if 10: end while

Undetected Error Distance Spectrum X A …hengjie/pdfs/poster_NASIT2018.pdfdistance d) are given as a comparison in Table I. All CRC code generator polynomials are represented in hexidecimal,

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Undetected Error Distance Spectrum X A …hengjie/pdfs/poster_NASIT2018.pdfdistance d) are given as a comparison in Table I. All CRC code generator polynomials are represented in hexidecimal,

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