CN116783826A - Self-isomorphic based polarization encoding and decoding - Google Patents

Self-isomorphic based polarization encoding and decoding Download PDF

Info

Publication number
CN116783826A
CN116783826A CN202180091160.XA CN202180091160A CN116783826A CN 116783826 A CN116783826 A CN 116783826A CN 202180091160 A CN202180091160 A CN 202180091160A CN 116783826 A CN116783826 A CN 116783826A
Authority
CN
China
Prior art keywords
self
codeword
polarization code
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
CN202180091160.XA
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 CN116783826A publication Critical patent/CN116783826A/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/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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Error Detection And Correction (AREA)

Abstract

The present disclosure relates generally to the field of data encoding and decoding, and more particularly to self-isomorphic based polarization encoding and decoding apparatus and methods, and computer program products embodying method steps in computer code form. More specifically, it is proposed to design the polarization codes such that the frozen bits of these polarization codes support a self-organization described by a binary upper triangular matrix having diagonal lines comprising at least one of zero and one. Codewords generated using these polarization codes can then be subjected to self-isomorphic based polarization decoding in an efficient manner and with lower decoding delay as compared to conventional successive cancellation list decoding algorithms. Furthermore, if the self-isomorphism is based on matrix elements above the diagonal line arranged near the lower right corner of the binary upper triangular matrix, the efficiency of polarization decoding based on the self-isomorphism can be further improved.

Description

