Staircase coding based on polar codes

DE602019069043T2Active Publication Date: 2025-04-23HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE602019069043
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2019-10-10
Publication Date
2025-04-23
Estimated Expiration
2039-10-10

AI Technical Summary

Technical Problem

Existing polar code encoding and decoding methods are limited by their sequential nature and systematic construction, which can lead to increased latency and suboptimal error correction performance, especially in high-speed optical communications.

Method used

The proposed solution involves an apparatus and method for encoding data using non-systematic polar codes, where information bits are distributed across rows and columns of matrices, allowing for efficient polarization effects and simplified encoding processes. This approach enables the use of staircase construction with non-systematic polar codes, achieving the same error-correction performance as systematic polar codes but with reduced latency and increased speed.

Benefits of technology

The method provides improved encoding and decoding efficiency, achieving the same error-correction performance as systematic polar codes while reducing latency and increasing encoding speed, thus addressing the limitations of existing polar code technologies.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] In general, the present invention relates to data encoding in communication systems. More specifically, the present invention relates to an apparatus and method for encoding data using polar codes.BACKGROUND

[0002] Channel codes are essential in all digital communications systems. A system for forward error correction (FEC) coding, also called a coding scheme, consists of an encoder at the transmitter side, and a decoder at the receiver side.

[0003] The encoder adds redundancy to the data to be transmitted, i.e. additional redundant data, and the decoder exploits this redundancy to correct transmission errors, such that the receiver obtains the transmitted data free of errors despite the noisy communication channel.

[0004] The data u to be transmitted, named information word, is given as input to the encoder, which produces the codeword x which contains redundancy. This is then transmitted over the noisy communication channel which typically introduces errors. The output vector y is provided to the decoder, which produces estimates of the transmitted codeword and the transmitted data. The set C of possible codewords is called the code, or channel code, and the following is particularly concerned with such a code.

[0005] Therefore, reliable transmission of data over noisy communication channels requires some kind of error correction coding to be used. Polar codes were shown to achieve the Shannon capacity of many channels (see, E. Arikan, "Channel polarization: A method for constructing capacity achieving codes for symmetric binary-input memoryless channels", IEEE Trans. on Inf. Theory, vol. 55, no. 7, pp. 3051-3073, July 2009).

[0006] In their original or classical construction as specified in the above mentioned work by Arikan, polar codes are based on the polarization effect generated by the Kronecker products of the following kernel: T 2 = 1 0 1 1 .

[0007] In general, a classical polar code of length N and dimension K is defined by a generator matrix G N = T 2 ⊗ n , N = 2", and a set of frozen bit indices F ⊂ [N], [N] = {0,1,...,N - 1}, wherein the size of the set of frozen bit indices F is given by |F| = N - K. A set of K information bit indices I is defined as the complementary set of the set of frozen bit indices, namely I = [N] / F, and therefore |I| = K.

[0008] In order to encode the K information bits into a polar code or codeword c N of length N, the elements u i of a binary input vector u N of length N are set equal to zero for i ∈ F and equal to the K information bits for i ∈ I. Then, the encoded polar code c N can be obtained as: c N = u N ⋅ G N .

[0009] According to the classical construction of polar codes, the effective generator matrix G N is a sub-matrix of T 2 ⊗ n formed by rows of T 2 ⊗ n , denoting the n-fold Kronecker product. As a consequence, only polar codes having a length of powers of 2, namely N = 2 n< , can be generated. Therefore, given a code dimension (i.e. number of information bits) K, classical polar codes admit only a polar code rate R = K / N, under the condition that N is a power of 2. A simple implementation of the encoder requires n stages of XOR gates.

[0010] Therefore, polar codes are linear block codes that rely on the polarization effect, which allows to sort the bit positions of u, called bit-channels, in order of reliability. As the code length goes toward infinity, the polarization phenomenon influences the reliability of bit-channels, which are either completely noisy or completely noiseless; even more, the fraction of noiseless bit-channels equals the channel capacity.

[0011] For finite practical code lengths, the polarization of bit-channels is incomplete, therefore, there are bit-channels that are partially noisy.

