Soft decoding method for FEC decoding

By performing amplitude statistics and cumulative total calculation in FEC decoding, the problem of high time and insufficient accuracy in finding M maximum values ​​in the prior art is solved, and efficient and accurate search and correction are achieved, which is suitable for scenarios with tight timing.

CN118659795BActive Publication Date: 2025-04-25SHANGHAI FORMULA MICROELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410727663.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-05
Publication Date
2025-04-25
Estimated Expiration
2044-06-05

AI Technical Summary

Technical Problem

When the prior art finds M maximum values ​​in FEC decoding, there are problems such as high time consumption and insufficient accuracy in searching, especially in scenarios with tight timing.

Method used

By receiving the numeric sequence generated by the FEC codeword, amplitude statistics and address recording are performed, the accumulated total number array is calculated, the accumulated total number is searched to find the amplitude that meets the conditions, the address of the minimum or maximum value is determined, and the value is corrected for FEC decoding.

Benefits of technology

It is realized that the M maximum values ​​are efficiently and accurately found in the case of small delay and insufficient resource consumption, avoiding the problem of large time consumption in the prior art and improving the accuracy of search.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118659795B_ABST
    Figure CN118659795B_ABST
Patent Text Reader

Abstract

The present application relates to the field of communication technology, and discloses a soft decoding method for FEC decoding, which can accurately find M maximum values ​​with a small delay in a finite bit width sequence, including a digital sequence consisting of a group of N values ​​with a P-bit width, each value including a highest sign bit and a P-1-bit amplitude bit; the values ​​are counted and the addresses are recorded according to the amplitude, the counter array CNT[x] records the number, and the index array IDX[x] records the address; for 0 to 2 P‑1 For each x in , calculate the cumulative total add1[x], which is the sum of the number of values ​​with amplitudes from 0 to x; to find the minimum value, start searching add1[x] from add1[0] to find the first add1[i] with amplitude that satisfies add1[i]≥M, where M is the number of minimum values ​​to be found; the addresses of the M values ​​are stored in IDX[0] to IDX[i], and when add1[i]=M, take all the addresses from IDX[0] to IDX[i]; when add1[i]>M, if i=0, take the first M addresses in IDX[i], and if i>0, take IDX[0] to IDX[i-1] and the first (M-add[i-1]) addresses in IDX[i]; process the value accordingly based on the found address. Finding the maximum value is similar.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and more specifically to a soft decoding method for FEC decoding. Background Art

[0002] This section is intended to provide a background or context to the embodiments of the present application as recited in the claims. The description herein is not admitted to be prior art as disclosed by virtue of its inclusion in this section.

[0003] A method for finding multiple minimum or maximum values ​​in a finite bit width sequence can be applied to scenarios where multiple least credible confidence values ​​need to be found in FEC soft decoding, thereby providing relevant information for decoding. The following takes finding multiple minimum values ​​as an example. Finding multiple minimum values ​​in a finite bit width sequence is usually used in some algorithm solutions that need to distinguish credibility based on the size of the value.

[0004] For example, an FEC codeword consists of N (N=2n) bits:

[0005] Code=[b0, b1, b2,..., b N-1 ]

[0006] Among them, b i =0 or 1, i=0, 1, 2,...N-1.

[0007] After modulation, it becomes The symbol of I+Qj, this A symbol passes through the AWGN channel and then undergoes soft demodulation to generate N LLR values ​​that enter the FEC decoder for soft decoding. The N bits in this codeword correspond to an LLR value with a bit width of P-bits, such as Figure 1 As shown:

[0008] Code LLR =[LLR0,LLR l , LLR2, ..., LLR N-1 ]

[0009] These N values ​​can be positive or negative. i ≥0, the corresponding bit information is judged to be 1. When LLR i <0, the corresponding bit information is judged to be 0. i = 0, and the received LLR i When ≥0, the corresponding bit information is wrong. Since we don’t know whether the received information is 0 or 1, we don’t know which information is wrong, so FEC decoding is required.

