Soft decoding method for FEC decoding

By using a counter and index array to record the amplitude and address of the LLR value in FEC decoding, and utilizing the cumulative total array to quickly find the address of the minimum or maximum value, the problem of long time consumption or insufficient accuracy in the existing technology is solved, and efficient and accurate software decoding is achieved.

WO2025252165A1PCT designated stage Publication Date: 2025-12-11SHANGHAI FORMULA MICROELECTRONICS CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/099365
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-05
Filing Date
2025-06-05
Publication Date
2025-12-11

AI Technical Summary

Technical Problem

Existing FEC decoding methods suffer from time-consuming or inaccurate searches when looking for multiple minimum or maximum values, making it difficult to achieve efficient and accurate software decoding, especially under time constraints or limited resources.

Method used

A novel soft decoding method is adopted, which records the amplitude and address of the LLR value through the counter array CNT[x] and the index array IDX[x]. The address of the minimum or maximum value is quickly found by using the cumulative total array add1[x] or add2[x] and then corrected for FEC decoding.

Benefits of technology

With low latency and low resource consumption, it can efficiently and accurately find M maximum and minimum values, solving the problems of long time consumption or insufficient accuracy in existing technologies and improving decoding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025099365_11122025_PF_FP_ABST
    Figure CN2025099365_11122025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications, and discloses a soft decoding method for FEC decoding, which can accurately find M extreme values from a finite bit width sequence with small delay, and comprises: generating a digital sequence composed of N values each having a P-bit width, wherein each value comprises a highest symbol bit and P-1 bits representing amplitudes; performing computing and address recording on the values on the basis of the amplitudes, wherein a counter array CNT[x] records the number, and an index array IDX[x] records addresses; for each x in the range from 0 to 2P-1, calculating add1[x] of a cumulative total number, wherein the cumulative total number is the sum of the number of values of the amplitudes from 0 to x; searching for minimum values, and searching add1[x] starting from add1[0], so as to find add1[i] that is the sum of the number of the values of amplitudes that can first satisfy add1[i]≥M, wherein M is the number of minimum values to be found; storing the addresses of M values in IDX[0] to IDX[i], and when add1[i]=M, taking all the addresses in IDX[0] to IDX[i]; when add1[i]>M, if i=0, taking first M addresses in IDX[i], and if i>0, taking first (M-add[i-1]) addresses in IDX[0] to IDX[i-1], and first (M-add[i-1]) addresses in IDX[i]; and performing corresponding processing on the values on the basis of the found addresses. A maximum value is found by means of the similar steps.
Need to check novelty before this filing date? Find Prior Art

Description

Soft-decoding method for FEC decoding TECHNICAL FIELD

[0001] The present application relates to the field of communication technology, and more particularly to a soft-decoding method for FEC decoding. BACKGROUND

[0002] This section is intended to provide background information to facilitate a better understanding of the embodiments of this application set forth in the claims. The description herein does not constitute admission of prior art.

[0003] A method for finding multiple minimum or maximum values in a limited bit-width sequence can be applied to a scenario in which multiple confidence values need to be found in FEC soft-decoding, thereby providing relevant information for decoding. The following is an example of finding multiple minimum values. Finding multiple minimum values in a limited bit-width sequence is usually applied in some algorithmic schemes that need to distinguish confidence according to the size of values.

[0004] For example, an FEC code word consists of N (N=2n) bits: Code=[b0, b1, b2,..., bN-1] N-1 ]

[0005] where b i =0 or 1, i=0, 1, 2,..., N-1.

[0006] After modulation, it becomes I+Qj symbol, which After the N symbols pass through an AWGN channel and then through soft demodulation, N LLR values are generated and enter the FEC decoder for soft-decoding. The N bits in the code word correspond to P-bit LLR values, as shown in FIG. 1: LLR Code=[LLR0, LLR1, LLR2,..., LLRN-1] N-1

[0007] The N values can be positive or negative. When LLR i ≥0, the corresponding bit information is determined to be 1; when LLR i <0, the corresponding bit information is determined to be 0. When the transmitted b i =0, but the received LLR i ≥0, the corresponding bit information is wrong. Since the received information does not know whether 0 or 1 is transmitted, it is not known which information is wrong, so FEC decoding is needed.

[0008]

[0009] ​​​FEC decoding, the received LLR value will be considered as the reliability according to its size:

