IP Library › Granted Patent US 10,784,900
Granted Patent B2
US 10,784,900 · App. 16/272,937 · Granted Sep 22, 2020

Rate matching method and apparatus for polar code

Inventors: Gongzheng Zhang (Hangzhou, CN); Ying Chen (Hangzhou, CN); Rong Li (Hangzhou, CN); Chaolong Zhang (Hangzhou, CN); Yourui Huangfu (Hangzhou, CN); Huazi Zhang (Hangzhou, CN)
Assignee: Huawei Technologies Co., Ltd.
H03M13/6362H03M13/13H03M13/2903H03M13/616
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,784,900
App. No.
16/272,937
Granted
Sep 22, 2020
Kind
B2
Abstract

A rate matching method for a polar code is provided, to improve performance. The method includes: encoding, based on an N*N encoding matrix of a polar code, a sequence including N first bits, to generate a mother code including N second bits, where the N first bits are in a one-to-one correspondence with N rows in the encoding matrix in sequence, and the N second bits are in a one-to-one correspondence with N columns in the encoding matrix in sequence; determining N−M to-be-punctured second bits from the N second bits, where at least one first bit in N−M first bits participating in encoding of the N−M second bits belongs to the first M first bits in the N first bits, and the N−M first bits are fixed bits; and puncturing the N−M second bits, to obtain a target polar code including M second bits.

Claims (314)

1. A method comprising:

encoding, by a first communication device, based on an N*N encoding matrix of a polar code, a sequence comprising N first bits to generate a mother code comprising N second bits, wherein the N first bits are in a one-to-one correspondence with N rows in the encoding matrix in sequence, and the N second bits are in a one-to-one correspondence with N columns in the encoding matrix in sequence;

determining, by the first communication device, N−M to-be-punctured second bits from the N second bits, wherein at least one first bit in N−M first bits participating in encoding of the N−M second bits belongs to the first M first bits in the N first bits, and the N−M first bits are fixed bits;

puncturing, by the first communication device, the N−M second bits, to obtain a target polar code comprising M second bits;

obtaining encoded data, by the first communication device, by applying the target polar code to data to be encoded; and

transmitting, by the first communication device, a signal with the encoded data to a second communication device.

2. The method according to claim 1 , wherein the encoding matrix is G N , G N =F 2 ⊗(log 2 (N)) ,

F

2

=

[

1

0

1

1

]

,

and wherein F 2 ⊗(log 2 (N)) represents a Kronecker product of log 2 N matrices F 2 .

3. The method according to claim 2 , wherein sequence numbers of the N−M second bits are the same as values of elements in a second sequence, wherein a second sequence is a sequence of bit-reversal values of values of elements in a first sequence, and wherein the first sequence is

(

M

,

M

+

1

,

⋯

⁢

,

N

-

1

︸

N

-

M

)

.

4. The method according to claim 2 , wherein sequence numbers of the N−M second bits are the same as sequence numbers of the first N−M elements whose values are in descending order in a fourth sequence, the fourth sequence being a sequence of bit-reversal values of values of elements in a third sequence, and the third sequence being

(

0

,

1

,

⋯

⁢

,

N

-

1

︸

N

)

.

5. The method according to claim 2 , wherein sequence numbers of the N−M second bits are the same as sequence numbers of elements whose values are o in a second auxiliary sequence p 0 N−1 , the second auxiliary sequence p 0 N−1 and a first auxiliary sequence

q

0

N

-

1

=

(

1

,

1

,

⋯

⁢

,

1

︸

M

,

0

,

0

,

⋯

⁢

,

0

︸

N

-

M

)

meeting a formula p i =p D(b n−1 b n−2 . . . b 0 ) =q D(b 0 b 1 . . . b n−1 ) , with p i representing a value of an i th element in the second auxiliary sequence, i=D(b n−1 b n−2 . . . b o ),

D

⁡

(

b

n

-

1

⁢

b

n

-

2

⁢

…

⁢

⁢

b

0

)

=

∑

j

=

0

n

-

1

⁢

⁢

b

j

·

2

j

,

o≤i≤N−1, N=2 n , and b j being a binary number.

6. The method according to claim 2 ,