[0010] When FEC is decoded, the credibility of the received LLR value is determined based on the value:

[0011] 1) When LLR i ≥0, its LLR i The larger the amplitude, the greater the possibility that the corresponding bit information is 1, and the smaller the possibility that the corresponding bit information is 0; the smaller the amplitude, the smaller the possibility that the corresponding bit information is 1, and the greater the possibility that the corresponding bit information is 0.

[0012] 2) On the contrary, when LLR i <0, its LLR i The larger the amplitude, the greater the possibility that the corresponding bit information is 0, and the smaller the possibility that the corresponding bit information is 1; the smaller the amplitude, the smaller the possibility that the corresponding bit information is 0, and the greater the possibility that the corresponding bit information is 1.

[0013] During the decoding process, we usually find the M least credible LLR values ​​and correct their LLR values ​​in the opposite direction. For example, a positive value needs to be changed to a negative value, or a negative value needs to be changed to a positive value. The corresponding bit information is flipped, 0 is flipped to 1 or 1 is flipped to 0, etc., for decoding. Therefore, during the decoding process, it is necessary to find the M LLR values ​​with the lowest credibility among the N LLRs.

[0014] There are two commonly used solutions for finding M minimum values:

[0015] The first method is to perform M searches on N LLRs:

[0016] Find the LLR with the smallest amplitude value L1 Value, record idx_L1;

[0017] Find the LLR with the next smallest amplitude value L2 Value, record idx_L2;

[0018] Third, find the LLR with the third smallest amplitude value L3 Value, record idx_L3;

[0019] And so on.

[0020] For the Mth time, find the LLR with the Mth smallest amplitude value LM value, record idx_LM;

[0021] The second method is to perform group search for N LLRs, such as Figure 2 As shown, after multiple levels of comparison, M minimum values ​​and corresponding address information are finally obtained.

[0022] In the above two solutions, the first one needs to search N times to find the M LLR values ​​with the smallest amplitude value among the N values. However, the second search needs to be performed after the first search is completed. It needs to be searched serially one by one. Finally, after M searches, the corresponding M minimum values ​​can be found. The main disadvantage of this method is that it takes a long time, and the larger M is, the more time is required. It cannot be used in the implementation of solutions with tight timing.

[0023] For the second solution, because parallel searches can be performed, the search time can be greatly shortened. When N is fixed and M is larger, the time required can solve the timing problem in the first solution, but the values ​​found may not be the smallest M values. For example, when LLR0 is the smallest and LLR1 is the second smallest, LLR1 is directly ignored, which may have a negative impact on the final decoding performance. Summary of the invention

[0024] The object of the present invention is to provide a soft decoding method for FEC decoding, which can efficiently and accurately find M maximum values.

[0025] The present application discloses a soft decoding method for FEC decoding, comprising:

[0026] (1) receiving a set of FEC codewords, and generating a digital sequence consisting of N values ​​according to the FEC codewords, wherein each value has a P-bit width, including a highest sign bit and P-1 bits representing amplitude; N and P are integers greater than 1;

[0027] (2) The N values ​​are counted and recorded by amplitude, where the counter array CNT[x] records the number of values ​​with amplitude x, and the index array IDX[x] records the address of each value with amplitude x, where x is 0 to 2. P-1 integer in range;

[0028] (3) For the range 0 to 2 P-1 For each amplitude x in , calculate the array add1[x] of the cumulative total from small to large, which is the sum of the number of values ​​with amplitudes from 0 to x;

[0029] (4) searching the array add1[x] starting from add1[0] to find a cumulative sum add1[i] such that add1[i] is the first amplitude satisfying add1[i]≥M, where M is a predetermined number of minimum values ​​to be found; i is an integer in the range of 0 to x;

[0030] (5) Determine the addresses of the smallest M values, which are stored in IDX[0] to IDX[i]. When add1[i]=M, take all the addresses from IDX[0] to IDX[i]. When add1[i]>M, if i=0, take the first M addresses in IDX[i]. If i>0, take IDX[0] to IDX[i-1] and the first (M-add1[i-1]) addresses in IDX[i].

