CN117674862A - Convolutional code decoding method and device, electronic equipment and storage medium - Google Patents

Convolutional code decoding method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN117674862A
CN117674862A CN202311676703.1A CN202311676703A CN117674862A CN 117674862 A CN117674862 A CN 117674862A CN 202311676703 A CN202311676703 A CN 202311676703A CN 117674862 A CN117674862 A CN 117674862A
Authority
CN
China
Prior art keywords
current
probability
decoded
symbol
state
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
CN202311676703.1A
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.)
Beijing Runke General Technology Co Ltd
Original Assignee
Beijing Runke General Technology 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 Beijing Runke General Technology Co Ltd filed Critical Beijing Runke General Technology Co Ltd
Priority to CN202311676703.1A priority Critical patent/CN117674862A/en
Publication of CN117674862A publication Critical patent/CN117674862A/en
Pending legal-status Critical Current

Links

Abstract

The application discloses a convolutional code decoding method and device, electronic equipment and storage medium, wherein the method comprises the following steps: receiving Turbo code coded data to be decoded; respectively aiming at each symbol to be decoded, calculating the current joint probability by utilizing the corresponding current target log-likelihood ratio; the current joint probability comprises a first joint probability and a second joint probability; calculating the natural logarithm of the ratio of the first joint probability to the second joint probability to obtain the current log-likelihood ratio; calculating to obtain the current verification probability by using the current log-likelihood ratio; interleaving the current verification probability to obtain a current interleaving result; updating the corresponding current target log-likelihood ratio into a current interleaving result, and returning to execute the calculation of the corresponding current target log-likelihood ratio to obtain the current conditional probability until the preset iteration times are reached; and determining the corresponding transmission data by using the latest obtained current interleaving result.

Description