wherein the N−M second bits are sequentially determined based on N−M rounds of operations,

wherein a first round of operation in the N−M rounds of operations comprises determining a second bit corresponding to an N th column in the N columns as a to-be-punctured second bit, and

wherein a (j+1) th round of operation in the N−M rounds of operations comprises:

determining an (N−j)*(N−j) auxiliary encoding matrix, wherein the auxiliary encoding matrix is a matrix obtained after rows and columns corresponding to to-be-punctured second bits determined in the first j rounds are deleted from the encoding matrix, and 1≤j≤N−M−1,

determining candidate columns from N−j columns in the auxiliary encoding matrix, wherein each of the candidate column comprises only one element whose value is 1,

determining a target column from the candidate columns, and

determining a second bit corresponding to the target column as the to-be-punctured second bit.

7. The method according to claim 6 , wherein determining the target column from the candidate columns comprises:

determining a candidate column whose sequence number is the smallest in the candidate columns as the target column; or

determining a code weight of a row corresponding to each of the candidate columns, wherein the row corresponding to each candidate column is a row in which an element whose value is 1 in each candidate column is located, and determining a candidate column corresponding to a row whose code weight is the smallest in the candidate columns as the target column; or

determining a polarization weight of a row corresponding to each of the candidate columns, wherein the row corresponding to each candidate column is a row in which an element whose value is 1 in each candidate column is located, and determining a candidate column corresponding to a row whose polarization weight is the smallest in the candidate columns as the target column.

8. The method according to claim 1 , wherein the encoding matrix is G N , G N =B N F 2 ⊗(log 2 (N)) ,

F

2

=

[

1

0

1

1

]

,

and wherein F 2 ⊗(log 2 (N)) represents a Kronecker product of log 2 N matrices F 2 , B N is a bit-reversal permutation matrix, and the N−M second bits are in a one-to-one correspondence with the last N−M columns in the encoding matrix.

9. An communication apparatus comprising:

a memory configured to store a program;

a processor configured to execute the program stored in the memory and cause the apparatus to:

encode, based on an N*N encoding matrix of a polar code, a sequence comprising N first bits to generate a mother code comprising N second bits, wherein the N first bits are in a one-to-one correspondence with N rows in the encoding matrix in sequence, and the N second bits are in a one-to-one correspondence with N columns in the encoding matrix in sequence,

determine N−M to-be-punctured second bits from the N second bits, wherein at least one first bit in N−M first bits participating in encoding of the N−M second bits belongs to the first M first bits in the N first bits, and the N−M first bits are fixed bits, and

puncture the N−M second bits, to obtain a target polar code comprising M second bits, wherein the processor is further configured to:

obtain encoded data by applying the target polar code to data to be encoded; and

a transceiver configured to transmit a signal with the encoded data to another communication device.

10. The communication apparatus according to claim 9 , wherein the encoding matrix is G N , G N =F 2 ⊗(log 2 (N)) ,

F

2

=

[

1

0

1

1

]

,

and wherein F 2 ⊗(log 2 (N)) represents a Kronecker product of log 2 N matrices F 2 .

11. The apparatus according to claim 10 , wherein sequence numbers of the N−M second bits are the same as values of elements in a second sequence, wherein a second sequence is a sequence of bit-reversal values of values of elements in a first sequence, and wherein the first sequence is

(

M

,

M

+

1

,

⋯

⁢

,

N

-

1

︸

N

-

M

)

.

12. The communication apparatus according to claim 10 , wherein sequence numbers of the N−M second bits are the same as sequence numbers of the first N−M elements whose values are in descending order in a fourth sequence, the fourth sequence being a sequence of bit-reversal values of values of elements in a third sequence, and the third sequence being

(

0

,

1

,

⋯

⁢

,

N

-

1

︸

N

)

.

13. The communication apparatus according to claim 10 , wherein sequence numbers of the N−M second bits are the same as sequence numbers of elements whose values are o in a second auxiliary sequence p 0 N−1 , the second auxiliary sequence p 0 N−1 and a first auxiliary sequence

q

0

N

-

1

=

(

1

,

1

,

⋯

⁢

,

1

︸

M

,

0

,

0

,

⋯

⁢

,

0

︸

N

-

M

)

