CN116530022A - Apparatus for product polarization code encoding and decoding - Google Patents

Apparatus for product polarization code encoding and decoding Download PDF

Info

Publication number
CN116530022A
CN116530022A CN202080107060.7A CN202080107060A CN116530022A CN 116530022 A CN116530022 A CN 116530022A CN 202080107060 A CN202080107060 A CN 202080107060A CN 116530022 A CN116530022 A CN 116530022A
Authority
CN
China
Prior art keywords
matrix
decoding
codeword
polarization
scrambling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080107060.7A
Other languages
Chinese (zh)
Inventor
卡洛·康多
英格玛·兰德
瓦莱里奥·比奥里奥
查尔斯·皮莱特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN116530022A publication Critical patent/CN116530022A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The present disclosure relates to the field of channel coding using polar codes, and in particular to product polar code encoding and decoding. Accordingly, the present disclosure proposes an apparatus for product polarization code decoding, an apparatus for product polarization code encoding and corresponding methods. The polarization code decoding includes determining a first matrix by scrambling a received codeword matrix using a scrambler, and polarization decoding one or more columns of the first matrix using a column decoder. The polarization code encoding includes: obtaining scrambling information indicative of one or more scrambling instructions available at the time of decoding of the polarization code; determining an input matrix comprising a set of frozen bits, wherein an arrangement of the set of frozen bits in the input matrix is determined based on the scrambling information; and performing polarization coding on the input matrix based on the product polarization code to obtain the codeword matrix.

Description

Apparatus for product polarization code encoding and decoding
Technical Field
The present disclosure relates to the field of channel coding using polar codes, and in particular to product polar code coding and product polar code decoding. Accordingly, the present disclosure proposes an apparatus for product polarization code decoding, an apparatus for product polarization code encoding and corresponding methods. In particular, embodiments of the present disclosure relate to a product polarization code decoding process that employs a scrambler that scrambles a received codeword matrix prior to column decoding of the received codeword matrix and/or prior to row decoding of the received codeword matrix.
Background
Channel codes are essential in all digital communication systems. A forward error correction (forward error correction, FEC) coding system, also called coding scheme, consists of an encoder on the transmitting side and a decoder on the receiving side. The encoder adds redundancy to the data to be transmitted, i.e. it provides additional redundancy data. The decoder uses this redundancy to correct data transmission errors. Ideally, the receiver can thus obtain the original data without errors, although the data has been transmitted over a noisy communication channel. In such systems, data to be transmitted (also referred to as "information words") is provided to an encoder, which generates "codewords" that contain redundancy. The codeword is then transmitted over a noisy communication channel, which typically introduces errors. The output vector of the channel is provided to a decoder, which uses the received codeword (including errors) to produce an estimate of the transmitted codeword and ultimately obtains the transmitted data. The set of possible codewords is referred to as a code or "channel code", and the present disclosure relates specifically to such codes.
Polarization codes are linear block codes that rely on polarization effects, which allow ordering of bit positions (also called bit channels) of data to be transmitted in order of reliability. When the code length goes to infinity, polarization affects the reliability of the bit channels, which are either totally noisy or totally noiseless. The fraction (fraction) of the noiseless bit channel is even equal to the channel capacity.
For a limited practical code length, the polarization of the bit channel is incomplete, and therefore, there is a partially noisy bit channel. The polarization encoding process includes classifying bit channels in data to be transmitted into two groups: the K good bit channels will carry information bits, indexed by information set I, and the N-K bad bit channels are fixed to a predefined value (typically 0), indexed by frozen set F. In the case of a limited code length, the K best bit channels, i.e. the bit channel with the highest reliability, are selected to form the information bit set, while the remaining bit channels are frozen, i.e. selected to form the frozen bit set.
The Arikan polarization code is based on a kernel matrix:
for a length of n=2 n And the working principle of coding the polarization code with the information length of K is as follows. A frozen set F of size N-K is selected as described above. For i ε F, bit u of input vector u i Set to 0, otherwise set to the information bit. Transform matrix for codeword xCalculated as x=ut, representing an n-fold Kronecker product.
Most polar-code decoding algorithms are based on successive cancellation (successive cancellation, SC) decoding algorithms, which are sequential in nature. It can be considered a binary tree search, in which bits are estimated at leaf nodes and the tree is traversed depth first, giving priority to the left branch. In SC decoding, the decoder decodes from bit u 1 And feeds the decision back into the decoding process. Then the decoder performs bit u 2 Is a block of (2)And feeds back the decision to the decoding process. Continuing in this manner until the last bit u is obtained N Is designed according to the design of (3).
The product code is a type of error correction code that is constructed by encoding an information symbol matrix row by row using a row component code and then column by column using a column component code. The double coding acts as a parallel concatenation of row and column component codes. In this regard, product polarization codes have been proposed in which a system polarization code can be used as a component code. The information bits are arranged in a kr×kc array and then Kc rows are independently encoded using the code Cr. Then, nr columns obtained in the previous step are encoded using the code Cc. The result is an nr×nc array in which the codewords of the behavior code Cr are listed as codewords of the code Cc. The product code may be decoded by sequentially decoding the row and column component codes. The product code decoder typically decodes all row codewords first. Then, using the result of the row decoding, the decoder decodes all column codewords. The decoder then performs a certain number of iterations/alternations in this way and produces estimates of the transmitted bits. Soft input/soft output decoders are commonly used to improve decoding performance by iterating the decoding of rows and columns and exchanging soft information between the two decoders.
Polarization code decoding suffers from long decoding delays due to the sequential nature of SC-based decoding. Product codes can be decoded with a high degree of parallelism, but good error correction performance comes at the cost of complex soft-in soft-out decoding.
The use of polarization codes as constituent codes further presents the problem of effectively combining product decoding and component code decoding. For powerful product decoding, the information output from the component code decoding needs to be soft. However, the decoder most efficient for the polar code based on SC returns hard information. Soft output decoding of the polar code is sub-optimal in nature because the polar code reaches capacity under SC decoding and is constructed for SC-based decoding algorithms.
Disclosure of Invention
The embodiments of the invention presented in this disclosure are based on the following further considerations:
product and class product codes can generally benefit from variations between row and column decoding stages, where messaging can result in trapping sets and soft information patterns that are difficult to correct.
Furthermore, decoding of polar codes has proven to benefit from consideration of the arranged version of the codeword and the encoding factor graph. In particular, using code isomorphism, i.e., using an arrangement that maps codewords into codewords, the SC decoding algorithm may be simplified because they do not change the frozen bit set of the code. In fact, the codeword arrangement maps each codeword to another codeword, which can be decoded by precoding into a source vector linked to the original source vector. This precoding may alter the original frozen set. The isomorphism is the arrangement of codewords, which ensures that the frozen set of arranged codewords is the same as before. Even though some polarization codes are self-isomorphic and do not depend on the frozen set, others will also depend on the frozen set.
However, product codes based on non-systematic polar codes currently lack the flexibility of other concatenation schemes in terms of interleaver selection. In fact, a unique interleaver, i.e., a row-to-column interleaver, may be used in decoding. This may limit error correction performance (e.g., low block error rate (BLER) or Bit Error Rate (BER) performance) and make this technique less attractive.
In view of the above problems and disadvantages, it is an object of embodiments of the present invention to improve product polarization code encoding and product polarization code decoding. The goal is to improve the BER (or BLER) performance of devices used for product polarization code decoding, among other things. In particular, this should be achieved in case of soft cancellation (soft cancellation, SCAN) based decoding. Furthermore, it is an object to provide an efficient product polarization code encoding and decoding scheme.
This object is achieved by the embodiments of the invention described in the appended independent claims. Advantageous implementations of the embodiments of the invention are further defined in the dependent claims.
In particular, the present disclosure proposes to insert a specific scrambler as a row-to-column interleaver to improve BER performance of a product polarization code decoding apparatus. The scrambler may be defined by an arrangement that scrambles codeword bits of the codeword matrix prior to column decoding. Among these permutations, special attention is paid in this disclosure to self-isomorphism, which leaves the codebook intact. Even though some polarization codes may be self-isomorphic and described by polynomial form, others may not and may depend to a large extent on the choice of frozen bit set. Thus, the present disclosure also proposes a method of designing a frozen bit set for a product polarization code in order to enable certain self-isomorphism. Thus, the beneficial permutation can be applied to codewords without changing the frozen set.
A first aspect of the present disclosure provides an apparatus for product polarization code decoding, the apparatus comprising a row decoder, a column decoder, and a scrambler, the apparatus configured to: receiving a codeword matrix encoded based on a product polarization code; determining a first matrix by scrambling the received codeword matrix using a scrambler; performing polarization decoding on one or more columns of the first matrix using a column decoder and providing the resulting hard or soft message to a row decoder; determining a second matrix; performing polarization decoding on one or more rows of the second matrix using a row decoder, and providing the resulting hard or soft message to a column decoder; wherein the scrambler is configured to scramble codeword bits of the received codeword matrix to determine the first matrix.
The apparatus of the first aspect may be a decoder or may be part of a decoder. The received codeword matrix may be a codeword matrix transmitted by an encoder through a channel between the encoder and the decoder. Thus, the received codeword matrix may include a set of information bits or symbols, as well as a set of frozen bits. The hard message or the soft message may be output by a corresponding decoder and carry information about decoding or encoding, respectively. The soft message may include log-likelihood ratios of decoded or encoded bits. The hard message may include decoded or encoded bits.
The BER of the device of the first aspect may be improved by scrambling the received codeword matrix using a scrambler prior to column decoding. At the same time, an efficient product polarization code decoding scheme is enabled. Notably, the device is compatible with performing SCAN-based decoding. In this case the decoder provides a soft output, i.e. a soft message.
In an implementation form of the first aspect, the device is configured to: a second matrix is determined by scrambling the received codeword matrix using a scrambler, wherein the scrambler is configured to scramble codeword bits of the received codeword matrix to determine the second matrix.
That is, the device may also use a scrambler before row decoding, wherein BER (or BLER) may be further improved.
In an implementation of the first aspect, the scrambler is configured to scramble only codeword bits of the received codeword matrix to determine the first matrix and/or the second matrix.
In an implementation of the first aspect, the scrambler is configured to leave a set of frozen bits of the received codeword matrix unchanged to determine the first matrix and/or the second matrix.
In an implementation form of the first aspect, the device is configured to: determining an arrangement of frozen bit sets in the received codeword matrix; determining a scrambling instruction from the one or more scrambling instructions based on the determined arrangement of frozen bit sets; the first matrix and/or the second matrix is determined by scrambling the received codeword matrix according to the determined scrambling instruction using a scrambler.
The scrambling instruction may advantageously leave the frozen bit set unchanged.
In an implementation of the first aspect, each of the one or more scrambling instructions is associated with an arrangement of the frozen bit set in one or more predetermined arrangements in the received codeword matrix.
In an implementation manner of the first aspect, the received codeword matrix and the first matrix belong to the same codebook; and/or the received codeword matrix and the second matrix belong to the same codebook.
In an implementation of the first aspect, the first matrix and the second matrix are codeword matrices of a product polarization code.
Thus, self-isomorphism can be used for a particular good performance of a device.
In an implementation of the first aspect, the second matrix is a received codeword matrix.
In an implementation form of the first aspect, the device is configured to: performing polarization decoding on all columns of the first matrix in parallel using a column decoder; and/or polarization decoding all rows of the second matrix in parallel using a row decoder.
In an implementation form of the first aspect, the device is further configured to: alternately further polarization decoding one or more columns of the first matrix, further polarization decoding one or more rows of the second matrix, and exchanging the resulting hard or soft messages between the column decoder and the row decoder.
In an implementation form of the first aspect, the device is configured to: after each of the one or more alternations, the first matrix and/or the second matrix is modified using a scrambler.
In an implementation form of the first aspect, the device is configured to: alternate polarization decoding of one or more columns and one or more rows, respectively, is performed until a consensus is reached between the row decoder and the column decoder to decode the codeword matrix.
The received codeword matrix may be a codeword matrix transmitted by a device for product polarization code encoding over a channel to a device of the first aspect. Thus, the codeword matrix may be changed by noise. The apparatus of the first aspect may derive a matrix of decoded codewords based on the consensus despite the presence of noise variations.
A second aspect of the present disclosure provides an apparatus configured to product polarization code encode, the apparatus configured to: obtaining scrambling information indicative of one or more scrambling instructions available at a decoding device for decoding the product polarization code; determining an input matrix comprising a set of frozen bits, wherein an arrangement of the set of frozen bits in the input matrix is determined based on the scrambling information; performing polarization coding on the input matrix based on the product polarization code to obtain a codeword matrix; the codeword matrix is transmitted to a decoding device.
The apparatus thus supports the apparatus of the first aspect in that the apparatus selects the frozen bit set in accordance with scrambling instructions that may be used at the apparatus of the first aspect. This allows the apparatus of the first aspect to implement a scrambler in accordance with these scrambling instructions, thereby achieving the advantages described above.
A third aspect of the present disclosure provides a method for product-polarization code decoding, the method comprising: receiving a codeword matrix encoded based on a product polarization code; determining a first matrix by scrambling the received codeword matrix using a scrambler; performing polarization decoding on one or more columns of the first matrix using a column decoder and providing the resulting hard or soft message to a row decoder; determining a second matrix; performing polarization decoding on one or more rows of the second matrix using a row decoder, and providing the resulting hard or soft message to a column decoder; wherein determining the first matrix comprises scrambling codeword bits of the received codeword matrix.
In an implementation manner of the third aspect, the method includes: a second matrix is determined by scrambling the received codeword matrix using a scrambler, wherein the scrambler is configured to scramble codeword bits of the received codeword matrix to determine the second matrix.
In an implementation of the third aspect, the scrambler is configured to scramble only codeword bits of the received codeword matrix to determine the first matrix and/or the second matrix.
In an implementation of the third aspect, the scrambler is configured to leave the set of frozen bits of the received codeword matrix unchanged to determine the first matrix and/or the second matrix.
In an implementation manner of the third aspect, the method includes: determining an arrangement of frozen bit sets in the received codeword matrix; determining a scrambling instruction from the one or more scrambling instructions based on the determined arrangement of frozen bit sets; the first matrix and/or the second matrix is determined by scrambling the codeword matrix according to the determined scrambling instruction using a scrambler.
In an implementation of the third aspect, each of the one or more scrambling instructions is associated with an arrangement of the frozen bit set in one or more predetermined arrangements in the received codeword matrix.
In an implementation manner of the third aspect, the codeword matrix and the first matrix belong to the same codebook; and/or the codeword matrix and the second matrix belong to the same codebook.
In an implementation of the third aspect, the first matrix and the second matrix are codeword matrices of a product polarization code.
In an implementation of the third aspect, the second matrix is a received codeword matrix.
In an implementation manner of the third aspect, the method includes: performing polarization decoding on all columns of the first matrix in parallel using a column decoder; and/or polarization decoding all rows of the second matrix in parallel using a row decoder.
In an implementation manner of the third aspect, the method includes: alternately further polarization decoding one or more columns of the first matrix, further polarization decoding one or more rows of the second matrix, and exchanging the resulting hard or soft messages between the column decoder and the row decoder.
In an implementation manner of the third aspect, the method includes: after each of the one or more alternations, the first matrix and/or the second matrix is modified using a scrambler.
In an implementation manner of the third aspect, the method includes: alternate polarization decoding of one or more columns and one or more rows, respectively, is performed until a consensus is reached between the row decoder and the column decoder to decode the codeword matrix.
The method of the third aspect and its implementation form achieve the same advantages as the device of the first aspect and its corresponding implementation form.
A fourth aspect of the present disclosure provides a method for product polarization code encoding, the method comprising: obtaining scrambling information indicative of one or more scrambling instructions available at a decoding device for decoding the product polarization code; determining an input matrix comprising a set of frozen bits, wherein an arrangement of the set of frozen bits in the input matrix is determined based on the scrambling information; performing polarization coding on the input matrix based on the product polarization code to obtain a codeword matrix; the codeword matrix is transmitted to a decoding device.
The method of the fourth aspect achieves the same advantages as the device of the second aspect.
A fifth aspect of the present disclosure provides a computer program comprising instructions which, when executed by a computer of a decoding device, cause the computer to perform a method according to the third or fourth aspect or any implementation thereof.
A sixth aspect of the present disclosure provides a non-transitory storage medium storing executable program code which when executed by a processor causes a method according to the third or fourth aspect or any implementation thereof to be performed.
It should be noted that all devices, elements, units and modules described in this application may be implemented in software or hardware elements or any type of combination thereof. All steps performed by the various entities described in this application, as well as functions to be performed by the various entities described are intended to mean that the respective entities are used or configured to perform the respective steps and functions. Although in the following description of specific embodiments, specific functions or steps performed by external entities are not reflected in the description of specific detailed elements of the entity performing the specific steps or functions, it should be clear to a skilled person that these methods and functions may be implemented by corresponding hardware or software elements or any combination thereof.
Drawings
The various aspects described above and the manner of attaining them will be elucidated with reference to the accompanying drawings, wherein:
fig. 1 shows a conventional product polarization code encoding.
Fig. 2 shows conventional product polarization code decoding.
Fig. 3 shows an apparatus for product-polarization code decoding according to an embodiment of the present invention.
Fig. 4 shows an apparatus for product polarization code encoding according to an embodiment of the invention.
Fig. 5 illustrates product polarization code interleaving decoding performed by a decoding apparatus according to an embodiment of the present invention.
Fig. 6 shows a coding scheme of an interleaved product polarization code.
Fig. 7 shows BER performance of a standard decoding apparatus and an apparatus for product polarization code decoding according to an embodiment of the present invention.
Fig. 8 illustrates a method for product polarization code decoding according to an embodiment of the present invention.
Fig. 9 illustrates a method for product polarization code encoding according to an embodiment of the present invention.
Detailed Description
Next, a conventional codec method for product polarization codes will be first described. Embodiments of the present invention are then described based on the idea of introducing a scrambler into a row-to-column decoding algorithm compared to conventional product polar decoding. In particular, details of an apparatus for product polarization code decoding and product polarization code encoding according to an embodiment of the present invention are described, respectively. Finally, some exemplary implementations of the scramblers are provided, along with their corresponding BER performance, for comparison.
Fig. 1 shows a conventional product polarization code encoding process. The encoding process may be generally expressed as tc·u·tr, where Tc and Tr are transformation matrices for the column component polarization code and the row component polarization code, respectively. These transformation matrices may encode the input matrix U into a codeword matrix X. The input matrix U comprises a set of information bits and a set of freeze bits. In practice, tc and Tr are transformation matrices for two polarization codes of lengths Nc and Nr, respectively. The resulting product code is a product polarization code. The product polarization code encoding is performed by polarization encoding the rows of the input matrix U and then polarization encoding the columns of the resulting matrix to obtain the codeword matrix X. However, the row and column coding may be exchanged without changing the resulting codeword matrix X. The codeword matrix X may then be transmitted over a channel to a receiver.
Fig. 2 illustrates a conventional product polar decoding process at a receiver. After the transmitter of fig. 1 transmits the codeword matrix X through a channel, the receiver receives the matrix Y, i.e., obtains the received codeword matrix Y. The decoding process then involves iterative decoding of the row and column component polarization codes, where the information is exchanged between the row and column decoding stages in a product-like manner. Product polarization code decoding can be easily parallelized because all rows of the received codeword matrix Y can be processed in parallel and all columns of the received matrix Y can be processed in parallel, which greatly reduces the decoding delay of a length N polarization code. Given the received codeword matrix Y, the row and column decoding processes are performed alternately, as is known in the art, with either hard or soft messages being exchanged between the row decoder and the column decoder. When consensus is reached, or after a certain number of iterations, the decoded codeword matrix is output.
Fig. 3 shows an apparatus 300 for product-polarization code decoding according to an embodiment of the invention. The device 300 comprises a row decoder 301, a column decoder 302 and a scrambler 303. The row decoder 301 and column decoder 302 may be reused from a conventional product polarization code decoding process (see fig. 2). In particular, the device 300 may be based on a legacy device configured to perform a legacy product polar code decoding process, however, the legacy device does not at least include the scrambler 303.
The device 300 is configured to receive a codeword matrix 304. The received codeword matrix 304 is encoded based on a product polarization code. Device 300 may receive codeword matrix 304 from a device for product polarization code encoding (e.g., device 400 described with respect to fig. 4). That is, the received codeword matrix 304 may be a codeword matrix transmitted by the encoding apparatus and received by the decoding apparatus 300 through a noise channel.
The device 300 is further configured to determine a first matrix 305 from the received codeword matrix 304. In particular, the device 300 may obtain the first matrix 305 by scrambling the received codeword matrix 304 using a scrambler 303. That is, the device 300 may be configured to apply the scrambler 300 to the received codeword matrix 304. The scrambler 303 may scramble the received codeword matrix 304 according to the determined scrambling instruction. The device 300 may determine the scrambling instruction from one or more scrambling instructions stored in, for example, a memory of the device 300 or obtained from an external device.
Notably, the scrambler 303 is configured to scramble codeword bits of the received codeword matrix 304 to determine the first matrix 305. Accordingly, the scrambler 303 may be configured to scramble only codeword bits of the received codeword matrix 304 to determine the first matrix 305. The scrambler 303 may also be configured to leave the set of frozen bits of the received codeword matrix 304 unchanged (when scrambling the codeword matrix 304) to determine the first matrix 305. In one embodiment, the device 300 may determine an arrangement of frozen bit sets in the received codeword matrix 304 and may determine scrambling instructions (for obtaining the first matrix 305) further based on the determined arrangement of frozen bit sets.
The device 300 is further configured to polarization decode one or more columns of the first matrix 305 using a column decoder 302. That is, the apparatus 300 may be configured to operate the column decoder 302 with the first matrix 305 as input. In addition, device 300 may provide the resulting hard or soft message 306a to row decoder 301. The hard or soft message 306a may result from column decoding and/or may indicate information about or results of column decoding (hard and soft message exchanges may be as known in the art).
The device 300 is further configured to determine a secondary matrix 307. As an example, the second matrix 307 may be the same as the received codeword matrix 304, i.e., the device 300 may determine the second matrix 307 as the received codeword matrix 304. As another example (as indicated by the dashed arrow in fig. 3), the device 300 may be configured to determine the second matrix 307 by scrambling the received codeword matrix 304 using the scrambler 303. Accordingly, the scrambler 303 is configured to scramble the codeword bits of the received codeword matrix 304 to determine the second matrix 307. For example, the scrambler 303 may scramble only codeword bits of the received codeword matrix 304 to determine the second matrix 307. The scrambler 303 may be further configured to leave the frozen bit set of the received codeword matrix 304 unchanged while scrambling the received codeword matrix 304 to determine the second matrix 307.
Scrambling of the received codeword matrix 304 may be based on different scrambling instructions to obtain the second matrix 307 than the scrambling instructions to obtain the first matrix 305. However, the same scrambling instructions may also be used to obtain the first matrix 305 and the second matrix 307. Likewise, the device 300 may be configured to determine scrambling instructions (for scrambling the second matrix 307) from a plurality of scrambling instructions. In one embodiment, the device 300 may determine an arrangement of frozen bit sets in the received codeword matrix 304 and may determine scrambling instructions from the one or more scrambling instructions further based on the determined arrangement of frozen bit sets. Each of the one or more scrambling instructions may be associated with an arrangement of the frozen bit set in one or more predetermined arrangements in the received codeword matrix 304.
Further, the device 300 is configured to polarization decode one or more rows of the second matrix 307 using the row decoder 301. That is, the apparatus 300 may be configured to operate the column decoder 302 with the first matrix second matrix 307 as input. The device 300 is also configured to provide the resulting hard or soft message 306b to the column decoder 302 (again, the hard or soft message exchange may be as known in the art).
The apparatus 300 may be configured to alternately perform polarization decoding for one or more columns and one or more rows, respectively. In particular, the device 300 may alternately further polarization decode one or more columns of the first matrix 305 on the one hand and one or more rows of the second matrix 307 on the other hand. At least one of the first matrix 305 and the second matrix 307 may be scrambled again by the scrambler 303 between one or more or each alternation based on some scrambling instructions. The device 300 may in particular perform alternating polarization decoding until a consensus is reached between the row decoder 301 and the column decoder 302 to decode the codeword matrix 308.
Fig. 4 shows an apparatus 400 for product polarization code encoding according to an embodiment of the invention. Device 400 may be designed according to device 300 or vice versa.
In particular, the device 400 is configured to obtain scrambling information 401. For example, device 400 may receive scrambling information 401 from device 300 (as exemplarily indicated by the dashed arrow in fig. 4) or from some other device. Scrambling information 401 indicates one or more scrambling instructions that are available at decoding device 300 and/or for product polarization code decoding. Scrambling information 401 may particularly indicate the above-described scrambling instructions that may be determined by device 300 for scrambling codeword matrix 304 to obtain first matrix 305 or second matrix 307, respectively.
The device 400 is also configured to determine an input matrix 402 (e.g., at a matrix determination block 403). The input matrix 402 comprises a set of frozen bits, wherein the arrangement of the set of frozen bits in the input matrix 402 is determined based on the scrambling information 401.
Furthermore, the device 400 is configured to polarization encode the input matrix 402 based on the product polarization code in order to obtain a codeword matrix, e.g. the codeword matrix 304 described above (as exemplarily indicated in fig. 4). To this end, the apparatus 400 may comprise, for example, a polar encoder block 404 to obtain a codeword matrix from the input matrix 402. Further, the device 400 is configured to transmit the codeword matrix 304 to a decoding device, e.g. to the decoding device 300 of fig. 3.
Device 300 and/or device 400 may include a processor or processing circuitry (not shown) configured to perform, conduct, or initiate various operations of device 300 and/or device 400 described herein. The processing circuitry may comprise hardware and/or the processing circuitry may be controlled by software. The hardware may include analog circuitry or digital circuitry, or both analog and digital circuitry. Digital circuitry may include components such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (digital signal processor, DSPs), or multi-purpose processors.
Device 300 and/or device 400 may also include memory circuitry that stores one or more instructions that may be executed by a processor or processing circuitry, particularly under control of software. For example, the memory circuitry may include a non-transitory storage medium storing executable software code that, when executed by a processor or processing circuitry, causes various operations of device 300 and/or device 400 to be performed.
In one embodiment, processing circuitry includes one or more processors and a non-transitory memory coupled to the one or more processors. The non-transitory memory may carry executable program code that, when executed by one or more processors, causes apparatus 300 and/or apparatus 400 to perform, carry out, or initiate the operations or methods described herein.
As described above, embodiments of the present invention propose to introduce the scrambler 303 (see fig. 3) into a conventional product polarization code decoding process, wherein the scrambler 303 may be a codeword scrambler that scrambles elements of the received codeword matrix 305.
Fig. 5 shows in this respect a product-polarization code interleaving decoding process, as this process may be performed by the decoding device 300 according to an embodiment of the invention, i.e. using the scrambler 303 as an interleaver.
In fig. 5, the received codeword matrix 304 is the received matrix Y and may be scrambled using the scrambler 303 as described above. This produces a first matrix 305, which is the scrambling matrix Y' in fig. 5. The first matrix 305 may then be decoded by the column decoder 302 and the resulting hard or information 306a may be passed to the row decoder 301 (e.g., after descrambling), as described above. Notably, the column decoding may also produce a (intermediate) column decoding matrix 501. Notably, the scrambler 303, specifically, the scrambling instructions upon which the scrambler 303 scrambles the first matrix 305, may be changed in each of a plurality of alternations of column decoding as described above. In addition, it is also noted that the second matrix 307 may be a codeword matrix 304 or a scrambling matrix Y "(not shown), and that the second matrix 307 may be decoded by the row decoder 301 as described above. The resulting hard or soft message 306b may be passed to the column decoder 302. Notably, the row decoding may also produce an intermediate row decoding matrix 502.
The challenge presented by introducing scrambler 303 is how to design scrambler 302, and in particular how to determine the scrambling instructions described above. In this regard, as shown in fig. 6, at the apparatus 400 for encoding, an input matrix 402, also an input matrix U, may be precoded to obtain an alternative input matrix U 'that is encoded by product polarization code encoding to obtain a scrambled codeword matrix X'. The scrambled codeword matrix X' is an interleaved version of codeword matrix 304- -also codeword matrix X. From the point of view of the encoding device 400, in order to obtain the codeword matrix X', it is not necessary to actually perform precoding, since the codeword matrix may be obtained from the codeword matrix X by an interleaver. However, from the point of view of polarization code design, it may be beneficial to understand this complete coding scheme in order to determine the constraints of the scrambler 303 or the definition of the scrambling instructions.
In fact, to perform the column decoding depicted in fig. 5, it is beneficial to understand the frozen bit set of the alternate input matrix U'. If the scrambling performed by the scrambler 303 according to the scrambling instruction is a self-organization of the polarization code, i.e. the scrambling matrix Y 'shown in fig. 5 is still a valid codeword of the original polarization code, the surrogate input matrix U' has the same frozen bit set as the input matrix U and no change in column decoding level is required. Hereinafter, the self-organization of the product polarization codes is proposed to create codeword scrambler 303 to be used in the decoding process shown in fig. 5.
To find one or more self-isomorphism of the product polarization code, the product polarization code may be used again as a property of the polarization code. For example, if Nc rows of codeword matrix X are linked as segments of nc·nr vector X such that a first row constitutes a first segment, a second row constitutes a second segment, etc., the construction of a given polarization code is the product of smaller codes, vector X is the codeword of the polarization code of length n=nc·nr. The input vector U of the polarization code can be obtained by appending (applying) the rows of the input matrix U. Thus, the self-isomorphic set of polarization codes of length N is the same as the self-isomorphic set of initial product polarization codes. The self-isomorphism independent of the frozen bit set can be found as proposed in the prior art (e.g., as described in "algebraic properties of polarization codes in new polynomial forms (Algebraic properties of polar codes from a new polynomial formalism)" of m.barset, v. Dragoi, a. Ottmanni and j. P. Tilrich in the institute of IEEE international information works (international symposium on information theory, ISIT) of barcelona, 2016), while other self-isomorphisms dependent on frozen bit sets can be found through violence.
In addition to the self-isomorphism presented in the prior art, which is independent of the frozen bit set, two other methods are presented herein to obtain the frozen set-related self-isomorphism. These self-configurations may be used as codeword scrambler 303 in the proposed interleaved product polar code decoding (performed by device 300) shown in fig. 5.
The first method is based on generalized shifts. It can be demonstrated that given an N-bit polarized codeword, the polarized codeword is divided into N/4 bit portions and cyclically shifted as follows:
A B C D→D AB C
this is self-isomorphic, i.e. the shift vector is also a codeword, mapped to a source vector with the same frozen bit set. Based on this idea, a broader general set of permutations can be identified as self-isomorphism.
For example, an N-bit codeword may be employed and the code may be divided into portions W of length N/2 x. Then, in each section, a sub-section S of length N/2x or N/22x may be identified. Furthermore, for all i, the portion Sk in W2i may be swapped with the portion Sl in W2i+1. These exchanges can be combined with each other without disrupting the partial order of the polarization code, thus ensuring that the frozen bit set remains intact. Thus, they are self-isomorphic.
The cyclic shift may also be constructed by the arrangement described above. For example, assume that the generic codeword has n=8 bits:
A B C D E F G H
the codeword may be divided into 4 parts W of 2 bits, and then the sub-part s=w may be identified in each part. S0 can be exchanged with S1, S2 can be exchanged with S3, obtaining:
C D A B G H E F
the codeword may be divided into 2 parts W of 4 bits, and then the sub-part S may be identified as the first half of W in each part. S0 can be exchanged with S1 to obtain:
G H A B C D E F
This example works, and the letters in the codeword are extended to 2l bits.
The second approach is based on intra-set permutation. Codeword alignment does not guarantee preservation of partial order. However, given a frozen bit set, some partial order violations may be masked by the distribution of frozen bits, resulting in an extended self-isomorphic set. For example, consider the check matrix H of a polar code (or any binary linear code), the columns may be defined by d i Representation such that:
H=[d 0 d 1 …d N-1 ]。
further, the different sets of column vectors may be represented as d= { D (1), D (2),., D (M) }, for each column vector, the corresponding set of column indices may be determined as:
S m ={i∈[N]∶d i =d (m) }。
wherein m=1, 2. Note that set S m Formation of [ N ]]Is defined in the above-described table. If the arrangement P includes only each set S m The arrangement P is self-isomorphic.
The following example assumes n= 8,F = {0,1,4}. This results in:
index set
S 1 ={0,2}、S 2 ={1,3}、S 3 ={4,6}、S 4 ={5,7}。
Thus, any permutation P of switch positions 0 and 2 and/or switch positions 1 and 3 and/or switch positions 4 and 6 and/or switch positions 5 and 7 is self-isomorphic.
The proposed interleaved decoding of the product-polarization code, i.e. using the scrambler 303, may improve the error correction performance of the decoding apparatus 300. Fig. 7 shows Bit Error Rate (BER) performance of the proposed decoder for different scramblers, whereby the result is compared with a standard product polar decoder. The code parameters are n=256×256 and k=240×240, while SCL-SOFT decoder with list size l=8 is used. All curves are obtained by inserting a column-by-column scrambler 303 between the row decoding stage and the column decoding stage. In particular, such as:
1. The rows are decoded.
2. And constructing a standard product polarization code column.
3. The bits of each column are scrambled separately.
4. The columns are decoded.
5. The bits of each column are individually descrambled.
6. And constructing standard product polarization code rows.
For intra-set permutation, given the permutation set of n=256 and k=240 allowed by the DE/GA polarization code construction, the scrambling pattern for each column may be the same and may be randomly selected. The pattern does not change with iteration. The scrambling pattern for each column may be the same for an N/2 cyclic shift curve and may correspond to an N/2 cyclic shift. Also, the pattern does not change with iteration. Finally, for an N/8 cyclic shift curve, the scrambling pattern per column may be equivalent to a p×n/8 bit cyclic shift, where p,0< = p < = 7, may be randomly selected individually for each column. The pattern does not change with iteration. No proposed interleaving, i.e. no standard decoding device of the scrambler 303 is included as reference.
Whereas some self-isomorphism exists depending on the frozen bit set, a temporary frozen bit set may be designed to enable a particular permutation or set of permutations for the codeword.
For example, a polarization code of length N and rate K/N may be assumed. Given codeword x and permutation pi, an permuted codeword x' can be obtained. Its source vector u' can be inferred by recoding the codeword. The source vector u' thus obtained is related to the source vector u of the original codeword by means of the precoding matrix. Only in case all bits of u involved in the precoding of u 'are frozen as well, the bits in u' are frozen.
Then, the N-K freeze positions can be selected as follows:
1. with a standard polarization code construction, a relative reliability order r is obtained, and a ranking from least reliable to most reliable positions can be obtained.
2.i=0
3. Taking into account the position i in the reliability order, j=r is obtained i
4. Freezing position j and composition u' j Is provided, is provided) and is not limited. In particular, any positions involved in the precoding of any new frozen bits are frozen until no new freezing occurs.
5.i=i+1
6. Repeating steps 3 to 5 until N-K positions have been frozen
Depending on the desired arrangement, the rate N/K may not be exactly matched. The algorithm may be repeated to avoid freezing at certain locations j and the frozen set may be selected based on certain performance metrics, for example, as the performance metric having the smallest hamming distance from the best frozen set.
For example, a polarization code of n=16 can be considered with the following source vectors:
u={A,B,C,D,E,F,G,H,I,L,M,N,O,P,Q,R}。
therefore, the code words are:
x={ABCDEFGHILMNOPQR,BDFHLNPR,CDGHMNQR,DHQR,EFGHOPQR,FHPR,GHQR,HR,ILMNOPQR,LNPR,MNQR,NR,OPQR,PR,QR,R}
where ABC is the exclusive or operation between A, B and C.
Performing permutation pi on x obtains permuted codewords,
x'={ABCDEFGHILMNOPQR,BDFHLNPR,CDGHMNQR,DHQR,GHQR,FHPR,EFGHOPQR,HR,QR,ILMNOPQR,R,NR,OPQR,PR,LNPR,MNQR}
re-encoding x' to obtain a source vector,
u'={A,BIOQ,CEFHLNO,MD,EHOQ,FMNQ,EFGHLMNO,HMNQ,I,ILNO,LMNPQ,MQ,LMOP,MNPQ,LMPQ,MNQR}
one of the possible reliability vectors for n=16 is:
r={0 1 2 4 8 3 5 6 9 10 12 7 11 13 14 15}
assuming a rate of 7/16 is required, then 9 positions need to be frozen:
i=0j=0u' 0 =A
Since A is position 0,0 in u, is frozen:
i=1j=1u' 0 =BIOQ
furthermore, positions 1 (B), 8 (I), 12 (O), 14 (Q) may be frozen and 9,10,11, 13 may be linked to guarantee frozen bit dependencies.
Thus, the possible frozen set of the alignment pi is enabled for a polarization code with a rate of 7/16
F={0,1,8,9,10,11,12,13}。
Other possibilities would be:
f= {4,7,8,9,10,11,12,13} and f= {0,3,8,9,10,11,12,13}
Self-isomorphic decoding is advantageous in polar codes. However, little work is done to identify, construct, and utilize self-isomorphism outside of the ranking factor graph. Here, a set of techniques for identifying and constructing self-isomorphism is provided, thereby expanding the set of permutations that can be easily constructed and utilized. A technique is provided to construct a frozen bit set that achieves a given self-organization, thereby ensuring that it does not necessarily result in any rate loss if a particularly advantageous arrangement is designed. Furthermore, a technique of inserting a code based on a product polarization code from a homogeneous scrambler 303 is proposed, thereby realizing a technique which has heretofore been unusable for the product polarization code. A decoding method based on a scrambler insertion that can improve BER of an FEC scheme is proposed.
Fig. 8 illustrates a method 800 for product polarization code decoding according to an embodiment of the invention. Method 800 may be performed by device 300. The method 800 includes step 801: a codeword matrix 304 encoded based on a product polarization code is received. Further, step 802: the first matrix 305 is determined by scrambling the received codeword matrix 304 using a scrambler 303. The step 80 beta 2 of determining the first matrix 305 comprises scrambling code word bits of the received code word matrix 304. The method 800 further comprises step 803: one or more columns of the first matrix are polarization decoded using a column decoder and the resulting hard or soft message is provided to a row decoder. Further, step 804: a second matrix 307 is determined. Furthermore, the method 800 comprises a step 805: one or more rows of the second matrix 307 are polarization decoded using the row decoder 301 and the resulting hard or soft message 306b is provided to the column decoder 302.
Fig. 9 illustrates a method 900 for product polarization code encoding in accordance with an embodiment of the present invention. Method 900 may be performed by device 400. The method 900 comprises the steps 901: scrambling information 401 is obtained that indicates one or more scrambling instructions available for product polarization code decoding at decoding device 300. In addition, step 902: an input matrix 402 comprising a set of frozen bits is determined, wherein an arrangement of the set of frozen bits in the input matrix 402 is determined based on the scrambling information 401. The method further comprises a step 903: performing polarization encoding on the input matrix 402 based on the product polarization code to obtain the codeword matrix 304; step 904: codeword matrix 304 is transmitted to decoding apparatus 300.
The invention has been described in connection with various embodiments and implementations as examples. However, other variations can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the invention, and the independent claims. In the claims and 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 mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

Claims (17)

1. An apparatus (300) for product polarization code decoding, the apparatus (300) comprising a row decoder (301), a column decoder (302) and a scrambler (303), the apparatus (300) being configured to:
receiving a codeword matrix encoded based on a product polarization code (304);
-determining a first matrix (305) by scrambling the received codeword matrix (304) using the scrambler (303);
-polarization decoding one or more columns of said first matrix (305) using said column decoder (302), and providing the resulting hard or soft message (306 a) to said row decoder (301);
determining a second matrix (307);
-polarization decoding one or more rows of said second matrix (307) using said row decoder (301), and providing a resulting hard or soft message (306 b) to said column decoder (302);
wherein the scrambler (303) is configured to scramble codeword bits of the received codeword matrix (304) to determine the first matrix (305).
2. The device (300) of claim 1, configured to:
-determining the second matrix (307) by scrambling the received codeword matrix (304) using the scrambler (303), wherein the scrambler (303) is configured to scramble the codeword bits of the received codeword matrix (304) to determine the second matrix (307).
3. The apparatus (300) of claim 1 or 2, wherein:
the scrambler (303) is configured to scramble only the codeword bits of the received codeword matrix (304) to determine the first matrix (305) and/or the second matrix (307).
4. A device (300) according to any one of claims 1 to 3, wherein:
the scrambler (303) is configured to leave a set of frozen bits of the received codeword matrix (304) unchanged to determine the first matrix (305) and/or the second matrix (307).
5. The device (300) according to any one of claims 1 to 4, configured to:
determining an arrangement of frozen bit sets in the received codeword matrix (304);
determining a scrambling instruction from one or more scrambling instructions based on the determined arrangement of the frozen bit sets;
-determining the first matrix (305) and/or the second matrix (307) by scrambling the received codeword matrix (304) according to the determined scrambling instruction using the scrambler (303).
6. The apparatus (300) of claim 5, wherein:
each of the one or more scrambling instructions is associated with an arrangement of the frozen bit set in one or more predetermined arrangements in the received codeword matrix (304).
7. The apparatus (300) of any one of claims 1 to 6, wherein:
-said received codeword matrix (304) and said first matrix (305) belong to the same codebook; and/or
The received codeword matrix (304) and the second matrix (307) belong to the same codebook.
8. The apparatus (300) of any one of claims 1 to 7, wherein:
the first matrix (305) and the second matrix (307) are codeword matrices of the product polarization code.
9. The apparatus (300) of claim 1 or any of claims 3 to 8, wherein:
the second matrix (307) is the received codeword matrix (304).
10. The device (300) according to any one of claims 1 to 9, configured to:
-polarization decoding all columns of the first matrix (305) in parallel using the column decoder (302); and/or
All rows of the second matrix (307) are polarization decoded in parallel using the row decoder (301).
11. The device (300) of any one of claims 1 to 10, further configured to:
-alternately further polarization decoding the one or more columns of the first matrix (305), -further polarization decoding the one or more rows of the second matrix (307), and-exchanging resulting hard or soft messages (306 a, 306 b) between the column decoder (302) and the row decoder (301).
12. The device (300) of claim 11, configured to:
after each of one or more of the alternations, the first matrix (305) and/or the second matrix (307) is modified using the scrambler (303).
13. The device (300) according to any one of claims 10 to 12, configured to:
-performing said alternating polarization decoding of said one or more columns and said one or more rows, respectively, until a consensus is reached between said row decoder (301) and said column decoder (302) to decode a codeword matrix (308).
14. An apparatus (400) for product polarization code encoding, the apparatus (400) being configured to:
obtaining scrambling information (401) indicative of one or more scrambling instructions available at a decoding device (300) for decoding the product polarization code;
determining an input matrix (402) comprising a set of frozen bits, wherein an arrangement of the set of frozen bits in the input matrix (402) is determined based on the scrambling information (401);
-polarization encoding said input matrix (402) based on a product polarization code to obtain a codeword matrix (404);
-transmitting the codeword matrix (404) to the decoding device (300).
15. A method (800) for product-polarization code decoding, the method (800) comprising:
Receiving (801) a codeword matrix (304) encoded based on a product polarization code;
-determining (802) a first matrix (305) by scrambling the received codeword matrix (304) using a scrambler (303);
-polarization decoding (803) one or more columns of said first matrix (305) using a column decoder (302), and providing the resulting hard or soft message (306 a) to a row decoder (301);
determining (804) a second matrix (307);
-polarization decoding (805) one or more rows of the second matrix (307) using the row decoder (301), and providing the resulting hard or soft message (306 b) to the column decoder (302);
wherein determining (802) the first matrix (305) comprises scrambling codeword bits of the received codeword matrix (304).
16. A method (900) for product polarization code encoding, the method (900) comprising:
obtaining (901) scrambling information (401) indicative of one or more scrambling instructions available at a decoding device (300) for decoding of product polarization codes;
determining (902) an input matrix (402) comprising a set of frozen bits, wherein an arrangement of the set of frozen bits in the input matrix (402) is determined based on the scrambling information (401);
-polarization encoding (903) the input matrix (402) based on a product polarization code to obtain a codeword matrix (404);
-transmitting (904) the codeword matrix (304) to the decoding apparatus (300).
17. A computer program comprising instructions which, when executed by a computer, cause the computer to perform the method (800, 900) according to claim 15 or 16.
CN202080107060.7A 2020-12-03 2020-12-03 Apparatus for product polarization code encoding and decoding Pending CN116530022A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/084450 WO2022117190A1 (en) 2020-12-03 2020-12-03 Devices for product polar-code encoding and decoding

