CN110768676A - Encoding method, encoding device, computer equipment and storage medium - Google Patents

Encoding method, encoding device, computer equipment and storage medium Download PDF

Info

Publication number
CN110768676A
CN110768676A CN201910761496.7A CN201910761496A CN110768676A CN 110768676 A CN110768676 A CN 110768676A CN 201910761496 A CN201910761496 A CN 201910761496A CN 110768676 A CN110768676 A CN 110768676A
Authority
CN
China
Prior art keywords
check
matrix
graph
code
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.)
Pending
Application number
CN201910761496.7A
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.)
Ningbo Polytechnic
Original Assignee
Ningbo Polytechnic
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 Ningbo Polytechnic filed Critical Ningbo Polytechnic
Priority to CN201910761496.7A priority Critical patent/CN110768676A/en
Publication of CN110768676A publication Critical patent/CN110768676A/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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/612Aspects specific to channel or signal-to-noise ratio estimation
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention is suitable for the field of computers, and provides an encoding method, an encoding device, computer equipment and a storage medium thereof, wherein the encoding method comprises the following steps: receiving a channel source code to be coded, and generating a first check chart; expanding the check nodes in the first check graph by adopting an error correcting code to obtain a second check graph; merging the two second check graphs to obtain a third check graph; mapping the third check chart to the first check matrix to obtain a supervision matrix; according to the formula G.HTAnd calculating to obtain a generator matrix, and encoding the channel source code to obtain a channel code. The check graph is designed, and the check nodes of the check graph are expanded by using a high-efficiency linear grouping or convolutional code check matrix to eliminate multiple edges, so that the check graph meets the requirement that the variables correspond to the check nodes, a required check matrix is obtained, the coded channel code has decoding performance similar to the Shannon limit, the decoding speed is high, the decoding is easy to realize, the lower error code flat bottom is realized, and the method is more suitable for the fields of wireless communication, emergency communication and the like.

Description