meeting a formula p i =p D(b n−1 b n−2 . . . b 0 ) =q D(b 0 b 1 . . . b n−1 ) , with p i representing a value of an i th element in the second auxiliary sequence, i=D(b n−1 b n−2 . . . b o ),

D

⁡

(

b

n

-

1

⁢

b

n

-

2

⁢

…

⁢

⁢

b

0

)

=

∑

j

=

0

n

-

1

⁢

⁢

b

j

·

2

j

,

o≤i≤N−1, N=2 n , and b j being a binary number.

14. The communication apparatus according to claim 10 , wherein the processor is configured to execute the program stored in the memory and cause the apparatus to:

sequentially determine the N−M second bits based on N−M rounds of operations,

wherein, for a first round of operation in the N−M rounds of operations, determine a second bit corresponding to an N th column in the N columns as a to-be-punctured second bit, and

wherein, for a (j+1) th round of operation in the N−M rounds of operations,

determine an (N−j)*(N−j) auxiliary encoding matrix, wherein the auxiliary encoding matrix is a matrix obtained after rows and columns corresponding to to-be-punctured second bits determined in the first j rounds are deleted from the encoding matrix, and 1≤j≤N−M−1,

determine candidate columns from N—j columns in the auxiliary encoding matrix, wherein the candidate column comprises only one element whose value is 1,

determine a target column from the candidate columns, and

determine a second bit corresponding to the target column as the to-be-punctured second bit.

15. The communication apparatus according to claim 14 , wherein determining the target column from the candidate columns comprises determining the target column by:

determine a candidate column whose sequence number is the smallest in the candidate columns as the target column; or

determine a code weight of a row corresponding to each of the candidate columns, wherein the row corresponding to each candidate column is a row in which an element whose value is 1 in each candidate column is located, and determine a candidate column corresponding to a row whose code weight is the smallest in the candidate columns as the target column; or

determine a polarization weight of a row corresponding to each of the candidate columns, wherein the row corresponding to each candidate column is a row in which an element whose value is 1 in each candidate column is located, and determine a candidate column corresponding to a row whose polarization weight is the smallest in the candidate columns as the target column.

16. The communication apparatus according to claim 9 , wherein the encoding matrix is G N , G N =B N F 2 ⊗(log 2 (N)) ,

F

2

=

[

1

0

1

1

]

,

and wherein F 2 ⊗(log 2 (N)) represents a Kronecker product of log 2 N matrices F 2 , B N is a bit-reversal permutation matrix, and the N−M second bits are in a one-to-one correspondence with the last N−M columns in the encoding matrix.

17. A non-transitory machine readable storage medium storing instructions which, when executed by an apparatus, causes the apparatus to:

encode, based on an N*N encoding matrix of a polar code, a sequence comprising N first bits to generate a mother code comprising N second bits, wherein the N first bits are in a one-to-one correspondence with N rows in the encoding matrix in sequence, and the N second bits are in a one-to-one correspondence with N columns in the encoding matrix in sequence;

determine N−M to-be-punctured second bits from the N second bits, wherein at least one first bit in N−M first bits participating in encoding of the N−M second bits belongs to the first M first bits in the N first bits, and the N−M first bits are fixed bits;

puncture the N−M second bits, to obtain a target polar code comprising M second bits

obtain encoded data by applying the target polar code to data to be encoded; and

transmit a signal with the encoded data to another communication device.

18. The non-transitory machine readable storage medium according to claim 17 , wherein the encoding matrix is G N , G N =F 2 ⊗(log 2 (N)) ,

F

2

=

[

1

0

1

1

]

,

and wherein and F 2 ⊗(log 2 (N)) represents a Kronecker product of log 2 N matrices F 2 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2020
From: ZHANG, GONGZHENG; CHEN, YING; LI, RONG; ZHANG, CHAOLONG; HUANGFU, YOURUI; ZHANG, HUAZI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 052524/0096 →
Priority Claims (1)
CN 2016 1 0664998 · Aug 11, 2016 · national
Continuity (2)
Continuation PCTCN2017091057 · Jun 30, 2017
Related Publication 20190173491A1 · Jun 6, 2019