A low complexity hierarchical decoding method for multi-ary modulation symbols
Patent Information
- Application Number
- CN202611248800.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-18
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2046-08-18
AI Technical Summary
[0004]本发明旨在提供一种面向多进制调制符号的低复杂度分层解码方法,旨在解决候选组合搜索复杂度随候选数量K和块长呈指数增长、无法在低功耗低面积芯片中实现的问题
[0054]本发明通过将各比特行的校验通过或不通过结果形成完整符号差值,对每一个可能错误位置直接改写其最优候选值的符号地址得到唯一目标符号地址,并在对应位置的前K个最优候选值的候选表中执行一次成员查询,将算法主操作次数由K的(N+1)次方的指数级组合搜索降低为与K无关的N+1次定向地址查询;同时,对局部无法恢复的块明确标记为无解块并归入无解块集合,由里德-所罗门码对无解块中的可疑符号执行选择性恢复,经整包循环冗余校验复核验证,从而在保持解码性能的前提下大幅降低比较器数量、存储访问次数和动态功耗,使所述分层解码方法可在低功耗、低面积的通信芯片中实现。
Smart Images

Figure CN122801963B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless communication technology, specifically to a low-complexity hierarchical decoding method for multi-level modulation symbols. Background Technology
[0002] In multi-level modulation communication systems, such as LoRa / CSS chirped spread spectrum modulation, multi-level frequency shift keying (MFSK), quadrature amplitude modulation (QAM), and orthogonal frequency division multiplexing (OFDM), after the received signal is synchronized and demodulated, each symbol position can be sorted according to its metric value to obtain the top K optimal candidate values (TopK) and their corresponding metrics. Under channel conditions such as low signal-to-noise ratio, multipath fading, impulse interference, or residual frequency offset, the actual transmitted symbol may fall from the first candidate (Top1) with the largest metric to the second, fourth, or even later candidate positions. Therefore, retaining only the Top1 hard decision will discard the effective information of the actual symbol still existing in the candidate list, while retaining and utilizing the TopK candidates is the fundamental way to improve decoding performance.
[0003] To utilize TopK candidate information, existing solutions combine symbol-level candidate sets with block-level constraints. This involves dividing a series of consecutive symbols into a local block and finding a valid block by enumerating all combinations of TopK candidates at each symbol position and verifying the block constraints one by one. However, when a local block contains N+1 symbols and each symbol retains K candidates, the total number of Cartesian combinations becomes K raised to the power of (N+1). This exponential complexity causes the required number of comparators, storage capacity, clock cycles, and dynamic power consumption to increase dramatically with K and the block length, making it difficult to implement directly under the low-area, low-power conditions required by low-power IoT communication chips. Summary of the Invention
[0004] The present invention aims to provide a low-complexity hierarchical decoding method for multi-level modulation symbols, which aims to solve the problem that the complexity of candidate combination search increases exponentially with the number of candidates K and the block length, and cannot be implemented in low-power and low-area chips.
[0005] To achieve the above objectives, the technical solution adopted by this invention is: a low-complexity layered decoding method for multi-level modulation symbols, comprising:
[0006] S1: Demodulate the received signal to obtain the top K best candidate values TopK and corresponding metrics for each received symbol;
[0007] S2: Form an N+1 local symbol block with N data symbols and 1 check symbol, perform local check decision on the N+1 local symbol block, and generate a local check result; wherein, the local check result is whether the check of each bit row passes or fails;
[0008] S3: Based on the local verification results, for blocks that fail the verification, the complete symbol difference is formed by the verification pass or fail results of each bit row. For each possible error position, the optimal candidate value Top1 symbol address is directly rewritten to obtain a unique target symbol address. Member query is performed in the candidate table of the top K optimal candidate values at the corresponding position to generate a legal block candidate.
[0009] S4: Multiple legal block candidates are retained across blocks, and a candidate path is formed by concatenating them through a finite-width path. The candidate path is then jointly selected by the whole packet cyclic redundancy check (CRC) and the decoding result is output.
[0010] S5: For each possible error location in the N+1 local symbol block, generate a corresponding target address; if all the target addresses do not exist in the candidate table of the first K optimal candidate values for the corresponding location, then mark the N+1 local symbol block as an unsolvable block and include it in the unsolvable block set; for the suspicious symbols in the unsolvable block mapped to the error or erasure location of the Reed-Solomon code RS, perform Reed-Solomon code RS selective recovery, and verify it by the whole packet cyclic redundancy check (CRC).
[0011] Preferably, performing local verification decision on the N+1 local symbol blocks includes:
[0012] Take the top 1 hard decision values Y0, Y1, ..., YN of the best candidate values of all symbols in the N+1 local symbol blocks, where N are the best candidate hard decision values of data symbols and 1 is the best candidate hard decision value of check symbols.
[0013] For the optimal candidate value, the hard decision value is used to determine whether the verification of each bit row passes. If it passes, it is recorded as 0, and if it fails, it is recorded as 1.
[0014] The results of each row of the spreading factor are concatenated in the original bit order to form a complete symbol difference S, which is equivalently expressed as S=Y0⊕Y1⊕…⊕YN;
[0015] If the complete symbol difference S is equal to 0, then the optimal candidate value block of the N+1 local symbol block is determined to be directly valid, and subsequent candidate queries are not initiated.
[0016] If the complete symbol difference S is not equal to 0, then target symbol address generation and member query are performed.
[0017] Preferably, for each potentially erroneous location, its top-1 optimal candidate value symbol address is directly rewritten to obtain a unique target symbol address, and a member lookup is performed in the candidate table of the top K optimal candidate values at the corresponding location, including:
[0018] Suppose that there is only an error in the i-th symbol in the N+1 local symbol block. Based on the complete symbol difference S and the optimal candidate hard decision value Yi at this position, calculate the unique target symbol address Ti = Yi⊕S that satisfies the constraint at this position.
[0019] Determine whether the unique target symbol address Ti exists in the candidate table of the top K optimal candidate values for the i-th symbol position; if it does, record the candidate value, ranking, and metric to form a valid block candidate.
[0020] For the 2nd, 3rd, and up to the N+1th symbols in the N+1 local symbol block, perform address rewriting and member lookup sequentially;
[0021] The address rewriting is to calculate the unique target symbol address at the location based on the complete symbol difference S, and the member query is to determine whether the unique target symbol address exists in the candidate table of the first K optimal candidate values at the corresponding location;
[0022] If multiple positions are hit, multiple legal block candidates are retained; if all are not hit, the N+1 local symbol blocks are marked as unsolvable blocks.
[0023] Preferably, when obtaining the top K optimal candidate values and metrics for each received symbol, the method further includes adaptive selection of the number of candidates, specifically including:
[0024] Calculate the metric difference between the best candidate value Top1 and the second best candidate value Top2 for each received symbol, and compare the metric difference with a preset decision threshold;
[0025] When the metric difference is greater than the preset decision threshold and the current signal-to-noise ratio is greater than the preset signal-to-noise ratio threshold, the number of candidates K is set to the first value.
[0026] When the measurement difference is not greater than the preset decision threshold, or the local verification result is a verification failure, or the current signal-to-noise ratio is not greater than the preset signal-to-noise ratio threshold, the number of candidates K is set to a second value that is greater than the first value.
[0027] The top K best candidate values are saved to a short-lifetime cache, which only covers the current block or a limited pipeline window;
[0028] After the decision or finite path expansion of the N+1 local symbol block is completed, the short-lifetime cache is immediately reused so that the first K best candidate values do not save the entire packet soft information.
[0029] Preferably, multiple candidate valid blocks are retained across blocks, concatenated using finite-width paths to form candidate paths, and the candidate paths are jointly selected by a cyclic redundancy check (CRC) of the entire packet, including:
[0030] When there are multiple valid single-symbol repair locations in the N+1 local symbol block, the unique result is not selected immediately, but only the B valid block candidates with the best cost are retained, where B is 2, 4 or 8.
[0031] Multiple N+1 local symbol blocks are sequentially input into the finite-width K-optimal path manager. For each block processed, only the W candidate paths with the best cumulative cost of the entire packet are retained.
[0032] When a candidate path has recovered the complete payload and cyclic redundancy check field, the original whole packet cyclic redundancy check of the system is executed; if the whole packet cyclic redundancy check passes, the output is output and the process stops; if the whole packet cyclic redundancy check fails, the next candidate path is tried, so that the whole packet cyclic redundancy check is transformed from pure error detection redundancy into a joint decoding constraint of the whole packet of multiple local block candidates.
[0033] Preferably, the finite-width K-optimal path management further includes an early stopping mechanism, specifically including:
[0034] In the K-optimal path manager, a total packet cumulative path metric is maintained for each candidate path, and after processing each N+1 local symbol block, all paths are sorted according to the total packet cumulative path metric, and only the W paths with the best metric are retained.
[0035] During the expansion of the candidate path, if the number of currently retained paths reaches the width limit W, the new expanded path is compared with the existing worst path in terms of metric. The new path is replaced only if its metric is better than the existing worst path; otherwise, it is discarded.
[0036] When any of the candidate paths passes the full packet cyclic redundancy check, an early stop is immediately triggered, terminating the expansion and check of the remaining candidate paths, and outputting the decoded result that passed the check.
[0037] Preferably, mapping suspicious symbols in the unsolvable block to error or erasure locations in Reed-Solomon codes (RS) includes:
[0038] If the complete symbol difference S is not equal to 0, and the unique target symbol address generated for all N+1 positions in the N+1 local symbol block does not exist in the candidate table of the first K optimal candidate values at the corresponding position, then the N+1 local symbol block is marked as a block without a solution.
[0039] The unsolvable blocks are classified into residual errors, distinguishing between out-of-candidate set errors, multi-symbol errors within the same block, and low-reliability pseudo-candidate types; wherein, out-of-candidate set errors are when the true symbol has fallen out of the candidate list of the top K best candidate values; multi-symbol errors within the same block are when there are two or more erroneous symbols in the same block;
[0040] Output the classification result and symbol suspicion degree of the unsolvable block, and use the classification result and symbol suspicion degree as the decoding control input and the basis for Reed-Solomon code (RS) configuration.
[0041] Preferably, the selective recovery of Reed-Solomon codes (RS) includes:
[0042] Based on the one or more complete symbols with the highest symbol suspicion in the unsolvable block, the complete symbol is mapped to the error or erasure position of 1 to 2 consecutive Reed-Solomon bytes; wherein, a complete multi-level modulation symbol covers one or two consecutive bytes;
[0043] Perform ordinary Reed-Solomon decoding on the lowest cost path; if there is an unsolvable block, substitute the error or erase position and perform error-erase Reed-Solomon decoding, satisfying the constraint 2E+S≤r, where E is the number of unknown error bytes, S is the number of erase bytes, and r is the number of Reed-Solomon check bytes.
[0044] The Reed-Solomon decoding result is re-verified by performing a full packet cyclic redundancy check. If the full packet cyclic redundancy check passes, the final decoding result is output. If the full packet cyclic redundancy check fails, the current packet decoding is determined to have failed.
[0045] Preferably, before performing Reed-Solomon code selective recovery, the waterfall edge adaptive code determination is also included, specifically including:
[0046] Based on the number of unsolvable blocks, the number of suspicious symbols, the number of predicted byte errors, and the channel state, determine whether the residual errors are within the effective coverage of the Reed-Solomon code (RS).
[0047] If the number of prediction errors does not exceed the Reed-Solomon error correction radius, the corresponding Reed-Solomon parity bit length is selected according to the number of unsolvable blocks and the residual error classification, and Reed-Solomon decoding with the corresponding parity bit is enabled.
[0048] If the number of prediction errors exceeds the Reed-Solomon error correction radius, then stop Reed-Solomon decoding or switch to a stronger code mode.
[0049] Preferably, the method further includes: before sending the packet, selecting a unified N+1 and Reed-Solomon ratio configuration based on the data length, specifically including:
[0050] Obtain the payload and total length of cyclic redundancy check (CRC) of the current packet, spreading factor or number of symbol bits, target sensitivity, and application mode;
[0051] Traverse the finite number of candidate N values and Reed-Solomon parity bit combinations, and calculate the total number of air interface symbols, the last block fill rate, and the predicted residual error coverage rate for each combination; wherein, the N values include 4, 7, 8, and 9, so that the N+1 local symbol block structure is maintained uniformly within a packet;
[0052] Select the set of N and Reed-Solomon parity bits with the largest net gain as the configuration of the current packet, so that the number of data symbols, the number of local parity symbols, and the Reed-Solomon parity bits of the N+1 local symbol block are matched.
[0053] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0054] This invention forms a complete symbol difference by verifying the pass or fail results of each bit row. For each potentially erroneous position, the symbol address of its optimal candidate value is directly rewritten to obtain a unique target symbol address. A member lookup is then performed on the candidate table of the top K optimal candidate values at the corresponding position. This reduces the number of main operations of the algorithm from an exponential combination search of K to N+1 directional address looksup independent of K. Simultaneously, locally unrecoverable blocks are explicitly marked as unsolvable blocks and included in the unsolvable block set. Suspicious symbols in unsolvable blocks are selectively recovered using Reed-Solomon codes. The entire packet is then verified by cyclic redundancy check. This significantly reduces the number of comparators, memory accesses, and dynamic power consumption while maintaining decoding performance, enabling the layered decoding method to be implemented in low-power, low-area communication chips. Attached Figure Description
[0055] Figure 1 This is a flowchart of the low-complexity hierarchical decoding method for multi-level modulation symbols according to the present invention;
[0056] Figure 2 The schematic diagram is directly generated for the N+1 complete symbol block and the target address verified by row in this invention;
[0057] Figure 3 This is a schematic diagram illustrating the principle of the original CRC method for jointly selecting candidate blocks in this invention.
[0058] Figure 4 This is a schematic diagram of the unsolvable block set and RS recovery principle of the present invention. Detailed Implementation
[0059] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present invention.
[0060] It should be noted that if the embodiments of the present invention involve directional indicators (such as up, down, left, right, front, back, etc.), the directional indicators are only used to explain the relative positional relationship and movement of the components in a specific posture. If the specific posture changes, the directional indicators will also change accordingly.
[0061] Furthermore, if the embodiments of this invention involve descriptions such as "first" or "second," these descriptions are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined with "first" or "second" may explicitly or implicitly include at least one of those features. Additionally, the use of "and / or" or "and / or" throughout the text includes three parallel solutions. For example, "A and / or B" includes solution A, solution B, or a solution where both A and B are satisfied simultaneously. Furthermore, the technical solutions of the various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. When the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed by this invention.
[0062] Please see Figures 1-4 As shown, this invention provides a low-complexity hierarchical decoding method for multi-level modulation symbols, comprising:
[0063] S1: Demodulate the received signal to obtain the top K best candidate values TopK and corresponding metrics for each received symbol;
[0064] S2: Form an N+1 local symbol block with N data symbols and 1 check symbol, perform local check decision on the N+1 local symbol block, and generate a local check result; wherein, the local check result is whether the check of each bit row passes or fails;
[0065] S3: Based on the local verification results, for blocks that fail the verification, the complete symbol difference is formed by the verification pass or fail results of each bit row. For each possible error position, the optimal candidate value Top1 symbol address is directly rewritten to obtain a unique target symbol address. Member query is performed in the candidate table of the top K optimal candidate values at the corresponding position to generate a legal block candidate.
[0066] S4: Multiple legal block candidates are retained across blocks, and a candidate path is formed by concatenating them through a finite-width path. The candidate path is then jointly selected by the whole packet cyclic redundancy check (CRC) and the decoding result is output.
[0067] S5: For each possible error location in the N+1 local symbol block, generate a corresponding target address; if all the target addresses do not exist in the candidate table of the first K optimal candidate values for the corresponding location, then mark the N+1 local symbol block as an unsolvable block and include it in the unsolvable block set; for the suspicious symbols in the unsolvable block mapped to the error or erasure location of the Reed-Solomon code RS, perform Reed-Solomon code RS selective recovery, and verify it by the whole packet cyclic redundancy check (CRC).
[0068] This invention uses TopK, CRC, or RS in layers according to error complexity: the first layer uses a very simple N+1 symbol block decision to handle the most common and easiest-to-recover single-symbol errors; the second layer retains a small number of legal candidate cross-blocks for each block, and the CRC that already exists in the system performs joint selection of the entire packet path; the third layer classifies locally unrecoverable blocks into a set of unsolvable blocks, and only initiates RS recovery as needed for these blocks and their suspicious symbols.
[0069] The local verification decision for the N+1 local symbol blocks includes:
[0070] Take the top 1 hard decision values Y0, Y1, ..., YN of the best candidate values of all symbols in the N+1 local symbol blocks, where N are the best candidate hard decision values of data symbols and 1 is the best candidate hard decision value of check symbols.
[0071] For the optimal candidate value, the hard decision value is used to determine whether the verification of each bit row passes. If it passes, it is recorded as 0, and if it fails, it is recorded as 1.
[0072] The results of each row of the spreading factor are concatenated in the original bit order to form a complete symbol difference S, which is equivalently expressed as S=Y0⊕Y1⊕…⊕YN;
[0073] If the complete symbol difference S is equal to 0, then the optimal candidate value block of the N+1 local symbol block is determined to be directly valid, and subsequent candidate queries are not initiated.
[0074] If the complete symbol difference S is not equal to 0, then target symbol address generation and member lookup are performed. When using content-addressable memory (CAM), parallel equality comparison, or address-indexed table lookup, each location can be looked up within one cycle, as shown in the table below:
[0075] Table 1 Lookup Example:
[0076]
[0077] For example, in the 8+1 and Top16 case, the traditional combination number is 16^9 = 68,719,476,736, while this invention only requires performing a target address rewrite and member lookup once for each of the 9 positions. Taking SF5 as an example, the Top1 address of S1 is 11100. If the pass / fail vector of the five bit rows is 01010, then the target address is directly 10110; there is no need to try the other 15 candidates of S1. The TopK cache only covers the current block or double buffer window and is reused immediately after processing; increasing K mainly adds a small amount of cache and parallel equal-value comparators, without increasing the number of target trials.
[0078] Specifically, for each potentially erroneous location, its top-1 optimal candidate value symbol address is directly rewritten to obtain a unique target symbol address. Then, a member lookup is performed on the candidate table of the top K optimal candidate values for that location, including:
[0079] Suppose that there is only an error in the i-th symbol in the N+1 local symbol block. Based on the complete symbol difference S and the optimal candidate hard decision value Yi at this position, calculate the unique target symbol address Ti = Yi⊕S that satisfies the constraint at this position.
[0080] Determine whether the unique target symbol address Ti exists in the candidate table of the top K optimal candidate values for the i-th symbol position; if it does, record the candidate value, ranking, and metric to form a valid block candidate.
[0081] For the 2nd, 3rd, and up to the N+1th symbols in the N+1 local symbol block, perform address rewriting and member lookup sequentially;
[0082] The address rewriting is to calculate the unique target symbol address at the location based on the complete symbol difference S, and the member query is to determine whether the unique target symbol address exists in the candidate table of the first K optimal candidate values at the corresponding location;
[0083] If multiple positions are hit, multiple legal block candidates are retained; if all are not hit, the N+1 local symbol blocks are marked as unsolvable blocks.
[0084] The process of obtaining the top K optimal candidate values and metrics for each received symbol also includes adaptive selection of the number of candidates, specifically including:
[0085] Calculate the metric difference between the best candidate value Top1 and the second best candidate value Top2 for each received symbol, and compare the metric difference with a preset decision threshold;
[0086] When the metric difference is greater than the preset decision threshold and the current signal-to-noise ratio is greater than the preset signal-to-noise ratio threshold, the number of candidates K is set to the first value.
[0087] When the measurement difference is not greater than the preset decision threshold, or the local verification result is a verification failure, or the current signal-to-noise ratio is not greater than the preset signal-to-noise ratio threshold, the number of candidates K is set to a second value that is greater than the first value.
[0088] The top K best candidate values are saved to a short-lifetime cache, which only covers the current block or a limited pipeline window;
[0089] After the decision or finite path expansion of the N+1 local symbol block is completed, the short-lifetime cache is immediately reused so that the first K best candidate values do not save the entire packet soft information.
[0090] Wherein, the preset decision threshold and the preset signal-to-noise ratio threshold are constants preset according to the system configuration; in one embodiment, the preset decision threshold is 3dB to 6dB; the preset signal-to-noise ratio threshold is -5dB to 0dB; the first value K=2; the second value K=4, 8 or 16, selected according to the channel degradation level.
[0091] The process involves retaining multiple candidate valid blocks across blocks, concatenating them using finite-width paths to form candidate paths, and then jointly selecting the candidate paths using a cyclic redundancy check (CRC) of the entire packet. This includes:
[0092] When there are multiple valid single-symbol repair locations in the N+1 local symbol block, the unique result is not selected immediately, but only the B valid block candidates with the best cost are retained, where B is 2, 4 or 8.
[0093] Multiple N+1 local symbol blocks are sequentially input into the finite-width K-optimal path manager. For each block processed, only the W candidate paths with the best cumulative cost of the entire packet are retained.
[0094] When a candidate path has recovered the complete payload and cyclic redundancy check field, the original whole packet cyclic redundancy check of the system is executed; if the whole packet cyclic redundancy check passes, the output is output and the process stops; if the whole packet cyclic redundancy check fails, the next candidate path is tried, so that the whole packet cyclic redundancy check is transformed from pure error detection redundancy into a joint decoding constraint of the whole packet of multiple local block candidates.
[0095] The finite-width K-optimal path management also includes an early stopping mechanism, specifically including:
[0096] In the K-optimal path manager, a total packet cumulative path metric is maintained for each candidate path, and after processing each N+1 local symbol block, all paths are sorted according to the total packet cumulative path metric, and only the W paths with the best metric are retained.
[0097] During the expansion of the candidate path, if the number of currently retained paths reaches the width limit W, the new expanded path is compared with the existing worst path in terms of metric. The new path is replaced only if its metric is better than the existing worst path; otherwise, it is discarded.
[0098] When any of the candidate paths passes the full packet cyclic redundancy check, an early stop is immediately triggered, terminating the expansion and check of the remaining candidate paths, and outputting the decoded result that passed the check.
[0099] The mapping of suspicious symbols in the unsolvable block to error or erasure locations in Reed-Solomon codes (RS) includes:
[0100] If the complete symbol difference S is not equal to 0, and the unique target symbol address generated for all N+1 positions in the N+1 local symbol block does not exist in the candidate table of the first K optimal candidate values at the corresponding position, then the N+1 local symbol block is marked as a block without a solution.
[0101] The unsolvable blocks are classified into residual errors, distinguishing between out-of-candidate set errors, multi-symbol errors within the same block, and low-reliability pseudo-candidate types; wherein, out-of-candidate set errors are when the true symbol has fallen out of the candidate list of the top K best candidate values; multi-symbol errors within the same block are when there are two or more erroneous symbols in the same block;
[0102] Output the classification result and symbol suspicion degree of the unsolvable block, and use the classification result and symbol suspicion degree as the decoding control input and the basis for Reed-Solomon code (RS) configuration.
[0103] The selective recovery of Reed-Solomon codes (RS) includes:
[0104] Based on the one or more complete symbols with the highest symbol suspicion in the unsolvable block, the complete symbol is mapped to the error or erasure position of 1 to 2 consecutive Reed-Solomon bytes; wherein, a complete multi-level modulation symbol covers one or two consecutive bytes;
[0105] Perform ordinary Reed-Solomon decoding on the lowest cost path; if there is an unsolvable block, substitute the error or erase position and perform error-erase Reed-Solomon decoding, satisfying the constraint 2E+S≤r, where E is the number of unknown error bytes, S is the number of erase bytes, and r is the number of Reed-Solomon check bytes.
[0106] The Reed-Solomon decoding result is re-verified by performing a full packet cyclic redundancy check. If the full packet cyclic redundancy check passes, the final decoding result is output. If the full packet cyclic redundancy check fails, the current packet decoding is determined to have failed.
[0107] Prior to performing Reed-Solomon code selective recovery, the process also includes waterfall edge adaptive code determination, specifically including:
[0108] Based on the number of unsolvable blocks, the number of suspicious symbols, the number of predicted byte errors, and the channel state, determine whether the residual errors are within the effective coverage of the Reed-Solomon code (RS).
[0109] If the number of prediction errors does not exceed the Reed-Solomon error correction radius, the corresponding Reed-Solomon parity bit length is selected according to the number of unsolvable blocks and the residual error classification, and Reed-Solomon decoding with the corresponding parity bit is enabled.
[0110] If the number of prediction errors exceeds the Reed-Solomon error correction radius, then stop Reed-Solomon decoding or switch to a stronger code mode.
[0111] Preferably, the above method further includes: before sending the packet, selecting a configuration with a uniform N+1 and Reed-Solomon ratio based on the data length, specifically including:
[0112] Obtain the payload and total length of cyclic redundancy check (CRC) of the current packet, spreading factor or number of symbol bits, target sensitivity, and application mode;
[0113] Traverse the finite number of candidate N values and Reed-Solomon parity bit combinations, and calculate the total number of air interface symbols, the last block fill rate, and the predicted residual error coverage rate for each combination; wherein, the N values include 4, 7, 8, and 9, so that the N+1 local symbol block structure is maintained uniformly within a packet;
[0114] Select the set of N and Reed-Solomon parity bits with the largest net gain as the configuration of the current packet, so that the number of data symbols, the number of local parity symbols, and the Reed-Solomon parity bits of the N+1 local symbol block are matched.
[0115] In this embodiment, the overall process of the sending end is as follows:
[0116] The transmitting end processes data in the following order: Payload → CRC → Optional RS encoding → Continuous Byte / bit stream → Multi-ary data symbol mapping → N+1 local check symbol generation → Optional interleaving → Transmission. The CRC is located within the RS information area; therefore, the CRC field itself is protected by both the RS encoding and the N+1 structure.
[0117] A uniform N+1 structure is preferred within a single packet to simplify the counter, buffer depth, verification logic, and receiver state machine. Different packets, different operating modes, or different payload lengths can be configured with different N values. N can be automatically selected by the system or manually specified through the client register or protocol header.
[0118] In this embodiment, the N+1 complete symbol block is as follows:
[0119] Let N data symbols be X0, X1, ..., X(N-1), and the check symbol be P. In the XOR implementation scenario: P = X0⊕X1⊕...⊕X(N-1). All Xi and P are complete multi-ary symbols, not a single bit. For LoRa / CSS (Long Range Low Power Wireless Modulation / Linear Frequency Modulation Spread Spectrum), the symbol width is equal to SF (spreading factor); for MFSK (Multi-ary Frequency Shift Keying), the symbol value is the frequency index; for QAM (Quadrature Amplitude Modulation), the symbol value is the constellation point number or equivalent bit label.
[0120] The check relationship can also be achieved using modulo M summation, GF(2^m) linear combination, matrix check, short CRC, or lookup table constraints. The core of the N+1 structure is to add only a simple local redundant symbol, maintaining a high code rate and low computational complexity.
[0121] In this embodiment, the TopK candidate generation and adaptive selection are as follows:
[0122] Each received symbol outputs TopK candidate values and their corresponding metrics. K can be adaptively adjusted according to the signal state: when the metric difference between Top1 and Top2 is large, the SNR is high, or the local check passes directly, only Top2 can be saved; when the peak metric is close, the local check fails, or the channel deteriorates, it can be expanded to Top4, Top8, or Top16.
[0123] Candidates only need to be saved until the current block decision or the end of the finite path extension. For a fixed 8+1 structure, the buffer depth only needs to be 9 symbols; for a pipelining implementation, a double buffering mechanism can be used, with one block for receiving and one block for decision. Therefore, the TopK method does not need to save the entire packet's soft information, and does not generate the large RAM usage required by traditional soft decoding.
[0124] In this embodiment, the single-symbol target value is directly generated as follows:
[0125] The receiver first extracts the Top 1 hard decisions Y0, Y1, ..., YN for all symbols in a block. For an XOR N+1 structure, the check is performed bit by bit to determine whether the check passes: 0 for passing and 1 for failing. The results of SF rows are concatenated in their original bit order to obtain the complete symbol difference S, which is equivalent to S = Y0⊕Y1⊕...⊕YN. If S = 0, the Top 1 block is directly valid; if S ≠ 0, and assuming only the i-th symbol is incorrect, the unique target address satisfying the constraint at that position is Ti = Yi⊕S.
[0126] For example, when SF=5, if the Top1 address of S1 is 11100, and the pass / fail results of the five lines from high to low are 01010, then the unique target address of S1 is 10110. The receiving end does not need to substitute each of the Top2, Top3, etc. of S1 into the checksum; it only needs to check once whether 10110 exists in the TopK table of S1. If a match is found, the candidate value, ranking, and metric are recorded. Subsequently, the same address rewriting and query are performed once for each of S2, S3, and up to the N+1th symbol. If multiple positions are matched, multiple legal block candidates are retained; if all are not matched, the block is marked as unsolvable.
[0127] In this embodiment, the joint selection of multiple candidates within a block and cross-block CRC is as follows:
[0128] A local block may have multiple valid single-symbol repair locations. The receiver does not immediately select a unique result, but only retains the B candidates with the best cost, such as B=2, 4, or 8. Multiple blocks are sequentially entered into a finite-width K-best path manager, and after processing each block, only the W paths with the best cumulative cost for the entire packet are retained.
[0129] Once a complete payload + CRC check has been recovered from a certain path, the system's original CRC check is immediately executed. If the CRC passes, processing stops and the result is output; if the CRC fails, the next path is tried. In conventional systems, CRC is usually only used for final error detection. This invention uses it as a joint constraint of the entire packet for multiple local block candidates, thus obtaining additional decoding gain without adding any CRC bits.
[0130] In this embodiment, the set of unsolvable blocks and their classification are as follows:
[0131] If S≠0, and the target addresses directly generated from all N+1 positions are not in the corresponding TopK, then the block does not have a valid single-symbol recovery candidate and is marked as a block without a solution. If there are more than two errors in the same block, in rare cases a locally valid but obviously poorly measured pseudo-candidate may be formed by chance; after being combined across blocks, this candidate usually cannot pass the full packet CRC, and the relevant block can be further upgraded to a suspicious block without a solution due to CRC failure, candidate cost, and consistency.
[0132] Unsolvable blocks mainly arise from the following situations:
[0133] The same block contains two or more error symbols;
[0134] The true symbol has fallen out of the TopK candidate list, and the target value cannot be found in the candidate list;
[0135] Existing experiments have shown that the vast majority of errors in the error block are single-symbol errors that can be locally repaired. Packets that cannot be locally repaired are mainly divided into two categories: multiple errors in the same block and correct symbols not in the candidate set. This classification itself can serve as a basis for decoding control input and RS configuration.
[0136] In this embodiment, the waterfall feature without unblocking and the RS enabling window are as follows:
[0137] N+1 and TopK prioritize the removal of a large number of zero errors and single-symbol errors, making the residual PER-SNR curve steeper near the threshold. Above the threshold, local decoding has recovered most packets, and RS can handle very few residual errors; after SNR drops by a few tenths of a dB to 1 dB, the number of multiple errors in the same block and errors outside TopK will increase rapidly and exceed the error correction radius of short RS. This phenomenon forms a "waterfall edge window" with a narrow effective range of the outer code.
[0138] Therefore, RS should not be unconditionally enabled at high strength for all packets. Instead, the parity bit should be selected based on the number of undecoded blocks, the number of suspicious symbols, the number of prediction byte errors, and the channel state. If the number of prediction errors significantly exceeds the RS's capacity, decoding can be stopped directly or a stronger mode can be entered to avoid unnecessary power consumption.
[0139] In this embodiment, the matching of RS foreign code and symbols to Byte is as follows:
[0140] A LoRa or other high-order modulation symbol contains 3 to 12 bits, which is close to the 8-bit size of a byte. After the continuous bit stream is packed according to the spreading factor SF, a complete LoRa symbol usually covers one or two consecutive bytes. Therefore, when a complete symbol is highly suspicious due to the lack of a solution block, it can be mapped to a small number of RSByte positions with relatively high accuracy.
[0141] The sending end can perform RS encoding on the payload+CRC, and the RS check byte is included in the symbol packet and N+1 protection along with the ordinary data. The receiving end first performs local candidate filtering and CRC selection; if it still fails, it performs ordinary RS decoding on the lowest cost path; if there is an unsolvable block, it maps the most suspicious one or several complete symbols to 1~2 byte erase positions, performs error-erasure RS decoding, and finally verifies it by CRC.
[0142] To improve the efficiency of symbol-RS byte correspondence, continuous mapping, specific interleaving, or byte alignment rules can be selected to ensure that a symbol corresponds to one byte or two adjacent bytes as much as possible, avoiding the spread of a suspicious symbol to too many RS positions. For other modulations, GF(2^m)RS, BCH, or other symbol codes can be selected according to the number of bits carried by each symbol.
[0143] In this embodiment, the N+1 and RS matching ratio is selected according to the data length as follows:
[0144] This invention preferably maintains a uniform block structure within a packet, but allows the system to select N based on the total information length and reliability requirements before sending the packet. For example, when fixing 8+1 would cause newly added RS check data to enter a new block with very low utilization, 7+1, 9+1, or other N+1 can be uniformly used in the packet to make the number of data symbols, the number of local check symbols, and RSparity more matched.
[0145] In this embodiment, the low-power, low-area chip implementation scheme is as follows:
[0146] Top1 first: No TopK query is initiated if the local validation passes;
[0147] Targeted search rather than combined search: Only N+1 target addresses are generated and member queries are performed in the corresponding small lists, without trying each candidate individually;
[0148] Short-lifecycle cache: only stores candidate indices and quantization metrics for the current block or double-buffered blocks;
[0149] Limited-width paths: Each block retains only a small number of candidates, and the entire packet retains only a fixed W paths;
[0150] CRC early stop: Stop as soon as any low-cost path passes the existing CRC verification;
[0151] RS on-demand gating: only starts when there is no unblocking or all CRC failures;
[0152] Waterfall window decision: Invalid decoding is not performed when the number of unsolvable blocks exceeds the RS capacity;
[0153] Unified hardware, multiple configuration modes: The same XOR / Lookup / FSM supports different N, K and parity.
[0154] In this embodiment, the error ratio statistics and parameter selection methods are as follows:
[0155] To determine the optimal N, K, and RSparity (Reed-Solomon code check byte) from both theoretical and simulation perspectives, this invention proposes to statistically analyze the following error profile for each SNR point, instead of just calculating the final PER (Packet Error Rate), as shown in the table below:
[0156] Table 2 Statistical Table:
[0157]
[0158] For r RS check bytes, a standard RS can correct approximately r / 2 unknown byte errors. If a reliable erasure location is provided, then 2E+S≤r is satisfied, where E is the number of unknown error bytes and S is the number of erased bytes. Based on the residual error distribution, the theoretical recoverable packet ratio for each parity at each signal-to-noise ratio (SNR) can be calculated offline. After deducting the added air interface symbols and power consumption, the configuration with the highest net gain is selected.
[0159] The above description is merely an exemplary embodiment of the present invention and does not limit the patent scope of the present invention. Any equivalent structural transformations made using the contents of the present invention specification and drawings under the technical concept of the present invention, or direct / indirect applications in other related technical fields, are included within the patent protection scope of the present invention.
Claims
1. A low-complexity hierarchical decoding method for multi-level modulation symbols, characterized in that, include: S1: Demodulate the received signal to obtain the top K best candidate values TopK and corresponding metrics for each received symbol; S2: Form an N+1 local symbol block with N data symbols and 1 check symbol, perform local check decision on the N+1 local symbol block, and generate a local check result; wherein, the local check result is whether the check of each bit row passes or fails; S3: Based on the local verification results, for blocks that fail the verification, the complete symbol difference is formed by the verification pass or fail results of each bit row. For each possible error position, the optimal candidate value Top1 symbol address is directly rewritten to obtain a unique target symbol address. Member query is performed in the candidate table of the top K optimal candidate values at the corresponding position to generate a legal block candidate. S4: Multiple legal block candidates are retained across blocks, and a candidate path is formed by concatenating them through a finite-width path. The candidate path is then jointly selected by the whole packet cyclic redundancy check (CRC) and the decoding result is output. S5: For each possible error location in the N+1 local symbol block, generate a corresponding target address; if all the target addresses do not exist in the candidate table of the first K optimal candidate values for the corresponding location, then mark the N+1 local symbol block as an unsolvable block and include it in the unsolvable block set; for the suspicious symbols in the unsolvable block mapped to the error or erasure location of the Reed-Solomon code RS, perform Reed-Solomon code RS selective recovery, and verify it by the whole packet cyclic redundancy check (CRC).
2. The low-complexity hierarchical decoding method for multi-level modulation symbols according to claim 1, characterized in that, Performing a local check decision on the N+1 local symbol block includes: Take the top 1 hard decision values Y0, Y1, ..., YN of the best candidate values of all symbols in the N+1 local symbol blocks, where N are the best candidate hard decision values of data symbols and 1 is the best candidate hard decision value of check symbols. For the optimal candidate value, the hard decision value is used to determine whether the verification of each bit row passes. If it passes, it is recorded as 0, and if it fails, it is recorded as 1. The results of each row of the spreading factor are concatenated in the original bit order to form a complete symbol difference S, which is equivalently expressed as S=Y0⊕Y1⊕…⊕YN; If the complete symbol difference S is equal to 0, then the optimal candidate value block of the N+1 local symbol block is determined to be directly valid, and subsequent candidate queries are not initiated. If the complete symbol difference S is not equal to 0, then target symbol address generation and member query are performed.
3. The low-complexity hierarchical decoding method for multi-level modulation symbols according to claim 2, characterized in that, For each potentially erroneous location, directly rewrite its top-1 optimal candidate value symbol address to obtain a unique target symbol address. Then, perform a member lookup in the candidate table of the top K optimal candidate values for the corresponding location, including: Suppose that there is only an error in the i-th symbol in the N+1 local symbol block. Based on the complete symbol difference S and the optimal candidate hard decision value Yi at this position, calculate the unique target symbol address Ti = Yi⊕S that satisfies the constraint at this position. Determine whether the unique target symbol address Ti exists in the candidate table of the top K optimal candidate values for the i-th symbol position; if it does, record the candidate value, ranking, and metric to form a valid block candidate. For the 2nd, 3rd, and up to the N+1th symbols in the N+1 local symbol block, perform address rewriting and member lookup sequentially; The address rewriting is to calculate the unique target symbol address at the location based on the complete symbol difference S, and the member query is to determine whether the unique target symbol address exists in the candidate table of the first K optimal candidate values at the corresponding location; If multiple positions are hit, multiple legal block candidates are retained; if all are not hit, the N+1 local symbol blocks are marked as unsolvable blocks.
4. The low-complexity hierarchical decoding method for multi-level modulation symbols according to claim 3, characterized in that, When obtaining the top K optimal candidate values and metrics for each received symbol, the process also includes adaptive selection of the number of candidates, specifically including: Calculate the metric difference between the best candidate value Top1 and the second best candidate value Top2 for each received symbol, and compare the metric difference with a preset decision threshold; When the metric difference is greater than the preset decision threshold and the current signal-to-noise ratio is greater than the preset signal-to-noise ratio threshold, the number of candidates K is set to the first value. When the measurement difference is not greater than the preset decision threshold, or the local verification result is a verification failure, or the current signal-to-noise ratio is not greater than the preset signal-to-noise ratio threshold, the number of candidates K is set to a second value that is greater than the first value. The top K best candidate values are saved to a short-lifetime cache, which only covers the current block or a limited pipeline window; After the decision or finite path expansion of the N+1 local symbol block is completed, the short-lifetime cache is immediately reused so that the first K best candidate values do not save the entire packet soft information.
5. A low-complexity hierarchical decoding method for multi-level modulation symbols according to claim 1, characterized in that, Multiple legitimate block candidates are retained across blocks, and concatenated using finite-width paths to form candidate paths. The candidate paths are then jointly selected using a cyclic redundancy check (CRC) of the entire packet, including: When there are multiple valid single-symbol repair locations in the N+1 local symbol block, the unique result is not selected immediately, but only the B valid block candidates with the best cost are retained, where B is 2, 4 or 8. Multiple N+1 local symbol blocks are sequentially input into the finite-width K-optimal path manager. For each block processed, only the W candidate paths with the best cumulative cost of the entire packet are retained. When a candidate path has recovered the complete payload and cyclic redundancy check field, the original whole packet cyclic redundancy check of the system is executed; if the whole packet cyclic redundancy check passes, the output is output and the process stops; if the whole packet cyclic redundancy check fails, the next candidate path is tried, so that the whole packet cyclic redundancy check is transformed from pure error detection redundancy into a whole packet joint decoding constraint of multiple local block candidates.
6. The low-complexity hierarchical decoding method for multi-level modulation symbols according to claim 5, characterized in that, The finite-width K-optimal path manager also includes an early stopping mechanism, specifically: In the K-optimal path manager, a total packet cumulative path metric is maintained for each candidate path, and after processing each N+1 local symbol block, all paths are sorted according to the total packet cumulative path metric, and only the W paths with the best metric are retained. During the expansion of the candidate path, if the number of currently retained paths reaches the width limit W, the new expanded path is compared with the existing worst path in terms of metric. The new path is replaced only if its metric is better than the existing worst path; otherwise, it is discarded. When any of the candidate paths passes the full packet cyclic redundancy check, an early stop is immediately triggered, terminating the expansion and check of the remaining candidate paths, and outputting the decoded result that passed the check.
7. A low-complexity hierarchical decoding method for multi-level modulation symbols according to claim 1, characterized in that, Mapping suspicious symbols in the unsolvable block to error or erasure locations in Reed-Solomon codes (RS) includes: If the complete symbol difference S is not equal to 0, and the unique target symbol address generated for all N+1 positions in the N+1 local symbol block does not exist in the candidate table of the first K optimal candidate values at the corresponding position, then the N+1 local symbol block is marked as a block without a solution. The unsolvable blocks are classified into residual errors, distinguishing between out-of-candidate set errors, multi-symbol errors within the same block, and low-reliability pseudo-candidate types; wherein, out-of-candidate set errors are when the true symbol has fallen out of the candidate list of the top K best candidate values; multi-symbol errors within the same block are when there are two or more erroneous symbols in the same block; Output the classification result and symbol suspicion degree of the unsolvable block, and use the classification result and symbol suspicion degree as the decoding control input and the basis for Reed-Solomon code (RS) configuration.
8. A low-complexity hierarchical decoding method for multi-level modulation symbols according to claim 7, characterized in that, The execution of Reed-Solomon code selective recovery includes: Based on the one or more complete symbols with the highest symbol suspicion in the unsolvable block, the complete symbol is mapped to the error or erasure position of 1 to 2 consecutive Reed-Solomon bytes; wherein, a complete multi-level modulation symbol covers one or two consecutive bytes; Perform ordinary Reed-Solomon decoding on the lowest cost path; if there is an unsolvable block, substitute the error or erase position and perform error-erase Reed-Solomon decoding, satisfying the constraint 2E+S≤r, where E is the number of unknown error bytes, S is the number of erase bytes, and r is the number of Reed-Solomon check bytes. The Reed-Solomon decoding result is re-verified by performing a full packet cyclic redundancy check. If the full packet cyclic redundancy check passes, the final decoding result is output. If the full packet cyclic redundancy check fails, the current packet decoding is determined to have failed.
9. A low-complexity hierarchical decoding method for multi-level modulation symbols according to claim 8, characterized in that, Before performing Reed-Solomon code selective recovery, the waterfall edge adaptive code determination is also included, specifically: Based on the number of unsolvable blocks, the number of suspicious symbols, the number of predicted byte errors, and the channel state, determine whether the residual errors are within the effective coverage of the Reed-Solomon code (RS). If the number of prediction errors does not exceed the Reed-Solomon error correction radius, the corresponding Reed-Solomon parity bit length is selected according to the number of unsolvable blocks and the residual error classification, and Reed-Solomon decoding with the corresponding parity bit is enabled. If the number of prediction errors exceeds the Reed-Solomon error correction radius, then stop Reed-Solomon decoding or switch to a stronger code mode.
10. A low-complexity hierarchical decoding method for multi-level modulation symbols according to claim 1, characterized in that, The method further includes: before sending the packet, selecting a configuration with a uniform N+1 and Reed-Solomon ratio based on the data length, specifically including: Obtain the payload and total length of cyclic redundancy check (CRC) of the current packet, spreading factor or number of symbol bits, target sensitivity, and application mode; Traverse the finite number of candidate N values and Reed-Solomon parity bit combinations, and calculate the total number of air interface symbols, the last block fill rate, and the predicted residual error coverage rate for each combination; wherein, the N values include 4, 7, 8, and 9, so that the N+1 local symbol block structure is maintained uniformly within a packet; Select the set of N and Reed-Solomon parity bits with the largest net gain as the configuration of the current packet, so that the number of data symbols, the number of local parity symbols, and the Reed-Solomon parity bits of the N+1 local symbol block are matched.
Citation Information
Patent Citations
Scratch model reasoning optimization method and system for long context speculative decoding
CN122174880A
Blind decoding of data packets
US20200112395A1