Two-stage decoding method for algebraic codes
Through the two-stage decoding method, using hard judgment and test error pattern sequences to determine whether algebraic decoding is performed, the problems of high coding complexity and insufficient performance in the prior art are solved, and the algebraic decoding with low complexity and high performance are realized.
Patent Information
- Application Number
- CN202411473748.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-22
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2044-10-22
AI Technical Summary
The existing algebraic decoding methods are complex and cannot meet the high-reliability performance requirements when receiving soft information. At the same time, hard decision decoding cannot make full use of soft information, resulting in low decoding performance.
A two-stage decoding method is proposed. The first stage obtains the initial sequence through hard judgment, and the second stage determines whether algebraic decoding is performed based on the test error pattern sequence. In this way, the number of algebraic decoding times in the second stage is significantly reduced.
Low-complexity and high-performance decoding are realized, which significantly reduces decoding power consumption and delay, and can obtain performance close to the finite code length boundary when the list is small.
Smart Images

Figure CN119582857A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of digital communication, and in particular relates to a two-stage decoding method for algebraic codes. Background Art
[0002] Algebraic codes are a type of error correction code designed using algebraic structures. They protect and recover data by using algebraic methods (such as polynomial operations) in the encoding and decoding process. Common algebraic codes include Bose-Chaudhuri-Hocquenghem (BCH) codes and Reed-Solomon (RS) codes. Since algebraic codes were proposed in the 1960s, after decades of development, algebraic codes have been widely used in satellite communications, optical fiber communications, wireless communications, data storage and other fields, becoming one of the key technologies to ensure reliable transmission in modern information communication systems.
[0003] The decoding of algebraic codes usually includes two types of methods: hard decision decoding and soft decision decoding. Typical representatives of hard decision decoding algorithms include Berlekamp-Massey (BM) algorithm and Guruwami-Sudan (GS) algorithm, whose decoding is based on hard decision sequences; typical representatives of soft decision decoding algorithms include Generalized Minimum Distance (GMD) algorithm and Koetter-Vardy (KV) algorithm, whose decoding utilizes the soft information of the received sequence, thereby improving the decoding performance.
[0004] Although algebraic codes have beautiful mathematical structures and excellent codebook performance, their decoding process still has the following shortcomings. On the one hand, although the complexity of traditional hard decision decoding is low, its decoding cannot fully utilize the received soft information, resulting in a large gap between the decoding performance and the maximum likelihood (ML) decoding performance, which is insufficient to support the existing high reliability performance requirements; on the other hand, although algebraic code decoding based on soft decision can obtain better decoding performance, its decoding complexity is high, which is not conducive to practical use. Summary of the invention
[0005] The main purpose of the present invention is to overcome the shortcomings and deficiencies of the prior art and provide a two-stage decoding method for algebraic codes. The method can obtain performance close to the finite code length limit when the list is small, realize low-complexity and high-performance decoding, and a specially introduced judgment mechanism for whether to perform algebraic code decoding can significantly reduce the number of times the algebraic code decoder is called in the second stage, can significantly reduce the decoding power consumption in parallel implementation, and can significantly reduce the decoding delay in serial implementation.
[0006] In order to achieve the above object, the present invention adopts the following technical solutions:
[0007] The present invention provides a two-stage decoding method for algebraic codes, comprising the following steps:
[0008] (1) Perform hard decision according to the received sequence y to obtain a hard decision sequence in represents an n-length binary vector space, where n is the length of the binary description of the selected replacement digit;
[0009] (2) Generate one or more test error pattern sequences based on the received sequence y, denoted as (e (0) ,e (1) ,…,e (L-1) ),in 0≤l≤L-1, where L represents the number of error patterns in the list;
[0010] (3) For 0≤l≤L-1, each error pattern sequence e (l) XOR with the hard decision sequence z to obtain the second stage decoding input sequence Where 0≤l≤L-1;
[0011] (4) For each sequence r (l) Determine whether algebraic code decoding needs to be performed, and obtain the sequence that needs to be performed algebraic code decoding, recorded as in And L a ≤L, where L a Represents the number of sequences that need to perform algebraic code decoding;
[0012] (5) For all sequences Perform algebraic code decoding to obtain the estimated sequence of all successfully decoded codewords, denoted as in And L b ≤L a , where L b represents the estimated number of codewords successfully decoded from the algebraic code;
[0013] (6) Estimation sequence for all codewords Select the optimal decoding result corresponding to As the final output of decoding.
[0014] As a preferred technical solution, in step (2), the method of generating one or more test error pattern sequences includes online generation, offline generation and a hybrid generation combining the two; the online generation is based on the error pattern soft weight or the corresponding likelihood value measurement; the offline generation includes but is not limited to a sorting method based on Hamming weight and bit reliability.
[0015] As a preferred technical solution, the online generation includes but is not limited to using a list Viterbi algorithm or a flip pattern tree algorithm on a Trellis graph based on partial constraints.
[0016] As a preferred technical solution, in step (2), after generating one or more test error pattern sequences, the following steps are also included but not limited to:
[0017] The error patterns are processed serially one by one, in parallel or in combination accordingly.
[0018] As a preferred technical solution, in step (4), for each sequence r (l) It is determined whether algebraic code decoding needs to be performed, and the determination basis includes but is not limited to the number threshold value that the syndrome satisfies or does not satisfy.
[0019] As a preferred technical solution, in step (5), the algebraic code decoding adopted includes but is not limited to the Berlekamp-Massey algorithm and the Guruwami-Sudan algorithm.
[0020] As a preferred technical solution, in step (6), the metrics used to select the optimal decoding include but are not limited to hard weight, soft weight and likelihood value.
[0021] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0022] 1. The present invention provides a two-stage algebraic code list decoding method, wherein the first stage generates an error pattern, and the second stage can adopt low-complexity hard-decision algebraic code decoding, and its overall complexity can be significantly lower than traditional soft-decision algebraic code decoding.
[0023] 2. The present invention is based on error pattern flipping and traditional algebraic code hard decision decoding method, and can obtain better decoding performance, especially for high-rate algebraic codes, the present invention can obtain performance close to the finite code length limit.
[0024] 3. The present invention proposes a mechanism for determining whether to execute the second-stage algebraic code decoding, which can effectively skip unnecessary algebraic code decoding based on statistical metrics, significantly reducing decoding complexity and decoding delay. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0026] Figure 1Schematic diagram of a two-stage decoding method for a first generation code according to an embodiment of the present invention;
[0027] Figure 2 is a performance diagram of the FPT-BM algorithm and the Chase-BM algorithm in Example 2 of the present invention;
[0028] Figure 3 is a simulation performance diagram of the LC-LVA-BM algorithm and the Chase-BM algorithm in Example 2 of the present invention;
[0029] Figure 4 It is a simulation performance diagram of three decoding algorithms when a mechanism for determining whether to execute the second-stage algebraic code decoding is introduced in Embodiment 3 of the present invention;
[0030] Figure 5 is a comparison diagram of average decoding delays of three decoding algorithms when a mechanism for determining whether to execute the second-stage algebraic code decoding is introduced in Embodiment 3 of the present invention;
[0031] Figure 6 This is a comparison chart of the average number of BM decoding calls by three decoding algorithms when a mechanism for determining whether to execute the second-stage algebraic code decoding is introduced in Embodiment 3 of the present invention. DETAILED DESCRIPTION
[0032] In order to enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of the present application.
[0033] Reference to "embodiments" in this application means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described in this application may be combined with other embodiments.
[0034] Example 1
[0035] The two-stage decoding algorithm for algebraic codes provided in this embodiment 1 includes the following steps:
[0036] (1) Perform hard decision according to the received sequence y to obtain a hard decision sequence in represents an n-length binary vector space, where n is the length of the binary description of the selected replacement digit;
[0037] (2) Generate one or more test error pattern sequences based on the received sequence y, denoted as (e (0) ,e (1) ,…,e (L-1) ),in 0≤l≤L-1; where L represents the number of error patterns in the list;
[0038] Furthermore, in step (2), the method used to generate one or more error patterns is arbitrary, including but not limited to online generation, offline generation and a combination of the two; wherein online generation can be based on metrics such as the error pattern soft weight or the corresponding likelihood value, and the specific algorithm implementation includes but is not limited to using the list Viterbi algorithm (LVA) or the flipping pattern tree (FPT) algorithm on a Trellis graph based on partial constraints; offline generation methods include but are not limited to Hamming weight and ordered reliability bits (ORB) and the like.
[0039] Furthermore, the generation and subsequent processing mechanism of the multiple error patterns is arbitrary, including but not limited to serial processing of the error patterns one by one, parallel processing, and corresponding mixed processing.
[0040] (3) For 0≤l≤L-1, each error pattern sequence e (l) XOR with the hard decision sequence z to obtain the second stage decoding input sequence Where 0≤l≤L-1;
[0041] (4) For each sequence r (l) Determine whether algebraic code decoding needs to be performed, and obtain the sequence that needs to be performed algebraic code decoding, recorded as in And L a ≤L; where L a Represents the number of sequences that need to perform algebraic code decoding;
[0042] Furthermore, in step (4), the method used for each r (l) The sequence determines whether algebraic code decoding needs to be performed, and the determination basis includes but is not limited to the number threshold value satisfied or not satisfied by the syndrome.
[0043] (5) For all sequences that need to be decoded, Perform algebraic code decoding to obtain the estimated sequence of all successfully decoded codewords, denoted as in And L b ≤L a ; where L b represents the estimated number of codewords successfully decoded from the algebraic code;
[0044] Furthermore, in step (5), the algebraic decoding algorithm used is arbitrary, including but not limited to the Berlekamp-Massey (BM) algorithm and the Guruwami-Sudan (GS) algorithm.
[0045] (6) For all Select the optimal decoding result corresponding to As the final output of decoding.
[0046] Furthermore, in step (6), the metric used to select the optimal decoding is arbitrary, including but not limited to hard weight, soft weight, and likelihood value.
[0047] The two-stage decoding method of the present invention can achieve a performance level close to the theoretical limit of finite code length through hard decision decoding when processing shorter lists, realizing a low-complexity and high-efficiency decoding process. In particular, the present invention introduces a judgment skip mechanism that can effectively reduce the number of calls to the soft decoder in the second stage. This not only significantly reduces the energy consumption required for decoding in a parallel architecture, but also greatly reduces the decoding delay in a serial architecture.
[0048] Example 2
[0049] This embodiment 2 provides an example of a two-stage algebraic code decoding algorithm. Consider the use of BCH [256, 239] code, whose codewords are transmitted through an additive white Gaussian noise (AWGN) channel after being modulated by binary phase-shift keying (BPSK). The receiving end uses two-stage decoding with list sizes of 32, 128 and 512 respectively. The first stage uses the FPT algorithm and the list Viterbi algorithm (LVA) based on local constraints (LC) to generate error patterns, and the second stage uses BM decoding. In this embodiment 2, the above two types of decoding algorithms are respectively recorded as FPT-BM and LC-LVA-BM. In this example, for simplicity, this embodiment 2 does not introduce a judgment mechanism on whether to perform the second stage BM decoding. This embodiment 2 uses the Chase-BM algorithm as a comparison benchmark. Here, the Chase-BM algorithm uses the Chase flip mode in the first stage. For each flip mode, BM decoding is used in the second stage. Figure 2The frame error rate (FER) comparison between the FPT-BM algorithm and the Chase-BM algorithm is shown. Figure 2 It can be seen that the FPT-BM algorithm proposed in the present invention can achieve decoding performance similar to or even better than the Chase-BM algorithm. Figure 3 The FER comparison between the LC-LVA-BM algorithm and the Chase-BM algorithm is shown. Figure 3 It can be seen that the LC-LVA-BM algorithm proposed in the present invention can achieve decoding performance similar to or even better than the Chase-BM algorithm.
[0050] Example 3
[0051] This embodiment 3 provides an example of a two-stage algebraic code decoding algorithm. Consider using the BCH [256, 239] code, whose codewords are transmitted through an AWGN channel after BPSK modulation. The receiving end uses a two-stage decoding with a list size of 512. The first stage uses the FPT algorithm and the LVA based on partial constraints to generate error patterns, and the second stage uses BM decoding. The above two types of decoding algorithms are also recorded as FPT-BM and LC-LVA-BM, respectively. In this example, this embodiment 3 considers using the number of unsatisfied companion expressions as a criterion for determining whether the second stage decoding is executed. This embodiment 3 uses the Chase-BM algorithm as a comparison benchmark. Here, the Chase-BM algorithm uses the Chase flip mode in the first stage. For each flip mode, BM decoding is used in the second stage. Figure 4 The FER comparison of FPT-BM, LC-LVA-BM and Chase-BM algorithms is shown. Figure 4 It can be seen that the Chase-BM algorithm will lose performance when the second-stage decoding judgment mechanism is introduced; while the algorithm proposed in the present invention has basically similar performance with or without the judgment mechanism of whether to execute the second-stage decoding, with almost no performance loss, and achieves performance that exceeds the random coding joint boundary. Figure 5 The decoding delay comparison is shown. Figure 5 It can be seen that the introduction of the second-stage decoding discrimination mechanism can significantly reduce the delay of the three types of decoders; and the LC-LVA-BM two-stage decoding can achieve lower decoding delay in the medium and high signal-to-noise ratio area compared with FPT-BM and Chase-BM; Figure 6 It shows the number of times the three types of decoders call BM decoding, from Figure 6 It can be seen that the LC-LVA-BM algorithm can effectively skip unnecessary BM decoding and has the lowest number of BM decoding calls compared to the other two decoders, requiring only about 10 BM decoding calls at medium and high signal-to-noise ratios.
[0052] It should be noted that, for the sake of convenience, the aforementioned method embodiments are all expressed as a series of action combinations, but those skilled in the art should know that the present invention is not limited to the described order of actions, because according to the present invention, certain steps can be performed in other orders or simultaneously.
[0053] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the program can be stored in a non-volatile computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0054] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0055] The above embodiments are preferred implementation modes of the present invention, but the implementation modes of the present invention are not limited to the above embodiments. Any other changes, modifications, substitutions, combinations, and simplifications that do not deviate from the spirit and principles of the present invention should be equivalent replacement methods and are included in the protection scope of the present invention.
Claims
1. A two-stage decoding method for algebraic codes, characterized in that The steps include: (1) Perform hard decision according to the received sequence y to obtain a hard decision sequence in represents an n-length binary vector space, where n is the length of the binary description of the selected replacement digit; (2) Generate one or more test error pattern sequences based on the received sequence y, denoted as (e (0) , e (1) , ..., e (L-1) ),in Where L represents the number of listed error patterns; (3) For 0≤l≤L-1, perform bitwise XOR on each error pattern sequence e(l) and the hard decision sequence z to obtain the second stage decoding input sequence Where 0≤l≤L-1; (4) For each sequence r(l), determine whether algebraic code decoding needs to be performed, and obtain the sequence that needs algebraic code decoding, which is recorded as in And L a ≤L, where L a Represents the number of sequences that need to perform algebraic code decoding; (5) For all sequences Perform algebraic code decoding to obtain the estimated sequence of all successfully decoded codewords, denoted as in And L b ≤L a , where L b represents the estimated number of codewords successfully decoded from the algebraic code; (6) Estimation sequence for all codewords Select the optimal decoding result corresponding to As the final output of decoding.
2. A two-stage decoding method for algebraic codes according to claim 1, characterized in that: In step (2), the method of generating one or more test error pattern sequences includes online generation, offline generation and a hybrid generation combining the two; the online generation is based on the error pattern soft weight or the corresponding likelihood value measurement; the offline generation includes but is not limited to a sorting method based on Hamming weight and bit reliability.
3. A two-stage decoding method for algebraic codes according to claim 2, characterized in that: The online generation includes but is not limited to using a list Viterbi algorithm or a flipping pattern tree algorithm on a Trellis graph based on partial constraints.
4. A two-stage decoding method for algebraic codes according to claim 1, characterized in that: In step (2), after generating one or more test error pattern sequences, the following steps are also included but not limited to: The error patterns are processed serially one by one, in parallel or in combination accordingly.
5. A two-stage decoding method for algebraic codes according to claim 1, characterized in that: In step (4), for each sequence r (l) It is determined whether algebraic code decoding needs to be performed, and the determination basis includes but is not limited to the number threshold value that the syndrome satisfies or does not satisfy.
6. A two-stage decoding method for algebraic codes according to claim 1, characterized in that: In step (5), the algebraic code decoding adopted includes but is not limited to the Berlekamp-Massey algorithm and the Guruwami-Sudan algorithm.
7. A two-stage decoding method for algebraic codes according to claim 1, characterized in that: In step (6), the metrics used to select the optimal decoding include but are not limited to hard weight, soft weight and likelihood value.
Citation Information
Patent Citations
Field programmable gate array (FPGA) design method of truncated high-speed transmit power control (TPC) decoder
CN102932002A
Decoding method and device
CN115665795A
Decoding method based on BCH code and related equipment
CN116505959A