In the previous section, we have introduced some well-developed soft decoding algorithms.
However, because of high computational complexity, these methods are still unsuitable for practical implementation. In order to make use of soft information from channel to enhance the correction capability and maintain area efficiency, a decision-confined soft decoding al-gorithm is presented in this chapter.
In this chapter, we will present the detail description of our proposed method. Then some simulation results and the comparison between other different design will be shown.
3.1 Decision-Confined Soft Decoding Algorithm
In the Chase-2 (Chase) algorithm, the DMU consumes high hardware cost due to the com-plex calculation of the Euclidean distance. However, the effect of the DMU on the error performance is not clear. Fig. 3.1 shows the simulation results of the conventional Chase and the simplified Chase algorithm. From Fig. 3.1, the performance loss without the DMU is very slight. As a result, the hardware complexity can be significantly reduced by removing
the DMU without leading to obvious loss of error correction capability. The decoding flow of simplified Chase algorithm is illustrated as the following description.
• LRPs determination:
Determine η least reliable positions.
• Candidate codewords generation:
for j = 1 to 2η by 1 : Modify the LRPs by complementing one combination of LRPs and send it to hard RS decoder.
• Output codeword:
If the number of error of decoded sequence is no more than t, output the decoded codeword and terminate the decoding procedure.
5.5 6 6.5 7 7.5
10−6 10−5 10−4 10−3 10−2 10−1 100
RS(255,239)
Eb/No(db)
CER
HD
Chase (without DMU), η=3 Chase (without DMU), η=4 Chase η=3
Chase η=4
Figure 3.1: Simulation results of Chase and simplified Chase algorithm
As mentioned in Section 2.2.2, a successful RS decoding is defined that the number of roots found by Chien search is equal to the degree of error-locator polynomial Λ(x). However,
from our simulation results, when a received data has more than t errors, it’s highly possible for Chien search to find less than t roots for a degree-t Λ(x), which leads to an unsuccessful decoding and might introduce some extra errors.
Table 3.1: Percentage of degree of Λ(x) equals to 8 (105 test patterns)
Error number 9 10 11 12 13 14
Percentage % 99.5 99.5 99.6 99.6 99.5 99.5
Table 3.1 is the simulation result of RS (255,239), t = 8, and there is over 99.5% probility for Chien search to find a degree-8 Λ(x) when the number of errors exceeds 8. According to this characteristic, we propose a decision-confined algorithm to enhance the decoding efficiency by confining the degree of Λ(x), leading to only one candidate will be sent to Chien search.
Figure 3.2: Proposed soft decoding flow
Fig. 3.2 shows our proposed soft decoding flow. First of all, based on the received soft information, η least reliable positions (LRPs), [l0, l1, ..., lη−1], are defined and S(x) is
calcu-lated simultaneously. The candidate sequences are generated according to Gray code based bit-flipping method, leading to only one bit of these LRPs flipped between each succes-sive candidate. As a result, S(i+1)(x) for the (i + 1)-th candidate can be updated with the following method.
Sj(i+1) = Sj(i)+ e′k× αlk×j, 1 ≤ j ≤ 2t. (3.1) Sj(i+1) is the j-th coefficient of S(i+1)(x) and e′k× αlk×j is the compensation value, which can be viewed as the error pattern induced by the bit-flipping operation of k-th LRP. For example, if the flipped LRP is the 4th bit in 25th symbol of the received data, the values Algorithm 5. : Decision-Confined Algorithm
Input : R(x) and η-bit integers γ = γ′ = 0.
step 1.
Calculate syndrome S(x).
Evaluate η LRP s, L = [l0, l1, ..., lj−1], and corresponding error values, E′ = [e′1, e′2. . . , e′η].
step 2.
for i = 0, i < 2η− 1, i = i + 1 :
γ′ = γ, γ = i ⊕ (i >> 1) (Gray code)
F ind the bit dif f erent between γ and γ′, k-th bit U pdate syndrome S(i+1)(x) :
Sj(i+1) = Sj(i)+ e′k× αlk×j, 1 ≤ j ≤ 2t.
Calculate Λ(i+1)(x) f rom KES with S(i+1)(x).
if (deg(Λ(i+1)(x)) < t) go to step 4.
else if (i = 2η− 2 and deg(Λ(i+1)(x)) = t) go to step 3.
end for step 3.
Calculate Λ(x) with S(x).
step 4.
F ind error locations and
evaluate error values to obtain e(x).
Output : ˆC(x) = R(x) ⊕ e(x).
End
of e′k and αlk will be α4 and α25 respectively. After updating the syndrome S(i+1)(x) and calculating the corresponding Λ(i+1)(x), we set a condition that only the Λ(i+1)(x) with degree less than t will be sent to Chien search to find the error locations because it’s highly possible for the Λ(i+1)(x) to be in the limit of correction capability. If the condition is met, the candidate sequence will be decoded as the output message and the decoding procedure will be terminated. Otherwise, next candidate will be generated to repeat above-mentioned steps. If no one meets the condition among all 2η− 1 candidates, the received signal will be decoded without the condition, and the error correction capability as hard RS decoders is guaranteed. Algorithm 5. is the detail illustration of our proposed method.
3.2 Performance Analysis
Fig. 3.3 shows the RS (255,239) simulation results for our proposed algorithm with different η under BPSK modulation and AWGN channel. The performance gain at 10−4 CER is 0.4 dB with η = 5 over the hard decoding. From Fig. 3.3, our proposed method with η = 5 can
5.5 6 6.5 7 7.5
10−5 10−4 10−3 10−2 10−1 100
RS(255,239)
Eb/No(db)
CER
HD
Proposed, η=3 Proposed, η=4 Proposed, η=5 Chase, η=3 GMD KV, m
max = 4
Figure 3.3: Performance of the proposed soft decoding algorithm
provide better error performance than GMD and KV algorithm with mmax = 4, and achieve competitive coding gain as Chase algorithm with η = 3.
Table 3.2: Comparison of Computational Complexity with Soft RS Decoder
Proposed Algorithm Chase Algorithm
η = 5 η = 3
Eb/N0 6.0 6.5 7.0 6.0 6.5 7.0
Syndrome Calculator 5.22 1.30 1.07 8 8 8
KES 5.22 1.30 1.07 8 8 8
Chien Search 1 1 1 8 8 8
Error Value Evaluator 1 1 1 8 8 8
Although it needs to flip more LRPs, the average computational complexity of our pro-posal is much less than Chase algorithm. Table 3.2 is the comparison of computational complexity with Chase algorithm. For instance, at Eb/N0 = 7, according to our approach with η = 5, the average computation times of syndrome updater, KES, Chien search and error value evaluator are 1.07, 1.07, 1 and 1 respectively. However, the Chase algorithm with η = 3 consumes 23 calculation for all the decoding blocks.