CN113872610A - LDPC code neural network training and decoding method and system - Google Patents

LDPC code neural network training and decoding method and system Download PDF

Info

Publication number
CN113872610A
CN113872610A CN202111172359.3A CN202111172359A CN113872610A CN 113872610 A CN113872610 A CN 113872610A CN 202111172359 A CN202111172359 A CN 202111172359A CN 113872610 A CN113872610 A CN 113872610A
Authority
CN
China
Prior art keywords
neural network
layer
variable node
ldpc code
data set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111172359.3A
Other languages
Chinese (zh)
Inventor
周林
唐益多
陈辰
陈启望
刘三亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huaqiao University
Original Assignee
Huaqiao University
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 Huaqiao University filed Critical Huaqiao University
Priority to CN202111172359.3A priority Critical patent/CN113872610A/en
Publication of CN113872610A publication Critical patent/CN113872610A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention provides a method and a system for training and decoding a neural network of an LDPC code, wherein a neural network decoding model is constructed and trained by utilizing a data set, and after repeated iterative training, the training is combined with strong learning capability of deep learning and strong capability of extracting high-dimensional data hidden characteristics of the neural network to obtain the trained neural network decoding model, and the trained neural network decoding model is used for decoding and outputting LDPC code data, so that the loss of the performance of a traditional BP decoding algorithm in decoding the LDPC short code is reduced, the decoding of the LDPC code has better flexibility, low delay and high communication reliability, and the main requirements of users in the communication field are met.

Description