[0031] (6) The value is corrected according to the address of the smallest M values ​​found, and FEC decoding is performed based on the corrected value.

[0032] In a preferred embodiment, step (3) further includes add1[0]=CNT[0],

[0033] In a preferred embodiment, step (5) further includes quickly retrieving the address of the minimum value by directly accessing the IDX array storing the corresponding amplitude addresses.

[0034] The present application also discloses a soft decoding method for FEC decoding, comprising:

[0035] (1) receiving a set of FEC codewords, and generating a digital sequence consisting of N values ​​according to the FEC codewords, wherein each value has a P-bit width, including a highest sign bit and P-1 bits representing amplitude; N and P are integers greater than 1;

[0036] (2) The N values ​​are counted and recorded by amplitude, where the counter array CNT[x] records the number of values ​​with amplitude x, and the index array IDX[x] records the address of each value with amplitude x, where x is 0 to 2. P-1 integer in range;

[0037] (3) For the range 0 to 2 P-1 For each amplitude x in the range, calculate the cumulative total array add2[x] from large to small, which is the amplitude from 2 P-1 The sum of the number of values ​​up to x;

[0038] (4) From add2[2 P-1 ] begins searching the array add2[x] to find a cumulative sum add2[i] such that add2[i] is the first amplitude that satisfies add2[i]≥M, where M is a predetermined number of maximum values ​​to be found; i is an integer in the range of 0 to x;

[0039] (5) Determine the addresses of the largest M values, which are stored in IDX[2 P-1] to IDX[i], where when add2[i] = M, take all IDX[2 P-1 ] to the address in IDX[i]; when add2[i]>M, if i=2 P-1 , take IDX[2 P-1 ], if i<2 P-1 , then take IDX[2 P-1 ] to IDX[i+1] and the last (M-add2[i+1]) addresses in IDX[i];

[0040] (6) The value is corrected according to the address of the largest M values ​​found, and FEC decoding is performed based on the corrected value.

[0041] In a preferred embodiment, step (3) further comprises add2[2 P-1 ]=CNT[2 P-1 ],

[0042] In a preferred embodiment, step (5) further includes quickly retrieving the address of the maximum value by directly accessing the IDX array storing the corresponding amplitude addresses.

[0043] In a preferred example, the digital sequence is composed of signal strength values ​​received by the communication system, and is used to quickly determine the minimum error probability during the communication decoding process.

[0044] In a preferred embodiment, step (1) further includes the N values ​​being selected from the following 2 P One of the following values:

[0045] -2 P-1 ,-(2 P-1 -1), ... -1, 0, 1, 2, ..., (2 P-1 -1);

[0046] The magnitudes of the N values ​​with a width of P bits are selected from the following 2 P-1 +1 one of the possibilities:

[0047] 0, 1, 2, ..., (2 P-1 -1), 2 P-1 .

[0048] In a preferred embodiment, step (2) further includes using one or more counters to count the number of values ​​of each different amplitude, and recording the address of the first occurrence position of each value of the different amplitude;

[0049] Among them, CNT[2 P-1 ] Record the N values ​​with an amplitude of 2 P-1 The number of IDX[2P-1 -1] Recorded value is + / -2 P-1 The address of.

[0050] In a preferred embodiment, step (3) further comprises calculating a cumulative total by a continuous addition operation, wherein the continuous addition operation is based on a previously calculated cumulative total and the number of values ​​of the current amplitude.

[0051] Compared with the prior art, the main differences and effects of the embodiments of the present invention are:

[0052] This application can retain the performance of accurately finding M maximum values ​​with low latency and low resource consumption;

[0053] Compared with Solution 1, this application is not affected by the number M of maximum values ​​that need to be searched, and the time remains basically unchanged. At the same time, the same search results as Solution 1 are achieved, with less delay and higher efficiency.

