Decoding method and device based on LDPC and computer readable storage medium

文档序号:97634 发布日期:2021-10-12 浏览:17次 中文

阅读说明:本技术 基于ldpc的译码方法、装置及计算机可读存储介质 (Decoding method and device based on LDPC and computer readable storage medium ) 是由 李骜 徐兴安 罗为 姜青山 于 2020-04-07 设计创作,主要内容包括:本发明涉及一种基于LDPC的译码方法、装置及计算机可读存储介质。本发明根据更新后的校验节点的值及公式V-(n→m)(x-(n))=∑-(m′eM(n)\m)E-(m→m)(x-(n))对所述比特节点的值进行更新,根据公式其中V-(i)=1*sign(y-(i))+∑-(meM(n))E-(m→n)(x-(i))对更新后的所述比特节点的值进行硬判决得到判决后的比特节点的值,及将判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算后根据运算结果得到译码结果。本发明实现了在译码准确度可以接受的情况下,降低时延和资源使用量的效果。(The invention relates to a decoding method and device based on LDPC and a computer readable storage medium. The invention is based on the updated check node value and formula V n→m (x n )=∑ m′eM(n)\m E m→m (x n ) Updating the values of the bit nodes according to a formula Wherein V i =1*sign(y i )+∑ meM(n) E m→n (x i ) And performing hard decision on the updated value of the bit node to obtain a decided value of the bit node, performing dot product operation on the decided value of the bit node and a check matrix of the decoder, and obtaining a decoding result according to an operation result. The invention realizes the effect of reducing time delay and resource usage amount under the condition that the decoding accuracy can be accepted.)

1. An LDPC-based decoding method, the method comprising:

step S11, obtaining the bit stream input into the decoder, performing matrix row dot product operation on the bit stream and the check matrix of the decoder, and judging whether the obtained bit stream is error according to the operation result;

step S12, initializing values of a check node and a bit node in the decoder, respectively;

step S13, according to the bit stream, the initialized check node value, the initialized bit node value and formula Em→n(xn) Updating the check node value by round (α × Δ k + β), where round () is a rounding function,α is a first weighting coefficient, β is a second weighting coefficient, ωiM is the number of rows of the check matrix, n is the number of columns of the check matrix, m (n) {1, 2, …, m }, n (i) {1, 2, …, n }, and xjFor the bits in the j-th bit stream, ynIs a confidence value, x, of the bit streamnIs ynA corresponding symbol value;

step S14, according to the updated check node value and formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the value of the bit node;

step S15, according to the formulaCarrying out hard decision on the updated value of the bit node to obtain the value of the bit node after decision; and

and step S16, performing dot product operation on the determined value of the bit node and the check matrix of the decoder, and then determining whether the operation result is 0, when the operation result is not 0, repeating the steps S13 to S16 until the result of the dot product operation performed on the determined value of the bit node and the check matrix of the decoder is 0, or the iteration number of decoding reaches a preset number.

2. The LDPC-based decoding method as claimed in claim 1, wherein the first weighting factor is obtained from a ratio of a number of zeros in each row of the check matrix to a sum of a number of non-zeros in each row and the number of zeros, the second weighting factor is an empirical value, the second weighting factor has a value ranging from 0 to 0.5, and the third weighting factor is obtained from a ratio of a number of zeros in each row of the check matrix to a sum of a number of non-zeros in each row and the number of zeros.

3. The LDPC-based decoding method as claimed in claim 1, wherein the decoding is performed according to the updated check node values and formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the value of the bit node further comprises:

taking the updated value of the bit node larger than 32 as 32; and

and taking the value of the updated bit node smaller than-32 as-32.

4. The LDPC-based decoding method as claimed in claim 1, wherein the determining whether the obtained bit stream is erroneous according to the operation result comprises:

and performing matrix row dot product operation on the bit stream and the check matrix of the decoder, judging whether the operation result of each matrix row is 0, determining that the bit stream has an error when the operation result is not 0, and continuing iterative decoding, otherwise determining that the bit stream has no error, and outputting a result.

5. The LDPC-based decoding method of claim 1, wherein the initializing values of check nodes and bit nodes in the decoder respectively comprises:

initializing a value of a check node in the decoder to 0; and

initializing values of bit nodes in the decoder to likelihood ratios of bits in the bitstream.

6. An LDPC based decoding apparatus, the apparatus comprising:

the judgment module is used for acquiring a bit stream input into a decoder, performing dot product operation on the bit stream and a check matrix of the decoder, and judging whether the acquired bit stream has errors or not according to an operation result;

the initialization module is used for respectively initializing values of a check node and a bit node in the decoder;

a first updating module for updating the bit stream according to the bit stream, the initialized check node value, the initialized bit node value and formula Em→n(xn) Updating the check node value by round (α × Δ k + β), where round () is a rounding function,α is a first weighting coefficient, β is a second weighting coefficient, ωiM is the number of rows of the check matrix, n is the number of columns of the check matrix, m (n) {1, 2, …, m }, n (i) {1, 2, …, n }, and xjFor the bits in the j-th bit stream, ynIs a confidence value, x, of the bit streamnIs ynA corresponding symbol value;

a second updating module for updating the check node value according to the formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the value of the bit node;

a decision module for deciding according to a formulaWherein Vi=1*sign(yi)+∑m∈M(n)Em→n(xi) For the updated saidCarrying out hard decision on the value of the bit node to obtain the value of the bit node after the decision; and

and the decoding module is used for performing dot product operation on the judged value of the bit node and the check matrix of the decoder and then judging whether the operation result is 0, and when the operation result is not 0, the decoding module repeatedly executes the instructions in the first updating module, the second updating module, the judging module and the decoding module until the dot product operation result of the judged value of the bit node and the check matrix of the decoder is 0 or the iteration number of decoding reaches the preset number.

7. The LDPC-based decoding apparatus according to claim 6, wherein the first weighting factor is obtained from a ratio of a number of zeros in each row of the check matrix to a sum of a number of non-zeros in each row and the number of zeros, the second weighting factor is a trial value, the second weighting factor has a value ranging from 0 to 0.5, and the third weighting factor is obtained from a ratio of the number of zeros in each row of the check matrix to the sum of the number of non-zeros in each row and the number of zeros.

8. The LDPC-based decoding apparatus according to claim 6, wherein the decoding is performed according to the updated check node values and formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the value of the bit node further comprises:

taking the updated value of the bit node larger than 32 as 32; and

and taking the value of the updated bit node smaller than-32 as-32.

9. The LDPC based decoding apparatus as claimed in claim 6, wherein the initializing the values of the check node and the bit node in the decoder respectively comprises:

initializing a value of a check node in the decoder to 0; and

initializing values of bit nodes in the decoder to likelihood ratios of bits in the bitstream.

10. A computer-readable storage medium having stored thereon a computer program, characterized in that: the computer program, when executed by a processor, implements the LDPC based decoding method as claimed in any one of claims 1 to 5.

Technical Field

The invention relates to the technical field of communication, in particular to a decoding method and device based on LDPC and a computer readable storage medium.

Background

LDPC (Low-density parity check) codes were discovered by Gallager in 1960 as 5G data channel codecs because of the inability to implement the hardware problem in the year. Later in 1996, it was re-mentioned by Mackay and Neal. The LDPC code is also the code approaching to the Shannon limit, the performance of the LDPC code on the long code exceeds that of the Turbo code, and the simple coding and decoding and the strong performance of the LDPC code on different channels make the LDPC code receive a great deal of attention and research. In order to solve the encoding complexity of the LDPC, T.J.Richardson and R.L.Urbanke provide an effective algorithm for encoding in linear time after carrying out certain preprocessing on a validation matrix by using the sparsity of the validation matrix, and the problem of the encoding complexity of the LDPC code is preliminarily solved. Although prior efforts, LDPC codes overcome the quadratic complexity of coding and have found widespread use in some areas. However, on the requirement of low decoding delay in a 5G big data environment, the delay of the LDPC due to the high iteration number required for accurate decoding degree and the high complexity of hardware implementation and high resource consumption become the bottleneck thereof.

Disclosure of Invention

In view of the foregoing, there is a need for an LDPC decoding method, apparatus and computer readable storage medium to reduce latency and resource usage with acceptable decoding accuracy.

