Open access peer-reviewed chapter

RS Codes and Optimized Distributed RS-Coded Relay Cooperative Communications: Code Constructions and Performance Analysis

Written By

Chen Chen and Fengfan Yang

Reviewed: 21 November 2022 Published: 28 December 2022

DOI: 10.5772/intechopen.109081

From the Edited Volume

Coding Theory Essentials

Edited by Dinesh G. Harkut and Kashmira N. Kasat

Chapter metrics overview

76 Chapter Downloads

View Full Metrics

Abstract

This chapter introduces the Reed-Solomon (RS) codes and the distributed RS-coded cooperative system over the Rayleigh fading channel, where the encoding and decoding procedures of the RS codes are elaborated. Besides, two optimized selection approaches, i.e., the exhaustive search approach and partial search approach, are employed in the relay to obtain a resultant code at the destination with better weight distribution. Moreover, the two joint decoding algorithms, namely naive and smart algorithms, are presented that further improve the overall average bit error rate (BER) performance of the cooperative scheme. Also, the performance analysis of the distributed RS-coded cooperative scheme is provided in detailed.

Keywords

  • BCH codes
  • RS codes
  • relay cooperation
  • distributed RS codes
  • joint decoding

1. Introduction

Fifth-generation (5G) communication systems may accommodate the traffic generated by a variety of wireless network types such as Device-to-Device (D2D) and sensor networks. Hence, it is reasonable to consider the short-information-transmission scenario. Generally, one of the most important aspects of transmission is to combat the signal fading over a wireless channel. Spatial diversity has proven to be the most effective method for mitigating the impacts of fading [1]. However, many mobile communication devices are unable to leverage spatial diversity techniques owing to size, power, and hardware complexity. Therefore, coded cooperative diversity with the aid of the relay was proposed to provide uplink diversity via single antenna sharing. Factually, various distributed linear block codes have been employed in the coded cooperation such as the distributed turbo codes (DTC) [2], distributed low-density parity-check codes (D-LDPC) [3], and polar codes [4]. Nevertheless, for the non-binary codes with short information sizes in coded cooperation, the literature has not been thoroughly investigated. Note that Reed-Solomon (RS) codes are a well-known class of non-binary codes with low encoding and decoding complexity. Furthermore, as a member of maximum distance separatable (MDS) codes, short-to-medium-length RS codes perform well in correcting random burst errors. Hence, RS-coded relay cooperation is considered a promising exploration to support short information transmission [5]. In addition, the distinct information selection in the relay may result in a different resultant code at the destination, which will influence the performance of the overall transmission. Hence, the optimized selection approaches [6] at the relay are also introduced in this chapter.

The remaining contexts of this chapter are summarized as follows. Section 2 provides a brief introduction to the BCH codes and RS codes. The general distributed RS-coded cooperative system is presented in Section 3. Section 4 exhibits the two optimized selection approaches and the corresponding examples. The joint decoding algorithms and the performance analysis are elaborated in Section 5. Section 6 concludes this chapter.

Advertisement

2. BCH codes and RS codes

2.1 BCH codes

Bose-Chaudhuri-Hocquenghem (BCH) codes are a kind of cyclic codes that can effectively correct random errors [7], which can be classified into binary BCH codes and non-binary BCH codes according to the different fields from which symbols are taken. Given any finite field GFq and its extension field GFqm, where q is a prime or a power of a prime and m is a positive integer, let α be a non-zero and non-one element of GFqm. If the generator polynomial gxFxFGFq is the lowest-degree-polynomial with consecutive roots αα2α2t, then a cyclic code generated from this polynomial gx is called a BCH code.

Assume that φix denotes the minimum polynomial of αi1i2t and ei represents the order of αi. Therefore, the generator polynomial gx and the code length n of BCH code are provided as,

gx=LCMφ1xφ2xφix,n=LCMe1e2e2t,E1

where LCM denotes the least common multiple. In particular, when q=2, it is the binary BCH code. Also, if α is the primitive element in GFqm, it is a primitive BCH code of code length n=qm1. Otherwise, the BCH code is non-primitive where n is the factor of qm1. Consider a BCH code of length n, its parity check matrix is provided as [8],

H=1αα2α3αn11α2α22α23α2n11α3α32α33α3n11α2tα2t2α2t3α2tn1.E2

Then, the minimum distance of the t-error-correcting BCH codes is at least 2t+1. The proof process can be referred to [9]. This lower bound on the minimum distance is called the BCH bound.

2.2 RS codes: encoding and decoding

The most important subclass of q-ary BCH codes is the RS codes, a particular subclass of q-ary BCH codes for which m=1. The efficient encoding and hard-decision decoding algorithms of RS codes as well as their improved capacity to rectify random burst errors have made them extensively applied for error control in both storage systems and digital communication [9]. The following describes the specific characteristic, encoding, and decoding processes of the RS codes.

2.2.1 Free distance of RS codes

Suppose that α is a primitive element in GFq. The generator polynomial g(x) of t-error-correcting nk RS code has αα2α2t as all its roots, where all symbols of RS codes are chosen from GFq, n and k denote the code length and length of information sequence, respectively. Therefore, the minimum polynomial φix corresponding to each αi is xαi. And gx can be obtained from Eq. (1) given as,

gx=xαxα2xα2t=g0+g1x+g2x2++g2t1x2t1+x2t,E3

where giGFq for 0<i<2t. Since the all roots of xq11 are α,α2,,α2t, gx can divides xq11. Thus, gx generates a q-ary RS code of length n=q1 with exactly 2t parity-check symbols, which means nk=2t.

From the BCH bound and the Eq. (3) where the code polynomial comprises 2t+1 terms. Hence, there cannot be a zero for any of the coefficients in gx can be zero. Otherwise, the resultant codeword would have a weight less than 2t+1, which would be in conflict with the BCH bound on the minimum distance. As a result, the gx corresponds to a codeword with a weight of precisely 2t+1. It follows that the minimum distance of the t-error-correcting RS code generated by Eq. (3) is determined as exactly 2t+1, i.e., dmin=2t+1. In addition, the minimum distance of the RS code is more than the number of its parity-check symbols. Therefore, RS codes are a prominent subgroup of the maximum distance separable (MDS) codes [10]. In this chapter, we simply consider q=2.

Example 1. Let α is a primitive element in GF24 constructed based on the primitive polynomial 1+x+x4 shown in Table 1. Consider the double-error-correcting RS codes with the symbols from GF24. The generator polynomial gx of this code has α,α2,α3,α4 as all its roots. Hence, gx is acquired as,

Field elementsVectorField elementstVector
00000α7=1+α+α31101
1000α8=1+α21010
α0100α9=α+α30101
α20010α10=1+α+α21110
α30001α11=α+α2+α30111
α4=1+α1100α12=1+α+α2+α31111
α5=α+α20110α13=1+α2+α31011
α6=α2+α30011α14=1+α31001

Table 1.

Galois field GF24 with the primitive polynomial 1+α+α4=0.

gx=xαxα2xα3xα4=α10+α3x+α6x2+α13x3+x4,E4

The code is (15,11) RS code over the GF24 that can correct two errors. And, the minimum distance of this RS code is 5.

The end of Example 1.

2.2.2 Encoding of RS codes

Given the generator polynomial gx illustrated in Eq. (3), the polynomial cx of the codeword c of the RS code is generated as,

cx=gxux,E5

where ux=u0+u1x+u2x2++uk1xk1 is the polynomial of the information sequence m, uiGF2m for i=0,1,,k1. Moreover, the polynomial cx of systematic codeword c is obtained as,

cx=xnkux+px,E6

where px=p0+p1x+p2x2++pnk1xnk1piGF2mi=01nk1 denotes the parity-check polynomial which can be computed by the polynomial division as,

px=xnkux/gx.E7

2.2.3 Decoding of RS codes

Consider a nk RS code with the symbols from GFq. Suppose that a codeword cx=c0+c1x++cn1xn1 is transmitted, and the transmission error result in the following received vector rx=r0+r1x++rn1xn1. Let ex=e0+e1x++en1xn1 be the error pattern which have relationship with cx and rx as,

ex=rxcx.E8

Assume that error pattern ex contains τ errors (nonzero components) at locations xj1,xj2,,xjτ, where 0j1<j2<<jτn1. Then,

ex=ej1xj1+ej2xj2++ejτxjτE9

where xji denotes error-location and eji is error values, 1iτ. And the specific decoding steps are given as follows,

Step 1. Compute the syndrome. The syndrome is a 2t-tuple vector as,

S=S1S2S2t=rHT=r0r1rn11111αα2α3α2tα2α22α32α2t2αn1α2n1α3n1α2tn1.E10

Evidently, Si=rαi1i2t.

Step 2. Determined the error-location polynomial σx and the error value evaluator Z0x based on Euclidean algorithm.

(1) From Eq. (8) and (10), we obtain,

Si=rαi=eαi+cαi=eαi.E11

From Eq. (9), all 2t syndromes are obtained,

S1=ej1αj11+ej2αj21++ejταjτ1,S2=ej1αj12+ej2αj22++ejταjτ2,S2t=ej1αj12t+ej2αj22t++ejταjτ2t,E12

where αji is called the error location number and eji is the error value 1i2t. Let βiαj1,δieji, Eq. (12) can be simplified as,

S1=δ1β1+δ2β2++δτβτ,S2=δ1β12+δ2β22++δτβτ2,S2t=δ1β12t+δ2β22t++δτβτ2t.E13

(2) To solve these 2t equations, the error-location polynomial is firstly defined as:

σx=1β1x1β2x1βτx=σ0+σ1x+σ2x2++στxτ.E14

The roots of σx are β11,β21,,βτ1, which are the inverses of the error-location numbers [11].

(3) Define error-value evaluator Z0x. Firstly, the syndrome polynomial Sx is defined as,

SxS1+S2x+S3x2++S2tx2t1+S2t+1x2t+=j=1Sjxj1.E15

Then, Sx can be further simplified as,

Sx=j=1xj1l=1τδlβlj=l=1τδlβlj=1xδlj1.E16

Since 11βlx=j=1xβlj1, Thus Eq. (16) comes to,

Sx=l=1τδlβl1βlx.E17

Then, we have,

σxSx=1+σ1x++στxτS1+S2x+S3x2+=S1+S2+σ1S1+S3+σ1S2+σ2S1x2++S2t+σ1S2t1+σ2S2t2++στS2tτx2t1+S2t+σ1S2t1+σ2S2t2++στS2tτx2t+.E18

Therefore,

Z0xi=1τ1βixl=1τδlβl1βlx=l=1τδlβl1βlxi=1τ1βix=l=1τδlβli=1,ilτ1βix.E19

Step 3. Solve the key equation based on the Euclidean algorithm. In the expansion of σxSx, only the coefficient of the first 2t terms (from x0 to x2t) are known. Let Z0x=σxSx2t denote the first 2t terms of σxSx. Then, σxSxσxSx2t is divisible by x2t. This simply says that if σxSx is divided by x2t, the remainder is Z0x.

Therefore, we obtain,

σxSx=Z0xmodx2t,E20

which is called the key equation in decoding BCH code. Thus, the key equation can be expressed in the following forms:

σxSx=Qxx2t+Z0xZ0x=Qxx2t+σxSx.E21

Setting,

ax=x2t,bx=Sx.E22

Then the key equation is exactly in the form given as follows,

Z0x=Qxax+σxbx.E23

Therefore, σx and Z0x can be found by the Euclidean iterative division algorithm. Let

Z0ix=rix,σix=gix,γix=Qix=fix.E24

To find σx and Z0x, we carry out the iteration process as follows:

(1) Firstly, the initial conditions are given as,

Z01x=x2tax=x2t,Z00x=SXbx=Sx,γ1x=σ0x=1,γ0x=σ1x=0..E25

(2) Step i: at the i-th step,

Z0i2x=q1xZ0i1x+Z0ix,Z0ix=γixx2t+σixSx,E26

where

σix=σi2xqixσi1x,γix=γi2xqixγi1x.E27

(3) Finally, iteration stops when the iteration reaches a step ρ for which

degZ0ρx<degσρxt.E28

Therefore, Z0x=Z0ρ,σx=σρ are obtained.

Step 4. Evaluate error location numbers and error values.

(1) Determine error-location numbers αji from σx. The error-location numbers are the inverse of the roots of σx.

(2) Determine the error values δl,1lτ from Z0x and σx. Subsitituting βl1 in Z0x, then,

Z0βl1=l=1τδlβli=1,ilτ1βiβl1=δlβli=1,ilτ1βiβl1E29

(3) Compute the derivative of σx as,

σx=ddxi=1τ1βix=l=1τβli=1,ilτ1βix.E30

Moreover, substitute βl1 in Eq. (30) and obtain,

σ'βl1=βli=1,ilτ1βiβl1.E31

Hence, the error values δl at location betal is evaluated as,

δl=Z0βl1σ'βl1.E32

The Euclidean decoding algorithm is terminated [12].

Example 2. Consider the triple-error-correcting RS code of length n=15 over GF24, α be a primitive element of GF24 such that α4+α+1=0. The generator polynomial has α,α2,α3,α4,α5,α6 as roots; that is,