Publications (1)

Publication Number Publication Date
CN116530022A true CN116530022A (en) 2023-08-01

Family

ID=73698856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080107060.7A Pending CN116530022A (en) 2020-12-03 2020-12-03 Apparatus for product polarization code encoding and decoding

Country Status (3)

Country Link
EP (1) EP4205282A1 (en)
CN (1) CN116530022A (en)
WO (1) WO2022117190A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115714632B (en) * 2022-11-04 2024-07-19 重庆邮电大学 Polarization code length blind identification method based on Gaussian column cancellation

Also Published As

Publication number Publication date
WO2022117190A1 (en) 2022-06-09
EP4205282A1 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
US10326478B2 (en) Apparatus and method for encoding and decoding data in twisted polar code
KR101110586B1 (en) Concatenated iterative and algebraic coding
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
JP5705106B2 (en) Method for performing soft decision decoding of Euclidean space Reed-Muller code
Rowshan et al. List Viterbi decoding of PAC codes
US20070067696A1 (en) System, transmitter, receiver, method, and computer program product for structured interleaved Zigzag coding
US20040064779A1 (en) System and method for iterative decoding of Reed-Muller codes
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
Choi et al. Deep polar codes
CN116530022A (en) Apparatus for product polarization code encoding and decoding
Alaoui et al. A low complexity soft decision decoder for linear block codes
CN107888334B (en) Random encoder, decoder and method based on LT code and LDPC code cascade
US7170946B2 (en) System and method for reviving catastrophic codes
RU2485683C1 (en) Decoding device with soft decisions for double-stage cascade code
Zhang et al. A flip-syndrome-list polar decoder architecture for ultra-low-latency communications
CN108476027B (en) Window interleaved TURBO (WI-TURBO) code
Lee et al. Improved reconciliation with polar codes in quantum key distribution
RU2301492C2 (en) Method and device for transmitting voice information in digital radio communication system
EP4205284A1 (en) Staircase polar encoding and decoding
KR20140092834A (en) Error corrector coding and decoding
Kobozeva et al. Investigation of signal-code structures based on 3D error-locating codes
CN112534724B (en) Decoder and method for decoding polarization code and product code
CN112640314B (en) Apparatus and method for mapping frozen sets between product codes and component polarization codes
Li et al. An Efficient Construction and Low Complexity Collaborative Decoding of Reed-Solomon Concatenated with Modified Polar Codes.
Tse et al. Polar coding for parallel Gaussian channels

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination