IP Library Granted Patent US 11,469,779
Granted Patent B2
US 11,469,779 · App. 17/271,017 · Granted Oct 11, 2022

Efficient polar code construction in 5G

Inventors: Xixian Chen (Ottawa, CA); Qingchao Liu (Ottawa, CA); Yashar Nezami (Ottawa, CA)
Assignee: Telefonaktiebolaget LM Ericsson (Publ)
H03M13/618H03M13/13H03M13/6362
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,469,779
App. No.
17/271,017
Granted
Oct 11, 2022
Kind
B2
Abstract

According to some embodiments, a method for polar encoding includes obtaining an input bits index array Q, wherein each element Q[i] is an index of a polar coded transmission channel and corresponds to an input U[i] of a polar encoder. The elements of Q are ordered according to their associated channel quality. The method further includes obtaining an integer number X of bits for polar encoding and wireless transmission, wherein X is not greater than N. Upon determining the polar code block length N is not greater than the number of rate matched bits M available for transmission, the method includes assigning each of the bits as inputs to the polar encoder ordered according to the input bits index array Q.

Claims (56)

1. A method for use in a wireless transmitter of polar encoding using a polar code block length of N, the method comprising:

obtaining an input bits index array Q[N], each element Q[i] of the input bits index array being an index of a polar coded transmission channel and corresponding to an input U[i] of a polar encoder, elements of Q being ordered according to their associated channel quality;

obtaining an integer number X of bits {b(0), . . . , b(X−1)} for polar encoding and wireless transmission, X being not greater than N;

determining whether the polar code block length N is greater than a number of rate matched bits (M) available for transmission;

upon determining the polar code block length N is not greater than the number of rate matched bits M available for transmission, assigning each of the bits {b(0), . . . , b(X−1)} as inputs to the polar encoder ordered according to the input bits index array Q[N] such that the polar encoding input at index at U[Q[i]]=b(i) for i=0 to X−1;

upon determining the polar code block length N is greater than the number of rate matched bits M available for transmission:

obtaining a sub-block interleaving array J[N], wherein each element of the sub-block interleaving array J is an index of a corresponding bit position after sub-block interleaving;

assigning N−M elements of Q as frozen bits using the sub-block interleaving array; and

assigning each of the bits {b(0), . . . , b(X−1)} as inputs to the polar encoder ordered according to the input bits index array Q such that the polar encoding input at index U[Q[i]]=b(i) for i=0 to X−1, unless Q[i] is one of the N−M frozen bit elements, at least one of the input bits index array Q and the sub-block interleaving array J is obtained prior to polar encoding; and

transmitting the polar encoded bits to a wireless receiver.

2. The method of claim 1 , wherein assigning N−M elements of Q as frozen bits using the sub-block interleaving array J comprises:

upon determining that the ratio of X to M is equal to or below a threshold value, removing the last N−M bits after polar sub-block interleaving using the sub-block interleaving array J to determine which elements of Q will be the last N−M bits after polar sub-block interleaving; and

upon determining that the ratio of X to M is above the threshold value, removing the first N−M bits after polar sub-block interleaving using the sub-block interleaving array J to determine which elements of Q will be the first N−M bits after polar sub-block interleaving.

3. The method of claim 2 , wherein the threshold value is approximately 0.4.

4. The method of claim 1 , wherein determining whether Q[i] is one of the N−M frozen bit elements comprises obtaining a free position array, freePos[ ], wherein freePos[i] equals Q[i] if Q[i] is not a frozen bit; and

assigning each of the bits {b(0), . . . , b(X−1)} as inputs to the polar encoder is based on the free position array.

5. The method of claim 1 , wherein the bits {b(0), . . . , b(X−1)} include information bits and cyclic redundancy check (CRC) bits.

6. The method of claim 5 , wherein the bits {b(0), . . . , b(X−1)} further include parity check bits.

7. The method of claim 1 , further comprising determining X by receiving a scheduling request that includes an indication of an amount of data to be transmitted prior to obtaining {b(0), . . . , b(X−1)}.

8. A wireless transmitter comprising processing circuitry, the processing circuitry configured to:

obtain an input bits index array Q[N], each element Q[i] of the input bits index array being an index of a polar coded transmission channel and corresponding to an input U[i] of a polar encoder, the elements of Q are being ordered according to their associated channel quality;

obtain an integer number X of bits {b(0), . . . , b(X−1)} for polar encoding and wireless transmission, wherein X is not greater than N;

determine whether the polar code block length N is greater than a number of rate matched bits (M) available for transmission;

upon determining the polar code block length N is not greater than the number of rate matched bits M available for transmission, assign each of the bits {b(0), . . . , b(X−1)} as inputs to the polar encoder ordered according to the input bits index array Q[N] such that the polar encoding input at index U[Q[i]]=b(i) for i=0 to X−1;

upon determining the polar code block length N is greater than the number of rate matched bits M available for transmission:

obtaining a sub-block interleaving array J[N], wherein each element of the sub-block interleaving array J is an index of a corresponding bit position after sub-block interleaving;

assigning N−M elements of Q as frozen bits using the sub-block interleaving array; and

