CN118868961B - A puncturing method and system based on RM code recursive list decoding - Google Patents
A puncturing method and system based on RM code recursive list decoding Download PDFInfo
- Publication number
- CN118868961B CN118868961B CN202410934670.4A CN202410934670A CN118868961B CN 118868961 B CN118868961 B CN 118868961B CN 202410934670 A CN202410934670 A CN 202410934670A CN 118868961 B CN118868961 B CN 118868961B
- Authority
- CN
- China
- Prior art keywords
- puncturing
- code
- decoding
- order
- path
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/136—Reed-Muller [RM] codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0067—Rate matching
- H04L1/0068—Rate matching by puncturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
The invention discloses a perforating method and a perforating system based on RM code recursion list decoding, wherein the method comprises the following steps of S1, determining a perforating sequence set based on column weights of RM codes, S2, selecting a perforating index from the perforating sequence set to obtain a hole set F, perforating bit positions of the perforating index in the perforating set F, setting log likelihood ratios at the perforating positions to be zero, S3, inputting perforated information bits and unpunched information bits into a decoder according to an original sequence, S4, decoding the RM codes through the decoder by utilizing a recursion structure, and selecting a path metric value with the smallest value from decoding paths as an output result. The invention selects the punching sequence according to the column weight of the generating matrix G of the RM code, and has better error code performance, higher information transmission capability and higher information transmission effectiveness under the condition of a relatively large punching quantity.
Description
Technical Field
The invention belongs to the technical field of information communication, and particularly relates to a perforating method and system based on RM code recursion list decoding.
Background
The development of wireless communication has prompted an increasing demand for reliability and availability of data transmission, and channel coding techniques have become an integral part of the data transmission process. The RM code is one of the oldest codes, the structure is simple, and the special structure of the first-order RM code can realize rapid maximum likelihood decoding. The improvement of various decoding modes of the RM code is based on the unique hierarchical structure of the RM, but the limitation of the code length and the code rate of the RM code cannot be changed. Thus, implementing rate-matched RM codes also becomes a significant problem.
At present, research on RM codes mainly focuses on searching an optimal decoding algorithm of the RM codes, and based on a special structure of the RM codes, only information bits with fixed orders can be transmitted, so that the method is inconvenient for realizing arbitrary code length and code rate. Thus, it is more meaningful to implement rate compatible RM codes. Rate compatibility is generally achieved by two methods, puncturing and shortening, and the puncturing technique for RM codes is not well described in the prior art. Conventional random puncturing and quasi-uniform puncturing QUP. When the number of holes is increased in the traditional hole punching mode, the phenomenon of error leveling occurs, and a better hole punching sequence is needed to optimize a hole punching list, so that the error rate performance of RM code punching is improved.
Disclosure of Invention
The invention aims to solve the defects in the prior art, and provides the following scheme:
a perforating method based on RM code recursion list decoding includes the following steps:
s1, determining a punching sequence set based on column weights of RM codes;
S2, selecting a punching index from the punching sequence set to obtain a hole set F, punching bit positions of the punching index in the punching set F, and setting a log likelihood ratio at the punching position to be zero;
S3, inputting the punched information bits and the unpunctured information bits into a decoder according to the original sequence;
S4, decoding the RM code by using the recursive structure through the decoder, and selecting the path metric value with the smallest value from the decoding paths as an output result.
Preferably, the method for determining the punching sequence comprises the following steps:
Calculating column weights of a generating matrix G based on a RM code recursion structure, and sorting according to an ascending manner based on values of the column weights to obtain a sorting result set P= (D 0,D1,...,Dm), wherein D t (0 is less than or equal to t is less than or equal to m) represents a set of index values under the condition of equal column weights, and m represents the number of variables of a generator polynomial involved in coding when constructing the RM code;
in the set under the condition of equal column weights, respectively arranging index values in a set D t (t is more than or equal to 0 and less than or equal to m) from small to large to obtain a punching ordered set D order(t) with equal column weights;
And replacing D t in the sequencing result set P with the punching ordered set D order(t) to obtain the punching ordered set P order=(Dorder(0),Dordeer(1),...,Dorder(m)).
Preferably, the S2 includes:
Punching bit positions of punching indexes in the punching set, taking out elements at the first K positions in the punching sequence set, marking the elements as a punching set F, and marking the positions without punching as a set I;
Setting the log-likelihood ratio of the position to 0 if the index of the codeword is in the punctured set F, and marking the log-likelihood ratio as a punctured information bit, and reserving the original value if the index of the codeword is in the set I, and marking the log-likelihood ratio as an unpunctured information bit:
Wherein LLR' represents punctured information bits and unpunctured information bits, LLR represents log-likelihood ratio, k (0.ltoreq.k.ltoreq.N-1) represents kth channel, and N represents code length of RM code.
Preferably, the log likelihood ratio is expressed as:
where Pr represents the probability value of which signal the sender sends when the received bit is 0 or 1, and u i (0.ltoreq.i.ltoreq.N-1) represents the bit of the ith codeword.
Preferably, the S4 includes:
Writing the RM code into a recursive structural form of (u, u+v) by utilizing the construction of the Plotkin of the RM code, wherein the RM (r, m) code with the length of 2 m can be decomposed into two codewords u and v with the length of 2 (m-1), r represents the order of the RM code, m represents the number of variables of a generator polynomial involved in encoding when constructing the RM code, u epsilon RM (r, m-1), v epsilon RM (r-1, m-1);
the decomposition of u and v continues until the repetition code RM (0, g) and the full-order codeword RM (h, h), wherein g=1, 2,..m-r, h=1, 3,..r;
If the repetition codes RM (0, g) appear, the obtained decoding result comprises that all the paths are 0 or 1, the two possible paths are expanded, L paths are reserved, if the number of the paths does not reach L, all the paths are reserved, and the path with the minimum path metric value is selected from the paths to be used as decoding output;
If the full-order code word RM (h, h) appears, adopting a mode of calculating path metric values, selecting L paths with the smallest path metric values as expansion paths, and enabling the obtained decoding result to iterate upwards according to the recursion structural form of (u, u+v), and selecting the path with the smallest path metric values from the L paths as decoding output after the decoding of all code words is completed.
Preferably, the method for calculating the path metric value includes:
Where l denotes the first path, i denotes decoding the i-th codeword, A path metric value representing an i-th codeword of the i-th path, j representing the number of codewords already decoded on which the current path metric value depends, exp representing an exponential function based on a natural number,Representing an estimate of the jth bit in the ith path,Representing the log-likelihood ratio of the jth estimated bit.
The invention also provides a punching system based on RM code recursion list decoding, which applies the punching method of any one of the above, and comprises a punching sequence determining module, a punching module, an input module and a decoding module;
the punching sequence determining module determines a punching sequence set based on column weights of the RM codes;
The punching module is used for selecting a punching index from the punching sequence set to obtain a hole set F, punching bit positions of the punching index in the punching set F, and setting a log likelihood ratio at the punching position to be zero;
The input module is used for inputting the punched information bits and the unpunched information bits into the decoder according to the original sequence;
The decoding module decodes the RM code by the decoder through the recursion structure, and selects the path metric value with the smallest value from the decoding paths as an output result.
Compared with the prior art, the invention has the beneficial effects that:
The invention realizes the code rate of any code length of the RM code, breaks the limit that the code length must be the power of 2, proposes a punching method based on the RM code, and under the condition that the punching sequence is selected according to the column weight of the generating matrix G of the RM code, the phenomenon of error leveling can not occur like the traditional random punching under the condition that the punching quantity is relatively large, the error code performance is better, and because of code word punching, some information transmitted by channels is zero, but still higher information transmission capacity can be maintained, and the information transmission effectiveness is higher.
Drawings
In order to more clearly illustrate the technical solutions of the present invention, the drawings that are needed in the embodiments are briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and that other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic flow chart of a method according to an embodiment of the invention;
FIG. 2 is a schematic diagram of a decoding recursive structure according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of simulation results according to an embodiment of the present invention;
fig. 4 is a schematic diagram of a system structure according to an embodiment of the invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
In order that the above-recited objects, features and advantages of the present invention will become more readily apparent, a more particular description of the invention will be rendered by reference to the appended drawings and appended detailed description.
Example 1
In this embodiment, as shown in fig. 1, a puncturing method based on RM code recursive list decoding includes the following steps:
S1, determining a punching sequence set based on column weights of RM codes.
The method for determining the punching sequence comprises the steps of calculating column weights of a generating matrix G based on the generating matrix G of an RM code recursion structure, sorting according to an ascending order based on values of the column weights to obtain a sorted result set P= (D 0,D1,...,Dm), wherein D t (0 is less than or equal to t is less than or equal to m) represents a set of index values under the condition of equal column weights, m represents the number of variables of a generator polynomial involved in coding when the RM code is constructed, the code length N=2 m of the RM code is also determined, index values in the set D t (0 is less than or equal to t is less than or equal to m) are respectively arranged from small to large in the set under the condition of equal column weights, so that a punched ordered set D order(t) with equal column weights is obtained, the relative position of D t (0 is less than or equal to t is less than or equal to m) in the set P is not changed, and D t (0 is less than or equal to t is replaced by the punched ordered set D order(t) in the set P rder=(Dorder(0),Dorder(1),...,Dorder(m).
S2, selecting a punching index from the punching sequence set to obtain a hole set F, punching bit positions of the punching index in the hole set F, and setting the log likelihood ratio at the punching position to be zero.
S2, punching bit positions of punching indexes in a punching set, taking out elements at the first K positions in the punching sequence set, marking the elements as a punching set F and marking the positions without punching as a set I, setting the log likelihood ratio of the positions as 0 if the indexes of the code words are positioned in the punching set F, marking the positions as punched information bits, and keeping the original values and marking the positions as unpunched information bits if the indexes of the code words are positioned in the set I:
Wherein LLR' represents punctured information bits and unpunctured information bits, LLR represents log-likelihood ratio, k (0.ltoreq.k.ltoreq.N-1) represents kth channel, and N represents code length of RM code.
The log-likelihood ratio is the ratio of the probability of 0 to the probability of 1 of the corresponding data bit, and then the log is taken, and the formula of the log-likelihood ratio is as follows:
where Pr represents the probability value of which signal the sender sends when the received bit is 0 or 1, and u i (0.ltoreq.i.ltoreq.N-1) represents the bit of the ith codeword.
S3, inputting the punched information bits and the unpunctured information bits into a decoder according to the original sequence. In this embodiment, it is necessary to ensure that the order of LLRs' input to the decoder is unchanged.
S4, decoding the RM code through a decoder by utilizing the recursion structure, and selecting the path metric value with the smallest value from the decoding paths as an output result.
S4 comprises the steps of utilizing the structure of a Plotkin of an RM code, writing the RM code into a recursive structural form of (u, u+v) as shown in a figure 2, decomposing the RM (r, m) code with the length of 2 m into two codewords u and v with the length of 2 (m-1), wherein r represents the order of the RM code, m represents the number of variables of a generator polynomial involved in the encoding when constructing the RM code, u epsilon RM (r, m-1), v epsilon RM (r-1, m-1), continuously decomposing u and v until the repetitive code RM (0, g) and a full-order codeword RM (h, h) appear, wherein g=1, 2, m-r, h=1, 2, r, if the repetitive code RM (0, g) appears, the obtained decoding result comprises that all paths are 0 or all are 1, and expanding two possible paths, retaining L paths, if the number of paths does not reach L paths, and taking the minimum value of paths as a path, selecting the recursive structural form as a decoding order value, and taking the maximum value of the minimum value of the paths as a path, and taking the maximum value of the recursive structural form as a decoding path, and taking the maximum value of the minimum value of the path as a decoding order value of the path of the total path L as a decoding order value. The calculation method of the path metric value comprises the following steps:
Where l denotes the first path, i denotes decoding the i-th codeword, A path metric value representing an i-th codeword of the i-th path, j representing the number of codewords already decoded on which the current path metric value depends, exp representing an exponential function based on a natural number,Representing an estimate of the jth bit in the ith path,Representing the log-likelihood ratio of the jth estimated bit.
As shown in fig. 3, the simulation results of the present embodiment compare the conventional random puncturing method and quasi-uniform puncturing method with the method of selecting the puncturing order according to the column weight of the RM code according to the present invention. The performance of the method can be seen from the graph, and the bit error rate performance of the punching sequence selected based on the column weight is obviously superior to that of random punching and quasi-uniform punching, and particularly when the punching quantity is large, the punching method provided by the invention does not have the phenomenon of error leveling.
Example two
In this embodiment, as shown in fig. 4, a puncturing system based on RM code recursive list decoding includes a puncturing order determining module, a puncturing module, an input module and a decoding module.
The puncturing order determination module determines a set of puncturing orders based on column weights of the RM codes.
The workflow of the punching sequence determining module comprises the steps of calculating column weights of a generating matrix G based on the generating matrix G of an RM code recursion structure, sorting according to an ascending mode based on values of the column weights to obtain a sorting result set P= (D 0,D1,...,Dm), wherein D t (0 is less than or equal to t is less than or equal to m) represents a set of index values under the condition of equal column weights, m represents the number of variables of a generating polynomial involved in coding when the RM code is constructed, the code length N=2 m of the RM code is also determined, index values in the set D t (0 is less than or equal to t is less than or equal to m) are arranged from small to large in the set under the condition of equal column weights to obtain a punching sequence set D order(t) with equal column weights, the relative positions of D t (0 is less than or equal to t is less than or equal to m) in the sorting result set P are not changed, and D t (0 is less than or equal to m) in the sorting sequence set P order(t) is replaced by the punching sequence set D order=(Dorder(0),Dorder(1),...,Dorder(m).
The puncturing module is used for selecting a puncturing index from the puncturing sequence set to obtain a puncturing set F, puncturing bit positions of the puncturing index in the puncturing set F, and setting the log likelihood ratio at the puncturing positions to be zero.
The work flow of the punching module comprises the steps of punching bit positions of punching indexes in a punching set, taking out elements of the first K positions in the punching sequence set, marking the elements as a punching set F and marking the positions without punching as a set I, setting the log likelihood ratio of the positions as 0 if the indexes of the code words are positioned in the punching set F, marking the log likelihood ratio as punched information bits, and reserving original values and marking the elements as unpunched information bits if the indexes of the code words are positioned in the set I:
Wherein LLR' represents punctured information bits and unpunctured information bits, LLR represents log-likelihood ratio, k (0.ltoreq.k.ltoreq.N-1) represents kth channel, and N represents code length of RM code.
The log-likelihood ratio is the ratio of the probability of 0 to the probability of 1 of the corresponding data bit, and then the log is taken, and the formula of the log-likelihood ratio is as follows:
where Pr represents the probability value of which signal the sender sends when the received bit is 0 or 1, and u i (0.ltoreq.i.ltoreq.N-1) represents the bit of the ith codeword.
The input module is used for inputting the punctured information bits and the unpunctured information bits into the decoder according to the original sequence. In this embodiment, it is necessary to ensure that the order of LLRs' input to the decoder is unchanged.
The decoding module decodes the RM code by using the recursion structure through the decoder, and selects the path metric value with the smallest value from the decoding paths as an output result.
The workflow of the decoding module comprises the steps of utilizing the construction of a Plotkin of an RM code, writing the RM code into a recursive structural form of (u, u+v) as shown in a figure 2, decomposing the RM (r, m) code with the length of 2 m into two codewords u and v with the length of 2 (m-1), wherein r represents the order of the RM code, m represents the number of variables of a generator polynomial involved in the construction of the RM code, u epsilon RM (r, m-1), v epsilon RM (r-1, m-1), continuously decomposing u and v until the repetitive code RM (0, g) and the full-order codeword RM (h, h) appear, wherein g=1, 2, m-r, h=1, 2, r, if the repetitive code RM (0, g) appears, the obtained decoding result comprises two possible paths which are all 0 or all 1, and expanding, L paths are reserved, if the number of paths does not reach L paths, and the full-order paths are selected as the largest value of the paths, and the value of the recursive structural form is used as the decoding result, and the value of the recursive structural form is calculated from the full-order codeword (h, h) is selected as the decoding path value after the maximum value of the full-order path is output from the paths. The calculation method of the path metric value comprises the following steps:
Where l denotes the first path, i denotes decoding the i-th codeword, A path metric value representing an i-th codeword of the i-th path, j representing the number of codewords already decoded on which the current path metric value depends, exp representing an exponential function based on a natural number,Representing an estimate of the jth bit in the ith path,Representing the log-likelihood ratio of the jth estimated bit.
The foregoing embodiments are merely illustrative of the preferred embodiments of the present invention, and the scope of the present invention is not limited thereto, but various modifications and improvements made by those skilled in the art to which the present invention pertains will be made without departing from the spirit of the present invention, and it is intended to fall within the scope of the present invention as defined in the appended claims.
Claims (4)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410934670.4A CN118868961B (en) | 2024-07-12 | 2024-07-12 | A puncturing method and system based on RM code recursive list decoding |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410934670.4A CN118868961B (en) | 2024-07-12 | 2024-07-12 | A puncturing method and system based on RM code recursive list decoding |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN118868961A CN118868961A (en) | 2024-10-29 |
| CN118868961B true CN118868961B (en) | 2025-05-27 |
Family
ID=93170626
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410934670.4A Active CN118868961B (en) | 2024-07-12 | 2024-07-12 | A puncturing method and system based on RM code recursive list decoding |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118868961B (en) |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004032398A1 (en) * | 2002-09-30 | 2004-04-15 | Seagate Technology Llc | Iterative equalization and iterative decoding of a reed-muller coded signal |
| WO2011126330A2 (en) * | 2010-04-07 | 2011-10-13 | 엘지전자 주식회사 | Method for transmitting information, and transmitter |
| CN102104444A (en) * | 2010-12-29 | 2011-06-22 | 重庆邮电大学 | Rapid encoding and decoding method for channel quality indication in LTE (Long Term Evolution) system |
| WO2018126496A1 (en) * | 2017-01-09 | 2018-07-12 | Qualcomm Incorporated | Bit allocation for encoding and decoding |
| GB2565111B (en) * | 2017-08-02 | 2022-04-20 | Tcl Communication Ltd | Improvement in or relating to communications systems using Reed-Muller codes |
| CN114826478A (en) * | 2021-01-29 | 2022-07-29 | 华为技术有限公司 | Code modulation and demodulation decoding method and device |
-
2024
- 2024-07-12 CN CN202410934670.4A patent/CN118868961B/en active Active
Non-Patent Citations (2)
| Title |
|---|
| Polar码HARQ方案和速率兼容技术研究;李春杰;《中国优秀硕士学位论文全文数据库信息科技辑》;20230215;第I136-221页 * |
| 极化码在电力线通信系统中的应用研究;王伦;《中国优秀硕士学位论文全文数据库信息科技辑》;20200115;第I136-425页 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118868961A (en) | 2024-10-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Sala et al. | Exact reconstruction from insertions in synchronization codes | |
| CN103023618B (en) | Random code length polar encoding method | |
| CN105656604B (en) | A kind of Bit Interleave Polarization Coding modulator approach and device | |
| CN107395319B (en) | Puncturing-based rate compatible polar code coding method and system | |
| Amalladinne et al. | A coupled compressive sensing scheme for unsourced multiple access | |
| KR100984289B1 (en) | Signal transmitting/receiving apparatus for supporting variable coding rate in a communication system and method thereof | |
| CN105933010A (en) | Low-complexity polarization code decryption SCL algorithm based on segmented verification assistance | |
| CN105978577A (en) | Serial list decoding algorithm based on bit flipping | |
| CN109768846B (en) | Hole drilling method, system, device and medium based on two-core three-core mixed polarization code | |
| US8468438B2 (en) | Method and apparatus for elementary updating a check node during decoding of a block encoded with a non-binary LDPC code | |
| CN113162634B (en) | Code length self-adaptive polarization code decoding method based on bit flipping | |
| WO2018073850A1 (en) | Design of puncturing pattern for polar codes | |
| CN110061803B (en) | Low-complexity polar code bit interleaving coding modulation method | |
| CN118868961B (en) | A puncturing method and system based on RM code recursive list decoding | |
| CN109525254A (en) | Convolutional code soft-decision decoding method based on deep learning | |
| CN108880748B (en) | Coding and decoding method of rateless Spinal code based on Latin square matrix | |
| CN101369817A (en) | Decoding method and device for tail-biting convolutional code | |
| CN113556134B (en) | Polar code puncturing encoder and encoding method suitable for simplifying serial offset decoding | |
| US20250141472A1 (en) | Staircase matrix code and highly parallel low-latency ordered statistics decoding method thereof | |
| Feng et al. | An efficient rateless scheme based on the extendibility of systematic polar codes | |
| US20170214413A1 (en) | Joint source-channel coding with dynamic dictionary for object-based storage | |
| CN108055107B (en) | Information communication method based on puncture polarization code | |
| Tonnellier et al. | Length-compatible polar codes: a survey | |
| CN113810159A (en) | Intermediate Channel Selection and Allocation Method of LDPC-Polar Cascade System | |
| CN101369864B (en) | Method of configuring transmission in mobile communication system |
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 |