[0010] 1) When LLR i ≥ 0, the greater the amplitude of its LLR i , the greater the possibility of its corresponding bit information as 1, and the smaller the possibility of its corresponding bit information as 0; the smaller the amplitude, the smaller the possibility of its corresponding bit information as 1, and the greater the possibility of its corresponding bit information as 0.

[0011] 2) Conversely, when LLR i < 0, the greater the amplitude of its LLR i , the greater the possibility of its corresponding bit information as 0, and the smaller the possibility of its corresponding bit information as 1; the smaller the amplitude, the smaller the possibility of its corresponding bit information as 0, and the greater the possibility of its corresponding bit information as 1.

[0012] In the decoding process, we usually find M most unreliable LLR values, and correct their LLR values in the opposite direction. For example, positive needs to be changed to negative, or negative to be changed to positive, which corresponds to flipping its corresponding bit information, 0 to 1 or 1 to 0, and then decoding. Therefore, in the decoding process, we need to find M LLR values with the lowest reliability in N LLR.

[0013] The commonly used scheme to find M minimum values is as follows:

[0014] First, N LLRs are searched M times:

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

[0016] Find the LLR L2 value with the second smallest amplitude value, record idx_L2;

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

[0018] And so on,

[0019] Mth, find the LLR LM value with the Mth smallest amplitude value, record idx_LM;

[0020] Second, the N LLRs are searched by grouping, as shown in Figure 2, after multiple comparisons, M minimum values and corresponding address information are finally obtained.

[0021] In the above two schemes, the first one needs N times of searching, and can find M LLR values with the smallest amplitude values in N values, but needs to search again after the first time, needs to search serially, and finally can find the corresponding M minimum values after M times of searching. This way mainly has the disadvantages of long time consumption, and the greater M is, the more time is required. This way cannot be used in the implementation process of the scheme with tight timing.

[0022] For the second scheme, because the searching can be parallel, the searching time can be greatly shortened, when N is fixed, the greater M is, the less time is required, which can solve the timing problem in the first scheme, but the found values can not be the smallest M values, for example, when LLR0 is the smallest and LLR1 is the second smallest, LLR1 is directly ignored, and thus can have bad influence on the final decoding performance. SUMMARY

[0023] The present application aims to provide a soft decoding method for FEC decoding, which can efficiently and accurately find M maximum values.

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

[0025] (1) receiving a group of FEC code words, and generating a digital sequence composed of N values according to the FEC code words, wherein each value has a P-bit width, including a highest symbol bit and P-1 bits representing amplitude; N and P are integers greater than 1;

[0026] (2) statistically counting and recording the addresses of the N values according to the amplitudes, wherein a counter array CNT[x] records the number of values with amplitude x, and an index array IDX[x] records the addresses of the values with amplitude x, wherein x is an integer in the range of 0 to 2 P-1 -1;

[0027] (3) for each amplitude x in the range of 0 to 2 P-1 -1, calculating an array add1[x] of cumulative totals from small to large, which is the sum of the number of values with amplitudes from 0 to x;

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

[0029] (5) determine the addresses of the smallest M values, which are stored in IDX[0] to IDX[i], wherein when addl[i] = M, take all the addresses in IDX[0] to IDX[i]; when addl[i] > M, if i = 0, take the first M addresses in IDX[i], if i > 0, take the first (M - addl[i-1]) addresses in IDX[0] to IDX[i-1] and IDX[i];

[0030] (6) correct the values according to the addresses of the smallest M values found, and perform FEC decoding according to the corrected values.

[0031] In a preferred embodiment, step (3) further comprises addl[0] = CNT[0],

[0032] In a preferred embodiment, step (5) further comprises retrieving the addresses of the smallest values by directly accessing the IDX array in which the addresses of the corresponding amplitudes are stored.

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

[0034] (1) receiving a set of FEC codewords, and generating a digital sequence consisting of N values from 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;

[0035] (2) counting and recording the addresses of the N values according to amplitudes, wherein a counter array CNT[x] records the number of values with amplitude x, and an index array IDX[x] records the addresses of the values with amplitude x, wherein x is an integer in the range of 0 to 2 P-1

[0036] (3) for each amplitude x in the range of 0 to 2 P-1 , calculating an array add2[x] of cumulative totals from large to small, which is the sum of the number of values with amplitudes from 2 P-1 to x;