Convolutional code decoding method and device, electronic equipment and storage medium
Technical Field
The present invention relates to the field of communication coding and decoding technologies, and in particular, to a method and apparatus for decoding a convolutional code, an electronic device, and a storage medium.
Background
The Turbo code is also called parallel cascade convolution code, which combines the convolution code and the interleaver skillfully, realizes random coding and also realizes the idea of constructing long code by simple short code, and has better bit error performance.
The current decoding of Turbo codes is implemented under the constraint that the register state starts from 0 at the time of encoding and returns to 0 state at the end of encoding. However, since the encoded data is not fixed, the final state of the register cannot be guaranteed in general, and thus the register is not guaranteed to return to the 0 state finally. Therefore, when the final state of the register is not 0 in the actual encoding process, it is further assumed that the final state of the register is decoded as 0 state, which results in decoding errors of the last few bits. Therefore, the state of the current final register is generally judged after the data encoding is completed, and then a plurality of tail bits are further added for encoding based on the judging result, so that the final state of the register is converted into a 0 state, and the accuracy of decoding can be further ensured.
Although the accuracy of decoding under the constraint condition according to the state of the register can be ensured after adding the redundant tail bits to the last data bit, it cannot meet the strict code rate requirement due to the added tail bits. Therefore, the existing mode cannot meet the requirements of accuracy and code rate at the same time.
Disclosure of Invention
Based on the defects of the prior art, the application provides a convolutional code decoding method and device, electronic equipment and a storage medium, so as to solve the problem that the prior art cannot meet the requirements of accuracy and code rate at the same time.
In order to achieve the above object, the present application provides the following technical solutions:
the first aspect of the present application provides a method for decoding a convolutional code, including:
receiving Turbo code coded data to be decoded;
respectively aiming at each symbol to be decoded in the Turbo code coding data, calculating the current joint probability corresponding to the symbol to be decoded by utilizing the current target log-likelihood ratio corresponding to the symbol to be decoded; the current joint probability corresponding to the symbol to be decoded refers to the probability that the register state is converted from the first state to the second state when the symbol to be decoded is received; the current joint probability comprises a first joint probability and a second joint probability; the first joint probability is a probability of a state transition caused by an input bit of 1; the second joint probability is a probability of a state transition caused by an input bit of 0;
calculating the natural logarithm of the ratio of the first joint probability to the second joint probability to obtain the current log-likelihood ratio of the transmitted data corresponding to the symbol to be decoded;
Calculating to obtain the current verification probability of the transmission data corresponding to the symbol to be decoded by using the current log-likelihood ratio of the transmission data corresponding to the symbol to be decoded; the current verification probability is a current prior probability or a current posterior probability;
interleaving the current verification probability of the transmission data corresponding to the symbol to be decoded to obtain a current interleaving result;
updating the current target log-likelihood ratio corresponding to the symbol to be decoded into the current interleaving result, and returning to execute the current target log-likelihood ratio corresponding to the symbol to be decoded, and calculating to obtain the current conditional probability until the preset iteration times are reached;
and determining the transmitted data corresponding to the symbol to be decoded by using the latest obtained current interleaving result.
Optionally, in the above method for decoding a convolutional code, after receiving the Turbo code encoded data to be decoded, the method further includes:
and filling zeros in each position of the missing data due to the punching operation in the Turbo code coded data.
Optionally, in the method for decoding a convolutional code, the calculating the current joint probability corresponding to the symbol to be decoded by using the current target log likelihood ratio corresponding to the symbol to be decoded includes:
Calculating to obtain a current conditional probability by using a current target log-likelihood ratio corresponding to the symbol to be decoded; the current conditional probability designates the probability that the register state at the current moment is a first state and the register state at the previous moment is a second state when the symbol to be decoded is received;
respectively updating a first state probability and a second state probability by using the current conditional probability; the first state probability is the probability that the state of the register is the first state at the moment before the current moment; the second state probability is the probability that the register state is the second state at the current moment; the current time refers to the time when the symbol to be decoded is received;
and carrying out cumulative multiplication on the current conditional probability, the first state probability and the second state probability to obtain the current joint probability corresponding to the symbol to be decoded.
Optionally, in the decoding method of a convolutional code, the method further includes:
initializing the first state probability and the second state probability to be the inverse of the power n of 2; where n is the number of registers.
Optionally, in the decoding method of a convolutional code, the calculating, by using a current log likelihood ratio of the transmission data corresponding to the symbol to be decoded, a current verification probability of the transmission data corresponding to the symbol to be decoded includes:
Subtracting the product of the channel parameter and the symbol to be decoded from the difference of the current log likelihood ratio of the transmitted data corresponding to the symbol to be decoded by subtracting the current target log likelihood ratio corresponding to the symbol to be decoded, thereby obtaining the current verification probability of the transmitted data corresponding to the symbol to be decoded.
Optionally, in the decoding method of a convolutional code, the interleaving processing is performed on the current verification probability of the transmission data corresponding to the symbol to be decoded to obtain a current interleaving result, including:
if the current verification probability of the transmission data corresponding to the symbol to be decoded is the current prior probability, forward interleaving is carried out on the current verification probability of the transmission data corresponding to the symbol to be decoded by using an interleaver used by an encoder, so as to obtain the current interleaving result;
and if the current verification probability of the transmission data corresponding to the symbol to be decoded is the current posterior probability, performing reverse interleaving processing on the current verification probability of the transmission data corresponding to the symbol to be decoded by using an interleaver used by an encoder to obtain the current interleaving result.
A second aspect of the present application provides a decoding apparatus for a convolutional code, including:
The receiving unit is used for receiving the Turbo code coded data to be decoded;
the joint probability calculation unit is used for calculating the current joint probability corresponding to each symbol to be decoded in the Turbo code coding data by utilizing the current target log likelihood ratio corresponding to the symbol to be decoded; the current joint probability corresponding to the symbol to be decoded refers to the probability that the register state is converted from the first state to the second state when the symbol to be decoded is received; the current joint probability comprises a first joint probability and a second joint probability; the first joint probability is a probability of a state transition caused by an input bit of 1; the second joint probability is a probability of a state transition caused by an input bit of 0;
the likelihood ratio calculating unit is used for calculating the natural logarithm of the ratio of the first joint probability to the second joint probability to obtain the current log likelihood ratio of the transmitted data corresponding to the symbol to be decoded;
the verification probability calculation unit is used for calculating the current verification probability of the transmission data corresponding to the symbol to be decoded by using the current log likelihood ratio of the transmission data corresponding to the symbol to be decoded; the current verification probability is a current prior probability or a current posterior probability;
An interleaving processing unit, configured to perform interleaving processing on a current verification probability of the transmission data corresponding to the symbol to be decoded, so as to obtain a current interleaving result;
the updating unit is used for updating the current target log-likelihood ratio corresponding to the symbol to be decoded into the current interleaving result, returning to the joint probability calculating unit to execute the current target log-likelihood ratio corresponding to the symbol to be decoded, and calculating to obtain the current conditional probability until the preset iteration times are reached;
and the result determining unit is used for determining the sending data corresponding to the symbol to be decoded by utilizing the latest obtained current interleaving result.
Optionally, the decoding device of a convolutional code further includes:
and the supplementing unit is used for supplementing zero at each position of the missing data due to the punching operation in the Turbo code coded data.
Optionally, in the decoding device for convolutional codes, the joint probability calculating unit includes:
the conditional probability calculation unit is used for calculating the current conditional probability by utilizing the current target log likelihood ratio corresponding to the symbol to be decoded; the current conditional probability designates the probability that the register state at the current moment is a first state and the register state at the previous moment is a second state when the symbol to be decoded is received;
A state probability calculation unit, configured to update a first state probability and a second state probability respectively using the current conditional probability; the first state probability is the probability that the state of the register is the first state at the moment before the current moment; the second state probability is the probability that the register state is the second state at the current moment; the current time refers to the time when the symbol to be decoded is received;
and the accumulating and multiplying unit is used for accumulating and multiplying the current conditional probability, the first state probability and the second state probability to obtain the current joint probability corresponding to the symbol to be decoded.
Optionally, the decoding device of a convolutional code further includes:
an initializing unit, configured to initialize the first state probability and the second state probability to be the inverse of the power n of 2; where n is the number of registers.
Optionally, in the decoding device for convolutional codes, the verification probability calculating unit includes:
and the verification probability calculation subunit is used for subtracting the difference of the current log likelihood ratio of the transmission data corresponding to the symbol to be decoded from the current log likelihood ratio of the transmission data corresponding to the symbol to be decoded and subtracting the product of the channel parameter and the symbol to be decoded to obtain the current verification probability of the transmission data corresponding to the symbol to be decoded.
Optionally, in the decoding device for convolutional codes, the interleaving unit includes:
the first interleaving processing unit is used for performing forward interleaving processing on the current verification probability of the transmission data corresponding to the symbol to be decoded by using an interleaver used by the encoder when the current verification probability of the transmission data corresponding to the symbol to be decoded is the current prior probability, so as to obtain the current interleaving result;
and the second interleaving processing unit is used for carrying out reverse interleaving processing on the current verification probability of the transmission data corresponding to the symbol to be decoded by utilizing an interleaver used by the encoder when the current verification probability of the transmission data corresponding to the symbol to be decoded is the current posterior probability, so as to obtain the current interleaving result.
A third aspect of the present application provides an electronic device, comprising:
a memory and a processor;
wherein the memory is used for storing programs;
the processor is configured to execute the program, where the program is executed, and specifically configured to implement a method for decoding a convolutional code according to any one of the foregoing claims.
A fourth aspect of the present application provides a computer storage medium storing a computer program which, when executed, is adapted to carry out a method of decoding a convolutional code according to any one of claims 1 to 6.
After receiving Turbo code coded data to be decoded, the method calculates current joint probability corresponding to the symbols to be decoded according to current target log likelihood ratio corresponding to the symbols to be decoded for each symbol to be decoded in the Turbo code coded data. The current joint probability corresponding to the symbol to be decoded refers to the probability that the register state is converted from the first state to the second state when the symbol to be decoded is received. The current joint probability includes a first joint probability and a second joint probability. The first joint probability is the probability of a state transition caused by an input bit of 1. The second joint probability is a probability of a state transition caused by an input bit of 0, so the probability of a state transition can be reflected by the current joint probability, and accordingly whether the input is caused by 1 or 0 is determined. And then, calculating the natural logarithm of the ratio of the first joint probability and the second joint probability to obtain the current log-likelihood ratio of the transmission data corresponding to the symbol to be decoded, and calculating the current verification probability of the transmission data corresponding to the symbol to be decoded by using the current log-likelihood ratio of the transmission data corresponding to the symbol to be decoded. Then, interleaving is carried out on the current verification probability of the transmission data corresponding to the symbol to be decoded to obtain a current interleaving result, then the current target log-likelihood ratio corresponding to the symbol to be decoded is updated to the current interleaving result, and the current target log-likelihood ratio corresponding to the symbol to be decoded is returned to be executed, so that the current conditional probability is calculated until the preset iteration times are reached, the log-likelihood ratio consistent with the real situation is obtained through iterative calculation, finally, the transmission data corresponding to the symbol to be decoded can be determined by utilizing the latest obtained current interleaving result, namely, the input of an encoder when the symbol to be decoded is received is determined according to the corresponding probability, so that decoding can be accurately carried out under the condition that the initial state and the final state of a register are not needed to be assumed, therefore, the tail bit is not needed to be increased, the accuracy of decoding is ensured, and the code rate requirement can be effectively ensured.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required to be used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only embodiments of the present application, and that other drawings may be obtained according to the provided drawings without inventive effort to a person skilled in the art.
Fig. 1 is a flowchart of a decoding method of a convolutional code according to an embodiment of the present application;
FIG. 2 is a flowchart of a method for calculating a current joint probability according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a register state transition according to an embodiment of the present disclosure;
FIG. 4 is a schematic diagram of an example implementation of decoding of a convolutional code according to an embodiment of the present application;
fig. 5 is a schematic architecture diagram of a decoding apparatus for convolutional codes according to an embodiment of the present application;
fig. 6 is a schematic architecture diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
In this application, relational terms such as first and second, and the like are 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 one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The embodiment of the application provides a decoding method of a convolutional code, as shown in fig. 1, comprising the following steps:
s101, receiving Turbo code coded data to be decoded.
The Turbo code coding data refers to data coded based on the Turbo code.
Optionally, in another embodiment of the present application, after performing step S101, further performing may be performed:
And filling zeros in each position of the missing data due to the punching operation in the Turbo code coded data.
It should be noted that when generating different code rates, the code word generated by the transmitting end needs to be punctured, that is, bits in some fixed positions are selected to be discarded for replacing the coding efficiency. Therefore, in order to make the received codeword consistent with the data before the puncturing operation after the encoding is completed, in this embodiment of the present application, zeros need to be added to each position where the data is missing due to the puncturing operation in the encoded data of the Turbo code, so as to restore the data to the form before the puncturing operation.
S102, respectively aiming at each symbol to be decoded in the Turbo code coded data, calculating the current joint probability corresponding to the symbol to be decoded by utilizing the current target log-likelihood ratio corresponding to the symbol to be decoded.
It should be noted that, the decoding process of the Turbo code determines the original data corresponding to each code of the data to be decoded, so in the embodiment of the present application, each symbol to be decoded in the data encoded by the Turbo code is decoded separately.
The current target log likelihood ratio corresponding to the symbol to be decoded is substantially the log likelihood ratio of the probability of the state transition generated by the input bit 1 and the probability of the state transition generated by the input bit 0 when the symbol to be decoded is received. It should be noted that, since the probabilities of transmitting 1 and 0 are equal initially, the initial value of the current target log likelihood ratio corresponding to the symbol to be decoded is 0.
The current joint probability corresponding to the symbol to be decoded refers to the probability that the register state is converted from the first state to the second state when the symbol to be decoded is received. The current joint probability includes a first joint probability and a second joint probability. The first joint probability is the probability of a state transition caused by an input bit of 1. The second joint probability is the probability of a state transition caused by an input bit of 0.
It should be noted that the first state is not a fixed two state, but may be any two states of the respective states of the register that can be switched. Since different state changes are caused when 1 or 0 is input, in the embodiment of the present application, the probability of performing transition between every two states caused by receiving the symbol to be decoded and having an input bit of 1 is calculated, so that every two states that may cause transition due to 1 input correspond to a first joint probability, and thus the first joint probability includes a plurality of the two states. Similarly, the probability of transition between every two states that would be caused by an input bit of 0 is calculated, i.e., a plurality of second joint probabilities are calculated.
The correspondence relationship exists between the input and the state transition, so that the probability of transition between two transition states is the probability of corresponding input, and the joint probability is the probability of transition between two states, so that the input corresponding to the symbol to be decoded is further determined by calculating the current joint probability corresponding to the symbol to be decoded.
Optionally, in another embodiment of the present application, a specific implementation method for calculating a current joint probability corresponding to a symbol to be decoded by using a current target log likelihood ratio corresponding to the symbol to be decoded, as shown in fig. 2, includes:
s201, calculating to obtain the current conditional probability by using the current target log-likelihood ratio corresponding to the symbol to be decoded.
When receiving a symbol to be decoded, the current conditional probability designates the probability that the register state at the current moment is a first state and the register state at the previous moment is a second state.
Specifically, the specific calculation manner for the current conditional probability can be as follows:
wherein k is the time when the symbol to be decoded is received; u (u) k An input to the encoder at time k; l (u) k ) The current target log-likelihood ratio corresponding to the symbol to be decoded is obtained; y is kl Refers to each output value of the encoder at the time k, namely, each output value corresponding to the input at the time k; x is x kl An original output value; lc is the channel coefficient; n (N) 0 A noise bilateral power spectral density of 2 times; a is the fading amplitude; ec is the encoded padding transmission energy; s' is a first state; s is the second state.
Since the first joint probability and the second joint probability need to be calculated respectively when the current joint probability is calculated, and the first joint probability and the second joint probability are not different for the input respectively, when the current conditional probability is calculated, the calculation needs to be performed for the case that the input is 1 and the input is 0 respectively, and the corresponding subsequent step S202 and step S203 need to be performed for the case of two different inputs respectively.
S202, the first state probability and the second state probability are respectively updated by using the current conditional probability.
The first state probability is a probability that the register state is the first state at a time before the current time. The second state probability is the probability that the register state is the second state at the current time. The current time refers to the time at which the symbol to be decoded was received.
Specifically, the first state probability calculation method is as follows:
α k (s)=∑α k-1 (s′)γ k (s′,s)
specifically, the calculation formula of the second state probability is as follows:
β k-1 (s′)=∑β k (s)γ k (s′,s)
optionally, in another implementation of the present application, after the first performing step S202, the method further includes:
the first state probability and the second state probability are initialized to the inverse of the power n of 2.
Where n is the number of registers.
Since iterative computation is required in the embodiment of the application, in order to prevent data overflow or underflow in the computation process, normalization processing between the first state probability and the second state probability is required to be achieved by initializing the first state probability and the second state probability.
S203, the current conditional probability, the first state probability and the second state probability are multiplied to obtain the current joint probability corresponding to the symbol to be decoded.
Specifically, a specific calculation formula of the current joint probability is as follows:
P(s′,s,y)=α k-1 (s′)γ k (s′,s)β k (s)
When the inputs are 1 and 0, the current conditional probability, the first state probability, and the second state probability are obtained, and the current first joint probability and the second joint probability are calculated. And respectively calculating corresponding first joint probability and second joint probability according to different first states and second states which can be converted. For example, as shown in the register state transition diagram of fig. 3, the register states include four types: 0. 1, 2, 3, solid lines represent transitions of the register state when the input is 0, and dashed lines represent transitions of the register state when the input is 1. It can be seen that when the first state is 0, i.e. the state at time k-1 is 0, if the input bit is 0, the state will be changed to 0, i.e. the second state will still be 0; if the input is 1, the state will be changed to 2, and the corresponding α, β, and γ will be different accordingly.
S103, calculating the natural logarithm of the ratio of the first joint probability and the second joint probability to obtain the current log likelihood ratio of the transmitted data corresponding to the symbol to be decoded.
Specifically, the natural logarithm of the ratio of the sum of the first joint probabilities to the sum of the second joint probabilities is calculated to obtain the current log-likelihood ratio of the transmitted data corresponding to the symbol to be decoded. The specific calculation formula can be expressed as:
S104, calculating to obtain the current verification probability of the transmitted data corresponding to the symbol to be decoded by using the current log-likelihood ratio of the transmitted data corresponding to the symbol to be decoded.
In the scheme, iteration training is required to be continuously carried out, so that the final result is more accurate, and the current verification probability is the current prior probability or the current posterior probability. Optionally, the scheme can be specifically implemented through two decoders, so that the corresponding first decoder obtains the prior probability, and the prior probability needs to be input into the second decoder for calculation to obtain the subsequent posterior probability. Therefore, when a priori probability is calculated and a posterior probability is calculated correspondingly, the iterative calculation is performed.
Optionally, in another embodiment of the present application, a specific implementation of step S104 includes:
subtracting the product of the channel parameter and the symbol to be decoded from the difference of the current log-likelihood ratio of the transmitted data corresponding to the symbol to be decoded and the current target log-likelihood ratio corresponding to the symbol to be decoded to obtain the current verification probability of the transmitted data corresponding to the symbol to be decoded.
Specifically, the calculation process of the current verification probability of the transmission data corresponding to the symbol to be decoded may be as follows:
Le(u k )=L(u k |y)-L(u k )-Lcy kl
Wherein L (u) k Y) represents the current log likelihood ratio of the transmitted data corresponding to the symbol to be decoded; l (u) k ) Representing the current target log-likelihood ratio corresponding to the symbol to be decoded.
S105, interleaving the current verification probability of the transmission data corresponding to the symbol to be decoded to obtain a current interleaving result.
In particular, the interleaving process may be performed by an interleaver used by the encoder.
Optionally, in another embodiment of the present application, a specific implementation of step S105 includes:
if the current verification probability of the transmission data corresponding to the symbol to be decoded is the current prior probability, forward interleaving processing is carried out on the current verification probability of the transmission data corresponding to the symbol to be decoded by using an interleaver used by the encoder, and a current interleaving result is obtained.
If the current verification probability of the transmission data corresponding to the symbol to be decoded is the current posterior probability, the current verification probability of the transmission data corresponding to the symbol to be decoded is subjected to reverse interleaving processing by using an interleaver used by the encoder, and a current interleaving result is obtained.
It should be noted that, since the current prior probability is used for the subsequent calculation of the posterior probability after the forward interleaving process is performed, and the symbol to be decoded is also needed to be used in the calculation of the joint probability, the interleaving process can be performed on the symbol to be decoded correspondingly when the prior probability is interleaved.
Accordingly, the data for calculating the prior probability and the data for the final determination result need to be in an uninterleaved state, so when the current posterior probability is returned to the prior probability calculation or the final output is performed, the data needs to be subjected to reverse interleaving processing, and the data needs to be restored to the initial state.
S106, judging that the preset iteration times are reached currently.
If it is determined that the current iteration number does not reach the preset iteration number, step S107 is executed. If it is determined that the preset iteration number has been reached, step S108 is performed.
It should be noted that, since the current posterior probability is calculated and a complete iteration training is performed, only when the current posterior probability is calculated, the iteration number is accumulated by 1.
Therefore, alternatively, step S106 may be performed only when the current a priori probability is calculated in step S104, and step S107 may be performed when the current a priori probability is calculated, because the iteration number is not updated.
And S107, updating the current target log-likelihood ratio corresponding to the symbol to be decoded into a current interleaving result.
After step S107 is performed, the routine returns to step S102.
S108, determining the transmitted data corresponding to the symbol to be decoded by using the latest obtained current interleaving result.
The current interleaving result is the current log likelihood ratio of the transmission data corresponding to the interleaved symbol to be decoded, and is the relative relation between the probability of the state transition caused by the input of 1 and the input of 0 when the symbol to be decoded is received, so that the value input by the encoder when the symbol to be decoded is received can be determined to be 1 or 0 according to the relative relation.
Alternatively, since the prior probability and the posterior probability need to be calculated, the embodiments of the present application can be implemented by the two decoders. In a specific iterative process in decoding, as shown in FIG. 4, the symbol L to be decoded is first decoded c y kl Log likelihood ratio of current target L 2 (u k ) Encoded parity bit information L of decoder 1 c y (1) kp In the input decoder 1, the current log likelihood ratio L of the transmitted data corresponding to the symbol to be decoded is obtained by processing 1 (u k Y) and a priori probability L e1 (u k Y). Then forward interleaving processing is carried out on the prior probability to obtain a new target log likelihood ratio L 1 (u k ) And inputs it into the decoder 2. Because the data to be decoded is needed in calculating the joint probability, the corresponding result y obtained by forward interleaving the symbol to be decoded is also needed kl (P) Is input to the decoder 2. Meanwhile, the encoded check bit information L corresponding to the decoder 2 is required c y (2) kp The input decoder 2 performs the same decoding process as the decoder 1, and outputs a posterior probability L e2 (u k Y). If the preset iteration times are not reached at present, the posterior probability L e2 (u k I y) to obtain a new target log-likelihood ratio L 2 (u k ) Then returns to the decoder 1 for the next operationAnd (5) carrying out round iterative calculation. If the preset iteration times are reached, the posterior probability L e2 (u k Y) and the final interleaving result L (u) k I y), the final log-likelihood ratio is obtained, and the final interleaving result L (u) k Y), determines the input u of the corresponding encoder k Thereby enabling decoding of the symbol to be decoded.
The embodiment of the application provides a decoding method of a convolutional code, which is used for calculating the current joint probability corresponding to a symbol to be decoded by utilizing the current target log likelihood ratio corresponding to the symbol to be decoded according to each symbol to be decoded in Turbo code coded data after receiving the Turbo code coded data to be decoded. The current joint probability corresponding to the symbol to be decoded refers to the probability that the register state is converted from the first state to the second state when the symbol to be decoded is received. The current joint probability includes a first joint probability and a second joint probability. The first joint probability is the probability of a state transition caused by an input bit of 1. The second joint probability is a probability of a state transition caused by an input bit of 0, so the probability of a state transition can be reflected by the current joint probability, and accordingly whether the input is caused by 1 or 0 is determined. And then, calculating the natural logarithm of the ratio of the first joint probability and the second joint probability to obtain the current log-likelihood ratio of the transmission data corresponding to the symbol to be decoded, and calculating the current verification probability of the transmission data corresponding to the symbol to be decoded by using the current log-likelihood ratio of the transmission data corresponding to the symbol to be decoded. Then, interleaving is carried out on the current verification probability of the transmission data corresponding to the symbol to be decoded to obtain a current interleaving result, then the current target log-likelihood ratio corresponding to the symbol to be decoded is updated to the current interleaving result, and the current target log-likelihood ratio corresponding to the symbol to be decoded is returned to be executed, so that the current conditional probability is calculated until the preset iteration times are reached, the log-likelihood ratio consistent with the real situation is obtained through iterative calculation, finally, the transmission data corresponding to the symbol to be decoded can be determined by utilizing the latest obtained current interleaving result, namely, the input of an encoder when the symbol to be decoded is received is determined according to the corresponding probability, so that decoding can be accurately carried out under the condition that the initial state and the final state of a register are not needed to be assumed, therefore, the tail bit is not needed to be increased, the accuracy of decoding is ensured, and the code rate requirement can be effectively ensured.
Another embodiment of the present application provides a decoding apparatus for convolutional codes, as shown in fig. 5, including:
a receiving unit 501, configured to receive Turbo code encoded data to be decoded.
The joint probability calculating unit 502 is configured to calculate, for each symbol to be decoded in the Turbo code encoded data, a current joint probability corresponding to the symbol to be decoded by using a current target log likelihood ratio corresponding to the symbol to be decoded.
The current joint probability corresponding to the symbol to be decoded refers to the probability that the register state is converted from the first state to the second state when the symbol to be decoded is received. The current joint probability includes a first joint probability and a second joint probability. The first joint probability is the probability of a state transition caused by an input bit of 1. The second joint probability is the probability of a state transition caused by an input bit of 0.
The likelihood ratio calculating unit 503 is configured to calculate a natural logarithm of a ratio of the first joint probability and the second joint probability, so as to obtain a current log likelihood ratio of the transmission data corresponding to the symbol to be decoded.
The verification probability calculating unit 504 is configured to calculate a current verification probability of the transmission data corresponding to the symbol to be decoded using a current log likelihood ratio of the transmission data corresponding to the symbol to be decoded. The current verification probability is a current prior probability or a current posterior probability.
The interleaving processing unit 505 is configured to perform interleaving processing on the current verification probability of the transmission data corresponding to the symbol to be decoded, so as to obtain a current interleaving result.
The updating unit 506 is configured to update the current target log-likelihood ratio corresponding to the symbol to be decoded to a current interleaving result, and return to the joint probability calculating unit 502 to perform calculation by using the current target log-likelihood ratio corresponding to the symbol to be decoded to obtain a current conditional probability until a preset iteration number is reached.
And a result determining unit 507, configured to determine the transmission data corresponding to the symbol to be decoded by using the latest obtained current interleaving result.
Optionally, in the decoding device for a convolutional code provided in another embodiment of the present application, the decoding device further includes:
and the supplementing unit is used for supplementing zero at each position of the missing data due to the punching operation in the Turbo code coded data.
Optionally, in the decoding device for a convolutional code provided in another embodiment of the present application, the joint probability calculating unit includes:
and the conditional probability calculation unit is used for calculating the current conditional probability by using the current target log likelihood ratio corresponding to the symbol to be decoded.
When receiving a symbol to be decoded, the current conditional probability designates the probability that the register state at the current moment is a first state and the register state at the previous moment is a second state.
And the state probability calculation unit is used for respectively updating the first state probability and the second state probability by utilizing the current conditional probability.
The first state probability is a probability that the register state is the first state at a time before the current time. The second state probability is the probability that the register state is the second state at the current time. The current time refers to the time at which the symbol to be decoded was received.
And the accumulating and multiplying unit is used for accumulating and multiplying the current conditional probability, the first state probability and the second state probability to obtain the current joint probability corresponding to the symbol to be decoded.
Optionally, in the decoding device for a convolutional code provided in another embodiment of the present application, the decoding device further includes:
and the initialization unit is used for initializing the first state probability and the second state probability to be the inverse of the power n of 2. Where n is the number of registers.
Optionally, in the decoding device for a convolutional code provided in another embodiment of the present application, the verification probability calculating unit includes:
and the verification probability calculation subunit is used for subtracting the difference of the current log-likelihood ratio of the transmission data corresponding to the symbol to be decoded from the current log-likelihood ratio of the transmission data corresponding to the symbol to be decoded and subtracting the product of the channel parameter and the symbol to be decoded to obtain the current verification probability of the transmission data corresponding to the symbol to be decoded.
Optionally, in the decoding device for a convolutional code provided in another embodiment of the present application, the interleaving processing unit includes:
and the first interleaving processing unit is used for performing forward interleaving processing on the current verification probability of the transmission data corresponding to the symbol to be decoded by using an interleaver used by the encoder when the current verification probability of the transmission data corresponding to the symbol to be decoded is the current prior probability, so as to obtain a current interleaving result.
And the second interleaving processing unit is used for carrying out reverse interleaving processing on the current verification probability of the transmission data corresponding to the symbol to be decoded by utilizing an interleaver used by the encoder when the current verification probability of the transmission data corresponding to the symbol to be decoded is the current posterior probability, so as to obtain a current interleaving result.
It should be noted that, for the specific working process of each unit provided in the above embodiment of the present application, reference may be made to corresponding steps in the above method embodiment accordingly, which is not described herein again.
Another embodiment of the present application provides an electronic device, as shown in fig. 6, including:
a memory 601 and a processor 602.
Wherein the memory 601 is used for storing programs.
The processor 602 is configured to execute a program, and when the program is executed, is specifically configured to implement a method for decoding a convolutional code according to any one of the embodiments described above.
Another embodiment of the present application provides a computer storage medium storing a computer program for implementing a method for decoding a convolutional code as provided in any one of the above embodiments when the computer program is executed.
Computer storage media, including both non-transitory and non-transitory, removable and non-removable media, may be implemented in any method or technology for storage of information. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, read only compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by the computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative elements and steps are described above generally in terms of functionality in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A method for decoding a convolutional code, comprising:
receiving Turbo code coded data to be decoded;
respectively aiming at each symbol to be decoded in the Turbo code coding data, calculating the current joint probability corresponding to the symbol to be decoded by utilizing the current target log-likelihood ratio corresponding to the symbol to be decoded; the current joint probability corresponding to the symbol to be decoded refers to the probability that the register state is converted from the first state to the second state when the symbol to be decoded is received; the current joint probability comprises a first joint probability and a second joint probability; the first joint probability is a probability of a state transition caused by an input bit of 1; the second joint probability is a probability of a state transition caused by an input bit of 0;
calculating the natural logarithm of the ratio of the first joint probability to the second joint probability to obtain the current log-likelihood ratio of the transmitted data corresponding to the symbol to be decoded;
calculating to obtain the current verification probability of the transmission data corresponding to the symbol to be decoded by using the current log-likelihood ratio of the transmission data corresponding to the symbol to be decoded; the current verification probability is a current prior probability or a current posterior probability;
Interleaving the current verification probability of the transmission data corresponding to the symbol to be decoded to obtain a current interleaving result;
updating the current target log-likelihood ratio corresponding to the symbol to be decoded into the current interleaving result, and returning to execute the current target log-likelihood ratio corresponding to the symbol to be decoded, and calculating to obtain the current conditional probability until the preset iteration times are reached;
and determining the transmitted data corresponding to the symbol to be decoded by using the latest obtained current interleaving result.
2. The method of claim 1, wherein after receiving the Turbo code encoded data to be decoded, further comprising:
and filling zeros in each position of the missing data due to the punching operation in the Turbo code coded data.
3. The method of claim 1, wherein the calculating the current joint probability corresponding to the symbol to be decoded using the current target log likelihood ratio corresponding to the symbol to be decoded comprises:
calculating to obtain a current conditional probability by using a current target log-likelihood ratio corresponding to the symbol to be decoded; the current conditional probability designates the probability that the register state at the current moment is a first state and the register state at the previous moment is a second state when the symbol to be decoded is received;
Respectively updating a first state probability and a second state probability by using the current conditional probability; the first state probability is the probability that the state of the register is the first state at the moment before the current moment; the second state probability is the probability that the register state is the second state at the current moment; the current time refers to the time when the symbol to be decoded is received;
and carrying out cumulative multiplication on the current conditional probability, the first state probability and the second state probability to obtain the current joint probability corresponding to the symbol to be decoded.
4. A method according to claim 3, further comprising:
initializing the first state probability and the second state probability to be the inverse of the power n of 2; where n is the number of registers.
5. The method of claim 1, wherein the calculating the current verification probability of the transmission data corresponding to the symbol to be decoded using the current log likelihood ratio of the transmission data corresponding to the symbol to be decoded comprises:
subtracting the product of the channel parameter and the symbol to be decoded from the difference of the current log likelihood ratio of the transmitted data corresponding to the symbol to be decoded by subtracting the current target log likelihood ratio corresponding to the symbol to be decoded, thereby obtaining the current verification probability of the transmitted data corresponding to the symbol to be decoded.
6. The method of claim 1, wherein the interleaving the current verification probability of the transmission data corresponding to the symbol to be decoded to obtain a current interleaving result comprises:
if the current verification probability of the transmission data corresponding to the symbol to be decoded is the current prior probability, forward interleaving is carried out on the current verification probability of the transmission data corresponding to the symbol to be decoded by using an interleaver used by an encoder, so as to obtain the current interleaving result;
and if the current verification probability of the transmission data corresponding to the symbol to be decoded is the current posterior probability, performing reverse interleaving processing on the current verification probability of the transmission data corresponding to the symbol to be decoded by using an interleaver used by an encoder to obtain the current interleaving result.
7. A decoding apparatus for convolutional codes, comprising:
the receiving unit is used for receiving the Turbo code coded data to be decoded;
the joint probability calculation unit is used for calculating the current joint probability corresponding to each symbol to be decoded in the Turbo code coding data by utilizing the current target log likelihood ratio corresponding to the symbol to be decoded; the current joint probability corresponding to the symbol to be decoded refers to the probability that the register state is converted from the first state to the second state when the symbol to be decoded is received; the current joint probability comprises a first joint probability and a second joint probability; the first joint probability is a probability of a state transition caused by an input bit of 1; the second joint probability is a probability of a state transition caused by an input bit of 0;
The likelihood ratio calculating unit is used for calculating the natural logarithm of the ratio of the first joint probability to the second joint probability to obtain the current log likelihood ratio of the transmitted data corresponding to the symbol to be decoded;
the verification probability calculation unit is used for calculating the current verification probability of the transmission data corresponding to the symbol to be decoded by using the current log likelihood ratio of the transmission data corresponding to the symbol to be decoded; the current verification probability is a current prior probability or a current posterior probability;
an interleaving processing unit, configured to perform interleaving processing on a current verification probability of the transmission data corresponding to the symbol to be decoded, so as to obtain a current interleaving result;
the updating unit is used for updating the current target log-likelihood ratio corresponding to the symbol to be decoded into the current interleaving result, returning to the joint probability calculating unit to execute the current target log-likelihood ratio corresponding to the symbol to be decoded, and calculating to obtain the current conditional probability until the preset iteration times are reached;
and the result determining unit is used for determining the sending data corresponding to the symbol to be decoded by utilizing the latest obtained current interleaving result.
8. The apparatus as recited in claim 7, further comprising:
and the supplementing unit is used for supplementing zero at each position of the missing data due to the punching operation in the Turbo code coded data.
9. An electronic device, comprising:
a memory and a processor;
wherein the memory is used for storing programs;
the processor is configured to execute the program, and the program is specifically configured to implement the method for decoding a convolutional code according to any one of claims 1 to 6 when executed.
10. A computer storage medium storing a computer program which, when executed, is adapted to carry out a method of decoding a convolutional code according to any one of claims 1 to 6.
CN202311676703.1A 2023-12-07 2023-12-07 Convolutional code decoding method and device, electronic equipment and storage medium Pending CN117674862A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311676703.1A CN117674862A (en) 2023-12-07 2023-12-07 Convolutional code decoding method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311676703.1A CN117674862A (en) 2023-12-07 2023-12-07 Convolutional code decoding method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN117674862A true CN117674862A (en) 2024-03-08

Family

ID=90074795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311676703.1A Pending CN117674862A (en) 2023-12-07 2023-12-07 Convolutional code decoding method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117674862A (en)

Similar Documents

Publication Publication Date Title
US8495453B1 (en) Circulant processing scheduler for layered LDPC decoder
US8291283B1 (en) Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter
CN108462558B (en) Method and device for decoding polarization code SCL and electronic equipment
WO2015139160A1 (en) Hard decision decoding method for ldpc code of dynamic threshold bit-flipping
WO2018142391A1 (en) Device, system and method of implementing product error correction codes for fast encoding and decoding
US9214958B2 (en) Method and decoder for processing decoding
US8880973B1 (en) Detector-decoder interface for GF(q) iterative decoding
US10797728B1 (en) Systems and methods for diversity bit-flipping decoding of low-density parity-check codes
US9203432B2 (en) Symbol flipping decoders of non-binary low-density parity check (LDPC) codes
US10790857B1 (en) Systems and methods for using decoders of different complexity in a hybrid decoder architecture
US9300328B1 (en) Methodology for improved bit-flipping decoder in 1-read and 2-read scenarios
KR20050083974A (en) Running minimum message passing ldpc decoding
US11177834B2 (en) Communication method and apparatus using polar codes
US20230179229A1 (en) List decoding of polarization-adjusted convolutional codes
US9614548B1 (en) Systems and methods for hybrid message passing and bit flipping decoding of LDPC codes
US11418221B2 (en) Method and polar code decoder for determining to-be-flipped bit position
US7552379B2 (en) Method for iterative decoding employing a look-up table
KR100362912B1 (en) Apparatus for stopping recursive decoding and turbo decoder comprising it
CN112491422A (en) Gauss optimization-based bit flipping serial elimination list decoding method and system
CN116707707A (en) Combined polarization detection decoding method and related equipment
CN117674862A (en) Convolutional code decoding method and device, electronic equipment and storage medium
WO2000041328A1 (en) Device and method for normalizing metric value of component decoder in mobile communication system
CN112511172A (en) Decoding method, device, equipment and storage medium
CN111030709A (en) Decoding method based on BCH decoder, BCH decoder and circuit applying BCH decoder
RU2522299C1 (en) Method and apparatus for noise-immune decoding of signals obtained using low-density parity check 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