Encoding method, encoding device, computer equipment and storage medium
Technical Field
The present invention relates to the field of computers, and in particular, to an encoding method, an encoding apparatus, a computer device, and a storage medium.
Background
Coal is one of the main energy sources in China and is the basis of national economy and social development. However, the underground operation of coal mines in China is far away from the ground, the terrain is complex, the environment is severe, personnel and equipment are scattered, mine safety accidents and natural disasters frequently happen in recent years, huge economic losses and adverse social effects are caused, and remote multimedia communication service becomes necessary. Ground monitoring personnel need to directly communicate information with underground personnel, need to directly issue commands to the underground personnel, need to comprehensively and visually monitor actual production conditions of underground working sites, find accident head-of-seedling prevention in time, and also can provide relevant first-hand site data for experience and training in the process of analyzing accidents afterwards and total rescue. Therefore, the quality of video and voice communication is a major consideration of mining multimedia communication systems.
At present, in the existing domestic mining multimedia communication system, the problems of poor voice communication and sound collection quality, limited configuration, information transmission by means of cables and the like exist, a video monitoring and transmission system based on WiFi wireless communication transmission is adopted, the transmission of real-time video monitoring data of a disaster site can be effectively completed on such occasions, ground rescue workers can be effectively guided to carry out more targeted rescue work, the largest possible rescue guarantee is provided for saving lives of the disaster workers, however, in WIFI wireless transmission, the video monitoring and transmission system is an important technical means for information compression and reliable transmission, the existing coding technology is low in decoding speed, difficult to achieve, high in error code flat bottom and not mature in application of wireless transmission, and cannot be used in the field of wireless emergency communication.
Therefore, the technical problems that the decoding speed is low, the realization is difficult, the error code level is high, and the existing coding technology cannot be applied to the field of wireless emergency communication are urgently needed to be solved.
Disclosure of Invention
The embodiment of the invention aims to provide an encoding method, an encoding device, computer equipment and a storage medium, and aims to solve the technical problems that the existing encoding technology is low in decoding speed, difficult to realize, high in error code flat base and incapable of being applied to the field of wireless emergency communication.
The embodiment of the present invention is implemented as follows, in which an encoding method includes:
receiving a channel source code to be coded, and generating a first check chart of an eIRA code with a preset code rate according to a heuristic optimization algorithm; the first check graph is used for representing the connection relation between variable nodes and check nodes in the eIRA code;
expanding the check nodes in the first check graph by adopting an error correcting code to obtain a second check graph;
copying the second check graph, and merging the two second check graphs to obtain a third check graph; wherein, there is at most one connecting line between variable node and check node in the third check graph;
mapping the third check chart to a first check matrix to obtain a supervision matrix;
according to the formula G.HTCalculating to obtain a generator matrix, wherein the generator matrix is used for encoding the channel source code to obtain a channel code; wherein G represents the supervision matrix, H represents the generation matrix, T represents transposing the matrix, and O represents a 0 matrix.
Another object of an embodiment of the present invention is to provide an encoding designing apparatus, including:
the verification graph generating unit is used for receiving a channel source code to be coded and generating a first verification graph of an eIRA code with a preset code rate according to a heuristic optimization algorithm; the first check graph is used for representing the connection relation between the variable nodes and the check nodes in the eIRA code;
the check map processing unit is used for expanding the check nodes in the first check map by adopting an error correcting code to obtain a second check map; copying the second check graph, and merging the two second check graphs to obtain a third check graph; wherein, there is at most one connecting line between variable node and check node in the third check graph; mapping the third check graph to a first check matrix to obtain a supervision matrix;
a calculation output unit for outputting the calculated G.HTCalculating to obtain a generator matrix and outputting the generator matrix, wherein the generator matrix is used for encoding a channel source code to obtain a channel code; wherein G represents the supervision matrix, H represents the generation matrix, T represents transposing the matrix, and O represents a 0 matrix.
Another object of an embodiment of the present invention is a computer device, including a memory and a processor, where the memory stores a computer program, and the computer program, when executed by the processor, causes the processor to execute the steps of the code design method in the above embodiment.
Another object of an embodiment of the present invention is a computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, causes the processor to execute the steps of the code design method described in the above embodiment.
In the encoding method, the encoding device, the computer equipment and the storage medium provided by the embodiment of the invention, the existing heuristic optimization algorithm is utilized to design the check graph, and the check nodes of the check graph are expanded by using the check matrix of the efficient linear grouping or convolutional code; the method comprises the steps of eliminating multiple edges through copying and repeated processing, obtaining a newly expanded check chart, enabling the check chart to meet the requirement that variables correspond to check nodes, obtaining a required check matrix through sub-matrix offset optimization search in a quasi-cyclic matrix, and encoding channel source codes, so that the encoded channel codes have decoding performance similar to the Shannon limit, the decoding speed is high, the method is easy to achieve, the channel codes have low error code flat bottoms, and the method is more suitable for the fields of wireless communication, emergency communication and the like.
Drawings
Fig. 1 is an application environment diagram of an encoding method according to an embodiment of the present invention;
FIG. 2 is a flow chart of an encoding method according to an embodiment of the present invention;
FIG. 3 is a diagram illustrating steps of an encoding method according to an embodiment of the present invention;
FIG. 4 is a first verification diagram provided in accordance with an embodiment of the present invention;
FIG. 5 is a second calibration graph provided by an embodiment of the present invention;
FIG. 6 is a third verification diagram and a schematic diagram of a third verification diagram according to an embodiment of the invention;
fig. 7 is a detailed flowchart of generating a first check chart according to an embodiment of the present invention;
FIG. 8 is a flowchart illustrating a method for obtaining a second verification graph according to an embodiment of the present invention;
fig. 9 is a specific flowchart for obtaining a third verification diagram according to an embodiment of the present invention;
fig. 10 is a specific flowchart for obtaining a supervision matrix according to an embodiment of the present invention;
fig. 11 is a schematic structural diagram of an encoding apparatus according to an embodiment of the present invention;
fig. 12 is a schematic internal structural diagram of a computer device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
It will be understood that, as used herein, the terms "first," "second," and the like may be used herein to describe various elements, but these elements are not limited by these terms unless otherwise specified. These terms are only used to distinguish one element from another. For example, a first xx script may be referred to as a second xx script, and similarly, a second xx script may be referred to as a first xx script, without departing from the scope of the present application.
Fig. 1 is a diagram of an application environment of an encoding method according to an embodiment of the present invention, as shown in fig. 1, in the application environment, a computer device 110, an input channel 120, and an output channel 130 are included.
The computer device 110 may be, but is not limited to, a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, and the like.
The input channel 120 and the output channel 130 may be a wired communication connection or a wireless communication connection, which is not limited in this application.
As shown in fig. 2, in an embodiment, an encoding method is provided, which is mainly illustrated by applying the method to the computer device in fig. 1, where fig. 3 shows a schematic diagram of steps of the encoding method provided in the embodiment of the present invention, and an encoding method specifically includes the following steps:
step S202, receiving a channel source code to be coded, and generating a first check chart of an eIRA code with a preset code rate according to a heuristic optimization algorithm; the first check graph is used for representing the connection relation between the variable nodes and the check nodes in the eIRA code.
In the embodiment of the invention, the channel source code is a signal code which needs to be transmitted, can represent character information, picture information, sound information, video information or other information, and can form a code suitable for long-distance stable transmission through coding; heuristic algorithms (heuristic algorithms) are proposed relative to optimization algorithms, which can be defined as an algorithm based on intuitive or empirical construction, which gives a feasible solution for each instance of the combined optimization problem to be solved at an acceptable cost (referring to computation time and space), and the deviation degree of the feasible solution from the optimal solution can not be expected in general, and the first check chart is the check chart obtained initially in the application, wherein the first check chart is used for distinguishing the check chart from the check chart obtained subsequently. The preset code rate refers to a preset code rate, and can be freely set according to requirements.
In the embodiment of the present invention, fig. 4 shows a first check graph provided in the embodiment of the present invention, and a first check graph of an eIRA code with a preset code rate is generated according to a heuristic optimization algorithm, which means that a check node and a variable node are exhausted to obtain a relationship graph of the check node and the variable node, as shown in fig. 4, a square in the graph represents the check node, a circle represents the variable node, and for a most basic check node, one check node and two variable nodes, the check node is used for checking whether communication between the two variable nodes is normal, a heuristic optimization algorithm is adopted to simulate a connection relationship between the check node and the variable node, and then the check node and the two variable nodes are connected to form the first check graph.
Step S204, expanding the check nodes in the first check graph by adopting an error correcting code to obtain a second check graph.
In the embodiment of the present invention, an error correcting code (error correcting code) refers to a code that can be found or corrected at a receiving end after an error occurs in a transmission process, and a basic idea of the error correcting code is to select only a part of sequences composed of transmission symbols as a representative of information to be transmitted to a channel, and to make the selected sequences have as many differences as possible, and the code word can be extended by using the error correcting code.
In the embodiment of the present invention, fig. 5 illustrates a second check graph provided in the embodiment of the present invention, as shown in fig. 5, the check nodes 0 and 1 and the variable nodes 0, 1 and 2 extend the connection relationship between the check nodes and the variable nodes by using an error correction code, that is, adding one codeword between the variable nodes, changing two variable nodes in the first check graph into three variable nodes, and changing the detection nodes into two, and then rearranging the connection relationship between the detection nodes and the variable nodes to obtain a second check graph as shown in fig. three, where there are repeated connecting lines between the detection node 0 and the variable node 0.
Step S206, copying the second check chart, and merging the two second check charts to obtain a third check chart; and at most one connecting line is arranged between the variable node and the check node in the third check graph.
In the embodiment of the present invention, fig. 6 shows a schematic diagram for forming a third check graph provided in the embodiment of the present invention, and as shown in fig. 6, the second check graph is copied to obtain two second check graphs, and then the two second check graphs are merged to obtain a third check graph, but at most one connection line can exist between one check node and one variable node in the third check graph.
And step S208, mapping the third check chart to the first check matrix to obtain a supervision matrix.
In the embodiment of the present invention, the first check matrix is generated according to the codeword, the number of rows and columns of the check matrix is consistent with the number of information symbols and total symbols in the codeword, for example, there are 7 symbols in one codeword, where 4 information symbols and three parity symbols, then the first check matrix is a matrix with 4 rows and 7 columns, and elements of the first check matrix are supplemented according to the relationship between the parity check nodes and the variable nodes, and a connection line between the variable nodes and the parity check nodes is represented by 1, otherwise, it is represented by 0.
Step S2010, according to the formula G.HTCalculating to obtain a generator matrix, wherein the generator matrix is used for encoding the channel source code to obtain a channel code; wherein G represents the supervision matrix, H represents the generator matrix, T represents transposing the matrix, and 0 represents a 0 matrix.
The embodiment of the invention designs a check graph by using the existing heuristic optimization algorithm, and the check nodes of the check graph are expanded by using a high-efficiency linear grouping or convolution code check matrix; the method comprises the steps of eliminating multiple edges through copying and repeated processing, obtaining a newly expanded check chart, enabling the check chart to meet the requirement that variables correspond to check nodes, obtaining a required check matrix through sub-matrix offset optimization search in a quasi-cyclic matrix, and encoding channel source codes, so that the encoded channel codes have decoding performance similar to the Shannon limit, the decoding speed is high, the method is easy to achieve, the channel codes have low error code flat bottoms, and the method is more suitable for fields such as wireless communication and emergency communication.
In an embodiment, as shown in fig. 7, step S202 may specifically include the following steps:
step S702, generating a check node and two variable nodes, obtaining a connection relation between the check node and the two variable nodes through an exhaustion method, and obtaining the first check graph through line representation; and 0, 1 or a plurality of connecting lines are arranged between one check node and one variable node.
In the embodiment of the present invention, fig. 4 shows a first check graph provided in the embodiment of the present invention, where a preset code rate is one half bit, as shown in fig. 4, a square in the graph represents a check node, a circle represents a variable node, and for a most basic check structure, one check node and two variable nodes, the check node is used to check whether communication between the two variable nodes is normal, a heuristic optimization algorithm is used to simulate a connection relationship between the check node and the variable node, and then the check node and the two variable nodes have a connection line to form the first check graph, the connection relationship between the one check node and the two variable nodes is obtained by an exhaustive method, and the first check graph is obtained by representing the connection line; and 0, 1 or a plurality of connecting lines are arranged between one check node and one variable node.
According to the embodiment of the invention, the connection relation between one check node and two variable nodes is obtained through an exhaustion method to form the first check graph.
In an embodiment, as shown in fig. 8, step S204 may specifically include the following steps:
step S802, a packet interleaver is constructed through the parity check relation of the high-efficiency linear block code or the convolutional code.
In the embodiment of the present invention, the error correcting code is an efficient linear block code or a convolutional code, and M code words in the linear block code have a certain linear constraint relationship, that is, the code words collectively form a k-dimensional subspace of an n-dimensional linear space. This k-dimensional subspace is called the (n, k) linear block code. The linear system code is characterized in that the first k bits of each code word are composed of information bits corresponding to the code word, the following n-k bits are obtained through linear operation of the k information bits, n-tuple elements generated by convolutional code encoding are not only related to the currently input k tuple, but also related to the first m-1 input k tuples, and the number of the symbols correlated with each other in the encoding process is n m. The error correction performance of convolutional codes increases with increasing m, while the error rate decreases exponentially with increasing N. The embodiment of the invention can construct the packet interleaver by the parity check relation of the linear block code or the convolutional code.
Step S804, randomly distributing the packet interleaver between the check nodes and the variable nodes of the first check graph to form the second check graph.
In the embodiment of the present invention, as shown in fig. 5, interleavers are distributed between check nodes and variable nodes, the check nodes 0 and 1 and the variable nodes 0, 1 and 2, a connection relationship between the check nodes and the variable nodes is expanded by an error correction code, that is, a codeword is added between the variable nodes, two variable nodes in a first check map are changed into three variable nodes, and then two detection nodes are changed, and then the connection relationship between the detection nodes and the variable nodes is rearranged to obtain a second check map as shown in fig. three, where there are repeated connecting lines between the detection node 0 and the variable node 0.
According to the embodiment of the invention, the second inspection chart is obtained by expanding the first inspection chart.
In an embodiment, as shown in fig. 9, step S206 may specifically include the following steps:
step S902, when a plurality of connection lines exist between a first check node and a first variable node in the second check graph, copying the second check graph to obtain a second check graph replica graph, where a second check node and a second variable node of the second check graph replica graph correspond to the first check node and the second check node in the second check graph.
In the embodiment of the present invention, as shown in fig. 6, repeated connecting lines exist between the first check node and the first variable node of the second check graph, and the second check graph is copied to obtain the second check graph copy graph.
Step S904, connecting the repeated connection line of the first check node and the first variable node to the space between the first check node and the second variable node, and connecting the repeated connection line of the second check node and the second variable node to the space between the second check node and the first variable node, so as to form the third check graph.
In the embodiment of the present invention, as shown in fig. 6, the second check graph and the second check graph replica graph are merged, the repeated connection lines in the first check node and the first variable node are connected between the first check node and the second variable node, and the repeated connection lines in the second check node and the second variable node are connected between the second check node and the first variable node, so as to form the third check graph.
In the embodiment of the invention, the repeated connecting lines between the check nodes and the variable nodes are removed by copying the second check graph and merging the second check graph and the second check graph copy graph to form the third check graph.
In an embodiment, as shown in fig. 10, step S208 may specifically include the following steps:
step S1002, mapping the third check map into the first check matrix according to the generation rule of the check matrix.
In the embodiment of the present invention, the first check matrix is generated according to the codeword, the number of rows and columns of the check matrix is consistent with the number of information symbols and total symbols in the codeword, for example, there are 7 symbols in one codeword, where 4 information symbols and three parity symbols, then the first check matrix is a matrix with 4 rows and 7 columns, and elements of the first check matrix are supplemented according to the relationship between the parity check nodes and the variable nodes, and a connection line between the variable nodes and the parity check nodes is represented by 1, otherwise, it is represented by 0. As an embodiment of the present invention, the example of (7, 4) is given as an example, and 7 symbols C are included in one code word C of the (7, 4) linear block code6c5c4c3c2c1c0Wherein c is6c5c4c3As information symbols, c2c1c0Is a parity symbol. The relationship between the parity symbols and the information symbols may be represented by the following relationship:
Figure BDA0002170472450000101
where "+" is modulo-2 plus, the relationship between the 7 symbols of the (7, 4) code and the information code can be expressed as a matrix equation.
Step S1004, replacing the element "0" and the element "1" in the first check matrix with a zero matrix and a unit cyclic matrix of a preset dimension, respectively, to obtain the supervision matrix.
In the embodiment of the present invention, the relationship between the 7 symbols of the (7, 4) code and the information code can be expressed as a matrix equation, that is:
Figure BDA0002170472450000111
therefore, the temperature of the molten metal is controlled,
Figure BDA0002170472450000112
g is formed into a supervision matrix of the code (7, 4).
According to the formula G.HTCalculating to obtain a generating matrix; wherein G represents the supervision matrix, H represents the generator matrix, T represents transposing the matrix, and 0 represents a 0 matrix. And multiplying the generated matrix by a channel source code to obtain the channel code, and finishing the coding of the channel source code.
In the embodiment of the invention, more than one of the generation matrices satisfies G.HTAnd a plurality of generation matrixes H are provided, the channel source codes are coded for a plurality of times, the coded channel codes are selected to have decoding performance similar to the Shannon limit, the decoding speed is high, the realization is easy, and the generation matrix with a lower error code flat bottom is used as the optimal generation matrix to code the coded channel source codes.
As shown in fig. 11, in an embodiment, an encoding apparatus is provided, which may be integrated in the computer device 110, and specifically may include a verification graph generating unit 1210, a verification graph processing unit 1220, and a calculation output unit 1230.
The verification graph generating unit 1210 is configured to receive a channel source code to be coded, and generate a first verification graph of an eIRA code with a preset code rate according to a heuristic optimization algorithm; the first check graph is used for representing the connection relation between the variable nodes and the check nodes in the eIRA code;
the check map processing unit 1220 is configured to extend the check nodes in the first check map by using an error correction code to obtain a second check map; copying the second check graph, and merging the two second check graphs to obtain a third check graph; wherein, there is at most one connection between variable node and check node in the third check graph; mapping the third check chart to a first check matrix to obtain a supervision matrix;
a calculation output unit 1230 for outputting the formula G.HTCalculating to obtain a generator matrix and outputting the generator matrix, wherein the generator matrix is used for encoding a channel source code to obtain a channel code; wherein G denotes the supervision matrix, H denotes the generator matrix, T denotes transposing the matrix, and 0 denotes a 0 matrix.
FIG. 12 is a diagram illustrating an internal structure of a computer device in one embodiment. The computer device may be the computer device 110 of fig. 1. As shown in fig. 12, the computer apparatus includes a processor, a memory, a network interface, an input device, and a display screen connected through a system bus. Wherein the memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores an operating system and may also store a computer program which, when executed by the processor, causes the processor to implement the encoding method. The internal memory may also have stored therein a computer program that, when executed by the processor, causes the processor to perform the encoding method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
Those skilled in the art will appreciate that the architecture shown in fig. 12 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects may be applied, and that a particular computing device may include more or less components than those shown, or some components may be combined, or have a different arrangement of components.
In one embodiment, a computer device is proposed, the computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the following steps when executing the computer program:
receiving a channel source code to be coded, and generating a first check chart of an eIRA code with a preset code rate according to a heuristic optimization algorithm; the first check graph is used for representing the connection relation between variable nodes and check nodes in the eIRA code;
expanding the check nodes in the first check graph by adopting an error correcting code to obtain a second check graph;
copying the second check graph, and merging the two second check graphs to obtain a third check graph; wherein, there is at most one connecting line between variable node and check node in the third check graph;
mapping the third check chart to a first check matrix to obtain a supervision matrix;
according to the formula G.HTCalculating to obtain a generator matrix, wherein the generator matrix is used for encoding the channel source code to obtain a channel code; wherein G represents the supervision matrix, H represents the generator matrix, T represents transposing the matrix, and 0 represents a 0 matrix.
In one embodiment, a computer readable storage medium is provided, having a computer program stored thereon, which, when executed by a processor, causes the processor to perform the steps of:
receiving a channel source code to be coded, and generating a first check chart of an eIRA code with a preset code rate according to a heuristic optimization algorithm; the first check graph is used for representing the connection relation between variable nodes and check nodes in the eIRA code;
expanding the check nodes in the first check graph by adopting an error correcting code to obtain a second check graph;
copying the second check graph, and merging the two second check graphs to obtain a third check graph; wherein, there is at most one connecting line between variable node and check node in the third check graph;
mapping the third check chart to a first check matrix to obtain a supervision matrix;
according to the formula G.HTCalculating to obtain a generator matrix, wherein the generator matrix is used for encoding the channel source code to obtain a channel code; wherein G represents the supervision matrix, H represents the generator matrix, T represents transposing the matrix, and 0 represents a 0 matrix.
In the storage medium provided by the embodiment of the invention, the computer program is stored on the computer readable storage medium, when the computer program is executed by the processor, the existing heuristic optimization algorithm is utilized to design the check graph, and the check nodes of the check graph are expanded by using the high-efficiency linear grouping or convolutional code check matrix; the method comprises the steps of eliminating multiple edges through copying and repeated processing, obtaining a newly expanded check chart, enabling the check chart to meet the requirement that variables correspond to check nodes, obtaining a required check matrix through sub-matrix offset optimization search in a quasi-cyclic matrix, and encoding channel source codes, so that the encoded channel codes have decoding performance similar to the Shannon limit, and are high in decoding speed, easy to achieve, low in error code flat bottom, and more suitable for the fields of wireless communication, emergency communication and the like.
It should be understood that, although the steps in the flowcharts of the embodiments of the present invention are shown in sequence as indicated by the arrows, the steps are not necessarily performed in sequence as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in the embodiments may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of performing the sub-steps or stages is not necessarily sequential, but may be performed alternately or alternately with other steps or at least some of the sub-steps or stages of other steps.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a non-volatile computer readable storage medium, and can include the processes of the embodiments of the methods described above when executed. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bused dynamic RAM (DRDRAM), and bused dynamic RAM (RDRAM).
The technical features of the embodiments described above may be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the embodiments described above are not described, but should be considered as being within the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present invention, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the inventive concept, which falls within the scope of the present invention. Therefore, the protection scope of the present patent shall be subject to the appended claims.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and improvements made within the spirit and principle of the present invention are intended to be included within the scope of the present invention.

