EP4205282A1 - Vorrichtungen zur codierung und decodierung von produktpolarcodes - Google Patents

Vorrichtungen zur codierung und decodierung von produktpolarcodes

Info

Publication number
EP4205282A1
EP4205282A1 EP20819723.6A EP20819723A EP4205282A1 EP 4205282 A1 EP4205282 A1 EP 4205282A1 EP 20819723 A EP20819723 A EP 20819723A EP 4205282 A1 EP4205282 A1 EP 4205282A1
Authority
EP
European Patent Office
Prior art keywords
matrix
polar
codeword
decoding
code
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
EP20819723.6A
Other languages
English (en)
French (fr)
Inventor
Ingmar LAND
Valerio BIOGLIO
Charles PILLET
Carlo CONDO
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 EP4205282A1 publication Critical patent/EP4205282A1/de
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

Definitions

  • the present disclosure relates to the field of channel coding using polar codes, in particular, relates to product polar-code encoding and product polar-code decoding.
  • the disclosure presents, accordingly, a device for product polar-code decoding, a device for product polar- code encoding, and corresponding methods.
  • embodiments of the disclosure are directed to a product polar-code decoding process that employs a scrambler that scrambles a received codeword matrix before column-decoding and/or before row-decoding of the received codeword matrix.
  • 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.
  • the encoder adds redundancy to the data to be transmitted, i.e., it provides additional redundant data.
  • the decoder exploits this redundancy to correct data transmission errors.
  • the receiver can thus obtain the original data free of errors despite a noisy communication channel, over which the data has been transmitted.
  • the data to be transmitted also termed “information word” is given to the encoder, which produces the “codeword”, which contains the redundancy. This codeword is then transmitted over the noisy communication channel, which typically introduces errors.
  • the output vector of the channel is provided to the decoder, which uses the received codeword (including errors) to produce estimates of the transmitted codeword, and ultimately obtains the transmitted data.
  • the set of possible codewords is called the code, or the “channel code”, and this disclosure is particularly concerned with such a code.
  • Polar codes are linear block codes that rely on the polarization effect, which allows sorting bit positions of the data to be transmitted (also called bit-channels) in order of reliability. As the code length goes toward infinity, the polarization phenomenon influences the reliability of the bit-channels, which are either completely noisy or completely noiseless. Even more, the fraction of noiseless bit-channels equals the channel capacity. For finite practical code lengths, the polarization of bit-channels is incomplete, therefore, there are bit-channels that are partially noisy.
  • the polar encoding process consists of the classification of the bit-channels in the data to be transmitted into two groups: K good bit-channels will carry the information bits and are indexed by the information set I, and N-K bad bit-channels are fixed to a predefined value (usually 0) and are indexed by the frozen set F.
  • K good bit-channels i.e. the ones with the highest reliability
  • N-K bad bit-channels are fixed to a predefined value (usually 0) and are indexed by the frozen set F.
  • the K best bit-channels i.e. the ones with the highest reliability, are selected to form the set of information bits, while the remaining bit-channels are frozen, i.e., are selected to form a set of frozen bits.
  • Arikan polar codes are based on the kernel matrix:
  • the frozen set F of size N-K is chosen, as described above.
  • the bits u L of an input vector u are set to 0 for i G F and to the information bits otherwise.
  • SC decoding Successive Cancellation
  • Product codes are a class of error-correction codes, which are constructed by encoding a matrix of information symbols row-wise with a row component code, and subsequently column-wise using a column component code. The twofold encoding acts as a parallel concatenation of the row and column component codes.
  • Product polar-codes have been proposed in this respect, wherein systematic polar codes can be used as component codes.
  • Information bits are arranged in a Kr x Kc array, and then the code Cr is used to encode Kc rows independently. Afterwards, Nr columns obtained in the previous step are encoded using code Cc. The result is a Nr x Nc array, wherein the rows are codewords of the code Cr, and the columns are codewords of the code Cc.
  • Product codes can be decoded by sequentially decoding rows and column component codes.
  • the product code decoder typically decodes first all the row codewords. Then, using the results of the row-decoding, the decoder decodes all the column codewords. Then, the decoder proceeds in this fashion for a certain number of iterations/alternations, and produces estimates of the transmitted bits.
  • Soft-input/soft-output decoders are normally used to improve the decoding performance by iterating the decoding of rows and columns and exchanging soft information between the two decoders.
  • Polar code decoding suffers from long decoding latency, due to the sequential nature of the SCbased 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.
  • polar codes as constituent codes raises further the problem of combining effectively product decoding and component code decoding.
  • the information output from the component code decoding needs to be soft.
  • the most effective decoders for polar codes, based on SC return hard information.
  • Soft-output decoding of polar codes is inherently suboptimal, since polar codes achieve capacity under SC decoding, and are constructed targeting SC-based decoding algorithms.
  • Product and product-like codes can generally benefit from variations between the row and column decoding phases, wherein message passing can incur trapping sets and soft information patterns that are hard to correct.
  • decoding of polar codes has been shown to benefit from the consideration of permuted versions of the codeword, and of the encoding factor graph.
  • code automorphisms namely with permutations mapping codewords into codewords
  • a codeword permutation maps each codeword to another codeword, which can be decoded to a source vector linked to the original source vector through precoding. This precoding may change the original frozen set.
  • Automorphisms are permutations on the codeword, which guarantee that the frozen set of the permuted codeword is the same as before. Even if some polar code automorphisms do not depend on the frozen set, others do.
  • interleaver may be used in the decoding, namely a row-to-column interleaver. This can limit the errorcorrection performance (e.g., low Block Error Rate (BLER) or Bit Error Rate (BER) performance), and make this technology less appealing.
  • BLER Block Error Rate
  • BER Bit Error Rate
  • embodiments of the present invention aim to improve product polar-code encoding and product polar-code decoding.
  • An objective is to improve, in particular, the BER (or BLER) performance of a device for product polar-code decoding. Especially, this should be achieved in the case of Soft Cancellation (SCAN) based decoding. Further, a goal is to provide an effective product polar-code encoding and decoding scheme.
  • this disclosure proposes to insert a specific scrambler as a row-to-column interleaver, in order to improve the BER performance of a product polar-code decoding device.
  • the scrambler may be defined by a permutation, which scrambles the codeword bits of a codeword matrix before the column-decoding.
  • a particular focus is given in this disclosure to automorphisms, which leave the codebook intact. Even if some polar code automorphisms may be described through a polynomial formalism, others may not, and may heavily depend on the choice of the frozen set of bits.
  • This disclosure therefore proposes also ways to design the frozen set of bits for a product polar-code, in order to enable certain automorphisms. As a consequence, beneficial permutations can be applied on the codeword without changing the frozen set.
  • a first aspect of this disclosure provides a device for product polar-code decoding, the device comprising a row-decoder, a column-decoder, and a scrambler, and the device being configured to: receive a codeword matrix encoded based on a product polar-code; determine a first matrix by scrambling the received codeword matrix using the scrambler; polar-decode one or more columns of the first matrix using the column-decoder and provide a resulting hard message or soft message to the row-decoder; determine a second matrix; polar-decode one or more rows of the second matrix using the row-decoder and provide a resulting hard message or soft message to the column decoder; wherein the scrambler is configured to scramble codeword bits of the received codeword matrix to determine the first matrix.
  • the device 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 over a channel between encoder and decoder.
  • the received codeword matrix may accordingly comprise a set of information bits or symbols, and a frozen set of bits.
  • the hard message or soft message may be output by the respective decoder, and carry information regarding the decoding or encoding, respectively.
  • the soft messages may comprise log-likelihood ratios of decoded or encoded bits.
  • the hard message may comprise decoded or encoded bits.
  • the BER of the device of the first aspect can be improved.
  • an effective product polar-code decoding scheme is enabled.
  • the device is compatible with performing a SCAN-based decoding.
  • the decoders provide soft output, i.e., the soft messages.
  • the device is configured to: determine the second matrix by scrambling the received codeword matrix using the scrambler, wherein the scrambler is configured to scramble the codeword bits of the received codeword matrix to determine the second matrix.
  • the device may further use the scrambler before the row-decoding, wherein the BER (or BLER) can be further improved.
  • the scrambler is configured to scramble only the codeword bits of the received codeword matrix to determine the first matrix and/or the second matrix. In an implementation form of the first aspect, the scrambler is configured leave a frozen set of bits of the received codeword matrix unaltered to determine the first matrix and/or the second matrix.
  • the device is configured to: determine an arrangement of a frozen set of bits in the received codeword matrix; determine a scrambling instruction, from one or more scrambling instructions, based on the determined arrangement of the frozen set of bits; and determine the first matrix and/or the second matrix by scrambling the received codeword matrix according to the determined scrambling instruction using the scrambler.
  • the scrambling instruction may advantageously leave the frozen set of bits unaltered.
  • each of the one or more scrambling instructions is associated with one arrangement of one or more predetermined arrangements of the frozen set of bits in the received codeword matrix.
  • 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.
  • the first matrix and the second matrix are codeword matrices of the product polar-code.
  • automorphisms may be used for a particular good performance of the device.
  • the second matrix is the received codeword matrix.
  • the device is configured to: polar-decode all columns of the first matrix in parallel using the column-decoder; and/or polar-decode all rows of the second matrix in parallel using the row-decoder.
  • the device is further configured to: alternatingly polar-decode further the one or more columns of the first matrix and polar-decode further the one or more rows of the second matrix, and exchange resulting hard messages or soft messages between the column decoder and the row decoder.
  • the device is configured to: modify the first matrix and/or the second matrix using the scrambler after each of one or more of the alternations.
  • the device is configured to: perform the alternating polar-decoding of the one or more columns and of the one or more rows, respectively, until a consensus on a decoded codeword matrix is reached between the row-decoder and the column-decoder.
  • the received codeword matrix may be a codeword matrix as transmitted by a device for product polar-code encoding over a channel to the device of the first aspect.
  • the codeword matrix may be altered by noise.
  • the device of the first aspect may reach the decoded codeword matrix based on the consensus in spite of the noise alteration.
  • a second aspect of this disclosure provides a device for product polar-code encoding, the device being configured to: obtain scrambling information indicative of one or more scrambling instructions available at a decoding device for product polar-code decoding; determine an input matrix comprising a frozen set of bits, wherein an arrangement of the frozen set of bits in the input matrix is determined based on the scrambling information; and polar-encode the input matrix based on a product polar-code to obtain a codeword matrix; and transmit the codeword matrix to the decoding device.
  • the device thus supports the device of the first aspect, in that it selects the frozen set of bits according to the scrambling instructions, which are usable at the device of the first aspect. This allows the device of the first aspect to implement the scrambler according to these scrambling instructions, so that the advantages described above are achieved.
  • a third aspect of this disclosure provides a method for product polar-code decoding, the method comprising: receiving a codeword matrix encoded based on a product polar-code; determining a first matrix by scrambling the received codeword matrix using a scrambler; polar-decoding one or more columns of the first matrix using a column-decoder and providing a resulting hard message or soft message to a row-decoder; determining a second matrix; polar-decoding one or more rows of the second matrix using the row-decoder and providing a resulting hard message or soft message to the column decoder; wherein determining the first matrix comprises scrambling codeword bits of the received codeword matrix.
  • the method comprises: determining the second matrix by scrambling the received codeword matrix using the scrambler, wherein the scrambler is configured to scramble the codeword bits of the received codeword matrix to determine the second matrix.
  • the scrambler is configured to scramble only the codeword bits of the received codeword matrix to determine the first matrix and/or the second matrix.
  • the scrambler is configured leave a frozen set of bits of the received codeword matrix unaltered to determine the first matrix and/or the second matrix.
  • the method comprises: determining an arrangement of a frozen set of bits in the received codeword matrix; determining a scrambling instruction, from one or more scrambling instructions, based on the determined arrangement of the frozen set of bits; and determining the first matrix and/or the second matrix by scrambling the codeword matrix according to the determined scrambling instruction using the scrambler.
  • each of the one or more scrambling instructions is associated with one arrangement of one or more predetermined arrangements of the frozen set of bits in the received codeword matrix.
  • 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.
  • the first matrix and the second matrix are codeword matrices of the product polar-code.
  • the second matrix is the received codeword matrix.
  • the method comprises: polar-decoding all columns of the first matrix in parallel using the column-decoder; and/or polar-decoding all rows of the second matrix in parallel using the row-decoder.
  • the method comprises: alternatingly polar- decoding further the one or more columns of the first matrix and polar-decoding further the one or more rows of the second matrix, and exchanging resulting hard messages or soft messages between the column decoder and the row decoder.
  • the method comprises: modifying the first matrix and/or the second matrix using the scrambler after each of one or more of the alternations.
  • the method comprises: performing the alternating polar-decoding of the one or more columns and of the one or more rows, respectively, until a consensus on a decoded codeword matrix is reached between the row-decoder and the columndecoder.
  • a fourth aspect of this disclosure provides a method for product polar-code encoding, the method comprising: obtaining scrambling information indicative of one or more scrambling instructions available at a decoding device for product polar-code decoding; determining an input matrix comprising a frozen set of bits, wherein an arrangement of the frozen set of bits in the input matrix is determined based on the scrambling information; and polar-encoding the input matrix based on a product polar-code to obtain a codeword matrix; and transmitting the codeword matrix to the decoding device.
  • a fifth aspect of this 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 aspect or fourth aspect or any implementation for 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 the method according to the third aspect or fourth aspect any implementation form thereof to be performed.
  • FIG. 1 illustrates conventional product polar-code encoding.
  • FIG. 2 illustrates conventional product-polar code decoding
  • FIG. 3 shows a device for product polar-code decoding according to an embodiment of the invention.
  • FIG. 4 shows a device for product polar-code encoding according to embodiment of the invention.
  • FIG.5 illustrate a product polar-code interleaved decoding as performed by a decoding device according to an embodiment of the invention.
  • FIG.6 illustrates an encoding scheme for interleaved product polar-codes.
  • FIG.7 shows a BER performance of standard decoding device and a device for product polar-code decoding according to an embodiment of the invention.
  • FIG.8 shows a method for product polar-code decoding according to an embodiment of the invention.
  • FIG.9 shows a method for product polar-code encoding according to embodiment of the invention.
  • FIG.1 shows a conventional product polar-code encoding process.
  • the encoding process can generally be expressed as ⁇ ⁇ ⁇ ⁇ ⁇ , wherein Tc and Tr are the transformation matrices for the column and row component polar codes, 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 frozen set of bits.
  • Tc and Tr are particularly the transformation matrices for two polar codes of length Nc and Nr, respectively.
  • the resulting product code is a product polar code.
  • Product polar-code encoding is performed by polar- encoding the rows of the input matrix U, then polar-encoding the columns of the resulting matrix, in order to obtain the codeword matrix X.
  • the row and column encoding can, however, be swapped without changing the resulting codeword matrix X.
  • the codeword matrix X may then be transmitted over a channel to a receiver.
  • FIG. 2 shows a conventional product polar-code decoding process at the receiver.
  • the receiver receives the matrix F, i.e., obtains the received codeword matrix F.
  • the decoding process then comprises the decoding of the row and column component polar codes iteratively, with information exchanged between the row and column decoding phases in a product-like manner.
  • Product polar-code decoding can be parallelized easily, as all rows of a received codeword matrix F can be processed in parallel, and all columns of the received matrix F can be processed in parallel, which substantially reduces the decoding latency for a length-A polar code.
  • the row and column decoding processes are performed alternatingly, with hard messages or soft messages exchanged between the row-decoder and the column-decoder as is known in the art.
  • a decoded codeword matrix is output.
  • FIG. 3 shows a device 300 for product polar-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 the column-decoder 302 may be reused from the conventional product polar-code decoding process (see FIG. 2).
  • the device 300 may be based on a conventional device configured to perform the conventional product polar- code decoding process, however, the conventional device does at least not comprise 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 polar-code.
  • the device 300 may receive the codeword matrix 304 from a device for product polar-code encoding (as, for example, the device 400 described with respect to FIG. 4). That is, the received codeword matrix 304 may be a codeword matrix send by the encoding device and received by the decoding device 300 over a noisy channel.
  • the device 300 is further configured to determine a first matrix 305 based on the received codeword matrix 304.
  • the device 300 may obtain the first matrix 305 by scrambling the received codeword matrix 304 using the 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 a determined scrambling instruction.
  • the device 300 may determine the scrambling instruction from one or more scrambling instructions, for instance, stored in a memory of the device 300 or obtained from an external device.
  • the scrambler 303 is configured to scramble codeword bits of the received codeword matrix 304 to determine the first matrix 305.
  • the scrambler 303 may thereby be configured to scramble only the codeword bits of the received codeword matrix 304 to determine the first matrix 305.
  • the scrambler 303 may also be configured to leave a frozen set of bits of the received codeword matrix 304 unaltered (when scrambling the codeword matrix 304) to determine the first matrix 305.
  • the device 300 may determine an arrangement of a frozen set of bits in the received codeword matrix 304, and may further determine the scrambling instruction (for obtaining the first matrix 305) based on the determined arrangement of the frozen set of bits.
  • the device 300 is further configured to polar-decode one or more columns of the first matrix 305 using the column-decoder 302. That is, the device 300 may be configured to operate the column-decoder 302 with the first matrix 305 as an input. Further, the device 300 may provide a resulting hard or soft message 306a to the row-decoder 301.
  • the hard or soft message 306a may result from the column-decoding, and/or may indicate information regarding the columndecoding or the result of the column-decoding (hard-message and soft-message exchange may be as known from the art).
  • the device 300 is further configured to determine a second matrix 307.
  • the second matrix 307 may be identical to the received codeword matrix 304, i.e., the device 300 may determine the second matrix 307 as being the received codeword matrix 304.
  • the device 300 may be configured to determine the second matrix 307 by scrambling the received codeword matrix 304 using the scrambler 303.
  • the scrambler 303 is configured to scramble the codeword bits of the received codeword matrix 304 to determine the second matrix 307.
  • the scrambler 303 may scramble only the codeword bits of the received codeword matrix 304 to determine the second matrix 307.
  • the scrambler 303 may also be configured to leave a frozen set of bits of the received codeword matrix 304 unaltered when scrambling the received codeword matrix
  • the scrambling of the received codeword matrix 304 may be based on a different scrambling instruction to obtain the second matrix 307, than a scrambling instruction to obtain the first matrix 305. However, also the same scrambling instruction may be used for obtaining the first matrix 305 and the second matrix 307.
  • the device 300 may be configured to determine the scrambling instruction (for scrambling the second matrix 307) from the multiple scrambling instructions. In an embodiment, the device 300 may determine an arrangement of a frozen set of bits in the received codeword matrix 304, and may further determine the scrambling instruction, from the one or more scrambling instructions, based on the determined arrangement of the frozen set of bits. Each of the one or more scrambling instructions may be associated with one arrangement of one or more predetermined arrangements of the frozen set of bits in the received codeword matrix 304.
  • the device 300 is configured to polar-decode one or more rows of the second matrix 307 using the row-decoder 301. That is, the device 300 may be configured to operate the column-decoder 302 with the first matrix second matrix 307 as an input. The device 300 is further configured to provide a resulting hard or soft message 306b to the column decoder 302 (again, the hard-message or soft-message exchange may be as known from the art).
  • the device 300 may be configured to alternatingly perform polar-decoding of the one or more columns and of the one or more rows, respectively.
  • the device 300 may alternatingly polar-decode further the one or more columns of the first matrix 305 on the one hand side, and polar-decode further the one or more rows of the second matrix 307 on the other hand side. It is possible that at least one of the first matrix 305 and the second matrix 307 is scrambled again by the scrambler 303, based on some scrambling instruction, between one or more or each alternation.
  • the device 300 may specifically perform the alternating polar- decoding until a consensus on a decoded codeword matrix 308 is reached between the rowdecoder 301 and the column-decoder 302.
  • FIG. 4 shows a device 400 for product polar-code encoding according to an embodiment of the invention.
  • the device 400 may be designed in dependency of the device 300, or vice versa.
  • the device 400 is configured to obtain scrambling information 401.
  • the device 400 may receive the scrambling information 401 from the device 300 (as exemplarily indicated by the dashed arrow in FIG. 4), or from some other device.
  • the scrambling information 401 is indicative of one or more scrambling instructions, which are available and/or used at the decoding device 300 for product polar-code decoding.
  • the scrambling information 401 may in particular be indicative of the above-described scrambling instructions, which scrambling instructions may be determined by the device 300 for the scrambling of the codeword matrix 304, in order to obtain the first matrix 305 or in order to obtain the second matrix 307, respectively.
  • the device 400 is further configured to determine an input matrix 402 (for example, at a matrix determination block 403).
  • the input matrix 402 comprises a frozen set of bits, wherein an arrangement of the frozen set of bits in the input matrix 402 is determined based on the scrambling information 401.
  • the device 400 is configured to polar-encode the input matrix 402 based on a product polar-code, in order to obtain a codeword matrix, for instance, the codeword matrix 304 described above (as exemplarily indicated in FIG. 4).
  • the device 400 may to this end comprise, for example, a polar-encoder block 404 to obtain the codeword matrix from the input matrix 402.
  • the device 400 is configured to transmit the codeword matrix 304 to a decoding device, for instance, to the decoding device 300 of FIG. 3.
  • the device 300 and/or the device 400 may comprise a processor or processing circuitry (not shown) configured to perform, conduct or initiate the various operations of the device 300 and/or the device 400 described herein.
  • the processing circuitry may comprise hardware and/or the processing circuitry may be controlled by software.
  • the hardware may comprise analog circuitry or digital circuitry, or both analog and digital circuitry.
  • the digital circuitry may comprise components such as application-specific integrated circuits (ASICs), field- programmable arrays (FPGAs), digital signal processors (DSPs), or multi-purpose processors.
  • ASICs application-specific integrated circuits
  • FPGAs field- programmable arrays
  • DSPs digital signal processors
  • the device 300 and/or the device 400 may further comprise memory circuitry, which stores one or more instruction(s) that can be executed by the processor or by the processing circuitry, in particular under control of the software.
  • the memory circuitry may comprise a non-transitory storage medium storing executable software code which, when executed by the processor or the processing circuitry, causes the various operations of the device 300 and/or the device 400 to be performed.
  • 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 device 300 and/or the device 400 to perform, conduct or initiate the operations or methods described herein.
  • embodiments of the invention propose to introduce the scrambler 303 (see FIG. 3) into the conventional product polar-code decoding process, wherein the scrambler 303 may be a codeword-scrambler that scrambles the elements of received codeword matrix 305.
  • FIG. 5 illustrates in this respect a product polar-code interleaved decoding process as it may be performed by the decoding device 300 according to an embodiment of the invention, i.e., using the scrambler 303 as interleaver.
  • the received codeword matrix 304 is the received matrix Y, and may be scrambled by using the scrambler 303 as described above. This results in the first matrix 305, which is the scrambled matrix Y‘ in FIG. 5.
  • This first matrix 305 may then be decoded by the columndecoder 302 as described above, and the resulting hard or information 306a may be passed to the row-decoder 301 (e.g., after de-scrambling).
  • the column-decoding may also produce an (intermediate) column-decoded matrix 501.
  • the scrambler 303 - in particular, the scrambling instruction based on which the scrambler 303 scrambles the first matrix 305 - may be changed at each of multiple alterations of column-decoding as described above.
  • the second matrix 307 described above may be the codeword matrix 304 or may be a scrambled matrix Y‘ ‘ (not shown), and this second matrix 307 may be decoded by the row-decoder 301 as described above. Resulting hard or soft messages 306b may be passed to the column-decoder 302.
  • the row-decoding may also produce an intermediate row-decoded matrix 502.
  • the input matrix 402 - also input matrix U - may be precoded to get an alternative input matrix U‘, which is encoded through product polar- code encoding to obtain a scrambled codeword matrix X‘.
  • the scrambled codeword matrix X‘ is an interleaved version of the codeword matrix 304 - also codeword matrix X.
  • the scrambling performed by the scrambler 303 according to the scrambling instruction is an automorphism of the polar-code, i.e., the scrambled matrix Y‘ shown in FIG. 5 is still a valid codeword of the original polar- code, then the alternative input matrix U‘ has the same frozen set of bits as of input matrix U, and the column-decoding stage does not need to be changed.
  • automorphisms of the product polar-code are proposed to create the codeword scrambler 303 to be used in the decoding process depicted in FIG. 5.
  • the input vector u of this polar code can be obtained by appending the rows of the input matrix U.
  • the automorphism set of the polar code of length N is the same of the initial product polar-code.
  • automorphisms which are independent of the frozen set of bits
  • two further methods are proposed to obtain automorphisms, which are frozen set dependent instead.
  • These automorphisms can be used as codeword scrambler 303 in the proposed interleaved product polar-code decoding shown in FIG. 5 (performed by device 300).
  • a first approach is based on generalized shifts. It can be shown that given an N-bit polar codeword, dividing it in sections of N/4 bits and cyclically shifting them, as in
  • a B C D D A B C is an automorphism, i.e. the shifted vector is a codeword as well, mapping to a source vector with the same frozen set of bits. Based on this idea, a wider set of general permutations that are automorphisms can be identified.
  • a codeword of N bits may be taken and the code may be divided in sections W of length N/2x. Then, in each section, a subsection S of length N/2x or N/22x may be identified. Further, section Sk in W2i may be swapped with section SI in W2i+1, for all i. These swaps can be combined with each other, without breaking the polar code partial order, and are thus guaranteed to maintain the frozen set of bits intact. They are thus automorphisms.
  • SO may be swapped with SI and S2 may be swapped with S3, obtaining:
  • the codeword may be divided in 2 sections W of 4 bits, then subsection S may be identified as the first half of W in each.
  • SO may be swapped with SI, obtaining:
  • any permutation P swapping positions 0 and 2 and/or swapping positions 1 and 3 and/or swapping positions 4 and 6 and/or swapping positions 5 and 7 is an automorphism.
  • the proposed interleaved decoding of product polar-codes may improve the error-correction performance of the decoding device 300.
  • FIG. 7 shows the Bit Error Rate (BER) performance of proposed decoder for different scramblers, comparing the result with standard product polar decoder.
  • the scrambling pattern of each column may be the same, and may correspond to an N/2 cyclic shift. Again, the pattern does not change with iterations.
  • the standard decoding device without proposed interleaving i.e., without scrambler 303, is included as a reference.
  • a polar code of length N and rate K/N may be assumed.
  • the permuted codeword x’ can be obtained.
  • Its source vector u’ may be inferred by re-encoding the codeword.
  • the source vector thus obtained u’ is related to the source vector u of the original codeword through a precoding matrix.
  • Bits in u’ are frozen only, if all the bits of u involved in its precoding are frozen as well.
  • the algorithm can be repeated avoiding the freezing of some positions j, and the frozen set can be chosen according to some performance metric, for example as the one with the minimum Hamming distance from the optimal frozen set.
  • some performance metric for example as the one with the minimum Hamming distance from the optimal frozen set.
  • x ⁇ ABCDEFGHILMNOPQR, BDFHLNPR, CDGHMNQR, DHQR, EFGHOPQR, FHPR, GHQR, HR, ILMNOPQR, LNPR, MNQR, NR, OPQR, PR, QR,R ⁇
  • ABC is the XOR operation between A, B and C.
  • Automorphism decoding is advantageous in polar codes.
  • very little work has been done to identify, construct and exploit automorphisms outside the permuted factor graphs.
  • a set of techniques is provided to identify and construct automorphisms, widening the set of permutations that can be easily constructed and exploited.
  • a technique is provided to construct a frozen set of bits that enables a given automorphism, making sure that if a particularly advantageous permutation is designed, it does not have to cause any rate loss.
  • a scrambler 303 insertion technique is proposed based on code automorphisms for product polar- codes, enabling a technique unavailable with product polar codes so far.
  • a decoding approach is proposed based on the scrambler insertion that is shown to improve the BER of the FEC scheme.
  • FIG. 8 shows a method 800 for product polar-code decoding according to an embodiment of the invention.
  • the method 800 can be performed by the device 300.
  • the method 800 comprises a step 801 of receiving a codeword matrix 304 encoded based on a product polar-code. Further, a step 802 of determining a first matrix 305 by scrambling the received codeword matrix 304 using a scrambler 303.
  • the step 80132 of determining the first matrix 305 comprises scrambling codeword bits of the received codeword matrix 304.
  • the method 800 also comprises a step 803 of polar-decoding one or more columns of the first matrix using a column-decoder and providing a resulting hard message or soft message to a row-decoder.
  • the method 800 comprises a step 805 of polar- decoding one or more rows of the second matrix 307 using the row-decoder 301, and providing a resulting hard message or soft message 306b to the column decoder 302.
  • FIG. 9 shows a method 900 for product polar-code encoding according to an embodiment of the invention.
  • the method 900 may be performed by the device 400.
  • the method 900 comprises a step 901 of obtaining scrambling information 401 indicative of one or more scrambling instructions available at a decoding device 300 for product polar-code decoding. Further, a step 902 of determining an input matrix 402 comprising a frozen set of bits, wherein an arrangement of the frozen set of bits in the input matrix 402 is determined based on the scrambling information 401.
  • the method also comprises a step 903 of polar-encoding the input matrix 402 based on a product polar-code to obtain a codeword matrix 304, and a step 904 of transmitting the codeword matrix 304 to the decoding device 300.