[0054] Compared with Solution 2, this solution can make up for the problem of inaccurate search and reduced performance in Solution 2, and will not cause the problem of increased comparison levels, search time, and implementation resources due to the increase in the number of sequences.

[0055] It should be understood that within the scope of the present invention, the above-mentioned technical features of the present invention and the technical features specifically described below (such as embodiments) can be combined with each other to form a new or preferred technical solution. Due to space limitations, they will not be described one by one here. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0057] Figure 1 It is a schematic diagram of the FEC encoding and decoding process.

[0058] Figure 2 This is a schematic diagram of the steps of the second solution.

[0059] Figure 3 It is a schematic diagram of the steps of finding M minimum values ​​in one embodiment of the present application.

[0060] Figure 4 It is a schematic diagram of the steps of finding M maximum values ​​in one embodiment of the present application. DETAILED DESCRIPTION

[0061] In the following description, many technical details are provided to help readers better understand the present application. However, those skilled in the art can understand that the technical solution claimed in the present application can be implemented even without these technical details and various changes and modifications based on the following embodiments.

[0062] Description of some concepts:

[0063] FEC (Forward Error Correction) soft decoding is an error control technology used to detect and correct errors generated during data transmission in digital communication and storage systems. Compared with hard decoding, soft decoding uses the reliability information of the received signal (such as signal-to-noise ratio, signal strength, etc.) to improve decoding performance.

[0064] LLR: LLR is a data structure commonly used in error detection and correction codes to represent the erroneous bits and redundant bits of each symbol in the data packet received by the receiver.

[0065] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.

[0066] In one embodiment of the present application, a soft decoding method for FEC decoding is provided, which is used to find multiple minimum values ​​in a finite bit width sequence, and the steps are as follows: Figure 3 As shown, the method includes:

[0067] (1) receiving a set of FEC codewords consisting of N bits, and generating a digital sequence consisting of N LLR values ​​with a width of P bits according to the FEC codewords, wherein each LLR value includes a highest sign bit and P-1 bits representing the amplitude; N and P are integers greater than 1;

[0068] (2) The N LLR values ​​are counted and recorded by amplitude, where the counter array CNT[x] records the number of LLR values ​​with amplitude x, and the index array IDX[x] records the address of each LLR value with amplitude x, where x is 0 to 2. P-1 integer in range;

[0069] (3) For the range 0 to 2 P-1 For each amplitude x in , calculate the array add1[x] of the cumulative total from small to large, which is the sum of the number of LLR values ​​with amplitudes from 0 to x;

[0070] (4) starting from add1[0], search the array add1[x] to find a cumulative sum add1[i] such that add1[i] is the first amplitude that satisfies add1[i] ≥ M, where M is the predetermined number of minimum values ​​to be found; i is an integer in the range of 0 to x;

[0071] (5) Determine the addresses of the smallest M LLR values, which are stored in IDX[0] to IDX[i]. When add1[i]=M, take all the addresses from IDX[0] to IDX[i]. When add1[i]>M, if i=0, take the first M addresses in IDX[i]. If i>0, take the first (M-add1[i-1]) addresses from IDX[0] to IDX[i-1] and IDX[i].

[0072] (6) The LLR value is corrected according to the address of the smallest M LLR values, and FEC decoding is performed according to the corrected LLR value.

[0073] In one embodiment, the digital sequence is composed of signal strength values ​​received by the communication system and is used to quickly determine the minimum error probability during the communication decoding process.

[0074] In one embodiment, step (1) further includes N LLR values ​​selected from the following 2 P One of the following values:

[0075] -2 P-1 ,-(2 P-1 -1),…-1,0,1,2,…,(2 P-1 -1);

[0076] The magnitudes of the N LLR values ​​are selected from the following 2 P-1 +1 one of the possibilities:

[0077] 0, 1, 2, ..., (2 P-1 -1), 2 P-1 .

[0078] In one embodiment, step (2) further includes using one or more counters to count the number of LLR values ​​of each different amplitude, and recording the address of the first occurrence position of each LLR value of the different amplitude;

