CN109951191B - Progressive decoding method and device for non-system Raptor code - Google Patents

Progressive decoding method and device for non-system Raptor code Download PDF

Info

Publication number
CN109951191B
CN109951191B CN201711395482.5A CN201711395482A CN109951191B CN 109951191 B CN109951191 B CN 109951191B CN 201711395482 A CN201711395482 A CN 201711395482A CN 109951191 B CN109951191 B CN 109951191B
Authority
CN
China
Prior art keywords
row
degree
judging whether
equal
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711395482.5A
Other languages
Chinese (zh)
Other versions
CN109951191A (en
Inventor
金思安
崔颖
邢观斌
刘辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guoguang Integration Beijing Media Technology Development Co ltd
Original Assignee
Guoguang Integration Beijing Media Technology Development Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guoguang Integration Beijing Media Technology Development Co ltd filed Critical Guoguang Integration Beijing Media Technology Development Co ltd
Priority to CN201711395482.5A priority Critical patent/CN109951191B/en
Publication of CN109951191A publication Critical patent/CN109951191A/en
Application granted granted Critical
Publication of CN109951191B publication Critical patent/CN109951191B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention discloses a progressive decoding method and device for a non-systematic Raptor code. The method comprises the following steps: before receiving the coding symbols, using a progressive decoding algorithm combined with a confidence coefficient propagation method to simplify a decoding matrix into an upper triangular matrix; in the process of receiving the coding symbol, using a progressive decoding algorithm combined with a confidence coefficient propagation method to reduce the decoding matrix simplified into an upper triangular matrix into a unit matrix to obtain a middle vector of the non-systematic Raptor code; and obtaining the effective load in the coding symbol according to the intermediate vector. According to the invention, the operation amount and the calculation complexity of the non-system Raptor code in the decoding process can be reduced, and the decoding speed is improved.

Description

Progressive decoding method and device for non-systematic Raptor code
Technical Field
The invention relates to the technical field of communication coding and decoding, in particular to a progressive decoding method and device of a non-systematic Raptor code.
Background
The Raptor code is a fountain code which can be used for coding and decoding in linear time, and can realize high decoding success rate under low decoding cost. The non-system Raptor code is taken as a subclass of Raptor code, has the advantage of low coding complexity and has good application prospect in the field of broadcast communication.
At present, the Internet Engineering Task Force (IETF) RFC 5053 standard specifies that The Raptor code decoding algorithm starts decoding after receiving a certain number of coded symbols. The decoder using the method of receiving the coded symbol first and then decoding the coded symbol brings about time waste, cannot realize fast decoding, and is not suitable for low-delay communication.
Existing decoders that receive encoded symbols and decode symbols at the same time, also called progressive decoders, are mainly classified into two types. The first is a progressive decoder based on the RFC 5053 standard. The decoding of the decoder is divided into two stages: in the first stage, a greedy algorithm is used for passivating the coding symbols with the ownership greater than or equal to 1, and then a confidence coefficient propagation method is executed to realize receiving and decoding at the same time; and in the second stage, after receiving the coded symbols, executing a Gaussian elimination method to realize the subsequent decoding operation. The drawback of such a progressive decoder is that: and a greedy algorithm is used for passivation, so that the operation speed of the second stage is reduced. And the second progressive decoder is based on Gaussian elimination method, and only adopts greedy algorithm to execute Gaussian elimination operation in decoding. The second decoder does not adopt a confidence coefficient propagation method, so that the efficient advantage of the confidence coefficient propagation method is avoided, and the decoding speed is low.
Therefore, it is desirable to provide a progressive decoding method for non-systematic Raptor codes, which can be combined with the belief propagation method and does not affect the decoding efficiency of the gaussian elimination method.
Disclosure of Invention
An object of the present invention is to provide a new technical solution for a progressive decoding method of a non-systematic Raptor code.
According to a first aspect of the present invention, there is provided a progressive decoding method for a non-systematic Raptor code, comprising:
before receiving the coding symbols, using a progressive decoding algorithm combined with a confidence coefficient propagation method to simplify a decoding matrix into an upper triangular matrix;
in the process of receiving the coding symbols, using a progressive decoding algorithm combined with a confidence coefficient propagation method to reduce the decoding matrix reduced into an upper triangular matrix into an identity matrix to obtain a middle vector of the non-systematic Raptor code;
and obtaining the effective load in the coding symbol according to the intermediate vector.
Optionally, the reducing the decoding matrix into an upper triangular matrix by using a progressive decoding algorithm combined with a belief propagation method includes:
initialization loop variable i =1;
judging whether i is greater than J;
if i > J does not hold, compare A 0 The ith row of (1) is assigned to a;
let s be the position of the leftmost nonzero element of a;
judging whether the elements in the s-th row in the A are all 0 or not;
if the elements in the s-th row in A are all 0, exchanging a with the s-th row in A;
enabling i = i +1, and returning to execute the step of judging whether i > J is true;
if the elements of the s-th row in A are not all 0 and the degree of a is less than that of the s-th row in A, exchanging a with the s-th row in A;
judging whether the degree of the s-th line in the A is 1 or not;
if the degree of the s-th line in A is 1, calling a recursive function back _ persistence (A, s) to execute an algorithm in the recursive function back _ persistence (A, s) until the degree of the s-th line in A is not 1;
if the degree of the s-th row in A is not 1, performing exclusive OR on the s-th row in A bit by bit to a, and judging whether the degree of a is greater than 0 or not;
if the degree of a is larger than 0, returning to execute the step of enabling s to be the position of the leftmost nonzero element of a;
if the degree of a is less than or equal to 0, making i = i +1, and returning to the step of judging whether i > J is true or not;
if i > J is established, the step of simplifying the decoding matrix which is simplified into an upper triangular matrix into an identity matrix in the process of receiving the coding symbols is executed;
wherein J represents the number of check codes in the outer code of the non-systematic Raptor code, A 0 The encoding matrix representing the non-systematic Raptor code has a size of (L + J) × (K + J), a represents a 1 × (K + J) row vector, a represents the decoding matrix, L represents the number of encoded symbols, and K represents the number of source symbols.
Optionally, the reducing the decoding matrix reduced to the upper triangular matrix to the identity matrix by using a progressive decoding algorithm combined with a belief propagation method includes:
each time a code symbol is received, assigning r to the payload of the code symbol and assigning a to a the code information vector of the code symbol;
let s be the position of the leftmost nonzero element of a;
judging whether the elements in the s-th row in the A are all 0 or not;
if the elements in the s-th row in A are not all 0 and the degree of a is less than that in the s-th row in A, exchanging the elements in the s-th rows in a and A and exchanging the elements in the s-th rows in R and R;
judging whether the degree of the s-th line in the A is 1 or not;
if the degree of the s-th line in A is 1, calling a recursive function back _ persistence (A, s) to execute an algorithm in the recursive function back _ persistence (A, s) until the degree of the s-th line in A is not 1;
if the degree of the s-th row in A is not 1, carrying out bitwise XOR on the s-th row in A to a, and carrying out bitwise XOR on the s-th row in R to R;
judging whether the degree of a is greater than 0;
if the degree of a is larger than 0, returning to execute the step of enabling s to be the position of the leftmost nonzero element of a;
if the degree of a is not more than 0, judging whether A is a unit matrix;
if A is not the identity matrix, returning to execute the step of assigning r to the payload of the coding symbol and assigning a to a the coding information vector of the coding symbol when each coding symbol is received;
if A is a unit matrix, obtaining the intermediate vector, and executing the step of obtaining the effective load in the coding symbol according to the intermediate vector;
if the elements of the s-th row in A are all 0, exchanging the elements of the s-th rows in a and A, exchanging the elements of the R-th row and the s-th row in R, and executing the step of judging whether the degree of a is greater than 0;
where R represents a payload vector, the size of which is K × 1.
Optionally, the operation performed by the recursive function back _ contribution (a, s) using a belief propagation method includes the following steps:
let loop variable k =1;
judging whether k is greater than or equal to s;
if k is more than or equal to s, jumping out the recursion function back _ simulation (A, s);
if k is not more than s, judging whether the element of the kth row and the s column in the A is equal to 0 or not;
if the element of the kth row and the s-th column in A is equal to 0, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s;
if the element of the kth line and the s column in the A is not equal to 0, the element of the kth line and the s column in the A is equal to 0, and whether the degree of the kth line in the A is equal to 1 is judged;
if the degree of the kth line in the A is equal to 1, calling the recursion function, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s;
and if the degree of the k-th row in the A is not equal to 1, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s.
Optionally, the obtaining the payload in the coding symbol according to the intermediate vector includes:
determining the first K elements of the intermediate vector X as payload X in the encoding symbol K
According to a second aspect of the present invention, there is provided a progressive decoding apparatus for a non-systematic Raptor code, comprising:
the preprocessing module is used for simplifying a decoding matrix into an upper triangular matrix by using a progressive decoding algorithm combined with a confidence coefficient propagation method before receiving the coding symbols;
a recursive computation module: for recursively performing the belief propagation method;
the decoding module is used for simplifying the decoding matrix simplified into the upper triangular matrix into an identity matrix by using a progressive decoding algorithm combined with a confidence coefficient propagation method in the process of receiving the coding symbol to obtain a middle vector of the non-systematic Raptor code;
and the output module is used for obtaining the effective load in the coding symbol according to the intermediate vector.
Optionally, the preprocessing module is specifically configured to:
initializing a loop variable i =1;
judging whether i is greater than J;
if i > J does not hold, compare A 0 The ith row of (1) is assigned to a;
let s be the position of the leftmost nonzero element of a;
judging whether the elements in the s-th row in the A are all 0 or not;
if the elements in the s-th row in A are all 0, exchanging a with the s-th row in A;
making i = i +1, and returning to execute the step of judging whether i > J is true;
if the elements of the s-th row in A are not all 0 and the degree of a is less than that of the s-th row in A, exchanging a with the s-th row in A;
judging whether the degree of the s-th line in the A is 1 or not;
if the degree of the s-th line in A is 1, calling a recursive function back _ persistence (A, s) to execute an algorithm in the recursive function back _ persistence (A, s) until the degree of the s-th line in A is not 1;
if the degree of the s-th row in A is not 1, performing exclusive OR on the s-th row in A bit by bit to a, and judging whether the degree of a is greater than 0 or not;
if the degree of a is larger than 0, returning to execute the step of enabling s to be the position of the leftmost nonzero element of a;
if the degree of a is less than or equal to 0, making i = i +1, and returning to the step of judging whether i > J is true or not;
if i is more than J, executing the operation in the decoding module;
wherein J represents the number of check codes in the outer code of the non-systematic Raptor code, A 0 The encoding matrix representing the non-systematic Raptor code has a size of (L + J) × (K + J), a represents a 1 × (K + J) row vector, a represents the decoding matrix, L represents the number of encoded symbols, and K represents the number of source symbols.
Optionally, the decoding module is specifically configured to:
each time a code symbol is received, assigning r to the payload of the code symbol and assigning a to a the code information vector of the code symbol;
let s be the position of the leftmost nonzero element of a;
judging whether the elements in the s-th row in the A are all 0 or not;
if the elements in the s-th row in A are not all 0 and the degree of a is less than that in the s-th row in A, exchanging the elements in the s-th rows in a and A and exchanging the elements in the s-th rows in R and R;
judging whether the degree of the s-th line in the A is 1 or not;
if the degree of the s-th line in the A is 1, executing the operation in the recursive computation module until the degree of the s-th line in the A is not 1;
if the degree of the s-th row in A is not 1, carrying out bitwise XOR on the s-th row in A and carrying out bitwise XOR on the s-th row in R to R;
judging whether the degree of a is greater than 0;
if the degree of a is larger than 0, returning to execute the step of enabling s to be the position of the leftmost nonzero element of a;
if the degree of a is not more than 0, judging whether A is an identity matrix;
if A is not the identity matrix, returning to execute the step of assigning r to the payload of the coding symbol and assigning a to a the coding information vector of the coding symbol when each coding symbol is received;
if A is a unit matrix, obtaining the intermediate vector, and executing the operation in the output module;
if the elements in the s-th row in A are all 0, exchanging the elements in the s-th rows in a and A, exchanging the elements in the s-th rows in R and R, and executing the step of judging whether the degree of a is greater than 0;
where R represents a payload vector, the size of which is K × 1.
Optionally, the recursive computation module is specifically configured to:
let loop variable k =1;
judging whether k is greater than or equal to s;
if k is more than or equal to s, jumping out the recursion function back _ simulation (A, s);
if k is not more than s, judging whether the element of the kth row and the s column in the A is equal to 0 or not;
if the element of the kth row and the s-th column in A is equal to 0, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s;
if the element of the kth row and the s-th column in A is not equal to 0, the element of the kth row and the s-th column in A is equal to 0, and whether the degree of the kth row in A is equal to 1 or not is judged;
if the degree of the kth line in the A is equal to 1, calling the recursion function, enabling k = k +1, and returning to the step of judging whether k is greater than or equal to s;
if the degree of the kth line in the A is not equal to 1, enabling k = k +1, and returning to execute the step of judging whether k is larger than or equal to s.
Optionally, the output module is specifically configured to:
determining the first K elements of the intermediate vector X as payload X in the encoding symbol K
According to one embodiment of the invention, the operation amount and the calculation complexity of the non-systematic Raptor code in the decoding process can be reduced, and the decoding speed is improved.
Other features of the present invention and advantages thereof will become apparent from the following detailed description of exemplary embodiments thereof, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention.
Fig. 1 is a schematic flowchart of a progressive decoding method for a non-systematic Raptor code according to an embodiment of the present invention.
Fig. 2 is a diagram illustrating a step 1100 in a method according to an embodiment of the invention.
Fig. 3 is a schematic diagram of step 1200 in the method according to the embodiment of the present invention.
Fig. 4 is a schematic diagram of the execution steps of the algorithm of the recursive function in the method according to the embodiment of the present invention.
FIG. 5 is a schematic block diagram of a device for progressive decoding of non-systematic Raptor codes according to an embodiment of the present invention.
Detailed Description
Various exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless specifically stated otherwise.
The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not limiting. Thus, other examples of the exemplary embodiments may have different values.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be discussed further in subsequent figures.
Generally, a sending end broadcasts a file to a user, and the file to be broadcasted needs to be encoded by using a raptor code first, so as to obtain a corresponding encoding symbol and send the encoding symbol to a receiving end. The decoder at the receiving end receives and decodes the encoded symbols to restore the file broadcast by the transmitting end. The embodiment is mainly applied to a decoder at a receiving end, and reduces the operation amount and the calculation complexity of a non-system Raptor code in the decoding process and improves the decoding speed by applying a progressive decoding algorithm combined with a confidence coefficient propagation method before and in the process of receiving a coded symbol. The following describes the progressive decoding method of the non-systematic Raptor code provided by the present invention in detail with reference to the accompanying drawings.
Fig. 1 is a schematic flowchart of a progressive decoding method for a non-systematic Raptor code according to an embodiment of the present invention.
As shown in fig. 1, the progressive decoding method of the non-systematic Raptor code of the present embodiment includes:
step 1100, before receiving the encoded symbols, using a progressive decoding algorithm combined with a belief propagation method to reduce the decoding matrix into an upper triangular matrix.
Specifically, before receiving the encoded symbol, the decoder may recover the encoded information of the outer code in the decoding matrix, so that the decoder may perform an operation on the encoded information of the outer code in the decoding matrix before receiving the encoded symbol, so as to reduce an operation amount of the decoder when receiving the encoded symbol.
In the preprocessing stage before receiving the coded symbols, a is initialized to zero vector, and r is initialized to 0,A to zero matrix. Wherein a represents a row vector of 1 × (K + J), r represents a variable, a represents a decoding matrix, J represents the number of check codes in the outer code of the non-systematic Raptor code, and K represents the number of source symbols.
In this embodiment, the preprocessing stage before receiving the encoded symbol aims to reduce the decoding matrix containing only the encoded information of the outer code into the upper triangular matrix equivalent to the decoding matrix by using the progressive decoding algorithm combined with the confidence coefficient propagation algorithm.
Specifically, referring to fig. 2, in this step, a progressive decoding algorithm combined with a confidence propagation method is used to reduce a decoding matrix into an upper triangular matrix, which includes:
initialization loop variable i =1.
And judging whether i is greater than J or not.
If i > J does not hold, let a = A 0 [i]I.e. A 0 The ith row of (a) is given as a. Wherein A is 0 The size of the coding matrix representing the non-systematic Raptor code is (L + J) × (K + J), L represents the number of coding symbols, J represents the number of check codes in an outer code of the non-systematic Raptor code, and K represents the number of source symbols.
Let s = leftmost _1 (a), i.e. let s be the position where the leftmost non-zero element of a is located.
It is determined whether Degree [ s ] =0 is established, that is, it is determined whether all elements in the s-th row in a are 0.
If the elements in line s of A are all 0,exchange (A [ s ], a), i.e., exchange a with line s of A.
And returning to the step of judging whether i > J is satisfied or not by making i = i + 1.
If the elements in line s in A are not all 0 and Degree [ s ] > D holds, i.e., the Degree of a is less than the Degree of line s in A, exchange (A [ s ], a), i.e., a is exchanged with line s in A.
It is determined whether or not Degree [ s ] =1 is established, that is, whether or not the Degree of the s-th row in a is 1.
If the degree of the s-th line in a is 1, the recursion function back _ persistence (a, s) is called to execute the algorithm in the recursion function back _ persistence (a, s) until the degree of the s-th line in a is not 1.
If the degree of the s-th row in A is not 1, let
Figure BDA0001518428930000091
That is, the s-th row in A is bitwise XOR-ed to a, and it is determined whether the degree of a is greater than 0.
And if the degree of a is greater than 0, returning to the step of executing the step of s = leftmost _1 (a).
And if the degree of a is less than or equal to 0, enabling i = i +1, and returning to the step of judging whether i > J is satisfied.
If i > J, go to step 1200.
The algorithm performs operation on the elements of J rows in the decoding matrix before receiving the coded symbols, thereby reducing the operation amount when receiving the coded symbols.
Here, "if the degree of the s-th line in a is 1, the recursive function back _ persistence (a, s) is called," this operation is to call the belief propagation method. The difference from the existing progressive decoding algorithm combined with the confidence propagation algorithm is that: the existing progressive decoding algorithm combined with the confidence coefficient propagation algorithm firstly uses a greedy algorithm to passivate (inactivation) coding symbols with the ownership greater than or equal to 1, then executes the confidence coefficient propagation method, and then executes a Gaussian elimination algorithm. And the implementation efficiency of the gaussian elimination method is affected by passivating the code symbols with the degree greater than 1 and then implementing the belief propagation method. Here, we use the conditional statement to classify the belief propagation algorithm and the gaussian elimination algorithm, i.e., if the degree of the s-th line in a is 1, execute the belief propagation algorithm; and if the degree of the s-th line in the A is greater than 1, executing a Gaussian elimination algorithm. The classification processing not only exerts the advantages of the confidence coefficient propagation algorithm, but also avoids passivation processing, and ensures the efficiency of the subsequent Gaussian elimination algorithm.
In addition, the confidence propagation algorithm is executed in a greedy recursive manner. That is, in the process of executing the confidence propagation algorithm, if a new row appears in a, and the degree of the new row is 1, the execution is continued, and the condition for stopping the execution is as follows: all the row degrees in A are greater than 1. The greedy recursion mode can improve the use frequency of the confidence coefficient propagation operation and improve the decoding efficiency.
Step 1200, in the process of receiving the coding symbol, using a progressive decoding algorithm combined with a confidence propagation method to reduce the decoding matrix reduced to the upper triangular matrix to an identity matrix, and obtaining a middle vector of the non-systematic Raptor code.
In the progressive decoding stage of the code symbol receiving process, the goal is to use the Gaussian elimination method and the confidence coefficient propagation method to operate, so that the decoding matrix A is simplified into an identity matrix.
Specifically, referring to fig. 3, in this step, the reducing the decoding matrix simplified as the upper triangular matrix into the identity matrix includes:
each time a code symbol is received, the payload of the code symbol is assigned to r and the code information vector of the code symbol is assigned to a.
Every time the assignment of a is completed, let s = leftmost _1 (a), i.e., let s be the position where the leftmost nonzero element of a is located.
It is determined whether Degree [ s ] =0 is established, that is, it is determined whether all elements in the s-th row in a are 0.
If the elements in line s in A are not all 0 and Degree [ s ] > D holds, i.e., the Degree of a is less than the Degree of line s in A, then exchange (A [ s ], a), exchange (Rs ], R), i.e., exchange a with line s in A and exchange R with the element in line s in R. Where R represents a payload vector, the size of which is K × 1.
Next, it is determined whether or not depth [ s ] =1 is established, that is, whether or not the Degree of the s-th row in a is 1.
If the degree of the s-th line in a is 1, the recursion function back _ persistence (a, s) is called to execute the algorithm in the recursion function back _ persistence (a, s) until the degree of the s-th line in a is not 1.
If the degree of the s-th row in A is not 1, then order
Figure BDA0001518428930000101
That is, the s-th row in A is XOR-ed to a bit by bit, and the s-th row in R is XOR-ed bit by bitExclusive or to r. Then, it is judged whether the degree of a is greater than 0.
And if the degree of a is greater than 0, returning to the step of executing the step of s = leftmost _1 (a).
If the degree of a is not more than 0, judging whether A is an identity matrix.
If A is not the identity matrix, returning to execute the steps of assigning r the payload of the coding symbol and assigning a the coding information vector of the coding symbol to a when one coding symbol is received.
If the elements in the s-th row in A are all 0, exchange (A [ s ], a) and exchange (R [ s ], R), namely, exchanging the elements in the s-th row in a and A, exchanging the elements in the s-th row in R and R, and executing the step of judging whether the degree of a is more than 0.
If A is the identity matrix, the intermediate vector of the non-systematic Raptor code is obtained, and then step 1300 is performed.
The process of obtaining the intermediate vector is explained here. Specifically, the intermediate vector of the non-systematic Raptor code can be solved according to a decoding equation and the decoding matrix simplified to the unit matrix.
Wherein, the decoding equation is:
Figure BDA0001518428930000111
where A is the decoding matrix, a represents a row vector of 1 (K + J), R represents a variable, R represents the payload vector, and X represents the intermediate vector, which has a size of (K + J) X1.
Through the above steps 1100 and 1200, the decoding matrix a has been reduced to an identity matrix, so that the decoder can solve the intermediate vector X faster according to the decoding equation.
After the intermediate vector X is solved, step 1300 is performed to obtain the payload in the encoded symbol according to the intermediate vector X.
In this step, the first K elements of the intermediate vector X are determined as payload X in the code symbol K
Here, referring to fig. 4, the steps involved in the operation of the recursive function back _ persistence (a, s) using the belief propagation method will be described as follows:
let the loop variable k =1.
And judging whether k is more than or equal to s.
And if the k is more than or equal to s, jumping out of the recursion function back _ persistence (A, s).
If k is not equal to or greater than s, judging whether A [ k ] [ s ] =0 is true, namely judging whether an element in the kth row and the s column in A is equal to 0.
And if the element in the kth row and the s-th column in the A is equal to 0, enabling k = k +1, and returning to execute the step of judging whether k is larger than or equal to s.
If the element in the kth row and the s-th column in A is not equal to 0, let A [ k ] [ s ] =0, that is, let the element in the kth row and the s-th column in A be equal to 0, and determine whether Degree [ k ] =1 is true, that is, determine whether the Degree of the kth row in A is equal to 1.
If the degree of the kth line in the A is equal to 1, calling the recursion function, enabling k = k +1, and returning to execute the step of judging whether k is larger than or equal to s.
And if the degree of the k-th row in the A is not equal to 1, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s.
The pseudo code for implementing the above steps 1100, 1200 and the recursive function is described below.
The pseudo code of step 1100 above is:
Figure BDA0001518428930000121
the pseudo code of the above step 1200 is:
Figure BDA0001518428930000122
Figure BDA0001518428930000131
the pseudo code of the above recursive function is:
Figure BDA0001518428930000132
Figure BDA0001518428930000141
in the technical scheme of the embodiment, before receiving the coding symbol, a progressive decoding algorithm combined with a confidence coefficient propagation method is used for simplifying a decoding matrix into an upper triangular matrix; in the process of receiving the coding symbols, using a progressive decoding algorithm combined with a confidence coefficient propagation method to reduce the decoding matrix reduced into an upper triangular matrix into an identity matrix to obtain a middle vector of the non-systematic Raptor code; and obtaining the effective load in the coding symbol according to the intermediate vector. Before receiving the coding symbols and in the process of receiving the decoding symbols, a progressive decoding algorithm combined with a confidence coefficient propagation method is used, and finally, the decoding matrix is reduced into an identity matrix. Therefore, the decoder can solve the intermediate vector more quickly according to the decoding equation, thereby quickly obtaining the payload in the encoding symbol and restoring the file sent by the sending end. According to the scheme of the embodiment, the operation amount and the calculation complexity of the non-systematic Raptor code in the decoding process can be reduced, and the decoding speed of the decoder is improved.
FIG. 5 is a schematic block diagram of a device for progressive decoding of non-systematic Raptor codes according to an embodiment of the present invention.
As shown in fig. 5, the apparatus 5000 for progressive decoding of non-systematic Raptor codes of this embodiment may include:
the preprocessing module 5100 is configured to reduce the decoding matrix into an upper triangular matrix using a progressive decoding algorithm combined with a belief propagation method before receiving the encoded symbols.
The preprocessing module 5100 is embedded with a progressive decoding program based on a gaussian elimination method, provides an interface for calling the recursive calculation module 5400, inputs a decoding matrix only containing the coding information of the outer code, and outputs an upper triangular matrix equivalent to the decoding matrix. The method is used for reducing a decoding matrix containing only the coding information of the outer code into an upper triangular matrix equivalent to the decoding matrix by using a progressive decoding algorithm combined with a confidence propagation method before receiving the coding symbols.
Recursive computation module 5400: for recursively performing the belief propagation method. The inside of the system is embedded with a greedy recursive operation program for executing a confidence propagation method, the input is a decoding matrix with 1 row degree and a corresponding intermediate vector which are processed in the preprocessing module 5100 and the decoding module 5200, and the output is an equivalent decoding matrix without 1 row degree and a corresponding intermediate vector.
The decoding module 5200 is configured to, in the process of receiving the encoded symbol, reduce the decoding matrix reduced to the upper triangular matrix to an identity matrix by using a progressive decoding algorithm combined with a confidence propagation method, so as to obtain an intermediate vector of the non-systematic Raptor code.
Wherein, the decoding module 5200 is embedded with a progressive decoding program based on gaussian elimination method, and provides an interface for calling the recursive computation module 5400, the input is the output of the preprocessing module 5100 and the received coding symbol, and the output is the intermediate vector of the non-systematic Raptor code. And the method is used for simplifying the decoding matrix simplified into the upper triangular matrix into an identity matrix by using a progressive decoding algorithm combined with a confidence coefficient propagation method in the process of receiving the coding symbols to obtain the intermediate vector of the non-systematic Raptor code.
The output module 5300 is configured to obtain the payload in the coding symbol according to the intermediate vector.
Optionally, the preprocessing module 5100 is specifically configured to: initialization loop variable i =1; judging whether i is greater than J; if i > J does not hold, compare A 0 The ith row of (1) is assigned to a; let s be the position of the leftmost nonzero element of a; judging whether the elements in the s-th row in the A are all 0 or not; if the elements in the s-th row in A are all 0, exchanging a with the s-th row in A; making i = i +1, and returning to execute the step of judging whether i > J is true; if the elements of the s-th row in A are not all 0 and the degree of a is less than that of the s-th row in A, exchanging a with the s-th row in A; judging whether the degree of the s-th line in the A is 1 or not; if the degree of the s-th row in A is 1, the operation in the recursive computation block 5400 is performed until the degree of the s-th row in A is 1The degree is not 1; if the degree of the s-th row in A is not 1, performing exclusive OR on the s-th row in A bit by bit to a, and judging whether the degree of a is greater than 0 or not; if the degree of a is larger than 0, returning to execute the step of enabling s to be the position of the leftmost nonzero element of a; if the degree of a is less than or equal to 0, making i = i +1, and returning to the step of judging whether i > J is true or not; if i > J is true, the operations in the decoding module 5200 are executed; wherein J represents the number of check codes in the outer code of the non-systematic Raptor code, A 0 The encoding matrix representing the non-systematic Raptor code has a size of (L + J) × (K + J), a represents a 1 × (K + J) row vector, a represents the decoding matrix, L represents the number of encoded symbols, and K represents the number of source symbols.
Optionally, the decoding module 5200 is specifically configured to: assigning r to the payload of a code symbol and a to the coded information vector of the code symbol every time a code symbol is received; let s be the position of the leftmost nonzero element of a; judging whether the elements in the s-th row in the A are all 0 or not; if the elements in the s-th row in A are not all 0 and the degree of a is less than that in the s-th row in A, exchanging the elements in the s-th rows in a and A and exchanging the elements in the s-th rows in R and R; judging whether the degree of the s-th line in the A is 1 or not; if the degree of the s-th row in a is 1, executing the operation in the recursive computation module 5400 until the degree of the s-th row in a is not 1; if the degree of the s-th row in A is not 1, carrying out bitwise XOR on the s-th row in A and carrying out bitwise XOR on the s-th row in R to R; judging whether the degree of a is greater than 0; if the degree of a is larger than 0, returning to execute the step of enabling s to be the position of the leftmost nonzero element of a; if the degree of a is not more than 0, judging whether A is an identity matrix; if A is not the identity matrix, returning to execute the step of assigning r to the payload of the coding symbol and assigning a to a the coding information vector of the coding symbol when each coding symbol is received; if A is a unit matrix, the intermediate vector is obtained, and the operation in the output module 5300 is executed; if the elements of the s-th row in A are all 0, exchanging the elements of the s-th rows in a and A, exchanging the elements of the R-th row and the s-th row in R, and executing the step of judging whether the degree of a is greater than 0; where R represents a payload vector, the size of which is K × 1.
The recursive computation module 5400 is specifically configured to: let loop variable k =1; judging whether k is greater than or equal to s; if k is more than or equal to s, jumping out the recursion function back _ simulation (A, s); if k is not more than s, judging whether the element of the kth row and the s column in the A is equal to 0 or not; if the element of the kth row and the s-th column in A is equal to 0, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s; if the element of the kth line and the s column in the A is not equal to 0, the element of the kth line and the s column in the A is equal to 0, and whether the degree of the kth line in the A is equal to 1 is judged; if the degree of the kth line in the A is equal to 1, calling the recursion function, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s; and if the degree of the k-th row in the A is not equal to 1, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s.
Optionally, the output module 5300 is specifically configured to: determining the first K elements of the intermediate vector X as payload X in the encoding symbol K
The progressive decoding apparatus of the non-systematic Raptor code of this embodiment can be used to implement the technical solutions of the above method embodiments, and its implementation principle and technical effect are similar, and are not described herein again.
The present invention may be a system, method and/or computer program product. The computer program product may include a computer readable storage medium having computer readable program instructions embodied therewith for causing a processor to implement various aspects of the present invention.
The computer-readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present invention may be assembler instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present invention are implemented by personalizing an electronic circuit, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA), with state information of computer-readable program instructions, which can execute the computer-readable program instructions.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, by software, and by a combination of software and hardware are equivalent.
While embodiments of the present invention have been described above, the above description is illustrative, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein were chosen in order to best explain the principles of the embodiments, the practical application, or technical improvements to the techniques in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. The scope of the invention is defined by the appended claims.

