IP Library › Granted Patent US 11,894,862
Granted Patent B2
US 11,894,862 · App. 17/566,338 · Granted Feb 6, 2024

Method and device for polar code encoding and decoding

Inventors: Valerio Bioglio (Boulogne Billancourt, FR); Carlo Condo (Munich, DE)
Assignee: Huawei Technologies Co., Ltd.
H03M13/616H03M13/3972
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 11,894,862
App. No.
17/566,338
Granted
Feb 6, 2024
Kind
B2
Abstract

The disclosure relates to generating a polar code and also to encoding and decoding data using a polar code. A method of generating a polar code includes obtaining a first matrix as an m-fold Kronecker product of a 2×2 binary lower triangular matrix where m=log 2(M/2), M<N, and N is the length of a polar code to be generated. A second matrix may be obtained, where the inverse of the second matrix is a lower triangular band matrix. A transformation matrix may be generated for the polar code by calculating a Kronecker product of the second matrix with the first matrix. An information set I identifying reliable bit channels for the polar code may be determined. A polar codeword of length N may be obtained using the polar code that is decodable by iteratively applying a sliding decoding window of length M to the polar codeword.

Claims (40)

1. An encoding method performed by an encoder, the method comprising:

obtaining a first matrix as an m-fold Kronecker product of a 2×2 binary lower triangular matrix, where m=log 2(M/2), M<N, and N is the length of a polar code to be generated;

obtaining a second matrix of dimension 2S×2S, where S=N/M and an inverse of the second matrix is a lower triangular band matrix;

generating a transformation matrix for the polar code by calculating a Kronecker product of the second matrix with the first matrix;

determining an information set I identifying reliable bit channels for the polar code;

obtaining a polar codeword of length N using the polar code; and

transmitting a transmission signal comprising the polar codeword to a receiving device.

2. The method according to claim 1 , wherein the polar codeword is decodable by iteratively applying a sliding decoding window of length M to the polar codeword.

3. The method according to claim 2 , where a successive decoding process using a polar code of size M/2 is applied to the windowed polar codeword during each iteration of the successive decoding process.

4. The method according to claim 1 , wherein determining the information set comprises:

estimating bit-error probability and/or log-likelihood ratios of first and second kernels having i bit channels, corresponding to the first and second matrices.

5. The method according to claim 1 , wherein the second matrix is a full binary lower triangular matrix.

6. The method according to claim 1 , wherein the step of obtaining the polar codeword of length N using the polar code comprises:

inserting K message bits into an input vector u according to the reliable bit channels identified by the information set I; and

generating a polar codeword using the input vector u by calculating the product of the input vector and the transformation matrix.

7. The method according to claim 1 , wherein the step of obtaining the polar codeword of length N using the polar code comprises:

inserting K message bits into an input vector u according to the reliable bit channels identified by the information set I of the polar code of length N;

dividing the input vector u into 2S sub-input vectors of size M/2;

encoding the sub-input vectors using the first matrix; and

iteratively adding respective bits of one or more encoded sub-input vectors to an immediately preceding encoded sub-input vector.

8. An encoding apparatus, comprising one or more processors and a memory storing instructions, wherein when the one or more processors execute the instructions in the memory, the one or more processors are configured to:

obtain a first matrix as an m-fold Kronecker product of a 2×2 binary lower triangular matrix, where m log 2(M/2), M<N, and N is the length of a polar code to be generated;

obtain a second matrix of dimension 2S×2S, where S=N/M and an inverse of the second matrix is a lower triangular band matrix;

generate a transformation matrix for the polar code by calculating a Kronecker product of the second matrix with the first matrix;

determine an information set I identifying reliable bit channels for the polar code;

obtain a polar codeword of length N using the polar code; and

transmit a transmission signal comprising the polar codeword to a receiving device.

9. The apparatus according to claim 8 , wherein the polar codeword is decodable by iteratively applying a sliding decoding window of length M to the polar codeword.

10. The apparatus according to claim 9 , wherein a successive decoding process using a polar code of size M/2 is applicable to the windowed polar codeword during each iteration of the successive decoding process.

11. The apparatus according to claim 8 , wherein the one or more processors are further configured to:

estimate bit-error probability and/or log-likelihood ratios of first and second kernels having i bit channels, corresponding to the first and second matrices.

12. The apparatus according to claim 8 , wherein the second matrix is a full binary lower triangular matrix.

13. The apparatus according to claim 8 , wherein the one or more processors are further configured to:

insert K message bits into an input vector u according to the reliable bit channels identified by the information set I; and

generate a polar codeword using the input vector u by calculating the product of the input vector and the transformation matrix.

14. The apparatus according to claim 8 , wherein the one or more processors are further configured to:

insert K message bits into an input vector u according to the reliable bit channels identified by the information set I of the polar code of length N;

divide the input vector u into 2S sub-input vectors of size M/2;

encode the sub-input vectors using the first matrix; and

iteratively add respective bits of one or more encoded sub-input vectors to an immediately preceding encoded sub-input vector.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2022
From: BIOGLIO, VALERIO; CONDO, CARLO
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 059254/0415 →
Continuity (2)
Continuation PCTEP2019067865 · Jul 3, 2019
Related Publication 20220123767A1 · Apr 21, 2022