[0079] CNT[2 P-1 ] Record N LLR values ​​with an amplitude of 2 P-1 The number of IDX[2 P-1 -1] record LLR value is + / -2 P-1 The address of.

[0080] In one embodiment, step (3) further includes calculating a cumulative total by a continuous addition operation, the continuous addition operation being based on a previously calculated cumulative total and the number of LLR values ​​of the current amplitude.

[0081] In one embodiment, step (3) further includes add1[0]=CNT[0],

[0082] In one embodiment, step (5) further includes quickly retrieving the address of the minimum value by directly accessing the IDX array storing the corresponding amplitude addresses.

[0083] Specifically, in one embodiment, the scene information includes:

[0084] Among the N LLR values ​​with finite bit width, assuming that each LLR value is represented by P-bits, where the highest bit represents the sign bit, that is, there are (P-1) bits representing the amplitude, then these N arbitrary LLR values ​​are as follows P One of the following values:

[0085] -2 P-1 ,-(2 P-1 -1), ... -1, 0, 1, 2, ..., (2 P-1 -1)

[0086] Therefore, the amplitude of these N LLR values ​​is at most 2 P-1 +1 maybe, respectively:

[0087] 0, 1, 2, ..., (2 P-1 -1), 2 P-1

[0088] The steps to find the M minimum values ​​include:

[0089] The N LLR values ​​are segmented and counted and the addresses are recorded, such as:

[0090] CNT[O] records the number of values ​​with an amplitude of 0 among the N LLR values, and IDX[0] records the address of the LLR value 0;

[0091] CNT[1] records the number of + / -1 among the N LLR values, and IDX[1] records the address of the LLR value + / -1;

[0092] CNT[2] records the number of + / -2 among the N LLR values, and IDX[2] records the address of the LLR value + / -2;

[0093] And so on.

[0094] CNT[2 P-1-1] record N LLR values ​​with an amplitude of + / -(2 P-1 -1), IDX[2 P-1 -1] record LLR value is + / -(2 P-1 -1) address;

[0095] CNT[2 P-1 ] Record N LLR values ​​with an amplitude of -2 P-1 The number of IDX[2 P-1 -1] record LLR value is -2 P-1 The address of.

[0096] Then, proceed to 2 P-1 +1 group of addition, as follows:

[0097] add1[0] = CNT[0];

[0098] add1[1]=CNT[0]+CNT[1];

[0099] add1[2]=CNT[0]+CNT[1]+CNT[2];

[0100] And so on.

[0101] add1[2 P-1 ]=CNT[O]+CNT[1]+CNT[2]+......+CNT[2 P-1 ].

[0102] Next, add1[0], add1[1], add1[2], ..., add1[2 P-1 ] is compared with M, and the first i such that add1[i] ≥ M is found. The addresses of the smallest values ​​are in IDX[0], IDX[1], ..., IDX[i] respectively.

[0103] When add1[i] = M, all values ​​of IDX[i] are taken;

[0104] When IDX[i]>M, if I=0, only the first M addresses in IDX[i] are taken; if i>0, only the first (M-IDX[i-1]) addresses are taken.

[0105] As described above, after the above steps, the addresses and corresponding values ​​of the smallest M values ​​among N values ​​can be obtained.

[0106] In one embodiment of the present application, a soft decoding method for FEC decoding is provided, which is used to find multiple maximum values ​​in a finite bit width sequence, and the steps are as follows: Figure 4 As shown, the method includes:

[0107] (1) receiving a set of FEC codewords consisting of N bits, and generating a digital sequence consisting of N LLR values ​​with a width of P bits according to the FEC codewords, wherein each LLR value includes a highest sign bit and P-1 bits representing the amplitude; N and P are integers greater than 1;

[0108] (2) The N LLR values ​​are counted and recorded by amplitude, where the counter array CNT[x] records the number of LLR values ​​with amplitude x, and the index array IDX[x] records the address of each LLR value with amplitude x, where x is 0 to 2. P-1 integer in range;

