CN114584259B - Decoding method, decoding device, decoding equipment and storage medium - Google Patents

Decoding method, decoding device, decoding equipment and storage medium Download PDF

Info

Publication number
CN114584259B
CN114584259B CN202210153634.5A CN202210153634A CN114584259B CN 114584259 B CN114584259 B CN 114584259B CN 202210153634 A CN202210153634 A CN 202210153634A CN 114584259 B CN114584259 B CN 114584259B
Authority
CN
China
Prior art keywords
probability distribution
message
distribution data
data
node
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
CN202210153634.5A
Other languages
Chinese (zh)
Other versions
CN114584259A (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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210153634.5A priority Critical patent/CN114584259B/en
Publication of CN114584259A publication Critical patent/CN114584259A/en
Application granted granted Critical
Publication of CN114584259B publication Critical patent/CN114584259B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • H04L1/0063Single parity check

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

The embodiment of the application discloses a decoding method, a decoding device, decoding equipment and a storage medium, wherein the method comprises the following steps: acquiring a first message, wherein the first message comprises first probability distribution data of coding bits; according to the first message, table inquiry is carried out on the check node to obtain a second message, wherein the second message comprises second probability distribution data of the first probability distribution data; transmitting a second message from the check node to the variable node; according to the second message, performing table query on the variable node to obtain a third message, wherein the third message comprises third probability distribution data of the second probability distribution data; and decoding the coding bit according to the third message under the condition that the third message meets the preset target condition to obtain a decoding result. According to the embodiment of the application, the output information of each node can be determined through the table query of the check node and the variable node, so that the updating of the node is completed, and compared with a traditional calculation method, the method reduces the operation complexity and is beneficial to improving the decoding efficiency.

Description

Decoding method, decoding device, decoding equipment and storage medium
Technical Field
The application belongs to the technical field of computers, and particularly relates to a decoding method, decoding equipment and a storage medium.
Background
Low-Density Parity-Check (LDPC) codes are a class of channel codes with excellent performance, and may be applied to a plurality of communication standards to achieve reliable transmission of data.
In the related art, the decoding algorithm of the LDPC code is usually a sum-product algorithm or a modified minimum sum-product algorithm, but the sum-product algorithm has high operation complexity and large hardware implementation difficulty; the modified minimum sum algorithm has low operation complexity, but can bring the loss of decoding performance.
Disclosure of Invention
The embodiment of the application provides a decoding method, a decoding device, decoding equipment and a storage medium, which can improve the decoding efficiency of information.
In a first aspect, an embodiment of the present application provides a decoding method, including:
acquiring a first message, wherein the first message comprises first probability distribution data of coding bits;
according to the first message, table inquiry is carried out on the check node to obtain a second message, wherein the second message comprises second probability distribution data of the first probability distribution data;
transmitting a second message from the check node to the variable node;
according to the second message, performing table query on the variable nodes to obtain a third message, wherein the third message comprises third probability distribution data of the second probability distribution data;
And when the third message meets the preset target condition, performing decoding calculation on the coding bits according to the third message to obtain a decoding result.
In a second aspect, an embodiment of the present application provides a decoding apparatus, including:
the first acquisition module is used for acquiring a first message, wherein the first message comprises first probability distribution data of coding bits;
the second query module is used for performing table query on the check node according to the first message to obtain a second message, wherein the second message comprises second probability distribution data of the first probability distribution data;
the first transmission module is used for transmitting the second message from the check node to the variable node;
the second query module is used for performing table query on the variable nodes according to the second message to obtain a third message, wherein the third message comprises third probability distribution data of the second probability distribution data;
and the decoding module is used for decoding and calculating the coding bit according to the third message under the condition that the third message meets the preset target condition to obtain a decoding result.
In a third aspect, embodiments of the present application provide a method of
A computer device, comprising: a memory and a processor, wherein the memory is configured to store,
a memory for storing a computer program;
A processor for executing a computer program stored in a memory, the computer program when run causing the processor to perform the steps of the decoding method as in the first aspect.
In a fourth aspect, embodiments of the present application provide a computer storage medium having stored thereon a program or instructions which, when executed by a computer device, cause the computer device to perform the steps of the decoding method as in the first aspect.
In a fifth aspect, embodiments of the present application provide a computer program product comprising a computer program which, when executed by a computer device, causes the computer device to perform the steps of the decoding method as in the first aspect.
In the decoding method, device, equipment and storage medium, a first message is acquired, wherein the first message comprises first probability distribution data of coding bits; according to the first message, table query is carried out on the check nodes to obtain second messages, the second messages comprise second probability distribution data of the first probability distribution data, and the messages output by the check nodes are obtained in a table look-up mode, so that the operation complexity of the check nodes can be reduced when the check nodes are updated, and the decoding efficiency is improved. And transmitting the obtained second message to the variable node, and carrying out table query on the variable node according to the second message to obtain a third message, wherein the third message comprises third probability distribution data of the second probability distribution data. Therefore, the operation complexity of updating the variable nodes is reduced when the variable nodes are updated based on a table look-up mode; if the obtained third message meets the preset target condition, the coding bit can be decoded and calculated according to the message to obtain a decoding result. Therefore, the embodiment of the application can determine the output information of each node by inquiring the table of the check node and the variable node so as to finish the updating of the node, and compared with the traditional calculation method, the method reduces the operation complexity and is beneficial to improving the decoding efficiency.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments of the present application will be briefly described, and it is possible for a person skilled in the art to obtain other drawings according to these drawings without inventive effort.
FIG. 1 is a schematic diagram of a decoding system according to an embodiment of the present application;
FIG. 2 is a flow chart of a decoding method according to an embodiment of the present application;
FIG. 3 is a schematic diagram of the variable relationship of the IB algorithm in one embodiment of the present application;
FIG. 4 is a schematic diagram of an IB algorithm in another embodiment of the present application for message quantization calculation;
figure 5 is a schematic diagram of forward algorithm table lookup of check nodes in yet another embodiment of the present application,
FIG. 6 is a schematic diagram of a backward algorithm table query for check nodes in yet another embodiment of the present application;
FIG. 7 is a schematic diagram of a table query of intermediate check nodes in yet another embodiment of the present application;
FIG. 8 is a schematic diagram of forward algorithm table querying of variable nodes according to yet another embodiment of the present application;
FIG. 9 is a schematic diagram of a backward algorithm table query on a variable node according to yet another embodiment of the present application;
Fig. 10 is a schematic structural diagram of a decoding device according to another embodiment of the present disclosure;
fig. 11 is a schematic structural diagram of a computer device according to another embodiment of the present application.
Detailed Description
Features and exemplary embodiments of various aspects of the present application are described in detail below to make the objects, technical solutions and advantages of the present application more apparent, and to further describe the present application in conjunction with the accompanying drawings and the detailed embodiments. It should be understood that the specific embodiments described herein are intended to be illustrative of the application and are not intended to be limiting. It will be apparent to one skilled in the art that the present application may be practiced without some of these specific details. The following description of the embodiments is merely intended to provide a better understanding of the present application by showing examples of the present application.
It is noted that 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. Moreover, 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 … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises an element.
The LDPC code may be applied to a plurality of communication standards such as a mobile multimedia broadcasting standard, wiMax (World Interoperability for Microwave Access, worldwide interoperability for microwave Access), a Satellite digital video broadcasting second-generation standard (Digital Video Broadcast-Satellite2, DVB-S2), IEEE 1102.3, and the latest fifth-generation mobile communication technology (5th Generation Mobile Communication Technology,5G) new air interface, etc. In a communication scenario, a decoder of the LDPC code adopts a decoding algorithm to quantize local operations of variable nodes or check nodes, wherein the decoding algorithm generally adopts a sum-product algorithm and a modified minimum sum algorithm in the related technology.
The sum-product algorithm has better performance than the modified minimum sum-product algorithm, but has high operation complexity, and particularly, the check node operation related to the sum-product algorithm relates to complex transcendental function calculation, which is not beneficial to hardware realization. While the modified min-sum algorithm is low in complexity, the decoding performance is low at the same time.
In order to solve the problems in the prior art, the embodiment of the application provides a decoding method, a device, equipment and a storage medium, and information to be exchanged between a check node and a variable node can be obtained through a form query mode, so that mutual iteration between the check node and the variable node can be realized, the operation complexity is low, and further the improvement of the decoding efficiency is facilitated.
The following describes in detail the technical solutions provided by the embodiments of the present application with reference to the accompanying drawings.
Fig. 1 is a schematic structural diagram of a decoding system according to an exemplary embodiment of the present application. As shown in fig. 1, the system 100 includes: a channel 101 and a decoder 102;
a channel 101 for acquiring a first message comprising first probability distribution data of coded bits;
the decoder 102 is configured to perform table query at the check node according to the first message to obtain a second message, where the second message includes second probability distribution data of the first probability distribution data;
transmitting a second message from the check node to the variable node;
according to the second message, performing table query on the variable node to obtain a third message, wherein the third message comprises third probability distribution data of the second probability distribution data;
and when the third message meets the preset target condition, performing decoding calculation according to the third message coding bit to obtain a decoding result.
In this embodiment, the system 100 further includes a modulator 103, and the channel 101 is communicatively connected to the modulator 103 to receive the coded bit signal modulated by the modulator 101 and convert the original discrete coded bit sequence into a transmission signal suitable for transmission in the channel. For example, modulator 101 may employ binary phase shift keying (Binary Phase Shift Keying, BPSK) modulation with code bits b E {0,1}, via BPSK modulation After the processing, the signal is mapped to a transmission signal x, x= -2b+1. The channel 101 may be an additive white gaussian noise (Additive White Gaussian Noise, AWGN) channel, and the output signal x may be received by the decoder after the transmission of the AWGN channel, i.e. the received signal y, y=x+n, N e N (0, σ) 2 ),N(0,σ 2 ) Is a Gaussian distribution of noise, wherein 0 is the mean value, sigma of the Gaussian distribution of noise 2 Is the variance of the gaussian distribution.
The channel 101 performs compression quantization processing on the received signal corresponding to the code bits to obtain an effective message (i.e., quantized value) in the signal, where the compression quantization is a process of representing the sampled value of the analog signal with a predetermined limited number of levels to obtain a limited number of discrete values. According to the quantized value and the probability distribution data of the original transmission signal of the coding bit, a first message is obtained through calculation and is output to the decoder 102, and the decoder controls the check node and the variable node to transmit the message to each other according to the first message and performs table query according to the transmitted message, so that the mutual iteration of the check node and the variable node is realized. And under the condition that the third message obtained by the variable node meets the preset target condition, decoding is carried out according to the third message so as to obtain the original discrete coding bit sequence through interpretation. For example, decoder 102 may be implemented as an LDPC decoder that may employ a plurality of bit nodes including Variable Nodes (VNs) and Check Nodes (CN) that construct Check equations, wherein the bit nodes may be used to generate and/or store potential code bits, and the Check nodes may perform parity checking on different combinations of content on the bit nodes using the Check equations to complete the decoding. It should be appreciated that parity checking by a check equation is well known in the art and is not described in detail herein.
The decoding system provided by the embodiment can be applied to optimizing scenes of decoding algorithms of solid-state storage equipment. For example, a solid state disk memory chip (such as a Flash memory chip) generally adopts an error checking and correcting (Error Correcting Code, ECC) engine to implement LDPC code operation, so that the ECC engine can decode the LDPC code on the received information based on the decoding system provided by the embodiment of the application, the decoding efficiency is high, and the decoding performance of the solid state disk is improved.
It should be understood that the solid-state storage device provided in the embodiments of the present application may be applied to a server, through which storage services such as cloud storage and data centers are provided, and accordingly, the decoding system provided in the embodiments may improve the quality of service in these application scenarios by improving the performance of the solid-state storage device.
Fig. 2 is a flow chart illustrating a decoding method according to an embodiment of the present application. As shown in fig. 2, the decoding method includes S21 to S25:
s21, acquiring a first message, wherein the first message comprises first probability distribution data of coding bits;
s22, according to the first message, table inquiry is carried out on the check node to obtain a second message, wherein the second message comprises second probability distribution data of the first probability distribution data;
S23, transmitting a second message from the check node to the variable node;
s24, according to the second message, table query is carried out on the variable nodes to obtain a third message, wherein the third message comprises third probability distribution data of the second probability distribution data;
s25, when the third message meets the preset target condition, decoding calculation is carried out on the coding bits according to the third message, and a decoding result is obtained.
In the decoding method provided by the embodiment of the application, a first message is acquired, wherein the first message comprises first probability distribution data of coding bits; and carrying out table query on the check node according to the first message to obtain a second message, wherein the second message comprises second probability distribution data of the first probability distribution data, and obtaining the message output by the check node in a table look-up mode, so that the operation complexity of the check node can be reduced when the check node is updated, and the decoding efficiency is improved. And transmitting the obtained second message to the variable node, and carrying out table query on the variable node according to the second message to obtain a third message, wherein the third message comprises third probability distribution data of the second probability distribution data. Therefore, the operation complexity of updating the variable nodes is reduced when the variable nodes are updated based on a table look-up mode; if the obtained third message meets the preset target condition, the coding bit can be decoded according to the message to obtain a decoding result. Therefore, the embodiment of the application can determine the output information of each node by inquiring the table of the check node and the variable node so as to finish the updating of the node, and compared with the traditional calculation method, the method reduces the operation complexity and is beneficial to improving the decoding efficiency.
In the embodiment of the present application, the received signal received in the decoder is obtained by modulating discrete code bits sent by the source and transmitting the modulated discrete code bits through an AWGN channel. For example, the codeword sequence of the code bits is { x 1 ,x 2 ,x 3 ,x 4 ,x 5 ,x 6 And decoding the check matrix constructed by the channel code word sequence to decode the correct sequence of the discrete code bits. And in the process of decoding the received signal, information is transmitted back and forth between the variable node and the check node, and updating iteration of the variable node and the check node is completed. The iterative process of the variable node and the check node can be the probability density evolution process of the transmitted message, and the judgment of the code word corresponding to the received information is realized through the probability density evolution of the transmitted message, so that the decoding of the signal is completed.
To improve decoding performance, the probability density of messages communicated between variable nodes and check nodes may be determined by finding a mutual message maximum, where a mutual message is the amount of information in one variable that contains another variable, such as the amount of information in the quantized value of the received signal that contains encoded bits.
In this embodiment, in the process of updating and iterating the variable node and the check node, the variable node obtains the initial probability density data related to the coded bits output by the channel, and forms a corresponding quantization message and transmits the quantization message to the check node for iterating. Specifically, the step S21 of acquiring the first message may specifically include steps S211 to S213:
S211, setting first joint probability distribution data of the code bits and quantization bases of the code bits, wherein the first joint probability distribution data is used for setting probability distribution obeyed after the code bits are output through a channel;
s212, according to a preset algorithm, calculating the first joint probability distribution data and the quantization base to obtain first probability distribution data of corresponding coding bits;
s213 determines the first probability distribution data as the first message.
In a specific example, S21 may use an information bottleneck algorithm (information-bottleneck method, IB) hereinafter simply referred to as "IB algorithm", and use mutual information as a metric to perform compression quantization processing and node update on a signal received by a decoder, where the node update using the IB algorithm performs quantization processing on a message transmitted in an iterative process of checking node or variable node update.
The IB algorithm is a general information theory framework, and uses mutual information as a measure to compress and quantize data. For example, if the transmission signal X of the code bit is taken as the related variable X, X e X, the received signal y is subjected to data compression quantization by an IB algorithm, and the effective information in y is extracted. In this embodiment, the received signal Y is taken as an observation variable Y as an example, and Y e Y is compressed to obtain a quantized value T. The IB algorithm achieves two goals, one is to minimize the mutual message I (T; Y) and one is to maximize the mutual message I (T, X), i.e. to keep the quantized value T as much as possible with respect to the amount of information of the transmitted signal X.
The transmitted signal X is correlated with the received signal Y, so that the joint probability density of the two can be denoted as p (X, Y), and the variable T is compressed by the variable Y, i.e. forms a Markov chain of x→y→t as shown in fig. 3. In some examples, the joint probability density p (x, y) of the transmit signal x and the receive signal y may be expressed as the following equation (1):
referring to FIG. 3, the compression relationship between the variable Y and the variable T can be described as a deterministic mapping of Y to T, and can be expressed as a conditional probability distribution p (t|y), T ε T between Y and T. The cardinality |T of the T-valued space can be fixed for ease of solutionI, as quantization of 4-bit received signal, radix |t|=2 4 =16, so as to achieve an optimization of the mutual message I (T, X), i.e. finding a deterministic map p (t|y) that can maximize the mutual message I (T, X) given the base |t|.
Thus, in order to facilitate implementation of quantization, it is necessary to give one observation variable y, finding the unique compression variable t corresponding thereto. Referring to the IB algorithm quantization process shown in fig. 4, in S211, first joint probability distribution data p (x, y) of the received signal and the transmitted signal is constructed, and a quantization base |t| of the received signal is set. In S212, the first joint probability distribution data p (X, y) is integrated by IB algorithm based on the requirement of maximizing the mutual information I (T, X) to obtain corresponding discretized joint distribution With a fixed base |T| and +.>The IB algorithm operation is performed as data, and the corresponding conditional probability distribution data p (t|y) and first probability distribution p (x, t) can be output.
In this embodiment, the conditional probability distribution data p (t|y) is used as a channel quantization constraint condition to characterize a mapping relationship between the received signal and the quantized value when the mutual message is maximized, where the mutual message is an information amount of the quantized value including the encoded bit transmission signal. In this embodiment, the first probability distribution p (x, t) is used as initial channel probability density data acquired by the variable node, and participates in the iteration of the variable node and the check node. The first probability distribution p (x, t) is a joint probability distribution to which the transmitted signal x of the coded bits before transmission via the channel and the quantized values t after transmission and compression via the channel obey.
For the sake of unification of the following labels, the above-mentioned conditional probability distribution data p (t|y) based on the channel (channel) output can be written as p (t) ch Y), the first probability distribution p (x, t) based on channel (channel) output can be denoted as p (x, t) ch ). And p (x, t may be set forth in order to facilitate the following description ch ) Re-written as p (x, y) ch ) It should be understood that the number of the nodes,y ch represented are quantized values of the received signal, i.e., first probability distribution data, corresponding to the coded bits.
In this embodiment, in S213, the variable node acquires the first probability distribution data and may transmit the first probability distribution data to the check node, so that the first probability distribution data transmitted from the variable nodes adjacent to the check node are determined as the first message.
In the mutual iterative process of the variable nodes and the check nodes, the messages of the variable nodes are sent to the corresponding check nodes, or the messages of the check nodes are sent to the corresponding variable nodes, the check nodes or the messages received by the variable nodes are determined according to the degree of the check nodes, for example, a check node with a degree of 7, the received first message contains first probability distribution data transmitted by a plurality of adjacent variable nodes, and the first probability distribution data, namely, the quantized messages output by the variable nodes, can be expressed asIn this embodiment, the value of the check node degree or the variable node degree may be determined according to a regular LDPC code.
In this embodiment, the number of the first probability distribution data included in the first message transmitted from the variable node to the check node is determined according to the degree of the check node. After the check node receives the first message, through step S22, iteration may be performed according to the first message in a form query manner, so as to obtain a corresponding second message. In the process of inquiring the table, the table is preset first, and corresponding output data is searched in the preset table according to the input data of the variable nodes or the check nodes. In the embodiment of the application, the input data and the output data of the variable nodes and the check nodes are also subjected to joint probability distribution determined by the IB algorithm, so that the operation complexity of updating and iterating the variable nodes and the check nodes is reduced while the decoding performance is ensured.
In a specific example, the decoder has a preset signal-to-noise ratio in an initialized state, and the initial iteration number iter=0; the value d of the check node degree can be determined by a regular LDPC code c And value d of variable node degree v . Check node degree is the number of edges associated with check node CN, and variable node degree is the number of edges associated with variable node VN.
It should be understood that in the decoder, the check nodes and variable nodes may construct a check matrix, where the check matrix is a matrix containing "0" and "1" elements, and may be represented by a Tanner graph, where check nodes and variable nodes corresponding to non-0 "elements in rows and columns in the check matrix may be interconnected by edges, and there may not be direct edge connection between the same kind of nodes. Check matrixes and interconnection relations which can be constructed by the check nodes and the variable nodes are mature technologies in the field, and are not repeated here.
In order to reduce the operation complexity of the check node iteration and ensure the reliability of the check node iteration in a table query mode, in the embodiment of the present application, a link formed by connecting target check nodes in series according to the degree distribution of the check nodes may be formed, based on the link, at least one forward algorithm table query and at least one backward algorithm table query are performed on the check nodes according to a first preset table, so as to obtain intermediate data and external output data of each target check node, where data transmitted to variable nodes may be obtained according to the external output data.
In a specific embodiment, the second message may include a plurality of second quantized messages, and S22 may include S221 to S224 in particular:
s221, inquiring a first probability distribution data forward algorithm table at the check node according to a first preset table to obtain first forward probability distribution data of the first probability distribution data;
s222, according to a first preset table, carrying out backward algorithm table query on the first probability distribution data at the check node to obtain first backward probability distribution data of the first probability distribution data;
s223, determining second probability distribution data according to the first forward probability distribution data and the first backward probability distribution data;
s224 forms a second message according to the second probability distribution data.
In this embodiment, the method of inquiring the check node Forward algorithm table and the Backward algorithm table according to the first preset table is a method of inquiring the table according to a Forward-Backward (FB) algorithm. Wherein the first preset table is a two-input lookup table, one output data is determined by the two input data, and in the same table, the two input data and the corresponding output data obey the same joint probability distribution
In this embodiment, the variable node receives the initial probability density data output by the channel, that is, the first probability distribution data, completes initialization update, and sends the first probability distribution data as a first message to the check node associated therewith. The check node receives the first message transmitted from the adjacent variable node, which can be expressed asi=0,1,…,d c -1, i represents an edge of the check node. First message->Obeying a joint probability distribution p (x, y) v2c ) X is the above-mentioned transmission signal, y v2c To represent messages sent from variable nodes to check nodes. For ease of presentation +.>The joint probability distribution can be uniformly expressed as +.> Is->Corresponding to the encoded bits.
When the check node is updated, S221 is executed, where the first message is used as input data according to the received first message, and the forward algorithm table is queried according to the mapping relationship between the input data and the output data configured in the first preset table, so as to obtain the external output data of the check node, that is, the first forward probability distribution data. And S222, according to the first message, carrying out backward algorithm table query on the check nodes according to a first preset table to obtain first backward probability distribution data. In this embodiment, the message transmitted from each edge of the check node may generate an external output data through table lookup, where the forward algorithm table query and the backward algorithm table query may generate the external output data corresponding to at least two edges. In S223 to S224, the external output data of the check node may be used to form a second message, and transmitted to the variable node. Because the same table is used for carrying out one forward lookup table and one backward lookup table, redundant lookup table operation is not needed in the middle, repeated lookup table on any side can be avoided, and the calculation complexity of the check node is effectively reduced.
In a specific embodiment, the first probability distribution data in the first message may include a plurality of first probability distribution data, and the first forward probability distribution data obtained in S221 may include first intermediate data and first output data. S221 may specifically include S2211 to S2213:
s2211 forms a first link connected in series by a plurality of target-scale check nodes according to the degree distribution of the check nodes.
According to the degrees of the check nodes, the check nodes with one degree can be split into links with a plurality of check nodes with target degrees connected in series.
D is set as c For example, =7, a check node of 7 degrees may be split into 5 first links of a target degree check node concatenation of 3 degrees, as shown in fig. 5. The target degree check nodes are check nodes of target degrees which are obtained after the check nodes of certain height are split.
The plurality of destination calibration nodes in the first link include a head end calibration node, an intermediate calibration node, and a tail end calibration node. As shown in fig. 5, the head end check node, the intermediate check node, and the end check node are sequentially connected in series in the order from left to right, and there may be a plurality of intermediate check nodes, that is, nodes located between the head end check node and the end check node.
S2212 respectively inputs the plurality of first probability distribution data into the plurality of objective degree check nodes correspondingly.
In the first message, a plurality of first probability distribution data are transmitted from variable nodes adjacent to the check nodes respectively, and the plurality of first probability distribution data are correspondingly input into a plurality of target check nodes on the first link according to the corresponding relation of edges.
S2213, according to a first preset table, a forward algorithm table is inquired for the first link to obtain first intermediate data and first external output data corresponding to a plurality of target degree check nodes.
Referring to FIG. 5, the first message received by the check node from 7 edges includes Each message obeys the same probability density distribution. According to the forward algorithm table query mode, the input data of each intermediate check node in the first link includes the corresponding first probability distribution data, and further includes a forward message (i.e., first intermediate data) of the previous node->F is the forward operation identification. Then after forward algorithm table query is performed sequentially from left to right, a forward message +.>The first probability distribution data corresponding to the intermediate check node is thatAnd the input data of the head end check node of the first link is first probability distribution data +. >End target degree check node inputThe input data is first probability distribution data +.>The output data of the end target degree check node is the first external output data +>Where "c2v" is an identification used to represent the transmission from the check node to the variable node.
Specifically, S2213 may include:
according to first probability distribution data corresponding to the head-end check nodes, carrying out forward algorithm table query according to a first preset table to obtain first intermediate data of the head-end check nodes;
according to first intermediate data of the head-end check node and first probability distribution data corresponding to intermediate check nodes adjacent to the head-end check node, performing forward algorithm table query according to a first preset table to obtain first intermediate data corresponding to the intermediate check nodes;
and according to first intermediate data of intermediate check nodes adjacent to the end check nodes and first probability distribution data corresponding to the end check nodes, carrying out forward algorithm table query according to a first preset table to obtain first external output data corresponding to the end check nodes.
Referring to FIG. 5, first of allAnd->As the first probability distribution data corresponding to the head-end check node in the link, the corresponding output value, namely the first intermediate data ∈of the head-end check node, can be found based on the first preset table > Then from left to right, first intermediate data of the head-end check node +.>And first probability distribution data corresponding to intermediate check nodes adjacent to the head-end check node +.>Performing forward table query to obtain first intermediate data of intermediate check nodes adjacent to the head end check node>Sequentially looking up the table to the right, and finding out the first intermediate data +.>i=1, 2,3. Finally the first intermediate data of the intermediate check node adjacent to the end check node is +.>And first probability distribution data corresponding to the end check node +.>Performing forward lookup to obtain first external output data corresponding to the end check node> In the first link of the series, the relation between the two input data and the output data in the first preset table can be expressed as a function +.>Indicating i=1, 2,3 … d c -3. Function->In a first preset table, for the joint probability distribution function determined by IB algorithm, function +.>Wherein u, v denote the two input variables of the function, respectively, e.g. +.>
Illustratively, in configuring the first preset table, first probability distribution dataAnd corresponding code bit->Is +.>i=0,1,…,d c -1, obeying the same joint probability distribution. If the function in the first preset table +. >Is>The corresponding code bit is +.>Function->Output value +.>The corresponding code bit is +.>Then for a check node of degree 3, the code bits corresponding to the input data and output message must satisfy the check relation, i.e. for the function +.>Satisfy->Thus, it is possible to input a message->The joint probability distribution of (a) is:
in equation (2), a message is inputTo combine messages, there is a quantization base |T| 2 The value of > |T|. In order to keep the event space size of the message generated based on the forward and backward table lookup and IB algorithm (hereinafter abbreviated as "FB-IB" algorithm) unchanged, the IB algorithm may be used to combine the message +.>Compressed into->In the construction of the first preset table, the above-mentioned joint probability distribution +.>And the quantization base |T| is the input data of IB algorithm, and the output data of IB algorithm is deterministic mapping
Referring to the links in FIG. 5, a second 3-degree target degree check node is functionally represented in a first predetermined tableIs configured in a similar manner to the first degree 3 target degree check node>Input message->The corresponding joint probability distribution is +.>And->The specific calculation formula is similar to formula (2).
And by analogy, the related data of other target degree check nodes in the first preset table are configured, so that the forward table query of the check nodes can be performed based on the first preset table, the operation complexity is low, and the method is suitable for being deployed in hardware.
Correspondingly, the first backward probability distribution data obtained in S222 includes second intermediate data and second external output data, and S222 may specifically include S2221 to S2222:
s2221 respectively and correspondingly inputs a plurality of first probability distribution data into a plurality of target degree check nodes;
s2222 queries the backward algorithm table of the first link according to the first preset table to obtain second intermediate data and second external output data corresponding to the plurality of target degree check nodes.
And based on the same first link, carrying out backward algorithm table query on a plurality of target degree check nodes on the first link to obtain second intermediate data and second external output data.
Referring to FIG. 6, the first message received by the check node from 7 edges includes Each message obeys the same probability density distribution. According to the backward algorithm table query mode, the input of each intermediate check node in the first link comprises corresponding first probability distribution data and backward information +_of the next node>B is a backward operation identifier. Then the backward algorithm table is queried from right to left to obtain the backward message +.>The first probability distribution data corresponding to the intermediate check node is +. > And the input data of the head end check node of the first link is first probability distribution data +.>The input data of the end check node is the first probability distribution data +.>And->The second external output data of the head-end check node is +.>
Referring to FIG. 6, it can be deduced that the end check node (i.e., the target check node of the first lookup table in the backward algorithm table query) in the link inputs the messageThe corresponding joint probability distribution is +.>And (3) withFirst message->The joint probability distribution with the corresponding coded bits is +.>i=0,1,…,d c -1, obeying the same distribution. />And->The deterministic map obtained as an input to the IB algorithm isThus, for the tables used in the forward and backward table query process of the check node,/for the tables used in the forward and backward table query process of the check node>Is a function->
From the above analysis, it can be seen that, for both forward algorithm table query and backward algorithm table query of the check node of degree 3, the generated intermediate results satisfy the probability symmetry,i.e.i=1, 2,3, the joint probability distribution is the same. Therefore, the forward lookup table and the backward lookup table of the check node can multiplex the same set of first preset tables.
In the backward table look-up decoding process of the check node, the second intermediate data sequentially obtained from right to left are The second external output data is +.>First->Then look up the table from right to left in turn, can find out the correspondent output value of check node of every goal degree in turn +.>i=1, 2,3. Finally second external output data->
In this embodiment, after S222, the method may further include:
according to a second preset table, performing table query on first intermediate data and/or second intermediate data of intermediate check nodes in the first link to obtain first intermediate probability distribution data corresponding to the intermediate check nodes;
correspondingly, S223 may include:
the first outer output data, the second outer output data and the first intermediate probability distribution data are used as second probability distribution data to form a second message.
Referring to FIG. 7, still taking the first link in series constructed by the target degree check node of degree 3 as an example, the 0 th and 6 th edges have generated extrinsic informationAnd->The external information only needs to be generated for the remaining edges. The specific calculation is as follows:
wherein,and->Can use some second preset tables +.>Look-up table, and external information-> The calculation of (2) requires other second preset table look-up. It should be understood that the second preset table herein is one or more preset tables different from the first preset table, and the plurality of preset tables may be different.
For functions of other second preset tablesIts joint probability distribution is +.>And->And symmetry of probability distribution of messages, combining messages +.>And->The function of the same preset table can be multiplexed +.>
In the present embodiment, for degree d c When the first intermediate probability distribution data of the intermediate check nodes are generated, the number of the additionally required second preset tables is that(d c Gtoreq.3), wherein>Representing an upward rounding. />
Determining the function of the second preset table through FB-IB algorithmThen, will be transportedTo generate corresponding joint probability distributionThe p (x, y) c2v ) An input message for the variable node iteration may also be formed.
It can be understood that the external message obtained in the first link may be first external output data, second external output data, and first intermediate probability distribution data, where each probability distribution data is used as second probability distribution data, as shown in fig. 5, 6, and 7, where 7 corresponding second probability distribution data may be obtained and sent to adjacent variable nodes.
From the above, check nodes based on forward and backward algorithm form query, the required number of table look-up is 3 (d c -2) while if the IB algorithm operation is based on a conventional check matrix (non-tandem link structure), one degree d c D is required for the check node of (2) c (d c -2) look-up operations. Therefore, by the method of the embodiment of the application, the table look-up number of the check node in updating can be reduced from the square magnitude of the degrees to the linear magnitude. Obviously, the larger the check node degree is, the more considerable the number of table look-up times is reduced, so that the decoding scene of the high-code-rate LDPC code can be decoded, and the decoding efficiency can be greatly improved.
In some embodiments, the output message after the iteration is updated to the check node, that is, the second message includes second probability distribution data corresponding to a plurality of target degree variable nodes, that is, the variable nodes receive the second probability distribution data sent by the adjacent check node, and the variable nodes iterate according to the second message, and may perform forward algorithm table query and backward algorithm table query, so as to obtain a third message.
In this embodiment, S24 may specifically include S241 to S244:
s241, according to a third preset table, carrying out forward algorithm table query on the second probability distribution data at the variable nodes to obtain second forward probability distribution data of the second probability distribution data;
s242, according to a third preset table, carrying out backward algorithm table query on the second probability distribution data at the variable nodes to obtain second backward probability distribution data of the second probability distribution data;
S243 determines third probability distribution data according to the second forward probability distribution data and the second backward probability distribution data;
s244 forms a third message according to the third probability distribution data.
In this embodiment, the manner of querying the variable node Forward algorithm table and the manner of querying the Backward algorithm table according to the third preset table is also a manner of querying the table of the third preset table based on a Forward-Backward (FB) algorithm. The third preset table is also a two-input lookup table, one output data is determined through the two input data, and in the same table, the two input data and the corresponding output data obey the same joint probability distribution.
And when the variable node is updated, executing S241, and according to the received second message, taking the second message as input data, and according to the mapping relation between the input data and the output data configured in the third preset table, performing forward algorithm table query to obtain the external output data of the variable node, namely second forward probability distribution data. And through S242, according to the second message, carrying out backward algorithm table query on the variable nodes according to a third preset table to obtain second backward probability distribution data. In this embodiment, each edge of the variable node generates an external output data, and the forward lookup table and the backward lookup table may correspond to at least two edges to generate the external output data, and in S243-S244, the external output data of the variable node is used as third probability distribution data, and may form a third message, and be sent to the check node or used for decoding calculation. Because the forward lookup table and the backward lookup table are performed once based on the same table, redundant lookup table operation is not needed in the middle, so that repeated lookup table on any one edge can be avoided, and the calculation complexity of the variable node is effectively reduced.
In a specific embodiment, the second message includes second probability distribution data corresponding to a plurality of destination degree variable nodes, the plurality of data, the second forward probability distribution data including third intermediate data and third outer output data. S241 may specifically include S2411 to S2413:
s2411 forms a second link connected in series by a plurality of destination variable nodes according to the degree distribution of the variable nodes.
S2412 respectively inputting a plurality of second probability distribution data into a plurality of target degree variable nodes correspondingly;
s2413, according to a third preset table, performing forward algorithm table query on the second link to obtain third intermediate data and third external output data corresponding to the multiple target degree variable nodes.
Referring to fig. 8, a variable node of one degree 5 is split into a second link of 4 degrees 3, and a plurality of target degree variable nodes in the link include a head-end variable node, an intermediate variable node and a variable check node. The second message received by the variable node from the check node isEach message is a joint probability distribution p (x, y c2v ) Is included in the quantized value of (2). The variable node also comprises the first probability distribution data corresponding to the received signal output by the channel, namely the message output by the channel +. > Is p (x, y) ch ). In the forward algorithm table query manner, referring to the second link shown in fig. 8, the input data of each objective degree variable node may further include a forward message +.>F is the forward operation identification. Then after a sequential forward algorithm form query from left to right, a forward message is obtained>The second probability distribution data corresponding to the intermediate variable node is +.>And the input data of the intermediate variable node closest to the middle part of the link in the second link is the message outputted by the channel>The input data of the head-end variable node of the second link comprises +.>And->The input data of the end variable node comprises +.>And the output data is fourth external output data +.>Where "v2c" is an identification used to represent the transmission from the variable node to the check node.
Specifically, S2413 may include:
according to the second probability distribution data corresponding to the head-end variable nodes, carrying out forward algorithm table query according to a third preset table to obtain third intermediate data of the head-end variable nodes;
according to third intermediate data of the head-end variable nodes and second probability distribution data and/or first probability distribution data corresponding to intermediate variable nodes adjacent to the head-end variable nodes, carrying out forward algorithm table query according to a third preset table to obtain third intermediate data corresponding to the intermediate variable nodes;
And according to third intermediate data of intermediate variable nodes adjacent to the end variable nodes and second probability distribution data corresponding to the end variable nodes, carrying out forward algorithm table query according to a third preset table to obtain third external output data corresponding to the end variable nodes.
As shown in reference to figure 8 of the drawings,firstAnd->As the second probability distribution data corresponding to the head-end variable node in the second link, the corresponding output value, that is, the second intermediate data +_ of the head-end variable node can be found based on the third preset table> Then from left to right, second intermediate data of the head-end variable node +.>And messages corresponding to intermediate variable nodes adjacent to the head-end variable node +.>Performing forward table query to obtain second intermediate data of intermediate variable nodes adjacent to the head-end variable node>Sequentially looking up the table to the right, and finding out the first intermediate data +.>i=1, 2,3. Finally second intermediate data of intermediate variable nodes adjacent to the end variable node +.>And second probability distribution data corresponding to end variable nodes +.>Forward looking up the table to obtain the terminal changeThird external output data corresponding to quantity node +. >
Wherein due toSecond probability distribution data from check node +.>The probability distributions of (2) are not identical, so if +.>If the placement position is not reasonable, the front-back operation of the variable nodes cannot multiplex the same set of tables. Thus, in the embodiments of the present application, +.>As an external input to a node closest to a middle position in the second link, so that the probability distribution of quantized messages generated in the forward and backward processes has symmetry. For even number of variable nodes, only +.>As the side in the middle, i.e. (d) v And/2) inputting data of the edges.
For the odd number of degrees variable nodes,the setting method of (1) comprises the following steps: during forward algorithm table lookup, +.>As ((d) v -1)/2) inputs on the sides; whereas during the backward algorithm table query +.>As ((d) v +1)/2) inputs on the sides. Fig. 8 shows a schematic diagram of forward algorithm table query performed by a second link corresponding to a variable node with a degree of 5, and fig. 9 shows a schematic diagram of backward algorithm table query performed by a second link corresponding to a variable node with a degree of 5, where the comparison can be obtained, and in the forward and backward table query process, the distribution of the input message is symmetrical, so that the same set of tables can be reused.
It should be understood that the principle of the variable node performing the forward algorithm table query based on the third preset table is similar to the principle of the check node performing the forward algorithm table query described above, and will not be repeated herein.
In this embodiment of the present application, the second backward probability distribution data obtained in S242 includes fourth intermediate data and fourth external output data, and S242 may specifically include S2421 to S2422 based on a principle similar to that of the backward algorithm table query performed by the check node:
s2421, respectively inputting a plurality of second probability distribution data into a plurality of target degree variable nodes correspondingly;
s2422, according to the third preset table, performing backward algorithm table query on the second link to obtain fourth intermediate data and fourth external output data corresponding to the plurality of target degree variable nodes.
In the embodiment of the application, when the variable node is queried in the backward algorithm table, the variable node receives the message from the check node as followsQuantized message from channel on variable node is +.>
The backward algorithm table query of the variable node may refer to the example shown in fig. 9, and the backward algorithm table query is performed according to the third preset table to obtain the external output dataSpecifically, S2422 may include:
according to the second probability distribution data corresponding to the end variable nodes, carrying out backward algorithm table query according to a third preset table to obtain four intermediate data of the end variable nodes;
According to fourth intermediate data of the end variable nodes and second probability distribution data and/or first probability distribution data corresponding to intermediate variable nodes adjacent to the end variable nodes, performing backward algorithm table query according to a third preset table to obtain fourth intermediate data corresponding to the intermediate variable nodes;
and according to fourth intermediate data of intermediate variable nodes adjacent to the head-end variable node and second probability distribution data corresponding to the head-end variable node, carrying out backward algorithm table query according to a third preset table to obtain fourth external output data corresponding to the head-end variable node.
It should be understood that the principle of the variable node performing the backward algorithm table query based on the third preset table is similar to the principle of the check node performing the backward algorithm table query described above, and will not be described herein. The principle of performing table lookup calculation on the external output data of the intermediate variable node in the second link by the variable node based on the fourth preset table is similar to the principle of performing table lookup calculation on the external output data of the intermediate check node by the check node based on the second preset table, and is not repeated here.
And after obtaining the third external output data, the fourth external output data and the external output data of the intermediate variable node, taking the third external output data, the fourth external output data and the external output data of the intermediate variable node as third probability distribution data to form a third message.
In the embodiment of the application, the degree d calculated based on the forward and backward look-up tables v The number of table look-up required for the variable node is 3 (d v -1) the number of look-up tables required for additional intermediate variable nodes is [ (d) v -4)/2]. Therefore, by the method of the embodiment of the application, the table look-up number of the variable nodes in updating can be reduced from the square magnitude of the degrees to the linear magnitude. Obviously, the larger the variable node degree is, the more considerable the number of table look-ups is reduced, so that the high-code rate LDPC code can be decoded,greatly improves the decoding efficiency.
In this embodiment of the present application, after the variable node obtains the third message, in S25, hard decision may be performed based on the third message according to whether the third message meets a preset target condition. In a specific embodiment, S25 may include:
if the iteration number corresponding to the third message exceeds the preset maximum iteration number, ending the iteration;
and carrying out decoding calculation by using third probability distribution data included in the third message, and determining a decoding result according to the calculation result if the obtained calculation result is 0 or 1.
In a specific example, the highest bit of the third probability distribution data in the third message is taken and exclusive-ored with the check matrix, and the obtained result is used for judging whether decoding is finished or whether original data is obtained. For example, if the exclusive or operation is all 0, the code bit is the correct original data, if the exclusive or operation is not 0, the code bit is the incorrect original data, and if the code bit is the incorrect original data, the iteration operation can be selected to be continued, or the termination operation can be selected to be ended.
In this embodiment, if the third message does not meet the preset target condition, the method may further include:
s26, when the third message does not meet the preset target condition, taking the third message as input data of a check node, and inquiring a table at the check node to obtain an updated second message;
s27, transmitting the updated second message from the check node to the variable node;
s28, according to the updated second message, table inquiry is carried out on the variable node, and an updated third message is obtained;
and S29, decoding the received signal according to the updated third message to obtain a decoding result when the updated third message meets the preset target condition.
And when the third message does not meet the preset target condition, the third message is used as input data of the check node, the check node is iterated, and the updated second message is obtained. And sending the second message to the variable node for iteration to obtain an updated third message, and judging the third message again until the message obtained by the variable node for iteration meets the preset target condition to obtain a decoding result.
In this embodiment of the present application, the preset target condition may be greater than or equal to a preset maximum iteration number, that is, iter is greater than or equal to max_iter, but is not limited thereto, and the preset target condition may also be a threshold value of an external output message (such as a third message) of the variable node.
In the embodiment of the application, the table query based on the forward and backward algorithm and the table configuration of the IB algorithm can greatly reduce the operation complexity of the variable nodes and the check nodes in the decoding process, avoid repeated table lookup times, and improve the decoding efficiency while ensuring the decoding performance.
The decoding method according to the embodiment of the present application is described in detail above with reference to fig. 2 to 9, and the decoding apparatus according to the embodiment of the present application will be described in detail below with reference to fig. 7.
As shown in fig. 10, the decoding apparatus 1000 includes:
a first obtaining module 1001, configured to obtain a first message, where the first message includes first probability distribution data of coded bits;
a second query module 1002, configured to perform a table query at the check node according to the first message to obtain a second message, where the second message includes second probability distribution data of the first probability distribution data;
a first transmission module 1003, configured to transmit the second message from the check node to the variable node;
a second query module 1004, configured to perform a table query at the variable node according to the second message to obtain a third message, where the third message includes third probability distribution data of the second probability distribution data;
And a decoding module 1005, configured to perform decoding calculation on the encoded bits according to the third message when the third message meets the preset target condition, to obtain a decoding result.
The device in the embodiment of the application acquires a first message, wherein the first message comprises first probability distribution data of coding bits; and carrying out table query on the check node according to the first message to obtain a second message, wherein the second message comprises second probability distribution data of the first probability distribution data, and obtaining the message output by the check node in a table look-up mode, so that the operation complexity of the check node can be reduced when the check node is updated, and the decoding efficiency is improved. And transmitting the obtained second message to the variable node, and carrying out table query on the variable node according to the second message to obtain a third message, wherein the third message comprises third probability distribution data of the second probability distribution data. Therefore, the operation complexity of updating the variable nodes is reduced when the variable nodes are updated based on a table look-up mode; if the obtained third message meets the preset target condition, the coding bit can be decoded according to the message to obtain a decoding result. Therefore, the embodiment of the application can determine the output information of each node by inquiring the table of the check node and the variable node so as to finish the updating of the node, and compared with the traditional calculation method, the method reduces the operation complexity and is beneficial to improving the decoding efficiency.
In one embodiment, the first message includes a plurality of first quantized messages, and the first obtaining module specifically includes:
the setting submodule is used for setting first joint probability distribution data of the coding bits and quantization base numbers of the coding bits, and the first joint probability distribution data is used for setting probability distribution obeyed after the coding bits are output through a channel;
the first operation sub-module is used for operating the first joint probability distribution data and the quantization base according to a preset algorithm to obtain first probability distribution data of the coding bits;
and the first determining submodule is used for determining the first probability distribution data as a first message.
In this embodiment, the first probability distribution data is a quantized value of the code bit when the probability distribution satisfies a predetermined condition,
the method comprises the steps of obtaining a mutual message, wherein the mutual message is a quantized value of the coding bit, and the mutual message is the information quantity of the coding bit contained in the quantized value.
In one embodiment, the first query module may include:
the first query sub-module is used for performing forward algorithm table query on the first probability distribution data at the check node according to a first preset table to obtain first forward probability distribution data of the first probability distribution data;
The second query sub-module is used for performing backward algorithm table query on the first probability distribution data at the check node according to a first preset table to obtain first backward probability distribution data of the first probability distribution data;
the second determining submodule is used for determining second probability distribution data according to the first forward probability distribution data and the first backward probability distribution data;
the first forming sub-module is used for forming a second message according to the second probability distribution data.
In one embodiment, the first probability distribution data includes a plurality of first intermediate data and first output data, and the first query submodule includes:
the first forming unit is used for forming a first link connected in series by a plurality of target calibration nodes according to the degree distribution of the calibration nodes;
the first input unit is used for respectively inputting a plurality of first probability distribution data into a plurality of target degree check nodes correspondingly;
and the first query unit is used for performing forward algorithm table query on the first link according to a first preset table to obtain first intermediate data and first external output data corresponding to the plurality of target degree check nodes.
In one embodiment, the plurality of destination check nodes in the first link include a head end check node, an intermediate check node, and a tail end check node, and the first query unit may include:
The first query subunit is configured to perform forward algorithm table query according to the first probability distribution data corresponding to the head-end check node and the first preset table, so as to obtain first intermediate data of the head-end check node;
the second query subunit is configured to perform forward algorithm table query according to a first preset table according to first intermediate data of the head end check node and first probability distribution data corresponding to an intermediate check node adjacent to the head end check node, so as to obtain first intermediate data corresponding to the intermediate check node;
and the third query subunit is used for performing forward algorithm table query according to the first intermediate data of the intermediate check nodes adjacent to the end check nodes and the first probability distribution data corresponding to the end check nodes and a first preset table to obtain first external output data corresponding to the end check nodes.
In one embodiment, the first backward probability distribution data includes second intermediate data and second external output data, and the second query sub-module may specifically include:
the second input unit is used for respectively inputting a plurality of first probability distribution data values into a plurality of target calibration nodes correspondingly;
and the second query unit is used for performing backward algorithm table query on the first link according to the first preset table to obtain second intermediate data and second external output data corresponding to the plurality of target degree check nodes.
In one embodiment, the second query unit may include:
the fourth query subunit is configured to query the backward algorithm table according to the first probability distribution data corresponding to the end check node and the first preset table, so as to obtain second intermediate data of the end check node;
a fifth query subunit, configured to perform a backward algorithm table query according to the second intermediate data of the end check node and the first probability distribution data corresponding to the intermediate check node adjacent to the end check node, and obtain second intermediate data corresponding to the intermediate check node;
and the sixth query subunit is configured to query the backward algorithm table according to the first preset table and according to second intermediate data of an intermediate check node adjacent to the head end check node and the first probability distribution data corresponding to the head end check node, so as to obtain second external output data corresponding to the head end check node.
In one embodiment, the first query module may further include:
the third query sub-module is used for carrying out table query on the first intermediate data and/or the second intermediate data of the intermediate check nodes in the first link according to a second preset table to obtain first intermediate probability distribution data corresponding to the intermediate check nodes;
The second determination submodule may be specifically configured to:
the first outer output data, the second outer output data, and the first intermediate probability distribution data are determined as third probability distribution data.
In one embodiment, the second query module may include:
the fourth query sub-module is used for performing forward algorithm table query on the second probability distribution data at the variable nodes according to a third preset table to obtain second forward probability distribution data of the second probability distribution data;
a fifth query sub-module, configured to query the second probability distribution data in a backward algorithm table at the variable node according to a third preset table, to obtain second backward probability distribution data of the second probability distribution data;
a third determining sub-module, configured to determine third probability distribution data according to the second forward probability distribution data and the second backward probability distribution data;
and the second forming submodule is used for forming a third message according to the third probability distribution data.
In one embodiment, the second message includes second probability distribution data corresponding to a plurality of target degree variable nodes, the plurality of values, the second forward probability distribution data including third intermediate data and third outer output data, and the fourth query sub-module may include:
The second forming unit is used for forming a second link which is formed by connecting a plurality of target variable nodes in series according to the degree distribution of the variable nodes;
the third input unit is used for respectively inputting a plurality of second probability distribution data into a plurality of target degree variable nodes correspondingly;
and the third query unit is used for performing forward algorithm table query on the second link according to a third preset table to obtain third intermediate data and third external output data corresponding to the plurality of target degree variable nodes.
In one embodiment, the plurality of target degree variable nodes in the second link includes a head end variable node, an intermediate variable node, and a tail end variable node, and the third query unit may include:
a seventh query subunit, configured to query the forward algorithm table according to the second probability distribution data corresponding to the head-end variable node and a third preset table, to obtain third intermediate data of the head-end variable node;
an eighth query subunit, configured to query, according to the third intermediate data of the head-end variable node and the second probability distribution data and/or the first probability distribution data corresponding to the intermediate variable node adjacent to the head-end variable node, a forward algorithm table according to a third preset table, to obtain third intermediate data corresponding to the intermediate variable node;
And the ninth query subunit is configured to perform forward algorithm table query according to a third preset table according to third intermediate data of intermediate variable nodes adjacent to the end variable node and second probability distribution data corresponding to the end variable node, so as to obtain third external output data corresponding to the end variable node.
In one embodiment, the second backward probability distribution data includes fourth intermediate data and fourth outer output data, and the fifth query sub-module may include:
the fourth input unit is used for respectively inputting a plurality of second probability distribution data into a plurality of target degree variable nodes correspondingly;
and the fourth query unit is used for performing backward algorithm table query on the second link according to the third preset table to obtain fourth intermediate data and fourth external output data corresponding to the plurality of target degree variable nodes.
In one embodiment, the fourth query unit may include:
a tenth query subunit, configured to query the backward algorithm table according to the second probability distribution data corresponding to the end variable node and the third preset table, to obtain fourth intermediate data of the end variable node;
the eleventh query subunit is configured to perform backward algorithm table query according to the third preset table according to fourth intermediate data of the end variable node and second probability distribution data and/or first probability distribution data corresponding to intermediate variable nodes adjacent to the end variable node, so as to obtain fourth intermediate data corresponding to the intermediate variable node;
And the twelfth query subunit is configured to perform backward algorithm table query according to a third preset table according to fourth intermediate data of an intermediate variable node adjacent to the head-end variable node and second probability distribution data corresponding to the head-end variable node, so as to obtain fourth external output data corresponding to the head-end variable node.
In some embodiments, the second query module may further include:
a sixth query sub-module, configured to perform table query on third intermediate data and/or fourth intermediate data of intermediate variable nodes in the second link according to a fourth preset table, to obtain second intermediate probability distribution data corresponding to the intermediate variable nodes;
the fourth determination submodule may be specifically configured to:
and determining the third and fourth outer output data and the second intermediate probability distribution data as third probability distribution data to form a third message.
In the embodiment of the application, the first preset table and the third preset table are two-input lookup tables, and one output data is determined through the two input data;
wherein the same joint probability distribution as the first message is satisfied between two input data and one output data.
It should be noted that, all relevant contents of each step related to the above method embodiment may be cited to the functional descriptions of the corresponding functional modules, and the corresponding technical effects thereof may be achieved, and for brevity description, no further description is given here.
Fig. 11 is a schematic diagram showing a hardware structure of a computer device according to an embodiment.
As shown in fig. 11, the computer device 1100 includes an input device 1101, an input interface 1102, a processor 1103, a memory 1104, an output interface 1105, and an output device 1106.
The input interface 1102, the processor 1103, the memory 1104, and the output interface 1105 are connected to each other through a bus 1110, and the input device 1101 and the output device 1106 are connected to the bus 1110 through the input interface 1102 and the output interface 1105, respectively, and further connected to other components of the computer device 1100. Specifically, the input device 1101 receives input information from the outside, and transmits the input information to the processor 1103 through the input interface 1102; the processor 1103 processes the input information based on computer executable instructions stored in the memory 1104 to generate output information, temporarily or permanently stores the output information in the memory 1104, and then transmits the output information to the output device 1106 through the output interface 1105; the output device 1106 outputs the output information to the outside of the computer device 1100 for use by a user.
In one embodiment, the computer device 1100 shown in fig. 11 may be implemented as a decoding device that may include: a memory configured to store a program; and a processor configured to run a program stored in the memory to perform the decoding method described in the above embodiment.
In one embodiment, the memory may also be used to store the target task results of the task stream and the processing results for each step in the decoding process described above in connection with fig. 1-9. As an example, the processing result includes at least: executing a logic operation instruction of the task flow and executing scheduling information of at least two operator nodes of the logic operation instruction.
According to embodiments of the present application, the processes described above with reference to flowcharts may be implemented as computer-readable storage media. For example, embodiments of the present application include a computer-readable storage medium including a program or instructions stored thereon that, when executed by a computer device, cause the computer device to perform the steps of the method described above.
According to embodiments of the present application, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present application include a computer program product comprising a computer program tangibly embodied on a machine-readable medium, the computer program comprising program code for performing the method shown in the flowchart. In such embodiments, the computer program may be downloaded and installed from a network, and/or installed from a removable storage medium.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product comprises one or more computer instructions which, when run on a computer, cause the computer to perform the methods described in the various embodiments described above. When the computer program instructions are loaded and executed on a computer, the processes or functions in accordance with embodiments of the present application are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.) means from one website, computer, server, or data center. Computer readable storage media can be any available media that can be accessed by a computer or data storage devices, such as servers, data centers, etc., that contain an integration of one or more available media. Usable media may be magnetic media (e.g., floppy disks, hard disks, magnetic tape), optical media (e.g., DVD), or semiconductor media (e.g., solid state disk), among others. .
In addition, the embodiment of the application further provides a chip, the chip includes a processor and a communication interface, the communication interface is coupled with the processor, the processor is used for running a program or an instruction, each process of the embodiment of the decoding method can be realized, the same technical effect can be achieved, and in order to avoid repetition, the description is omitted here.
It should be understood that the chips referred to in the embodiments of the present application may also be referred to as system-on-chip chips, chip systems, or system-on-chip chips, etc.
It should be clear that the present application is not limited to the particular arrangements and processes described above and illustrated in the drawings. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method processes of the present application are not limited to the specific steps described and illustrated, and those skilled in the art can make various changes, modifications, and additions, or change the order between steps, after appreciating the spirit of the present application.
The functional blocks shown in the above block diagrams may be implemented in hardware, software, firmware, or a combination thereof. When implemented in hardware, it may be, for example, an electronic circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, a plug-in, a function card, or the like. When implemented in software, the elements of the present application are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine readable medium or transmitted over transmission media or communication links by a data signal carried in a carrier wave. A "machine-readable medium" may include any medium that can store or transfer information. Examples of machine-readable media include electronic circuitry, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio Frequency (RF) links, and the like. The code segments may be downloaded via computer networks such as the internet, intranets, etc.
It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, the present application is not limited to the order of the above-described steps, that is, the steps may be performed in the order mentioned in the embodiments, may be different from the order in the embodiments, or several steps may be performed simultaneously.
Aspects of the present application are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions/acts specified in the flowchart and/or block diagram block or blocks. Such a processor may be, but is not limited to being, a general purpose processor, a special purpose processor, an application specific processor, or a field programmable logic circuit. It will also be understood that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware which performs the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In the foregoing, only the specific embodiments of the present application are described, and it will be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the systems, modules and units described above may refer to the corresponding processes in the foregoing method embodiments, which are not repeated herein. It should be understood that the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive various equivalent modifications or substitutions within the technical scope of the present application, which are intended to be included in the scope of the present application.

Claims (13)

1. A method of decoding, comprising:
acquiring a first message, wherein the first message comprises first probability distribution data of coding bits;
according to the first message, table inquiry is carried out on a check node to obtain a second message, wherein the second message comprises second probability distribution data of the first probability distribution data;
transmitting the second message from the check node to a variable node;
according to the second message, performing table query on the variable node to obtain a third message, wherein the third message comprises third probability distribution data of the second probability distribution data;
And under the condition that the third message meets the preset target condition, carrying out decoding calculation on the coding bit according to the third message to obtain a decoding result.
2. The method of claim 1, wherein the method further comprises, after the variable node performs a table query to obtain the third message according to the second message:
when the third message does not meet the preset target condition, taking the third message as input data of the check node, and carrying out table query on the check node to obtain an updated second message;
transmitting the updated second message from the check node to the variable node;
according to the updated second message, table inquiry is carried out on the variable node to obtain an updated third message;
and when the updated third message meets the preset target condition, performing decoding calculation on the coding bit according to the updated third message to obtain a decoding result.
3. The method of claim 1, wherein the obtaining the first message comprises:
setting first joint probability distribution data of the coding bits and quantization bases of the coding bits, wherein the first joint probability distribution data is used for setting probability distribution obeyed after the coding bits are output through a channel;
According to a preset algorithm, calculating the first joint probability distribution data and the quantization base to obtain first probability distribution data corresponding to the coding bits;
and determining the first probability distribution data as the first message.
4. A method according to claim 3, wherein the first probability distribution data is a quantized value of the encoded bits when a predetermined conditional probability distribution is satisfied;
the preset conditional probability distribution is used for representing a mapping relation between the coding bits and quantized values of the coding bits when a mutual message is maximized, wherein the mutual message is an information quantity containing the coding bits in the quantized values.
5. The method of claim 1, wherein the performing a table query at a check node based on the first message to obtain a second message comprises:
according to a first preset table, forward algorithm table query is carried out on the first probability distribution data at the check node, and first forward probability distribution data of the first probability distribution data are obtained;
according to the first preset table, carrying out backward algorithm table query on the first probability distribution data at the check node to obtain first backward probability distribution data of the first probability distribution data;
Determining the second probability distribution data according to the first forward probability distribution data and the first backward probability distribution data;
and forming a second message according to the second probability distribution data.
6. The method of claim 5, wherein the first probability distribution data is a plurality of, the first forward probability distribution data comprising first intermediate data and first outer output data; and according to a first preset table, performing forward algorithm table query on the first probability distribution data at the check node to obtain first forward probability distribution data of the first probability distribution data, wherein the first forward probability distribution data comprises:
forming a first link connected in series by a plurality of target-scale check nodes according to the degree distribution of the check nodes;
respectively inputting a plurality of first probability distribution data into the plurality of target calibration nodes correspondingly;
and according to a first preset table, carrying out forward algorithm table query on the first link to obtain first intermediate data and first external output data corresponding to the plurality of target-scale check nodes.
7. The method of claim 6, wherein the first backward probability distribution data includes second intermediate data and second outer output data; and according to the first preset table, performing backward algorithm table query on the first probability distribution data at the check node to obtain first probability distribution data of the first probability distribution data, including:
Respectively inputting the first probability distribution data into the target calibration nodes correspondingly;
and according to a first preset table, carrying out backward algorithm table query on the first link to obtain second intermediate data and second external output data corresponding to the plurality of target-scale check nodes.
8. The method of claim 1, wherein performing a table query at the variable node based on the second message to obtain a third message comprises:
according to a third preset table, carrying out forward algorithm table query on the second probability distribution data at the variable node to obtain second forward probability distribution data of the second probability distribution data;
according to the third preset table, carrying out backward algorithm table query on the second probability distribution data at the variable node to obtain second backward probability distribution data of the second probability distribution data;
determining the third probability distribution data according to the second forward probability distribution data and the second backward probability distribution data;
and forming the third message according to the third probability distribution data.
9. The method of claim 8, wherein the second probability distribution data is a plurality of, the second forward probability distribution data including third intermediate data and third outer output data; and according to a third preset table, performing forward algorithm table query on the second probability distribution data at the variable node to obtain second forward probability distribution data of the second probability distribution data, including:
Forming a second link connected in series by a plurality of target variable nodes according to the degree distribution of the variable nodes;
respectively inputting a plurality of second probability distribution data into a plurality of target variable nodes correspondingly;
and according to a third preset table, carrying out forward algorithm table query on the second link to obtain third intermediate data and third external output data corresponding to the plurality of target variable nodes.
10. The method of claim 9, wherein the second backward probability distribution data includes fourth intermediate data and fourth outer output data; and according to the third preset table, performing backward algorithm table query on the second probability distribution data at the variable node to obtain second backward probability distribution data of the second probability distribution data, including:
respectively inputting a plurality of second probability distribution data into a plurality of target variable nodes correspondingly;
and according to a third preset table, carrying out backward algorithm table query on the second link to obtain fourth intermediate data and fourth external output data corresponding to the target variable nodes.
11. A coding device, the device comprising:
a first acquisition module, configured to acquire a first message, where the first message includes first probability distribution data of coded bits;
The second query module is used for performing table query on the check node according to the first message to obtain a second message, wherein the second message comprises second probability distribution data of the first probability distribution data;
the first transmission module is used for transmitting the second message from the check node to a variable node;
the second query module is used for performing table query on the variable nodes according to the second message to obtain a third message, wherein the third message comprises third probability distribution data of the second probability distribution data;
and the decoding module is used for decoding and calculating the coding bit according to the third message under the condition that the third message meets the preset target condition to obtain a decoding result.
12. A computer device, comprising: a memory and a processor, wherein the memory is configured to store,
the memory is used for storing a computer program;
the processor being configured to execute a computer program stored in the memory, the computer program when run causing the processor to perform the steps of the decoding method of any one of claims 1 to 10.
13. A computer readable storage medium having stored thereon a program or instructions which, when executed by a computer device, cause the computer device to perform the steps of the decoding method according to any of claims 1 to 10.
CN202210153634.5A 2022-02-18 2022-02-18 Decoding method, decoding device, decoding equipment and storage medium Active CN114584259B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210153634.5A CN114584259B (en) 2022-02-18 2022-02-18 Decoding method, decoding device, decoding equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210153634.5A CN114584259B (en) 2022-02-18 2022-02-18 Decoding method, decoding device, decoding equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114584259A CN114584259A (en) 2022-06-03
CN114584259B true CN114584259B (en) 2024-02-09

Family

ID=81770964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210153634.5A Active CN114584259B (en) 2022-02-18 2022-02-18 Decoding method, decoding device, decoding equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114584259B (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060068168A (en) * 2004-12-16 2006-06-21 한국전자통신연구원 Apparatus for decoding ldpc with low computational complexity algorithms and method thereof
KR20090014251A (en) * 2007-08-04 2009-02-09 김정기 An efficient construction for ldpc decoder
KR20090072972A (en) * 2007-12-28 2009-07-02 삼성전자주식회사 Method and device for decoding low density parity check code
CN101895299A (en) * 2009-05-18 2010-11-24 大唐移动通信设备有限公司 Decoding method and device of low density parity-check code (LDPC)
CN102545913A (en) * 2012-02-07 2012-07-04 中兴通讯股份有限公司 Iterative decoding method and iterative decoding system
CN106998240A (en) * 2016-12-30 2017-08-01 上海华为技术有限公司 A kind of interpretation method and decoder
WO2018036178A1 (en) * 2016-08-26 2018-03-01 晶晨半导体(上海)股份有限公司 Decoding method for low density parity check code (ldpc)
CN107852176A (en) * 2015-01-14 2018-03-27 北京航空航天大学 LDPC code encoder and decoder
CN109361491A (en) * 2018-09-26 2019-02-19 西安科技大学 Interpretation method, equipment and the storage medium of multi-input multi-output system based on LDPC
CN113595563A (en) * 2021-08-02 2021-11-02 上海金卓科技有限公司 LDPC decoding method, device, equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160006458A1 (en) * 2014-07-01 2016-01-07 Sandisk Technologies Inc. Decoding techniques for low-density parity check codes

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060068168A (en) * 2004-12-16 2006-06-21 한국전자통신연구원 Apparatus for decoding ldpc with low computational complexity algorithms and method thereof
KR20090014251A (en) * 2007-08-04 2009-02-09 김정기 An efficient construction for ldpc decoder
KR20090072972A (en) * 2007-12-28 2009-07-02 삼성전자주식회사 Method and device for decoding low density parity check code
CN101895299A (en) * 2009-05-18 2010-11-24 大唐移动通信设备有限公司 Decoding method and device of low density parity-check code (LDPC)
CN102545913A (en) * 2012-02-07 2012-07-04 中兴通讯股份有限公司 Iterative decoding method and iterative decoding system
CN107852176A (en) * 2015-01-14 2018-03-27 北京航空航天大学 LDPC code encoder and decoder
WO2018036178A1 (en) * 2016-08-26 2018-03-01 晶晨半导体(上海)股份有限公司 Decoding method for low density parity check code (ldpc)
CN106998240A (en) * 2016-12-30 2017-08-01 上海华为技术有限公司 A kind of interpretation method and decoder
CN109361491A (en) * 2018-09-26 2019-02-19 西安科技大学 Interpretation method, equipment and the storage medium of multi-input multi-output system based on LDPC
CN113595563A (en) * 2021-08-02 2021-11-02 上海金卓科技有限公司 LDPC decoding method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN114584259A (en) 2022-06-03

Similar Documents

Publication Publication Date Title
CN105656604B (en) A kind of Bit Interleave Polarization Coding modulator approach and device
CN100581064C (en) Low density parity check code decoder and method thereof
US7328398B2 (en) Low density parity check (LDPC) code decoder using min*, min**, max* or max** and their respective inverses
US7673223B2 (en) Node processors for use in parity check decoders
US8473822B2 (en) True bit level decoding of TTCM (turbo trellis coded modulation) of variable rates and signal constellations
US8046658B2 (en) Method and device for decoding blocks encoded with an LDPC code
CN1953336B (en) Method for updating check node in low density parity check decoder
US7805653B2 (en) LDPC-code generating method, communication apparatus, and code-string generating method
US8352827B2 (en) LDPC hard decision decoder for high-speed wireless data communications
CN112398484B (en) Coding method and related equipment
CN101595644B (en) Apparatus and method for decoding using channel code
Rapp et al. Error-and-erasure decoding of product and staircase codes
EP1788709A1 (en) Ldpc code creating method, communication device, and code sequence creating method
US8930790B1 (en) Method and apparatus for identifying selected values from among a set of values
CN114584259B (en) Decoding method, decoding device, decoding equipment and storage medium
CN111164897B (en) Generalized low density parity check code
El-Khamy et al. Relaxed channel polarization for reduced complexity polar coding
Farhadi et al. Tracking nonlinear noisy dynamic systems over noisy communication channels
CN100417031C (en) Method of realizing Reed Solomen convolution code in broadband radio insertion system
CN112889221A (en) Offset value determination in check node processing units for message passing decoding of non-binary codes
CN113783659A (en) Data processing method, device and medium based on binary erasure channel
JP5523064B2 (en) Decoding apparatus and method
CN102148619B (en) Self-adaptive linear programming decoding algorithm applied in LDPC (Low Density Parity Code)
Galindo et al. Locally recoverable codes from the matrix-product construction
CN102655589B (en) Based on the combined signal source channel decoding method of variable length code and arithmetic 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
GR01 Patent grant
GR01 Patent grant