Generating test error patterns (TEPS) for soft-input step-grand
The soft-input step-GRAND decoding method addresses the challenge of high worst-case decoding latency in GRAND-based systems by using a simplified TEPs generation scheme and a high-throughput VLSI architecture, resulting in improved latency and efficiency for URLLC applications.
Patent Information
- Application Number
- PCT/CN2024/133294
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-22
- Filing Date
- 2024-11-20
- Publication Date
- 2025-05-30
AI Technical Summary
Existing GRAND-based hardware implementations face challenges in meeting stringent decoding latency requirements, particularly in worst-case scenarios, which hinders their adoption in Ultra-Reliable and Low Latency Communications (URLLC) applications.
The introduction of a soft-input step-GRAND decoding method that employs a simplified Test Error Patterns (TEPs) generation scheme and a high-throughput VLSI architecture, allowing for adjustable parameters to balance decoding performance and complexity/latency constraints.
Step-GRAND achieves reduced worst-case decoding latency and improved area efficiency compared to conventional soft-input ORBGRAND, while maintaining low average decoding latency and high information throughput.
Smart Images

Figure CN2024133294_30052025_PF_FP_ABST
Abstract
Description
GENERATING TEST ERROR PATTERNS (TEPS) FOR SOFT-INPUT STEP-GRANDCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent Application No. 63 / 601,764, filed on November 22, 2023, which is hereby incorporated by reference in its entirety.TECHNICAL FIELD
[0002] Embodiments of this application relate to the field of decoding data using guessing the noise. The guessing of the noise may be performed using pre-computed syndromes of error patterns with different Hamming weights.BACKGROUND
[0003] Technologies that have stringent requirements for Ultra-Reliable and Low Latency Communications (URLLC) have emerged in recent years, such as with respect augmented and virtual reality, intelligent transportation systems, the internet of things, and machine-to-machine communication. This has rekindled interest in short channel codes and associated Maximum Likelihood (ML) decoding approaches.
[0004] For short-length and high-rate channel codes, Guessing Random Additive Noise Decoding (GRAND) has been proposed as a universal ML decoding technique. Since GRAND is noise-centric and code-agnostic, it attempts to guess the noise that corrupted a codeword during transmission through the communication channel rather than relying on the structure of the underlying code to decode a codeword. GRAND guesses the noise by generating Test Error Patterns (TEPs) , and the order in which these TEPs (e) are generated is the primary difference between different GRAND variants (e.g., GRAND with Abandonment (GRANDAB) , Ordered Reliability Bits GRAND (ORBGRAND) , Soft GRAND (SGRAND) ) .
[0005] For both hard-input and soft-input GRAND variants, several high-throughput and energy-efficient hardware implementations have been developed. In general, the decoding latency of GRAND-based hardware implementations can be categorized into average and worst-case decoding latency. While the average decoding latency of GRAND hardware is typically much lower than the worst-case decoding latency, the latter can still pose a significant barrier to the adoption of GRAND based hardware implementations for applications that require strict adherence to both average and worst-case decoding latency requirements, such as a URLLC application scenario.SUMMARY
[0006] In an exemplary embodiment, the present disclosure provides a system. The system includes: a first device; and a second device. The first device and the second device are connected via a communication channel. The first device is configured to send a codeword to the second device via the communication channel. The second device is configured to: obtain a vector of channel observation values via the communication channel, wherein the vector includes a corrupted codeword; compute a syndrome of the vector; and combine the syndrome with a plurality of pre-computed syndromes of test error patterns (TEPs) to decode the corrupted codeword.
[0007] In another exemplary embodiment, the present disclosure provides a method for decoding data. The method includes: obtaining, by a communication device, a vector of channel observation values via a communication channel, wherein the vector includes a corrupted codeword; computing, by the communication device, a syndrome of the vector; and combining, by the communication device, the syndrome with a plurality of pre-computed syndromes of test error patterns (TEPs) to decode the corrupted codeword.
[0008] In a further exemplary embodiment, the TEPs corresponding to the plurality of pre-computed syndromes are evaluated for codebook membership in parallel.
[0009] In a further exemplary embodiment, the vector is a soft-decision vector of channel observation values.
[0010] In a further exemplary embodiment, elements of the vector are sorted in ascending order of absolute soft values.
[0011] In a further exemplary embodiment, a first bit of the vector represents a least reliable bit and a last bit of the vector represents a most reliable bit.
[0012] In a further exemplary embodiment, the vector is divided into P overlapping subsets such that the first bit of the vector is the first bit of all the P subsets.
[0013] In a further exemplary embodiment, a size of a smallest subset is P, and sizes of the remaining subsets are multiples of P.
[0014] In a further exemplary embodiment, a size of a largest subset is α x P, and a size of a second largest subset is β x P.
[0015] In a further exemplary embodiment, TEPs with different Hamming weights are generated for different subsets.
[0016] In a further exemplary embodiment, a minimum Hamming weight of the generated TEPs is 1, and a maximum Hamming weight of the generated TEPs is P.
[0017] In a further exemplary embodiment, TEPs with a Hamming weight of 1 are generated for a largest subset, and TEPs with Hamming weight of 2 are generated for a second largest subset.
[0018] In a further exemplary embodiment, TEPs of Hamming weight P are generated for a smallest subset with size P.
[0019] In a further exemplary embodiment, a TEP with a Hamming weight of P has P non-zero elements.
[0020] In a further exemplary embodiment, a location of non-zero elements in generated TEPs are restricted to a plurality of intervals.
[0021] In a further exemplary embodiment, a plurality of TEPs are generated corresponding to the plurality of intervals for locations of non-zero elements in the TEPs.
[0022] In a further exemplary embodiment, a plurality of TEPs are generated for different subsets, and the TEPs are evaluated for codebook membership.
[0023] In a further exemplary embodiment, an estimated codeword is computed by combining a generated TEP with a hard-decided received vector based on the TEP satisfying a codebook membership criterion.
[0024] In a further exemplary embodiment, a plurality of estimated codewords are accumulated into a list during a decoding procedure.
[0025] In yet another exemplary embodiment, the present disclosure provides a non-transitory computer-readable medium having processor-executable instructions stored thereon for decoding data. The processor-executable instructions, when executed, facilitate performance of the following: obtaining, by a communication device, a vector of channel observation values via a communication channel, wherein the vector includes a corrupted codeword; computing, by the communication device, a syndrome of the vector; and combining, by the communication device, the syndrome with a plurality of pre-computed syndromes of test error patterns (TEPs) to decode the corrupted codeword.BRIEF DESCRIPTION OF DRAWINGS
[0026] FIG. 1 shows a block diagram of an example system environment utilizing step-GRAND according to an embodiment of this application;
[0027] FIG. 2 shows maximum values for generating 20-bit (n=20) TEPs for step-GRAND (P=4) according to an embodiment of this application;
[0028] FIGS. 3A-3D show TEPs generated for respective Hamming weights according to an embodiment of this application;
[0029] FIGS. 4A-4H show maximum values for generating TEPs (P=7) according to an embodiment of this application;
[0030] FIG. 5 shows a flowchart of a TEPs generation method according to an embodiment of this application;
[0031] FIG. 6A shows subsets of for step-GRAND when P=6 and α = 1 according to an embodiment of this application;
[0032] FIG. 6B shows an algorithm for step-GRAND decoding according to an embodiment of this application;
[0033] FIG. 7 shows subsets of for step-GRAND when P=6 and α = 2 according to an embodiment of this application;
[0034] FIG. 8 shows a VLSI structure for step-GRAND according to an embodiment of this application;
[0035] FIG. 9 shows an evaluation unit structure for step-GRAND according to an embodiment of this application;
[0036] FIG. 10 shows an evaluation of TEPs with a Hamming Weight of 2 for γ=6 according to an embodiment of this application;
[0037] FIGS. 11A-11C show an evaluation of TEPs with a Hamming Weight of 3 according to an embodiment of this application; and
[0038] FIGS. 12A-12E show an evaluation of TEPs with a Hamming Weight of 4 according to an embodiment of this application.DETAILED DESCRIPTION
[0039] TEP generation has a direct impact on GRAND's decoding latency, decoding complexity, and decoding performance. Therefore, efficient TEP generation provides for reducing complexity, which enables low decoding latency and low power consumption.
[0040] Embodiments of this application provide “step-GRAND, ” a soft-input variant of GRAND that not only offers a low average decoding latency but also reduces the worst-case decoding latency compared to soft-input ORBGRAND. Embodiments of this application further include a simplified TEP generation scheme and a high-throughput very-large-scale integration (VLSI) architecture for step-GRAND. Furthermore, step-GRAND introduces parameters that can be adjusted to meet the desired decoding performance and complexity / latency constraints for a target application.
[0041] In an exemplary implementation, it was demonstrated that for a linear block code with length 128 (n) and 105 information bits (k) , step-GRAND achieved an average information throughput of 47.7 Gbps. Furthermore, the step-GRAND hardware was 10× more area efficient, and the worst-case latency of the step-GRAND hardware was the worst-case latency compared to ORBGRAND hardware.
[0042] FIG. 1 depicts an exemplary environment with respect to a system 100 for which exemplary embodiments of the present application are applicable. The system 100 may be, for example, a mobile communication network (such as a 5G mobile network) compliant with URLLC specifications, an augmented reality (AR) system, a virtual reality (VR) system, an intelligent transportation system, an internet of things (IoT) system, a machine-to-machine (M2M) communication system, or another type of communication system involving codeword decoding. The system 100 may include, for example, at least a first device 101 and a second device 102, wherein a transmitter 110 of the first device 101 (it will be appreciated that the transmitter 110 may be implemented as a transceiver) sends a codeword 131 over a communication channel to a receiver 120 of a second device 102 (it will be appreciated that the receiver 120 may be implemented as a transceiver) . The second device 102 includes a decoder 121 (such as in the form of a processor) which decodes the received codeword using a step-GRAND process as discussed herein.
[0043] It will be appreciated that FIG. 1 is merely illustrative and does not constitute a limitation with respect to environments in which the principles of the present application may be applied.
[0044] In an exemplary embodiment, the present application provides a method which includes: at a data receiver, receiving a vector of channel observation values over a noisy communication channel, generating a syndrome from the received vector, and combining the syndrome with a plurality of pre-computed syndromes of the TEPs and generating an estimated codeword when a codebook membership criterion is satisfied for any TEP syndrome. The elements of the received vector are sorted in ascending order of their absolute soft values. The received vector is divided into P overlapping subsets in the TEP generation, with P being the size of the smallest subset and the other subsets having sizes that are multiples of P. The TEP generation approach generates TEPs for each subset with a specific Hamming weight, so that for the largest subset, TEPs with a Hamming weight of 1 are generated, and for the smallest subset, TEPs with a Hamming weight of P. Furthermore, only a small number of specific TEPs are generated for each subset, as opposed to generating all possible TEPs for a given Hamming weight. To decode the codeword, the syndromes of the generated TEP and the received vector are combined.
[0045] The received vector of channel observation values may contain a corrupted codeword. The received vector may further include reliability values of individual bit locations of the corrupted codeword (which allows for the corrupted codeword to be sorted in ascending order of the reliability values) .
[0046] Compared to the conventional technology, lesser TEPs are required overall to achieve a target decoding performance since subset sizes are smaller, and customized TEPs are generated for these subsets. Hence, the decoding complexity and latency are reduced in accordance with embodiments of the present application.
[0047] Exemplary embodiments of the present application further provide for a step-GRAND process in which TEPs (e) are generated in increasing Hamming weight order, with the highest Hamming weight of the generated TEPs (e) being P. Instead of generating all TEPs for each Hamming weight step-GRAND according to embodiments of this application may only generate a subset of the TEPs for each Hamming weight.
[0048] Notations: In the exemplary embodiments discussed below, matrices are denoted by a bold upper-case letter (M) , while vectors are denoted with bold lower-case letters (v) . The transpose operator is represented by The ith element of a vector v is denoted by vi. The number of k-combinations from a given set of n elements is noted by 1n is the indicator vector where all locations except the nth location are 0 and the nth location is 1. Similarly, with i ≠ j ... ≠ k. All the indices start at 1. The operations are described in the context of the Galois field with 2 elements, noted F2, and with respect to (n, k) linear block codes. The received vector of soft channel observation values is denoted as y whereas the vector denotes the hard-demodulated received vector from the channel.
[0049] GRAND decoding of (n, k) linear block codes: GRAND is centered around generating TEPs (e) , applying them to the hard-demodulated received vector and querying the resultant vector for codebook membership as follows: wherein H is a (n-k) ×n parity check matrix of the code. If this codebook membership constraint (1) is satisfied, e is the guessed noise and is the estimated codeword. For checking the TEPs with Hamming weight of 1 the codebook membership verification (1) can be expanded as follows [7, 8, 9] where H (denoted as sc) represents the (n-k) -bits syndrome for the received vector and H (denoted as se) is the (n-k) -bits syndrome for the test error pattern (TEP (e) ) with Hamming weight of 1 In a similar manner, for verifying error patterns with Hamming weight > 1, the underlying code's linearity property is leveraged to aggregate t syndromes of error patterns with a Hamming weight of 1 and syndromes are generated which correspond to an error pattern with a Hamming weight of t For example, the codebook membership for TEPs with Hamming weight 2, with i ∈ [l .. n] , j ∈ [l .. n] and i ≠ j, can be checked as
[0050] According to exemplary embodiments of the present application, an n-bit TEP (e) with Hamming weight of HW is represented as where ρ1<ρ2, ..., <ρHW and ρ1≠ρ2≠...≠ρHW. In a TEP of Hamming weight of HW the ρi represents the location of the ith non-zero element; correspondingly, ρ1 represents the location of the first non-zero element, and ρHW denotes the location of the last non-zero element. The location of a non-zero element ρi can be restricted to an integer interval [1 .. max (ρi) ] , where max (ρi) is the largest value and 1 is the minimum value of ρi.
[0051] FIG. 2 shows the maximum value for each (P = 4) for generating 20-bit (n=20) TEPs for each Hamming weight. FIGS. 3A, 3B, 3C and 3D show all the generated TEPs for each Hamming weight HW, , corresponding to
[0052] The TEPs (e) are generated with a Hamming weight of HW wherein the is restricted by the following constraints: 1. For TEP with Hamming weight of the max (ρi) values are given by Eq. FIG. 4A shows the values corresponding to Eq. (4) . FIG. 4B shows the max (ρi, P) values for P = 7. 2. The max (ρHW, HW) value for the location of the last non-zero element in a TEP (e) with Hamming weight HW can be computed as: FIG. 4C shows the max (ρHW, HW) values. FIG. 4D shows the max (ρHW, HW) values for P = 7. 3. The values for the location of the remaining non-zero elements in a TEP with Hamming weight HW can be computed as: where FIGS 4E and 4G show the values. FIGS 4F and 4H show all the values for the TEP generation scheme corresponding to P = 7.
[0053] The number of TEPs generated (QHW) in the TEP generation scheme, for each Hamming weight, is given by following equation:
[0054] The maximum number of TEPs (Qmax) , the worst-case complexity, is given by following equation:
[0055] FIG. 5 is a flowchart illustrating an embodiment of a TEPs generation method which may include the following steps. S501: A data receiving apparatus receives a vector of channel observation values (referred to as channel vector in FIG. 5) from a data sending apparatus over a noisy communication channel. S503: The data receiving apparatus computes a syndrome of a received vector. S505: The data receiving apparatus combines the syndrome with a plurality of pre-computed syndromes of the Test Error Patterns (TEPs) . S507: The data receiving apparatus decodes the received vector.
[0056] An embodiment of a TEPs generation method which may further include the following steps.
[0057] Step 1: step-GRAND generates TEPs with a Hamming weight of 1 (e = 1i, with i = ∈ [1 .. γ] ) , where γ is the size of the subset
[0058] Step 2: after , for the subset of of size γ -β, TEPs (e) Hamming weight of 2 (e = 1i, j, with i ∈ [1 .. γ -β] , j ∈ [1 .. γ -β] and i ≠ j, ) are generated, wherein β is a step size, refers to the size difference between two successive subsets of Similarly, for each subsequent Hamming weight HW ∈ [3 .. P] , TEPs (e) are generated for the subset of of size γ- (HW-1) ×β. FIG. 6B illustrates the situation when P = 6 for the subset of
[0059] An exemplary embodiment of a step-GRAND decoding process is summarized in Algorithm 1, depicted in FIG. 6C.
[0060] The inputs to the algorithm are the vector of channel observation values y of size n, an (n -k) × n matrix H, an n × k matrix G-1 such that G-1 ·G is the n × n identity matrix, with G a generator matrix of the code, the maximum Hamming weight P of TEPs (e) , the number of segments α and step size β.
[0061] Step-GRAND sorts the received vector y, Log-Likelihood Ratios (LLRs) , in ascending order of absolute values of LLRs (|yi| ≤ |yj| ) , and the associated indices are recorded in a permutation vector denoted by ind (line 4 in Algorithm 1) . The input parameters α, β, and P are used to calculate the size (γ) of a subset of for segment i (i ∈ [1 .. α] ) (line 7 in Algorithm 1) . Following that, in segment i, all TEPs (e) are generated for a particular Hamming weight HW corresponding to a subset j (j ∈ [1 ... P / α] ) , with size γ(lines 8-10 in Algorithm 1) .
[0062] The function generateNew TEP successively generates TEPs (e) , with Hamming weight HW, which are then ordered using the permutation vector ind (line 10 in Algorithm 1) . The generated TEPs (e) are then applied sequentially to and the resulting vector is then queried for codebook membership (line 11 in Algorithm 1) .
[0063] Step 3: if the codebook membership criterion (1) is satisfied, the original message is retrieved and the decoding process is terminated (lines 12-13 in Algorithm 1) .
[0064] Step 4: if the codebook membership criterion (1) is not satisfied, γ, the size of the subset, is updated, and TEPs with Hamming weight HW + 1 are generated (lines 14-15) .
[0065] Another embodiment of a TEPs generation method may further include the following step being performed prior to Steps 1 to 4: the P subsets of are divided into αsegments, each of which has P / α subsets, as illustrated in FIG. 7, where P = 6 and α = 2. Furthermore, the intra-segment step size is a multiple of β such that the intra-segment step size of the ith (i ∈ [1 .. α] ) segment is (α -i + 1) × β.
[0066] Compared to conventional art where the parameters maximum logistic weight (LWmax) and P impact both the decoding performance and computational complexity, the decoding performance and computational complexity of step-GRAND are only influenced by the parameters α, β and P (see Algorithm 1) . Further, the parameters of step-GRAND (α, β, P) can be adjusted for various classes of channel codes in order to achieve a balance between decoding performance requirements and the complexity / latency budget for a target application. The worst-case complexity for step-GRAND is where γ is the size of the subset of for which TEPs with a Hamming weight HW (HW ∈ [1, P] ) are evaluated. Step-GRAND improves channel conditions and parametric settings and in the meantime, reduces the complexity of the decoding by at least 25%.
[0067] Embodiments of the application also provide a VLSI architecture for step-GRAND, which is configured for universal decoding of (n, k) linear block codes.
[0068] As shown in FIG. 8, the VLSI hardware architecture includes at least a memory 801, a Bitonic Sorter 803, a controller 805, an evaluation unit 807 (e.g., a processor or other circuit) , and a word generator 809. It will be appreciated that FIG. 8 is merely an illustrative example and does not constitute a limitation with respect to the arrangement and / or components of VLSI hardware architectures in accordance with exemplary embodiments of the present application.
[0069] As shown in FIG. 9, the evaluation unit 807 may further include shift registers to store the (n -k) -bit syndromes associated with TEPs with a Hamming weight of 1 (denoted as si = H i ∈ [1 .. n] ) . Furthermore, the linearity property of the underlying code is leveraged to combine l TEP syndromes, corresponding to error patterns with Hamming weight of 1 (si) , to generate syndromes corresponding to an error pattern with a Hamming weight of l
[0070] The VLSI architecture for step-GRAND as provided can be used to decode any linear block code with a length of n and a coding rate of 0.75 ≤ R ≤ 1. Any parity check matrix (H) can be loaded into (n -k) × n-bit H memory to support various classes of channel codes.
[0071] The Bitonic Sorter 803 in FIG. 8 receives soft channel observations values (LLRs) y from the communication channel as an input and then applies the codebook membership verification (1) to the hard-decided vector The decoding is terminated if the codebook membership criterion (1) is satisfied for Otherwise, the Bitonic Sorter 803 is employed to sort the LLRs (y) in ascending order of their absolute values The Bitonic sorter 803 is pipelined to log2 (n) stages, and thus, sorting the received LLRs (y) takes log2 (n) clock cycles. Following that, in a single time step, the codebook membership of all TEPs with a Hamming weight of 1 is evaluated
[0072] The TEPs with Hamming weight HW > 1 are evaluated for codebook membership by the controller 805 in conjunction with the evaluation unit 807. If any of the evaluated TEPs satisfy the codebook membership constraint a2D priority encoder is used in conjunction with the controller module to pass the corresponding indices to the word generator 809, which maps the sorted index values (ind) to the appropriate bit flip locations in
[0073] FIG. 9 depicts an example of the microarchitecture of evaluation unit 807 of the VLSI architecture for step-GRAND, which employs a bit shift register to store syndromes of TEPs with a Hamming weight of 2 (si, j , j ∈ [i + 1 .. γ] ) . The generated test syndromes are NOR reduced to evaluate all the TEPS for codebook membership in parallel, as shown in FIG. 10 for γ = 6 and HW = 2. With the evaluation unit 807, it only requires one time-step to evaluate, for codebook membership, all TEPs with a Hamming weight of 2. The L-to-log2 L priority encoder shown in FIG. 9 is enabled to output the corresponding indices to the controller 805, in time-steps, if and only if the tested syndromes satisfy the codebook membership criteria
[0074] To evaluate all TEPs corresponding to Hamming weight 3 ≤ HW ≤ P, the controller 805 in FIG. 8 generates the composite syndrome which is combined with the syndromes stored in the shift register. FIG. 11A illustrates the contents of the shift register and the composite syndrome generated by the controller 805 to evaluate the first set of TEPs with a Hamming weight of 3. The shift register is shifted-up by γ -2 at the next time step, and the controller 805 generates to evaluate TEPs as shown in FIG. 11B. This procedure is repeated until the controller 805 generates and the final TEP with Hamming weight of 3 is evaluated, as illustrated in FIG. 11C. Therefore, evaluating all TEPs with a Hamming weight of 3 requires time steps, where the controller 805 outputs at each time step and the shift register is shifted by γ-i-1,
[0075] To evaluate the TEPs with a Hamming weight of 4, the controller 805 generates in the following time step. FIG. 12A shows the content of the shift register required to evaluate TEPs with generated by the controller. The shift register is shifted up by γ -3 in the subsequent time step, as shown in FIG. 12B and the controller 805 generates to evaluate the next TEPs. In γ-3 times steps, all TEPS with a Hamming weight of 4 and are evaluated.
[0076] The controller 805 generates in the next time step, and the contents of the shift registers 1091 are shown in FIG. 12C. This configuration evaluates the set of TEPs, with a Hamming weight of 4 and output by the controller 805. The shift register is shifted up γ -4 in the following time step and controller 805 generates to evaluate the next TEPs as shown in FIG. 12D. This process is repeated, and after γ -4 time steps, all TEPs with are evaluated. This procedure continues, and the controller 805 generates as shown in FIG. 12E in order to evaluate the final TEP with a Hamming weight of 4. According to the provided step GRAND, it takes only time steps to evaluate all TEPs with a Hamming weight of 4. Accordingly, TEPs with Hamming weights 3 ≤ HW ≤ P can be evaluated in time steps. Hence, the worst-case latency of the step-GRAND hardware is given by: where log2 (n) is the latency of the Bitonic Sorter 803.
[0077] In an exemplary implementation, it was demonstrated that the step-GRAND VLSI architecture supports a maximum frequency of 454 MHz, and since no pipelining is employed, one time step equals one clock cycle. In the worst-case (W. C. ) scenario, the provided step-GRAND hardware requires 279 cycles (Eq. (2) ) , which translates to a W. C. latency of 614.5 ns and a W. C. throughput of 170.8 Mbps. As the channel conditions improve, the average latency decreases until it only takes 1 cycle to decode a codeword, enabling up to 47.7 Gbps of information throughput.
[0078] In an exemplary implementation, it was demonstrated that the step-GRAND VLSI architecture required 35%less area compared to a conventional GRAND VLSI architecture. Further, the W. C. latency of the step-GRAND hardware was 1 / 6.8 lower and 10× more area-efficient. As a result, it will be appreciated that exemplary embodiments of the step-GRAND VLSI architecture discussed herein is suitable for mission-critical applications that have stringent requirements for both average and worst-case latency.
[0079] Further details relating to exemplary implementations of step-GRAND may be found in the following publication, which is incorporated herein by reference in its entirety: S.M. Abbas, C. -Y. Tsui, M. Jalaleddine and W.J. Gross, "Step-GRAND: A Low Latency Universal Soft-Input Decoder, " 2023 IEEE Globecom Workshops (GC Wkshps) , Kuala Lumpur, Malaysia (2023) , pp. 1668-1673, doi: 10.1109 / GCWkshps58843.2023.10465030.
[0080] It will be appreciated that the execution of the various machine-implemented processes and steps described herein may occur via the execution, by one or more respective processors, of processor-executable instructions stored on one or more tangible, non-transitory computer-readable mediums (such as random access memory (RAM) , read-only memory (ROM) , programmable read-only memory (PROM) , and / or another electronic memory mechanism) . Thus, for example, operations performed by various components as discussed herein may be carried out according to instructions stored on and / or applications installed on one or more respective computing devices.
[0081] All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein.
[0082] The use of the terms “a” and “an” and “the” and “at least one” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The use of the term “at least one” followed by a list of one or more items (for example, “at least one of A and B” ) is to be construed to mean one item selected from the listed items (A or B) or any combination of two or more of the listed items (A and B) , unless otherwise indicated herein or clearly contradicted by context. The terms “comprising, ” “having, ” “including, ” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to, ” ) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as” ) provided herein, is intended merely to better illuminate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.
[0083] Preferred embodiments of this invention are described herein, including the best mode known to the inventors for carrying out the invention. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the invention to be practiced otherwise than as specifically described herein. Accordingly, this invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context.
Claims
1.A system, comprising:a first device; anda second device;wherein the first device and the second device are connected via a communication channel;wherein the first device is configured to send a codeword to the second device via the communication channel; andwherein the second device is configured to:obtain a vector of channel observation values via the communication channel, wherein the vector includes a corrupted codeword;compute a syndrome of the vector; andcombine the syndrome with a plurality of pre-computed syndromes of test error patterns (TEPs) to decode the corrupted codeword.2.A method for decoding data, comprising:obtaining, by a communication device, a vector of channel observation values via a communication channel, wherein the vector includes a corrupted codeword;computing, by the communication device, a syndrome of the vector; and combining, by the communication device, the syndrome with a plurality of pre-computed syndromes of test error patterns (TEPs) to decode the corrupted codeword.3.The method of claim 2, wherein the TEPs corresponding to the plurality of pre-computed syndromes are evaluated for codebook membership in parallel.4.The method of claim 2, wherein the vector is a soft-decision vector of channel observation values.5.The method of claim 4, wherein elements of the vector are sorted in ascending order of absolute soft values.6.The method of claim 5, wherein a first bit of the vector represents a least reliable bit and a last bit of the vector represents a most reliable bit.7.The method of claim 6, wherein the vector is divided into P overlapping subsets such that the first bit of the vector is the first bit of all the P subsets.8.The method of claim 7, wherein a size of a smallest subset is P, and sizes of the remaining subsets are multiples of P.9.The method of claim 7, wherein a size of a largest subset is α x P, and a size of a second largest subset is β x P.10.The method of claim 7, wherein TEPs with different Hamming weights are generated for different subsets.11.The method of claim 10, wherein a minimum Hamming weight of the generated TEPs is 1, and a maximum Hamming weight of the generated TEPs is P.12.The method of claim 10, wherein TEPs with a Hamming weight of 1 are generated for a largest subset, and TEPs with Hamming weight of 2 are generated for a second largest subset.13.The method of claim 10, wherein TEPs of Hamming weight P are generated for a smallest subset with size P.14.The method of claim 10, wherein a TEP with a Hamming weight of P has P non-zero elements.15.The method of claim 14, wherein a location of non-zero elements in generated TEPs are restricted to a plurality of intervals.16.The method of claim 15, wherein a plurality of TEPs are generated corresponding to the plurality of intervals for locations of non-zero elements in the TEPs.17.The method of claim 10, wherein a plurality of TEPs are generated for different subsets, and the TEPs are evaluated for codebook membership.18.The method of claim 17, wherein an estimated codeword is computed by combining a generated TEP with a hard-decided received vector based on the TEP satisfying a codebook membership criterion.19.The method of claim 18, wherein a plurality of estimated codewords are accumulated into a list during a decoding procedure.20.A non-transitory computer-readable medium having processor-executable instructions stored thereon for decoding data, wherein the processor-executable instructions, when executed, facilitate performance of the following:obtaining, by a communication device, a vector of channel observation values via a communication channel, wherein the vector includes a corrupted codeword;computing, by the communication device, a syndrome of the vector; andcombining, by the communication device, the syndrome with a plurality of pre-computed syndromes of test error patterns (TEPs) to decode the corrupted codeword.
Citation Information
Patent Citations
Iterative bit flipping decoding based on symbol reliability
CN114556791A
Decoding determination method and device, electronic equipment and storage medium
CN115833848A
Architecture for guessing random additive noise decoding (GRAND)
US20210376953A1
Universal guessing random additive noise decoding (GRAND) decoder
US20210384918A1