CN107682020B - Encoding and decoding method and device based on Turbo code - Google Patents

Encoding and decoding method and device based on Turbo code Download PDF

Info

Publication number
CN107682020B
CN107682020B CN201711013272.5A CN201711013272A CN107682020B CN 107682020 B CN107682020 B CN 107682020B CN 201711013272 A CN201711013272 A CN 201711013272A CN 107682020 B CN107682020 B CN 107682020B
Authority
CN
China
Prior art keywords
data
value
coded
hamming weight
encoded
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.)
Active
Application number
CN201711013272.5A
Other languages
Chinese (zh)
Other versions
CN107682020A (en
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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201711013272.5A priority Critical patent/CN107682020B/en
Publication of CN107682020A publication Critical patent/CN107682020A/en
Application granted granted Critical
Publication of CN107682020B publication Critical patent/CN107682020B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Abstract

The embodiment of the invention provides a method and a device for encoding and decoding based on a Turbo code, wherein the method for encoding based on the Turbo code comprises the following steps: acquiring data to be encoded; judging whether the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition or not; if yes, carrying out negation operation on the data to be coded; setting a flag bit of the data to be encoded after inversion to be a first numerical value, wherein the flag bit is: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted; and based on the Turbo code, coding the inverted data to be coded and the mark bits of the inverted data to be coded. By the technical scheme provided by the embodiment of the invention, the Hamming weight of the data to be coded can be increased through simple negation operation, and further the Hamming weight of a coding result can be increased; instead of having to increase the codec result by increasing the interleaving length of the Turbo code based encoder, as in the prior art.

Description

Encoding and decoding method and device based on Turbo code
Technical Field
The present invention relates to the field of information encoding and decoding technology, and more particularly to a Turbo code-based encoding method, a Turbo code-based decoding method, a Turbo code-based encoding device, and a Turbo code-based decoding device.
Background
Turbo code is a concatenated code first proposed in 1993 by claude. In the prior art, the process of encoding data by an encoder based on a Turbo code is as follows: information data is divided into information data blocks each having the same length as the interleaving length of an interleaver in a Turbo code-based encoder, and then each information data block is encoded.
In general, the smaller the hamming weight of information data input to an encoder using a Turbo code, the smaller the hamming weight of the encoding result obtained by the encoder using the Turbo code, and conversely, the larger the hamming weight of information data input to an encoder using a Turbo code, the larger the hamming weight of the encoding result obtained by the encoder using the Turbo code.
Since the larger the hamming weight of the coding result is, the lower the error rate in the process of transmitting the coding result is, in the prior art, in order to reduce the error rate in the transmission process, the hamming weight of the coding result is generally increased by increasing the interleaving length of the interleaver of the encoder.
Although the encoding result with the hamming weight increased can be obtained by applying the above method, the complexity of the interleaver is higher after the interleaving length is increased, which leads to the higher complexity of the encoder based on the Turbo code.
Disclosure of Invention
The embodiment of the invention aims to provide a Turbo code-based encoding method, a Turbo code-based decoding method and a Turbo code-based decoding device, so that the Hamming weight of an encoding result can be increased under the condition of not increasing the complexity of an encoder based on a Turbo code. The specific technical scheme is as follows:
in a first aspect, an embodiment of the present invention provides a coding method based on a Turbo code, where the method includes:
acquiring data to be encoded;
judging whether the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition or not;
if yes, carrying out negation operation on the data to be coded;
setting the inverted mark bit of the data to be coded as a first numerical value, wherein the mark bit is as follows: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted;
and based on the Turbo code, coding the inverted to-be-coded data and the inverted mark bits of the to-be-coded data.
Optionally, if it is determined that the hamming weight of the data to be encoded does not satisfy the preset hamming weight adjustment condition, the method further includes:
setting the flag bit of the data to be encoded to a second value, wherein the second value is: a value used to indicate that the data was not inverted;
and coding the data to be coded and the mark bits of the data to be coded based on a Turbo code.
Optionally, the step of determining whether the hamming weight of the data to be encoded meets a preset hamming weight adjustment condition includes:
and judging whether the Hamming weight of the data to be coded is smaller than a preset multiple of the length of the data to be coded, if so, judging that the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition.
Optionally, the step of encoding the negated data to be encoded and the negated flag bit of the data to be encoded based on the Turbo code includes:
dividing target data into data blocks with the same length as a preset interleaving length, wherein the target data are data formed by the inverted data to be coded and the inverted mark bits of the data to be coded;
and coding each divided data block based on the Turbo code.
In a second aspect, an embodiment of the present invention provides a decoding method based on a Turbo code, where the method includes:
acquiring data to be decoded;
performing iterative decoding on the data to be decoded to obtain a decoding result, wherein the iterative decoding is as follows: the encoding is performed based on the Turbo code in an inverse process;
judging whether a marker bit value in the decoding result is a first numerical value, wherein the marker bit is as follows: a bit for indicating whether the data has been subjected to an inversion operation, wherein the first value is a value for indicating that the data has been subjected to the inversion operation;
if so, performing negation operation on the decoding result to obtain a decoding result of the data to be decoded.
Optionally, if it is determined that the flag bit value in the decoding result is a second value, where the second value is: a value representing that data is not inverted, the method further comprising:
and determining the coding result as a decoding result of the data to be decoded.
In a third aspect, an embodiment of the present invention further provides an encoding apparatus based on a Turbo code, where the apparatus includes:
the data to be coded acquiring module is used for acquiring data to be coded;
the Hamming weight judging module is used for judging whether the data to be coded meets a preset Hamming weight adjusting condition or not;
the data to be coded negation module is used for negation operation on the data to be coded if the judging module judges that the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition;
a first to-be-encoded data flag module, configured to set a flag bit of the to-be-encoded data after inversion to a first value, where the flag bit is: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted;
and the first encoding module for the data to be encoded is used for encoding the negated data to be encoded and the negated flag bits of the data to be encoded based on the Turbo code.
Optionally, the apparatus further comprises:
a second to-be-encoded data marking module, configured to set a marking bit of the to-be-encoded data to a second value if the determination module determines that the hamming weight of the to-be-encoded data does not satisfy the preset hamming weight adjustment condition, where the second value is: a value used to indicate that the data was not inverted;
and the second coding module for the data to be coded is used for coding the data to be coded and the mark bits of the data to be coded based on the Turbo code.
Optionally, the hamming weight judging module is specifically configured to:
and judging whether the Hamming weight of the data to be coded is smaller than a preset multiple of the length of the data to be coded, if so, judging that the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition.
Optionally, the first module to be encoded is specifically configured to:
dividing target data into data blocks with the same length as a preset interleaving length, wherein the target data are data formed by the inverted data to be coded and the inverted mark bits of the data to be coded;
and coding each divided data block based on the Turbo code.
In a fourth aspect, an embodiment of the present invention further provides a decoding device based on a Turbo code, where the device includes:
the data to be decoded acquisition module is used for acquiring data to be decoded;
a to-be-decoded data decoding module, configured to perform iterative decoding on the to-be-decoded data to obtain a decoding result, where the iterative decoding is: the encoding is performed based on the Turbo code in an inverse process;
a flag bit value judging module, configured to judge whether a flag bit value in the decoding result is a first value, where the flag bit is: a bit for indicating whether the data has been subjected to an inversion operation, wherein the first value is a value for indicating that the data has been subjected to the inversion operation;
and the decoding result negation module is used for negating the decoding result to obtain the decoding result of the data to be decoded if the flag bit value judgment module judges that the flag bit value in the decoding result is the first numerical value.
Optionally, the apparatus further comprises:
a decoding result determining module, configured to determine that the flag bit value in the decoding result is a second value if the flag bit value determining module determines that the flag bit value is the second value, where the second value is: and determining the coding result as a decoding result of the data to be decoded according to a value representing that data is not subjected to negation operation.
In a fifth aspect, an embodiment of the present invention further provides an electronic device, including a processor, a communication interface, a memory, and a communication bus, where the processor and the communication interface complete communication between the memory and the processor through the communication bus;
a memory for storing a computer program;
and a processor, configured to implement the method steps of any one of the Turbo code-based encoding methods described in the first aspect when executing a program stored in the memory.
In a sixth aspect, an embodiment of the present invention further provides an electronic device, including a processor, a communication interface, a memory, and a communication bus, where the processor and the communication interface complete communication between the memory and the processor through the communication bus;
a memory for storing a computer program;
and the processor is used for realizing the method steps of any Turbo code-based decoding method in the second aspect when executing the program stored in the memory.
In a seventh aspect, an embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when being executed by a processor, the computer program implements the method steps of any Turbo code-based encoding method in the first aspect.
In an eighth aspect, an embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the method steps of any Turbo code-based decoding method according to the second aspect are implemented.
Compared with the prior art, the technical scheme of the embodiment of the invention comprises the steps of firstly judging whether the Hamming weight of the data to be coded meets the preset Hamming weight adjusting condition after the data to be coded is obtained; if the preset Hamming weight adjusting condition is met, the Hamming weight of the data to be coded is smaller, so that the data to be coded is subjected to negation operation, and the Hamming weight of the data to be coded is increased; then, setting the flag bit of the data to be encoded after inversion to be a first value, wherein the flag bit is: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted; and finally, coding the negated data to be coded and the sign bits of the negated data to be coded based on the Turbo code.
Therefore, according to the technical scheme provided by the embodiment of the invention, the Hamming weight of the data to be coded can be increased through simple negation operation, and the Hamming weight of the coding result can be increased; instead of having to increase the codec result by increasing the interleaving length of the Turbo code based encoder, as in the prior art.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a flowchart of a Turbo code-based encoding method according to an embodiment of the present invention;
FIG. 2 is a flowchart of another Turbo code-based encoding method according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of input/output code redistribution obtained by the prior art;
fig. 4 is a schematic diagram of redistribution of input/output codes obtained by using the technical solution provided by the embodiment of the present invention;
FIG. 5 is a flowchart of a decoding method based on Turbo codes according to an embodiment of the present invention;
FIG. 6 is a flowchart of another Turbo code based decoding method according to an embodiment of the present invention;
FIG. 7 is a schematic structural diagram of an encoding apparatus based on Turbo codes according to an embodiment of the present invention;
FIG. 8 is a schematic structural diagram of a decoding apparatus based on Turbo codes according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of an electronic device according to an embodiment of the present invention;
fig. 10 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In order to solve the technical problems in the prior art, embodiments of the present invention provide a method and an apparatus for encoding and decoding based on a Turbo code, so as to increase the hamming weight of an encoding result without increasing the complexity of an encoder based on the Turbo code.
In the first aspect, the following first introduces a coding method based on Turbo codes according to an embodiment of the present invention.
As shown in fig. 1, an encoding method based on Turbo code provided in the embodiment of the present invention includes the following steps:
s110, acquiring data to be encoded;
it is reasonable that the data to be encoded may be voice data, text data, image data, or the like.
S120, judging whether the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition;
before encoding data to be encoded, in order to avoid that the hamming weight of the encoded data is too small, which results in too small hamming weight of the encoded result, the hamming weight of the encoded data is judged whether to meet the preset hamming weight adjustment condition.
In one embodiment, the determining whether the hamming weight of the data to be encoded satisfies a preset hamming weight adjustment condition may include:
and judging whether the Hamming weight of the data to be coded is smaller than a preset multiple of the length of the data to be coded, if so, judging that the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition.
In this embodiment, when encoding different data to be encoded, the preset multiples may be the same value, for example, the preset multiples may be all set to one third; or, when different data to be encoded are encoded, the preset multiple may be set to different values according to actual situations, for example, when the first data to be encoded is encoded, the preset multiple is set to one third; when the second data to be encoded is encoded, it is reasonable to set the preset multiple to be one fourth.
If the Hamming weight of the data to be coded is smaller than the preset multiple of the length of the data to be coded, the Hamming weight of the data to be coded is smaller, and at the moment, the Hamming weight of the data to be coded is judged to meet the preset Hamming weight adjusting condition.
In another embodiment, the determining whether the hamming weight of the data to be encoded meets the preset hamming weight adjustment condition may include:
and judging whether the Hamming weight of the data to be coded is smaller than a preset Hamming weight or not, and if so, judging that the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition.
In this embodiment, a hamming weight is preset, and the preset hamming weight does not change with the length of the data to be encoded, i.e. is a fixed value.
Before each piece of data to be coded is coded, comparing the Hamming weight of the data to be coded with the preset Hamming weight, if the Hamming weight of the data to be coded is smaller than the preset Hamming weight, the Hamming weight of the data to be coded is smaller, and at the moment, judging that the Hamming weight of the data to be coded meets the preset Hamming weight adjusting condition.
S130, if the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition, performing negation operation on the data to be coded;
if the Hamming weight of the data to be encoded meets the preset Hamming weight adjusting condition, the Hamming weight of the data to be encoded is smaller, and if the Hamming weight of the data to be encoded is directly encoded, the Hamming weight of an encoding result is smaller, so that the error rate in the process of transmitting the encoding result is higher.
In order to reduce the error rate of the coding result in the transmission process, the hamming weight of the coding result needs to be increased, that is, the hamming weight of the data to be coded needs to be increased, so that the hamming weight of the data to be coded needs to be increased by performing the inversion operation on the data to be coded, the hamming weight of the coding result is increased, and the error rate of the coding result in the transmission process is reduced.
It should be noted that, the negation operation is to negate the data to be encoded bitwise, for example, if the bit is 0, the negated result is 1; if the bit is 1, the result after negation is 0.
S140, setting the inverted flag bit of the data to be encoded as a first numerical value, where the flag bit is: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted;
as will be understood by those skilled in the art, encoding and decoding are two reciprocal processes, and in order to ensure that whether the decoding result has been subjected to an inversion operation can be identified after decoding, and thus an accurate decoding result is obtained, after the inversion of the data to be encoded, it is necessary to set the flag bit of the data to be encoded after the inversion to a first value, for example, the first value is 1, where the first value is used to indicate a value at which the data has been subjected to an inversion operation.
For example, if the flag bit of the inverted data to be encoded is not set to the first value, the inverted data to be encoded is encoded to obtain an encoding result; after the decoder obtains the coding result, the coding result is decoded to obtain a decoding result, and the decoder takes the decoding result as a final decoding result. It can be seen that it is significant to set the flag bit of the data to be encoded after inversion to the first value.
S150, based on the Turbo code, coding the inverted data to be coded and the mark bits of the inverted data to be coded.
It should be noted that, when encoding the inverted data to be encoded and the flag bits of the inverted data to be encoded, the flag bits may be located at two ends of the inverted data to be encoded; or may be located in the middle of the data to be encoded after inversion, all reasonable.
Because the inverted data to be coded contains the mark bits, the inverted data to be coded and the mark bits of the inverted data to be coded are coded based on the Turbo code, and the hamming weight of the inverted data to be coded is larger, therefore, the inverted data to be coded and the mark bits of the inverted data to be coded are coded based on the Turbo code, the hamming weight of the obtained coding result is also larger, and the error rate of the coding result in the transmission process can be reduced.
In one embodiment, the encoding the negated data to be encoded and the sign bits of the negated data to be encoded based on the Turbo code includes:
dividing target data into data blocks with the same length as a preset interweaving length, wherein the target data are data formed by the inverted data to be coded and the flag bits of the inverted data to be coded;
and coding each divided data block based on the Turbo code.
The objects of the Turbo code-based coding are: the length of the data block is the same as the interleaving length, so when the target data is coded, the target data is firstly divided into the data blocks with the same preset interleaving length, and then each divided data block is coded based on the Turbo code.
It is to be understood that a specific process of encoding each data block based on the Turbo code is well known to those skilled in the art, and the detailed description of the specific process of encoding each data block based on the Turbo code is not repeated herein.
Compared with the prior art, the technical scheme of the embodiment of the invention comprises the steps of firstly judging whether the Hamming weight of the data to be coded meets the preset Hamming weight adjusting condition after the data to be coded is obtained; if the preset Hamming weight adjusting condition is met, the Hamming weight of the data to be coded is smaller, so that the data to be coded is subjected to negation operation, and the Hamming weight of the data to be coded is increased; then, setting the flag bit of the data to be encoded after inversion to be a first value, wherein the flag bit is: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted; and finally, coding the negated data to be coded and the sign bits of the negated data to be coded based on the Turbo code.
Therefore, according to the technical scheme provided by the embodiment of the invention, the Hamming weight of the data to be coded can be increased through simple negation operation, and the Hamming weight of the coding result can be increased; instead of having to increase the codec result by increasing the interleaving length of the Turbo code based encoder, as in the prior art.
Further, another encoding method based on Turbo codes is provided in the embodiments of the present invention, as shown in fig. 2, including the following steps:
s210, acquiring data to be encoded;
s220, judging whether the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition or not;
s230, if the Hamming weight of the data to be encoded meets a preset Hamming weight adjusting condition, performing negation operation on the data to be encoded;
s240, setting the inverted flag bit of the data to be encoded as a first numerical value, where the flag bit is: a bit indicating whether the data has been inverted, the first value being: a value representing that the data has been inverted;
and S250, based on the Turbo code, coding the inverted to-be-coded data and the inverted mark bits of the to-be-coded data.
S260, if the Hamming weight of the data to be encoded does not meet the preset Hamming weight adjusting condition, setting the mark bit of the data to be encoded as a second numerical value, wherein the second numerical value is as follows: a value used to indicate that the data was not inverted;
s270, based on the Turbo code, the data to be coded and the mark bit of the data to be coded are coded.
In this embodiment, S210 to S250 are the same as S110 to S150 of the embodiment shown in fig. 1, and are not described herein, and S260 and S270 will be described in detail below.
S260, if the hamming weight of the data to be encoded does not satisfy the preset hamming weight adjustment condition, setting the flag bit of the data to be encoded to a second value, for example, the second value may be 0, where the second value is used to indicate a value without performing an inversion operation on the data;
if the Hamming weight of the data to be encoded does not meet the preset Hamming weight adjustment condition, the Hamming weight of the data to be encoded is larger, and based on the Turbo code, the encoding result obtained by directly encoding the data to be encoded and the mark bit of the data to be encoded has a larger Hamming distance, so that the data to be encoded does not need to be inverted, and the mark bit of the data to be encoded is set to be a second numerical value, wherein the second numerical value is used for indicating that the data is not inverted.
S270, based on the Turbo code, the data to be coded and the mark bit of the data to be coded are coded.
It should be noted that, when encoding the data to be encoded and the flag bits of the data to be encoded, the flag bits may be located at both ends of the data to be encoded; or may be located in an intermediate position of the data to be encoded.
Because the data to be coded comprises the mark bits, the data to be coded and the mark bits of the data to be coded are coded based on the Turbo code, and the hamming weight of the data to be coded is larger, the data to be coded and the mark bits of the data to be coded are coded based on the Turbo code, the hamming weight of the obtained coding result is also larger, and the error rate of the coding result in the transmission process is lower.
In one embodiment, the encoding the data to be encoded and the flag bits of the data to be encoded based on a Turbo code includes:
dividing target data into data blocks with the same length as a preset interleaving length, wherein the target data are data formed by data to be encoded and mark bits of the data to be encoded;
and coding each divided data block based on the Turbo code.
In this embodiment, the objects based on Turbo code encoding are: the length of the data block is the same as the interleaving length, so when the target data is coded, the target data is firstly divided into the data blocks with the same preset interleaving length, and then each divided data block is coded based on the Turbo code.
The specific process of encoding each data block based on the Turbo code is well known to those skilled in the art, and the detailed description of the specific process of encoding each data block based on the Turbo code is omitted here.
Compared with the prior art, the technical scheme of the embodiment of the invention comprises the steps of firstly judging whether the Hamming weight of the data to be coded meets the preset Hamming weight adjusting condition after the data to be coded is obtained; if the preset Hamming weight adjusting condition is met, the Hamming weight of the data to be coded is smaller, so that the data to be coded is subjected to negation operation, and the Hamming weight of the data to be coded is increased; then, setting the flag bit of the data to be encoded after inversion to be a first value, wherein the flag bit is: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted; and finally, coding the negated data to be coded and the sign bits of the negated data to be coded based on the Turbo code. If the Hamming weight of the data to be encoded does not meet the preset Hamming weight adjustment condition, setting the mark bit of the data to be encoded as a second numerical value, wherein the second numerical value is as follows: a value used to indicate that the data was not inverted; and coding the data to be coded and the mark bits of the data to be coded based on the Turbo code.
Therefore, according to the technical scheme provided by the embodiment of the invention, the Hamming weight of the data to be coded can be increased through simple negation operation, and the Hamming weight of the coding result can be increased; instead of having to increase the codec result by increasing the interleaving length of the Turbo code based encoder, as in the prior art.
In order to more intuitively show that the technical solution provided by the implementation of the present invention can improve the hamming weight of the encoding result, fig. 3 and fig. 4 show the input-output code redistribution diagram obtained by the technical solution of the prior art and the input-output code redistribution diagram obtained by the technical solution provided by the embodiment of the present invention for the same data to be encoded.
The filled circles in fig. 3 and 4 represent codewords having a code weight of 1, and the open circles represent codewords having a code weight of 0. From the comparison of the two figures, it can be known that the hamming weight of the coding result obtained by the technical scheme of the prior art is greatly improved.
In a second aspect, a decoding method based on Turbo codes according to an embodiment of the present invention is introduced.
The decoding method based on Turbo code provided by the embodiment of the invention, as shown in fig. 5, includes the following steps:
s510, acquiring data to be decoded;
the encoding and decoding are two reciprocal processes, and the encoding result in the method embodiment of the first aspect may be the result to be decoded.
S520, performing iterative decoding on the data to be decoded to obtain a decoding result, wherein the iterative decoding is as follows: the encoding is performed based on the Turbo code in an inverse process;
after the data to be decoded is obtained, decoding the data to be decoded, as can be understood by those skilled in the art: when decoding the coding result obtained by coding based on the Turbo code, an iterative decoding mode is adopted, and the detailed process of iterative decoding is not repeated here.
S530, determining whether a flag bit value in the decoding result is a first value, where the flag bit is: a bit for indicating whether the data has been subjected to an inversion operation, the first value being a value for indicating that the data has been subjected to an inversion operation;
after the decoding result is obtained, in order to obtain an accurate decoding result, it is necessary to determine whether a value of a flag bit in the decoding result is a first value, where the first value is used to indicate a value obtained by inverting data.
For example, if the data to be encoded is inverted before the data to be encoded is encoded, the obtained decoding result also needs to be inverted, and if it is not determined whether the flag bit value in the decoding result is the first value, the decoding result may be directly used as the decoding result.
S540, if the value of the mark bit in the decoding result is the first numerical value, negating the decoding result to obtain the decoding result of the data to be decoded.
If the value of the flag bit in the decoding result is the first value, it indicates that the inversion operation has been performed on the data to be encoded before the data to be encoded is encoded, and therefore, the inversion operation also needs to be performed on the decoding result at this time, so as to obtain an accurate decoding result.
Compared with the prior art, the technical scheme provided by the embodiment of the invention obtains the data to be decoded; performing iterative decoding on data to be decoded to obtain a decoding result, wherein the iterative decoding comprises the following steps: the encoding is performed based on the Turbo code in an inverse process; judging whether a marker bit value in the decoding result is a first numerical value, wherein the marker bit is as follows: a bit for indicating whether the data has been inverted, the first value being a value indicating that the data has been inverted; and if the value of the marker bit in the decoding result is the first numerical value, performing negation operation on the decoding result to obtain a decoding result of the data to be decoded. Therefore, the technical scheme provided by the embodiment of the invention can accurately obtain the decoding result of the data to be decoded.
Further, an embodiment of the present invention further provides a decoding method based on a Turbo code, as shown in fig. 6, including the following steps:
s610, acquiring data to be decoded;
s620, performing iterative decoding on the data to be decoded to obtain a decoding result, wherein the iterative decoding is as follows: the encoding is performed based on the Turbo code in an inverse process;
s630, determine whether the flag bit value in the decoding result is the first value, wherein the flag bit is: a bit for indicating whether the data has been subjected to an inversion operation, wherein the first value is a value for indicating that the data has been subjected to the inversion operation;
and S640, if the marker bit value in the decoding result is the first numerical value, performing negation operation on the decoding result to obtain a decoding result of the data to be decoded.
S650, if the flag bit value in the decoding result is determined to be a second value, where the second value is: and determining the decoding result as the decoding result of the data to be decoded by using the value which is used for indicating that the data is not subjected to the negation operation.
In this embodiment, S610 to S640 are the same as S510 to S640 of the embodiment shown in fig. 5, and are not described herein, and S6500 will be described in detail below.
S650, if the flag bit value in the decoding result is determined to be a second value, where the second value is: and determining the decoding result as the decoding result of the data to be decoded by using the value which is used for indicating that the data is not subjected to the negation operation.
If the flag bit value in the decoding result is the second value, it indicates that the inversion operation is not performed on the data to be encoded before the data to be encoded is encoded, and therefore, the inversion operation is not required to be performed on the decoding result at this time, so that the decoding result of the data to be decoded is obtained.
Compared with the prior art, the technical scheme provided by the embodiment of the invention obtains the data to be decoded; performing iterative decoding on data to be decoded to obtain a decoding result, wherein the iterative decoding comprises the following steps: the encoding is performed based on the Turbo code in an inverse process; judging whether a marker bit value in the decoding result is a first numerical value, wherein the marker bit is as follows: a bit for indicating whether the data has been inverted, the first value being a value indicating that the data has been inverted; and if the value of the marker bit in the decoding result is the first numerical value, performing negation operation on the decoding result to obtain a decoding result of the data to be decoded. If the flag bit value in the decoding result is judged to be a second value, wherein the second value is: and determining the decoding result as the decoding result of the data to be decoded by using the value which is used for indicating that the data is not subjected to the negation operation. Therefore, the technical scheme provided by the embodiment of the invention can accurately obtain the decoding result of the data to be decoded.
In a third aspect, an embodiment of the present invention further provides a Turbo code-based encoding device, as shown in fig. 7, the device includes:
a to-be-encoded data obtaining module 710, configured to obtain to-be-encoded data;
a hamming weight judging module 720, configured to judge whether the data to be encoded meets a preset hamming weight adjustment condition;
the data to be encoded negation module 730, configured to perform negation on the data to be encoded if the determination module determines that the hamming weight of the data to be encoded meets a preset hamming weight adjustment condition;
a first to-be-encoded data marking module 740, configured to set a mark bit of the to-be-encoded data after inversion to a first value, where the mark bit is: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted;
the first encoding module 750 for encoding data to be encoded is configured to encode the negated data to be encoded and the negated flag bits of the data to be encoded based on a Turbo code.
Optionally, the apparatus further comprises:
a second to-be-encoded data marking module, configured to set a marking bit of the to-be-encoded data to a second value if the determination module determines that the hamming weight of the to-be-encoded data does not satisfy the preset hamming weight adjustment condition, where the second value is: a value used to indicate that the data was not inverted;
and the second coding module for the data to be coded is used for coding the data to be coded and the mark bits of the data to be coded based on the Turbo code.
Optionally, the hamming weight determining module 720 is specifically configured to:
and judging whether the Hamming weight of the data to be coded is smaller than a preset multiple of the length of the data to be coded, if so, judging that the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition.
Optionally, the first to-be-encoded data encoding module 750 is specifically configured to:
dividing target data into data blocks with the same length as a preset interleaving length, wherein the target data are data formed by the inverted data to be coded and the inverted mark bits of the data to be coded;
and coding each divided data block based on the Turbo code.
Compared with the prior art, the technical scheme of the embodiment of the invention comprises the steps of firstly judging whether the Hamming weight of the data to be coded meets the preset Hamming weight adjusting condition after the data to be coded is obtained; if the preset Hamming weight adjusting condition is met, the Hamming weight of the data to be coded is smaller, so that the data to be coded is subjected to negation operation, and the Hamming weight of the data to be coded is increased; then, setting the flag bit of the data to be encoded after inversion to be a first value, wherein the flag bit is: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted; and finally, coding the negated data to be coded and the sign bits of the negated data to be coded based on the Turbo code.
Therefore, according to the technical scheme provided by the embodiment of the invention, the Hamming weight of the data to be coded can be increased through simple negation operation, and the Hamming weight of the coding result can be increased; instead of having to increase the codec result by increasing the interleaving length of the Turbo code based encoder, as in the prior art.
In a fourth aspect, an embodiment of the present invention further provides a decoding apparatus based on a Turbo code, and as shown in fig. 8, the apparatus includes:
a to-be-decoded data obtaining module 810, configured to obtain to-be-decoded data;
a to-be-decoded data decoding module 820, configured to perform iterative decoding on the to-be-decoded data to obtain a decoding result, where the iterative decoding is: the encoding is performed based on the Turbo code in an inverse process;
a flag bit value determination module 830, configured to determine whether a flag bit value in the decoding result is a first value, where the flag bit is: a bit for indicating whether the data has been subjected to an inversion operation, wherein the first value is a value for indicating that the data has been subjected to the inversion operation;
the decoding result negation module 840 is configured to perform negation operation on the decoding result to obtain a decoding result of the data to be decoded, if the flag bit value determination module determines that the flag bit value in the decoding result is the first numerical value.
Compared with the prior art, the technical scheme provided by the embodiment of the invention obtains the data to be decoded; performing iterative decoding on data to be decoded to obtain a decoding result, wherein the iterative decoding comprises the following steps: the encoding is performed based on the Turbo code in an inverse process; judging whether a marker bit value in the decoding result is a first numerical value, wherein the marker bit is as follows: a bit for indicating whether the data has been inverted, the first value being a value indicating that the data has been inverted; and if the value of the marker bit in the decoding result is the first numerical value, performing negation operation on the decoding result to obtain a decoding result of the data to be decoded. Therefore, the technical scheme provided by the embodiment of the invention can accurately obtain the decoding result of the data to be decoded.
Optionally, the apparatus further comprises:
a decoding result determining module, configured to determine the decoding result as the decoding result of the data to be decoded if the flag bit value judging module judges that the flag bit value in the decoding result is a second value, where the second value is: to indicate a value for which the data is not inverted.
In a fifth aspect, an embodiment of the present invention further provides an electronic device, as shown in fig. 9, including a processor 901 and a memory 902, where the processor 901 and the memory 902 complete communication with each other through a communication bus, and the memory 902 is used for storing a computer program;
the processor 901 is configured to implement the encoding method based on Turbo code according to any of the above-mentioned embodiments of the first aspect when executing the program stored in the memory 902.
The communication bus mentioned in the electronic device may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
The communication interface is used for communication between the electronic equipment and other equipment.
The Memory may include a Random Access Memory (RAM) or a Non-Volatile Memory (NVM), such as at least one disk Memory. Optionally, the memory may also be at least one storage device located remotely from the processor.
The Processor may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component.
Compared with the prior art, the technical scheme of the embodiment of the invention comprises the steps of firstly judging whether the Hamming weight of the data to be coded meets the preset Hamming weight adjusting condition after the data to be coded is obtained; if the preset Hamming weight adjusting condition is met, the Hamming weight of the data to be coded is smaller, so that the data to be coded is subjected to negation operation, and the Hamming weight of the data to be coded is increased; then, setting the flag bit of the data to be encoded after inversion to be a first value, wherein the flag bit is: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted; and finally, coding the negated data to be coded and the sign bits of the negated data to be coded based on the Turbo code.
Therefore, according to the technical scheme provided by the embodiment of the invention, the Hamming weight of the data to be coded can be increased through simple negation operation, and the Hamming weight of the coding result can be increased; instead of having to increase the codec result by increasing the interleaving length of the Turbo code based encoder, as in the prior art.
In a sixth aspect, an embodiment of the present invention further provides an electronic device, as shown in fig. 10, including a processor 1001 and a memory 1002, where the processor 1001 and the memory 1002 complete communication with each other through a communication bus, and the memory 1002 is used for storing a computer program;
the processor 1001 is configured to implement the decoding method based on Turbo code according to any of the method embodiments of the second aspect when executing the program stored in the memory 1002.
The communication bus mentioned in the electronic device may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
The communication interface is used for communication between the electronic equipment and other equipment.
The Memory may include a Random Access Memory (RAM) or a Non-Volatile Memory (NVM), such as at least one disk Memory. Optionally, the memory may also be at least one storage device located remotely from the processor.
The Processor may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component.
Compared with the prior art, the technical scheme provided by the embodiment of the invention obtains the data to be decoded; performing iterative decoding on data to be decoded to obtain a decoding result, wherein the iterative decoding comprises the following steps: the encoding is performed based on the Turbo code in an inverse process; judging whether a marker bit value in the decoding result is a first numerical value, wherein the marker bit is as follows: a bit for indicating whether the data has been inverted, the first value being a value indicating that the data has been inverted; and if the value of the marker bit in the decoding result is the first numerical value, performing negation operation on the decoding result to obtain a decoding result of the data to be decoded. Therefore, the technical scheme provided by the embodiment of the invention can accurately obtain the decoding result of the data to be decoded.
In a seventh aspect, in a further embodiment provided by the present invention, there is further provided a computer-readable storage medium, having stored therein instructions, which, when run on a computer, cause the computer to execute a Turbo code-based encoding method according to any one of the method embodiments of the first aspect.
Compared with the prior art, the technical scheme of the embodiment of the invention comprises the steps of firstly judging whether the Hamming weight of the data to be coded meets the preset Hamming weight adjusting condition after the data to be coded is obtained; if the preset Hamming weight adjusting condition is met, the Hamming weight of the data to be coded is smaller, so that the data to be coded is subjected to negation operation, and the Hamming weight of the data to be coded is increased; then, setting the flag bit of the data to be encoded after inversion to be a first value, wherein the flag bit is: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted; and finally, coding the negated data to be coded and the sign bits of the negated data to be coded based on the Turbo code.
Therefore, according to the technical scheme provided by the embodiment of the invention, the Hamming weight of the data to be coded can be increased through simple negation operation, and the Hamming weight of the coding result can be increased; instead of having to increase the codec result by increasing the interleaving length of the Turbo code based encoder, as in the prior art.
In an eighth aspect, in a further embodiment provided by the present invention, there is further provided a computer-readable storage medium, having stored therein instructions, which, when run on a computer, cause the computer to execute a method for decoding based on Turbo codes, the method implementing any one of the method embodiments of the second aspect.
Compared with the prior art, the technical scheme provided by the embodiment of the invention obtains the data to be decoded; performing iterative decoding on data to be decoded to obtain a decoding result, wherein the iterative decoding comprises the following steps: the encoding is performed based on the Turbo code in an inverse process; judging whether a marker bit value in the decoding result is a first numerical value, wherein the marker bit is as follows: a bit for indicating whether the data has been inverted, the first value being a value indicating that the data has been inverted; and if the value of the marker bit in the decoding result is the first numerical value, performing negation operation on the decoding result to obtain a decoding result of the data to be decoded. Therefore, the technical scheme provided by the embodiment of the invention can accurately obtain the decoding result of the data to be decoded.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the embodiments of the apparatus, the electronic device, and the computer-readable storage medium, since they are substantially similar to the embodiments of the method, the description is simple, and for the relevant points, reference may be made to the partial description of the embodiments of the method.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (9)

1. A method for encoding based on Turbo codes, the method comprising:
acquiring data to be encoded;
judging whether the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition or not;
if yes, carrying out negation operation on the data to be coded;
setting the inverted mark bit of the data to be coded as a first numerical value, wherein the mark bit is as follows: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted;
based on Turbo codes, coding the inverted data to be coded and the inverted mark bits of the data to be coded;
the step of judging whether the Hamming weight of the data to be encoded meets a preset Hamming weight adjustment condition comprises the following steps:
and judging whether the Hamming weight of the data to be coded is smaller than a preset multiple of the length of the data to be coded, if so, judging that the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition.
2. The method according to claim 1, wherein if the hamming weight of the data to be encoded is determined not to satisfy the preset hamming weight adjustment condition, the method further comprises:
setting the flag bit of the data to be encoded to a second value, wherein the second value is: a value used to indicate that the data was not inverted;
and coding the data to be coded and the mark bits of the data to be coded based on a Turbo code.
3. The method according to claim 1 or 2, wherein said step of encoding said inverted data to be encoded and said inverted flag bits of said data to be encoded based on Turbo code comprises:
dividing target data into data blocks with the same length as a preset interleaving length, wherein the target data are data formed by the inverted data to be coded and the inverted mark bits of the data to be coded;
and coding each divided data block based on the Turbo code.
4. A decoding method based on Turbo codes, the method comprising:
acquiring data to be decoded;
performing iterative decoding on the data to be decoded to obtain a decoding result, wherein the iterative decoding is as follows: the Turbo code based encoding method of claim 1 being the inverse process;
judging whether a marker bit value in the decoding result is a first numerical value, wherein the marker bit is as follows: a bit for indicating whether the data has been subjected to an inversion operation, wherein the first value is a value for indicating that the data has been subjected to the inversion operation;
if so, performing negation operation on the decoding result to obtain a decoding result of the data to be decoded.
5. The method of claim 4, wherein if it is determined that the flag bit in the decoding result takes a second value, the second value is: a value representing that data is not inverted, the method further comprising:
and determining the coding result as a decoding result of the data to be decoded.
6. An apparatus for encoding based on Turbo codes, the apparatus comprising:
the data to be coded acquiring module is used for acquiring data to be coded;
the Hamming weight judging module is used for judging whether the data to be coded meets a preset Hamming weight adjusting condition or not;
the data to be coded negation module is used for negation operation on the data to be coded if the judging module judges that the Hamming weight of the data to be coded meets a preset Hamming weight adjusting condition;
a first to-be-encoded data flag module, configured to set a flag bit of the to-be-encoded data after inversion to a first value, where the flag bit is: a bit indicating whether data has been inverted, the first value being: a value representing that the data has been inverted;
the first encoding module to be encoded is used for encoding the negated data to be encoded and the negated flag bits of the data to be encoded based on a Turbo code;
the hamming weight judging module is specifically configured to judge whether the hamming weight of the data to be encoded is smaller than a preset multiple of the length of the data to be encoded, and if so, judge that the hamming weight of the data to be encoded meets a preset hamming weight adjustment condition.
7. The apparatus of claim 6, further comprising:
a second to-be-encoded data marking module, configured to set a marking bit of the to-be-encoded data to a second value if the determination module determines that the hamming weight of the to-be-encoded data does not satisfy the preset hamming weight adjustment condition, where the second value is: a value used to indicate that the data was not inverted;
and the second coding module for the data to be coded is used for coding the data to be coded and the mark bits of the data to be coded based on the Turbo code.
8. An apparatus for decoding based on Turbo codes, the apparatus comprising:
the data to be decoded acquisition module is used for acquiring data to be decoded;
a to-be-decoded data decoding module, configured to perform iterative decoding on the to-be-decoded data to obtain a decoding result, where the iterative decoding is: the Turbo code based encoding method of claim 1 being the inverse process;
a flag bit value judging module, configured to judge whether a flag bit value in the decoding result is a first value, where the flag bit is: a bit for indicating whether the data has been subjected to an inversion operation, wherein the first value is a value for indicating that the data has been subjected to the inversion operation;
and the decoding result negation module is used for negating the decoding result to obtain the decoding result of the data to be decoded if the flag bit value judgment module judges that the flag bit value in the decoding result is the first numerical value.
9. The apparatus of claim 8, further comprising:
a decoding result determining module, configured to determine the decoding result as the decoding result of the data to be decoded if the flag bit value judging module judges that the flag bit value in the decoding result is a second value, where the second value is: to indicate a value for which the data is not inverted.
CN201711013272.5A 2017-10-26 2017-10-26 Encoding and decoding method and device based on Turbo code Active CN107682020B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711013272.5A CN107682020B (en) 2017-10-26 2017-10-26 Encoding and decoding method and device based on Turbo code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711013272.5A CN107682020B (en) 2017-10-26 2017-10-26 Encoding and decoding method and device based on Turbo code

Publications (2)

Publication Number Publication Date
CN107682020A CN107682020A (en) 2018-02-09
CN107682020B true CN107682020B (en) 2020-09-04

Family

ID=61142831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711013272.5A Active CN107682020B (en) 2017-10-26 2017-10-26 Encoding and decoding method and device based on Turbo code

Country Status (1)

Country Link
CN (1) CN107682020B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933457A (en) * 2019-03-08 2019-06-25 深圳忆联信息系统有限公司 A kind of data-encoding scheme and its system reducing the SSD bit error rate
CN112953680B (en) * 2021-02-10 2022-12-23 Tcl华星光电技术有限公司 Encoding method, decoding method, encoding device, and decoding device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1877995A (en) * 2006-01-24 2006-12-13 华为技术有限公司 Method and apparatus for transmitting chip interface data
EP2378692A1 (en) * 2008-09-23 2011-10-19 Telefonaktiebolaget L M Ericsson (Publ) Multiple carrier acknowledgement signaling
CN102509145A (en) * 2011-09-30 2012-06-20 清华大学 Power-aware power balancing S box unit circuit and application method thereof
US8407560B2 (en) * 2010-07-14 2013-03-26 Hewlett-Packard Development Company, L.P. Systems and methods for encoding information for storage in an electronic memory and for decoding encoded information retrieved from an electronic memory
CN103117837A (en) * 2013-01-18 2013-05-22 北京邮电大学 Modified time-pulse position modulation (T-PPM) code modulation method
CN104092629A (en) * 2014-07-08 2014-10-08 中国航空无线电电子研究所 AFDX switch for resisting single event upset
CN106059592A (en) * 2016-05-19 2016-10-26 合肥工业大学 Encoding and decoding circuit based on low power consumption combination applied to network on chip and encoding and decoding method thereof
CN106330403A (en) * 2016-09-05 2017-01-11 北京邮电大学 Encoding and decoding method and encoding and decoding system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046660B2 (en) * 2006-08-07 2011-10-25 Marvell World Trade Ltd. System and method for correcting errors in non-volatile memory using product codes
CN101800620A (en) * 2009-12-25 2010-08-11 中兴通讯股份有限公司 Method and device for transmitting physical uplink control channel
CN102315900B (en) * 2010-07-01 2014-06-04 清华大学 Searching method of constellation point mapping mode
US9112653B2 (en) * 2013-06-19 2015-08-18 Mitsubishi Electric Research Laboratories, Inc. Method and system for modulating optical signals as high-dimensional lattice constellation points to increase tolerance to noise
US9564927B2 (en) * 2015-05-27 2017-02-07 John P Fonseka Constrained interleaving for 5G wireless and optical transport networks
CN106874139A (en) * 2015-12-10 2017-06-20 联发科技(新加坡)私人有限公司 It is a kind of for error checking and the decoding method corrected, device and processor

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1877995A (en) * 2006-01-24 2006-12-13 华为技术有限公司 Method and apparatus for transmitting chip interface data
EP2378692A1 (en) * 2008-09-23 2011-10-19 Telefonaktiebolaget L M Ericsson (Publ) Multiple carrier acknowledgement signaling
US8407560B2 (en) * 2010-07-14 2013-03-26 Hewlett-Packard Development Company, L.P. Systems and methods for encoding information for storage in an electronic memory and for decoding encoded information retrieved from an electronic memory
CN102509145A (en) * 2011-09-30 2012-06-20 清华大学 Power-aware power balancing S box unit circuit and application method thereof
CN103117837A (en) * 2013-01-18 2013-05-22 北京邮电大学 Modified time-pulse position modulation (T-PPM) code modulation method
CN104092629A (en) * 2014-07-08 2014-10-08 中国航空无线电电子研究所 AFDX switch for resisting single event upset
CN106059592A (en) * 2016-05-19 2016-10-26 合肥工业大学 Encoding and decoding circuit based on low power consumption combination applied to network on chip and encoding and decoding method thereof
CN106330403A (en) * 2016-09-05 2017-01-11 北京邮电大学 Encoding and decoding method and encoding and decoding system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Turbo码的水声信道编译码技术研究及其FPGA实现;李坤;《中国优秀硕士学位论文全文数据库信息科技辑》;20120415;第3章 *

Also Published As

Publication number Publication date
CN107682020A (en) 2018-02-09

Similar Documents

Publication Publication Date Title
CN108347302B (en) Coding and decoding method and terminal
CN108777606B (en) Decoding method, apparatus and readable storage medium
CN107682020B (en) Encoding and decoding method and device based on Turbo code
RU2019127742A (en) METHOD AND DEVICE FOR INFORMATION PROCESSING, COMMUNICATION DEVICE AND COMMUNICATION SYSTEM
CN108847916B (en) Encoding method, apparatus and readable storage medium
CN108768587B (en) Encoding method, apparatus and readable storage medium
KR101870594B1 (en) Coding and decoding of spectral peak positions
CN110474711B (en) Encoding method, apparatus and readable storage medium
CN110474709B (en) Encoding method, apparatus and readable storage medium
CN110276811B (en) Image conversion method and device, electronic equipment and readable storage medium
CN112492386A (en) Decoding method, decoding device and readable storage medium
CN102651229A (en) Semiconductor apparatus and data processing method
CN110474710B (en) Encoding method, apparatus and readable storage medium
WO2016095569A1 (en) Method and apparatus for reducing false detection rate, and storage medium
CN108683915B (en) Method and device for writing dQP value and electronic equipment
CN110581995A (en) Video processing method and device
CN110620635A (en) Decoding method, apparatus and readable storage medium
CN111970007B (en) Decoding method, decoder, device and medium
CN110290391B (en) Exponential Golomb code decoding method, system, electronic equipment and storage medium
CN110401458B (en) Data check coding method and system
CN109309548B (en) Encoding method, apparatus and readable storage medium
CN110958100A (en) Equipment control method and device
US10742783B2 (en) Data transmitting apparatus, data receiving apparatus and method thereof having encoding or decoding functionalities
CN112486884A (en) IIS bus decoding method, IIS bus decoding device, oscilloscope and computer readable storage medium
US9722631B2 (en) Method and apparatus for calculating estimated data compression ratio

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
GR01 Patent grant
GR01 Patent grant