[0109] (3) For the range 0 to 2 P-1 For each amplitude x in the range, calculate the cumulative total array add2[x] from large to small, which is the amplitude from 2 P-1 To 2 P-1 -The sum of the number of LLR values ​​of x;

[0110] (4) From add2[2 P-1 ] starts searching the array add2[x] to find a cumulative sum add2[i] such that add2[i] is the first amplitude such that add2[i] ≥ M, where M is the predetermined number of maximum values ​​to be found; i is an integer in the range 0 to x;

[0111] (5) Determine the addresses of the largest M LLR values, which are stored in IDX[2 P-1 ] to IDX[i], where when add2[i] = M, take all IDX[2 P-1 ] to the address in IDX[i]; when add2[i]>M, if i=2 P-1 , take IDX[2 P-1 ], if i<2 P-1 , then take IDX[2 P-1 ] to IDX[i+1] and the last (M-add2[i+1]) addresses in IDX[i];

[0112] (6) The LLR value is corrected according to the address of the largest M LLR values, and FEC decoding is performed according to the corrected LLR value.

[0113] In one embodiment, the digital sequence is composed of signal strength values ​​received by the communication system and is used to quickly determine the minimum error probability during the communication decoding process.

[0114] In one embodiment, step (1) further includes N LLR values ​​selected from the following 2 P One of the following values:

[0115] -2 P-1 ,-(2 P-1 -1), ... -1, 0, 1, 2, ..., (2 P-1 -1).

[0116] The magnitudes of the N LLR values ​​are selected from the following 2 P-1 +1 one of the possibilities:

[0117] 0, 1, 2, ..., (2 P-1 -1), 2 P-1 .

[0118] In one embodiment, step (2) further includes using one or more counters to count the number of LLR values ​​of each different amplitude, and recording the address of the first occurrence position of each LLR value of the different amplitude;

[0119] CNT[2 P-1 ] Record N LLR values ​​with an amplitude of 2 P-1 The number of IDX[2 P-1 -1] record LLR value is + / -2 P-1 The address of.

[0120] In one embodiment, step (3) further includes calculating a cumulative total by a continuous addition operation, the continuous addition operation being based on a previously calculated cumulative total and the number of LLR values ​​of the current amplitude.

[0121] In one embodiment, step (3) further comprises add2[2 P-1 ]=CNT[2 P-1 ],

[0122] In one embodiment, step (5) further includes quickly retrieving the address of the maximum value by directly accessing the IDX array storing the corresponding amplitude addresses.

[0123] The method of finding multiple maximum values ​​in a finite bit width sequence can be applied to finding multiple cities with the largest populations, and can also be used to find DC and harmonics when counting noise, thereby eliminating the impact of DC and harmonics on noise statistics. Therefore, the method proposed in this application has a wide range of application scenarios and can produce positive effects.

[0124] It should be noted that in the claims and description of this patent, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "including one" do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0125] All documents mentioned in the present invention are cited as references in this application, just as each document is cited as reference individually. In addition, it should be understood that after reading the above teachings of the present invention, those skilled in the art can make various changes or modifications to the present invention, and these equivalent forms also fall within the scope defined by the claims attached to this application.

Claims

1. A soft decoding method for FEC decoding, comprising: (1) receiving a set of FEC codewords, and generating a digital sequence consisting of N values ​​according to the FEC codewords, wherein each value has a P-bit width, including a highest sign bit and P-1 bits representing amplitude; N and P are integers greater than 1; (2) The N values ​​are counted and recorded by amplitude, where the counter array CNT[x] records the number of values ​​with amplitude x, and the index array IDX[x] records the address of each value with amplitude x, where x is 0 to 2. P-1 integer in range; (3) For the range 0 to 2 P-1 For each amplitude x in, calculate the array add1[x] of the cumulative total from small to large, which is the sum of the number of values ​​with amplitudes from 0 to x, where add1[0] = CNT[0], (4) searching the array add1[x] starting from add1[0] to find a cumulative sum add1[i] such that add1[i] is the first amplitude satisfying add1[i]≥M, where M is a predetermined number of minimum values ​​to be found; i is an integer in the range of 0 to x; (5) Determine the addresses of the smallest M values, which are stored in IDX[0] to IDX[i], where when add1[i]=M, take all the addresses from IDX[0] to IDX[i]; when add1[i]>M, if i=0, take the first M addresses in IDX[i]; if i>0, take IDX[0] to IDX[i-1] and the first (M-add1[i-1]) addresses in IDX[i]; where the address of the smallest value is quickly retrieved by directly accessing the IDX array storing the corresponding amplitude addresses; (6) The value is corrected according to the address of the smallest M values ​​found, and FEC decoding is performed based on the corrected value.

2. A soft decoding method for FEC decoding, comprising: (1) receiving a set of FEC codewords, and generating a digital sequence consisting of N values ​​according to the FEC codewords, wherein each value has a P-bit width, including a highest sign bit and P-1 bits representing amplitude; N and P are integers greater than 1; (2) The N values ​​are counted and recorded by amplitude, where the counter array CNT[x] records the number of values ​​with amplitude x, and the index array IDX[x] records the address of each value with amplitude x, where x is 0 to 2. P-1 integer in range; (3) For the range 0 to 2 P-1 For each amplitude x in the range, calculate the cumulative total array add2[x] from large to small, which is the amplitude from 2 P-1 The sum of the values ​​of x, where add2[2 P-1 ]=CNT[2 P-1 ], (4) From add2[2 P-1 ] begins searching the array add2[x] to find a cumulative sum add2[i] such that add2[i] is the first amplitude that satisfies add2[i]≥M, where M is a predetermined number of maximum values ​​to be found; i is an integer in the range of 0 to x; (5) Determine the addresses of the largest M values, which are stored in IDX[2 P-1 ] to IDX[i], where when add2[i] = M, take all IDX[2 P-1 ] to the address in IDX[i]; when add2[i]>M, if i=2 P-1 , take IDX[2 P-1 ], if i<2 P-1 , then take IDX[2 P-1 ] to IDX[i+1] and the (M-add2[i+1]) addresses after IDX[i]; wherein the address of the maximum value is quickly retrieved by directly accessing the IDX array storing the corresponding amplitude address; (6) The value is corrected according to the address of the largest M values ​​found, and FEC decoding is performed based on the corrected value.

3. The soft decoding method for FEC decoding according to claim 1 or 2, characterized in that: The digital sequence is composed of signal strength values ​​received by the communication system and is used to quickly determine the minimum error probability during the communication decoding process.

4. The soft decoding method for FEC decoding according to claim 1 or 2, characterized in that: Step (1) further includes the step of selecting the N values ​​from the following 2 P One of the following values: -2 P-1 ,-(2 P-1 -1),…-1,0,1,2,…,(2 P-1 -1); The magnitudes of the N values ​​with a width of P bits are selected from the following 2 P-1 +1 one of the possibilities: 0,1,2,...,(2 P-1 -1),2 P-1 。 5. The soft decoding method for FEC decoding according to claim 1 or 2, characterized in that: Step (2) further includes using one or more counters to count the number of values ​​of each different amplitude and record the address of the first occurrence position of each value of the different amplitude; Among them, CNT[2 P-1 ] Record the N values ​​with an amplitude of 2 P-1 The number of IDX[2 P-1 -1] Recorded value is + / -2 P-1 The address of.

6. The soft decoding method for FEC decoding according to claim 1 or 2, characterized in that: Step (3) further includes calculating a cumulative total by a continuous addition operation, the continuous addition operation being based on a previously calculated cumulative total and the number of values ​​of the current amplitude.

Citation Information

Patent Citations

  • Decoding system and transmitting / receiving device thereof

    CN115913457A

  • Polar code segmented flipping decoding method based on LLR, and intelligent terminal

    WO2021000531A1