Claims (10)

1. An encoding method, characterized in that the encoding method comprises:
receiving a channel source code to be coded, and generating a first check chart of an eIRA code with a preset code rate according to a heuristic optimization algorithm; the first check graph is used for representing the connection relation between the variable nodes and the check nodes in the eIRA code;
expanding the check nodes in the first check graph by adopting an error correcting code to obtain a second check graph;
copying the second check graph, and merging the two second check graphs to obtain a third check graph; wherein, there is at most one connecting line between variable node and check node in the third check graph;
mapping the third check chart to a first check matrix to obtain a supervision matrix;
according to the formula G.HTCalculating to obtain a generator matrix, wherein the generator matrix is used for encoding the channel source code to obtain a channel code; wherein G represents the supervision matrix, H represents the generation matrix, T represents transposing the matrix, and O represents a 0 matrix.
2. The method of claim 1, wherein the predetermined code rate is one-half bit;
the generating of the first check chart of the eIRA code with the preset code rate according to the heuristic optimization algorithm comprises the following steps:
generating a check node and two variable nodes, obtaining a connection relation between the check node and the two variable nodes through an exhaustion method, and representing the connection relation through a connecting line to obtain the first check graph; and 0 or 1 or more connecting lines are arranged between one check node and one variable node.
3. The method of claim 1, wherein the error correction code is a high efficiency linear block code or a convolutional code;
the expanding the check nodes in the first check graph by adopting the error correcting code to obtain a second check graph comprises the following steps:
constructing a packet interleaver through the parity check relation of the high-efficiency linear block code or the convolutional code;
and randomly distributing the packet interleavers between check nodes and variable nodes of the first check graph to form the second check graph.
4. The method of claim 1, wherein the copying the second parity graph and merging the two second parity graphs to obtain a third parity graph comprises:
when a plurality of connecting lines exist between a first check node and a first variable node in the second check graph, copying the second check graph to obtain a second check graph copy graph, wherein a second check node and a second variable node of the second check graph copy graph correspond to the first check node and the second check node in the second check graph;
connecting repeated connecting lines in the first check node and the first variable node to the position between the first check node and the second variable node, and connecting repeated connecting lines in the second check node and the second variable node to the position between the second check node and the first variable node to form the third check graph.
5. The method of claim 1, wherein mapping the third check map into the first check matrix, and wherein obtaining the supervisory matrix comprises:
mapping the third check chart into a first check matrix according to a generating rule of the check matrix;
and replacing an element '0' and an element '1' in the first check matrix with a zero matrix and a unit cyclic matrix of preset dimensions respectively to obtain the supervision matrix.
6. The method of claim 5, wherein the identity cyclic matrix is a matrix obtained by circularly right-shifting element "1" in the identity matrix;
the replacing the element "0" and the element "1" in the first check matrix with a zero matrix and a unit cyclic matrix of a preset dimension respectively to obtain the supervision matrix, further comprising:
and replacing an element '0' in the first check matrix with a zero matrix of a preset dimension, and replacing an element '1' in the first check matrix with the unit cyclic matrix to obtain the supervision matrix.
7. The method according to claim 1, wherein the method is according to the formula G-HTCalculating to obtain a generator matrix, where the generator matrix is used to encode a channel source code, and obtaining a channel code includes:
according to the formula G.HTCalculating to obtain a generating matrix;
and multiplying the generated matrix by a channel source code to obtain the channel code, and finishing the coding of the channel source code.
8. An encoding design apparatus, characterized in that the encoding apparatus comprises:
the verification graph generating unit is used for receiving a channel source code to be coded and generating a first verification graph of an eIRA code with a preset code rate according to a heuristic optimization algorithm; the first check graph is used for representing the connection relation between the variable nodes and the check nodes in the eIRA code;
the check map processing unit is used for expanding the check nodes in the first check map by adopting an error correcting code to obtain a second check map; copying the second check graph, and merging the two second check graphs to obtain a third check graph; wherein, there is at most one connecting line between variable node and check node in the third check graph; mapping the third check chart to a first check matrix to obtain a supervision matrix;
a calculation output unit for outputting the calculated G.HTCalculating to obtain a generator matrix and outputting the generator matrix, wherein the generator matrix is used for encoding a channel source code to obtain a channel code; wherein G represents the supervision matrix, H represents the generation matrix, T represents transposing the matrix, and O represents a 0 matrix.
9. A computer device comprising a memory and a processor, the memory having stored therein a computer program that, when executed by the processor, causes the processor to perform the steps of the code design method of any one of claims 1 to 7.
10. A computer-readable storage medium, having stored thereon a computer program which, when executed by a processor, causes the processor to carry out the steps of the code design method according to any one of claims 1 to 7.
CN201910761496.7A 2019-08-18 2019-08-18 Encoding method, encoding device, computer equipment and storage medium Pending CN110768676A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910761496.7A CN110768676A (en) 2019-08-18 2019-08-18 Encoding method, encoding device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910761496.7A CN110768676A (en) 2019-08-18 2019-08-18 Encoding method, encoding device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
CN110768676A true CN110768676A (en) 2020-02-07

Family

ID=69329826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910761496.7A Pending CN110768676A (en) 2019-08-18 2019-08-18 Encoding method, encoding device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN110768676A (en)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149840A1 (en) * 2003-12-22 2005-07-07 Lee Sang-Hyun Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
CN1889367A (en) * 2005-06-28 2007-01-03 松下电器产业株式会社 Method for consitituting sparse generative matrix and method for coding low-density block check code
EP1816750A1 (en) * 2006-02-02 2007-08-08 Siemens Aktiengesellschaft Encoding and decoding of extended irregular repeat-accumulate (eIRA) codes
US20070186138A1 (en) * 2006-02-04 2007-08-09 Hitachi Global Technologies Netherlands, B.V. Techniques for providing greater error protection to error-prone bits in codewords genetated from irregular codes
US20100064199A1 (en) * 2008-03-31 2010-03-11 Sirius Xm Radio Inc. Efficient, programmable and scalable low density parity check decoder
US20100115371A1 (en) * 2008-10-31 2010-05-06 Broadcom Corporation Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding
CN102006085A (en) * 2010-11-04 2011-04-06 北京理工大学 Method for constructing eIRA-like quasi-cyclic low-density parity-check (LDPC) code check matrix
CN102843145A (en) * 2012-10-09 2012-12-26 浙江大学 Construction method of low bit-rate quasi-cyclic accumulative repeat accumulate codes
US20130227372A1 (en) * 2012-02-23 2013-08-29 Kabushiki Kaisha Toshiba Encoding apparatus and communication apparatus
US20150155884A1 (en) * 2013-12-03 2015-06-04 Samsung Electronics Co., Ltd. Method of and apparatus for generating spatially-coupled low-density parity-check code
US20160173132A1 (en) * 2014-12-10 2016-06-16 Alcatel-Lucent Usa Inc. Construction of Structured LDPC Convolutional Codes
US20160218750A1 (en) * 2015-01-23 2016-07-28 Empire Technology Development Llc Parity check code encoder
US20170317694A1 (en) * 2016-04-27 2017-11-02 National Tsing Hua University Encoding and decoding method of low-density parity-check code

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149840A1 (en) * 2003-12-22 2005-07-07 Lee Sang-Hyun Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
CN1889367A (en) * 2005-06-28 2007-01-03 松下电器产业株式会社 Method for consitituting sparse generative matrix and method for coding low-density block check code
EP1816750A1 (en) * 2006-02-02 2007-08-08 Siemens Aktiengesellschaft Encoding and decoding of extended irregular repeat-accumulate (eIRA) codes
US20070186138A1 (en) * 2006-02-04 2007-08-09 Hitachi Global Technologies Netherlands, B.V. Techniques for providing greater error protection to error-prone bits in codewords genetated from irregular codes
US20100064199A1 (en) * 2008-03-31 2010-03-11 Sirius Xm Radio Inc. Efficient, programmable and scalable low density parity check decoder
US20100115371A1 (en) * 2008-10-31 2010-05-06 Broadcom Corporation Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding
CN102006085A (en) * 2010-11-04 2011-04-06 北京理工大学 Method for constructing eIRA-like quasi-cyclic low-density parity-check (LDPC) code check matrix
US20130227372A1 (en) * 2012-02-23 2013-08-29 Kabushiki Kaisha Toshiba Encoding apparatus and communication apparatus
CN102843145A (en) * 2012-10-09 2012-12-26 浙江大学 Construction method of low bit-rate quasi-cyclic accumulative repeat accumulate codes
US20150155884A1 (en) * 2013-12-03 2015-06-04 Samsung Electronics Co., Ltd. Method of and apparatus for generating spatially-coupled low-density parity-check code
US20160173132A1 (en) * 2014-12-10 2016-06-16 Alcatel-Lucent Usa Inc. Construction of Structured LDPC Convolutional Codes
US20160218750A1 (en) * 2015-01-23 2016-07-28 Empire Technology Development Llc Parity check code encoder
US20170317694A1 (en) * 2016-04-27 2017-11-02 National Tsing Hua University Encoding and decoding method of low-density parity-check code