Claims (6)

1. A progressive decoding method of a non-systematic Raptor code is characterized by comprising the following steps:
before receiving the coded symbols, using a progressive decoding algorithm combined with a belief propagation method to reduce a decoding matrix into an upper triangular matrix, wherein,
initialization loop variable i =1;
judging whether i is greater than J;
if i > J does not hold, compare A 0 To (1) ai is given to a;
let s be the position of the leftmost nonzero element of a;
judging whether the elements in the s-th row in the A are all 0 or not;
if the elements in the s-th row in A are all 0, exchanging a with the s-th row in A;
making i = i +1, and returning to execute the step of judging whether i > J is true;
if the elements of the s-th row in A are not all 0 and the degree of a is less than that of the s-th row in A, exchanging a with the s-th row in A;
judging whether the degree of the s-th line in the A is 1 or not;
if the degree of the s-th line in A is 1, calling a recursive function back _ persistence (A, s) to execute an algorithm in the recursive function back _ persistence (A, s) until the degree of the s-th line in A is not 1;
if the degree of the s-th row in A is not 1, performing exclusive OR on the s-th row in A bit by bit to a, and judging whether the degree of a is greater than 0 or not; if the degree of a is larger than 0, returning to execute the step of enabling s to be the position of the leftmost nonzero element of a;
if the degree of a is less than or equal to 0, making i = i +1, and returning to the step of judging whether i > J is true or not;
if i > J is established, the step of simplifying the decoding matrix which is simplified into an upper triangular matrix into an identity matrix in the process of receiving the coding symbols is executed;
wherein J represents the number of check codes in the outer code of the non-systematic Raptor code, A 0 An encoding matrix representing the non-systematic Raptor code, the size of which is (L + J) × (K + J), a represents a 1 × (K + J) row vector, A represents the decoding matrix, L represents the number of encoding symbols, and K represents the number of source symbols;
in the process of receiving the coding symbol, using a progressive decoding algorithm combined with a confidence propagation method to reduce the decoding matrix simplified into an upper triangular matrix into an identity matrix to obtain a middle vector of the non-systematic Raptor code,
assigning r to the payload of a code symbol and a to the coded information vector of the code symbol every time a code symbol is received;
let s be the position of the leftmost nonzero element of a;
judging whether the elements in the s-th row in the A are all 0 or not;
if the elements in the s-th row in A are not all 0 and the degree of a is less than that of the s-th row in A, exchanging the s-th rows in a and A, and exchanging the elements in the s-th rows in R and R;
judging whether the degree of the s-th line in the A is 1 or not;
if the degree of the s-th line in A is 1, calling a recursive function back _ persistence (A, s) to execute an algorithm in the recursive function back _ persistence (A, s) until the degree of the s-th line in A is not 1;
if the degree of the s-th row in A is not 1, carrying out bitwise XOR on the s-th row in A to a, and carrying out bitwise XOR on the s-th row in R to R;
judging whether the degree of a is greater than 0;
if the degree of a is larger than 0, returning to execute the step of enabling s to be the position of the leftmost nonzero element of a; if the degree of a is not more than 0, judging whether A is an identity matrix;
if A is not the identity matrix, returning to execute the step of assigning r to the payload of the coding symbol and assigning a to a the coding information vector of the coding symbol when each coding symbol is received;
if A is a unit matrix, obtaining the intermediate vector, and obtaining the effective load in the coding symbol according to the intermediate vector;
if the elements of the s-th row in A are all 0, exchanging the elements of the s-th rows in a and A, exchanging the elements of the R-th row and the s-th row in R, and executing the step of judging whether the degree of a is greater than 0;
wherein R represents a payload vector, the size of which is K × 1;
and obtaining the effective load in the coding symbol according to the intermediate vector.
2. The method according to claim 1, wherein the recursive function back _ contribution (a, s) is operated by using a belief propagation method, comprising the following steps:
let loop variable k =1;
judging whether k is greater than or equal to s;
if k is more than or equal to s, jumping out the recursion function back _ simulation (A, s);
if k is not greater than s, judging whether the element in the kth row and the s column in the A is equal to 0 or not;
if the element of the kth row and the s-th column in A is equal to 0, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s;
if the element of the kth line and the s column in the A is not equal to 0, the element of the kth line and the s column in the A is equal to 0, and whether the degree of the kth line in the A is equal to 1 is judged;
if the degree of the kth line in the A is equal to 1, calling the recursion function, enabling k = k +1, and returning to the step of judging whether k is greater than or equal to s;
and if the degree of the k-th row in the A is not equal to 1, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s.
3. The method of claim 1, wherein deriving the payload in the encoded symbol from the intermediate vector comprises:
determining the first K elements of the intermediate vector X as the payload XK in the encoding symbol.
4. An apparatus for progressive decoding of non-systematic Raptor codes, comprising:
a preprocessing module, configured to reduce a decoding matrix into an upper triangular matrix by using a progressive decoding algorithm combined with a belief propagation method before receiving a coded symbol, where the preprocessing module is specifically configured to:
initialization loop variable i =1;
judging whether i is greater than J;
if i > J does not hold, assign line i of A0 to a;
let s be the position of the leftmost nonzero element of a;
judging whether the elements in the s-th row in the A are all 0 or not;
if the elements in the s-th row in A are all 0, exchanging a with the s-th row in A;
enabling i = i +1, and returning to execute the step of judging whether i > J is true;
if the elements of the s-th row in A are not all 0 and the degree of a is less than that of the s-th row in A, exchanging a with the s-th row in A;
judging whether the degree of the s-th line in the A is 1 or not;
if the degree of the s-th line in the A is 1, executing the operation in the recursive computation module until the degree of the s-th line in the A is not 1;
if the degree of the s-th row in A is not 1, performing exclusive OR on the s-th row in A bit by bit to a, and judging whether the degree of a is greater than 0 or not; if the degree of a is larger than 0, returning to execute the step of enabling s to be the position of the leftmost nonzero element of a;
if the degree of a is less than or equal to 0, making i = i +1, and returning to the step of judging whether i > J is true or not;
if i is more than J, executing the operation in the decoding module;
wherein J represents the number of check codes in an outer code of the non-systematic Raptor code, A0 represents an encoding matrix of the non-systematic Raptor code, the size of the encoding matrix is (L + J) × (K + J), a represents a row vector of 1 × (K + J), A represents the decoding matrix, L represents the number of encoding symbols, and K represents the number of source symbols;
a recursive computation module: for recursively performing the belief propagation method;
a decoding module, configured to reduce the decoding matrix simplified to the upper triangular matrix to an identity matrix by using a progressive decoding algorithm combined with a confidence propagation method in a process of receiving the encoded symbol, so as to obtain a middle vector of the non-systematic Raptor code, where the decoding module is specifically configured to:
each time a code symbol is received, assigning r to the payload of the code symbol and assigning a to a the code information vector of the code symbol;
let s be the position of the leftmost nonzero element of a;
judging whether the elements in the s-th row in the A are all 0 or not;
if the elements in the s-th row in A are not all 0 and the degree of a is less than that in the s-th row in A, exchanging the elements in the s-th rows in a and A and exchanging the elements in the s-th rows in R and R;
judging whether the degree of the s-th line in the A is 1 or not;
if the degree of the s-th line in the A is 1, executing the operation in the recursive computation module until the degree of the s-th line in the A is not 1;
if the degree of the s-th row in A is not 1, carrying out bitwise XOR on the s-th row in A and carrying out bitwise XOR on the s-th row in R to R;
judging whether the degree of a is greater than 0;
if the degree of a is larger than 0, returning to execute the step of enabling s to be the position of the leftmost nonzero element of a;
if the degree of a is not more than 0, judging whether A is an identity matrix;
if A is not the unit matrix, returning to execute the step of assigning the payload of the coding symbol to r and assigning the coding information vector of the coding symbol to a when one coding symbol is received;
if A is a unit matrix, obtaining the intermediate vector, and executing the operation in an output module;
if the elements of the s-th row in A are all 0, exchanging the elements of the s-th rows in a and A, exchanging the elements of the R-th row and the s-th row in R, and executing the step of judging whether the degree of a is greater than 0;
wherein R represents a payload vector, the size of which is K × 1;
and the output module is used for obtaining the effective load in the coding symbol according to the intermediate vector.
5. The apparatus of claim 4, wherein the recursive computation module is specifically configured to:
let loop variable k =1;
judging whether k is greater than or equal to s;
if k is more than or equal to s, jumping out the recursion function back _ persistence (A, s);
if k is not more than s, judging whether the element of the kth row and the s column in the A is equal to 0 or not;
if the element of the kth row and the s-th column in A is equal to 0, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s;
if the element of the kth line and the s column in the A is not equal to 0, the element of the kth line and the s column in the A is equal to 0, and whether the degree of the kth line in the A is equal to 1 is judged;
if the degree of the kth line in the A is equal to 1, calling the recursion function, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s;
and if the degree of the k-th row in the A is not equal to 1, enabling k = k +1, and returning to execute the step of judging whether k is greater than or equal to s.
6. The apparatus of claim 4, wherein the output module is specifically configured to:
determining the first K elements of the intermediate vector X as the payload XK in the encoding symbol.
CN201711395482.5A 2017-12-21 2017-12-21 Progressive decoding method and device for non-system Raptor code Active CN109951191B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711395482.5A CN109951191B (en) 2017-12-21 2017-12-21 Progressive decoding method and device for non-system Raptor code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711395482.5A CN109951191B (en) 2017-12-21 2017-12-21 Progressive decoding method and device for non-system Raptor code

