IP Library Granted Patent US 11,088,709
Granted Patent B2
US 11,088,709 · App. 16/569,301 · Granted Aug 10, 2021

Polar code encoding method and apparatus

Inventors: Yourui Huangfu (Hangzhou, CN); Gongzheng Zhang (Hangzhou, CN); Chaolong Zhang (Hangzhou, CN); Rong Li (Hangzhou, CN); Jun Wang (Hangzhou, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H03M13/13H03M13/09H03M13/3944H04L1/0061H04L69/324H04L1/0066
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,088,709
App. No.
16/569,301
Granted
Aug 10, 2021
Kind
B2
Abstract

A polar code encoding method and apparatus are provided. The method includes: obtaining a basic sequence, where the basic sequence is a sequence obtained by sorting sequence numbers of polarized channels in descending order or ascending order of reliability, and a length of the basic sequence is L 1 ; determining, based on a maximum encoding length L 2 supported by a receiving device, a quantity M of segments of an information bit sequence whose length is N after encoding, where a quantity of bits in the information bit sequence before the encoding is K; and performing polar code encoding on the M segments based on the basic sequence. According to the polar code encoding method, during polar code construction, an encoding device needs to know only a reliability order of min(N/M, L 1 ) polarized channels. In this way, storage overheads of a nested sequence can be effectively reduced, and online computing complexity can be reduced.

Claims (79)

1. A polar code encoding method, comprising:

obtaining a basic sequence, wherein the basic sequence represents a sequence of polarized channels sorted in a descending order or an ascending order according to a reliability parameter corresponding to each of the polarized channels, wherein a length of the basic sequence is L 1 ;

determining, based on the basic sequence and an encoding length L 2 supported by a receiving device, M segments of an information bit sequence, wherein the information bit sequence after being encoded comprises N bits, wherein the information bit sequence before being encoded comprises K bits, wherein K is less than N, and wherein K, M, N, L 1 , L 2 are positive integer values;

separately encoding the M segments using a first encoding scheme, to obtain the M encoded segments; and

polar encoding the M encoded segments to obtain an encoded information bit sequence that comprises the N bits.

2. The method according to claim 1 , wherein the determining M segments of an information bit sequence comprises:

determining, based on the encoding length L 2 supported by the receiving device, M representing a quantity of the M segments;

obtaining to-be-sent information of each of the M segments, wherein the to-be-sent information comprises at least one information bits and at least one cyclic redundancy check (CRC) bits; and

setting a value of a corresponding segment based on the basic sequence and the to-be-sent information of each of the M segment.

3. The method according to claim 2 , wherein the obtaining to-be-sent information of the M segments of the information bit sequence comprises:

dividing the information bit sequence level by level until the M segments are obtained by:

determining two next-level segments of a present-level segment based on a bit rate of the present-level segment and information bits in the present-level segment, wherein an encoding length corresponding to each of the next-level segments is half of an encoding length corresponding to the present-level segment; and

separately adding a corresponding CRC code to each of the M segments, based on the information bits in each of the M segments, to obtain the to-be-sent information of each of the M segments.

4. The method according to claim 3 , wherein when M is less than or equal to N/L 1 , the method further comprises:

dividing the M segments level by level until the N/L 1 segments are obtained by:

determining two next-level segments of a present-level segment based on a bit rate of the present-level segment and information bits in the present-level segment, wherein an encoding length corresponding to each of the next-level segments is half of an encoding length corresponding to the present-level segment; and

setting a value of a corresponding segment based on the basic sequence and the to-be-sent information of each of the M segment.

5. The method according to claim 3 , wherein before dividing the information bit sequence level by level, the method further comprises:

obtaining a CRC code of the information bit sequence, wherein a length of the CRC code is J′; and

calculating a bit rate R of the information bit sequence based on an encoding length N, K, and J′ that are corresponding to the information bit sequence.

6. The method according to claim 2 , wherein obtaining to-be-sent information of the M segments of the information bit sequence comprises:

dividing the information bit sequence level by level until the M segments are obtained by:

determining information bits in two next-level segments of a present-level segment based on information bits in the present-level segment and an interleaving table of the present-level segment, wherein an encoding length corresponding to each of the next-level segments is half of an encoding length corresponding to the present-level segment, the interleaving table of the present-level segment is a sequence obtained by sorting polarized channels of the next-level segments in a descending order or an ascending order of reliability according to corresponding reliability parameters, wherein a total quantity of polarized channels in the interleaving table of the present-level segment is equal to the encoding length corresponding to the present-level segment; and

separately adding a corresponding CRC code to each of the M segments based on the information bits in each of the M segments, to obtain the to-be-sent information of each of the M segments.

7. The method according to claim 6 , wherein when M is less than or equal to N/L 1 , the method further comprises:

dividing the M segments level by level until N/L 1 segments are obtained by:

determining information bits in two next-level segments of a present-level segment based on information bits in the present-level segment and an interleaving table of the present-level segment to the next-level segments, wherein an encoding length corresponding to each of the next-level segments is half of an encoding length corresponding to the present-level segment, the interleaving table of the present-level segment is a sequence obtained by sorting polarized channels of the next-level segments in a descending order or an ascending order of reliability according to corresponding reliability parameters, wherein a total quantity of polarized channels in the interleaving table of the present-level segment is equal to the encoding length corresponding to the present-level segment; and

setting a value of a corresponding segment based on the basic sequence and the to-be-sent information of each of the M segment.

8. The method according to claim 7 , wherein the determining information bits in two next-level segments of a present-level segment based on information bits in the present-level segment and an interleaving table of the present-level segment to the next-level segments comprises:

alternately allocating the information bit sequence to the two next-level segments of the present-level segment in a descending order of reliability based on a sequence value in the present-level interleaving table.

9. A polar code encoding apparatus, comprising:

one or more processors; and

a non-transitory storage medium storing executable instructions, when executed by the one or more processors, causes the one or more processors to:

obtain a basic sequence, wherein the basic sequence represents a sequence of polarized channels sorted in a descending order or an ascending order according to a reliability parameter corresponding to each of the polarized channels, wherein a length of the basic sequence is L 1 ;

determine, based on the basic sequence and an encoding length L 2 supported by a receiving device, M segments of an information bit sequence, wherein the information bit sequence after being encoded comprises N bits, wherein the information bit sequence before being encoded comprises K bits, wherein K is less than N, and wherein K, M, N, L 1 , L 2 are positive integer values;

separately encode the M segments using a first encoding scheme, to obtain M encoded segments; and

perform polar code encoding on the M encoded segments to obtain an encoded information bit sequence that comprises the N bits.

10. The apparatus according to claim 9 , wherein the one or more processors are further to:

determine, based on the encoding length L 2 supported by the receiving device, M representing a quantity of the M segments;

obtain to-be-sent information of each of the M segments, wherein the to-be-sent information comprises information bits and cyclic redundancy check (CRC) bits; and

set a value of a corresponding segment based on the basic sequence and the to-be-sent information of each of the M segment.

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

divide the information bit sequence level by level until the M segments are obtained by:

determine two next-level segments of a present-level segment based on a bit rate of the present-level segment and information bits in the present-level segment, wherein an encoding length corresponding to each of the next-level segments is half of an encoding length corresponding to the present-level segment; and

in the M segments, separately add a corresponding CRC code to each of the M segments based on the information bits in each of the M segments, to obtain the to-be-sent information of the M segments.

12. The apparatus according to claim 11 , wherein when M is less than or equal to n/L 1 , one or more processors are further to:

divide the M segments level by level until n/L 1 segments are obtained by:

determine two next-level segments of a present-level segment based on a bit rate of the present-level segment and information bits in the present-level segment, wherein encoding length corresponding to each of the next-level segments is half of an encoding length corresponding to the present-level segment; and

set a value of a corresponding segment based on the basic sequence and the to-be-sent information of each of the M segment.

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

obtain a CRC code of the information bit sequence, wherein a length of the CRC code is J′; and

calculate a bit rate R of the information bit sequence based on an encoding length N, K, and J′ that are corresponding to the information bit sequence.

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

divide the information bit sequence level by level until the M segments are obtained by:

determine information bits in two next-level segments of a present-level segment based on information bits in the present-level segment and an interleaving table of the present-level segment, wherein an encoding length corresponding to each of the next-level segments is half of an encoding length corresponding to the present-level segment, the interleaving table of the present-level segment is a sequence obtained by sorting polarized channels of the next-level segments in a descending order or an ascending order of reliability according to corresponding reliability parameters, wherein a total quantity of polarized channels in the interleaving table of the present-level segment is equal to the encoding length corresponding to the present-level segment; and

separately add a corresponding CRC code to each of the M segments based on the information bits in each of the M segments, to obtain the to-be-sent information of the M segments.

15. The apparatus according to claim 14 , wherein when M is less than or equal to N/L 1 , the one or more processors are further to:

divide the M segments level by level until N/L 1 segments are obtained by:

determine information bits in two next-level segments of a present-level segment based on information bits in the present-level segment and an interleaving table of the present-level segment to the next-level segments, wherein an encoding length corresponding to each of the next-level segments is half of an encoding length corresponding to the present-level segment, the interleaving table of the present-level segment is a sequence obtained by sorting polarized channels of the next-level segments in a descending order or an ascending order of reliability according to corresponding reliability parameters, wherein a total quantity of polarized channels in the interleaving table of the present-level segment is equal to the encoding length corresponding to the present-level segment; and

set a value of a corresponding segment based on the basic sequence and the to-be-sent information of each of the M segment.

16. The apparatus according to claim_ 15 , wherein the one or more processors are further to:

alternately allocate the information bit sequence to the two next-level segments of the present-level segment in a descending order of reliability based on a sequence value in the present-level interleaving table.

17. A non-transitory computer-readable storage medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising:

obtaining a basic sequence, wherein the basic sequence represents a sequence of polarized channels sorted in a descending order or an ascending order according to a reliability parameter corresponding to each of the polarized channels, and a length of the basic sequence is L 1 ;

determining, based on the basic sequence and an encoding length L 2 supported by a receiving device, M segments of an information bit sequence, wherein the information bit sequence after being encoded comprises N bits, wherein the information bit sequence before being encoded comprises K bits, wherein K is less than N, and wherein K, M, N, L 1 , L 2 are positive integer values;

separately encoding the M segments using a first encoding scheme, to obtain M encoded segments; and

polar encoding on the M encoded segments to obtain an encoded information bit sequence that comprises the N bits.

18. The non-transitory computer-readable storage medium according to claim 17 , wherein the determining M segments of an information bit sequence comprises:

determining, based on the encoding length L 2 supported by the receiving device, M representing a quantity of the M segments;

obtaining to-be-sent information of each of the M segments, wherein the to-be-sent information comprises at least one information bits and at least one cyclic redundancy check (CRC) bits; and

setting a value of a corresponding segment based on the basic sequence and the to-be-sent information of each of the M segment.

19. The non-transitory computer-readable storage medium according to claim 18 , wherein obtaining to-be-sent information of the M segments of the information bit sequence comprises:

dividing the information bit sequence level by level until the M segments are obtained;

determining two next-level segments of a present-level segment based on a bit rate of the present-level segment and information bits in the present-level segment, wherein a code length corresponding to each of the next-level segments is half of a code length corresponding to the present-level segment; and

separately adding a corresponding CRC code to each of the M segments based on the information bits in each of the M segments, to obtain the to-be-sent information of each of the M segments.

20. The non-transitory computer-readable storage medium according to claim 19 , wherein when M is less than or equal to N/L 1 , the operations further comprise:

dividing the M segments level by level until N/L 1 segments are obtained; and

determining two next-level segments of a present-level segment based on a bit rate of the present-level segment and information bits in the present-level segment, wherein a code length corresponding to each of the next-level segments is half of a code length corresponding to the present-level segment; and

set a value of a corresponding segment based on the basic sequence and the to-be-sent information of each of the M segment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: HUANGFU, YOURUI; ZHANG, GONGZHENG; ZHANG, CHAOLONG; LI, RONG; WANG, JUN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 053026/0911 →
Priority Claims (1)
CN 201710150443.2 · Mar 14, 2017 · national
Continuity (2)
Continuation PCTCN2018078743 · Mar 12, 2018
Related Publication 20200007163A1 · Jan 2, 2020