CN106936449B - Raptor code coding method based on joint matrix short-loop elimination - Google Patents

Raptor code coding method based on joint matrix short-loop elimination Download PDF

Info

Publication number
CN106936449B
CN106936449B CN201710079257.4A CN201710079257A CN106936449B CN 106936449 B CN106936449 B CN 106936449B CN 201710079257 A CN201710079257 A CN 201710079257A CN 106936449 B CN106936449 B CN 106936449B
Authority
CN
China
Prior art keywords
matrix
short
raptor
code
loop
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.)
Expired - Fee Related
Application number
CN201710079257.4A
Other languages
Chinese (zh)
Other versions
CN106936449A (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201710079257.4A priority Critical patent/CN106936449B/en
Publication of CN106936449A publication Critical patent/CN106936449A/en
Application granted granted Critical
Publication of CN106936449B publication Critical patent/CN106936449B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention discloses a Raptor code coding method based on joint matrix short loop elimination, which mainly aims at the distribution condition of '1' in a joint matrix, only eliminates the short loop in the joint matrix when LT coding is carried out in Raptor codes, and particularly extracts and detects related columns when the position of the '1' in each column is generated when LT coding is carried out in the Raptor codes, and randomly selects the position of the '1' again and continues detection until all LT coding is completed if the position of the '1' selected randomly enables the short loop to be generated in the joint matrix. Compared with the existing method, the coding method improves the coding gain.

Description

Raptor code coding method based on joint matrix short-loop elimination
Technical Field
The invention relates to the technical field of digital information transmission, in particular to a Raptor code coding method based on joint matrix short-loop elimination.
Background
With the rapid development of social economy, people enter the era of mobile communication and internet, the demand of personal communication is higher and higher, and the requirement of communication technology 'wide bandwidth, real-time and multimedia' is not only required to be communicated with any person at any time and any place; the "coding and decoding" technology, as an important component in communication technology, also faces higher requirements; to be able to guarantee the reliability of large data transmissions in broadcast and multicast, Luby et al in 1998 proposed the concept of digital fountain code, which is a codeless error correcting code based on erasure channels. The main idea is as follows: the original data is divided into any number K of code packets at a transmitting end, and the receiving end can recover the original data with high probability only by receiving any N code packets without knowing which packets are received. In general, N is slightly larger than K, while we define the coding overhead of ∈ Ν/K-1.
Luby proposed a practical variable code rate digital fountain code-LT (Luby transform) code for the first time in 2002. The LT code has low coding complexity and adopts a random coding mode for coding, thereby meeting the requirements of different users and changing channel conditions. However, the LT code has limitations that the operation amount required for successfully recovering the original data after decoding and the original data length k cannot satisfy a linear relationship. To improve the limitation of LT codes, Shakrollahi proposes a better-performing digital fountain code, Raptor code. Raptor codes concatenate a traditional channel code with good performance, such as an LDPC code, with an LT code, thereby improving the decoding efficiency thereof. In Raptor code coding, precoding is performed first, and then LT coding is performed on an intermediate code generated by precoding, as shown in fig. 2. The error correction capability of the pre-coding during Raptor code decoding can assist LT code decoding, so that the decoding performance is improved, and meanwhile, the pre-coding is introduced, so that the coding and decoding operand of Raptor code and the original coding length keep a linear relation.
Short-loop elimination of LT code generating matrixes in Raptor codes is always a problem of great attention of researchers, and existing short-loop elimination algorithms related to Raptor code coding are all proposed aiming at short loops in LT code generating matrixes or aiming at short loops in precoding matrixes. While the Raptor code is a concatenated code combining precoding and LT code, the matrix of the short loop is not only the precoding or LT code independent matrix, but may exist in other matrixes at the same time. Therefore, we need to continuously excavate the performance space of Raptor code and propose a coding method for Raptor code short-loop cancellation with better performance.
Disclosure of Invention
In order to overcome the defects and shortcomings in the prior art, the invention provides a Raptor code coding method based on joint matrix short-loop elimination.
The invention aims at a combined matrix formed by combining a pre-coded check matrix in Raptor code coding and a generation matrix of an LT code, as shown in figure 3, and eliminates a short loop in the combined matrix.
As shown in fig. 3, the focus of the present invention is the distribution of "1" in the joint matrix, short-loop c in the LT coding joint matrix in the Raptor code is eliminated without considering short-loop a in the precoding check matrix and short-loop b in the LE code generation matrix G, the position generation of "1" in each column during LT coding in the Raptor code is to extract the relevant column and detect it, if the position of "1" selected randomly causes the short-loop to be generated in the joint matrix, the position of "1" is selected randomly again and detection is continued until all LT codes are completed.
The invention adopts the following technical scheme:
a Raptor code coding method based on joint matrix short-loop elimination comprises the following steps:
s1, performing Raptor precoding, specifically, precoding K input symbols to generate K intermediate symbols;
s2, constructing a full 0 matrix G of K rows and N columns, randomly generating a degree d according to a degree distribution function, wherein d is larger than or equal to 1, if d is equal to 1, randomly selecting a position in the corresponding column in the matrix G to write into '1', repeating S2, and otherwise, entering S3;
s3 randomly selects a position in the first column of the matrix G to write '1', and records the row position of '1' as S1
S4, constructing a pre-coded check matrix H, and searching the S th1Column b with element "1" in row1,b2,b3…And stored into array R1Performing the following steps;
s5 finding the b-th check matrix H in the pre-coding1,b2,b3…Row a with element "1" in column1,a2,a3…And stored into array R2Performing the following steps;
s6 randomly selecting a second row position S in the first column of the matrix G2And then s is2And R2In (a)1,a2,a3…Making a comparison if s2And a1,a2,a3…If one of the values is equal, repeating S6;
if s is2And a1,a2,a3…None of which is equal, s is in the first column of matrix G2Line write "1", proceed to S7;
s7 repeats S4-S6, writing the remaining d-2 "1" S to the first column of matrix G;
s8 repeats steps S2-S6, and writes "1" in the position corresponding to the remaining N-1 columns.
The check matrix H has M rows and K columns, where M ═ K-K, K denotes the length of the information bits, and K denotes the codeword length, i.e., the number of intermediate symbols.
The array R1To store arrays continuously, each time S4 is executed, R1Refreshing once; the array R2For sequential storage of arrays, each row is written with a "1" into R2And refreshing once.
The Raptor coding method firstly carries out precoding on K input symbols to generate K intermediate symbols, and then generates a Raptor with the length of N after the generated intermediate symbols are subjected to LT coding;
the joint matrix is a joint matrix formed by combining a pre-coded check matrix H in Raptor code coding and a matrix G generated by LT codes.
The degree distribution function is a poisson degree distribution function.
The short loop is a short loop of length 4.
The working principle of the invention is as follows:
the existence of short loops similar to 4 loops and the like in the Raptor code coding matrix causes information transmitted from one node to return to the original node after passing through the short loops during decoding, the independence of information transmission between nodes is damaged, and finally the performance of coding and decoding is reduced. The performance of coding and decoding can be greatly improved by eliminating short loops in the process of encoding Raptor codes. The existing short-loop elimination algorithm related to Raptor code coding is proposed for a short loop in an LT code generating matrix G, such as a short loop b in fig. 3, or for a short loop in a precoding matrix H (such as a short loop a in fig. 3, and Raptor code is used as a precoding and LT code combined concatenated code, a matrix of the short loop is not limited to a precoding matrix or an LT code independent matrix, and simultaneously, the short loop elimination algorithm is present in a combined matrix formed by combining a precoding check matrix in Raptor code coding and a LT code generating matrix, such as a short loop c in fig. 3.
The invention has the beneficial effects that:
(1) compared with the original algorithm (without short loop elimination), the coding algorithm improves the coding gain of 0.5-1.5 dB, and has effects on regular codes, irregular codes, long codes and short codes.
(2) The core of the method is a short-loop detection method for the combined matrix, the calculation complexity is low, and the hardware is convenient to realize.
Drawings
FIG. 1 is a flow chart of the operation of the present invention;
FIG. 2 is a schematic diagram of the Raptor code encoding process in the present invention;
FIG. 3 is a schematic diagram of short-loop distribution in a combined matrix of Raptor codes in the present invention;
FIG. 4 is a simulation verification diagram of the present invention: an error block rate comparison schematic diagram when an (1008,504) irregular LDPC code with a code rate of 50% is used as a Raptor code for precoding;
FIG. 5 is a simulation verification diagram of the present invention: the block error rate comparison schematic diagram is used for precoding by using (1000,900) regular LDPC code with the code rate of 90% as Raptor code;
FIG. 6 is a simulation verification diagram of the present invention: the block error rate comparison schematic diagram is used for precoding by using a (5000,4750) regular LDPC code with a code rate of 95% as a Raptor code;
FIG. 7 is a simulation verification diagram of the present invention: and (5000,4500) irregular LDPC code with the code rate of 90% is used as a comparison diagram of the block error rate when the Raptor code is precoded.
Detailed Description
The present invention will be described in further detail with reference to examples and drawings, but the present invention is not limited to these examples.
Examples
As shown in fig. 1-fig. 3, in the Raptor code encoding method based on joint matrix short-loop cancellation, precoding in the process of the Raptor code encoding method selects a (K, K) LDPC code, where K denotes a codeword length, K denotes an information bit length, and a code rate R ═ K/K. And setting H as a check matrix of the LDPC code, namely a matrix of M rows and N columns formed by 0 and 1, wherein M is equal to K-K, and generating a Raptor code coded output symbol with the length of N after LT coding.
The joint matrix in the invention refers to a joint matrix formed by combining a pre-coded check matrix H in Raptor code coding and a matrix G generated by LT codes.
The generation matrix of the LT code is a sparse matrix, that is, the number of "1" in the matrix is much smaller than the number of "0", the number of "1" in each column in the matrix represents the number of original data packets required for generating a codeword, the number of "1" in each column in the matrix is called Degree (Degree), a probability function obeyed by the Degree is called Degree distribution function, commonly used ideal soliton distribution, robust soliton distribution, poisson Degree distribution and the like, and the position of "1" in the generation matrix represents which original data packets are selected for exclusive or operation. The LT code encoding process is to generate a degree d according to the degree distribution function, then select d of the original data packets with length k completely randomly, perform an exclusive or operation to generate a generated codeword, and loop in this way. The structure of the LT code generator matrix directly affects the performance of the LT code. If there are four "1" positions in the generator matrix, two by two, located in different columns of the same row or different rows of the same column, then these four "1" form a short ring with length 4, such as short ring b in fig. 3. The existence of the short ring like 4 ring causes the information transmitted from one node to return to the original node after passing through the short ring during decoding, which destroys the independence of information transmission between nodes and finally causes the reduction of coding and decoding performance.
According to the existing Raptor code coding method, a poisson degree distribution function is selected in the embodiment, and the specific short-loop elimination method comprises the following steps:
s1, performing Raptor precoding, specifically, precoding K input symbols to generate K intermediate symbols;
s2, constructing a full 0 matrix G of K rows and N columns, randomly generating a degree d according to a degree distribution function, wherein d is larger than or equal to 1, if d is equal to 1, randomly selecting a position in the corresponding column in the matrix G to write into '1', repeating S2, and otherwise, entering S3;
s3 randomly selects a position in the first column of the matrix G to write '1', and records the row position of '1' as S1
S4, constructing a pre-coded check matrix H, and searching the S th1Column b with element "1" in row1,b2,b3…And stored into array R1Performing the following steps;
s5 finding the b-th check matrix H in the pre-coding1,b2,b3…Row a with element "1" in column1,a2,a3…And stored into array R2Performing the following steps;
s6 randomly selecting a second row position S in the first column of the matrix G2And then s is2And R2In (a)1,a2,a3…Making a comparison if s2And a1,a2,a3…Where one of the stored row positions is equal, S6 is repeated;
if s is2And a1,a2,a3…None of which is equal, s is in the first column of matrix G2Line write "1", proceed to S7;
s7 repeats S4-S6, writing the remaining d-2 "1" S to the first column of matrix G;
s8 repeats steps S2-S6, and writes "1" in the position corresponding to the remaining N-1 columns.
The array R1To store arrays continuously, each time S4 is executed, R1Refreshing once; the array R2For sequential storage of arrays, each row is written with a "1" into R2And refreshing once.
Because the matrix existing in the loop is not limited to the precoding matrix or the LT code independent matrix, but also exists in a combined matrix (as shown in fig. 3) formed by combining the precoding check matrix H and the LT code generation matrix G in the Raptor code coding, the LT coding in the Raptor code can be performed by eliminating the short loop in the combined matrix in the Raptor code coding, and the performance of the Raptor code is improved.
And in the case of Gaussian white noise (AWGN) channel and BPSK modulation, a BP global iterative decoding algorithm of Raptor codes is adopted. Taking an (1008,504) irregular LDPC code with a code rate of 50%, a (1000,900) regular LDPC code with a code rate of 90%, a (5000,4750) regular LDPC code with a code rate of 95% and a (5000,4500) irregular LDPC code with a code rate of 90% as examples of Raptor code precoding, comparing the performances of an original algorithm and a new algorithm provided by the invention, namely a Raptor code coding algorithm based on joint matrix short-loop elimination.
In the simulation experiment of the invention, the degree corresponding to the output symbol eliminated by the short loop is selected and optimized to a certain extent, so that the final performance of the Raptor code is better.
(1) As shown in fig. 4: for the precoding of (1008,504) irregular LDPC code with code rate of 50% as Raptor code, the code rate of the coded Raptor code is set to be 1/3, and the block error rate is 10-1Nearby, although the precoding with lower code rate has an error platform, the combined matrix short-loop elimination algorithm is added, compared with the original algorithm, the gain of 0.5dB is still obtained, and the performance improvement is obvious.
(2) As shown in fig. 5: for the (1000,900) regular LDPC code with the code rate of 90 percent as Raptor code precoding, the code rate of the Raptor code after coding is set to be 2/3, precoding with high code rate is adopted, and the block error rate is rapidly reduced along with the increase of the signal-to-noise ratio. At a block error rate of 10-3Nearby, the combined matrix short-loop elimination algorithm has 1.5dB gain compared with the original algorithm, and the performance is greatly improved.
(3) As shown in fig. 6: for precoding by using (5000,4750) regular LDPC code with code rate of 95% as Raptor code, the code rate of the coded Raptor code is set to be 2/3, and for long code, the performance of the Raptor code is good. At a block error rate of 10-3And compared with the original algorithm, the combined matrix short-loop elimination algorithm has 0.3dB gain and the performance is improved to a certain degree.
(4) As shown in fig. 7: for precoding by taking (5000,4500) irregular LDPC codes with a code rate of 90% as Raptor codes, the code rate of the coded Raptor codes is set to be 2/3, and the performance of the Raptor codes is good for precoding by adopting irregular long codes. At a block error rate of 10-3Nearby, the combined matrix short-loop elimination algorithm has 0.5dB gain compared with the original algorithm, and the performance is obviously improved.
From simulation results, when regular or irregular long and short precoding with different code rates is adopted, the coding algorithm improves the coding gain of 0.5-1.5 dB compared with the original algorithm (without short loop elimination), and the performance improvement is obvious when high-code-rate codes are adopted as the precoding. The core of the method is a short-loop detection method for the combined matrix, the calculation complexity is low, and the hardware is convenient to realize.
The above embodiments are preferred embodiments of the present invention, but the present invention is not limited to the above embodiments, and any other changes, modifications, substitutions, combinations, and simplifications which do not depart from the spirit and principle of the present invention should be construed as equivalents thereof, and all such changes, modifications, substitutions, combinations, and simplifications are intended to be included in the scope of the present invention.

Claims (6)

1. A Raptor code coding method based on joint matrix short-loop elimination is characterized by comprising the following steps:
s1Raptor precoding, specifically precoding K input symbols to generate K intermediate symbols;
s2, constructing a full 0 matrix G with K rows and N columns;
s3 randomly generating a degree d according to the degree distribution function, wherein d is more than or equal to 1, if d is 1, a position is randomly selected from a corresponding column in the matrix G to be written in 1, if so, the method goes to S9, otherwise, the method goes to S4;
s4 randomly selects a position in the first column of the matrix G to write '1', and records the row position of '1' as S1
S5 finding the S-th check matrix H in the pre-coding check matrix1Column b with element "1" in row1,b2,b3.. and stores in array R1Performing the following steps;
s6 finding the b-th check matrix H in the pre-coding1,b2,bRow a with element "1" in column1,a2,a3.. and stores in array R2Performing the following steps;
s7 randomly selecting a second row position S in the first column of the matrix G2And then s is2And R2In (a)1,a2,a3.., if s2And a1,a2,a3.., if one is equal, repeating S7;
if s is2And a1,a2,a3... none of them are equal, then the s-th column in the matrix G is2Line write "1", proceed to S8;
s8 repeats S5-S7, writing the remaining d-2 "1" S to the first column of matrix G;
s9, judging whether the matrix G completes the generation of all the columns, if not, repeating the steps S3-S7, and writing '1' in the position corresponding to the remaining N-1 columns; if yes, ending the encoding;
the joint matrix is a joint matrix formed by combining a pre-coded check matrix H in Raptor code coding and a matrix G generated by LT codes.
2. A Raptor code coding method based on joint matrix short-loop cancellation according to claim 1, characterized in that the check matrix H has M rows and K columns, where M ═ K-K, K denotes the length of the information bits, and K denotes the codeword length, i.e. the number of intermediate symbols.
3. The Raptor code coding method based on joint matrix short-loop elimination as claimed in claim 1, wherein said array R1To store arrays continuously, each time S4 is executed, R1Refreshing once; the array R2For sequential storage of arrays, each row is written with a "1" into R2And refreshing once.
4. A Raptor code coding method based on joint matrix short-loop cancellation according to claim 1, characterized in that the Raptor coding method first precodes K input symbols to generate K intermediate symbols, and then generates Raptor with length N after LT coding the generated intermediate symbols.
5. The Raptor code encoding method based on joint matrix short-loop cancellation according to claim 1, wherein the degree distribution function is a poisson degree distribution function.
6. A Raptor code coding method based on joint matrix short-loop cancellation according to claim 1, characterized in that the short loop is a short loop with length 4.
CN201710079257.4A 2017-02-14 2017-02-14 Raptor code coding method based on joint matrix short-loop elimination Expired - Fee Related CN106936449B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710079257.4A CN106936449B (en) 2017-02-14 2017-02-14 Raptor code coding method based on joint matrix short-loop elimination

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710079257.4A CN106936449B (en) 2017-02-14 2017-02-14 Raptor code coding method based on joint matrix short-loop elimination

Publications (2)

Publication Number Publication Date
CN106936449A CN106936449A (en) 2017-07-07
CN106936449B true CN106936449B (en) 2020-05-22

Family

ID=59424023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710079257.4A Expired - Fee Related CN106936449B (en) 2017-02-14 2017-02-14 Raptor code coding method based on joint matrix short-loop elimination

Country Status (1)

Country Link
CN (1) CN106936449B (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252413A (en) * 2008-03-21 2008-08-27 哈尔滨工业大学深圳研究生院 Method for removing small ring of length 4 in fountain code generated matrix and uses thereof
KR101145673B1 (en) * 2010-12-27 2012-05-24 포항공과대학교 산학협력단 The method of encoding using lt code with specific structure and the method of encoding using raptor code based thereof
CN102324998B (en) * 2011-05-11 2013-09-04 浙江大学 Raptor Codes encoding/decoding method suitable for medium/short code lengths of additive white Gaussian noise channel

Also Published As

Publication number Publication date
CN106936449A (en) 2017-07-07

Similar Documents

Publication Publication Date Title
Fang et al. Outage-limit-approaching channel coding for future wireless communications: Root-protograph low-density parity-check codes
CN106100794B (en) Coding cooperation method based on punched polarization code
CN107026656B (en) CRC-assisted medium-short code length Polar code effective decoding method based on disturbance
CN107565984B (en) Raptor code optimized coding method with precoding as irregular code
CN103888148A (en) LDPC hard decision decoding method for dynamic threshold value bit-flipping
CN110233628B (en) Self-adaptive belief propagation list decoding method for polarization code
CN110233698B (en) Method for encoding and decoding polarization code, transmitting device, receiving device, and medium
CN109787641B (en) Method, device and storage medium for decoding sta-irecase code
CN106685597B (en) A kind of Raptor code part division ring coding method based on degree optimization
CN114553372B (en) Decoding method and device for digital signals and electronic equipment
CN110535560A (en) A kind of polarization code combines coding and interpretation method
Pathak et al. Performance analysis of polar codes for next generation 5G technology
US20100031116A1 (en) Method for encoding low density parity check codes using result of checking previously specified parity bits
CN106936449B (en) Raptor code coding method based on joint matrix short-loop elimination
US20110283168A1 (en) Method of Handling Packet Loss Using Error-Correcting Codes and Block Rearrangement
CN109639290B (en) Semi-random grouping superposition coding and decoding method
CN108880748B (en) Coding and decoding method of rateless Spinal code based on Latin square matrix
CN115426014A (en) Underwater sound MIMO communication method based on unitary space-time coding modulation
CN107257244A (en) A kind of fountain code encoding method based under broadcast environment
CN110719112B (en) Parameter self-adaptive RS code decoding method based on deep learning
Rao et al. CNN-SC decoder for polar codes under correlated noise channels
CN113315526A (en) Cascaded polarization code bit freezing belief propagation decoding method
US12047094B2 (en) Decoding method and decoding device
Qi et al. An improved successive cancellation decoder for polar codes
Kuang et al. FPGA implementation of a modified turbo product code decoder

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200522

CF01 Termination of patent right due to non-payment of annual fee