LDPC code neural network training and decoding method and system
Technical Field
The invention relates to the technical field of LDPC code decoding, in particular to a method and a system for training and decoding a neural network of an LDPC code.
Background
Low-density parity-check (LDPC) code is a well-known linear error correcting code, first proposed by Gallager in 1962. The code has excellent error correction performance approaching the shannon limit and higher decoding throughput, and has become a new research hotspot in recent years. Up to now, Belief Propagation (BP) decoding algorithm is one of the most commonly used LDPC decoding algorithms. The BP decoding algorithm can obtain decoding performance close to the Shannon limit when the code length is long. In the application scenario of 5G, ultra-high-reliability and low-delay communication is applied to many fields, such as intelligent transportation systems, industrial automation, and the like; in these scenarios, the main requirements of user communication are better flexibility, low delay and high communication reliability, i.e. in these scenarios, the requirement for short codes is higher and higher, but due to the existence of short loops, the decoding performance of BP decoding algorithm in LDPC short codes is inferior to that in long codes.
In recent years, deep learning with powerful learning and feature attribute extraction capability is gradually and widely applied to communication technology and has made outstanding progress, while A Neural Network (ANN) is an important mathematical model in deep learning, contains a large number of neurons, is an adaptive system, has powerful capability of extracting high-dimensional data hiding features, and has made a major breakthrough in many fields such as target recognition, image classification, drug discovery, natural language processing and weiqi in recent years and greatly improved the original system performance; although the neural network makes great contribution in other fields, no scheme for applying deep learning to the LDPC short code BP decoding algorithm is provided at present.
Aiming at the problems, a decoding method is provided, the characteristics of a neural network are combined to reduce the loss of decoding performance of a BP decoding algorithm in LDPC short codes, and the requirement of a user in the communication field is necessary to be met.
Disclosure of Invention
The invention aims to provide an LDPC code neural network training and decoding method and a system thereof, which solve the problem that the decoding performance of the traditional BP decoding algorithm in a short code is inferior to that in a long code.
In order to achieve the purpose, the invention provides the following scheme:
an LDPC code neural network decoding method comprises the following steps:
acquiring a data set for training a neural network decoding model; wherein the data set is a bit log likelihood ratio data set obtained by demodulating an output signal historically transmitted through an AWGN channel.
Determining the structure of a neural network decoding model according to the data set to obtain a neural network decoding model to be trained;
and performing iterative training on the neural network decoding model to be trained by using the data set to obtain the trained neural network decoding model.
Optionally, the determining the structure of the neural network decoding model according to the data set specifically includes:
the neural network decoding model comprises an input layer, a hidden layer and an output layer, wherein the hidden layer comprises a check node layer and a variable node layer;
determining the number of hidden layers in a neural network decoding model according to the data set, wherein the number of hidden layers specifically comprises the following steps;
obtaining a corresponding Tanner graph according to a check matrix H of the LDPC code used by the data set;
and respectively taking the check nodes and the variable nodes with the message transfer relationship in the Tanner graph as an nth check node layer and an nth variable node layer.
Further, the performing iterative training on the neural network coding model to be trained by using the data set specifically includes:
training each group of check node layers and variable node layers with message transmission in the hidden layers in sequence, wherein the iteration number is half of the number of the hidden layers;
training one group of check node layers and variable node layers with message passing specifically comprises:
respectively updating information of the transmitted messages in a check node layer and a variable node layer to obtain updated variable node information;
outputting a neural network decoding result of the corresponding variable node according to the updated variable node information;
and training the next group according to the neural network decoding result and the input error optimization network of the data set.
Optionally, the information updating of the message to be transmitted in the check node layer and the variable node layer respectively specifically includes:
multiplying the message transmitted from the check node to the variable node by the correction factor at the check node layer to update the information;
and multiplying the message which is transmitted to the next check node by the variable node at the variable node layer by the correction factor for information updating.
Further, the outputting the neural network decoding result of the corresponding variable node according to the updated variable node information specifically includes:
and outputting the updated variable node information to an output layer, and outputting a neural network decoding result corresponding to the variable node by using a sigmod function as an activation function in the output layer.
Further, the optimizing the network according to the decoding result of the neural network and the error of the data set specifically includes:
calculating errors of the neural network decoding result and the transmitted data set by using a cross entropy loss function to obtain an output error;
and aiming at the output error, searching a training network by using a small batch gradient descent algorithm and an Adam optimization method to obtain a trained neural network decoding model.
Corresponding to the LDPC code neural network training method, the invention also provides an LDPC code neural network training system, and the training system is executed by the LDPC code neural network training method when being operated by a processor
On the other hand, the present application further provides an LDPC code neural network decoding method, which decodes LDPC code data by using a trained neural network decoding model obtained by executing the LDPC code neural network training method, and specifically includes the following steps:
acquiring an output signal transmitted by an AWGN channel and demodulating the output signal into a bit log-likelihood ratio data set;
inputting the bit log-likelihood ratio data set into the trained neural network decoding model;
sequentially updating information of each group of corresponding check node layer and variable node layer in the hidden layer, wherein the iteration number is half of the number of the hidden layers;
the information updating for one group of corresponding check node layers and variable node layers comprises the following steps:
respectively multiplying the messages transmitted from the check nodes to the variable nodes by the correction factors for information updating in the check node layer, and multiplying the messages transmitted from the variable nodes to the next check nodes by the correction factors for information updating in the variable node layer;
and outputting the neural network decoding result of the corresponding variable node according to the updated variable node information until the information of all node layers in the hidden layer is updated.
Corresponding to the LDPC code neural network decoding method, the invention also provides an LDPC code neural network decoding system, and the system is executed by a processor to execute the LDPC code neural network decoding method.
According to the specific embodiment provided by the invention, the invention discloses the following technical effects:
the invention provides a method and a system for training and decoding a neural network of an LDPC code, wherein the neural network decoding model is trained by constructing the neural network decoding model and utilizing a data set, and the trained neural network decoding model is used for decoding and outputting LDPC code data by combining strong learning capability of deep learning and strong capability of extracting high-dimensional data hiding characteristics of the neural network through repeated iterative training, so that the loss of performance of a BP decoding algorithm in decoding the LDPC short code is reduced, the decoding of the LDPC code has better flexibility, low delay and high communication reliability, and the main requirements of users in the communication field are met.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a flowchart of an LDPC code neural network training method provided in embodiment 1 of the present invention;
fig. 2 is a structural diagram of a neural network decoding model in the method according to embodiment 1 of the present invention;
FIG. 3 is a flowchart of step A2 in the method according to embodiment 1 of the present invention;
FIG. 4 is a flowchart of step A3 in the method provided in embodiment 1 of the present invention;
fig. 5 is a schematic diagram of an LDPC code neural network training system provided in embodiment 2 of the present invention;
fig. 6 is a flowchart of an LDPC code neural network decoding method according to embodiment 3 of the present invention;
fig. 7 is a flowchart of step B3 in the method according to embodiment 3 of the present invention;
fig. 8 is a schematic diagram of an LDPC code neural network decoding system according to embodiment 4 of the present invention;
FIG. 9 is a performance diagram of training data under different channel conditions in simulation comparison of example 5 of the present invention;
FIG. 10 is a graph of iteration number versus BER performance in a simulation comparison in example 5 of the present invention;
FIG. 11 is a graph showing the performance relationship between the decoding method and the conventional method in simulation comparison of embodiment 5 of the present invention.
Symbol interpretation: 1: an LDPC code neural network training system; 2: a historical data set acquisition module; 3: a model building module; 4: a model training module; 3-1: a hidden layer determination submodule; 4-1: an iterative training submodule; 4-1-1: an information updating unit; 5: LDPC code neural network decoding system; 6: a dataset acquisition module; 7: a decoding module; 7-1: an iteration updating unit; 7-2: and an output unit.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The invention aims to provide an LDPC code neural network training and decoding method and a system thereof, which solve the problem that the decoding performance of the traditional BP decoding algorithm in a short code is inferior to that in a long code.
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
Example 1:
as shown in the flowchart of fig. 1, the present embodiment provides an LDPC code neural network training method, including the following steps:
a1, acquiring a data set for training a neural network decoding model; the data set is a bit log-likelihood ratio data set obtained by demodulating an output signal which is transmitted by an AWGN channel historically;
a2, determining the structure of a neural network decoding model according to the data set to obtain the neural network decoding model to be trained; as shown in fig. 2, the structure diagram of the neural network decoding model includes an input layer, a hidden layer and an output layer, where the hidden layer includes a check node layer and a variable node layer;
the structure of the neural network decoding model is determined by the iteration number of BP decoding, for example, BP decoding iterated for T times is expanded into a 2T + 2-layer neural network which comprises an input layer, an output layer and a 2T-layer hidden layer;
the iteration number of BP decoding is reflected in the check matrix H of the LDPC code used by the BP decoding, and the check matrix is converted into a Tanner graph, so that a corresponding check node layer and a corresponding variable node layer can be easily obtained, as shown in the flowchart shown in fig. 3, step a2 specifically includes:
a21, obtaining a corresponding Tanner graph according to a check matrix H of the LDPC code used by the data set;
a22, respectively taking the check nodes and variable nodes with message transmission relation in the Tanner graph as an nth layer check node layer and an nth layer variable node layer;
the check matrix H of the LDPC code used by the data set can be represented by a Tanner graph, which contains two types of vertices: the variable nodes correspond to columns of the check matrix; the check nodes correspond to rows of the check matrix.
And the non-zero elements of the ith column and the jth row in the check matrix correspond to the edges connected between the ith variable node and the jth check node in the Tanner graph. And taking the check nodes and the variable nodes in the Tanner graph as a check node layer and a variable node layer in the hidden layer, wherein the 2T layer hidden layer comprises a T layer check node layer and a T layer variable node layer, and updating information in the check nodes and the variable nodes respectively.
A3, performing iterative training on the neural network decoding model to be trained by using the data set to obtain a trained neural network decoding model; the iteration times are half of the number of hidden layers;
in order to ensure the effect of decoding using the neural network decoding model, the information of each layer is updated before use, as shown in the flowchart of fig. 4, the step a3 of training one set of check node layer and variable node layer with message passing specifically includes:
a31, respectively updating information of the transmitted information in a check node layer and a variable node layer to obtain updated variable node information;
multiplying the message transmitted from the check node to the variable node by the correction factor at the check node layer to update the information; and multiplying the message which is transmitted to the next check node by the variable node at the variable node layer by the correction factor for information updating.
In this embodiment, L (P) is usedi) Representing LLR data corresponding to the i-th layer input, Vj\ i represents the set of all variable nodes except i connected to check node j, Ci\ j represents the set of all check nodes except j connected to variable node i;
for different requirements, neural network decoding models with different structures can be selected, and different neural network decoding models have different updating rules;
if the requirement on performance is higher and the requirement on complexity performance is lower, a basic neural network decoding model (neuroalbp, NBP) is selected, and correction factors used in the model are different every time the node information is updated, namely, the information of the check node is multiplied by the correction factor alpha in the check node layerijCarrying out information updating; multiplying the messages of the variable nodes by a correction factor beta at the variable node leveljiCarrying out information updating;
multiplying the message passing the check node to the variable node by the correction factor alpha in the l-th check node layer (0 < l ≦ T, l ∈ Z)ijAnd (3) updating information:
Figure BDA0003293838370000061
wherein L is(l)(rji) A message value indicating a variable node of the l-th layer,
Figure BDA0003293838370000071
denotes the alpha value, L, of the L-1 th layer(l-1)(qi'j) A message value representing a layer l-1 check node layer;
multiplying the message passing the variable node to the check node at the layer l variable node layer by a correction factor betajiAnd (3) updating information:
Figure BDA0003293838370000072
wherein L is(l)(qij) A message indicating a check node of the l-th layer,
Figure BDA0003293838370000073
represents the beta value of the l layer;
the updated information L of the variable node(l)(rji) Input to the output layer.
If a lower complexity is required and the acceptable performance is reduced in a small amplitude, a parameter normalization neural network decoding model (NormalizedNeural BP, NNBP) is selected, the same correction factor is used in the same layer in the model, namely, the information of the check node is multiplied by a correction factor alpha to be updated in the check node layer; multiplying the information of the variable nodes by a correction factor beta at a variable node layer to update the information;
for the parameter normalization neural network decoding structure, the information of the messages transmitted from the check nodes to the variable nodes is multiplied by a correction factor alpha at the l-th check node layer for information updating:
Figure BDA0003293838370000074
wherein alpha is(l-1)Represents the alpha value of the l-th layer;
and (3) multiplying the message transmitted from the variable node to the check node by a correction factor beta at the l-th variable node layer to update the information:
Figure BDA0003293838370000075
wherein, beta(l)Represents the beta value of the l layer;
the updated information L of the variable node(l)(rji) Input to the output layer.
A32, outputting a neural network decoding result of the corresponding variable node according to the updated variable node information;
and outputting the updated variable node information to an output layer, and outputting a neural network decoding result corresponding to the variable node by using a sigmod function as an activation function in the output layer.
The output layer comprises n neurons which respectively correspond to n variable nodes. Outputting the decoding result of the neural network corresponding to the ith variable node through the ith neuron on an output layer by using the updated information of the ith variable node:
Figure BDA0003293838370000081
using sigmod function at output layer
Figure BDA0003293838370000082
Outputting as an activation function;
a33, training the next group according to the neural network decoding result and the input error optimization network of the data set;
in order to ensure that the optimal result is obtained, the error of the neural network decoding result and the transmitted data set is calculated by using a cross entropy loss function, and an output error is obtained:
Figure BDA0003293838370000083
wherein o isiAnd PiThe ith output of the deep neural network and the ith bit of the transmitted real code word respectively, and N is the code length.
And aiming at the output error L (P, o), searching a training network by using a small batch gradient descent algorithm and an Adam optimization method to obtain a trained neural network decoding model.
According to the LDPC code neural network training method provided by the embodiment, a neural network decoding model is constructed, a data set is used for carrying out iterative training on the neural network decoding model for multiple times, the strong learning capability of deep learning and the strong capability of the neural network for extracting high-dimensional data hidden features are combined, the errors of data transmitted by calculation and actual output are optimized in each training process according to the errors by using a small-batch gradient descent algorithm and an Adam optimization method, the trained neural network decoding model is obtained, and a foundation is provided for reducing the loss of BP decoding algorithm performance subsequently.
Example 2:
in addition, the method of embodiment 1 of the present invention can also be implemented by means of the architecture of the LDPC code neural network training system 1 shown in fig. 5. As shown in fig. 5, the LDPC code neural network training system 1 may include a historical data set acquisition module 2, a model construction module 3, and a model training module 4; some modules may also have sub-units for implementing their functions, for example, a hidden layer determination sub-module 3-1 is further included in the model building module 3, and an iterative training sub-module 4-1 and an information updating unit 4-1-1 are further included in the model training module 4 in succession. Of course, the architecture shown in fig. 5 is merely exemplary, and one or at least two components of the system shown in fig. 5 may be omitted as needed to implement different functions.
Example 3:
as shown in the flowchart of fig. 6, the present embodiment provides an LDPC code neural network decoding method, including the following steps:
b1, acquiring an output signal transmitted by an AWGN channel and demodulating the output signal into a bit log-likelihood ratio data set;
b2, inputting the bit log-likelihood ratio data set into a trained neural network decoding model obtained by executing the training method in the embodiment 1;
b3, sequentially updating information of each group of corresponding check node layer and variable node layer in the hidden layer, wherein the iteration number is half of the number of the hidden layer;
updating node information of the input data in each hidden layer of the trained neural network decoding model to obtain a final decoding result, as shown in the flowchart of fig. 7, wherein the updating information for one set of corresponding check node layer and variable node layer in step B3 includes:
b31, multiplying the message transmitted from the check node to the variable node by the correction factor at the check node layer for information updating;
b32, multiplying the message of the variable node transferred to the next check node by the correction factor at the variable node layer to update the information;
b32, outputting the neural network decoding result of the corresponding variable node according to the updated variable node information until the information of all node layers in the hidden layer is updated.
The LDPC code neural network decoding method provided in the embodiment uses the training method to obtain the trained neural network decoding model, combines strong learning ability of deep learning and strong ability of the neural network to extract high-dimensional data hiding characteristics, and uses the neural network decoding model to decode and output the LDPC code data, thereby reducing the loss of the performance of the traditional BP decoding algorithm in decoding the LDPC short code, enabling the decoding of the LDPC code to have better flexibility, low delay and high communication reliability, and meeting the main requirements of users in the communication field.
Example 4:
in addition, the method of embodiment 3 of the present invention can also be implemented by means of the architecture of the LDPC code neural network decoding system 5 shown in fig. 8. As shown in fig. 8, the LDPC code neural network decoding system 5 may include a data set acquisition module 6 and a decoding module 7; some modules may also have sub-units for implementing their functions, for example an iterative update unit 7-1 and an output unit 7-2 are also included in the decoding module 7. Of course, the architecture shown in fig. 8 is merely exemplary, and one or at least two components of the system shown in fig. 8 may be omitted as needed to implement different functions.
Portions of the technology may be considered "articles" or "articles of manufacture" in the form of executable code and/or associated data, which may be embodied or carried out by a computer readable medium. Tangible, non-transitory storage media may include memory or storage for use by any computer, processor, or similar device or associated module. For example, various semiconductor memories, tape drives, disk drives, or any similar device capable of providing a storage function for software.
All or a portion of the software may sometimes communicate over a network, such as the internet or other communication network. Such communication may load software from one computer device or processor to another. For example: from a server or host computer of the video object detection device to a hardware platform of a computer environment, or other computer environment implementing a system, or similar functionality related to providing information needed for object detection. Thus, another medium capable of transferring software elements may also be used as a physical connection between local devices, such as optical, electrical, electromagnetic waves, etc., propagating through cables, optical cables, air, etc. The physical medium used for the carrier wave, such as an electric, wireless or optical cable or the like, may also be considered as the medium carrying the software. As used herein, unless limited to a tangible "storage" medium, other terms referring to a computer or machine "readable medium" refer to media that participate in the execution of any instructions by a processor.
Example 5:
comparing the performance of the LDPC code neural network decoding method provided by the invention with the performance of the traditional BP decoding method by combining the example, taking (128,64) LDPC codes as an example, the performance graph of training data under different channel conditions is shown in FIG. 9, and training is carried out under the condition of selecting 1-5dB of multiple channels; a graph of the relationship between the iteration times and the BER performance is shown in FIG. 10, the performance and the structural complexity are comprehensively considered, and a 44-layer network is finally selected for 20 iterations in the neural network BP decoding; the performance comparison result of the method and the traditional method is shown in fig. 11, the decoding performance of the method is superior to that of the traditional BP decoding, and the simulation result proves the effectiveness of the neural network decoding method designed by the invention.
The principles and embodiments of the present invention have been described herein using specific examples, which are provided only to help understand the method and the core concept of the present invention; those skilled in the art will appreciate that the modules or steps of the invention described above can be implemented using general purpose computing apparatus, or alternatively, they can be implemented using program code executable by computing apparatus, such that it is executed by computing apparatus when stored in a storage device, or separately fabricated into integrated circuit modules, or multiple modules or steps thereof can be fabricated into a single integrated circuit module. The present invention is not limited to any specific combination of hardware and software.
Meanwhile, for a person skilled in the art, according to the idea of the present invention, the specific embodiments and the application range may be changed. In view of the above, the present disclosure should not be construed as limiting the invention.

Claims (10)

1. A method for training an LDPC neural network, the method comprising:
acquiring a data set for training a neural network decoding model; the data set is a bit log-likelihood ratio data set obtained by demodulating an output signal which is transmitted by an AWGN channel historically;
determining the structure of a neural network decoding model according to the data set to obtain a neural network decoding model to be trained;
and performing iterative training on the neural network decoding model to be trained by using the data set to obtain the trained neural network decoding model.
2. The LDPC code neural network training method of claim 1, wherein the determining the structure of the neural network coding model from the data set specifically comprises:
the neural network decoding model comprises an input layer, a hidden layer and an output layer, wherein the hidden layer comprises a check node layer and a variable node layer;
and determining the number of hidden layers in the neural network decoding model according to the data set.
3. The LDPC code neural network decoding method of claim 2, wherein the determining the number of hidden layers in the neural network decoding model according to the data set specifically comprises:
obtaining a corresponding Tanner graph according to a check matrix H of the LDPC code used by the data set;
and respectively taking the check nodes and the variable nodes with the message transfer relationship in the Tanner graph as an nth check node layer and an nth variable node layer.
4. The LDPC code neural network training method of claim 3, wherein the iteratively training the neural network coding model to be trained by using the data set specifically comprises:
training each group of check node layers and variable node layers with message transmission in the hidden layers in sequence, wherein the iteration number is half of the number of the hidden layers;
the step of training one of the group of check node layer and variable node layer with message passing specifically includes:
respectively updating information of the transmitted messages in a check node layer and a variable node layer to obtain updated variable node information;
outputting a neural network decoding result of the corresponding variable node according to the updated variable node information;
and training the next group according to the neural network decoding result and the input error optimization network of the data set.
5. The LDPC code neural network training method of claim 4, wherein the information updating of the transmitted messages at the check node layer and the variable node layer respectively specifically comprises:
multiplying the message transmitted from the check node to the variable node by the correction factor at the check node layer to update the information;
and multiplying the message which is transmitted to the next check node by the variable node at the variable node layer by the correction factor for information updating.
6. The LDPC code neural network training method of claim 4, wherein outputting the neural network decoding result of the corresponding variable node according to the updated variable node information specifically comprises:
and outputting the updated variable node information to an output layer, and outputting a neural network decoding result corresponding to the variable node by using a sigmod function as an activation function in the output layer.
7. The LDPC code neural network training method of claim 4, wherein the error optimization network according to the neural network decoding result and the data set specifically comprises:
calculating errors of the neural network decoding result and the transmitted data set by using a cross entropy loss function to obtain an output error;
and aiming at the output error, searching a training network by using a small batch gradient descent algorithm and an Adam optimization method to obtain a trained neural network decoding model.
8. An LDPC code neural network decoding method, characterized in that, using a trained neural network decoding model obtained by performing the LDPC code neural network training method according to any one of claims 1 to 8 to decode LDPC code data, specifically comprising:
acquiring an output signal transmitted by an AWGN channel and demodulating the output signal into a bit log-likelihood ratio data set;
inputting the bit log-likelihood ratio data set into the trained neural network decoding model;
sequentially updating information of each group of corresponding check node layer and variable node layer in the hidden layer, wherein the iteration number is half of the number of the hidden layers;
the information updating for one group of corresponding check node layers and variable node layers comprises the following steps:
multiplying the message transmitted from the check node to the variable node by the correction factor at the check node layer to update the information;
multiplying the message transmitted from the variable node to the next check node by the correction factor in the variable node layer to update the information;
and outputting the neural network decoding result of the corresponding variable node according to the updated variable node information until the information of all node layers in the hidden layer is updated.
9. An LDPC code neural network training system, wherein the system when executed by a processor performs the steps of the LDPC code neural network training method of any one of claims 1-7.
10. An LDPC code neural network decoding system, wherein the system when executed by a processor performs the steps of the LDPC code neural network decoding method of claim 8.
CN202111172359.3A 2021-10-08 2021-10-08 LDPC code neural network training and decoding method and system Pending CN113872610A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111172359.3A CN113872610A (en) 2021-10-08 2021-10-08 LDPC code neural network training and decoding method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111172359.3A CN113872610A (en) 2021-10-08 2021-10-08 LDPC code neural network training and decoding method and system

Publications (1)

Publication Number Publication Date
CN113872610A true CN113872610A (en) 2021-12-31

Family

ID=79002008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111172359.3A Pending CN113872610A (en) 2021-10-08 2021-10-08 LDPC code neural network training and decoding method and system

Country Status (1)

Country Link
CN (1) CN113872610A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117335815A (en) * 2023-11-29 2024-01-02 广东工业大学 Training method and device based on improved original model image neural decoder

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302267A (en) * 2018-09-26 2019-02-01 西安科技大学 Interpretation method, equipment and the storage medium of mimo system based on LDPC
CN109995380A (en) * 2018-01-02 2019-07-09 华为技术有限公司 Interpretation method and equipment
CN110798228A (en) * 2019-10-29 2020-02-14 南京宁麒智能计算芯片研究院有限公司 Polarization code turning decoding method and system based on deep learning
CN111106839A (en) * 2019-12-19 2020-05-05 北京邮电大学 Polarization code decoding method and device based on neural network
CN111565051A (en) * 2020-04-10 2020-08-21 北京邮电大学 Self-learning normalized bias minimum sum decoding method for LDPC code
CN112737599A (en) * 2021-01-06 2021-04-30 北京邮电大学 Self-learning rapid convergence decoding method and device for original pattern LDPC code

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995380A (en) * 2018-01-02 2019-07-09 华为技术有限公司 Interpretation method and equipment
CN109302267A (en) * 2018-09-26 2019-02-01 西安科技大学 Interpretation method, equipment and the storage medium of mimo system based on LDPC
CN110798228A (en) * 2019-10-29 2020-02-14 南京宁麒智能计算芯片研究院有限公司 Polarization code turning decoding method and system based on deep learning
CN111106839A (en) * 2019-12-19 2020-05-05 北京邮电大学 Polarization code decoding method and device based on neural network
CN111565051A (en) * 2020-04-10 2020-08-21 北京邮电大学 Self-learning normalized bias minimum sum decoding method for LDPC code
CN112737599A (en) * 2021-01-06 2021-04-30 北京邮电大学 Self-learning rapid convergence decoding method and device for original pattern LDPC code

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117335815A (en) * 2023-11-29 2024-01-02 广东工业大学 Training method and device based on improved original model image neural decoder
CN117335815B (en) * 2023-11-29 2024-03-15 广东工业大学 Training method and device based on improved original model image neural decoder

Similar Documents

Publication Publication Date Title
CN107977704B (en) Weight data storage method and neural network processor based on same
CN111414987B (en) Training method and training device of neural network and electronic equipment
Esfahanizadeh et al. Finite-length construction of high performance spatially-coupled codes via optimized partitioning and lifting
CN109361404B (en) L DPC decoding system and method based on semi-supervised deep learning network
CN105763203B (en) Multi-element LDPC code decoding method based on hard reliability information
Xu et al. Polar decoding on sparse graphs with deep learning
Xiao et al. Designing finite alphabet iterative decoders of LDPC codes via recurrent quantized neural networks
WO2021093866A1 (en) Deep learning channel decoding method based on alternating direction method of multipliers
WO2021204163A1 (en) Self-learning decoding method for protograph low density parity check code and related device thereof
US20230145452A1 (en) Method and apparatus for training a model
CN111339437B (en) Method and device for determining roles of group members and electronic equipment
CN115664899A (en) Channel decoding method and system based on graph neural network
WO2022062406A1 (en) Packet error correction code decoding method, apparatus, storage medium, and electronic device
WO2021102679A1 (en) Rank selection in tensor decomposition based on reinforcement learning for deep neural networks
Yang et al. Nonlinear programming approaches to decoding low-density parity-check codes
CN113872610A (en) LDPC code neural network training and decoding method and system
Dai et al. New min-sum decoders based on deep learning for polar codes
WO2017045142A1 (en) Decoding method and decoding device for ldpc truncated code
CN117353754A (en) Coding and decoding method, system, equipment and medium of Gaussian mixture model information source
CN112737599A (en) Self-learning rapid convergence decoding method and device for original pattern LDPC code
Ji et al. Generalised non‐locally centralised image de‐noising using sparse dictionary
Teng et al. Convolutional neural network-aided bit-flipping for belief propagation decoding of polar codes
CN115423098A (en) Method, system and device for injecting entity knowledge of pre-training language model
Tang et al. Normalized Neural Network for Belief Propagation LDPC Decoding
KR20210048396A (en) Apparatus and method for generating binary neural network

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