Self-isomorphic based polarization encoding and decoding
Technical Field
The present disclosure relates generally to the field of data encoding and decoding, and more particularly to self-isomorphic based polarization encoding and decoding apparatus and methods, and computer program products embodying method steps in computer code form.
Background
It is well known that polar codes enable the capacity of symmetric discrete memoryless channels by explicit structure and computationally efficient successive cancellation (Successive Cancellation, SC), SC List (SCL) or cyclic redundancy check (Cyclic Redundancy Check, CRC) assisted SCL decoding algorithms. The basic idea of polarization codes is to present a physical communication channel as a plurality of polarization-synthesized (or virtual) bit channels ordered in the order of channel capacity or reliability. This is known as channel polarization phenomenon. The information bits are then transmitted only on those almost noiseless bit channels, i.e. the channel reliability of which tends towards 1 as the code length increases, whereas the frozen bits, or in other words the bits fixed to a predefined value (typically "0"), are transmitted on the remaining (noisy) bit channels, the channel reliability of which tends towards 0 as the code length increases. Thus, the structure of the polarization code involves finding such a noise-free channel based on the channel reliability.
Codewords generated using polar codes are typically decoded based on an SC decoding algorithm according to which the polar decoder successively attempts to derive the value of each encoded bit. SCL and CRC-assisted SCL decoding algorithms are enhanced versions of SC decoding algorithms, which provide better decoding performance. However, the continuous nature of the polar decoders commonly used in these decoding algorithms results in still higher decoding delays for these polar decoders.
To reduce decoding delay, different decoding algorithms may be used based on the symmetry of the polarization code itself, i.e., the self-organization of the polarization code. However, such self-isomorphic based decoding is only successfully applied to Reed-Muller codes and Bose-Chaudhuri-Hocquenghem codes. Self-constellations of polarization codes have not been successfully used in the decoding process. This is due to the fact that the current knowledge of the nature of the self-constellations of polarized codes is incomplete, which prevents the use of self-constellations set decoders in these codes.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features of the disclosure, nor is it intended to be used to limit the scope of the disclosure.
It is an object of the present disclosure to provide a technical solution that enables efficient use of the self-isomorphism of polarization codes in the encoding and decoding process.
One or more of the above objects are achieved by the features of the independent claims in the appended claims. Further embodiments and examples are evident from the dependent claims, the detailed description and the figures.
According to a first aspect, an encoding apparatus is provided comprising a data storage device and at least one processor. The data storage device includes processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to operate as follows. The at least one processor receives an information word comprising information bits and generates a codeword by applying a polarization code to the information word. The codeword comprises a linear combination of the information bits and frozen bits of the polarization code. The freeze bits are used to support a predefined self-isomorphic set that provides a mapping of the codeword of the polarization code to at least one other codeword of the polarization code. The predefined self-isomorphic set is based on a binary upper triangular matrix having a diagonal comprising at least one of zero and one. The at least one processor then transmits the codeword over a communication channel. Due to the thus configured frozen bits, self-isomorphic based polarization decoding can then be applied to the codeword at the receiving side or decoding side in an efficient manner and with low decoding delay.
In an embodiment of the first aspect, the predefined self-isomorphic set comprises affine transformations derived from the binary upper triangular matrix. By using affine transformation based on a binary upper triangular matrix, the efficiency of subsequent self-isomorphic based polarization decoding of codewords can be improved.
In an embodiment of the first aspect, the predefined isomorphic set is derived substantially from matrix elements above the diagonal that are arranged near a lower right corner of the binary upper triangular matrix. The self-isomorphism based on these matrix elements may improve Block Error Rate (BLER) performance under subsequent self-isomorphism based polarization decoding.
In an embodiment of the first aspect, a dimension K of the polarization code is equal to a number of information bits of the information word, and the at least one processor is further configured to design the polarization code of the dimension K prior to generating the codeword by:
receiving a predetermined polarization code having a dimension K-s, where s < K; and
the dimension K-s of the predetermined polarization code is increased by adding p information bits to the predetermined polarization code at least once until a polarization code of the dimension K is obtained, wherein p.ltoreq.s, and the added p information bits increase the number of self-isomorphism of the predetermined polarization code.
In so doing, the number of self-constellations of the polarization code may also be increased, thereby further improving BLER performance under self-isomorphic based polarization decoding.
According to a second aspect, a decoding device is provided comprising a data storage device and at least one processor. The data storage device includes processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to operate as follows. First, at least one processor receives a codeword from a communication channel. The received codeword comprises a linear combination of information bits of the information word and freeze bits of the polarization code. The received codeword is generated by applying a polarization code to the information word. The freeze bits are used to support a predefined self-isomorphic set that provides a mapping of received codewords of the polarization code to at least one other codeword of the polarization code. The predefined self-isomorphic set is based on a binary upper triangular matrix having a diagonal comprising at least one of zero and one. The at least one processor then obtains a plurality of permuted versions of the received codeword by applying the predefined self-isomorphic set to the received codeword. The at least one processor then obtains a plurality of candidate codewords by decoding each of the permuted versions of the received codeword and selects a candidate codeword from the obtained plurality of candidate codewords. Due to the thus configured frozen bits, the decoding apparatus can perform self-isomorphic based polarization decoding on codewords in an efficient manner and with low decoding delay.
In one embodiment of the second aspect, the at least one processor is configured to select the candidate codeword based on at least one of a maximum likelihood estimation algorithm and a cyclic redundancy check algorithm. In so doing, the most suitable candidate codeword may be selected from the obtained plurality of candidate codewords.
In one embodiment of the second aspect, the at least one processor is configured to obtain the plurality of candidate codewords by applying SC-based decoding to the plurality of permuted versions of the received codeword. This may allow the decoding means according to the second aspect to be implemented based on a commonly used SC-based decoder.
In an embodiment of the second aspect, the predefined self-isomorphic set comprises affine transformations derived from the binary upper triangular matrix. By using affine transformation based on a binary upper triangular matrix, the efficiency of self-isomorphic based polarization decoding of codewords can be improved.
In an embodiment of the second aspect, the predefined isomorphic set is derived substantially from matrix elements above the diagonal that are arranged near a lower right corner of the binary upper triangular matrix. The self-isomorphism based on these matrix elements may improve BLER performance under self-isomorphism based on polarization decoding.
According to a third aspect, a coding method is provided. The method starts with the step of receiving an information word comprising information bits. The method then proceeds to the step of generating a codeword by applying a polarization code to the information word. The codeword comprises a linear combination of the information bits and frozen bits of the polarization code. The freeze bits are used to support a predefined self-isomorphic set that provides a mapping of the codeword of the polarization code to at least one other codeword of the polarization code. The predefined self-isomorphic set is based on a binary upper triangular matrix having a diagonal comprising at least one of zero and one. The method then proceeds to the step of transmitting the codeword over the communication channel. Due to the thus configured frozen bits, self-isomorphic based polarization decoding can then be applied to the codeword at the receiving side or decoding side in an efficient manner and with low decoding delay.
In an embodiment of the third aspect, the predefined isomorphic set is derived substantially from matrix elements above the diagonal that are arranged near a lower right corner of the binary upper triangular matrix. The self-isomorphism based on these matrix elements may improve BLER performance under subsequent self-isomorphism based polarization decoding.
According to a fourth aspect, a decoding method is provided. The method starts with the step of receiving a codeword from a communication channel. The received codeword comprises a linear combination of information bits of the information word and freeze bits of the polarization code. The received codeword is generated by applying a polarization code to the information word. The freeze bits are used to support a predefined self-isomorphic set that provides a mapping of codewords of the received polarization code to at least one other codeword of the polarization code. The predefined self-isomorphic set is based on a binary upper triangular matrix having a diagonal comprising at least one of zero and one. The method then proceeds to the step of obtaining a plurality of permuted versions of the received codeword by applying the predefined self-isomorphic set to the received codeword. The method then proceeds to the step of obtaining a plurality of candidate codewords by decoding each of the permuted versions of the received codeword. The method further proceeds to the step of selecting a candidate codeword from the obtained plurality of candidate codewords. Due to the thus configured frozen bits, self-isomorphic based polarization decoding can be applied to codewords in an efficient manner and with low decoding delay.
In an embodiment of the fourth aspect, the predefined isomorphic set is derived substantially from matrix elements above the diagonal that are arranged near a lower right corner of the binary upper triangular matrix. The self-isomorphism based on these matrix elements may improve BLER performance under self-isomorphism based on polarization decoding.
According to a fifth aspect, a computer program product is provided. The computer program product comprises a computer-readable storage medium storing computer code which, when executed by at least one processor, causes the at least one processor to perform the method according to the third aspect. By using such a computer program product, implementation of the method according to the third aspect in any encoding apparatus (e.g. according to the first aspect) may be simplified.
According to a sixth aspect, a computer program product is provided. The computer program product comprises a computer-readable storage medium storing computer code which, when executed by at least one processor, causes the at least one processor to perform the method according to the fourth aspect. By using such a computer program product, implementation of the method according to the fourth aspect in any decoding apparatus (e.g. according to the second aspect) may be simplified.
Other features and advantages of the present disclosure will be apparent upon reading the following detailed description and reviewing the accompanying drawings.
Drawings
The present disclosure is described below with reference to the accompanying drawings, in which:
fig. 1 shows a block diagram of a forward error correction (Forward Error Correction, FEC) coding scheme commonly used in wireless communication systems;
fig. 2 shows a block diagram of a self-isomorphic set (automorphism ensemble, AE) decoder proposed for Reed-Muller codes;
FIG. 3 illustrates a block diagram of an encoding apparatus according to an example embodiment;
FIG. 4 illustrates a flow chart of an encoding method according to an example embodiment;
FIG. 5 shows a schematic diagram of a binary upper triangular matrix used in the method shown in FIG. 4;
fig. 6 shows the number of base 2 logarithms of the number of self-isomorphic UTL (N) according to the code dimension K of the polarization codes of length n=1024, which are designed according to the reliability sequence normalized for the 5G polarization code;
FIG. 7 illustrates a block diagram of a decoding apparatus according to an exemplary embodiment;
FIG. 8 illustrates a flow chart of a decoding method according to an exemplary embodiment;
fig. 9 shows Block Error Rate (BLER) dependence on Signal-to-Noise Ratio (SNR) obtained using the method shown in fig. 8 and prior art SC, SCL and AE-SC decoding methods for (128,100) polarization codes; and
Fig. 10 shows the dependence of BLER (SNR) obtained for (1024,614) polarization codes using the method shown in fig. 8 and the proposed method of increasing ULT (n) self-isomorphic number.
Detailed Description
Various embodiments of the present disclosure are described in further detail with reference to the accompanying drawings. The present disclosure may, however, be embodied in many other forms and should not be construed as limited to any specific structure or function discussed in the following description. Rather, these embodiments are provided so that this disclosure will be thorough and complete.
It will be apparent to those skilled in the art from this detailed description that the scope of the disclosure encompasses any embodiment thereof disclosed herein, whether implemented independently or consistent with any other embodiment of the disclosure. For example, the apparatus and methods disclosed herein may be implemented in practice using any number of the embodiments provided herein. Furthermore, it should be understood that any embodiment of the present disclosure may be implemented using one or more of the features presented in the appended claims.
The term "exemplary" as used herein has the meaning of "serving as an explanation". Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments unless otherwise specified.
As used in embodiments disclosed herein, an encoding apparatus or encoder may refer to an apparatus for performing an encoding process based on a self-isomorphism of a polarization code. Accordingly, the decoding apparatus or decoder may refer to an apparatus for performing a decoding process based on the self-isomorphism of the polarization code. Such self-isomorphic based polarization encoding and decoding will be discussed in more detail later. It should be noted that each of the encoding means and the decoding means may be integrated into a wireless communication means such as a User Equipment (UE) or a network node, or implemented as a single means coupled to the wireless communication means via a wireless or wired connection. In the former case, the encoding apparatus and the decoding apparatus may be units of the same wireless communication apparatus, so that the wireless communication apparatus can perform self-isomorphic-based polarization encoding and decoding.
A UE may refer to a mobile device, mobile station, terminal, subscriber unit, mobile phone, cellular phone, smart phone, cordless phone, personal digital assistant (personal digital assistant, PDA), wireless communication device, desktop computer, notebook computer, tablet computer, gaming device, netbook, smartbook, ultrabook, medical appliance or device, biometric sensor, wearable device (e.g., smartwatch, smart glasses, smartwristband, etc.), entertainment device (e.g., audio player, video player, etc.), vehicle component or sensor, smart meter/sensor, unmanned vehicle (e.g., industrial robot, quad-rotor helicopter, etc.), industrial manufacturing device, global positioning system (global positioning system, GPS) device, internet of Things (IoT) device, industrial IoT (IIoT) device, machine-type communication (macine-type communication, MTC) device, a set of large-scale IoT (MIoT) or large-scale MTC (MTC) device/sensor, or any other suitable device for supporting wireless communication. In some embodiments, a UE may refer to at least two collocated and interconnected UEs as so defined.
The network node may relate to a fixed communication point of a UE in a particular wireless communication system. The network node may be implemented as a Radio access network (Radio Access Network, RAN) node, which is referred to as a base transceiver station (base transceiver station, BTS) in 2G communication technology, as a NodeB in 3G communication technology, as an evolved NodeB (eNodeB) in 4G communication technology, and as a gNB in 5G New Radio, NR, communication technology. The RAN node may serve different cells, e.g., macro cells, micro cells, pico cells, femto cells, and/or other types of cells. A macrocell can cover a relatively large geographic area (e.g., at least a few kilometers in radius). For example, a microcell may cover a geographic area having a radius of less than two kilometers. The pico cell may cover a relatively small geographic area, such as an office, shopping mall, train station, securities exchange, etc. Femto cells may cover even smaller geographic areas (e.g., households). Accordingly, the RAN node serving the macro cell may be referred to as a macro node, the RAN node serving the micro cell may be referred to as a micro node, and so on.
In a wireless communication system, different wireless communication devices (e.g., UEs and/or network nodes) communicate with each other over a wireless communication channel (e.g., a radio channel). Since it is not feasible to make the wireless communication channel noiseless, measures should be taken to deal with data transmission errors caused by channel noise. For example, forward Error Correction (FEC) coding schemes are commonly used to control errors in data transmissions over such unreliable or noisy wireless communication channels.
Fig. 1 shows a block diagram of an FEC encoding scheme 100 that is typically used in wireless communication systems. FEC encoding scheme 100 is used to protect digitalThe information is protected from channel noise and interference and the number of bit errors is reduced. As shown in fig. 1, the FEC encoding scheme 100 includes an encoder 102 on the transmitting side and a decoder 104 on the receiving side. Communication between the encoder 102 and the decoder 104 is performed via a noisy wireless communication channel 106. FEC encoding scheme 100 operates as follows. The data to be transmitted u, called information words, is fed to the encoder 102. The encoder 102 applies redundancy (i.e., additional redundancy data F) to the data u to generate codeword x. It should be noted that the set of all possible codewords is referred to as a code or channel code, and that the redundant data F is those data or bits known to both the encoder 102 and the decoder 104. Encoder 102 then transmits codeword x over noisy wireless communication channel 106, which typically introduces bit errors. Due to the bit errors, the decoder 104 receives not the codeword x itself, but a distorted version thereof, referred to as the output vector y in fig. 1. The output vector y may be considered as a combination of codeword x and error code. Using the output vector y, the decoder 104 obtains an estimate of the transmitted codeword x and subsequently obtains an estimate of the transmitted data u. In fig. 1, these estimated values are respectively expressed as And->In obtaining the estimated value->And->The decoder 104 uses the redundant data F to correct the bit errors.
Different types of channel codes may be used in FEC encoding scheme 100, with polar codes being of particular interest. This is because the polarization code enables the probability of "reassigning" bit errors between polarization-synthesized bit channels representing the physical communication channels. The error probability of some bit channels is lower than that of other bit channels. Then, bit channels with higher bit rate, also called noiselessA bit channel with low error probability is used for transmitting information bits. Other bit channels are "frozen" in that they are used only to transmit frozen bits. Since both the transmitting side and the receiving side know which bit channels are frozen, each of the frozen bit channels can be assigned an arbitrary value, e.g., a binary zero. Thus, the polarization code enables transmission of required information bits by using a high reliability bit channel, thereby minimizing occurrence of bit errors. Notably, the polarization code takes into account any code rate denoted r=k/N (where n=k+f=2 n Is the length of the polarization code, n is a positive integer, K is the number of information bits, also called the information length of the code dimension of the polarization code, and F is the number of freeze bits).
By using the polarization code of the total length N and the information length K, the codeword x can be generated as follows: x=ut, wherein,is a transformation matrix of the polarization code, < >>Is a nuclear matrix of polarization codes, +.>Is an n times kronecker product and u is an information word. As described above, codeword x is received at the receiving side in the form of output vector y due to channel noise and any other interference. The output vector y may be decoded based on an SC decoding algorithm according to which the decoder 104 (in this case implemented as a polar decoder) starts with a decision to find the first bit of codeword x and feeds this decision back into the decoding process. Decoder 104 then finds the decision of the second bit of codeword x and feeds this decision back into the decoding process. Decoder 104 proceeds in this manner until a final bit decision for codeword x is obtained. The SCL decoding algorithm is an enhanced version of the SC decoding algorithm, in which multiple SC-based decoders operate in parallel during the decoding process and exchange information with each other while the decision is madeDeferred until the decoding process ends and the decision is typically performed with the aid of a CRC. However, the continuous nature of the polar decoders typically used in these decoding algorithms results in still higher decoding delays for these polar decoders.
In order to reduce decoding delay, self-isomorphism using polarization codes in the decoding process has been proposed. By definition, the isomorphism pi for a given code C is such a transformation that maps any codeword x e C to another (not necessarily different) codeword pi (x) e C. Self-organization may be considered as the permutation of bits in one codeword, which results in another codeword of the same code being obtained. The set of all possible self-isomorphisms for code C is referred to as the self-isomorphism group Aut (C) for code C. Self-isomorphic set (Automorphism ensemble, AE) decoders, also referred to herein as self-isomorphic based decoders, have been originally proposed for Reed-Muller (RM) codes. However, in order to reduce decoding delay of the polarization code, it is very meaningful to apply the AE decoder to the polarization code in consideration of the similarity between the RM code and the polarization code.
Fig. 2 shows a block diagram of an AE decoder 200 proposed for RM codes. As shown in fig. 2, AE decoder 200 includes interleavers 202-1, 202-2, … …,202-M, deinterleavers 204-1, 204-2, … …,204-M, SC-based decoders 206-1, 206-2, … …,206-M, and a processing unit 208. Each of the interleavers 202-1, 202-2, … …,202-M receives an output vector y from the noisy communication channel, the output vector y comprising a codeword x generated by using an RM code. Interleavers 202-1, 202-2, … …,202-M use a self-isomorphic set pi 12 ,…,π M M permutated versions of the output vector y are obtained. As described above, these self-constellations obtained from the self-constellations of RM codes provide codeword-to-codeword mapping while not causing changes in the original RM codes. It should also be noted that RM codes have a rich self-organization group, i.e., aut (RM (n, r))=ga (n), where GA (n) is a (generally affine) affine transformation group and is described by a group of all reversible binary matrices of size n×n (plus a vector of size n). Each of the M permuted versions of the output vector y is then fed to a parallel operated SC-based decoder 206-1,206-2, … …, 206-M. SC-based decoders 206-1, 206-2, … …,206-M generate codeword estimates, also referred to as candidate codewords x' 1 ,x′ 2 ,…,x′ M . The operation principle of the SC-based decoder is well known in the art, and thus a detailed description thereof is omitted herein. Next, candidate codeword x' 1 ,x′ 2 ,…,x′ M Subject to inverse self-isomorphism in deinterleavers 204-1, 204-2, … …,204-MGenerating candidate codeword x 1 ,x 2 ,…,x M . Subsequently, the processing unit 208 selects candidate codeword x using a predefined metric, typically a least squares metric 1 ,x 2 ,…,x M To obtain the decoder output, i.e., codeword x.
Returning to the polarization code, it is known if the length n=2 n The self-homogeneous group of the polarization code comprises a lower triangular affine group of order n, called LTA (n), described by a group of all binary lower triangular matrices of size n x n (plus vectors of size n), when the polarization code is designed properly, i.e. following a so-called channel partial order. However, it has been shown that permutations in LTA (n) are exchanged with SC-based decoders, and therefore SC-based decoding results using self-isomorphically permuted codewords from LTA (n) are the same as those obtained by decoding non-permuted codewords. Thus, current knowledge of the self-constellations nature of polarization codes prevents AE decoders (e.g., AE decoder 200) from being applied to these codes.
The exemplary embodiments disclosed herein provide a solution that enables to alleviate or even eliminate the above-mentioned drawbacks specific to the prior art. In particular, the technical solutions disclosed herein relate to designing polarization codes such that frozen bits of these polarization codes support self-isomorphism described by a binary upper triangular matrix having diagonal lines comprising at least one of zero and one. Codewords generated by such designed polar codes may then be subjected to self-isomorphic based polar decoding in an efficient manner and with lower decoding delay compared to conventional SCL decoding algorithms. Furthermore, it has been shown that the efficiency of polarization decoding based on the isomorphism can be further improved if the isomorphism supported by the frozen bits of the polarization code is based on matrix elements arranged diagonally above near the lower right corner of the binary upper triangular matrix.
It should be noted that the self-isomorphism described by the binary upper triangular matrix rarely exists in the self-isomorphic group of the polarization codes designed according to the related art method, and even if it exists, the number of self-isomorphisms is limited, or the structure of the self-isomorphism does not contribute to greatly improving the decoding performance of the AE decoder.
Fig. 3 shows a block diagram of an encoding apparatus 300 according to an exemplary embodiment. As previously described, the apparatus 300 may be part of a UE or a network node, or implemented as a single apparatus accessible by the UE via a wireless or wired connection. As shown in fig. 3, the device 300 includes a processor 302 and a data storage device 304. The data storage 304 stores processor-executable instructions 306 that, when executed by the processor 302, cause the processor 302 to perform self-isomorphic based polarization encoding as will be described in more detail below. It should be noted that the number, arrangement and interconnection of the construction elements that make up the apparatus 300 as shown in fig. 3 are not intended to be any limitation of the present disclosure, but are merely used to provide a general idea as to how the construction elements may be implemented within the apparatus 300. For example, the processor 302 may be replaced by several processors and the data store 304 may be replaced by several removable and/or fixed memory devices, depending on the particular application. In addition, the apparatus 300, when implemented separately, may also include a transceiver for performing data reception and transmission for different purposes. In some embodiments, such a transceiver may be implemented as two separate devices, one for receiving operations and the other for transmitting operations. Regardless of its implementation, the transceiver is intended to be capable of performing the different operations required for data reception and transmission, e.g., signal modulation/demodulation, encoding/decoding, etc.
The processor 302 may be implemented as a CPU, general-purpose processor, single-purpose processor, microcontroller, microprocessor, application specific integrated circuit (application specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA), digital signal processor (digital signal processor, DSP), complex programmable logic device, or the like. It should also be noted that the processor 302 may be implemented as any combination of one or more of the above. As an example, the processor 302 may be a combination of two or more microprocessors.
The data storage 304 may be implemented as classical non-volatile or volatile memory used in modern electronic computing machines. By way of example, nonvolatile Memory can include Read-Only Memory (ROM), ferroelectric Random Access Memory (RAM), programmable ROM (PROM), electrically erasable PROM (Electrically Erasable PROM, EEPROM), solid state drive (solid state drive, SSD), flash Memory, magnetic disk storage devices (e.g., hard disk drives and magnetic tape), optical disk storage devices (e.g., CD, DVD, and blu-ray disc), and the like. As for the volatile memory, examples thereof include dynamic RAM, synchronous DRAM (SDRAM), double Data Rate SDRAM (DDR SDRAM), static RAM, and the like.
The processor-executable instructions 306 stored in the data storage 304 may be configured as computer-executable code that causes the processor 302 to perform aspects of the present disclosure. Computer-executable code for performing the operations or steps of aspects of the present disclosure may be written in any combination of one or more programming languages (e.g., java, C++, etc.). In some examples, the computer-executable code may be in the form of a high-level language or in a precompiled form and generated on-the-fly by an interpreter (also pre-stored in storage 304).
Fig. 4 shows a flow chart of an encoding method 400 according to an exemplary embodiment. Generally, the method 400 describes the operation of the apparatus 300. The method 400 starts at step S402, where the processor 302 receives an information word comprising information bits. The method 400 then proceeds to step S404, where the processor 302 generates a codeword by applying a polarization code to the information word. The codeword comprises a linear combination of the information bits and frozen bits of the polarization code. The freeze bits are used to support a predefined self-isomorphic set that provides a mapping of the codeword of the polarization code to at least one other codeword of the polarization code. The at least one other codeword may be the same as the codeword generated in step S404 of method 400. This is the case, for example, when the codeword generated in step S404 of method 400 is an all-zero codeword. The predefined self-isomorphic set used in method 400 is based on a binary upper triangular matrix having a diagonal that includes at least one of zero and one. Subsequently, the method 400 proceeds to step S406, where the processor 302 causes the codeword to be transmitted over the communication channel in step S406. Due to the thus configured frozen bits, a self-isomorphic based polar decoding of codewords can then be performed in an efficient manner and with low decoding delay on the receiving side or decoding side.
In one embodiment, the predefined self-isomorphic set supported by frozen bits of the polarization code may include affine transformations derived from a binary upper triangular matrix. Assuming that the affine transformation is reversible, the original codeword of the polarization code generated in step S404 of the method 400 may be mapped to another codeword of the same polarization code by using some affine transformation, and vice versa, i.e. the other codeword may be mapped to the original codeword by using the same affine transformation. Affine transformation based on a binary upper triangular matrix can improve the subsequent decoding efficiency based on self-isomorphism of codewords. However, affine transformation should not be construed as any limitation of the present disclosure; it is sufficient that the self-organization supported by the frozen bits of the polarization code provides a mapping of the original codeword to any other (not necessarily different) codeword of the same polarization code.
In a preferred embodiment, the predefined self-isomorphic set supported by frozen bits of the polarization code may be derived substantially from matrix elements arranged above the diagonal near the bottom right corner of the binary upper triangular matrix. It has been found that the self-isomorphism based on these matrix elements can improve BLER performance under subsequent self-isomorphism based polarization decoding.
Fig. 5 shows a schematic diagram of a binary upper triangular matrix 500 that may be used in method 400. As shown in fig. 5, matrix 500 is divided by a main diagonal 502 into a lower matrix portion 504 and an upper matrix portion 506. The matrix 500 is referred to as an "upper triangle" because all matrix elements arranged in the lower matrix portion 504 are zero. Fig. 5 also shows a subsection 508 of the upper matrix section 506, the elements of which may be used for self-isomorphism according to the preferred embodiment.
In order to provide better decoding performance (e.g., better BLER performance), it is also important to increase the number of self-configurations of the polarization code. To illustrate how an increase in the number of self-isomorphism of the polarization code can be achieved, first we begin with describing the polarization code by a single equation.
The single code is of length n=2 n These single-term codes can be obtained as evaluation values for boolean functions, i.e., as polynomials in the galois field of two elements, i.e.,length n=2 n The singles for the code dimension K are generated by choosing K singles from N possible independent singles to generate a code space. The K selected singlets are called generating singlets and form a generating singlets set +.>The evaluation of the linear combination of the singlets provides a codebook of singlets. A singleton is considered decremented if for each of the generated set of singletons all of its singletons belong to the same set. Both RM and polarization codes can be described in this form. In fact, the rows of the transformation matrix of the polarization code are represented by +. >All possible evaluation values for the single expression. Specifically, the polarization code is obtained byChannel polarization phenomenon is defined by selecting a single formula; if the polarization code design conforms to the general partial order framework, the resulting code is a decreasing single-term code.
As previously mentioned, the nature of the self-constellations of the polarization codes is typically unknown, but the decreasing simplex descriptions of these polarization codes enable subgroups of the self-constellations of the decreasing simplex to be found. In fact, the length n=2 n The self-isomorphic group of RM codes of (a) is an affine group of order n, GA (n), defined as the group of all transforms of n variables described by the transform x' =ax+b, where a is an n×n reversible binary matrix and b is a binary column vector of length n. The self-isomorphic group of decreasing singletons is unknown, but one subgroup of the self-isomorphic group is known; in fact, the lower triangular affine transformation group of order n, LTA (n), contained in GA (n), is a subgroup of the self-isomorphic group of decreasing singlets. The group may be defined similarly to GA (n), where in this case matrix a is a lower triangular matrix with complete diagonals. Since well-designed polarization codes are also decreasing singlets, LTA (n) is a subgroup of the self-organization group of polarization codes.
To better evaluate the self-constellations of the polarization codes, the following comments are used: if an affine transformation maps each generated single to a linear combination of generated single, then the affine transformation belongs to a self-isomorphic group of single codes. The annotation can be used to search for self-isomorphism that does not belong to LTA (n). In practice, if a is an n x n transformation matrix defining an affine transformation, then only when for each non-zero matrix element a i,j =1, single item x j Can be replaced byX in (2) i And provide for inclusion in->The single item set->Only when A belongs to the group consisting of the single item +.>The self-isomorphic group of the generated singlets.
Consider, for example, a set of individual itemsThe generated (n=16, k=7) polarization code, i.e. with information set i= {7,10,11,12,13,14,15}. By combining the single-item x 1 Replace by the collection->In a single item x 2 A single set of +.>Thus, by having entry A 1,2 The affine transformation defined by matrix a of=1 may belong to a self-homogenous group of polarization codes. Conversely, by combining the single formula x 0 Replace by the collection->In a single item x 1 A single set of +.>In this case, by having entry A 0,1 The affine transformation defined by matrix a of=1 cannot belong to the self-homogenous group of polarization codes. Proceeding in this way with all entries of matrix a, it is possible to obtain that all reversible binary matrices with the following form belong to a self-homogeneous group of (16,7) polarization codes:
Where e is 0, 1. Notably, this group is larger than LTA (n), even though it may not include all elements of the self-homogenous group of polarization codes.
Considering LTA absorption characteristics of SC-based decoders, it is convenient to focus on an upper triangular linear transform (i.e., UTL (n)) under AE decoding, which represents a transform described by x' =ux, where U is a binary upper triangular matrix. The linear transformation is used here instead of the affine transformation, since the introduction of affine transformation vector b does not change the decoding result under an SC-based decoder. For example, the UTL (n) transformation of the (16,7) polarization code described above has the following form
Wherein, E {0,1}; thus, the self-isomorphic group of polarization codes only allows one non-trivial UTL (4) transformation.
According to embodiments disclosed herein, a frozen set of polarization codes is configured such that a self-isomorphic group of the resulting polarization codes includes UTL (n) self-isomorphism defined by a binary upper triangular matrix. In fact, by using a reliability sequence designed for 5G polarization codes that is standardized and allowing the number of polarization codes of such UTL (n) self-isomorphism to decrease with increasing code length, i.e. the longer the polarization code, the smaller the probability of allowing any UTL (n) of UTL (n) self-isomorphism. As an example of this phenomenon, fig. 6 shows the UTL (N) self-isomorphic number of base 2 logarithms of the code dimension K according to the polarization code of length n=1024, which is designed according to the reliability sequence normalized for the 5G polarization code. It can be seen that the number of UTL (n) self-isomorphism is quite limited and is generally insufficient to improve BLER performance under AE decoding.
Considering the reliability sequence R of N polarization composite bit channels (e.g., the reliability sequence normalized for a 5G polarization code), a (N, K) polarization code C may be created for any given dimension K. If the resulting polarization code does not tolerate sufficient UTL (n) isomorphism, its information bits or freeze bits may be reconfigured to increase the number of UTL (n) isomorphism using the following method.
More specifically, the method 400 may include a further step prior to step S404 in which the processor 302 first receives the signal designed in accordance with the reliability sequence R and having the freeze bit F s (N, K-s)) Polarization code C s Wherein s is<K. Polarization code C s May be a polarization code that was used by the processor 302 and/or that is available to the processor 302 in any manner. For example, polarization code C s May be stored in a memory of the UE comprising the encoding apparatus 300 and the processor 302 accesses the memory to retrieve the polarization code C s . Polarization code C s Also includes generating a single item setProcessor 302 then checks to generate a monomode set +.>To find the single form that should be added to make available each matrix element of the binary upper triangular matrix a. Next, based on the matrix elements that have been selected, the processor 302 adds p singlets to the generated set of singlets, resulting in a frozen set F s′ And generating a single item set->(N, K-s') polarization code C s′ Wherein s is =s-p. The processor 302 may repeat this process until the desired code dimension K is reached, i.e., until s' =0. The addition of the above single element corresponds to the addition of information bits or freeze bits to the polarization code C s This will be apparent to those skilled in the art. By designing the polarization code in this way, the number of self-isomorphism of the polarization code can be increased. The above method is not the only method to increase the number of UTL (n) self-isomorphism, but the evidence provided by this method suggests that it is technically possible to increase the number of UTL (n) self-isomorphism for any given polarization code.
Consider now some non-limiting numerical examples of how to apply the above method to the (16,7) polarization code previously used. The polarization code is composed of single item type setGenerated and has information set i= {7,10,11,12,13,14,15}. As indicated above, the polarizationThe UTL (4) subgroup of the self-constellations of codes includes only one non-trivial element, and thus the AE decoder (e.g., decoder 200) may be applied only to a list of size m=2. If s=1 and the above method is applied, processor 302 should use the method defined by the unigram set +.>Generated and having information set I 1 (16, 6) polarization code of = {7,11,12,13,14,15}, as code C s . By analysis of->It can be seen that in order to increase the number of self-isomorphic UTL (4) in the resulting polar code of code dimension K, there are only three possibilities:
1. if the single item x is to be used 2 x 3 Added toThe resulting set of singles +.>A (16,7) polarization code is generated with information set I' = {3,7,11,12,13,14,15 }. The polarization code allows UTL (4) to be self-isomorphic with the form:
where e {0,1}, thus the self-constellations of the polarization code tolerate 2 2 The UTL (4) is self-isomorphic.
2. If the single item x is to be used 1 x 2 Added toThe resulting set of singles +.>A (16,7) polarization code is generated with information set I' = {7,9,11,12,13,14,15 }. The polarization code is allowed to have the following formIs self-isomorphic to UTL (4): />
Where e {0,1}, thus the self-constellations of the polarization code tolerate 2 2 The UTL (4) is self-isomorphic.
3. If the single item x is to be used 1 x 3 Added toThe resulting set of singles +.>A (16,7) polarization code is generated with information set I' = {5,7,11,12,13,14,15 }. The polarization code allows UTL (4) to be self-isomorphic with the form:
where e {0,1}, thus the self-constellations of the polarization code tolerate 2 3 The UTL (4) is self-isomorphic.
Thus, the above method enables to increase the number of UTL (4) self-isomorphism of the original polarization code. Further, by setting s=2, the number of possibilities further increases. In this case, the processor 302 should be selected from the set of singlets Generated and having information set I 2 The (16, 5) polarization code of = {7,11,13,14,15}, starts. By analysis of->It can be seen that in order to increase the number of UTL (4) self-isomorphism in the resulting polar code of code dimension K, there are a number of possibilities considering a good starting point for the whole process. Hereinafter, only four of the many possible outcomes are described:
1. if it isWill be single form x 0 x 2 And x 0 x 3 Added toThe single item set is obtainedA (16,7) polarization code is generated with information set I' = {6,7,10,11,13,14,15 }. The polarization code allows UTL (4) to be self-isomorphic with the form:
where e {0,1}, thus the self-constellations of the polarization code tolerate 2 3 The UTL (4) is self-isomorphic.
2. If the single item x is to be used 0 x 2 And x 2 x 3 Added toThe single item set is obtainedA (16,7) polarization code is generated with information set I' = {3,7,10,11,13,14,15 }. The polarization code allows UTL (4) to be self-isomorphic with the form:
where e {0,1}, thus the self-constellations of the polarization code tolerate 2 4 The UTL (4) is self-isomorphic.
3. If the single item x is to be used 1 x 2 And x 2 x 3 Added toThe single item set is obtainedA (16,7) polarization code is generated with information set I' = {3,7,9,11,13,14,15 }. The polarization code allows UTL (4) to be self-isomorphic with the form:
Where e {0,1}, thus the self-constellations of the polarization code tolerate 2 5 The UTL (4) is self-isomorphic.
4. If the single item x is to be used 1 x 3 And x 2 x 3 Added toThe single item set is obtainedA (16,7) polarization code is generated with information set I' = {3,5,7,11,13,14,15 }. The polarization code allows UTL (4) to be self-isomorphic with the form: />
Where e {0,1}, thus the self-constellations of the code tolerate 2 6 The UTL (4) is self-isomorphic.
The above examples demonstrate that the above method is effective for designing a polarization code with a greater number of UTL (n) self-isomorphism than prior art methods.
Fig. 7 shows a block diagram of a decoding apparatus 700 according to an exemplary embodiment. Similar to apparatus 300, apparatus 400 may be part of a UE or network node, or implemented as a single apparatus accessible by a UE via a wireless or wired connection. In addition, the apparatuses 300 and 400 may be part of the same UE or network node, if desired. As shown in fig. 7, the device 700 includes a processor 702 and a data storage 704. The data storage 704 stores processor-executable instructions 706 that, when executed by the processor 702, cause the processor 702 to perform self-isomorphic based polarization decoding as will be described in more detail below. It should again be noted that the number, arrangement and interconnection of the construction elements making up the apparatus 700 as shown in fig. 7 is not intended to be any limitation of the present disclosure, but is merely intended to provide a general idea as to how the construction elements are implemented within the apparatus 700. For example, the processor 702 may be replaced by several processors and the data storage 704 may be replaced by several removable and/or fixed memory devices, depending on the particular application. In addition, the apparatus 700 may further include a transceiver for performing data reception and transmission for different purposes when implemented separately. In some embodiments, such a transceiver may be implemented as two separate devices, one for receiving operations and the other for transmitting operations. Regardless of its implementation, the transceiver is intended to be capable of performing the different operations required for data reception and transmission, e.g., signal modulation/demodulation, encoding/decoding, etc.
The processor 702, the data storage 704, and the processor-executable instructions 706 may be implemented in the same or similar manner as the processor 302, the data storage 304, and the processor-executable instructions 306, respectively, of the encoding apparatus 300.
Fig. 8 shows a flow chart of a decoding method 800 according to an exemplary embodiment. In general, method 800 describes the operation of apparatus 700. The method 800 begins at step S802, where the processor 702 receives a codeword from a communication channel. The codeword is a distorted (due to channel noise and other possible interference) version of the codeword generated and transmitted by apparatus 300. As previously described, the frozen bits of the polarization code used to generate the codeword are used to support a predefined self-isomorphic set of polarization codes based on a binary upper triangular matrix. For example, a binary upper triangular matrix may be implemented as matrix 500. It is noted here that in order to properly perform self-isomorphic based polarization decoding, the processor 702 should be aware of the self-isomorphism supported by the frozen bits of the polarization code. Thus, in one embodiment, both processors 302 and 702 may be preconfigured to use the same self-configured set. In another embodiment, apparatus 300 may send information regarding the desired self-organization to apparatus 700, for example, with or prior to transmitting the codeword. Upon receipt of the codeword, the method 800 proceeds to a next step S804, where the processor 702 obtains a plurality of permuted versions of the received codeword by applying a predefined set of self-isomorphism to the received codeword in step S804. Subsequently, the method 800 proceeds to step S806, where the processor 702 obtains a plurality of candidate codewords by decoding each of the permuted versions of the received codeword. The method further proceeds to step S808, where the processor 702 selects a candidate codeword from the obtained plurality of candidate codewords in step S808. Due to the thus configured frozen bits, self-isomorphic based polarization decoding can be applied to codewords in an efficient manner and with low decoding delay.
In one embodiment, step S808 of method 800 may be performed by processor 702 based on at least one of a maximum likelihood estimation algorithm and a cyclic redundancy check algorithm. In so doing, the most suitable candidate codeword may be selected from the obtained plurality of candidate codewords.
In one embodiment, the processor 702 may perform step S806 of the method 800 by applying SC-based decoding to multiple permuted versions of the received codeword. This may allow the decoding apparatus 700 to be implemented according to a commonly used SC-based decoder, thereby simplifying the manufacture of the decoding apparatus. In particular, this may allow the apparatus 700 to be implemented as an AE decoder 200.
To demonstrate that UTL self-isomorphism can improve the decoding performance of the polar codes, particularly the BLER performance, the results of method 800 are compared to those obtained using prior art SC, SCL, and AE-SC decoding methods. A comparison of these results is shown in fig. 9.
More specifically, fig. 9 shows the dependence of BLER (SNR) obtained for (128,100) polar code usage method 800 and prior art SC, SCL and AE-SC decoding methods. It should be noted that in this case, the signal-to-noise ratio (SNR) is expressed as Eb/N0, which is the ratio of energy per bit to noise power spectral density. Curves denoted "SC" and "SCL32" are obtained by SC and SCL decoding methods, respectively (where "SCL32" refers to an SCL-based decoder with a list size l=32). The curve denoted "AE32-SC" was obtained by using a prior art AE-SC decoding method with m=32 LTA isomorphism lists, which perfectly matched the SC curve, confirming the ineffectiveness of LTA isomorphism under AE decoding. Fig. 9 also shows the BLER performance of the polar code designed using the best SNR for each simulated point: the curve should be regarded as a benchmark for the best possible BLER performance for any (128,100) polar code decoded using SC decoding. The remaining two curves denoted "AE32-SC" and "AE4-SCL8" represent AE decoding results based on UTL self-isomorphism (i.e., by using method 800). The curve "AE32-SC" is obtained by using m=32 UTL self-isomorphic lists in AE decoders, where each individual decoder implements conventional SC decoding. The curve "AE4-SCL8" is obtained by using m=4 UTL self-assembled lists in AE decoders, wherein each individual decoder implements an SCL 8-based decoder (i.e. an SCL-based decoder with list size l=8). It can be seen that the performance of UTL self-isomorphic based AE decoding is superior to prior art decoding methods and even exceeds the best performance achievable by applying SC decoding to the polar codes. It is noted that the above method of increasing the number of UTL self-isomorphism of the polarization code is not applied in this case.
Fig. 10 shows the dependence of BLER (SNR) obtained for (1024,614) polarization codes using method 800 and the proposed method of increasing the number of ULT (n) self-isomorphism. Specifically, fig. 10 shows BLER performance under SC and SCL4 decoding applied to polar codes; as before, the performance of the polarization code for the best SNR design at SC is described as a benchmark. It can be seen that the proposed method enables running AE decoding using a list of m=32 UTL self-isomorphisms, which is superior to SC decoding of any polarization code of the same parameters. Furthermore, the BLER performance shown in fig. 10 may be improved by using an SCL4 based decoder within the AE decoder instead of an SC based decoder.
It should be noted that each step or operation of method 400 or 800, or any combination of steps or operations, may be implemented by various means such as hardware, firmware, and/or software. By way of example, one or more of the above-described steps or operations may be embodied in processor-executable instructions, data structures, program modules, and other suitable data representations. Furthermore, executable instructions embodying the steps or operations described above may be stored on a corresponding data carrier and executed by processor 302 and processor 702, respectively. The data carrier may be implemented as any computer-readable storage medium configured to be readable by processor 302 and processor 702 for execution by the processor. Such computer-readable storage media may include both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media includes media implemented in any suitable method or technology for storing information. In more detail, practical examples of computer readable media include, but are not limited to, information transfer media, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (digital versatile disc, DVD), holographic media or other optical disk storage, magnetic tape, magnetic cassettes, magnetic disk storage and other magnetic storage devices.
Although exemplary embodiments of the present disclosure have been described herein, it should be noted that any of a variety of changes and modifications may be made in the embodiments of the present disclosure without departing from the scope of legal protection defined by the following claims. In the appended claims, the word "comprising" does not exclude other elements or operations, and the indefinite article "a" or "an" does not exclude a plurality. 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 (15)

1. An encoding device, comprising:
a data storage device comprising processor-executable instructions; and
at least one processor coupled to the data storage device and configured, when executing the processor-executable instructions, to:
receiving an information word comprising information bits;
generating a codeword by applying a polarization code to the information word, the codeword comprising a linear combination of the information bits and frozen bits of the polarization code, the frozen bits being used to support a predefined set of self-isomorphism that provides a mapping of the codeword of the polarization code to at least one other codeword of the polarization code, the predefined set of self-isomorphism being based on a binary upper triangular matrix having a diagonal comprising at least one of zero and one; and
The codeword is transmitted over a communication channel.
2. The encoding apparatus according to claim 1, wherein the self-isomorphic set comprises affine transformations derived from the binary upper triangular matrix.
3. The encoding apparatus according to claim 1 or 2, characterized in that the predefined self-isomorphic set is derived substantially from matrix elements above the diagonal line arranged near the lower right corner of the binary upper triangular matrix.
4. A coding device according to any of claims 1-3, characterized in that the code dimension K of the polarization code is equal to the number of information bits of the information word, and wherein the at least one processor is further configured to design the polarization code of the code dimension K before generating the code word by:
receiving a predetermined polarization code having a code dimension K-s, where s < K; and
the code dimension K-s of the predetermined polarization code is increased by adding p information bits to the predetermined polarization code at least once until a polarization code of the code dimension K is obtained, wherein p.ltoreq.s, wherein the added p information bits increase the number of self-isomorphism of the predetermined polarization code.
5. A decoding apparatus, comprising:
a data storage device comprising processor-executable instructions; and
at least one processor coupled to the data storage device and configured, when executing the processor-executable instructions, to:
receiving a codeword from a communication channel, wherein the received codeword comprises a linear combination of information bits of an information word and frozen bits of a polarization code, the received codeword generated by applying the polarization code to the information word, the frozen bits for supporting a predefined self-isomorphic set providing a mapping of the received codeword of the polarization code to at least one other codeword of the polarization code, the predefined self-isomorphic set based on a binary upper triangular matrix having a diagonal comprising at least one of zero and one;
obtaining a plurality of permuted versions of the received codeword by applying the predefined set of self-isomorphism to the received codeword;
obtaining a plurality of candidate codewords by decoding each of the permuted versions of the received codeword; and
A candidate codeword is selected from the obtained plurality of candidate codewords.
6. The decoding device of claim 5, wherein the at least one processor is configured to: the candidate codeword is selected based on at least one of a maximum likelihood estimation algorithm and a cyclic redundancy check algorithm.
7. The decoding apparatus of claim 5 or 6, wherein the at least one processor is configured to: the plurality of candidate codewords is obtained by applying successive cancellation-based decoding to the plurality of permuted versions of the received codeword.
8. Decoding apparatus according to any of the claims 5 to 7, characterized in that the predefined self-isomorphic set comprises affine transformations derived from the binary upper triangular matrix.
9. Decoding apparatus according to any one of claims 5 to 8, characterized in that the predefined self-isomorphic set is derived substantially from matrix elements above the diagonal arranged near the lower right corner of the binary upper triangular matrix.
10. A method of encoding, comprising:
receiving an information word comprising information bits;
generating a codeword by applying a polarization code to the information word, the codeword comprising a linear combination of the information bits and frozen bits of the polarization code, the frozen bits being used to support a predefined set of self-isomorphism that provides a mapping of the codeword of the polarization code to at least one other codeword of the polarization code, the predefined set of self-isomorphism being based on a binary upper triangular matrix having a diagonal comprising at least one of zero and one; and
The codeword is transmitted over a communication channel.
11. The encoding method according to claim 10, characterized in that the predefined self-isomorphic set is derived substantially from matrix elements above the diagonal arranged near the lower right corner of the binary upper triangular matrix.
12. A decoding method, comprising:
receiving a codeword from a communication channel, wherein the received codeword comprises a linear combination of information bits of an information word and frozen bits of a polarization code, the received codeword generated by applying the polarization code to the information word, the frozen bits for supporting a predefined self-isomorphic set providing a mapping of the received codeword of the polarization code to at least one other codeword of the polarization code, the predefined self-isomorphic set based on a binary upper triangular matrix having a diagonal comprising at least one of zero and one;
obtaining a plurality of permuted versions of the received codeword by applying the predefined set of self-isomorphism to the received codeword;
obtaining a plurality of candidate codewords by decoding each of the permuted versions of the received codeword; and
A candidate codeword is selected from the obtained plurality of candidate codewords.
13. The decoding method of claim 12, wherein the predefined self-isomorphic set is derived substantially from matrix elements disposed above the diagonal near a lower right corner of the binary upper triangular matrix.
14. A computer program product comprising a computer readable storage medium, wherein the computer readable storage medium stores computer code which, when executed by at least one processor, causes the at least one processor to perform the method of claim 10 or 11.
15. A computer program product comprising a computer readable storage medium, wherein the computer readable storage medium stores computer code which, when executed by at least one processor, causes the at least one processor to perform the method of claim 12 or 13.
CN202180091160.XA 2021-02-16 2021-02-16 Self-isomorphic based polarization encoding and decoding Pending CN116783826A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2021/053710 WO2022174884A1 (en) 2021-02-16 2021-02-16 Automorphism-based polar encoding and decoding

Publications (1)

Publication Number Publication Date
CN116783826A true CN116783826A (en) 2023-09-19

Family

ID=74668822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180091160.XA Pending CN116783826A (en) 2021-02-16 2021-02-16 Self-isomorphic based polarization encoding and decoding

Country Status (4)

Country Link
US (1) US20230387940A1 (en)
EP (1) EP4208948A1 (en)
CN (1) CN116783826A (en)
WO (1) WO2022174884A1 (en)

Also Published As

Publication number Publication date
EP4208948A1 (en) 2023-07-12
WO2022174884A1 (en) 2022-08-25
US20230387940A1 (en) 2023-11-30

Similar Documents

Publication Publication Date Title
US9148177B2 (en) Method and system for error correction in transmitting data using low complexity systematic encoder
US10361718B2 (en) Apparatus and method for encoding with cyclic redundancy check and polar code
CA3028013C (en) Systems and methods for piece-wise rate matching when using polar codes
CN107124188B (en) Encoding method, decoding method, encoding device and decoding device for polarization code
CN109314600B (en) System and method for rate matching when using generic polarization codes
RU2571587C2 (en) Method and device for encoding and decoding data in convoluted polar code
US9396357B2 (en) Physically unclonable function (PUF) with improved error correction
CN109314524B (en) System and method for rate matching through heterogeneous kernels using common polar codes
CN109196800A (en) Generalized polarization code building
US9071406B2 (en) Apparatus and method using matrix network coding
US11296723B2 (en) Methods and apparatuses for data processing in communication system
JP2012151839A (en) Method for performing soft decision decoding of euclidean space reed-muller code
CN109075805B (en) Apparatus and method for implementing polarization code
CN109565287A (en) The polarization that degrades decoding
JP6847321B2 (en) Error correction method and system for transmitted data using low complexity tissue encoder
KR20230079159A (en) Serial concatenated code with outer block code and inner polarization-adjusted convolutional code
Doan et al. Neural dynamic successive cancellation flip decoding of polar codes
CN116783826A (en) Self-isomorphic based polarization encoding and decoding
Miloslavskaya et al. Design of compactly specified polar codes with dynamic frozen bits based on reinforcement learning
Zhang et al. Modified low-complexity Chase soft-decision decoder of Reed–Solomon codes
US10785098B1 (en) Network configuration using multicast address modulation
Zhao et al. Progressive algebraic Chase decoding algorithms for Reed–Solomon codes
CN113196671A (en) Apparatus and method for obtaining concatenated code structures and computer program product thereof
WO2021226665A1 (en) &#34;channel encoding method and a channel encoder&#34;
WO2022057599A1 (en) Method and apparatus for encoding polar code, and method and apparatus for decoding polar code

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