EP20819723.6A 2020-12-03 2020-12-03 Vorrichtungen zur codierung und decodierung von produktpolarcodes Pending EP4205282A1 (de)

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
EP4205282A1 true EP4205282A1 (de) 2023-07-05

Family

ID=73698856

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20819723.6A Pending EP4205282A1 (de) 2020-12-03 2020-12-03 Vorrichtungen zur codierung und decodierung von produktpolarcodes

Country Status (3)

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

Also Published As

Publication number Publication date
WO2022117190A1 (en) 2022-06-09
CN116530022A (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
US10326478B2 (en) Apparatus and method for encoding and decoding data in twisted polar code
Abbas et al. High-throughput VLSI architecture for GRAND
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
JP3451221B2 (ja) 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
JP2020501472A (ja) 符号化されたコードワードを送信する送信機、方法及び非一時的コンピューター可読記憶媒体
JP4553330B2 (ja) 符号化装置及び方法、復号装置及び方法、情報処理装置及び方法、並びに記憶媒体
EP3659261A2 (de) Codierer, decoder und sender
US20070067696A1 (en) System, transmitter, receiver, method, and computer program product for structured interleaved Zigzag coding
US7640462B2 (en) Interleaver and de-interleaver
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
Jang et al. Rate matching for polar codes based on binary domination
US7526707B2 (en) Method and apparatus for encoding and decoding data using a pseudo-random interleaver
Hiller et al. Seesaw: An area-optimized FPGA viterbi decoder for PUFs
Alaoui et al. A low complexity soft decision decoder for linear block codes
CN109327276B (zh) 安全编码方法、解码方法及设备
EP4205282A1 (de) Vorrichtungen zur codierung und decodierung von produktpolarcodes
EP2175581A2 (de) Kommunikationssystem mit Turbokodierung und Dekodierung
Lee et al. Improved reconciliation with polar codes in quantum key distribution
Zhang et al. A flip-syndrome-list polar decoder architecture for ultra-low-latency communications
EP2406908B1 (de) Mimo-kommunikationsverfahren und vorrichtungen
US8091012B2 (en) System and method for decreasing decoder complexity
Raje et al. Review paper on study of various Interleavers and their significance
Huang et al. Efficient software method for decoding of the (71, 36, 11) quadratic residue code
Barbier et al. Overview of turbo-code reconstruction techniques
Chen et al. Fast algorithm for decoding of systematic quadratic residue codes

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20230331

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)