gx=x+αx+α2x+α3x+α4x+α5x+α6=α6+α9x+α9x2+α4x3+α14x4+α10x5+x6.E33

Suppose that the codeword of all zero is transmitted, and the received polynomial is rx=α7x3+α11x10. The decoding procedures are shown as follows,

Step 1. Compute the syndromes S1S2S6. The syndrome components are exhibited as,

S1=rα=α7α3+α11α10=α7,S2=rα2=α7α23+α11α210=α12,S3=rα3=α7α33+α11α310=α6,S4=rα4=α7α43+α11α410=α12,S5=rα5=α7α53+α11α510=α14,S6=rα6=α7α63+α11α610=α14.E34

The syndrome polynomial is Sx=α7+α12x+α6x2+α12x3+α14x4+α14x5.

Step 2. Determine the error-location polynomial σx and the error-value evaluator Z0x based on the Euclidean algorithm.

(1) Firstly, the initial conditions are acquired as,

Z01x=x6,Z00x=SX=α7+α12x+α6x2+α12x3+α14x4+α14x5,γ1x=σ0x=1,γ0x=σ1x=0..E35

(2) When l = 1, then,

Z01x=q1xZ00x+Z01x,x6=q1xα7+α12x+α6x2+α12x3+α14x4+α14x5+Z00x,q1x=αx+α,Z01x=α6x4+α5x3+α5x2+α3x+α8,E36

where,

σ1x=σ1xq1xσ0xσ1x=αx+αE37

(3) When l = 2,

Z00x=q2xZ01x+Z02x,α7+α12x+α6x2+α12x3+α14x4+α14x5=q2xα6x4+α5x3+α5x2+α3x+α8+Z02x,q2x=α8x+α11,Z02x=α2x+α3,E38

where,

σ2x=σ0xq2xσ1xσ2x=α9x2+α8x+α11E39

Observe that degZ02x<degσ2x3=t. Hence, The iteration is terminated, and we can acquire,

Z0x=Z02x=α2x+α3,σx=σ2x=α9x2+α8x+α11E40

Step 3. Evaluate error-location numbers and error values. The all roots of σx are α5 and α12. Then, the error location numbers are α51=α10,α121=α3. The error values at these locations are

e3=Z0α3σ'α3=α3+α2α3α11α31+α10α3=1α8=α7,e10=Z0α10σ'α10=α3+α2α10α11α101+α3α10=α4α8=α11.E41

Step 4. Perform error correction.

Therefore, the error polynomial is ex=α7x3+α11x10. the decoded coded polynomial is c'x=rxex=α7x3+α11x10α7x3+α11x10=0, which is all-zero codeword.

The end of Example 2.

Advertisement

3. General distributed RS coded-cooperative systems

Coded cooperative diversity is an efficient technique combining channel coding and cooperative diversity to combat the influence of channel fading and improve the performance of the systems [13]. Generally, the coded cooperation is composed of three terminals, i.e., source, relay, and destination. Hence, the channel codes employed in each terminal are named distributed channel codes. Many distributed channel codes are applied in the coded-cooperative systems. For short-to-medium-length transmission information blocks, the RS channel coding may be a promising candidate which illustrates a superior performance [13, 14, 15, 16].

Figure 1 demonstrates the general distributed RS coded-cooperative scheme. Evidently, all three terminals transmit and receive signals through one antenna and the entire transmission requires two-time slots. During time slot-1, the binary information sequence b1 is first converted to the M-ary symbol vector u1 of length K1 over the GF2M. Then, u1 is encoded by the RS1NK1d1 encoder to obtain the systematic codeword c1 of length N, where d1=NK1+1 and the generator polynomial g1x of RS1 is given as,

Figure 1.

The system model of the general distributed RS-coded cooperation.

g1x=xγxγ2xγNK1,E42

where γkGF2M,k=0,1,,NK1. Then, c1 is further modulated to the signal v1 by the M-ary quadrature amplitude modulation (M-QAM). Subsequently, v1=v0v1v(N1] generated at the source is transmitted to the both relay and destination through the respective fading channels where the signals r1=r01r11rN11 and r2=r02r12rN12 are obtained at the relay and destination, respectively. Moreover, each signal symbol riji=01N1j=12 is modeled as,

rij=hijvi+nij,E43

where hij is the complex Gaussian variable satisfying zero mean and 1/2 variance per dimension, and nij represents the complex Gaussian variable with zero mean and N0/2-variance per dimension. Note that N0 denotes the power spectral density (PSD) of the noise.

During time slot 2, r2 is demodulated and decoded subsequently to obtain the estimated information sequence u˜1. If the source-to-relay channel is ideal, then, u˜1=u1. For the system, the information symbols at the relay are only from the source. Therefore, the K2 symbols are simply chosen from u˜1 of length N through the ‘Symbol Selection’ block. Note that different selection patterns contribute to a different minimum distance of the resultant code at the destination and further affect the overall performance of the RS coded-cooperative scheme, which will be elaborated on in the next section. After that, the selected message vector u2 is also encoded by the RS2NK2d2 to acquire the c2, where d2=NK2 and the generator polynomial g2x of RS2 is provided as,

g1x=xγxγ2xγNK2,E44

Similarly, the codeword c2 is modulated by an M-QAM modulator and further transmitted to the destination. The received signal r3 is also modeled similarly to Eq. (43).

At the destination, the obtained signals r1 and r3 are concatenated is series as,

r=r1r3,E45

where ‘’ denotes that the two signals are conjunct in series during two-time slots. Following that, r passes to the ‘M-QAM Demodulator’ block to get the joint demodulated message sequence (c˜1c˜2) and then decoded by the joint RS decoding algorithm that will be introduced in detailed later. Finally, the estimated information sequence û1 is transformed to the extensive bit sequence b̂1.

Advertisement

4. The optimized codes resulted at destination by proper selection at relay

The different relay selection patterns determine the different minimum distance of the final joint code at the destination, which influences the performance of the system. Therefore, we need to consider the proper selection approach at the relay to capture the resulting code with a minimum distance as large as possible. The following will introduce two proper selection approaches, detailed content can refer to [13].

Obviously, we should consider the worst-case scenario and aim to avoid as many of them as possible. Since the minimum weight of the code at source is already determined as d1, only the minimum weight of the codeword selected by the relay needs to be considered. Firstly, some nomenclatures are described below before providing design steps:

  1. The first scenario is expressed as the minimum weights of code is wtc1=d1, wtc2=0 for the source and relay, respectively, resulting in the final code at the destination has the minimum free distance d31=d1, which is the worst case.

  2. The second scenario is described as wtc1=d1 and wtc2=d2. Hence the minimum weight of the final codeword is d32=d1+d2 that is the second-worst case.

  3. The third scenario is the weight of the resultant code d33 is greater than d32 at the destination.

  4. Define w1, w2 and w3 as the number of times three scenarios occur, respectively.

4.1 Exhaustive search approach

The exhaustive search approach is performed for all information sequences with the weight 0<wtu1d1 that may be encoded to the codeword with the weight d1. The preceding are the particular steps of this approach.

  1. Define the set ψ=u1wtc1=d1 to store the information sequence u1 that generate the exactly the codeword with weight d1.

  2. Determine the set ϕ=ξg which stores all selection patterns ξg=ξ1ξ2ξK2, where ξi1,2,,K2,g=1,2,ξ,L and L is given as,

    L=K1K2=K1!K2!K1K2!.E46

  3. For each selection pattern ξg, determine the value of w1. If Γ=1, Moreover, save the selection patterns corresponding to the minw1 to the set Γ. If then skip step 6 otherwise come to the next step, where denotes the cardinality of the set.

  4. From the set Γ, determine the selection patterns ξg that correspond to the minw2 and are stored to the set Ω. Similarly, if Ω=1, proceed to step 6, else move to the next step.

  5. Determine the selection patterns ξg corresponding to minw3 from the set Ω and are further saved in the set Ψ. If Ψ=1, then, come to step 6, otherwise add the wtc2 by 1 and move on to step 5 until Ψ=1.

  6. The optimized selection pattern ξES=ξg is captured. The selection is terminated.

Example 3. In the distributed RS-coded cooperative system, consider the RS115,11,5 and RS215,7,9 are employed in the source and relay, respectively. The symbol elements of the RS1 and RS2 are chosen from GF24 shown in Table 1. The exhaustive search for selecting the information symbol of K2=7 from K1=11 is demonstrated below.

  1. Find all information sequences u1 that generate the codewords c1 with weight d1=5. And store them to the set ψ. By numerical simulation, ψ=45045.

  2. Store all selection patterns ξg=ξ1ξ2ξ7 in the set ϕ. And calculate ϕ=L=330.

  3. Through simulation, minw1 and its corresponding selection patterns are obtained and saved in the set Γ as exhibited in Table 2. Since Γ=41, then come to the next step.

  4. For the four selection patterns, determine the minw2=16635 that corresponding to a selection pattern ξg=5,6,7,8,9,10,11. Thus, Ω=1 and the optimized ξES=5,6,7,8,9,10,11 is determined.

No.Selection patternw1w2
145689101184017,010
245789101184017,280
346789101184017,535
456789101184016,635

Table 2.

The procedure of exhaustive search approach to obtain an optimized selection pattern.

The end of Example 3.

4.2 Partial search approach

The exhaustive search approach can choose the optimal selection pattern with the final codeword at the destination having a better weight distribution. However, the complexity of determining the information sequence set ψ and the selection pattern set ϕ increases rapidly when the information length and code length become large. Therefore, we need to consider a low-complexity search approach, i.e., a partial search approach [16]. This approach reduces the search range of the information sequences and the scope of the selection patterns.

First, divide the information positions into two parts illustrated in Figure 2. Case (a): the first part is greater than the other part one symbol. Case (b): the last part is greater than the first part symbol. In two cases, make sure the symmetric structure of the K1 information symbols. Hence, it is reasonable to position the information symbols appropriately. Note that the message sequence generating the codeword with the weight d1 has at least θ=K1minK1d1 zero symbols. Thus, we focus on selecting the distribution positions of the θ zero symbols and K2 selection pattern.

  1. Determine the distribution positions of the θ zero symbols. For case (a), take ε(θ/2εθminK1/2θ zero symbols set in the first part randomly, and the other θε distribute in the last part uniquely. For case (b), ε zero symbols are uniquely assigned in the first part and the remaining θε zero symbols are randomly set in the last part, where represent ceil operation. Consider two cases, the set ψ¯ that stores partial information sequences generating the codeword with d1 is determined.

  2. Determine the selection positions of K2 information symbols from the K1 positions. For case (a), randomly choose ζK2/2ζminK1/2K2 positions out of the first part and the left K2ζ positions are fixed at the last part. For case (b), select ζ positions randomly from the last part and the other K2ζ positions are uniquely chosen from the first parts. Hence, the reduced selection patterns ξg are stored in the set ϕ¯.

    Based on the reduced sets ψ¯ and ϕ¯, the subsequent steps are same as the Step 3–6 of the exhaustive search approach.

Figure 2.

The symmetric division structure of the positions of K1 information symbols, case (a) one more symbol in the first part, case (b) one more symbol in the last part.

Example 4. This example uses the same codes as Example 4.1. Evidently, the information sequence that can be encoded to the codeword with weight 5 includes at least 6 zero-symbols. The division structure of the partial search approach is shown in Figure 3.

  1. Determine the distribution positions of the 6 zero symbols. For case (a), take εε=3,4,5,6 zero symbols set in the first 6 positions randomly, and the other 6ε distribute in the last 5 positions uniquely. For case (b), ε zero symbols are uniquely assigned in the first part and the remaining 6ε zero symbols are randomly set in the last part. Consider two cases, the set ψ¯ is determined and ψ=24075.

  2. Determine the selection positions of 7 information symbols from the 11 positions. For case (a), randomly choose ζζ=4,5,6 positions out of the first 6 positions, and the left 7ζ positions are fixed at the last 5 positions. For case (b), select ζ positions randomly from the last 6 positions, and the other 7ζ positions are uniquely chosen from the first 5 positions. Hence, the set ϕ¯ of the partial selection pattern is determined, and ϕ¯=44.

  3. Through simulation, minw1=360 and its corresponding selection patterns are stored in the set Γ as demonstrated in Table 3. Since Γ=31, then come to the next step.

  4. For the three selection patterns, determine minw2 that corresponds to two selection patterns. Thus, Ω=21, go to the next step.

  5. Obtain the minw3=6540 and corresponding selection pattern from the set Ω and are further saved in the set Ψ. Since Ψ=1, then, the optimized selection pattern ξPS=123691011 is acquired. The partial search stops.

Figure 3.

The symmetric division structure of the positions of 11 information symbols, case (a) 6 symbols in the first part, case (b) 6 symbols in the last part.

No.Selection patternw1w2w3
112349101136010,0356615
212369101136010,0356540
312389101136010,035

Table 3.

The procedure of partial search approach to obtain an optimized selection pattern.

The end of Example 4.

Based on Examples 3 and 4, the BER performance of the distributed RS-coded cooperative scheme over the Rayleigh fast-fading channel employing the exhaustive search and partial search is exhibited in Figure 4 where the 16-QAM modulation is employed and the source-to-relay channel is ideal. The result reveals that the scheme with two different approaches illustrates almost identical performance, which further shows the feasibility of the reduced-complexity approach. More simulation results can refer to [13].

Figure 4.

The BER performance comparison of the distributed RS-coded cooperative scheme with two selection approaches at the relay over the fast-fading channel.

4.3 Complexity comparisons

First, the complexity comparisons of the two search approaches are listed in Table 4, where λ1+λ1× and λ2+λ2× represent the number of the operations of the addition and the multiplication required to encode the information sequence from the set ψ and ψ¯ at the source and relay, respectively, and λtotal denotes the total operations.

ApproachesOperationsλ1+λ1×λ2+λ2×λtotal
Exhaustive Search(K1NK1ψ,(K2ψϕNK2,2ψ[NK1+NK2ϕ
K1NK1ψ)K2ψϕNK2)K12K22ϕ]
Partial Search(K1NK1ψ¯,K1NK1ψ¯)(K2ψ¯ϕ¯NK2,
K2ψ¯ϕ¯NK2)2ψ¯[NK1+NK2ϕ¯K12K22ϕ¯]

Table 4.

Complexity comparisons of two approaches.

Advertisement

5. Joint decoding algorithms and error performance analysis

The section introduces the two joint decoding algorithms, namely, the naive algorithm and the smart algorithm. The two decoding algorithms may enhance the overall performance by making full advantage of the two signals from the source and relay, respectively.

5.1 Nave decoding algorithmm

The detailed steps for the naive algorithm are listed as follows:

  1. For the received demodulated signal c˜1c˜2, c˜1 and c˜2 are decoded by RS1 and RS2 decoders, respectively, to acquire the estimated information sequences u1 and u2.

  2. Determine the SNR cross-point of the RS1 and RS2 point-to-point coding scheme over the fast-fading channel, denoted η.

  3. If SNR η, û1=u1 due to the better performance of RS1 code than that of RS2 code at the low SNRs. Otherwise, u2 replaces u1 at the corresponding selected positions to obtain a re-combined u¨1, then, û1=u¨1. This is because the RS2 code with more parity-check symbols outperforms the RS1 code at high SNRs. Finally, the estimated sequence û1 is obtained.

5.2 Smart decoding algorithm

The specific steps for the smart algorithm are described below:

  1. For the received demodulated signal c˜1c˜2, only decode the last part c˜2 to get the systematic non-binary message sequence u2.

  2. For the first part c˜1 comprising of the check-parity sequence p˜1 and information sequence u˜1, replace the non-binary symbols of u˜1 with u2 in the corresponding K2 positions to obtain the re-combined sequence c¯1 due to the reliability of u2 than original message symbols.

  3. Decode c¯1 by the RS1 decoder to acquire the final estimated information sequence u¯1.

Figure 5 illustrates the BER performance of the distributed RS-coded cooperative scheme under two different decoding algorithms over a fast fading channel, where 16-QAM is applied in the scheme and the partial search approach is employed in the relay. From the simulated result, the scheme under the smart decoding algorithm is superior to that of the naive by a gain of over 1.5 dB at BER4×105.

Figure 5.

The performance comparison of the distributed RS-coded cooperative scheme under two different joint decoding algorithms over the fast-fading channel.

5.3 Error performance of distributed RS coded-cooperative systems

This section presents the average error probability (AEP) bound for the distributed RS coded-cooperative scheme over the Rayleigh fast-fading channel. First, the unconditional error probability is provided as follows [5, 17, 18],

PbE=1π0π/21+Λ1sin2φd11+Λ2sin2φd2,E47

where Λ1 and Λ2 denote the average signal-to-noise ratio (SNR) per information bit from the source-to-destination and relay-to-destination links. The integral in Eq. (47) is calculated by the available computer package. Then, the upper bound may be acquired by assuming sin2φ=1, shown as,

PbE1211+Λ1d111+Λ2d2,E48

Therefore, based on Eq. (48), the upper bound of the bit error probability Pb is further given as [6],

Pbϖ=d1+d2NJϖK1PbE,E49

where Jϖ represents a weight enumerating factor for each codeword with weight w which is obtained by exhaustive computer search.

Advertisement

6. Conclusions

The chapter first introduces the encoding and decoding procedure of the BCH codes and RS codes. Then, the system model of the distributed RS-coded cooperation is presented which improves the anti-interference transmission performance of the short-to-medium-length information block. In the scheme, the exhaustive and partial search approaches are introduced and employed in the relay to choose an optimized selection pattern that results in a final code with a better weight distribution at the destination. In addition, two joint decoding algorithms are provided to further enhance the performance and the performance analysis validates the system.

Advertisement

Acknowledgments

The financial assistance provided by the National Natural Science Foundation of China under contract No. 61771241 is acknowledged.

Advertisement

Conflict of interest

The authors declare no conflict of interest.

References

  1. 1. Alamouti SM. A simple transmit diversity technique for wireless communications. IEEE Journal on Selected Areas in Communications. 1998;16(8):1451-1458. DOI: 10.1109/49.730453
  2. 2. Ejaz S, Yang FF. Turbo codes with modified code matched interleaver for coded-cooperation in half-duplex wireless relay networks. Frequenz. 2015;69(3–4):171-184. DOI: 10.1515/freq-2014-0072
  3. 3. Wang H, Chen Q. LDPC based network coded cooperation design for multi-way relay networks. IEEE Access. 2019;7:62300-62311. DOI: 10.1109/ACCESS.2019.2915293
  4. 4. Umar YFF, Mughal S. Distributed polar coded single carrier-FDMA based on multilevel construction over multipath channels. Wireless Personal Communications. 2019;105(3):835-856. DOI: 10.1007/s11277-019-06124-4
  5. 5. Park J, Kim J. Generator polynomial model-based eye diagram estimation method for Bose-Chaudhuri-Hocquenghem (BCH) code and reed-Solomon (RS) code. IEEE Transactions on Electromagnetic Compatibility. 2020;62(1):240-248. DOI: 10.1109/TEMC.2018.2881146
  6. 6. Ejaz S, Yang FF. Jointly optimized reed-uller codes for multilevel multirelay coded-cooperative VANETS. IEEE Transactions on Vehicular Technology. 2017;66(5):4017-4028. DOI: 10.1109/TVT.2016.2604320
  7. 7. Gong B, Ding C, Li C. The dual codes of several classes of BCH codes. IEEE Transactions on Information Theory. 2022;68(2):953-964. DOI: 10.1109/TIT.2021.3125933
  8. 8. Guruswami V, Sudan M. Improved decoding of Reed-Solomon and algebraic-geometry codes. IEEE Transactions on Information Theory. 1999;45(6):1757-1767. DOI: 10.1109/18.782097
  9. 9. Barry JR, Lee EA, Messerschmitt DG. Digital Communication. 3rd ed. Springer US; 2004
  10. 10. Blasco FL, Garrammone G, Liva G. Parallel concatenation of non-binary linear random fountain codes with maximum distance separable codes. IEEE Transactions on Communications. 2013;61(10):4067-4075. DOI: 10.1109/TCOMM.2013.090513.120834
  11. 11. Zeh A, Li W. Decoding Reed-Solomon codes up to the Sudan radius with the Euclidean algorithm. In: 2010 International Symposium On Information Theory & Its Applications. 2010. pp. 986-990
  12. 12. Andreas FM. Channel coding and information theory. Wireless Communications. IEEE. 2011;63:277-317. DOI: 10.1002/9781119992806.ch14
  13. 13. Guo PC, Yang FF, Zhao CL, Ullah W. Jointly optimized design of distributed Reed-Solomon codes by proper selection in relay. Telecommunication System. 2021;78(3):391-403. DOI: 10.1007/s11235-021-00822-w
  14. 14. Halbawi W, Ho T, Yao HY, Duursma I. Distributed Reed-Solomon codes for simple multiple access networks. In: IEEE International Symposium on Information Theory. 2014. pp. 651-655
  15. 15. Zhao C, Yang FF, Waweru DK. Reed-Solomon coded cooperative spatial modulation based on nested construction for wireless communication. Radioengineering. 2021;30(1):172-183. DOI: 10.13164/re.2021.0172
  16. 16. Chen C, Yang FF, Zhao CL, Xu HJ. Distributed reed-Solomon coded cooperative space-time labeling diversity network. Radioengineering. 2022;4(96):496-509. DOI: 10.13164/re.2022.0496
  17. 17. Hunter TE, Nosratinia A. Diversity through coded cooperation. IEEE Transactions on Wireless Communications. 2006;5(2):283-289. DOI: 10.1109/TWC.2006.1611050
  18. 18. Simon MK, Alouini M. A unified approach to the performance analysis of digital communication over generalized fading channels. Proceedings of the IEEE. 1998;86(9):1860-1877. DOI: 10.1109/5.705532

Written By

Chen Chen and Fengfan Yang

Reviewed: 21 November 2022 Published: 28 December 2022