Similar Documents

Publication Publication Date Title
US11509418B2 (en) Polar code encoding method and device
CN105453466B (en) Rate matching method and device for polarization code
Shahabinejad et al. An efficient binary locally repairable code for hadoop distributed file system
CN111078460B (en) Fast erasure code calculation method
CN111880998A (en) Service system anomaly detection method and device, computer equipment and storage medium
ATE487982T1 (en) GENERATION OF PARITY TEST MATRICES
WO2018072294A1 (en) Method for constructing check matrix and method for constructing horizontal array erasure code
Kadhe et al. Codes with unequal locality
Pfister et al. Quantifying equivocation for finite blocklength wiretap codes
CN105811996B (en) data processing method and system based on quasi-cyclic LDPC
Shahabinejad et al. A class of binary locally repairable codes
CN114153651B (en) Data encoding method, device, equipment and medium
CN103746774A (en) Error resilient coding method for high-efficiency data reading
CN113760917B (en) Vector tile storage construction method and system
CN108712232A (en) A kind of multi-code word parallel decoding method in continuous variable quantum key distribution system
CN113297001A (en) RAID (redundant array of independent disks) coding and decoding method and coding and decoding circuit
CN111404554B (en) Method and device for generating coding matrix of erasure codes and electronic equipment
JP7091375B2 (en) Encoding method and device, computer storage medium
WO2018149354A1 (en) Polar code encoding method and apparatus, and device and storage medium
Olmez et al. Constructions of fractional repetition codes from combinatorial designs
CN110768676A (en) Encoding method, encoding device, computer equipment and storage medium
CN115269258A (en) Data recovery method and system
CN114691414A (en) Check block generation method and data recovery method
CN110990188B (en) Construction method of partial repetition code based on Hadamard matrix
CN115811318B (en) Polar code encoding method, device, communication equipment and storage medium

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