Publications (2)

Publication Number Publication Date
CN109951191A CN109951191A (en) 2019-06-28
CN109951191B true CN109951191B (en) 2023-04-18

Family

ID=67006104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711395482.5A Active CN109951191B (en) 2017-12-21 2017-12-21 Progressive decoding method and device for non-system Raptor code

Country Status (1)

Country Link
CN (1) CN109951191B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272150A (en) * 2008-05-14 2008-09-24 中兴通讯股份有限公司 Decoding method and device for low-density generating matrix code
CN101510783A (en) * 2009-03-26 2009-08-19 北京理工大学 Multi-scale fountain encode and decode method based on finite domain
CN105846958A (en) * 2016-04-01 2016-08-10 哈尔滨工业大学深圳研究生院 Distributed system Raptor code transmission method specific to deep space communication

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414833B (en) * 2007-10-19 2010-08-04 中兴通讯股份有限公司 Method and apparatus for encoding low-density generated matrix code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272150A (en) * 2008-05-14 2008-09-24 中兴通讯股份有限公司 Decoding method and device for low-density generating matrix code
CN101510783A (en) * 2009-03-26 2009-08-19 北京理工大学 Multi-scale fountain encode and decode method based on finite domain
CN105846958A (en) * 2016-04-01 2016-08-10 哈尔滨工业大学深圳研究生院 Distributed system Raptor code transmission method specific to deep space communication

