IP Library › Granted Patent US 12,057,937
Granted Patent B2
US 12,057,937 · App. 17/593,902 · Granted Aug 6, 2024

Adjusting M for polar codes rate matching design

Inventors: Liangming Wu (Beijing, CN); Changlong Xu (Beijing, CN); Jian Li (Beijing, CN); Jing Jiang (San Diego, CA); Wei Yang (San Diego, CA); Ying Wang (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04L1/0057H04L1/005
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 12,057,937
App. No.
17/593,902
Granted
Aug 6, 2024
Kind
B2
Abstract

Certain aspects of the present disclosure generally relate to wireless communications and, more particularly, to methods and apparatus for adjusting a number of encoded bits, M, in block puncturing and/or shortening calculations to improve encoding performance. An exemplary method that may be performed by a wireless device generally includes iteratively determining a parameter, M adj , for construction of a polar code of size N for use in encoding K information bits, based on: at least two parameters, α and β, related to how many iterations to use in determining M adj , and a number of encoded bits, M; performing information adjustment allocation of the K information bits to an upper part and a lower part of the polar code based on M adj ; and transmitting the upper part and the lower part of the polar code via a wireless medium.

Claims (234)

1. A method for wireless communications, the method comprising:

iteratively determining an adjusted number of encoded bits (M adj ), for construction of a polar code of size N for use in encoding K information bits, based on:

at least two numbers, α and β, related to how many iterations to use in determining M adj , and

an unadjusted number of encoded bits (M);

adjusting an information bit allocation of the K information bits to an upper part and a lower part of the polar code based on M adj ; and

transmitting a codeword via a wireless medium, wherein the codeword is generated using the polar code and the K information bits according to the allocation to the upper part and the lower part.

2. The method of claim 1 , wherein iteratively determining M adj comprises executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

determining if M′ is less than N′/2; and

when M′ is less than N′/2, setting a new N′ equal to the previous N′/2 in an iterative or recursive manner, until M′ is greater than or equal to the new N′/2.

3. The method of claim 1 , wherein iteratively determining M adj comprises executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

when M′ is greater than or equal to N′/2:

determining if M adj is greater than αM; and

when M adj is greater than αM:

setting a new M adj equal to the previous M adj +N′/2 and ceasing execution of the algorithm.

4. The method of claim 1 , wherein iteratively determining M adj comprises executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

when M adj is less than or equal to αM:

determining if M′ is less than (1+β)*(N′/2); and

when M′ is less than (1+β)*(N′/2):

ceasing executing the algorithm.

5. The method of claim 1 , wherein iteratively determining M adj comprises executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0; and

when M′ is greater than or equal to (1+β)*(N′/2):

setting a new M adj equal to the previous M adj +N′/2,

setting a new M′ equal to the previous M′−N′/2,

setting a new N′ equal to the previous N′/2.

6. The method of claim 1 , wherein iteratively determining M adj comprises executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

determining if M′ is less than N′/2;

when M′ is less than N′/2, setting a new N′ equal to the previous N′/2 in an iterative or recursive manner, until M′ is greater than or equal to the new N′/2;

when M′ is greater than or equal to N′/2:

determining if M adj is greater than αM;

when M adj is greater than αM:

setting a new M adj equal to the previous M adj +N′/2 and ceasing execution of the algorithm;

when M adj is less than or equal to αM:

determining if M′ is less than (1+β)*(N′/2);

when M′ is less than (1+β)*(N′/2):

ceasing executing the algorithm; and

when M′ is greater than or equal to (1+β)*(N′/2):

setting a new M adj equal to the previous M adj +N′/2,

setting a new M′ equal to the previous M′−N′/2,

setting a new N′ equal to the previous N′/2, and

continuing the algorithm from the determining if M′ is less than N′/2 step.

7. The method of claim 1 , further comprising:

receiving an indication of a value of α in a configuration; and

receiving an indication of a value of β in the configuration or another configuration.

8. An apparatus for wireless communications, comprising:

one or more processors, individually or collectively, configured to:

iteratively determine an adjusted number of encoded bits (M adj ), for construction of a polar code of size N for use in encoding K information bits, based on:

at least two numbers, α and β, related to how many iterations to use in determining M adj , and

an unadjusted number of encoded bits (M);

adjust an information bit allocation of the K information bits to an upper part and a lower part of the polar code based on M adj ; and

transmit a codeword via a wireless medium, wherein the codeword is generated using the polar code and the K information bits according to the allocation to the upper part and the lower part;

memory coupled with the one or more processors.

9. The apparatus of claim 8 , wherein the one or more processors, individually or collectively, are configured to iteratively determine M adj by executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

determining if M′ is less than N′/2; and

when M′ is less than N′/2, setting a new N′ equal to the previous N′/2 in an iterative or recursive manner, until M′ is greater than or equal to the new N′/2.

10. The apparatus of claim 8 , wherein the one or more processors individually or collectively, are configured to iteratively determine M adj by executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

when M′ is greater than or equal to N′/2:

determining if M adj is greater than αM; and

when M adj is greater than αM:

setting a new M adj equal to the previous M adj +N′/2 and ceasing execution of the algorithm.

11. The apparatus of claim 8 , wherein the one or more processors individually or collectively, are configured to iteratively determine M adj by executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

when M adj is less than or equal to αM:

determining if M′ is less than (1+β)*(N′/2); and

when M′ is less than (1+β)*(N′/2):

ceasing executing the algorithm.

12. The apparatus of claim 8 , wherein the one or more processors, individually or collectively, are configured to iteratively determine M adj by executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0; and

when M′ is greater than or equal to (1+β)*(N′/2):

setting a new M adj equal to the previous M adj +N′/2,

setting a new M′ equal to the previous M′−N′/2,

setting a new N′ equal to the previous N′/2.

13. The apparatus of claim 8 , wherein the one or more processors, individually or collectively, are configured to iteratively determine M adj by executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

determining if M′ is less than N′/2;

when M′ is less than N′/2, setting a new N′ equal to the previous N′/2 in an iterative or recursive manner, until M′ is greater than or equal to the new N′/2;

when M′ is greater than or equal to N′/2:

determining if M adj is greater than αM;

when M adj is greater than αM:

setting a new M adj equal to the previous M adj +N′/2 and ceasing execution of the algorithm;

when M adj is less than or equal to αM:

determining if M′ is less than (1+β)*(N′/2);

when M′ is less than (1+β)*(N′/2):

ceasing executing the algorithm; and

when M′ is greater than or equal to (1+β)*(N′/2):

setting a new M adj equal to the previous M adj +N′/2,

setting a new M′ equal to the previous M′−N′/2,

setting a new N′ equal to the previous N′/2, and

continuing the algorithm from the determining if M′ is less than N′/2 step.

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

receive an indication of a value of α in a configuration; and

receive an indication of a value of β in the configuration or another configuration.

15. An apparatus for wireless communications, comprising:

means for iteratively determining an adjusted number of encoded bits (M adj ), for construction of a polar code of size N for use in encoding K information bits, based on:

at least two numbers, α and β, related to how many iterations to use in determining M adj , and

an unadjusted number of encoded bits (M);

means for adjusting an information bit allocation of the K information bits to an upper part and a lower part of the polar code based on M adj ; and

means for transmitting a codeword via a wireless medium, wherein the codeword is generated using the polar code and the K information bits according to the allocation to the upper part and the lower part.

16. The apparatus of claim 15 , wherein the means for iteratively determining M adj comprises means for executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

determining if M′ is less than N′/2; and

when M′ is less than N′/2, setting a new N′ equal to the previous N′/2 in an iterative or recursive manner, until M′ is greater than or equal to the new N′/2.

17. The apparatus of claim 15 , wherein the means for iteratively determining M adj comprises means for executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

when M′ is greater than or equal to N′/2:

determining if M adj is greater than αM; and

when M adj is greater than αM:

setting a new M adj equal to the previous M adj +N′/2 and ceasing execution of the algorithm.

18. The apparatus of claim 15 , wherein the means for iteratively determining M adj comprises means for executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

when M adj is less than or equal to αM:

determining if M′ is less than (1+β)*(N′/2); and

when M′ is less than (1+β)*(N′/2):

ceasing executing the algorithm.

19. The apparatus of claim 15 , wherein the means for iteratively determining M adj comprises means for executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0; and

when M′ is greater than or equal to (1+β)*(N′/2):

setting a new M adj equal to the previous M adj +N′/2,

setting a new M′ equal to the previous M′−N′/2,

setting a new N′ equal to the previous N′/2.

20. The apparatus of claim 15 , wherein the means for iteratively determining M adj comprises means for executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

determining if M′ is less than N′/2;

when M′ is less than N′/2, setting a new N′ equal to the previous N′/2 in an iterative or recursive manner, until M′ is greater than or equal to the new N′/2;

when M′ is greater than or equal to N′/2:

determining if M adj is greater than αM;

when M adj is greater than αM:

setting a new M adj equal to the previous M adj +N′/2 and ceasing execution of the algorithm;

when M adj is less than or equal to αM:

determining if M′ is less than (1+β)*(N′/2);

when M′ is less than (1+β)*(N′/2):

ceasing executing the algorithm; and

when M′ is greater than or equal to (1+β)*(N′/2):

setting a new M adj equal to the previous M adj +N′/2,

setting a new M′ equal to the previous M′−N′/2,

setting a new N′ equal to the previous N′/2, and

continuing the algorithm from the determining if M′ is less than N′/2 step.

21. The apparatus of claim 15 , further comprising:

means for receiving an indication of a value of α in a configuration; and

means for receiving an indication of a value of β in the configuration or another configuration.

22. A non-transitory computer-readable medium for wireless communications including instructions that, when executed by one or more processors, cause the one or more processors, individually or collectively, to perform operations comprising:

iteratively determining an adjusted number of encoded bits (M adj ), for construction of a polar code of size N for use in encoding K information bits, based on:

at least two numbers, α and β, related to how many iterations to use in determining M adj , and

an unadjusted number of encoded bits (M);

adjusting an information bit allocation of the K information bits to an upper part and a lower part of the polar code based on M adj ; and

transmitting a codeword via a wireless medium, wherein the codeword is generated using the polar code and the K information bits according to the allocation to the upper part and the lower part.

23. The non-transitory computer-readable medium of claim 22 , wherein the instructions for iteratively determining M adj comprises instructions for executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

determining if M′ is less than N′/2; and

when M′ is less than N′/2, setting a new N′ equal to the previous N′/2 in an iterative or recursive manner, until M′ is greater than or equal to the new N′/2.

24. The non-transitory computer-readable medium of claim 22 , wherein the instructions for iteratively determining M adj comprises instructions for executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

when M′ is greater than or equal to N′/2:

determining if M adj is greater than αM; and

when M adj is greater than αM:

setting a new M adj equal to the previous M adj +N′/2 and ceasing execution of the algorithm.

25. The non-transitory computer-readable medium of claim 22 , wherein the instructions for iteratively determining M adj comprises instructions for executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

when M adj is less than or equal to αM:

determining if M′ is less than (1+β)*(N′/2); and

when M′ is less than (1+β)*(N′/2):

ceasing executing the algorithm.

26. The non-transitory computer-readable medium of claim 22 , wherein the instructions for iteratively determining M adj comprises instructions for executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0; and

when M′ is greater than or equal to (1+β)*(N′/2):

setting a new M adj equal to the previous M adj +N′/2,

setting a new M′ equal to the previous M′−N′/2,

setting a new N′ equal to the previous N′/2.

27. The non-transitory computer-readable medium of claim 22 , wherein the instructions for iteratively determining M adj comprises instructions for executing an algorithm comprising:

setting M′=M;

setting N′=N;

setting M adj =0;

determining if M′ is less than N′/2;

when M′ is less than N′/2, setting a new N′ equal to the previous N′/2 in an iterative or recursive manner, until M′ is greater than or equal to the new N′/2;

when M′ is greater than or equal to N′/2:

determining if M adj is greater than αM;

when M adj is greater than αM:

setting a new M adj equal to the previous M adj +N′/2 and ceasing execution of the algorithm;

when M adj is less than or equal to αM:

determining if M′ is less than (1+β)*(N′/2);

when M′ is less than (1+β)*(N′/2):

ceasing executing the algorithm; and

when M′ is greater than or equal to (1+β)*(N′/2):

setting a new M adj equal to the previous M adj +N′/2,

setting a new M′ equal to the previous M′−N′/2,

setting a new N′ equal to the previous N′/2, and

continuing the algorithm from the determining if M′ is less than N′/2 step.

28. The non-transitory computer-readable medium of claim 22 , wherein the operations, further comprise:

receiving an indication of a value of α in a configuration; and

receiving an indication of a value of β in the configuration or another configuration.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT PAGE FOR INVENTOR 3 PREVIOUSLY RECORDED ON REEL 057619 FRAME 0749. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 4, 2021
From: WU, LIANGMING; XU, CHANGLONG; LI, JIAN; JIANG, JING; YANG, WEI; WANG, YING
To: QUALCOMM INCORPORATED
Reel/Frame 058040/0430 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2021
From: WU, LIANGMING; XU, CHANGLONG; LI, JIAN; JIANG, JING; YANG, WEI; WANG, YING
To: QUALCOMM INCORPORATED
Reel/Frame 057619/0749 →
Continuity (1)
Related Publication 20220190957A1 · Jun 16, 2022