A first aspect of the present application provides an LDPC-based decoding method, the method comprising:

step S11, obtaining the bit stream input into the decoder, performing dot product operation on the bit stream and the check matrix of the decoder, and judging whether the obtained bit stream is error according to the operation result;

step S12, initializing values of a check node and a bit node in the decoder, respectively;

step S13, according to the bit stream, the initialized check node value, the initialized bit node value and formula Em→n(xn) Updating the check node value by round (α × Δ k + β), where round () is a rounding function,α is a first weighting coefficient, β is a second weighting coefficient, ωiM is the number of rows of the check matrix, n is the number of columns of the check matrix, m (n) {1, 2, …, m }, n (i) {1, 2, …, n }, and xjFor the bits in the j-th bit stream, ynIs a confidence value, x, of the bit streamnIs ynA corresponding symbol value;

step S14, according to the updated check node value and formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the value of the bit node;

step S15, according to the formulaWherein Vi=1*sign(yi)+∑m∈M(n)Em→n(xi) Carrying out hard decision on the updated value of the bit node to obtain the value of the bit node after decision; and

and step S16, performing dot product operation on the determined value of the bit node and the check matrix of the decoder, and then determining whether the operation result is 0, when the operation result is not 0, repeating the steps S13 to S16 until the result of the dot product operation performed on the determined value of the bit node and the check matrix of the decoder is 0, or the iteration number of decoding reaches a preset number.

Preferably, the first weighting coefficient is obtained from a ratio of a zero number in each row of the check matrix to a sum of a non-zero number in each row and the zero number, the second weighting coefficient is a check value, a value range of the second weighting coefficient is 0 to 0.5, and the third weighting coefficient is obtained from a ratio of a zero number in each row of the check matrix to a sum of a non-zero number in each row and the zero number.

Preferably, the updated check node value and the formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the value of the bit node further comprises:

taking the updated value of the bit node larger than 32 as 32; and

and taking the value of the updated bit node smaller than-32 as-32.

Preferably, the determining whether the obtained bit stream is erroneous according to the operation result includes:

and performing matrix row dot product operation on the bit stream and the check matrix of the decoder, judging whether the operation result of each matrix row is 0, determining that the bit stream has an error when the operation result is not 0, and continuing iterative decoding, otherwise determining that the bit stream has no error, and outputting a result.

Preferably, the initializing the values of the check node and the bit node in the decoder respectively includes:

initializing a value of a check node in the decoder to 0; and

initializing values of bit nodes in the decoder to likelihood ratios of bits in the bitstream.

A second aspect of the present application provides an LDPC based decoding apparatus, the apparatus comprising:

the judgment module is used for acquiring a bit stream input into a decoder, performing dot product operation on the bit stream and a check matrix of the decoder, and judging whether the acquired bit stream has errors or not according to an operation result;

the initialization module is used for respectively initializing values of a check node and a bit node in the decoder;

a first updating module for updating the bit stream according to the bit stream, the initialized check node value, the initialized bit node value and formula Em→n(xn) Updating the check node value by round (α × Δ k + β), where round () is a rounding function,α is a first weighting coefficient, β is a second weighting coefficient, ωiM is the number of rows of the check matrix, n is the number of columns of the check matrix, m (n) {1, 2, …, m }, n (i) {1, 2, …, n }, and xjFor the bits in the j-th bit stream, ynIs a confidence value, x, of the bit streamnIs ynA corresponding symbol value;

a second updating module for updating the check node value according to the formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the value of the bit node;

a decision module for deciding according to a formulaWherein Vi=1*sign(yi)+∑m∈M(n)Em→n(xi) Carrying out hard decision on the updated value of the bit node to obtain the value of the bit node after decision; and

and the decoding module is used for performing dot product operation on the judged value of the bit node and the check matrix of the decoder and then judging whether the operation result is 0, and when the operation result is not 0, the decoding module repeatedly executes the instructions in the first updating module, the second updating module, the judging module and the decoding module until the dot product operation result of the judged value of the bit node and the check matrix of the decoder is 0 or the iteration number of decoding reaches the preset number.

Preferably, the first weighting coefficient is obtained from a ratio of a zero number in each row of the check matrix to a sum of a non-zero number in each row and the zero number, the second weighting coefficient is a check value, a value range of the second weighting coefficient is 0 to 0.5, and the third weighting coefficient is obtained from a ratio of a zero number in each row of the check matrix to a sum of a non-zero number in each row and the zero number.

Preferably, the updated check node value and the formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the value of the bit node further comprises:

taking the updated value of the bit node larger than 32 as 32; and

and taking the value of the updated bit node smaller than-32 as-32.

Preferably, the initializing the values of the check node and the bit node in the decoder respectively includes:

initializing a value of a check node in the decoder to 0; and

initializing values of bit nodes in the decoder to likelihood ratios of bits in the bitstream.

A third aspect of the present application provides a computer-readable storage medium having stored thereon a computer program characterized in that: the computer program, when executed by a processor, implements the LDPC based decoding method.

The invention is based on the updated check node value and formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the values of the bit nodes according to a formulaWherein Vi=1*sign(yi)+∑m∈M(n)Em→n(xi) And performing hard decision on the updated value of the bit node to obtain a decided value of the bit node, performing dot product operation on the decided value of the bit node and a check matrix of the decoder, and obtaining a decoding result according to an operation result. The effect of reducing time delay and resource usage amount under the condition that the decoding accuracy is acceptable is realized.

Drawings

Fig. 1 is a flowchart of an LDPC-based decoding method according to an embodiment of the present invention.

FIG. 2 is a test structure diagram of an LDPC-based decoding method according to an embodiment of the present invention.

Fig. 3a is a simulation diagram of resource usage when the receiving device decodes using a conventional belief propagation algorithm.

Fig. 3b is a simulation diagram of the resource usage amount when the receiving device employs LDPC decoding.

Fig. 4 is a block diagram of an LDPC decoding apparatus according to an embodiment of the present invention.

Fig. 5 is a schematic diagram of an electronic device according to an embodiment of the invention.

Detailed Description

In order that the above objects, features and advantages of the present invention can be more clearly understood, a detailed description of the present invention will be given below with reference to the accompanying drawings and specific embodiments. It should be noted that the embodiments and features of the embodiments of the present application may be combined with each other without conflict.

In the following description, numerous specific details are set forth to provide a thorough understanding of the present invention, and the described embodiments are merely a subset of the embodiments of the present invention, rather than a complete embodiment. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.

Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.

Preferably, the LDPC-based decoding method of the present invention is applied to one or more electronic devices. The electronic device is a device capable of automatically performing numerical calculation and/or information processing according to a preset or stored instruction, and the hardware includes, but is not limited to, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), an embedded device, and the like.

The electronic device may be a desktop computer, a notebook computer, a tablet computer, a cloud server, or other computing device. The device can be in man-machine interaction with a user through a keyboard, a mouse, a remote controller, a touch pad or voice control equipment and the like.

Example 1

Fig. 1 is a flowchart of an LDPC-based decoding method according to an embodiment of the present invention. The order of the steps in the flow chart may be changed and some steps may be omitted according to different needs.

Referring to fig. 1, the LDPC-based decoding method specifically includes the following steps:

step S11, acquiring a bitstream input to a decoder, performing a dot product operation on the bitstream and a check matrix of the decoder, and determining whether the acquired bitstream is erroneous according to an operation result. In this embodiment, step S12 is executed when the acquired bit stream has an error, and the decoding is terminated when the acquired bit stream has no error.

In this embodiment, the bit stream is an LDPC codeword. In this embodiment, the determining whether the obtained bitstream has an error according to the operation result includes: and performing matrix row dot product operation on the bit stream and the check matrix of the decoder, judging whether the operation result is 0 (control is 0), determining that the bit stream has an error when the operation result is not 0, continuing iterative decoding, and otherwise determining that the bit stream has no error and outputting the result.

Step S12, the values of the check node and the bit node in the decoder are initialized respectively.

In one embodiment, the initializing the values of the check node and the bit node in the decoder respectively includes: initializing a value of a check node in the decoder to 0; and initializing values of bit nodes in the decoder to likelihood ratios of bits in the bitstream.

Step S13, according to the bit stream, the initialized check node value, the initialized bit node value and formula Em→n(xn) Updating the check node value by round (α × Δ k + β), where round () is a rounding function,a is a first weighting coefficient, β is a second weighting coefficient, ωiIs a third weighting coefficient, where m is a row number of the check matrix, n is a column number of the check matrix, m (n) {1, 2, …, m }, n (i) {1, 2, …, n }, and xjFor the bits in the obtained jth bit stream, y isnFor the confidence value of the bit stream, the xnIs said ynThe corresponding symbol value.

In this embodiment, the first weighting coefficient is determined according to the number of non-zero values and the number of zero values in each row in the check matrix, the first weighting coefficient is specifically obtained by a ratio of the number of zero values in each row in the check matrix to a sum of the number of non-zero values and the number of zero values in each row, the second weighting coefficient is an experimental value, a value range of the second weighting coefficient is 0 to 0.5, and the third weighting coefficient is obtained by a ratio of the number of zero values in each row in the check matrix to a sum of the number of non-zero values and the number of zero values in each row.

Step S14, according to the updated check node value and formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the value of the bit node.

This embodimentWherein the updated check node value is used as the basis of formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the value of the bit node further comprises: taking the updated value of the bit node larger than 32 as 32; and the updated value of the bit node smaller than-32 is taken as-32. In this embodiment, by setting the updated value of the bit node larger than 32 to 32 and the updated value of the bit node smaller than-32 to-32, it is beneficial for the chips such as FPGA and ASIC to save resources without reducing performance, so that the decoding has high convergence and reduces resource consumption.

Step S15, according to the formulaWherein Vi=1*sign(yi)+∑m∈M(n)Em→n(xi) And carrying out hard decision on the updated value of the bit node to obtain the decided value of the bit node.

In this embodiment, when the updated value of the bit node is hard-decided to obtain the decided value of the bit node, an iterative decoding is performed

And step S16, performing matrix row dot product operation on the determined value of the bit node and the check matrix of the decoder, determining whether the operation result is 0 (syndrome is 0), repeating steps S13 to S16 when the operation result is not 0, and performing dot product operation on the determined value of the bit node and the check matrix of the decoder until the result is 0 or the iteration number of decoding reaches a preset number.

The scheme is based on the updated check node value and the formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the values of the bit nodes according to a formulaWherein Vi=1*sign(yi)+∑m∈M(n)Em→n(xi) To pairAnd carrying out hard decision on the updated value of the bit node to obtain the value of the bit node after decision, and carrying out dot product operation on the value of the bit node after decision and a check matrix of the decoder to obtain a decoding result according to the operation result. The effect of reducing time delay and resource usage amount under the condition that the decoding accuracy is acceptable is realized.

Referring to fig. 2, a test structure diagram of an LDPC-based decoding method according to an embodiment of the present invention is shown. The LDPC based decoding method shown is applied in the receiving apparatus 20. The receiving device 20 is in communication connection with the sending device 10 through an air interface communication mode. The testing device 30 is communicatively connected to the sending device 10 and the receiving device 20 through ethernet, respectively. The test device 30 is configured to perform packet capture analysis on the resource occupancy of the receiving device 20 in the process that the receiving device 20 decodes the LDPC code stream transmitted by the transmitting device 10. In this embodiment, the receiving device 20 and the transmitting device 10 may be X86 servers, and the testing device 30 may be a PC computer. Referring to fig. 3, a simulation diagram of resource usage amount when decoding is shown in the receiving device 20. Fig. 3(a) shows resource usage of the receiving apparatus 20 when decoding is performed by using a conventional Belief Propagation (BP) algorithm, and fig. 3(b) shows resource usage of the receiving apparatus 20 when decoding is performed by using an LDPC algorithm. As can be seen from the comparison, the resource usage of the receiving apparatus 20 adopting the conventional belief propagation algorithm in decoding is 1886, and the resource usage of the receiving apparatus 20 adopting the LDPC-based decoding method in the present case in decoding is 1282, so that the resource usage of the receiving apparatus 20 adopting the LDPC-based decoding method in decoding is 42% less than that of the receiving apparatus 20 adopting the conventional belief propagation algorithm in decoding.

Example 2

Fig. 4 is a block diagram of an LDPC decoding apparatus 40 according to an embodiment of the present invention.

In some embodiments, the LDPC based decoding apparatus 40 operates in an electronic device. The LDPC based decoding means 40 may comprise a plurality of functional blocks consisting of program code segments. Program codes of respective program segments in the LDPC-based decoding apparatus 40 may be stored in a memory and executed by at least one processor to perform a function of estimating volume and weight.

In this embodiment, the LDPC-based decoding apparatus 40 may be divided into a plurality of functional blocks according to the functions performed by the apparatus. Referring to fig. 4, the LDPC-based decoding apparatus 40 may include a determining module 401, an initializing module 402, a first updating module 403, a second updating module 404, a deciding module 405, and a decoding module 406. The module referred to herein is a series of computer program segments capable of being executed by at least one processor and capable of performing a fixed function and is stored in memory. In some embodiments, the functionality of the modules will be described in greater detail in subsequent embodiments.

The determining module 401 is configured to obtain a bit stream input into a decoder, perform a dot product operation on the bit stream and a check matrix of the decoder, and determine whether the obtained bit stream is erroneous according to an operation result. In this embodiment, step S12 is executed when the acquired bit stream has an error, and the decoding is terminated when the acquired bit stream has no error.

In this embodiment, the bit stream is an LDPC codeword. In this embodiment, the determining module 401, according to the operation result, determining whether the obtained bit stream has an error includes: and performing matrix row-dot multiplication operation on the bit stream and the check matrix of the decoder, judging whether the operation result is 0, determining that the bit stream has an error when the operation result is not 0, and continuing iterative decoding, otherwise determining that the bit stream has no error, and outputting the result.

The initialization module 402 initializes the values of the check nodes and the bit nodes in the decoder, respectively.

In one embodiment, the initializing module 402 initializes the values of the check node and the bit node in the decoder respectively, including: initializing a value of a check node in the decoder to 0; and initializing values of bit nodes in the decoder to likelihood ratios of bits in the bitstream.

The first update module 403 updates the bit stream, the initialized check node value, the initialized bit node value and the formula Em→n(xn) Updating the check node value by round (α × Δ k + β), where round () is a rounding function,a is a first weighting coefficient, β is a second weighting coefficient, ωiIs a third weighting coefficient, m is the number of rows of the check matrix, n is the number of columns of the check matrix, m (n) = {1, 2, …, m }, n (i) = {1, 2, …, n }, and xjFor the bits in the obtained jth bit stream, y isnFor the confidence value of the bit stream, the xnIs said ynThe corresponding symbol value.

In this embodiment, the first weighting coefficient is determined according to the number of non-zero values and the number of zero values in each row in the check matrix, the first weighting coefficient is specifically obtained by a ratio of the number of zero values in each row in the check matrix to a sum of the number of non-zero values and the number of zero values in each row, the second weighting coefficient is an experimental value, a value range of the second weighting coefficient is 0 to 0.5, and the third weighting coefficient is obtained by a ratio of the number of zero values in each row in the check matrix to a sum of the number of non-zero values and the number of zero values in each row.

The second updating module 404 updates the check node according to the updated check node value and the formula Vn→m(xn)=∑m′∈M(n)\ mEm→n(xn) Updating the value of the bit node.

In this embodiment, the second updating module 404 updates the check node according to the updated check node value and the formula Vn→m(xn)=∑m′∈M(n)\mEm→n(xn) Updating the value of the bit node further comprises: taking the updated value of the bit node larger than 32 as 32; and the updated value of the bit node smaller than-32 is taken as-32. This implementationIn the mode, the updated value of the bit node larger than 32 is taken as 32 and the updated value of the bit node smaller than-32 is taken as-32, so that the method is beneficial to saving the use of resources while not reducing the performance of chips such as an FPGA, an ASIC and the like, and therefore, the decoding has high convergence and the consumption of the resources is reduced.

The decision module 405 follows a formulaWherein Vi=1*sign(yi)+∑m∈M(n)Em→n(xi) And carrying out hard decision on the updated value of the bit node to obtain the decided value of the bit node.

In this embodiment, the decision module 405 completes an iteration of decoding once when performing a hard decision on the updated value of the bit node to obtain the decided value of the bit node

The decoding module 406 performs a dot product operation on the determined value of the bit node and the check matrix of the decoder, then determines whether the operation result is 0, and when the operation result is not 0, the decoding module repeatedly executes the instructions in the first updating module, the second updating module, the determining module and the decoding module until the result of the dot product operation performed on the determined value of the bit node and the check matrix of the decoder is 0 or the iteration number of decoding reaches a preset number.

Example 3

Fig. 5 is a schematic diagram of an electronic device 6 according to an embodiment of the invention.

The electronic device 6 comprises a memory 61, a processor 62 and a computer program 63 stored in the memory 61 and executable on the processor 62. The processor 62, when executing the computer program 63, implements the steps in the above-described LDPC based decoding method embodiments, such as steps S11-S16 shown in fig. 1. Alternatively, the processor 62 implements the functions of the modules/units in the LDPC-based decoding apparatus embodiment, such as the modules 401 to 406 in fig. 4, when executing the computer program 63.

Illustratively, the computer program 63 may be partitioned into one or more modules/units that are stored in the memory 61 and executed by the processor 62 to carry out the invention. The one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution of the computer program 63 in the electronic device 6. For example, the computer program 63 may be divided into a judgment module 401, an initialization module 402, a first update module 403, a second update module 404, a decision module 405, and a decoding module 406 in fig. 4, where the specific functions of the modules are described in embodiment 2.

In this embodiment, the electronic device 6 may be a computing device such as a desktop computer, a notebook, a palm computer, and a cloud terminal device. It will be appreciated by those skilled in the art that the schematic diagram is merely an example of the electronic device 6, and does not constitute a limitation of the electronic device 6, and may include more or less components than those shown, or combine certain components, or different components, for example, the electronic device 6 may further include an input-output device, a network access device, a bus, etc.

The Processor 62 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor 62 may be any conventional processor or the like, the processor 62 being the control center for the electronic device 6, with various interfaces and lines connecting the various parts of the overall electronic device 6.

The memory 61 may be used for storing the computer programs 63 and/or modules/units, and the processor 62 may implement various functions of the electronic device 6 by running or executing the computer programs and/or modules/units stored in the memory 61 and calling data stored in the memory 61. The memory 61 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the stored data area may store data (such as audio data, a phonebook, etc.) created according to the use of the electronic device 6, and the like. In addition, the memory 61 may include high speed random access memory, and may also include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), at least one magnetic disk storage device, a Flash memory device, or other volatile solid state storage device.

The integrated modules/units of the electronic device 6, if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, all or part of the flow of the method according to the embodiments of the present invention may also be implemented by a computer program, which may be stored in a computer-readable storage medium, and which, when executed by a processor, may implement the steps of the above-described embodiments of the method. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media does not include electrical carrier signals and telecommunications signals as is required by legislation and patent practice.

In the embodiments provided in the present invention, it should be understood that the disclosed electronic device and method can be implemented in other ways. For example, the above-described embodiments of the electronic device are merely illustrative, and for example, the division of the modules is only one logical functional division, and there may be other divisions when the actual implementation is performed.

In addition, each functional module in each embodiment of the present invention may be integrated into the same processing module, or each module may exist alone physically, or two or more modules may be integrated into the same module. The integrated module can be realized in a hardware form, and can also be realized in a form of hardware and a software functional module.

It will be evident to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned. Furthermore, it is to be understood that the word "comprising" does not exclude other modules or steps, and the singular does not exclude the plural. Several modules or electronic devices recited in the electronic device claims may also be implemented by one and the same module or electronic device by means of software or hardware. The terms first, second, etc. are used to denote names, but not any particular order.

Finally, it should be noted that the above embodiments are only for illustrating the technical solutions of the present invention and not for limiting, and although the present invention is described in detail with reference to the preferred embodiments, it should be understood by those skilled in the art that modifications or equivalent substitutions may be made on the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention.

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:天线装置及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类