assigning each of the bits {b(0), . . . , b(X−1)} as inputs to the polar encoder ordered according to the input bits index array Q such that the polar encoding input at index U[Q[i]]=b(i) for i=0 to X−1, unless Q[i] is one of the N−M frozen bit elements, at least one of the input bits index array Q and the sub-block interleaving array J is obtained prior to polar encoding; and

transmit the polar encoded bits to a wireless receiver.

9. A method for use in a wireless receiver of polar decoding using a polar code block length of N, the method comprising:

obtaining an input bits index array Q[N], each element Q[i] of the input bits index array being an index of a polar coded transmission channel and corresponding to an input U[i] of a polar decoder, elements of Q are being ordered according to their associated channel quality;

receiving a wireless signal associated with an integer number X of polar coded bits {b(0), . . . , b(X−1)} from a wireless transmitter for polar decoding, wherein X is not greater than N;

determining whether the polar code block length N is greater than a number of received rate matched bits (M);

upon determining the polar code block length N is not greater than the number of rate matched bits M, assigning each of the bits {b(0), . . . , b(X−1)} as inputs to the polar decoder ordered according to the input bits index array Q[N] such that the polar decoding input at index U[Q[i]]=b(i) for i=0 to X−1;

upon determining the polar code block length N is greater than the number of rate matched bits M:

obtaining a sub-block deinterleaving array J[N], wherein each element of the sub-block deinterleaving array J is an index of a corresponding bit position after sub-block deinterleaving;

assigning N−M elements of Q as frozen bits using the sub-block deinterleaving array; and

assigning each of the bits {b(0), . . . , b(X−1)} as inputs to the polar decoder ordered according to the input bits index array Q such that the polar decoding input at index U[Q[i]]=b(i) for i=0 to X, unless Q[i] is one of the N−M frozen bit elements, at least one of the input bits index array Q and the sub-block interleaving array J is obtained prior to polar decoding; and

polar decoding the assigned inputs at the polar decoder.

10. The method of claim 9 , wherein assigning N−M elements of Q as frozen bits using the sub-block deinterleaving array J comprises:

upon determining that the ratio of X to M is equal to or below a threshold value, removing the last N−M bits before polar sub-block deinterleaving using the sub-block deinterleaving array J to determine which elements of Q were the last N−M bits before polar sub-block deinterleaving; and

upon determining that the ratio of X to M is above the threshold value, removing the first N−M bits before polar sub-block deinterleaving using the sub-block deinterleaving array J to determine which elements of Q were the first N−M bits before polar sub-block deinterleaving.

11. The method of claim 10 , wherein the threshold value is approximately 0.4.

12. The method of claim 9 , wherein determining whether Q[i] is one of the N−M frozen bit elements comprises obtaining a free position array, freePos[ ], wherein freePos[i] equals Q[i] if Q[i] is not a frozen bit; and assigning each of the bits {b(0), . . . , b(X−1)} as inputs to the polar decoder is based on the free position array.

13. The method of claim 9 , wherein the bits {b(0), . . . , b(X−1)} include information bits and cyclic redundancy check (CRC) bits.

14. The method of claim 13 , wherein the bits {b(0), . . . , b(X−1)} further include parity check bits.

15. The method of claim 9 , further comprising determining X by receiving a scheduling request that includes an indication of an amount of data to be received prior to obtaining {b(0), . . . , b(X−1)}.

16. A wireless receiver comprising processing circuitry, the processing circuitry configured to:

obtain an input bits index array Q[N], each element Q[i] of the input bits index array being an index of a polar coded transmission channel and corresponding to an input U[i] of a polar decoder, elements of Q are being ordered according to their associated channel quality;

receive a wireless signal associated with an integer number X of polar coded bits {b(0), . . . , b(X−1)} from a wireless transmitter for polar decoding, X being not greater than N;

determine whether the polar code block length N is greater than a number of received rate matched bits (M); and

upon determining the polar code block length N is not greater than the number of rate matched bits M, assign each of the bits {b(0), . . . , b(X−1)} as inputs to the polar decoder ordered according to the input bits index array Q[N] such that the polar decoding input at index U[Q[i]]=b(i) for i=0 to X−1; p 1 upon determining the polar code block length N is greater than the number of rate matched bits M:

obtaining a sub-block deinterleaving array J[N], wherein each element of the sub-block deinterleaving array J is an index of a corresponding bit position after sub-block de interleaving;

assigning N−M elements of Q as frozen bits using the sub-block deinterleaving array; and

assigning each of the bits {b(0), . . . , b(X−1)} as inputs to the polar decoder ordered according to the input bits index array Q such that the polar decoding input at index U[Q[i]]=b(i) for i=0 to X, unless Q[i] is one of the N−M frozen bit elements, at least one of the input bits index array Q and the sub-block interleaving array J is obtained prior to polar decoding; and

polar decode the assigned inputs at the polar decoder.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2021
From: CHEN, XIXIAN; LIU, QINGCHAO; NEZAMI, YASHAR
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 055403/0561 →
Continuity (1)
Related Publication 20210328603A1 · Oct 21, 2021
Cited By (1)
US 12,308,963