Also Published As

Publication number Publication date
CN109951191A (en) 2019-06-28

Similar Documents

Publication Publication Date Title
US10270470B2 (en) Polar code decoding method and decoder
KR102349209B1 (en) Systems and methods for multi-stage soft input decoding
JP4627317B2 (en) Communication apparatus and decoding method
US11303300B2 (en) Error detection in communication systems using polar coded data transmission
US10892848B2 (en) Devices and methods implementing polar codes
KR101817168B1 (en) Method and Apparatus for Approximated Belief Propagation Decoding of Polar Code
CN101478314B (en) Reed-solomon coder-decoder and decoding method thereof
EP3484126B1 (en) Method and apparatus for carrying identifier information
WO2018202097A1 (en) Encoding method and device
EP3364578B1 (en) Parallel decoding for qc-ldpc codes
US11086668B2 (en) Method, electronic device and computer program product for processing task
JP2012151839A (en) Method for performing soft decision decoding of euclidean space reed-muller code
CN105247808A (en) Systems and methods for decoding with late reliability information
US20200028669A1 (en) Method and system for rateless and pollution-attack-resilient network coding
KR20190117186A (en) Learning-based channel code decoding method and apparatus
Doan et al. Neural dynamic successive cancellation flip decoding of polar codes
EP3044882B1 (en) Ldpc decoding method and apparatus with identification of first and second extreme values from among a set of values
US10735141B2 (en) System and a method for error correction coding using a deep neural network
CN101379787A (en) Wireless communication apparatus
CN106664267B (en) Method and apparatus for decoding
CN107181567B (en) Low-complexity MPA algorithm based on threshold
CN109951191B (en) Progressive decoding method and device for non-system Raptor code
KR20040044589A (en) A Soft-Input Decoding Method of Reed-Muller Codes Using Majority Logic and Apparatus thereof
CN109412752B (en) Non-coherent detection receiver, system and method for polarization code
CN101411071A (en) MAP decoder with bidirectional sliding window architecture

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant