IP Library Granted Patent US 10,742,239
Granted Patent B2
US 10,742,239 · App. 16/092,934 · Granted Aug 11, 2020

Method for decoding a polar code with inversion of unreliable bits

Inventors: Ludovic Chandesris (Grenoble, FR); David Declercq (Ableiges, FR); Valentin Savin (Grenoble, FR)
Assignees: COMMISSARIAT ÀL'ÉNERGIE ATOMIQUE ET AUX ÉNERGIES ALTERNATIVES; CY CERGY PARIS UNIVERSITÉ; ECOLE NATIONALE SUPERIEURE DE L'ELECRONIQUE ET DE SES APPLICATIONS (ENSEA)
H03M13/458H03M13/13H03M13/09
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,742,239
App. No.
16/092,934
Granted
Aug 11, 2020
Kind
B2
Abstract

A polar code decoding method in which a first decoding attempt by successive cancellation is performed and in the case where the decoded frame is erroneous, an ordered list of bit positions to be tested in the frame is generated, the order relation being given by a metric of first error, the value of this metric depending on the reliability of the decision about the bit as well as on the reliability of the decisions about the bits preceding it in the frame. For each of the positions of the list, an inversion of the bit and a decoding of the subsequent bits are undertaken, doing so as long as the list has not been exhausted or the frame has not been decoded without error. In case of failure, a new decoding attempt based on a double-inversion of bits can be envisaged.

Claims (587)

1. Method for decoding a polar code in which a first successive cancellation decoding step ( 510 , 810 ) is done, and in which if it is detected that the decoded frame is incorrect ( 520 , 820 ), there is generated ( 530 , 830 ) a first ordered list (L flip )of positions in the frame for which a bit inversion is to be tested, and, for each position in the first list and in the order of the first list, the value of the bit in the frame corresponding to said position is inverted ( 550 , 850 ), and a second successive cancellation decoding ( 560 , 860 ) is carried out for subsequent bits in the frame until there is no error in the decoded frame or the first list is exhausted, wherein the bits in the first list are ordered as a function of a first metric (M(k)), the value of said first metric for a bit in the frame dependent on the reliability of this bit and the reliability of decisions on at least one sub-set of bits preceding it in the frame.

2. Method for decoding a polar code according to claim 1 , wherein the value of the first metric for the k ème bit in the frame is given by M(k)=|LLR(k)|+α.S.Card {Ω k } in which Ω k is the set of indices i<k such that |LLR(i)|≤S, LLR(i) is the logarithmic likelihood ratio for the i ème bit in the frame, S>0 is a threshold value and 0<α≤1 is a weighting factor.

3. Method for decoding a polar code according to claim 2 , wherein the weighting factor α is chosen to be approximately equal to 1/S.

4. Method for decoding a polar code according to claim 1 , wherein the value of the first metric for the k ème bit in the frame is given by

M

(

k

)

=

LLR

(

k

)

+

α

·

i

=

1

k

-

1

exp

(

-

β

LLR

(

i

)

)

in which LLR(i) is the logarithmic likelihood ratio for the i ème bit in the frame, 0<α≤1 is a weighting factor and β is a forgetting factor.

5. Method for decoding a polar code according to claim 1 , wherein the value of the first metric for the k ème bit in the frame is given by

M

(

k

)

=

1

1

+

e

α

LLR

(

k

)

i

=

1

k

-

1

1

1

+

e

-

α

LLR

(

i

)

in which LLR(i) is the logarithmic likelihood ratio for the i ème bit in the frame, α is a weighting factor.

6. Method for decoding a polar code according to claim 1 , wherein the value of the first metric for the kème bit in the frame is given by:

M

(

k

)

=

{

0

if

LLR

(

k

)

>

S

f

k

(

-

LLR

(

k

)

)

f

k

(

-

LLR

(

k

)

)

+

f

k

(

LLR

(

k

)

)

i

Ω

k

f

i

(

-

LLR

(

i

)

)

f

i

(

-

LLR

(

i

)

)

+

f

i

(

LLR

(

i

)

)

otherwise

in which Ω k is the set of indices i<k such that |LLR(i)|≤S, LLR(i) is the logarithmic likelihood ratio for the i ème bit of the frame, S>0 is a threshold value and f i is the mass distribution function of the LLR(i) ratio quantified on a predetermined number of bits.

7. Method for decoding a polar code according to claim 1 , wherein if all elements of the first list have been considered and the decoded frame is still incorrect, for each position (i m ) in the first list (L flip ), the bit in this first position ( 821 ) is inverted, a third successive cancellation of subsequent bits in the frame ( 825 ) is performed and a second ordered list of second positions (L flip (2) (i m )) is generated ( 831 ), for which the inversion, combined with inversion of the bit i m , is to be tested, the bits of the second list being ordered as a function of a second metric (M II (i m ,j)), the value of the second metric for a bit in the frame dependent on the reliability of the decision on this bit and on the reliability of decisions on at least one subset of bits contained between the first positions i m and the second positions j, and that for each second position (j) in the second list, in the order of this second list, the bit at this second position is inverted and a fourth successive cancellation decoding is made on subsequent bits in the frame ( 861 ), the third decoding and the fourth decoding being repeated until the decoded frame no longer contains any errors or until the first list and the second lists associated with each of the first positions of the first list respectively have all been considered.

8. Method for decoding a polar code according to claim 7 , wherein the value of the second metric for the j ème bit in the frame is given by M II (i m , j)=|LLR(j)|+α II .S.Card{Ω i m ,j } in which Ω i m ,j is the set of indices i m <i<j such that |LLR(i)|≤S, LLR(i) is the logarithmic likelihood ratio for the i ème bit in the frame, S>0 is a threshold value and 0<α II ≤1 is a weighting factor.

9. Method for decoding a polar code according to claim 8 , wherein the weighting factor α II is chosen to be approximately equal to 1/S.

10. Method for decoding a polar code according to claim 7 , wherein the value of the second metric for the j ème bit in the frame is given by

M

II

(

i

m

,

j

)

=

LLR

(

j

)

+

α

II

·

i

=

i

m

+

1

j

-

1

exp

(

-

β

LLR

(

i

)

)

in which LLR(i) is the logarithmic likelihood ratio for the i ème bit in the frame, 0<α II ≤1 is a weighting factor and β is a forgetting factor.

11. Method for decoding a polar code according to claim 7 , wherein the value of the second metric for the j ème bit in the frame is given by

M

II

(

i

m

,

j

)

=

1

1

+

e

α

II

LLR

(

j

)

i

=

i

m

+

1

j

-

1

1

1

+

e

-

α

II

LLR

(

i

)

in which LLR(i) is the logarithmic likelihood ratio for the i ème bit in the frame, α II is a weighting factor.

12. Method for decoding a polar code according to claim 7 , wherein the value of the second metric for the j ème bit in the frame is given by:

M

3

II

(

i

m

,

j

)

=

{

0

if

LLR

(

j

)

>

S

f

j

(

-

LLR

(

j

)

)

f

j

(

-

LLR

(

j

)

)

+

f

j

(

LLR

(

j

)

)

i

Ω

i

m

,

j

f

i

(

-

LLR

(

i

)

)

f

i

(

-

LLR

(

i

)

)

+

f

i

(

LLR

(

i

)

)

otherwise

in which Ω i m ,j is the set of indices i m <i<j such that |LLR(i)|≤S, LLR(i) is the logarithmic likelihood ratio for the i ème bit of the frame, S>0 is a threshold value and f i is the mass distribution function of the LLR(i) ratio quantified on a predetermined number of bits.

13. Method for decoding a polar code according to claim 1 , wherein it comprises a plurality of successive cancellation decoding passes, each order P pass being associated with a set p of inversion configurations, each inversion configuration of p being defined by a P -uplet ε (P) of ordered positions in the frame for which the bit inversion is to be tested, the order P pass comprising a successive cancellation decoding for each inversion configuration ε (P) of p starting from the bit following the bit in the last position of said inversion configuration (u i p +1 ), after the bits in said inversion configuration have been inverted, the set p of inversion configurations ε (P) being scanned according to a sort induced by a metric (M (P) ), the decoding method changing to the higher inversion order P+1 when all inversion configurations of the set p have been tested with any error in the decoded frame.

14. Method for decoding a polar code according to claim 13 , wherein the inversion configurations ε (P) of p are sorted by increasing values, M 1 (P) (ε (P) ) of said order P metric, the value of said metric for a configuration ε (P) =(i 1 ,i 2 , . . . , i P−1 , i p ) being determined from the value of the order P−1 metric, M 1 (P−1) , the inversion configuration ε (P−1) =(i 1 ,i 2 , . . . , i P-31 1 ) of P−1 and reliabilities of decisions on bits at positions k=i P−1 +1, . . . , i p in the frame, by way of:

M 1 (P) (ε (P) )= M 1 (P−1) )+| LLR (ε (P) )|+α (P) S. Card{ k ∈[i p−1 +1 , . . . , i p −1 ],|LLR (ε (P−1) ,k )|< S }

in which 0<α (P) ≤1 is a weighting factor of said order P metric, S>0 is a predetermined threshold value, and LLR(ε )P−1) ,k) is the reliability of the decision of the bit in position k after successive cancellation decoding of bits subsequent to the bit at position i p−1 , the bits at positions i 1 ,i 2 , . . . ,i P−1 of ε (P−1) having previously been inverted.

15. Method for decoding a polar code according to claim 13 , wherein the inversion configurations ε (P) of p are sorted by increasing values, M 2 (P) (ε (P) ) of said order P metric, the value of said metric for a configuration ε (P) =(i 1 ,i 2 , . . . , i P−1 ,i p ) being determined from the value of the order P−1 metric, M 2 (P−1) , the inversion configuration ε (P−1) =(i 1 ,i 2 , . . . , i P−1 ) of P−1 and reliabilities of decisions on bits at positions k=i P−1 +1, . . . , i p in the frame, by way of:

M

2

(

P

)

(

ɛ

(

P

)

)

=

M

2

(

P

-

1

)

(

ɛ

(

P

-

1

)

)

+

LLR

(

ɛ

(

P

)

)

+

α

(

P

)

k

=

i

P

-

1

+

1

i

P

-

1

exp

(

LLR

(

ɛ

(

P

-

1

)

,

k

)

)

in which 0<α (P) ≤1 is a weighting factor of said order P metric, and LLR (ε (P−1) ,k) is the reliability of the decision of the bit in position k after successive cancellation decoding of bits subsequent to the bit at position i P-31 1 , the bits at positions i 1 ,i 2 , . . . ,i P−1 of ε (P−1) ,k) having previously been inverted.

16. Method for decoding a polar code according to claim 13 , wherein the inversion configurations ε (P) of p are sorted by decreasing values, M 3 (P) ), of said order P metric, the value of said metric for a configuration ε (P) =(i 1 ,i 2 , . . . , i P−1 , i p ) being determined from the value of the order P−1 metric, M 3 (P−1) , the inversion configuration ε (P−1) =(i 1 ,i 2 , . . . , i P−1 ) of P−1 and reliabilities of decisions on bits at positions k=i P−1 +1 , . . . , i p in the frame, by means of:

M

3

(

P

)

(

ɛ

(

P

)

)

=

M

3

(

P

-

1

)

(

ɛ

(

P

-

1

)

)

·

1

1

+

exp

(

α

(

P

)

LLR

(

ɛ

(

P

)

)

)

·

k

=

i

P

-

1

+

1

i

P

-

1

1

1

+

exp

(

-

α

(

P

)

LLR

(

ɛ

(

P

)

,

k

)

)

in which 0<α (P) ≤1 is a weighting factor of said order P metric, and LLR(ε (P−1) ,k) is the reliability of the decision of the bit in position k after successive cancellation decoding of bits subsequent to the bit at position i P−1 , the bits at positions i 1 i 2 , . . . ,i P−1 of ε (P−1) having previously been inverted.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2020
From: UNIVERSITÉ DE CERGY-PONTOISE
To: CY CERGY PARIS UNIVERSITÉ
Reel/Frame 051887/0947 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2018
From: CHANDESRIS, LUDOVIC; DECLERCQ, DAVID; SAVIN, VALENTIN
To: COMMISSARIAT À L'ÉNERGIE ATOMIQUE ET AUX ÉNERGIES ALTERNATIVES; UNIVERSITE CERGY-PONTOISE; ECOLE NATIONALE SUPERIEURE DE L'ELECTRONIQUE ET DE SES APPLICATIONS (ENSEA)
Reel/Frame 047136/0036 →
Priority Claims (1)
FR 16 53339 · Apr 15, 2016 · national
Continuity (1)
Related Publication 20190132011A1 · May 2, 2019