[0012] Polar code decoding can be based on successive cancellation (SC) decoding algorithm (see the work by Arikan), which is inherently sequential. It can be viewed as a binary tree search, where bits are estimated at leaf nodes, and the tree is traversed depth-first, with priority given to the left branch. In SC decoding, the decoder starts with a decision for bit u 1 and feeds this decision back into the decoding process. Then, it makes a decision of bit u 2 and feeds this decision back into the decoding process.

[0013] It proceeds in this manner until it obtains the design for the last bit u N . SC list decoding (SCL) (I. Tal and A. Vardy, "List decoding of polar codes," IEEE Transactions on Information Theory, vol. 61, no. 5, pp. 2213-2226, May 2015.) is an enhanced version of SC where multiple are followed during the decoding, while the decision is postponed to the end of the decoding process and is usually performed with the help of a CRC (A. Balatsoukas-Stimming, M. B. Parizi and A. Burg, "LLR-Based Successive Cancellation List Decoding of Polar Codes," in IEEE Transactions on Signal Processing, vol. 63, no. 19, pp. 5165-5179, Oct.1, 2015.).

[0014] Staircase codes were introduced in B. P. Smith et al. "Staircase Codes: FEC for 100 Gb / s OTN", in IEEE / OSA Journal of Lightwave Technology, vol. 30, no. 1, Jan 2012, targeting 100 Gb / s optical transport networks. Inspiration is taken from both product codes and convolutional codes, in that they combine the use of a block code as component code, and entangle part of it with past and future codewords, alternating row and column encoding / decoding.

[0015] Fig. 1 depicts a straightforward example of staircase code. Encoding and transmission proceeds from the top left towards the bottom right. Bits belonging to multiple component codes are transmitted only once. When interpreted through this graphical representation, staircase codes natively make use of systematic component codes.

[0016] Decoding of staircase codes starts from the newest received blocks (bottom right in Fig. 1) propagating information towards the older blocks (top left). A decoding window of W blocks is selected for practical reasons, identifying the number of blocks through which the decoding information is propagated. Every time a new block is received, the oldest block in the window is output.

[0017] Staircase code decoding is possible both as hard-decoding and soft decoding. Hard decoding requires the decoding of component codes to return hard decisions, and the information propagated is the value of the bit itself. Soft decoding requires component code decoders to return soft values, which are scaled and propagated through the window. Hard decisions are taken only at output time. Soft decoding can achieve substantially better error-correction performance than hard decoding, at the cost of increased decoding complexity.

[0018] Preliminary results with staircase codes using polar codes have been presented in B. Feng et al. "A novel high-rate polar-staircase coding scheme," in arXiv preprint arXiv:1805.10082, 2018 and L. Zhou et al. "Performance Analysis of Soft Decoding Algorithms for Polar-Staircase Coding Scheme," 2018 10th International Conference on Wireless Communications and Signal Processing (WCSP), Hangzhou, 2018, where systematic polar codes are considered. Systematic polar codes are straightforward, but come with the disadvantage of increased encoding and decoding latency, that can be critical in optical communications.

[0019] Document "Soft-Decision Based Sliding-Window Decoding of Staircase Codes" by Dou et al. discloses staircase codes which are a class of braided block codes, which have been demonstrated to have good performance for high speed optical communication. In particular, it discloses a soft-decision decoding and a Chase-Pyndiah algorithm based sliding-window decoding for staircase codes over a AWGN channel.

[0020] Thus, there is a need for an improved apparatus and method for encoding and decoding data using polar codes.SUMMARY

[0021] In view of the above-mentioned problems and disadvantages, embodiments of the present invention aim to improve the conventional polar codes and their construction methods. An objective is thereby to provide an improved apparatus for encoding data using polar codes.

[0022] The objective is achieved by the embodiments provided in the enclosed independent claims. Advantageous implementations of the embodiments are further defined in the dependent claims.

[0023] According to a first aspect, the invention relates to an apparatus for encoding a sequence including information bits into a sequence of matrices, wherein the apparatus is configured to generate a MxN matrix U N< h , wherein M=N / 2, wherein in each row 0≤i<M of U N< h each bit position 0≤j<M contains an information bit of the input sequence or a frozen bit depending on a set of frozen bit indices F of a polar code of length N associated with that row, wherein the bits x ij , for 0≤i<M and 0≤j<N-M form a matrix U h+1 , while the bits x ij for 0≤i<M and M≤j<N form a matrix Xh '< , encode each row of U N< h on the basis of the polar code of length N associated with that row, in order to obtain an encoded matrix X N< h , wherein the bits x ij of X N< h for 0≤i<M and 0≤j<N-M form a matrix X h+1 '< while the bits x ij for 0≤i<M and M≤j<N form a matrix X h , and transmit the matrix X h .

[0024] Further, the apparatus is configured to generate a NxM matrix U N< h+1 , wherein in each column 0≤j<M of U N< h+1 each bit position 0≤i<N contains an information bit of the input sequence or a frozen bit depending on a set of frozen bit indices F of the polar code of length N associated with that column, wherein the bits x ij , for 0≤i<M and 0≤i<N-M form a matrix U h+2 , while the bits x ij for 0≤j<M and N-M≤i<N form the matrix X h+1 '< , encode each column of U N< h+1 on the basis of the polar code of length N associated with that column, in order to obtain an encoded matrix X N< h+1 , wherein the bits x ij of X N< h+1 for 0≤j<M and 0≤i<N-M form a matrix X h+2 '< while the bits x ij for 0≤j<M and N-M≤j<N form a matrix X h+1 , transmit the matrix X h+1 . The polar encoding is based on a non-systematic polar encoding.

[0025] This provides the advantage that the polarization effects of polar codes can be used while encoding the sequence.

[0026] This provides the advantage that the polarization effects of polar codes can be used while encoding the sequence. Moreover the encoding is simple and fast.

[0027] Further, this provides the advantage that the staircase construction with non-systematic polar code design has the same error-correction performance of an equivalent construction with systematic polar codes, with simpler and faster component encoding.

[0028] In an implementation form of the apparatus according to the first aspect, the apparatus is further configured to generate a MxN matrix U N< h+2 , wherein in each row 0≤i<M of U N< h+2 each bit position 0≤j<N-M contains an information bit of the input sequence or a frozen bit depending on the set of frozen bit indices F of the polar code of length N associated with that row, wherein the bits x ij , for 0≤i<M and 0≤j<N-M form a matrix U h+3 , while the bits x ij for 0≤i<M and N-M≤j<N form the matrix X h+2 '< , encode each row of U N< h+2 on the basis of the polar code of length N associated with that row, in order to obtain an encoded matrix X N< h+2 , wherein the bits x ij of X N< h+2 for 0≤i<M and 0≤j<N-M form a matrix X h+3 '< while the bits x ij for 0≤i<M and N-M≤j<N form a matrix X h+2 , transmit the matrix X h+2 .

[0029] This provides the advantage that the polarization effects of polar codes can be used while encoding the sequence. Moreover the encoding is simple and fast.

[0030] In an implementation form of the apparatus according to the first aspect, the apparatus is further configured to set to 0 all bits x ij for j≥N-M forming the matrix X 0 '< .

[0031] This provides the advantage that the matrix X 0 '< can be initialized in a simple way.

[0032] In an implementation form of the apparatus according to the first aspect, for the polar code of length N, the apparatus is configured to choose K most reliable positions i, with i<N-M, as positions of information bits, freeze the remaining N-M-K positions with i<N-M, and put information bits in any position i≥N-M.

[0033] In an implementation form of the apparatus according to the first aspect, for the polar code of length N and N-M being a power of 2, with N=2M, the apparatus is configured to select the K most reliable positions i as non-frozen positions from the frozen set of polar code of length N-M, wherein non-frozen positions correspond to positions of information bits, freeze the remaining N-M-K positions, and put information bits in any position i≥N-M.

[0034] According to a second aspect, the invention relates to a method encoding an input sequence including information bits, wherein the method comprises the steps of generating a MxN matrix U N< h , wherein M=N / 2, wherein in each row 0≤i<M of U N< h each bit position 0≤j<M contains an information bit of the input sequence or a frozen bit depending on a set of frozen bit indices F of a polar code of length N associated with that row, wherein the bits x ij , for 0≤i<M and 0≤j<M form a matrix U h+1 , while the bits x ij for 0≤i<M and M≤j<N form a matrix X h '< , encoding each row of U N< h on the basis of the polar code of length N associated with that row, in order to obtain an encoded matrix X N< h , wherein the bits x ij of X N< h for 0≤i<M and 0≤j<M form a matrix X h+1 '< while the bits x ij for 0≤i<M and M≤j<N form a matrix X h , and transmitting the matrix X h .

[0035] The method further comprises generating a MxN matrix U N< h+2 , wherein in each row 0≤i<M of U N< h+2 each bit position 0≤j<N-M contains an information bit of the input sequence or a frozen bit depending on the set of frozen bit indices F of the polar code of length N associated with that row, wherein the bits x ij , for 0≤i<M and 0≤j<N-M form a matrix U h+3 , while the bits x ij for 0≤i<M and N-M≤j<N form the matrix X h+2 '< , encoding each row of U N< h+2 on the basis of the polar code of length N associated with that row, in order to obtain an encoded matrix X N< h+2 , wherein the bits x ij of X N< h+2 for 0≤i<M and 0≤j<N-M form a matrix X h+3 '< while the bits x ij for 0≤i<M and N-M≤j<N form a matrix X h+2 and transmitting the matrix X h+2 . The polar encoding is based on a non-systematic polar encoding

[0036] In an implementation form of the second aspect, the method further comprises generating a NxM matrix U N< h+1 , wherein in each column 0≤i<M of U N< h+1 each bit position 0≤i<N contains an information bit of the input sequence or a frozen bit depending on a set of frozen bit indices F of the polar code of length N associated with that column, wherein the bits x ij , for 0≤j<M and 0≤i<N-M form a matrix U h+2 , while the bits x ij for 0≤j<M and N-M≤i<N form the matrix X h+1 '< , encoding each column of U N< h+1 on the basis of the polar code of length N associated with that column, in order to obtain an encoded matrix X N< h+1 , wherein the bits x ij of X N< h+1 for 0≤j<M and 0≤i<N-M form a matrix X h+2 '< while the bits x ij for 0≤j<M and N-M≤j<N form a matrix X h+1 and transmitting the matrix X h+1 .

[0037] The method of the second aspect and its respective implementation forms provide the same advantages and effects as described above for the respective apparatus of the first aspect and its respective implementation forms.

[0038] It has to be noted that all devices, elements, units and means described in the present application could be implemented in the software or hardware elements or any kind of combination thereof. All steps which are performed by the various entities described in the present application as well as the functionalities described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities.

[0039] Even if, in the following description of specific embodiments, a specific functionality or step to be performed by external entities is not reflected in the description of a specific detailed element of that entity which performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities can be implemented in respective software or hardware elements, or any kind of combination thereof.BRIEF DESCRIPTION OF DRAWINGS

[0040] The above described aspects and implementation forms of the present invention will be explained in the following description of specific embodiments in relation to the enclosed drawings, in which: FIG. 1 shows a schematic representation of an exemplary straightforward staircase construction; FIG. 2 shows a schematic representation of a communication system comprising an apparatus according to an embodiment; FIG. 3 shows a schematic representation of a staircase construction with non-systematic polar codes according to an embodiment; FIG. 4 shows a schematic representation of a staircase construction with non-systematic polar codes according to an embodiment; FIG. 5 shows a schematic representation of a staircase construction with non-systematic polar codes according to an embodiment; FIG. 6 shows a schematic representation of a staircase construction with non-systematic polar codes according to an embodiment; FIG. 7 shows a schematic representation of a staircase construction with non-systematic polar codes according to an embodiment; FIG. 8 shows a schematic representation of a decoding scheme for decoding a staircase code encoded according to the invention; FIG. 9 shows a schematic representation of a method for encoding an input sequence including information bits according to an embodiment; and FIG. 10 shows a schematic representation of a method for decoding an input sequence including information bits for decoding a staircase code encoded according to the invention. DETAILED DESCRIPTION OF EMBODIMENTS

[0041] FIG. 2 shows a schematic representation of a communication system 100 comprising an apparatus 101 according to an embodiment.

[0042] The apparatus 101 is configured to encode a sequence including information bits into a sequence of matrices. The apparatus is further configured to: generate a MxN matrix U N< h , wherein M=N / 2, wherein in each row 0≤i<M of U N< h each bit position 0≤j<M contains an information bit of the input sequence or a frozen bit depending on a set of frozen bit indices F of a polar code of length N associated with that row, wherein the bits x ij , for 0≤i<M and 0≤j<N-M form a matrix U h+1 , while the bits x ij for 0≤i<M and M≤j<N form a matrix X h '< ; encode each row of U N< h on the basis of the polar code of length N associated with that row, in order to obtain an encoded matrix X N< h , wherein the bits x ij of X N< h for 0≤i<M and 0≤j<N-M form a matrix X h+1 '< while the bits x ij for 0≤i<M and M≤j<N form a matrix X h ; transmit the matrix X h .

[0043] In FIG. 2, the vector u comprises information bits and frozen bits and is encoded into a codeword x. After propagation over the communication channel 102, the codeword x is changed into the codeword y due to the noise of the communication channel 102.

[0044] The apparatus or decoder 103 is configured to decode the codeword y in order to recover the originally sent sequence or vector u.

[0045] The apparatus or decoder 103 is configured to decode a sequence of bits from a sequence of matrices Λ k , k=0,..,W received over the communication channel 102 and resulting from a transmission of the sequence of bits encoded in a sequence of matrices X h , h=1,..., W over the communication channel 102.

[0046] The apparatus 103 is configured to: propagate logarithmic likelihood ratios (LLRs) of Λ w in order to obtain a LLRs matrix, wherein the LLRs of Λ w are related to an encoded matrix X w ; concatenate an interleaver Π to the LLRs matrix in order to obtain a matrix Λ' w related to an encoded matrix X' w ; prepend Λ' w to a matrix Λ w-1 in order to obtain a matrix D W , wherein Λ w-1 is related to an encoded matrix X w-1 ; decode each column of D w on the basis of a polar code decoding algorithm in order to obtain a matrix Γ w ; compute an updated matrix Λ w-1 as: Λ w − 1 = Γ w + Y W − 1 , wherein Y W-1 comprises LLRs originally received from the communication channel 102 after the transmission of a matrix X w-1 .

[0047] In an embodiment, optical transport network are considered whose error-correction performance requirements demand that a soft-decoding approach is taken at the receiver.

[0048] According to the invention, a staircase code is designed using non-systematic polar codes. Given the nature of polar codes, the direction of encoding and decoding in the staircase can be inverted.

[0049] There is no constraint on the number of component codes M that each block of the staircase contains, except that M=N / 2.

[0050] The codeword length N is imposed by the component code. Polar codes have code lengths equal to powers of 2, but shortening and puncturing techniques, and multi-kernel designs, can be used in order to obtain different lengths of polar codes.

[0051] Moreover, the frozen set F of the polar code can be selected in two ways: 1) from the frozen set of the polar code of length N, the K most reliable positions i with i<(N-M) as non-frozen positions can be selected. The remaining N-M-K positions with i<(N-M) are frozen. Any position i≥N-M is treated as an information position; and 2) in case N-M is a power of 2, from the frozen set of the polar code of length N-M, the K most reliable positions i can be selected as non-frozen positions. The remaining N-M-K positions are frozen. Any position i≥N-M is treated as an information position.

[0052] In order to better understand the different steps of the encoding, different steps of the encoding process are portrayed in FIGs. 3-7 for an example where M=N / 2, N=8, M=4.

[0053] In this embodiment, the N-bit input vector u to the polar encoder is composed of a first part u new of N-M bits, where information bits are placed, and a second part x' that is composed of previously encoded bits.

[0054] All frozen bits are placed in u new : consequently, F has frozen bits in the N-M-K least reliable positions among the leftmost N-M bit positions.

[0055] M input vectors u compose an input matrix U. Let us build an input matrix U N< 0 , where in every row 0≤i<M each bit position 0≤j<N-M is an information or a frozen bit according to F, while all bit positions j>N-M are set to 0.

[0056] The leftmost part of U N< 0 is called U 1 , while the rightmost part is X 0 '< (see FIG. 3).

[0057] The apparatus 101 can be configured to set to 0 all bits x ij for j≥N-M forming the matrix X 0 '< .

[0058] The apparatus 101 can be configured to encode each row of U and obtain the encoded matrix X N< 0 : the rightmost MxM matrix is called X 0 , and the leftmost part is called X 1 ' (see FIG. 4).

[0059] Afterwards, the apparatus 101 is configured to transmit the matrix X 0 .

[0060] Furthermore, the apparatus 101 con be configured to generate L N< 1 through a set of column input vectors U 2 and the columns of X 1 '. After encoding, X N< 1 can be obtained, with X 1 on the right side and X 2 ' on the left side (see FIG. 5). Then, X 1 can be transmitted.

[0061] Furthermore, the apparatus 101 can be configured to perform the following steps: generate a MxN matrix U N< 2 , wherein in each row 0≤i<M of U N< 2 each bit position 0≤j<N-M contains an information bit of the input sequence or a frozen bit depending on the set of frozen bit indices F of the polar code of length N associated with that row, wherein the bits x ii , for 0≤i<M and 0≤j<N-M form a matrix U 3 , while the bits x ij for 0≤i<M and N-M≤j<N form the matrix X 2 '< ; encode each row of U N< 2 on the basis of the polar code of length N associated with that row, in order to obtain an encoded matrix X N< 2 , wherein the bits x ij of X N< 2 for 0≤i<M and 0≤j<N-M form a matrix X 3 '< while the bits x ij for 0≤i<M and N-M≤j<N form a matrix X 2 (see FIG. 6); transmit the matrix X 2 .

[0062] The process is repeated alternating row and column encoding (see further FIG. 7). Each component encoding is a standard non-systematic polar code encoder, which has half the systematic encoder latency.

[0063] FIG. 8 shows a schematic representation of a decoding scheme for decoding a staircase code encoded according to the invention.

[0064] On the receiver side, the decoder or apparatus 103 receives a set of logarithmic likelihood ratios (LLRs) A for each transmitted matrix X.

[0065] Then, the apparatus 103 can be configured to store matrices Λ k , 0≤k≤W representing a decoding window of W+1 frames. While it is implemented as a circular buffer, the received frame can be stored in Λ W and the oldest frame can be stored in Λ 0 . Λ 1 is the one output from the decoder 103, but to decode it, the information stored in frame Λ 0 can be used.

[0066] The LLRs of Λ W are relative to the encoded matrix X w ,which can be assumed as being last encoded by rows. Λ W-1 is relative instead to X W-1 , encoded by columns.

[0067] In order to decode Λ W-1 by columns, the LLRs in Λ W should be changed from representing X W to representing X W ', which was last encoded by columns. This can be done by the propagate LLRs function, concatenated with an interleaver Π. The interleaver rotates the LLR matrix of 90 degrees clockwise or anti-clockwise, depending if we are converting a row-encoded matrix for column decoding or vice versa.

[0068] Thus, after obtaining Λ W ', relative to X W ', the apparatus 103 can be configured to prepend it to Λ W-1 , and decode each column.

[0069] The component decoding takes each column separately: any polar code decoding algorithm can be used, as long as soft values can be inferred from it. Component decoding of non-systematic polar codes is inherently faster than the systematic case.

[0070] The component decoding process returns a matrix of extrinsic values Γ. The updated Λ W-1 is computed as Λ W-1 = Γ + Y W-1 where Y W-1 stores the LLRs originally received from the communication channel 102 after the transmission of X W-1 .

[0071] Λ W is not updated, as back-propagating information is damaging, an effect exacerbated by the propagate LLRs function.

[0072] In the next decoding step, Λ W-1 and Λ W-2 should be considered, with the LLRs in Λ W-1 being propagated to identify X W-1 ', and thus enable row decoding of Λ W-1 ' and Λ W-2 . The process is repeated alternating row and column decoding, until Λ 1 is decoded with Λ 0 : the output of the decoding iteration is then the estimated Û 1 .

[0073] The LLRs are propagated by applying soft encoding process to a vector of LLRs, where the box-plus operation substitutes the XOR.

[0074] The box-plus operation between a and b is defined as: min(|a|,|b|) x sign(a) x sign(b).

[0075] FIG. 9 shows a schematic representation of a method 900 for encoding an input sequence including information bits according to an embodiment.

[0076] The method comprises the steps of: generating 901 an MxN matrix U N< h , wherein M=N / 2, wherein in each row 0≤i<M of U N< h each bit position 0≤j<M contains an information bit of the input sequence or a frozen bit depending on a set of frozen bit indices F of a polar code of length N associated with that row, wherein the bits x ij , for 0≤i<M and 0≤j<M form a matrix U h+1 , while the bits x ij for 0≤i<M and M≤j<N form a matrix X h '< ; encoding 902 each row of U N< h on the basis of the polar code of length N associated with that row, in order to obtain an encoded matrix X N< h , wherein the bits x ij of X N< h for 0≤i<M and 0≤j<M form a first matrix X h+1 '< while the bits x ij for 0≤i<M and M≤j<N form a second matrix X h ; and transmitting 903 the matrix X h .

[0077] FIG. 10 shows a schematic representation of a method 1000 for decoding an input sequence including information bits from a sequence of matrices Λ k which has been encoded according to the invention.

[0078] The sequence of matrices Λ k , k=0,..,W is received over a communication channel 102 and results from a transmission of the sequence of bits encoded in a sequence of matrices X h , h=1,..., W over the communication channel 102.

[0079] The method 1000 comprises the steps of: propagating 1001 logarithmic likelihood ratios (LLRs) of Λ w in order to obtain a LLRs matrix, wherein the LLRs of Λ w are related to an encoded matrix X w ; concatenating 1002 an interleaver Π to the LLRs matrix in order to obtain a matrix Λ' w related to an encoded matrix X' w ; prepending 1003 Λ' w to a matrix Λ w-1 in order to obtain a matrix D w , wherein Λ w-1 is related to an encoded matrix X w-1 ; decoding 1004 each column of D w on the basis of a polar code decoding algorithm in order to obtain a matrix Γ w ; and computing 1005 an updated matrix Λ w-1 as: Λ w − 1 = Γ w + Y W − 1 , wherein Y W-1 comprises LLRs originally received from the communication channel 102 after the transmission of a matrix X w-1 .

[0080] The apparatuses described above may comprise hardware and software which are configured to carry out the above described operations. The hardware may comprise digital circuitry. Digital circuitry may comprise components such as application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), digital signal processors (DSPs), or general-purpose processors. In one embodiment, the processing circuitry comprises one or more processors and a non-transitory memory connected to the one or more processors. The non-transitory memory may carry executable program code which, when executed by the one or more processors, causes the apparatus to perform the operations or methods described herein.

[0081] The present invention has been described in conjunction with various embodiments as examples as well as implementations. However, other variations can be understood and effected by those persons skilled in the art and practicing the claimed invention, from the studies of the drawings, this disclosure and the independent claims. In the claims as well as in the description the word "comprising" does not exclude other elements or steps and the indefinite article "a" or "an" does not exclude a plurality. A single element or other unit may fulfill the functions of several entities or items recited in the claims. The mere fact that certain measures are recited in the mutual different dependent claims does not indicate that a combination of these measures cannot be used in an advantageous implementation.

Claims

1. An apparatus (101) for encoding a sequence including information bits into a sequence of matrices, wherein the apparatus (101) is configured to: - generate a MxN matrix UNh, wherein M=N / 2, wherein in each row 0≤i<M of UNh each bit position 0≤j<M contains an information bit of the input sequence or a frozen bit depending on a set of frozen bit indices F of a polar code of length N associated with that row, wherein the bits xij, for 0≤i<M and 0≤j<N-M form a matrix Uh+1, while the bits xij for 0≤i<M and M≤j<N form a matrix Xh'; - encode each row of UNh on the basis of the polar code of length N associated with that row, in order to obtain an encoded matrix XNh, wherein the bits xij of XNh for 0≤i<M and 0≤j<N-M form a matrix Xh+1' while the bits xij for 0≤i<M and M≤j<N form a matrix Xh; - transmit the matrix Xh; - generate a NxM matrix UNh+1, wherein in each column 0≤j<M of UNh+1 each bit position 0≤i<N contains an information bit of the input sequence or a frozen bit depending on a set of frozen bit indices F of the polar code of length N associated with that column, wherein the bits xij, for 0≤j<M and 0≤i<N-M form a matrix Uh+2, while the bits xij for 0≤j<M and N-M≤i<N form the matrix Xh+1'; - encode each column of UNh+1 on the basis of the polar code of length N associated with that column, in order to obtain an encoded matrix XNh+1, wherein the bits xij of XNh+1 for 0≤j<M and 0≤i<N-M form a matrix Xh+2' while the bits xij for 0≤j<M and N-M≤j<N form a matrix Xh+1; - transmit the matrix Xh+1; and - wherein the polar encoding is based on a non-systematic polar encoding.

2. The apparatus (101) of claim 1, wherein the apparatus (101) is further configured to: - generate a MxN matrix UNh+2, wherein in each row 0≤i<M of UNh+2 each bit position 0≤j<N-M contains an information bit of the input sequence or a frozen bit depending on the set of frozen bit indices F of the polar code of length N associated with that row, wherein the bits xij, for 0≤i<M and 0≤j<N-M form a matrix Uh+3, while the bits xij for 0≤i<M and N-M≤j<N form the matrix Xh+2'; - encode each row of UNh+2 on the basis of the polar code of length N associated with that row, in order to obtain an encoded matrix XNh+2, wherein the bits xij of XNh+2 for 0≤i<M and 0≤j<N-M form a matrix Xh+3' while the bits xij for 0≤i<M and N-M≤j<N form a matrix Xh+2; - transmit the matrix Xh+2.

3. The apparatus (101) of claim 1, wherein the apparatus (101) is further configured to: - set to 0 all bits xij for j≥N-M forming the matrix X0'.

4. The apparatus (101) of any one of the preceding claims, wherein, for the polar code of length N, the apparatus is configured to: - choose K most reliable positions i, with i<N-M, as positions of information bits; - freeze the remaining N-M-K positions with i<N-M; and - put information bits in any position i≥N-M.

5. The apparatus (101) of any one of the preceding claims 1 to 4, wherein, for the polar code of length N and N-M being a power of 2, the apparatus (101) is configured to: - select the K most reliable positions i as non-frozen positions from the frozen set of polar code of length N-M, wherein non-frozen positions correspond to positions of information bits; - freeze the remaining N-M-K positions; and - put information bits in any position i≥N-M.

6. A method (900) for encoding a an input sequence including information bits, wherein the method (900) comprises the steps of: - generating (901) a MxN matrix UNh, wherein M=N / 2, wherein in each row 0≤i<M of UNh each bit position 0≤j<M contains an information bit of the input sequence or a frozen bit depending on a set of frozen bit indices F of a polar code of length N associated with that row, wherein the bits xij, for 0≤i<M and 0≤j<M form a matrix Uh+1, while the bits xij for 0≤i<M and M≤j<N form a matrix Xh'; - encoding (902) each row of UNh on the basis of the polar code of length N associated with that row, in order to obtain an encoded matrix XNh, wherein the bits xij of XNh for 0≤i<M and 0≤j<M form a matrix Xh+1' while the bits xij for 0≤i<M and M≤j<N form a matrix Xh; - transmitting (903) the matrix Xh; - generating a NxM matrix UNh+1, wherein in each column 0≤j<M of UNh+1 each bit position 0≤i<N contains an information bit of the input sequence or a frozen bit depending on a set of frozen bit indices F of the polar code of length N associated with that column, wherein the bits xij, for 0≤j<M and 0≤i<N-M form a matrix Uh+2, while the bits xij for 0≤j<M and N-M≤i<N form the matrix Xh+1'; - encoding each column of UNh+1 on the basis of the polar code of length N associated with that column, in order to obtain an encoded matrix XNh+1, wherein the bits xij of XNh+1 for 0≤j<M and 0≤i<N-M form a matrix Xh+2' while the bits xij for 0≤j<M and N-M≤j<N form a matrix Xh+1; - transmitting the matrix Xh+1; and wherein the polar encoding is based on a non-systematic polar encoding.

7. The method (900) of claim 6, wherein the method (900) further comprises: - generating a MxN matrix UNh+2, wherein in each row 0≤i<M of UNh+2 each bit position 0≤j<N-M contains an information bit of the input sequence or a frozen bit depending on the set of frozen bit indices F of the polar code of length N associated with that row, wherein the bits xij, for 0≤i<M and 0≤j<N-M form a matrix Uh+3, while the bits xij for 0≤i<M and N-M≤j<N form the matrix Xh+2'; - encoding each row of UNh+2 on the basis of the polar code of length N associated with that row, in order to obtain an encoded matrix XNh+2, wherein the bits xjj of XNh+2 for 0≤i<M and 0≤j<N-M form a matrix Xh+3' while the bits xij for 0≤i<M and N-M≤j<N form a matrix Xh+2; - transmitting the matrix Xh+2.

8. A computer program comprising program code which causes a computer to perform one of the methods of claims 6 to 7 when the program code is executed by the computer.