[0037] (4) searching the array add2[x] from add2[2 P-1 ] to find a cumulative total add2[i] such that add2[i] is the first amplitude satisfying add2[i] ≥ M, wherein M is the maximum number of values to be found, and i is an integer in the range of 0 to x;

[0038] (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 addresses in IDX[2 P-1 ] to IDX[i]; when add2[i] > M, if i = 2 P-1 , take the last M addresses in IDX[2 P-1 ]; if i < 2 P-1 , take the last (M - add2[i+1]) addresses in IDX[2 P-1 ] to IDX[i+1] and IDX[i];

[0039] (6) correct the values according to the addresses of the largest M values, and perform FEC decoding according to the corrected values.

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

[0041] In one preferred embodiment, step (5) further comprises fast retrieving the addresses of the largest values by directly accessing the IDX array where the corresponding amplitude addresses are stored.

[0042] In one preferred embodiment, the sequence of N values is composed of signal strength values received by a communication system for fast determining the smallest error probability in a communication decoding process.

[0043] In one preferred embodiment, step (1) further comprises that the N values are selected from one of the following 2 P possible sets of N values:

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

[0045] The amplitudes of the N values with P-bit width are selected from one of the following 2 P-1 +1 possibilities:

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

[0047] In one preferred embodiment, step (2) further comprises using one or more counters to count the number of values of each different amplitude, and record the address of the first occurrence of each different amplitude value;

[0048] where CNT[2 P-1 ] records the number of values with amplitude 2 P-1the number of the values of the IDX[2 P-1 -1] record value is + / -2 P-1 the address.

[0049] In one preferred embodiment, step (3) further comprises calculating the cumulative total by a successive addition operation based on the previously calculated cumulative total and the number of values of the current amplitude.

[0050] Compared with the prior art, the main difference and effect of the embodiments of the present application are as follows:

[0051] The present application can find the M maximum values accurately with less latency and resource consumption;

[0052] Compared with the first scheme, the present application is not affected by the number M of the maximum values to be found, the time is basically unchanged, the same search result as the first scheme is achieved, the latency is smaller, and the present application is more efficient.

[0053] Compared with the second scheme, the present application can compensate for the inaccurate search and reduced performance in the second scheme, and will not cause the problems of increasing the comparison order, search time and implementation resources due to the increase of the number of sequences.

[0054] It should be understood that, within the scope of the present application, the above technical features of the present application and the technical features specifically described in the following (such as the embodiments) can be combined with each other to form new or preferred technical solutions. Due to the limited space, they will not be listed one by one here. BRIEF DESCRIPTION OF DRAWINGS

[0055] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or the prior art description will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application, and those skilled in the art can obtain other drawings according to these drawings without creating any creative labor.

[0056] Fig. 1 is a schematic diagram of the process of FEC encoding and decoding.

[0057] Fig. 2 is a schematic diagram of the steps of the second scheme.

[0058] Fig. 3 is a schematic diagram of the steps of finding M minimum values in one embodiment of the present application.

[0059] Fig. 4 is a schematic diagram of the steps of finding M maximum values in one embodiment of the present application. DETAILED DESCRIPTION

[0060] In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. However, it will be apparent to one skilled in the art that the present application can be practiced without such specific details and that numerous implementation variations and modifications can be possible.

[0061] Description of partial concepts:

[0062] FEC (Forward Error Correction) soft decoding is an error control technique used to detect and correct errors generated in the process of 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.

[0063] LLR: LLR is a data structure commonly used in error detection and error correction codes, used to represent the error bits and redundant bits of each symbol in the data packet received at the receiving end.

[0064] In order to make the purpose, technical scheme and advantages of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.

[0065] One embodiment of the present application relates to a soft decoding method for FEC decoding, for finding multiple minimum values in a limited bit-width sequence, the steps of which are shown in Figure 3, the method comprising:

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

[0067] (2) counting and recording the addresses of N LLR values according to amplitude, wherein 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 an integer in the range of 0 to 2 P-1

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

[0069] ​(4) search the array addl[x] starting from addl[0] to find a cumulative total addl[i] such that addl[i] is the first magnitude that satisfies addl[i] > M, where M is a pre-determined minimum number of values to be found; i is an integer in the range of 0 to x;

[0070] (5) determine the addresses of the smallest M LLR values, which are stored in IDX[0] to IDX[i], where when addl[i] = M, take all the addresses in IDX[0] to IDX[i]; when addl[i] > M, if i = 0, take the first M addresses in IDX[i], if i > 0, take the first (M - addl[i-1]) addresses in IDX[0] to IDX[i-1] and IDX[i];

[0071] (6) correct the LLR values according to the addresses of the smallest M LLR values, and perform FEC decoding according to the corrected LLR values.

[0072] In one embodiment, the digital sequence is a signal strength value received by a communication system for fast determination of the smallest error probability in a communication decoding process.

[0073] In one embodiment, step (1) further comprises that the N LLR values are selected from one of the following 2 P +1 possibilities:

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

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

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

[0077] In one embodiment, step (2) further comprises using one or more counters to count the number of LLR values of each different magnitude, and recording the address of the first occurrence of each different magnitude of LLR value;

[0078] CNT[2 P-1 ] records the number of N LLR values with magnitude 2 P-1 , IDX[2 P-1 -1] records the addresses of the LLR values + / -2 P-1 .

[0079] In one embodiment, step (3) further comprises calculating the cumulative total by a successive addition operation, which is based on the previously calculated cumulative total and the number of LLR values of the current amplitude.

[0080] In one embodiment, step (3) further comprises addl[0] = CNT[0],

[0081] In one embodiment, step (5) further comprises quickly retrieving the address of the minimum value by directly accessing the IDX array where the corresponding amplitude address is stored.

[0082] In particular, in one embodiment, the scene information comprises:

[0083] Among N LLR values of limited bit-width, assume each LLR value is represented by P-bits, where the highest bit represents the sign bit, i.e. (P-1) bits represent the amplitude. Then the N arbitrary LLR values are one of the following 2 P values:

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

[0085] Therefore, the amplitudes of the N LLR values have at most 2 P-1 +1 possibilities, respectively:

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

[0087] The step of finding M minimum values comprises:

[0088] Segmenting the N LLR values and recording the addresses respectively according to the number of segments, such as:

[0089] CNT[0] records the number of N LLR values with amplitude 0, IDX[0] records the address of the LLR value 0;

[0090] CNT[1] records the number of N LLR values with + / -1, IDX[1] records the address of the LLR value + / -1;

[0091] CNT[2] records the number of N LLR values with + / -2, IDX[2] records the address of the LLR value + / -2;

[0092] And so on,

[0093] CNT[2 P-1-1), IDX[2 P-1 -1), IDX[2 P-1 -1), IDX[2 P-1 -1), IDX[2

[0094] CNT[2 P-1 -1), IDX[2 P-1 -1), IDX[2 P-1 -1), IDX[2 P-1 -1), IDX[2

[0095] Then, 2 P-1 +1 additions are performed, respectively as follows:

[0096] addl[0] = CNT[0] ;

[0097] addl[1] = CNT[0] + CNT[1] ;

[0098] addl[2] = CNT[0] + CNT[1] + CNT[2] ;

[0099] and so on,

[0100] addl[2 P-1 ] = CNT[0] + CNT[1] + CNT[2] +... + CNT[2 P-1 ].

[0101] Next, each of addl[0], addl[1], addl[2],..., addl[2 P-1 ] is compared with M, and the first i for which addl[i] ≥ M is found. The addresses of the smallest values are then in IDX[0], IDX[1],..., IDX[i], respectively.

[0102] When addl[i] = M, then IDX[i] values are all taken;

[0103] When IDX[i] > M, if i = 0, then only the first M of IDX[i] are taken, and if i > 0, then only the first (M - IDX[i-1]) are taken.

[0104] As described above, the addresses of the smallest M values of N values and the corresponding values can be obtained by the above steps.

[0105] One embodiment of the present application relates to a soft-decoding method for FEC decoding, for finding multiple maximum values in a limited bit-width sequence, the steps of which are shown in Fig. 4, the method comprising:

[0106] (1) receiving a set of FEC codewords composed of N bits and generating a sequence of N LLR values with P bits width from the FEC codewords, wherein each LLR value includes a most significant bit and P-1 bits representing amplitude; N and P are integers greater than 1;

[0107] (2) counting and recording the addresses of the N LLR values according to their amplitudes, wherein the counter array CNT[x] records the number of LLR values with amplitude x, and the index array IDX[x] records the addresses of the LLR values with amplitude x, wherein x is an integer ranging from 0 to 2 P-1 -1;

[0108] (3) for each amplitude x ranging from 0 to 2 P-1 -1, calculating an array add2[x] of cumulative totals from large to small, which is the sum of the number of LLR values with amplitudes from 2 P-1 -1 to 2 P-1 -x;

[0109] (4) searching the array add2[x] from add2[2 P-1 ] to find a cumulative total add2[i] such that add2[i] is the first amplitude satisfying add2[i]≥M, wherein M is a pre-set maximum number of values to be searched; i is an integer ranging from 0 to x;

[0110] (5) determining the addresses of the largest M LLR values, which are stored in IDX[2 P-1 ] to IDX[i], wherein when add2[i] = M, all the addresses in IDX[2 P-1 ] to IDX[i] are taken; when add2[i] > M, if i = 2 P-1 , the last M addresses in IDX[2 P-1 ] are taken, if i < 2 P-1 , the last (M-add2[i+1]) addresses in IDX[2 P-1 ] to IDX[i+1] and IDX[i] are taken;

[0111] (6) correcting the LLR values according to the addresses of the largest M LLR values, and performing FEC decoding according to the corrected LLR values.

[0112] In one embodiment, the sequence of numbers is composed of signal strength values received by a communication system, which is used to quickly determine the minimum error probability in the communication decoding process.

[0113] In one embodiment, step (1) further includes that the N LLR values are selected from one of the following 2 P values:

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

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

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

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

[0118] CNT[2 P-1 ] records the number of LLR values with amplitude 2 P-1 , IDX[2 P-1 -1] records the address of the LLR value + / - 2 P-1 .

[0119] In one embodiment, step (3) further comprises calculating the cumulative total by a successive addition operation, which is based on the previously calculated cumulative total and the number of LLR values of the current amplitude.

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

[0121] In one embodiment, step (5) further comprises quickly retrieving the address of the maximum value by directly accessing the IDX array in which the address of the corresponding amplitude is stored.

[0122] The method of finding multiple maximum values in a limited bit-width sequence can be applied to find the cities with the most population, and can also be used to find the direct current and harmonics when counting noise, so as to eliminate the influence of direct current and harmonics on noise counting. Therefore, the method proposed in the present application has a wide application scenario and can produce positive effects.

[0123] It has to be noted that, in the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. Furthermore, the words "comprise", "comprising", "contain", "containing", "include", "including" and "includes" when used in this specification and in the claims are not to be interpreted as specifying the presence of the stated features or components. Furthermore, the words "a" or "an" shall not be construed as being used in a limiting sense, and do not exclude a plurality or the possibility of using more than one. The terms "comprising", "comprise" and "comprises" and "include" and "including" when used in this specification and in the claims are not to be interpreted as limiting the scope of what is claimed. The terms "couple", "coupled" and "coupling" when used in the disclosure, refer to the joining of two members directly or indirectly to one another. The term "coupled" as used herein refers to two or more members that can or do interact with each other. The term "and / or" as used in the application refers to and encompasses any and all possible combinations of one or more of the associated listed items. The term "about" when used in the disclosure refers to a range of values plus or minus 10% of the value being described. The term "consisting essentially of when used in the disclosure refers to a composition that includes the recited elements, and that can include additional elements so long as the additional elements do not materially alter the basic and novel characteristics of the composition.

[0124] All documents referred to in this patent application are incorporated by reference herein as if each were individually incorporated by reference. In addition, it is to be understood that the application can be carried out by specifically different embodiments and that embodiments can be practiced without materials details, quantifications, and other specific items, parts, and pieces specifically set forth in the above description.

Claims

1. A soft-decoding method for FEC decoding, comprising: (1) receiving a set of FEC codewords and generating a sequence of N values from the FEC codewords, wherein each value has a P-bit width, including one most significant sign bit and P-1 bits representing amplitude; N and P are integers greater than 1; (2) a statistical sum and address record of the N values by amplitude, wherein a counter array CNT[x] records the number of values of amplitude x, and an index array IDX[x] records the address of each value of amplitude x, where x is an integer in the range of 0 to 2 P-1 -1; (3) For each magnitude x in the range 0 to 2 P-1 An array addl[x] of cumulative totals from smallest to largest is computed for each magnitude x, the cumulative total being the sum of the number of values of magnitude from 0 to x. (4) searching the array addl[x] starting from addl[0] to find a cumulative total addl[i] such that addl[i] is the first amplitude satisfying addl[i] ≥ M, where M is a pre-set minimum number of values to be found; i is an integer ranging from 0 to x; (5) determining the addresses of the smallest M values, which are stored in IDX[0] to IDX[i], wherein when addl[i] = M, all the addresses in IDX[0] to IDX[i] are taken; when addl[i] > M, if i = 0, the first M addresses in IDX[i] are taken, if i > 0, the first (M-addl[i-1]) addresses in IDX[0] to IDX[i-1] and IDX[i] are taken; (6) correcting the values according to the addresses of the smallest M values found, and performing FEC decoding according to the corrected values.

2. The soft-decision decoding method for FEC decoding according to claim 1, wherein, Step (3) further comprises addl[0] = CNT[0], 3. The soft-decision decoding method for FEC decoding according to claim 1, wherein, Step (5) further comprises directly accessing the IDX array storing the addresses of the corresponding amplitudes to quickly retrieve the addresses of the smallest values.

4. A soft-decoding method for FEC decoding, comprising: (1) receiving a set of FEC codewords and generating a sequence of N values from the FEC codewords, wherein each value has a P-bit width, including one most significant sign bit and P-1 bits representing amplitude; N and P are integers greater than 1; (2) a statistical sum and address record of the N values by amplitude, wherein a counter array CNT[x] records the number of values of amplitude x, and an index array IDX[x] records the address of each value of amplitude x, where x is an integer in the range of 0 to 2 P-1 -1; (3) For each magnitude x in the range 0 to 2 P-1 compute an array add2[x] of cumulative totals from largest to smallest, the cumulative total being the sum of the number of values of magnitude from 2 P-1 to x. (4) search the array add2[2 P-1 ] for a cumulative sum add2[i] such that add2[i] is the first magnitude that satisfies add2[i] > M, where M is a pre-set maximum number of values to look for; i is an integer in the range 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 the addresses in IDX[2 P-1 ] to IDX[i]; when add2[i] > M, if i = 2 P-1 , take the last M addresses in IDX[2 P-1 ]; if i < 2 P-1 , take the last (M - add2[i + 1]) addresses in IDX[2 P-1 ] to IDX[i + 1] and IDX[i]. (6) correcting the values according to the addresses of the largest M values found, and performing FEC decoding according to the corrected values.

5. The soft-decision decoding method for FEC decoding according to claim 4, wherein, Step (3) further comprises add2[2 P-1 ] = CNT[2 P-1 ], 6. The soft-decision decoding method for FEC decoding according to claim 4, wherein, Step (5) further comprises directly accessing the IDX array storing the addresses of the corresponding amplitudes to quickly retrieve the addresses of the largest values.

7. The soft-decision decoding method for FEC decoding according to claim 1 or 4, wherein, The sequence of values is composed of signal strength values received by a communication system, for quickly determining the smallest error probability in a communication decoding process.

8. The soft-decision decoding method for FEC decoding according to claim 1 or 4, wherein, Step (1) further comprises said N values being selected from the following 2 P one of the following numerical values: -2 P-1 ,-(2 P-1 -1),…-1,0,1,2,…,(2 P-1 -1); The amplitudes of the N values having P-bit width are selected from the following 2 P-1 +1 one of the possibilities: 0,1,2,...,(2 P-1 -1),2 P-1 。 9. The soft-decision decoding method for FEC decoding according to claim 1 or 4, wherein, Step (2) further comprises using one or more counters to count the number of values for each different amplitude, and recording the address of the first occurrence of each different amplitude value; where CNT[2 P-1 ] counts the number of amplitudes of 2 P-1 in the N values, and IDX[2 P-1 -1] records the addresses of + / -2 P-1 values.

10. The soft-decision decoding method for FEC decoding according to claim 1 or 4, wherein, Step (3) further comprises calculating the cumulative total by a continuous addition operation based on the previously calculated cumulative total and the number of values for the current amplitude.

Citation Information

Patent Citations

  • Coding method and device, and decoding method and device

    CN113067665A

  • Soft coding method for FEC decoding

    CN118659795A

  • Decoding system, and transmitting / receiving device thereof

    US20230095262A1

  • FEC decoding apparatus and method

    WO2016119120A1