The present invention relates to encoding and decoding technologies, and in particular to an encoding method and an encoding device.
A communications system generally uses channel encoding to improve reliability of data transmission and ensure communications quality. A polar code is an encoding scheme that is theoretically proved to be capable of achieving Shannon capacity with low encoding and decoding complexity. When a length of a Polar code is very large, high performance can be achieved through Successive-Cancellation (SC) decoding. However, when the Polar code is short or has a medium length, its performance is not optimal and needs to be improved.
Embodiments of the present invention provide an encoding method and an encoding device to improve performance of Polar codes.
An embodiment of the present invention provides an encoding method, including:
dividing to-be-encoded input data into M parts according to the number of levels of concatenated Polar encoding, where M is the number of levels of concatenated Polar encoding; and
performing Polar encoding level by level to obtain Polar-encoded data of the input data, where each part of data obtained through the dividing and output bits of a previous level of Polar encoding serve together as information bits of a next level of Polar encoding.
An embodiment of the present invention provides an encoding device, including:
a dividing module, configured to divide to-be-encoded input data into M parts according to the number of levels of concatenated Polar encoding, where M is the number of levels of concatenated Polar encoding; and
an encoding module, configured to perform Polar encoding for information bits of each level of Polar encoding level by level to obtain Polar-encoded data of the input data, where each part of data obtained through the dividing and output bits of a previous level of Polar encoding serve together as information bits of a next level of Polar encoding.
As can be seen from the foregoing technical solutions, in the Polar encoding according to the embodiments of the present invention, output bits of a previous level of Polar encoding and a part of data serve together as information bits of a next level of Polar encoding to implement partially-concatenated Polar encoding. Because a concatenation mode is applied, polarization of Polar codes can be accelerated. In addition, in a partial concatenation mode, a higher code rate can be achieved under a condition of a same code length, thereby improving performance of the Polar codes.
To illustrate the technical solutions in the embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments. Apparently, the accompanying drawings in the following description show some embodiments of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
a is a schematic structural diagram of a device that uses the foregoing concatenated Polar encoding according to the present invention;
b is a schematic structural diagram of an encoding device according to an embodiment of the present invention; and
To make the objectives, technical solutions, and advantages of the embodiments of the present invention more comprehensible, the following clearly and completely describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are merely a part rather than all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
Polar encoding is described below first.
A Polar code is a linear block code. Its generation matrix is GN, and its encoding process is x1N=u1NGN, where x1N indicates output bits after encoding, u1N indicates input bits before the encoding, GN=BN, a length of the code is N=2n, and n≧0.
BN indicates a transposed matrix, such as a bit reversal matrix.
indicates a Kronecker power of F, defined as =F, where:
A polar code may be expressed in a form of a coset code as (N,K,A,uA
Step 11: Divide to-be-encoded input data into M parts according to the number of levels of concatenated Polar encoding, where M is the number of levels of concatenated Polar encoding.
Step 12: Perform Polar encoding for information bits of each level of Polar encoding level by level to obtain Polar-encoded data of the input data, where each part of data obtained through the dividing and output bits of a previous level of Polar encoding serve together as information bits of a next level of Polar encoding.
In this embodiment of the present invention, to improve performance of a Polar code of a finite length, Polar encoding is performed in a partial concatenation manner, and output of the previous level of Polar encoding is used as a part of input of the next level of Polar encoding.
Assuming that the number of concatenation levels in this embodiment of the present invention is M, where M is settable, the input data is divided into M parts, and each part of data and the output of the previous level of Polar encoding serve together as information bits of the next level of Polar encoding.
Specifically, M=2 is taken as an example. In this case, two levels of Polar encoding are included. According to a signal route, the two levels of Polar encoding are respectively called first Polar encoding and second Polar encoding. Output of the first Polar encoding is used as input of the second Polar encoding. For the first Polar encoding, input information bits of the first Polar encoding are a first part of data obtained through dividing; for the second Polar encoding, its input information bits include: a second part of data obtained through dividing and output bits after the first Polar encoding.
Because bits after the previous level of Polar encoding are a part of input information bits of the next level of Polar encoding, this concatenation mode may be understood as partial concatenation.
Referring to
First, the input data is divided into a first part of data and a second part of data. A length of the first part of data and a length of the second part of data may be determined according to parameters corresponding to the first Polar encoding and the second Polar encoding. For example, the length of the first part of data is Kout, and the length of the second part of data is Kin−Nout. After then, data of a corresponding length may be selected, according to the length of the first part of data or the length of the second part, as the first part of data or the second part of data. The selection may be made randomly or according to a selection algorithm set by a user. After the first part of data and the second part of data are obtained, the first Polar encoding is performed for the first part of data to obtain data after the first Polar encoding. A length of the data after the first Polar encoding is Nout. Then the data after the first Polar encoding and the second part of data serve together as information bits for the second Polar encoding to obtain desired Polar-encoded data. A length of the data after the second Polar encoding is Nin.
Output data after the first Polar encoding may specifically serve as: apart of information bits with relatively low reliability among input information bits of the second Polar encoding.
The relatively low reliability may be determined according to bit capacity, a Bhattacharyya parameter, or an error pattern obtained through Monte Carlo simulation.
Taking the bit capacity as an example, as shown in
After the foregoing processing, a code rate of the Polar code is
By contrast, if full concatenation is applied, the code rate is
According to the foregoing process,
During decoding, multiple decoding schemes may be applied. First, a decoder corresponding to the second Polar encoding is applied to decode a received signal to obtain a second LLR value and a first LLR value. The second LLR value is an LLR value corresponding to the information bits of the second Polar encoding, and the first LLR value is an LLR value corresponding to the information bits of the first Polar encoding. Then the second LLR value may be judged directly to obtain a result of decoding the information bits of the second Polar encoding. In addition, a decoder corresponding to the first Polar encoding is applied to decode the first LLR value, and a decoding result is judged to obtain a result of decoding the information bits of the first Polar encoding.
In this embodiment of the present invention, concatenated Polar encoding is applied to accelerate polarization of Polar codes and improve performance of a Polar code of a finite length. In addition, because a partial concatenation manner is specifically used for the concatenation, a higher code rate can be obtained under a condition of a same code length.
An embodiment of the present invention further provides an apparatus for implementing the method and its detailed steps described in the foregoing method embodiment. This embodiment of the present invention is applicable to a base station or a terminal in various communications systems.
The method disclosed in the preceding embodiment of the present invention may be applied to the coding and decoding processor 805, or in other words, may be implemented by the coding and decoding processor 805. The coding and decoding processor 805 may be an integrated circuit chip capable of processing signals. In an implementation process, each step of the method may be implemented by an integrated logic circuit of hardware of the coding and decoding processor 805 or by instructions in a software form. Such instructions may be implemented through the processor 806 to exercise control and perform the method disclosed in the embodiments of the present invention. The decoding processor may be a universal processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logical device, a standalone gate or a transistor logic device, or a standalone hardware device; and can implement or execute the method, steps and logical block diagrams disclosed in the embodiments of the present invention. The universal processor may be a microprocessor or any conventional processor, decoder, or the like. The steps of the method disclosed in the embodiments of the present invention may be performed by a hardware decoder directly, or by a combination of hardware and a software module in the decoder. The software module may reside in a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, or another mature storage medium in the art. The storage medium is located in the memory 807, and the decoding unit reads information in the memory 807, and works together with its hardware to perform the steps of the method.
b is a schematic structural diagram of an encoding device according to an embodiment of the present invention. The encoding device 800 includes a dividing module 81 and an encoding module 82. The dividing module 81 is configured to divide to-be-encoded input data into M parts according to the number of levels of concatenated Polar encoding, where M is the number of levels of concatenated Polar encoding. The encoding module 82 is configured to perform Polar encoding for information bits of each level of Polar encoding level by level to obtain Polar-encoded data of the input data, where each part of data obtained through the dividing and output bits of a previous level of Polar encoding serve together as information bits of a next level of Polar encoding. The dividing module 81 and the encoding module 82 may be the coding and decoding processor 805 in the schematic diagram, or may be logical units of the coding and decoding processor 805. Alternatively, the output bits of the previous level of Polar encoding processed by the encoding module serve as input information bits whose reliability is lower than a threshold in the next level of Polar encoding.
Alternatively, the threshold may be determined according to bit capacity, a bhattacharyya parameter, or an error pattern obtained through Monte Carlo simulation.
Refer to
the dividing module is specifically configured to divide the input data into a first part of data and a second part of data; and
the encoding module includes:
a first Polar encoding unit 91, configured to perform first Polar encoding for the first part of data to obtain data after the first Polar encoding; and
a second Polar encoding unit 92, configured to perform second Polar encoding for the second part of data and the data after the first Polar encoding to obtain Polar-encoded data of the input data.
Alternatively, a length of the first part of data obtained by the dividing module is a length of information bits corresponding to the first Polar encoding; and a length of the second part of data obtained by the dividing module is a difference between a length of information bits corresponding to the second Polar encoding and a code length corresponding to the first Polar encoding. For example, the code length and the information bit length corresponding to the first Polar encoding unit are Nout and Kout respectively; a code length and the information bit length corresponding to the second Polar encoding unit are Nin and Kin respectively; and the length of the first part of data is Kout, and the length of the second part of data is Kin−Nout.
Alternatively, Nin is 2048, Kin is 1280, Nout is 512, Kout is 256, the length of the first part of data is 256, and the length of the second part of data is 768; or, Nin is 2048, Kin is 1024, Nout is 512, Kout is 320, the length of the first part of data is 320, and the length of the second part of data is 512.
In the embodiments of the present invention, concatenated Polar encoding is applied to accelerate polarization of Polar codes and improve performance of a Polar code of a finite length. In addition, because a partial concatenation manner is specifically used for the concatenation, a higher code rate can be obtained under a condition of a same code length.
A person of ordinary skill in the art may understand that, all or a part of the steps of the foregoing method embodiments may be implemented by a program instructing relevant hardware. The foregoing program may be stored in a computer readable storage medium. When the program runs, the steps of the foregoing method embodiments are performed. The foregoing storage medium includes various media capable of storing program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.
Finally, it should be noted that the foregoing embodiments are merely intended for describing the technical solutions of the present invention other than limiting the present invention. Although the present invention is described in detail with reference to the foregoing embodiments, persons of ordinary skill in the art should understand that they may still make modifications to the technical solutions described in the foregoing embodiments, or make equivalent replacements to some or all the technical features thereof, without departing from the scope of the technical solutions of the embodiments of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
201210222709.7 | Jun 2012 | CN | national |
This application is a continuation of International Application No. PCT/CN2013/075818, filed on May 17, 2013, which claims priority to Chinese Patent Application No. 201210222709.7, filed on Jun. 29, 2012, both of which are hereby incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2013/075818 | May 2013 | US |
Child | 14577810 | US |