Next Article in Journal
State-of-Charge Estimation for Lithium-Ion Batteries Using Residual Convolutional Neural Networks
Previous Article in Journal
Optimal Progressive Pitch for OneWeb Constellation with Seamless Coverage
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Optimized Distributed Generalized Reed-Solomon Coding with Space-Time Block Coded Spatial Modulation

1
College of Electronic and Information Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China
2
School of Engineering, University of KwaZulu-Natal, King George V Avenue, Durban 4041, South Africa
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(16), 6305; https://doi.org/10.3390/s22166305
Submission received: 7 July 2022 / Revised: 9 August 2022 / Accepted: 20 August 2022 / Published: 22 August 2022
(This article belongs to the Section Electronic Sensors)

Abstract

:
We present a well-known generalized Reed–Solomon (GRS) code incorporated with space-time block coded spatial modulation (STBC-SM) for wireless networks, which is capable of enjoying coded cooperation between the source and the relay. In the proposed distributed GRS-coded STBC-SM (DGRSC-STBC-SM) scheme, the source and relay nodes use distinct GRS codes. At the relay, we employ the concept of information selection to choose the message symbols from the source for further encoding. Thus, the codewords jointly constructed by the source and relay are generated at the destination. For achieving the best codeword set at the destination, we propose an optimal algorithm at the relay to select partial symbols from the source. To reduce the computational complexity, we propose a more practical algorithm with low complexity. Monte Carlo simulation results show that the proposed scheme using the low-complexity algorithm can achieve near-optimal error performance. Furthermore, our proposed scheme provides better error performance than its corresponding coded non-cooperative counterpart and the existing Reed–Solomon coded cooperative SM (RSCC-SM) scheme under identical conditions.

1. Introduction

Multiple-input multiple-output (MIMO) techniques have the potential to combat channel fading [1,2]. One famous MIMO technology is Vertical-Bell Lab Layered Space-Time (V-BLAST) [3]. Unfortunately, due to simultaneous transmission from multiple antennas at the same frequency in V-BLAST, high inter-channel interference (ICI) occurs in the destination. One approach to solving the problem is to utilize spatial modulation (SM) [4]. In SM, the ICI is completely avoided since at each time instant only a single active transmitting antenna is utilized to send the modulated symbol. However, SM cannot exploit the transmit diversity. A novel scheme, termed as space-time block coded SM (STBC-SM) [5], integrates the ideas of space-time block codes (STBCs) and SM. By this means, STBC-SM averts the shortcomings of STBCs and SM while retaining the merits of both schemes. Thus, it is capable of removing ICI and taking advantage of transmit diversity.
Coded cooperation is also an efficient technique that combats channel impairments. The concept of coded cooperation is developed as an evolution of cooperative communications [6] and is an amalgamation of channel coding and cooperative schemes such as amplify-and-forward (AF) [7], decode-and-forward (DF) [8] and compress-and-forward (CF) [9]. A typical coded cooperative scheme is comprised of the source, relay and destination nodes, where the relay overhears the signal of the source node and relays the information to the destination. By the mutual cooperation between the source and relay nodes, a distributed channel code is then constructed at the destination, which delivers better decoding capability than the non-cooperative system. Various distributed binary channel codes, such as distributed turbo code [7], distributed polar code [8] and distributed low-density parity-check (LDPC) code [10] have been investigated to provide cooperation.
However, distributed non-binary channel coding has not been widely studied. In recent years, maximum-distance separable (MDS) codes have turned into an interesting topical subject because they can reach the singleton bound and correct the maximum number of errors [11]. As a special MDS code, the non-binary generalized Reed–Solomon (GRS) code [12] can correct the burst errors. Moreover, the GRS code has a good algebraic structure and wide applications and is drawing attention from many scholars. Most of the previous works only focus on the construction of excellent channel codes with the help of the GRS code. For example, in [13], the authors employed GRS codes to construct quasi-cyclic LDPC (QC-LDPC) codes with girth greater than six, and the experimental results show that the constructed QC-LDPC codes exhibit superior error performance. In [14], several new types of q-ary MDS self-dual codes via GRS codes were constructed with an odd q. The literature [15] presented a novel linear complementary-dual MDS code construction through the GRS code and extended the previously known results as well. However, to the best of our knowledge, the achievements about the distributed non-binary GRS coding scheme in cooperative communication scenarios have not been reported. Thus, it is very important and meaningful to investigate the distributed non-binary GRS coding scheme that makes full use of the advantages of coded cooperation and non-binary GRS codes. Moreover, the authors in [16,17,18] have presented that applying the MIMO technology to the distributed channel coding can effectively enhance the error performance of the distributed channel coding scheme. Therefore, the incorporation of the distributed GRS coding and MIMO technology is studied in this paper. As a recently developed MIMO technique, STBC-SM has many advantages over the traditional MIMO schemes. For example, it completely eliminates the ICI and can take advantage of spatial diversity. Thus, this motivates us to explore the distributed GRS-coded STBC-SM (DGRSC-STBC-SM) scheme that combines distributed GRS codes and STBC-SM. In any distributed coding MIMO system, an appropriate encoding strategy at the relay is vital in generating an optimized code in the destination. This brings motivation to proposing efficient symbol-selection algorithms at the relay of the DGRSC-STBC-SM scheme to properly select the partial symbols from the decoded source information symbols.
In this manuscript, the authors propose the DGRSC-STBC-SM scheme. In the proposed DGRSC-STBC-SM scheme, the source and relay employ distinct GRS codes. Compared with the GRS code in the source, the GRS code at the relay has a larger minimum distance. Furthermore, our proposed scheme adopts the principle of symbol selection in the relay to choose partial symbols from the decoded source information symbols. By the cooperation between the source and relay, the destination will generate a joint codeword subset for each selection. In order to obtain the optimized codeword subset with the codewords of a larger minimum weight, two efficient symbol selection algorithms, i.e., the optimal and low-complexity symbol selection algorithms, are proposed at the relay to determine the selection pattern.
Our main contributions are summarized as follows:
  • The DGRSC-STBC-SM scheme is first proposed, where the source and relay nodes use different GRS codes. In the DGRSC-STBC-SM scheme, the relay selects partial symbols from the decoded source information symbols for further encoding. For each selection at the relay, the destination then generates a codeword set through the mutual cooperation between the source and relay.
  • To construct an optimal codeword set at the destination with the best weight distribution, we propose an optimal symbol selection algorithm at the relay to determine the best selection pattern by which partial symbols are chosen from the decoded source information symbols for further encoding.
  • However, for a longer block length code, the complexity of the algorithm is very high. Thus, it is not realistic from a practical perspective. To reduce the computational complexity of the optimal symbol selection algorithm, the low-complexity symbol selection algorithm is then proposed. In the low-complexity symbol selection algorithm, partial source information symbol sequences are considered to determine the optimized selection pattern from the local selection patterns at the relay.
The rest of this paper is organized as follows: Section 2 discusses the works related to our proposed scheme. Section 3 introduces the generalized distributed linear block coded STBC-SM by subset method. The system model of DGRSC- STBC-SM, and two efficient information symbol selection algorithms, are presented in Section 4 and Section 5, respectively. The designed decoding algorithm at the destination is shown in Section 6. Section 7 discusses the simulation results of the investigated schemes. Finally, the conclusions are included in Section 8.

2. Related Work

In [19], the RS-coded cooperative system using the adaptive cooperation level was proposed. The authors in [20] presented a distributed RS coding scheme that divides the data into two parts by the use of arithmetic operations. In [21], the authors studied the error performance of the concatenation of RS codes and convolutional codes in cooperative scenarios. In these papers, the designed systems are capable of enjoying the advantages of coded cooperation, but they cannot obtain more spatial diversity. After that, Zhao et al. [16] proposed the RS-coded cooperative SM (RSCC-SM) scheme as the combination of the RS-coded cooperation and the traditional MIMO technology (i.e., SM). Compared to the traditional MIMO techniques, a recently developed STBC-SM [5] has many advantages. For example, it can eliminate the ICI and take advantage of transmit diversity. Based on this reason, Zhao et al. [22] adopted the novel STBC-SM technique [5] and further proposed another RS-coded cooperative STBC-SM scheme (RSCC-STBC-SM) scheme.
As an extension of RS codes, GRS codes have many advantages such as flexible codeword length and parameter vectors. In [12,23], the basic concept of GRS codes was introduced. In [13], Sun et al. used GRS codes to build QC-LDPC codes with a larger girth. In [14], Jin et al. constructed several MDS self-dual codes based on GRS codes. In [15], Chen et al. further extended the work of [14] and constructed a new MDS code. However, in these cases, performance gains generated by the coded cooperation and MIMO technique cannot be obtained. Inspired by the analysis, we propose the DGRSC-STBC-SM scheme. In recent [24], Guo et al. introduced that adopting the appropriate encoding method at the relay helps the destination to generate an optimized codeword set. This motivates us to design an optimized DGRSC-STBC-SM scheme by employing the proper encoding strategy at the relay.
In our proposed DGRSC-STBC-SM scheme, two efficient symbol selection algorithms are presented at the relay to properly select the symbols from the decoded source information symbols for further encoding, such that the destination generates an optimized codeword set with a better weight distribution. Different from the state of the art, the optimized DGRSC-STBC-SM scheme achieves some advancements: (1) The GRS code is first applied in the cooperative systems. (2) The DGRSC-STBC-SM scheme combines the bene-fits of the novel STBC-SM and distributed GRS coding. (3) In the DGRSC-STBC-SM scheme, an optimized codeword set is generated at the destination. Thus, the optimized DGRSC-STBC-SM scheme can achieve performance advantages as compared to the state of the art.

3. Generalized Distributed Channel Coding Combined with STBC-SM Based on Subset Method

This section introduces the general design of distributed channel coding combined with STBC-SM based on the subset method. The details are discussed as follows.

3.1. Distributed Channel Coding Based on the Subset Method

Figure 1 shows a typical coded cooperative scheme with three terminals, i.e., source S, relay R and destination D. The DF relaying technique is considered in the coded cooperative scheme. Two different linear block codes at the source S and relay R are denoted by C S ( n 1 ,   k 1 ,   d 1 ) and C R ( n 2 ,   k 2 ,   d 2 ) , respectively, where n i , k i and d i ( i = 1 ,   2 ) denote the codeword length, code dimension and minimum distance, respectively. Furthermore, two time slots are required to complete an overall transmission.
In the first time slot, the linear block code C S ( n 1 ,   k 1 ,   d 1 ) at the source S encodes the information sequence f into the codeword sequence c further given to the modulator. The source broadcasts the generated modulated sequence towards the relay and destination.
In the second time slot, the demodulation at the relay is performed to demodulate the accepted signal and generates the estimated codeword sequence c ¯ that is fed into the decoder to obtain the estimated information sequence f ¯ with length k 1 . In our proposed scheme, the information selection block is adopted at the relay. By information selection, k 2 ( k 2   <   k 1 ) symbols are chosen from f ¯ to acquire the information sequence f ¯ j with length k 2   , where f ¯ j relies on f ¯ and j (j = 1, 2, …, C k 1   k 2 ) represents the order of selections with C k 1   k 2 denoting the binomial coefficient. The linear block code C R   ( n 2 ,   k 2 ,   d 2 ) then encodes the sequence f ¯ j into the codeword c j . Through the cooperation between the source and relay, the codeword set generated at the destination D is expressed as
C D ( j ) ( n 1 + n 2 , k 1 ) = { | c | c j | : c C S ( n 1 , k 1 , d 1 ) , c j C R ( n 2 , k 2 , d 2 ) }
where | c | c j |   is the series concatenation of c and c j . If the code C R   ( n 2 ,   k 2 ,   d 2 ) has additional information f independent of the sequence f ¯ , C R   ( n 2 ,   k 2 ,   d 2 ) will generate the codeword c C R ( n 2 , k 2 , d 2 ) . In this case, the code obtained at the destination D is denoted as follows:
C D ( n 1 + n 2 , k 1 ) = { | c | c | : c C S ( n 1 , k 1 , d 1 ) , c C R ( n 2 , k 2 , d 2 ) }
Based on the above analysis, it is noticed that the codeword set C D (   j   ) ( n 1 + n 2 ,   k 1 ) produced in the j-th selection is a subset of code C D ( n 1 + n 2 ,   k 1 ) , i.e., C D (   j   ) ( n 1 + n 2 ,   k 1 )     C D ( n 1 + n 2 ,   k 1 ) .

3.2. Incorporation of STBC-SM into Distributed Channel Coding

Coded cooperation is an efficient way to combat channel fading and enlarge network coverage. Moreover, in modern wireless communications, there have been strong demands for superior error performance. Thus, for coded cooperative communication schemes, further improving the system performance becomes urgent.
Many available studies have presented that, by employing the MIMO technology in the cooperative scheme, the system performance is enhanced. Among the existing MIMO schemes, the famous STBC-SM technique not only removes the ICI, but also can take advantage of the transmit diversity. Moreover, it has been reported in [25] that STBC-SM can be easily employed in the DF based cooperative communications. Thus, the STBC-SM technology is considered in our investigated distributed channel coding scheme by subset approach. In this way, the distributed channel coding scheme in conjunction with STBC-SM has a potential to exploit the spatial diversity and cooperation, thus further improving the performance.
As previously stated, the GRS code has many advantages. For instance, it can achieve the singleton bound and correct the maximum number of errors as a special MDS code. Moreover, the GRS code can correct the burst errors and possesses an excellent algebraic structure and extensive applications. Hence, in the distributed coded communication scheme integrated with STBC-SM, the GRS code is utilized to perform error control. We detail the contents in Section 4. Note that, in the following description for the DGRSC-STBC-SM, the codeword lengths at the S and R are assumed to be the same, i.e., n 1 = n 2 .

4. Distributed GRS-Coded STBC-SM Scheme for Wireless Communications

The DGRSC-STBC-SM scheme is proposed in this section. Figure 2 depicts the system model of the half-duplex DGRSC-STBC-SM scheme, where N t , N t and N r antennas are deployed at the source S , relay R and destination D, respectively. In the coded cooperative Alamouti STBC-SM, it takes two time slots to complete an overall transmission.
During time slot-1, the source S firstly uses the bits to symbols (B/S) block to convert the binary message bit sequence u into the non-binary symbol sequence f = [   f 0 ,   f 1 , ,   f k 1 1 ] , where f s is an element of the field F q with q = 2 k and k being a positive natural number. The GRS code C S   ( n 1 ,   k 1 ,   d 1 ) over F q is used at the source S , and the generator matrix G S has the following form
G S = [ v 0 ( S ) v 1 ( S ) v n 1 1 ( S ) v 0 ( S ) α 0 ( S ) v 1 ( S ) α 1 ( S ) v n 1 1 ( S ) α n 1 1 ( S ) v 0 ( S ) ( α 0 ( S ) ) k 1 1 v 1 ( S ) ( α 1 ( S ) ) k 1 1 v n 1 1 ( S ) ( α n 1 1 ( S ) ) k 1 1 ]
where α S = [ α 0 ( S ) ,   α 1 ( S ) ,   ,   α n 1 1 ( S ) ] and v S = [ v 0 ( S ) ,   v 1 ( S ) ,   ,   v n 1 1 ( S ) ] with α l ( S )   F q being distinct elements and   v l ( S )     F q being nonzero (but not necessarily distinct) elements. Thus, the information symbol sequence f and the codeword symbol sequence c   = [ c 0 ,   c 1 ,   ,   c n 1 1 ] are related as follows:
c = f G S = [ v 0 ( S ) f ( α 0 ( S ) ) , v 1 ( S ) f ( α 1 ( S ) ) , , v n 1 1 ( S ) f ( α n 1 1 ( S ) ) ]
where c l     F q and f   ( x ) = f 0 + f 1 x + + f k 1 1   x k 1 1 denotes the polynomial representation of f . Note that the codeword length n 1 of the GRS code C S   ( n 1 ,   k 1 ,   d 1 ) is less than q , i.e., n 1   <   q . Since GRS code is an MDS code, its minimum distance is d 1 = n 1 k 1 + 1 . For the codeword symbol sequence c , each codeword symbol c l can be represented as the binary vector of length k . After the symbols-to-bits (S/B) converter, we obtain a binary codeword bit sequence b . Through the buffer, the sequence b is further divided into multiple short sequences b ( τ 1 ) of length k . The length k is mathematically denoted as
k = log 2 ( ϖ ) + 2 log 2 ( M ) = log 2 ( C N t 2 2 h ) + 2 log 2 ( M )
where τ 1 = 1 ,   2 ,   ,   n 1 , . is the floor operation, C N t 2 denotes the binomial coefficient, C N t 2 2 h is an integer power of two with h being a positive integer and M is the modulation order. Based on Equation (5), we have ϖ M 2 = 2 k = q . The sequence b ( τ 1 ) then enters the bit splitter and is partitioned into b spa and b modu with lengths l 1 = log 2 ( ϖ )   and l 2 = 2 log 2 ( M ) , respectively. The spatial mapper receives the sequence b spa and outputs an active transmit antenna combination (TAC) a 1 = ( a 1 , 1 ,   a 1 , 2 ) out of ϖ TACs, where a 1 , ο     { 1 ,   2 ,   ,   N t   } ( ο = 1 ,   2 ) is the active transmit antenna index. Similarly, the M-PSK/QAM modulator takes the sequence b modu and generates a pair of modulated symbols ( b m 1 ( S ) ,   b m 2 ( S )   ) , where b m ( S )     ϱ with ϱ = { b m ( S ) ,   m = 1 ,   2 ,   ,   M   } for = 1 ,   2 . This symbol pair ( b m 1 ( S ) ,   b m 2 ( S )   ) is transmitted through the active TAC a 1 . At the source S, the Alamouti STBC-SM modulator outputs the N t   ×   2 STBC-SM matrix B a 1 ( S ) as
B a 1 ( S ) = [ 0 b m 1 ( S ) e j ϑ a 1 b m 2 ( S ) e j ϑ a 1 0 0 ( b m 2 ( S ) ) * e j ϑ a 1 ( b m 1 ( S ) ) * e j ϑ a 1 0 ] T
where [ . ] T and (.)* denote transpose and complex conjugation, respectively, ϑ a 1 is the rotation angle for the TAC a 1 and B a 1 ( S )     φ with φ being the set of all ϖ M 2 transmission matrices. The detailed contents regarding the construction of the STBC-SM codeword, selection of TACs and determination of the optimal rotation angle have been introduced in [5]. Let ϕ ϖ be the set of all active TACs a 1 , and χ ϖ is the set of all ϑ a 1 . For example, ϕ ϖ = ϕ 4 = { ( 1 ,   2 ) ,   ( 3 ,   4 ) ,   ( 2 ,   3 ) ,   ( 4 ,   1 ) } and χ ϖ = χ 4 = { 0 ,   0 ,   0 . 61 ,   0 . 61 } for N t = 4 and 4-QAM. To ease understanding, Table 1 clearly lists the mapping procedure for the STBC-SM with codes over F 16 = { 0 ,   1 ,   α ,   ,   α 14 } , where α     F 16 is the root of the primitive polynomial 1 + x + x 4 over F 2 . The STBC-SM codeword B a 1 ( S ) is transmitted towards the relay node R that receives the N t   ×   2 matrix Y S , R mathematically formulated as:
Y S , R = 1 / 2 H S , R B a 1 ( S ) + N S , R
where H S ,   R and   N S ,   R are the N t   ×   N t source-to-relay channel matrix and N t   ×   2 source-to-relay noise matrix, respectively. The entries of H S ,   R and   N S ,   R separately follow the complex Gaussian distributions C N ( 0 ,   1 ) and C N ( 0 ,   σ 2 ) with σ 2 being the variance of noise.
During time slot-2, the STBC-SM demodulator performs maximum likelihood detection for received signals and yields the estimated TAC a ¯ 1 and symbol pair ( b ¯ m 1 ( S ) ,   b ¯ m 2 ( S ) ) given into the bit combiner to output the sequence b ¯ ( τ 1 ) . Through the buffer, the estimated codeword bit sequence b ¯ is generated. The B/S block transforms the bit sequence b ¯ into the non-binary codeword symbol sequence c ¯ . In the following, the q-ary GRS1 decoder employing Euclidean iterative decoding algorithm [23] decodes the sequence c ¯ and obtains the estimated information symbol sequence f ¯ . Then, we select k 2 ( k 2   <   k 1 ) symbols from f ¯ to obtain the information symbol sequence f ¯ j = [ f ¯ 0 ( j ) , f ¯ 1 ( j ) , , f ¯ k 2 1 ( j ) ] , where f ¯ e ( j ) 𝔽 q and j is the order of the selections indexed by
j Λ = { 1 , 2 , , L = C k 1 k 2 }
Note that each j is one-to-one corresponding to a unique k 2 -dimensional vector, called the selection pattern, to indicate each of the k 2 symbols selected from k 1 information symbols and the related position, i.e.,
j Ω j = [ γ 1 ( j ) , γ 2 ( j ) , , γ k 2 ( j ) ] ,   where
0 γ 1 ( j ) < γ 2 ( j ) < < γ k 2 ( j ) k 1 1
All the selection patterns form a set given as
ψ = { Ω j | j Λ } = {   [ γ 1 ( j ) , γ 2 ( j ) , , γ k 2 ( j ) ] | 0 γ 1 ( j ) < γ 2 ( j ) < < γ k 2 ( j ) k 1 1 , j Λ }
Section 5 will introduce the algorithm determining an optimized selection pattern. The relay R employs the GRS code C R   ( n 2 ,   k 2 ,   d 2 ) with d 2 = n 2     k 2 + 1 over F q to encode f ¯ j . The generator matrix G R is
G R = [ v 0 ( R ) v 1 ( R ) v n 2 1 ( R ) v 0 ( R ) α 0 ( R ) v 1 ( R ) α 1 ( R ) v n 2 1 ( R ) α n 2 1 ( R ) v 0 ( R ) ( α 0 ( R ) ) k 2 1 v 1 ( R ) ( α 1 ( R ) ) k 2 1 v n 2 1 ( R ) ( α n 2 1 ( R ) ) k 2 1 ]
where α R = [ α 0 ( R ) ,   α 1 ( R ) ,   ,   α n 2 1 ( R ) ] and v R = [ v 0 ( R ) ,   v 1 ( R ) ,   ,   v n 2 1 ( R ) ]   with α g ( R )     F q being distinct elements and v g ( R )     F q being nonzero (but not necessarily distinct) elements. Therefore, the information symbol sequence f ¯ j and the codeword symbol sequence c j = [ c 0 ( j ) ,   c 1 ( j ) ,   ,   c n 2 1   ( j ) ] are related as follows:
c j = f ¯ j G R = [ v 0 ( R ) f ¯ j ( α 0 ( R ) ) , v 1 ( R ) f ¯ j ( α 1 ( R ) ) , , v n 2 1 ( R ) f ¯ j ( α n 2 1 ( R ) ) ]
where n 2   <   q , c g   (   j   )     F q and f ¯ j ( x ) = f ¯ 0 ( j ) + f ¯ 1 ( j ) x + + f ¯ k 2 1 ( j ) x k 2 1 denotes the polynomial representation of f ¯ j . Next, the S/B block converts the codeword symbol sequence c j into the codeword bit sequence b j fed into the STBC-SM mapper to obtain the transmission matrix B a 2 ( R   ) defined like B a 1 ( S ) in Equation (6). Then, the relay R sends B a 2 ( R   ) to D.
During the first and second time slots, the destination D receives matrices Y S ,   D and Y R ,   D that are formulated as
Y S , D = 1 / 2 H S , D B a 1 ( S ) + N S , D
Y R , D = 1 / 2 H R , D B a 2 ( R ) + N R , D
where H S ,   D and H R ,   D are the N r   ×   N t   channel matrices between the destination and source and relay, respectively, and they are defined like H S ,   R in Equation (7). Furthermore, N S ,   D and N R ,   D are the N r   ×   2 noise matrices between the destination and source and relay, and their definitions are similar to N S ,   R in Equation (7). At the destination, the STBC-SM demapper then performs the demodulation for the received signals. After that, the estimated codeword bit sequence | b ^ | b ^ j is generated and further converted into the codeword symbol sequence | c ^ | c ^ j through the B/S block. Finally, the designed decoding algorithm is employed to produce the estimated message bit sequence u ~ . Section 6 will introduce the contents of the decoding algorithm.

5. Proposed Efficient Symbol Selection Algorithms

At the source, k 1 symbols are encoded by C S   ( n 1 ,   k 1 ,   d 1 ) . The relay needs to select k 2 symbols from k 1 symbols for further encoding by C R   ( n 2 ,   k 2 ,   d 2 ) . Through the cooperation between the source and relay, the destination generates a joint codeword set. To acquire the optimized codeword set resulting from the optimized selection, two efficient symbol selection algorithms are proposed. The following algorithms are presented under the assumption that the relay can decode correctly.

5.1. Algorithm 1: Optimal Symbol Selection Algorithm

In this subsection, we discuss the proposed optimal symbol selection algorithm. First, we introduce the general description of the algorithm. Then, an example is shown for a better understanding.

5.1.1. General Description of the Optimal Symbol Selection Algorithm

At the relay, it is required to choose k 2 symbols from k 1 symbols. Thus, there are L = C k 1   k 2 selections in total. For the j -th ( j Λ = {1, 2,…, L}) selection, the destination generates the codeword set C D (   j   ) ( n 1 + n 2 ,   k 1 ) that is the subset of C D ( n 1 + n 2 ,   k 1 ) , as introduced in Section 2. The optimal algorithm aims to find the best selection pattern η ( opt ) generating the optimal codeword subset C D (   j   ) ( n 1 + n 2 ,   k 1 ) with a larger minimum codeword weight from L selection patterns. Assume that the weight distribution of C D (   j   ) ( n 1 + n 2 ,   k 1 ) is expressed as
W ( j ) ( Z ) = 1 + B d 1 ( j ) Z d 1 + B d 1 + 1 ( j ) Z d 1 + 1 + + B n 1 + n 2 ( j ) Z n 1 + n 2
In (16), B w (   j   ) represents the number of codewords with weight wt ( | c | c j | ) = w   ( d 1 w     n 1 + n 2 ) at the destination. The general steps of the optimal algorithm are as follows:
Step 1: Determine the set ψ (shown in Equation (11)) of all selection patterns:
Step 2: Consider all possible codeword weights d 1 wt ( | c | c j | )     n 1 + n 2 generated by all q k 1 source information sequences.
Step 3: Initialization: t = 0 , w = d 1 , ψ t = ψ and Λ t = Λ .
Step 4: For each j     Λ t related Ω j     ψ t , we find out the number B w   (   j   ) of codewords with weight wt ( | c | c j | ) = w . Choose all the indices j resulting in min j     Λ t   B w   (   j   ) to constitute the subset Λ t + 1     Λ t   . Find out the subset ψ t + 1     ψ t that corresponds to Λ t + 1 .
Step 5: Check w and | ψ t + 1 | ,
(1)
If w   <   n 1 + n 2 and | ψ t + 1 |     1 , t   t + 1 , w   w + 1 and return back to step 4.
(2)
Else, i.e., w = n 1 + n 2 or | ψ t + 1 | = 1 , the searching algorithm halts.
* Note: In (2), if | ψ t + 1 | = 1 , the only element of ψ t + 1 is determined as the optimal selection pattern η ( opt ) ; if | ψ t + 1 |     1 , take any element of ψ t + 1 as the optimal selection pattern η ( opt ) .

5.1.2. Example 1

To better understand the optimal symbol selection algorithm, an example is then presented. At the source S, the GRS code is C S   ( n 1 ,   k 1 ,   d 1 ) = C S   ( 5 ,   3 ,   3 ) . Furthermore,
α S = [ β , β 2 , β 3 , β 4 , β 5 ]
v S = [ β , β 2 , β 3 , β 4 , β 4 ]
over F 8 = { 0 ,   1 ,   β ,   ,   β 6 } are used, where β   F 8 is the root of primitive polynomial 1 + x + x 3 over F 2 . At the relay R , the GRS code C R   ( n 2 ,   k 2 ,   d 2 ) = C R   ( 5 ,   2 ,   4 ) is used, and
α R = [ 1 , β , β 2 , β 4 , β 6 ]
v R = [ 1 , β , β 2 , β 3 , β 5 ]
over F 8 are considered. The generation process of the optimal pattern η ( opt ) is as follows:
Step1: Determine the set ψ of all selection patterns as
ψ = { Ω j | j Λ } = { [ 0 , 1 ] , [ 0 , 2 ] , [ 1 , 2 ] }
Step 2: Determine all possible codeword weights wt ( | c | c j | ) at the D generated by 512 source information sequences, as shown in Table 2.
Step 3: For each j     Λ related Ω j     ψ , find out the number B 3 (   j   ) of codeword weight wt ( | c | c j | ) = 3 , as shown in Table 3. Select all the indices j which result in min j     Λ B 3 (   j   ) to form the set Λ 1 = { 1 ,   2 ,   3 } . Find out ψ 1 ={ Ω 1 ,   Ω 2 ,   Ω 3 } corresponding to Λ 1 . Since | ψ 1 | = 3   > 1 , we proceed to Step 4.
Step 4: For each j     Λ 1 related Ω j     ψ 1 , find out the number B 4 (   j   ) . Select all the indices j resulting in min j     Λ 1 B 4 (   j   ) to constitute the set Λ 2 = { 1 ,   2 ,   3 } and then take the set ψ 2 = { Ω 1 ,   Ω 2 ,   Ω 3 } corresponding to Λ 2 . Since | ψ 2 | = 3 >   1 , we proceed to Step 5.
Step 5: For each j     Λ 2 related Ω j     ψ 2 , find out the number B 5 (   j   ) . Select all the indices j resulting in min j     Λ 2 B 5 (   j   ) to constitute the set Λ 3 = { 1 ,   2 ,   3 } and then take the set ψ 3 = { Ω 1 ,   Ω 2 ,   Ω 3 } corresponding to Λ 3 . Since | ψ 3 | = 3 >   1 , we proceed to Step 6.
Step 6: Similar to the above steps, we get ψ 4 = { Ω 2 } . Since | ψ 4 | = 1 , the search algorithm is terminated.
The determined optimal selection pattern η ( opt ) = Ω 2   = [ 0 ,   2 ]   is fixed at the relay, and the k 2 = 2 symbols dictated by Ω 2 are encoded by C R   ( 5 ,   2 ,   4 ) . Accordingly, the codeword subset C D ( 2 ) ( 10 ,   3 ) of C D ( 10 ,   3 ) is generated at the destination. From Table 3, it is seen that our algorithm may not improve the minimum codeword weight. However, the number of low-weight wt ( | c | c j | ) = 7 generated by the determined pattern η ( opt ) = Ω 2   = [ 0 ,   2 ]   is less than that generated by the other two patterns. Thus, our algorithm avoids the bad scenarios that a large number of low-weight codewords are results at the destination.

5.2. Algorithm 2: Low-Complexity Symbol Selection Algorithm

In the optimal Algorithm 1, all the q   k 1 information sequences at the source are considered to search the best selection pattern from all L selection patterns. For a larger block length code, the search complexity is very high. Thus, we propose the symbol selection algorithm (Algorithm 2) with a reduced complexity. Similar to Algorithm 1, we introduce Algorithm 2 by the general description and an example.

5.2.1. General Description of the Low-Complexity Symbol Selection Algorithm

Algorithm 2 has two differences compared to Algorithm 1. The first point is that partial ( k b ) information symbol sequences are considered at the source, where k b   <   q   k 1 . The second point is that partial (P) selection patterns are considered at the relay, where P < L. Thus, in Algorithm 2,   k b information symbol sequences are considered for determining the pattern η ( low ) from P patterns. It effectively converts an exhaustive search algorithm into a partial search algorithm. For the j -th ( j   = 1,2, …, P) selection, the destination generates the subset C D (   j   ) ( n 1 + n 2 ,   k 1 ) of C D ( n 1 + n 2 ,   k 1 ) . The specific steps of Algorithm 2 are as follows.
Step 1: Determine k b information symbol sequences   f .
From Equation (4), we see for wt ( c ) = i ( d 1   i     n 1 ), f ( x ) has n = n 1   i various roots in α S of length n 1 . To reasonably obtain the partial information symbol sequences f at the source, the following method is used:
(1)
Split F q into two parts, where all the   n 1 elements of α S form the first part, and the other q     n 1 elements in F q but not in α S form the second part.
(2)
J   ( n     J   deg ( f   ( x ) ) ) elements are reasonably selected from F q as all roots of f ( x ) . On the one hand, n elements of J elements are randomly chosen in the first part, and the remaining J     n elements are fixedly selected in the second part, which generates C n 1 n cases. On the other hand, the roles of random and fixed selection are reversed, i.e., we randomly choose J     n elements from the second part, and fixedly choose the n elements from the first part, which yields C q n 1 J   n cases.
(3)
Based on the above process, k b information symbol sequences   f are obtained.
Step 2: Determine the set 𝜓 ¯ of P selection patterns.
(1)
First partition   k 1 information symbols at the source into two parts. Scenario (i): the first [   k 1 / 2 ] symbols and the last   k 1 [   k 1 / 2 ] symbols form the first and second parts, respectively, where [   k 1 / 2 ] is the smallest integer larger than or equal to [   k 1 / 2 ] . Scenario (ii): the first   k 1 [   k 1 / 2 ] symbols and the last [   k 1 / 2 ] symbols form the first and second parts, respectively. The symmetric structures of k 1 symbols are shown in Figure 3.
(2)
The relay selects   k 2 symbols from   k 1 symbols. In scenario (i), we select more symbols in the first part. Specifically, ( [ k 2 / 2   ]   Γ     min   (   k 2 , [   k 1 / 2 ) ] symbols are randomly chosen in the first part and   k 2   Γ symbols are fixedly chosen in the second part, which generates C [   k 1 / 2 ]   Γ cases. In scenario (ii), more symbols are chosen in the second part. Specifically, randomly choose Γ symbols in the second part and fixedly choose   k 2   Γ symbols in the first part, which also generates C [   k 1 / 2 ]   Γ cases.
(3)
Obtain the set 𝜓 ¯ of P selection patterns by the above process.
Step 3: Take the selection index set Λ ¯ = { 1 , 2 , , | ψ ¯ | } corresponding to the set 𝜓 ¯ .
Step 4: Other steps refer to the steps 2–5 of Algorithm 1. Finally, we have the optimized selection pattern η ( low ) from P selection patterns.

5.2.2. Example 2

At the source S ,   C S   ( n 1 ,   k 1 ,   d 1 ) = C S   ( 10 ,   5 ,   6 ) .   The parameter vectors
α S = [ α , α 2 , α 3 , α 4 , α 5 , α 6 , α 8 , α 9 , α 12 , α 7 ]
v S = [ α , α 2 , α 3 , α 4 , α 4 , α 5 , α 8 , α 7 , α 10 , α 10 ]
over F 16 = { 0 ,   1 ,   α ,   ,   α 14 } are used, where α     F 16 is the root of primitive polynomial 1 + x + x 4 over F 2 . At the relay R , we use C R   ( n 2 ,   k 2 ,   d 2 ) = C R   ( 10 ,   3 ,   8 ) with
α R = [ 1 , α , α 2 , α 4 , α 6 , α 5 , α 7 , α 9 , α 10 , α 11 ]
v R = [ 1 , α , α 2 , α 3 , α 5 , α 5 , α 7 , α 5 , α 8 , α 9 ]
over F 16 . The generation process of the low complexity pattern η ( opt ) is as follows:
Step 1: Determine k b information symbol sequences   f .
(1)
Firstly divide 16 elements of F 16 into two parts, where all the 10 elements of α s constitute the first part and the six elements in F 16 but not in α s constitute the second part.
(2)
Select J ( 10     i     J   deg ( f ( x ) ) = 4 ) elements from F q as all roots of f ( x ) . (i)   10     i   elements of J elements are randomly selected from the first part and the remaining J   ( 10     i ) elements are fixedly selected from the second part. (ii) J     ( 10     i ) elements of J elements are randomly selected from the second part and the remaining 10     i elements are fixedly selected from the first part. The process of choosing J elements is listed in Table 4.
(3)
Obtain k b = 6440 information symbol sequences   f based on (1) and (2).
Step 2: Determine the set 𝜓 ¯ of P selection patterns.
(1)
Divide   k 1 = 5 information symbols at the source into two parts. Scenario (i): the first three symbols and the last two symbols form the first and second parts, respectively. Scenario (ii): the first two symbols and the last three symbols form the first and second parts, respectively.
(2)
The relay selects   k 2 = 3 symbols from   k 1 = 5 symbols. In scenario (i), we randomly select two symbols in the first part and fixedly select one symbol in the second part. In scenario (ii), we randomly select two symbols in the second part and fixedly select one symbol in the first part.
(3)
The set of selection patterns is determined as
ψ ¯ = { Ω 1 ,   Ω 2 ,   Ω 3 ,   Ω 4 ,   Ω 5 ,   Ω 6 ,   Ω 7 }   = { [ 0 ,   1 ,   3 ] ,   [ 0 ,   2 ,   3 ] ,   [ 1 ,   2 ,   3 ] ,   [ 0 ,   1 ,   2 ] ,   [ 1 ,   2 ,   4 ] ,   [ 1 ,   3 ,   4 ] ,   [ 2 ,   3 ,   4 ] }
Step 3: Obtain the selection index set Λ ¯ 1 = { 1 , 2 , , | ψ ¯ | = 7 } .
Step 4: Determine all possible codeword weights wt ( | c | c j | ) at the D generated by 6440 source information sequences, as shown in Table 5.
Step 5: For each j Λ ¯ related Ω j 𝜓 ¯ , find out the number B ¯ 6 ( j ) of codeword weight wt ( | c | c j | ) = 6 , as shown in Table 6. Select all the indices j which result in min j     Λ B 6 (   j   ) to form the set Λ ¯ 1 = { 1 , 2 , , 7 } . Find out ψ ¯ 1 = { Ω 1 , Ω 2 , , Ω 7 } corresponding to Λ ¯ 1 . Since | ψ ¯ 1 | = 7 > 1 , the search algorithm proceeds to Step 6.
Step 6: Determine the set Λ ¯ 2 = { 1 , 2 , , 7 } and ψ ¯ 2 = { Ω 1 , Ω 2 , , Ω 7 } . Since | ψ ¯ 2 | = 7 > 1 , the search algorithm proceeds to Step 7.
Step 7: Determine the set Λ ¯ 3 = { 1 , 3 , 4 , 5 , 6 , 7 } and ψ ¯ 3 = { Ω 1 ,   Ω 3 ,   Ω 4 ,   Ω 5 , Ω 6 ,   Ω 7 } . Since | ψ ¯ 3 | = 6 > 1 , the search proceeds to Step 8.
Step 8: Determine the set Λ ¯ 4 = { 6 } and ψ ¯ 3 = { Ω 6 } . Since | ψ ¯ 4 | = 1 , the search algorithm is terminated. The unique selection pattern is determined as η ( low ) = Ω 6 = [ 1 ,   3 ,   4 ] .
The determined optimized selection pattern η ( low ) = Ω 6 = [ 1 ,   3 ,   4 ] is fixed at the relay, and the k 2 = 3 symbols dictated by Ω 6 are encoded by C R   ( 10 ,   3 ,   8 ) . Accordingly, the destination generates the codeword subset C D ( 6 ) ( 20 ,   5 ) of C D ( 20 ,   5 ) .

5.3. Complexity Comparisons between Two Algorithms

The complexity of the proposed two algorithms is calculated in terms of the addition and multiplication operations. At the source S, ζ S × = n 1 k 1 multiplication operations and ζ S + = n 1 ( k 1   1 ) addition operations are required to encode an information sequence with length k 1 . Thus, there are ζ S = ζ S × + ζ S + = n 1 ( 2 k 1 1 ) elementary operations involved in encoding one information sequence at the source. Similarly, ζ R = ζ R × + ζ R + = n 2 ( 2 k 2 1 ) elementary operations are needed to encode one information sequence of length k 2 at the relay R , where   ζ R × = n 2 k 2 and   ζ R + = n 2 ( k 2 1 ) .
In Algorithm 1, all   q k 1 information symbol sequences at the source are considered. Assume that, for finding out the number B w   (   j   ) of codewords | c | c j | with weight wt ( | c | c j | ) = w   ( d 1 w     n 1 + n 2 ) at the destination, the considered number of selection patterns (in the relay) is denoted as N   R ,   d 1   ( opt ) , N   R ,   d 1 + 1   ( opt ) , …, N R ,   n 1 + n 2   ( opt ) , respectively. If the best pattern can be determined in finding out the number of codewords | c | c j | with weight wt ( | c | c j | ) = w D ( opt ) , the optimal symbol selection algorithm will terminate. The overall computational complexity is expressed as follows:
δ ( o p t ) = q k 1 ζ S + δ d 1 ( o p t ) + δ d 1 + 1 ( o p t ) + + δ w D ( o p t ) ( o p t )
where δ   ν ( opt )   = q k 1 N   R ,   ν   ( opt ) ζ R is the complexity for finding each N   R ,   ν   ( opt ) at the relay.
Now we take into account the computational complexity of Algorithm 2. In the algorithm, we consider   k b information symbol sequences at the source. Provided that the pattern is determined when finding out the number of codewords | c | c j | with weight wt ( | c | c j | ) = w D ( low ) . Then, the complexity of Algorithm 2 is
δ ( l o w ) = k b ζ S + δ d 1 ( l o w ) + δ d 1 + 1 ( l o w ) + + δ w D ( l o w ) ( l o w )
where δ   ν ( low ) = k b N   R ,   ν ( low ) ζ R with N   R ,   ν   ( low ) being the considered number of selected patterns for finding out the number B ¯ w ( j ) of codewords | c | c j | with weight wt ( | c | c j | ) = w at the destination.
By Equation (27) and Equation (28), we can calculate the complexity of Algorithm 1 and Algorithm 2, respectively. Table 7 shows that the complexity comparison of the two algo-rithms for different coding configurations (which are used in the above two examples). It can be clearly observed from Table 7 that the computational complexity of Algorithm 2 is significantly decreased over Algorithm 1, which well reflects the low-complexity feature of Algorithm 2.

6. Decoding Algorithm at the Destination

Step 1: The destination node takes the first part c ^ and the second part c ^ j of the demodulated codeword symbol sequence | c ^ | c ^ j as input, and then uses the q-ay GRS1 and GRS2 decoders employing the Euclidean iterative decoding algorithm to decode them, respectively.
Step 2: After their respective decoding of the two GRS decoders, the estimated non-binary message symbol sequences f ^ with length k 1 , and f ^ i with length k 2 are generated. Then, f ^ and f ^ i are given into the combiner block.
Step 3: Select an appropriate threshold ρ . The threshold is the signal-to-noise ratio (SNR) where the bit error rate (BER) performances of C S   ( n 1 ,   k 1 ,   d 1 ) and C R   ( n 2 ,   k 2 ,   d 2 ) codes cross each other. By pre-simulating these two signals, this threshold ρ is obtained.
Step 4: If SNR     ρ , the output of the combiner block is f ˜ = f ^ . If SNR   >   ρ , the k 2 symbols (placed in the selected k 2 positions) of the non-binary sequence f ^ are replaced with the symbol sequence f ^ j , and the joint output f ˜ (the update of f ^ ) is yielded by the combiner.
Step 5: After the symbols to bits (S/B) block, the non-binary symbol sequence f ˜ from the combiner block is transformed into the binary bit sequence u ˜ utilized as the estimate of the binary information bit sequence u transmitted by the source node.
This reason for Step 4: because of the larger minimum distance of C R   ( n 2 ,   k 2 ,   d 2 ) at the relay over C S   ( n 1 ,   k 1 ,   d 1 ) at the source, those selected k 2 symbols in f ^ are more credible than all those k 2 symbols in f ˜ j at SNR     ρ . However, at SNR   >   ρ , all the k 2 symbols of f ˜ j have more reliability than those selected k 2 symbols in f ^ .

7. Simulation Results

The simulated results are presented to perform evaluation for the BER performance of the proposed DGRSC-STBC-SM scheme and the reference schemes. The slow Rayleigh fading channel, maximum likelihood (ML) detection and Euclidean iterative decoding algorithm are used in the simulations. To better generalize and analyze our investigated schemes, three distributed GRS codes are considered. In the first case, we adopt the GRS codes C S   ( 10 ,   5 ,   6 ) and C R   ( 10 ,   3 ,   8 ) over F 16 . In the second case, the GRS codes C S   ( 25 ,   19 ,   7 ) and C R   ( 25 ,   10 ,   16 ) over F 32 are used. In addition, the GRS codes C S   ( 63 ,   51 ,   13 ) and C R   ( 63 ,   31 ,   33 ) over F 64 are employed in the third case. In the first, second and third cases, the code rates are 1/4, 19/50 and 51/126, respectively. The finite fields F 16 ,   F 32 and F 64 are constructed using the polynomials 1 + x + x 4 , 1 + x 2 + x 5 and 1 + x + x 6 , respectively, with α , γ and χ being the roots of 1 + x + x 4 , 1 + x 2 + x 5 and 1 + x + x 6 , respectively. Table 8 shows the parameter vectors α S , v S , α R and v R corresponding to the three cases. The SNR of source-to-destination, source-to-relay, and relay-to-destination links are denoted by λ S ,   D   , λ S ,   R and λ R ,   D , respectively. Furthermore, the condition, i.e., λ R ,   D = λ S ,   D   + 2 is assumed in the proposed DGRSC-STBC-SM scheme. This section depicts the BER performance versus SNR ( λ S ,   D ) for all the investigated schemes. Moreover, let all the corresponding receivers possess perfect channel knowledge. In addition, we list the parameters utilized in the simulation, as shown in Table 9.

7.1. Performance Comparisons of DGRSC-STBC-SM Scheme under Various Symbol Selection Algorithms

This subsection discusses the performance of the DGRSC-STBC-SM scheme using the proposed symbol selection algorithms and random selection in order to demonstrate the effectiveness of our proposed algorithms.
We first discuss the error performance of the DGRSC-STBC-SM under our proposed symbol selection algorithms, i.e., Algorithm 1 and Algorithm 2 for the first case, as depicted in Figure 4. The corresponding selection patterns η ( opt ) and η ( low ) are shown in Table 10. Additionally, we investigate the error performance of the DGRSC-STBC-SM scheme with a random selection pattern for a fair comparison. The ideal source-to-relay channel, i.e., λ S ,   R = is supposed. The simulated results of Figure 4 show that when N r is identical, at low SNR the performance of the DGRSC-STBC-SM scheme under Algorithm 2 approaches that of the DGRSC-STBC-SM scheme under Algorithm 1, and their performance difference can be negligible at high SNR. This is because Algorithm 1 and Algorithm 2 generate the same minimum codeword weight (i.e., 9) at the destination. It well illustrates that Algorithm 2 is capable of achieving the balance between the complexity and performance, which reveals the effectiveness of Algorithm 2. Moreover, from Figure 4, it is also seen that the error performance advantage of the DGRSC-STBC-SM with Algorithm 1 and Algorithm 2 over the random selection pattern under identical conditions. It is because our proposed algorithms increase the minimum codeword weight at the destination, which implies that the proper selection in the relay has a key role in improving the performance.
Due to the effectiveness of Algorithm 2, we mainly focus on investigating the performance of the DGRSC-STBC-SM ( λ S ,   R = ) under Algorithm 2, for the second and third cases with large information sequence length, where the selection patterns η ( low ) of the second and third cases are exhibited in Table 10. Figure 5 and Figure 6 show that the DGRSC-STBC-SM scheme having Algorithm 2 exhibits better performance over the DGRSC-STBC-SM scheme having the random selection pattern. This is because, by adopting the proposed optimized Algorithm 2, the codeword set generated at the destination has a larger minimum codeword weight (i.e., 30 for the second case and 50 for the third case).

7.2. Error Performance of DGRSC-STBC-SM and Non-Cooperative Counterpart

To illustrate the effectiveness of our proposed DGRSC-STBC-SM scheme in cooperative scenarios, we analyze their performance of the DGRSC-STBC-SM and non-cooperative GRS-coded STBC-SM schemes for three cases under an identical code rate. Note that the non-cooperative GRS-coded STBC-SM scheme corresponds to the ideal ( λ S ,   R = ) DGRSC-STBC-SM scheme that the relay-to-destination link has no SNR gain over the source-to-destination link, that is to say, λ S ,   R = and λ R ,   D = λ S ,   D   in the non-cooperative scheme. Furthermore, the source and relay nodes in the non-cooperative scheme adopt the coding parameters shown in Table 9, where the source coding and relay coding have a relationship, i.e., the information symbols at the relay are taken from those at the source. Observe from Figure 7, Figure 8 and Figure 9 that, compared with its corresponding non-cooperative counterpart, the DGRSC-STBC-SM scheme ( λ S ,   R = and λ R ,   D = λ S ,   D   + 2 ) shows better BER performance, where the non-cooperative counterpart corresponds to the DGRSC-STBC-SM with λ R ,   D = λ S ,   D   . This is mainly because the relay node is closer to the destination node than the source node, which helps the correct estimation of the information sequence from the source node.
We also analyze the error performance under the non-ideal source-to-relay channel to better see the impact of practical channel scenarios. The results reveal that if the link between source and relay is the non-ideal ( λ S ,   R     ) link with a larger SNR (i.e., 15 dB, 16 dB and 11 dB), as shown in Figure 7, Figure 8 and Figure 9, respectively, the corresponding error performance is very approximate to that of the ideal DGRSC-STBC-SM scheme. However, if the link between source and relay has a low SNR, i.e., 10 dB, 11 dB and 6 dB, the error performance of the DGRSC-STBC-SM scheme becomes worse, and the error floor is generated at the BER     4 . 2   ×   10   4 , 1 . 4   ×   10   3 and 3 . 3   ×   10   4 , as exhibited in Figure 7, Figure 8 and Figure 9, respectively. The reason for the error floor phenomenon is that the incorrect decoding in the relay brings the error propagation to the common destination. With the aid of cyclic redundancy check (CRC) technology, the error propagation can be further mitigated, and the error performance will show better improvement. Since the detailed contents are beyond the scope of our research, we do not discuss them in this manuscript.

7.3. Performance Comparisons between DGRSC-STBC-SM Scheme and Existing Scheme

To confirm the superiority of the proposed DGRSC-STBC-SM scheme, we perform the performance comparison between the proposed scheme and the existing schemes.
Firstly, the authors discuss the performance comparisons between the DGRSC-STBC-SM ( λ S ,   R = ) for our considered third case and the existing Reed–Solomon coded cooperative SM (RSCC-SM) [16] under λ S ,   R = . From Figure 10, we notice that under identical conditions such as the same spectral efficiency k / 2 = 3 bits/s/Hz ( k is shown in Equation (4)) and receive antenna number N r , the DGRSC-STBC-SM provides better performance than the existing RSCC-SM. The reason behind such an enticing gain can be explained by using the following two aspects: (a) The STBC-SM technique adopted in our proposed DGRSC-STBC-SM scheme combines the ideas of STBC and SM, which is capable of removing the ICI and exploiting the transmit diversity. However, the SM technique used in the existing RSCC-SM scheme can only eliminate the ICI and is unable to exploit the transmit diversity. (b) In our proposed DGRSC-STBC-SM scheme, an efficient information selection Algorithm 2 is used to properly select 31 symbols from 51 symbols. However, in the paper [16], the relay randomly selects 31 symbols from 51 symbols. Thus, employing Algorithm 2 is very helpful for our proposed DGRSC-STBC-SM scheme to construct the codeword set with a larger minimum codeword weight (i.e., 50) due to the proper symbol selection at the relay. Observe from Figure 10 that at BER   1 × 10   4 , the DGRSC-STBC-SM using N r = 4 and 6 achieves SNR gains of about 4.3 dB and 3.9 dB, respectively, compared to the RSCC-SM scheme with N r = 4 and 6.
Additionally, we compare our proposed DGRSC-STBC-SM scheme with the recent state-of-the-art RS-coded cooperative STBC-SM (RSCC-STBC-SM) scheme [22] under identical conditions. In our proposed DRSC-STBC-SM scheme, the optimized Algorithm 2 is adopted at the relay to select 31 symbols from 51 source information symbols for further encoding. However, in the existing RSCC-STBC-SM scheme, 31 symbols are randomly chosen from 51 source information symbols for further encoding. As depicted in Figure 11, the DGRSC-STBC-SM scheme outperforms the existing scheme over the entire SNR under the same receive antenna number N r . The reason for the excellent performance is based on the fact that our proposed system uses an optimized symbol selection algorithm to make the destination node generate an optimized codeword set with a larger minimum codeword weight.

7.4. Comparisons of DGRSC-STBC-SM Scheme with Different Numbers of Receiving Antennas

To see the effect of receive antenna number on the error performance of the DGRSC-STBC-SM scheme, this subsection demonstrates the performance comparisons of the DGRSC-STBC-SM scheme ( λ S ,   R = ) for the first case under different numbers of receiving antennas. From Figure 12, we observe that the effect of receive antenna number on the system error performance is very evident. Figure 12 also shows that the DGRSC-STBC-SM scheme under N r = 6 performs the best BER performance, but the BER performance of the DGRSC-STBC-SM scheme is the worst under N r = 3 . The error performance under N r = 4 and 5 lies between the previous two. For example, at an SNR of 11 dB, the error performance under N r = 6 is 1 . 2 × 10   6 . At the same SNR, the error performance under N r = 4 and 5 is 1 . 2 × 10   4 and 1 × 10   5 , respectively. However, under N r = 3 , poor error performance (i.e., 1 . 7 × 10   3 ) is generated at SNR=11 dB. Thus, this validates the fact that as the number of receiving antennas adds the overall system error performance is improved. The BER performance enhancement is because increasing the value of N r offers more spatial diversity to the DGRSC-STBC-SM scheme.

8. Conclusions

In this article, we propose the novel DGRSC-STBC-SM scheme with the information selection at the relay. For each selection at the relay, the destination generates a codeword set. To obtain the optimal codeword set (resulted by the best selection pattern) at the destination, we propose the optimal symbol selection algorithm at the relay. We also propose another optimized symbol selection algorithm with the low complexity to reduce the complexity of the optimal symbol selection algorithm. The simulation results demonstrate that the DGRSC-STBC-SM scheme using the proposed two optimized algorithms has better BER performance than that using the random selection pattern, which is because the codeword set with a larger minimum distance is generated at the destination by using the optimized algorithms. Furthermore, the DGRSC-STBC-SM scheme with the low-complexity symbol selection algorithm can obtain the near-optimal performance. Additionally, the numerical results confirm the superiority of the DGRSC-STBC-SM scheme over its corresponding non-cooperative counterpart. It is mainly because the relay-to-destination link has a larger SNR gain than the source-to-destination link. Moreover, our proposed DGRSC-STBC-SM scheme can significantly outperform the existing schemes by the use of the proper selection at the relay. Finally, we compare the BER performance of the DGRSC-STBC-SM scheme under the varying receive antenna number. The simulation results show that the system performance will be improved as the receive antenna number adds.

Author Contributions

C.Z. conceived the idea. She developed the mathematical models and performed the Monte Carlo simulations. F.Y. checked the mathematical model and the simulated results. D.K.W., C.C. and H.X. revised the manuscript. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by National Natural Science Foundation of China under the contract No. 61771241.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

There is no conflict of interest related to the content of this manuscript.

References

  1. Guo, S.; Zhang, H.; Zhang, P.; Dang, S.; Liang, C.; Alouini, M.S. Signal Shaping for Generalized Spatial Modulation and Generalized Quadrature Spatial Modulation. IEEE Trans. Wirel. Commun. 2019, 18, 283–289. [Google Scholar] [CrossRef] [Green Version]
  2. Wu, Y.; Ying, H.; Jiang, X.; Hai, H. A Joint Data Mapping and Detection for High Performance Generalized Spatial Modulation. IEEE Commun. Lett. 2019, 23, 2008–2011. [Google Scholar] [CrossRef]
  3. Huang, K.; Xiao, Y.; Liu, L.; Li, Y.; Song, Z.; Wang, B.; Li, X. Integrated Spatial Modulation and STBC-VBLAST Design Toward Efficient MIMO Transmission. Sensors 2022, 22, 4719. [Google Scholar] [CrossRef] [PubMed]
  4. Feng, D.; Xu, H.; Zheng, J.; Bai, B. Nonbinary LDPC-Coded Spatial Modulation. IEEE Trans. Wirel. Commun. 2018, 17, 2786–2799. [Google Scholar] [CrossRef]
  5. Basar, E.; Aygolu, U.; Panayirci, E.; Poor, H.V. Space-Time Block Coded Spatial Modulation. IEEE Trans. Commun. 2011, 59, 823–832. [Google Scholar] [CrossRef]
  6. Ejaz, S.; Yang, F.; Xu, H. Split Labeling Diversity for Wireless Half-Duplex Relay Assisted Cooperative Communication Systems. Telecommun. Syst. 2020, 75, 437–446. [Google Scholar] [CrossRef]
  7. Zhao, C.; Yang, F.; Umar, R.; Mughal, S. Two-Source Asymmetric Turbo-Coded Cooperative Spatial Modulation Scheme with Code Matched Interleaver. Electronics 2020, 9, 169. [Google Scholar] [CrossRef] [Green Version]
  8. Mesleh, R.; Ikki, S.S. Performance Analysis of Spatial Modulation with Multiple Decode and Forward Relays. IEEE Wirel. Commun. Lett. 2019, 2, 423–426. [Google Scholar] [CrossRef]
  9. Hai, H.; Li, C.; Peng, Y.; Hou, J.; Jiang, X. Space-Time Block Coded Cooperative MIMO Systems. Sensors 2021, 21, 109. [Google Scholar] [CrossRef] [PubMed]
  10. Hu, J.; Duman, T.M. Low Density Parity Check Codes over Wireless Relay Channels. IEEE Trans. Wirel. Commun. 2007, 6, 3384–3394. [Google Scholar] [CrossRef]
  11. Qiu, J.; Liu, S. A Novel Concatenated Coding Scheme: RS-SC-LDPC Codes. IEEE Commun. Lett. 2020, 24, 2092–2095. [Google Scholar] [CrossRef]
  12. Niu, Y.; Yue, Q.; Wu, Y.; Hu, L. Hermitian Self-Dual, MDS, and Generalized Reed-Solomon Codes. IEEE Commun. Lett. 2019, 23, 781–784. [Google Scholar] [CrossRef]
  13. Sun, R.; Tian, Y.; Liu, J. Construction of QC-LDPC Codes Based on Generalized RS Codes with Girth Larger Than 6. In Proceedings of the International Conference on Communication Systems, Shenzhen, China, 14–16 December 2016; pp. 1–6. [Google Scholar] [CrossRef]
  14. Jin, L.; Xing, C. New MDS Self-Dual Codes from Generalized Reed-Solomon Codes. IEEE Trans. Inf. Theory 2017, 63, 1434–1438. [Google Scholar] [CrossRef] [Green Version]
  15. Chen, B.; Liu, H. New Constructions of MDS Codes with Complementary Duals. IEEE Trans. Inf. Theory 2018, 64, 5776–5782. [Google Scholar] [CrossRef] [Green Version]
  16. Zhao, C.; Yang, F.; Waweru, D.K. Reed-Solomon Coded Cooperative Spatial Modulation Based on Nested Construction for Wireless Communication. Radioengineering 2021, 30, 172–183. [Google Scholar] [CrossRef]
  17. Mughal, S.; Yang, F.; Xu, H.; Umar, R. Coded Cooperative Spatial Modulation Based on Multi-Level Construction of Polar Code. Telecommun. Syst. 2018, 70, 435–446. [Google Scholar] [CrossRef]
  18. Mughal, S.; Yang, F.; Xu, H.; Umar, R. Polar Coded Space-Time Block Coded Spatial Modulation Based on Plotkin’s Construction. IET Commun. 2017, 12, 237–245. [Google Scholar] [CrossRef]
  19. Almawgani, A.H.M.; Salleh, M.F.M. RS Coded Cooperation with Adaptive Cooperation Level Scheme over Multipath Rayleigh Fading Channel. In Proceedings of the IEEE 9th Malaysia International Conference on Communications (MICC), Kuala Lumpur, Malaysia, 14–17 December 2009; pp. 480–484. [Google Scholar] [CrossRef]
  20. Almawgani, A.H.M.; Salleh, M.F.M. Coded Cooperation Using Reed Solomon Codes in Slow Fading Channel. IEICE Electron. Expr. 2010, 7, 27–32. [Google Scholar] [CrossRef] [Green Version]
  21. Al-moliki, Y.M.; Aldhaeebi, M.A.; Almwald, G.A.; Shaobi, M.A. The Performance of RS and RSCC Coded Cooperation Systems Using Higher Order Modulation Schemes. In Proceedings of the 6th International Conference on Intelligent Systems, Modelling and Simulation, Kuala Lumpur, Malaysia, 9–11 February 2015; pp. 211–214. [Google Scholar] [CrossRef]
  22. Zhao, C.; Yang, F.; Chen, C.; Umar, R. Reed-Solomon Coded Cooperative Space-Time Block Coded Spatial Modulation. In Proceedings of the International Conference on Wireless Communications and Smart Grid (ICWCSG) 2021, Hangzhou, China, 13–15 August 2021. [Google Scholar] [CrossRef]
  23. MacWilliams, F.J.; Sloane, N.J.A. The Theory of Error-Correcting Codes, 3rd ed.; Elsevier: New York, NY, USA, 1977; ISBN 0-444-85009-0. [Google Scholar]
  24. Guo, P.; Yang, F.; Zhao, C.; Ullah, W. Jointly Optimized Design of Distributed Reed–Solomon Codes by Proper Selection in Relay. Telecommun. Syst. 2021, 78, 391–403. [Google Scholar] [CrossRef]
  25. Varshney, N.; Krishna, A.V.; Jagannatham, A.K. Selective DF Protocol for MIMO STBC Based Single/Multiple Relay Cooperative Communication: End-to-End Performance and Optimal Power Allocation. IEEE Trans. Commun. 2015, 63, 2458–2474. [Google Scholar] [CrossRef]
Figure 1. Generalized distributed linear block coding scheme.
Figure 1. Generalized distributed linear block coding scheme.
Sensors 22 06305 g001
Figure 2. System model of half-duplex DGRSC-STBC-SM scheme.
Figure 2. System model of half-duplex DGRSC-STBC-SM scheme.
Sensors 22 06305 g002
Figure 3. Symmetric structures of k 1 symbols (i) more positions are in the first part (ii) more positions are in the second part.
Figure 3. Symmetric structures of k 1 symbols (i) more positions are in the first part (ii) more positions are in the second part.
Sensors 22 06305 g003
Figure 4. Error performance for DGRSC−STBC−SM using C S   ( 10 ,   5 ,   6 ) and C R   ( 10 ,   3 ,   8 ) under different selection algorithms, N t = 4 and BPSK.
Figure 4. Error performance for DGRSC−STBC−SM using C S   ( 10 ,   5 ,   6 ) and C R   ( 10 ,   3 ,   8 ) under different selection algorithms, N t = 4 and BPSK.
Sensors 22 06305 g004
Figure 5. Error performance for DGRSC−STBC−SM using C S   ( 25 ,   19 ,   7 ) and C R   ( 25 ,   10 ,   16 ) under different selection algorithms, N t = 3 , N r = 4 and 4−QAM.
Figure 5. Error performance for DGRSC−STBC−SM using C S   ( 25 ,   19 ,   7 ) and C R   ( 25 ,   10 ,   16 ) under different selection algorithms, N t = 3 , N r = 4 and 4−QAM.
Sensors 22 06305 g005
Figure 6. Error performance for DGRSC−STBC−SM using C S   ( 63 ,   51 ,   13 ) and C R   ( 63 ,   31 ,   33 ) under different selection algorithms, N t = N r = 4 and 4−QAM.
Figure 6. Error performance for DGRSC−STBC−SM using C S   ( 63 ,   51 ,   13 ) and C R   ( 63 ,   31 ,   33 ) under different selection algorithms, N t = N r = 4 and 4−QAM.
Sensors 22 06305 g006
Figure 7. Comparisons between DGRSC−STBC−SM employing C S   ( 10 ,   5 ,   6 ) and C R   ( 10 ,   3 ,   8 ) and non−cooperative counterpart under Algorithm 1, N t = N r = 4 and BPSK.
Figure 7. Comparisons between DGRSC−STBC−SM employing C S   ( 10 ,   5 ,   6 ) and C R   ( 10 ,   3 ,   8 ) and non−cooperative counterpart under Algorithm 1, N t = N r = 4 and BPSK.
Sensors 22 06305 g007
Figure 8. Comparisons between DGRSC−STBC−SM with C S   ( 25 ,   19 ,   7 ) and C R   ( 25 ,   10 ,   16 ) and non−cooperative counterpart under Algorithm 2, N t = 3 , N r = 4 and 4−QAM.
Figure 8. Comparisons between DGRSC−STBC−SM with C S   ( 25 ,   19 ,   7 ) and C R   ( 25 ,   10 ,   16 ) and non−cooperative counterpart under Algorithm 2, N t = 3 , N r = 4 and 4−QAM.
Sensors 22 06305 g008
Figure 9. Comparisons between DGRSC−STBC−SM employing C S   ( 63 ,   51 ,   13 ) and C R   ( 63 ,   31 ,   33 ) and non−cooperative counterpart under Algorithm 2,   N t = N r = 4 and 4−QAM.
Figure 9. Comparisons between DGRSC−STBC−SM employing C S   ( 63 ,   51 ,   13 ) and C R   ( 63 ,   31 ,   33 ) and non−cooperative counterpart under Algorithm 2,   N t = N r = 4 and 4−QAM.
Sensors 22 06305 g009
Figure 10. Performance comparisons between the DGRSC−STBC−SM scheme (using 4−QAM and Algorithm 2) and the existing RSCC−SM [16] scheme (using 16−QAM and random selection) under the conditions of λ S ,   R = , C S   ( 63 ,   51 ,   13 ) and C R   ( 63 ,   31 ,   33 ) .
Figure 10. Performance comparisons between the DGRSC−STBC−SM scheme (using 4−QAM and Algorithm 2) and the existing RSCC−SM [16] scheme (using 16−QAM and random selection) under the conditions of λ S ,   R = , C S   ( 63 ,   51 ,   13 ) and C R   ( 63 ,   31 ,   33 ) .
Sensors 22 06305 g010
Figure 11. Performance comparisons between the DGRSC−STBC−SM scheme (using Algorithm 2) and the existing RSCC−STBC−SM [22] scheme (using random selection) under the conditions of 4−QAM, λ S ,   R = , C S   ( 63 ,   51 ,   13 ) and C R   ( 63 ,   31 ,   33 ) .
Figure 11. Performance comparisons between the DGRSC−STBC−SM scheme (using Algorithm 2) and the existing RSCC−STBC−SM [22] scheme (using random selection) under the conditions of 4−QAM, λ S ,   R = , C S   ( 63 ,   51 ,   13 ) and C R   ( 63 ,   31 ,   33 ) .
Sensors 22 06305 g011
Figure 12. Error performance for DGRSC−STBC−SM scheme utilizing C S   ( 10 ,   5 ,   6 ) and C R   ( 10 ,   3 ,   8 ) with different numbers of receive antennas under Algorithm 1, N t = 4 and BPSK.
Figure 12. Error performance for DGRSC−STBC−SM scheme utilizing C S   ( 10 ,   5 ,   6 ) and C R   ( 10 ,   3 ,   8 ) with different numbers of receive antennas under Algorithm 1, N t = 4 and BPSK.
Sensors 22 06305 g012
Table 1. Mapping procedure for STBC-SM with codes over the field F 16 .
Table 1. Mapping procedure for STBC-SM with codes over the field F 16 .
Field ElementsBinary VectorsNt = 4, BPSK
Active TACsModulated Symbols
0[0, 0, 0, 0](1, 2)( 1 , 1)
1[1, 0, 0, 0](2, 3)( 1, 1)
A [0, 1, 0, 0](3, 4)( 1, 1)
α 2 [0, 0, 1, 0](1, 2)( + 1, 1)
α 3 [0, 0, 0, 1](1, 2)( 1, + 1)
α 4 [1, 1, 0, 0](4, 1)( 1, 1)
α 5 [0, 1, 1, 0](3, 4)( + 1, 1)
α 6 [0, 0, 1, 1](1, 2)( + 1, + 1)
α 7 [1, 1, 0, 1](4, 1)( 1, + 1)
α 8 [1, 0, 1, 0](2, 3)( + 1, 1)
α 9 [0, 1, 0, 1](3, 4)( 1, + 1)
α 10 [1, 1, 1, 0](4, 1)( + 1, 1)
α 11 [0, 1, 1, 1](3, 4)( + . 1, + 1)
α 12 [1, 1, 1, 1](4, 1)( + 1, + 1)
α 13 [1, 0, 1, 1](2, 3)( + 1, + 1)
α 14 [1, 0, 0, 1](2, 3)( 1, + 1)
Table 2. Codeword weight wt ( | c | c j | ) at the destination in ascending order.
Table 2. Codeword weight wt ( | c | c j | ) at the destination in ascending order.
wt ( | c | c j | ) ( wt ( c ) ,   wt ( c j ) )
3(3, 0)
4(4, 0)
5(5, 0)
7(3, 4)
8(3, 5), (4, 4)
9(4, 5), (5, 4)
10(5, 5)
Table 3. Number of codewords B w (   j   ) with wt ( | c | c j | ) = w for Ω j .
Table 3. Number of codewords B w (   j   ) with wt ( | c | c j | ) = w for Ω j .
Ω j B 3   (   j   ) B 4   (   j   ) B 5   (   j   ) B 7   (   j   )
Ω 1 00756
Ω 2 00749
Ω 3 00756
Table 4. Process of choosing J elements.
Table 4. Process of choosing J elements.
wt(c) = iJ1st Part: 10 − i2nd Part: J − (10 − i)
6440
7330
431
8220
321
422
9110
211
312
413
10000
101
202
303
404
Table 5. Codeword weight wt ( | c | c j | ) at the destination in an ascending order.
Table 5. Codeword weight wt ( | c | c j | ) at the destination in an ascending order.
wt(|c|cj|)(wt(c), wt(cj))
6(6, 0)
7(7, 0)
8(8, 0)
9(9, 0)
10(10,0)
14(6, 8)
15(6,9), (7,8)
16(6,10), (7,9), (8,8)
17(6,11), (7,10), (8,9), (9,8)
18(6,12), (7,11), (8,10), (9,9),(10,8)
19(6,13), (7,12), (8,11), (9,10), (10,9), (11,8)
20(6,14), (7,13), (8,12), (9,11), (10,10), (11,9), (12,8)
Table 6. Relationship between the number B ¯ w ( j ) of codeword weight wt ( | c | c j | ) = w and Ω j .
Table 6. Relationship between the number B ¯ w ( j ) of codeword weight wt ( | c | c j | ) = w and Ω j .
Ω j B ¯ 6 ( j ) B ¯ 7 ( j ) B ¯ 8 ( j ) B ¯ 9 ( j )
Ω 1 00090
Ω 2 0015
Ω 3 00090
Ω 4 00090
Ω 5 00060
Ω 6 0009
Ω 7 00010
Table 7. Complexity comparison between Algorithm 1 and Algorithm 2.
Table 7. Complexity comparison between Algorithm 1 and Algorithm 2.
ParametersAlgorithm 1Algorithm 2Percentage Reduction, %
C S ( 5 ,   3 ,   3 ) ,   C R ( 5 ,   2 ,   4 ) ,   q = 8 ,     k b = 320
N   R ,   3   ( opt ) = N   R ,   4   ( opt ) = N   R ,   5   ( opt ) = N   R ,   7   ( opt ) = 3   N   R ,   3   ( low ) = N   R ,   4   ( low ) = N   R ,   5   ( low ) = N   R ,   7   ( low ) = 2
104,96046,40056
C S ( 10 ,   5 ,   6 ) ,   C R ( 10 ,   3 ,   8 ) ,   q = 16 ,     k b = 489001
N   R ,   6   ( opt ) = N   R ,   7   ( opt ) = N   R ,   8   ( opt ) = 10
N   R ,   6   ( low ) = N   R ,   7   ( low ) = N   R , 8   ( low ) = 7 ,   N   R ,   9   ( low ) = 6
1,667,235,840704,161,44058
Table 8. Parameter vectors corresponding to the three cases.
Table 8. Parameter vectors corresponding to the three cases.
Cases C S ( n 1 ,   k 1 ,   d 1 ) ,  
C R ( n 2 ,   k 2 ,   d 2 )
Parameter Vectors
1 C S ( 10 ,   5 ,   6 ) ,  
C R ( 10 ,   3 ,   8 )
α S = [ α ,   α 2 ,   α 3 ,   α 4 ,   α 5 ,   α 6 ,   α 8 ,   α 9 ,   α 12 ,   α 7 ] ,   v S = [ α ,   α 2 ,   α 3 ,   α 4 ,   α 4 ,   α 5 ,   α 8 ,   α 7 ,   α 10 ,   α 10 ]
α R = [ 1 ,   α ,   α 2 ,   α 4 ,   α 6 ,   α 5 , α 7 ,   α 9 ,   α 10 ,   α 11 ] ,   v R = [ 1 ,   α ,   α 2 ,   α 3 ,   α 5 ,   α 5 ,   α 7 ,   α 5 ,   α 8 ,   α 9 ]
2 C S ( 25 ,   19 ,   7 ) ,  
C R ( 25 ,   10 ,   16 )
α S = [ γ ,   γ 2 ,   γ 3 ,   γ 4 ,   γ 5 ,   γ 6 ,   γ 8 ,   γ 9 ,   γ 12 ,   γ 7 ,   γ 10 ,   γ 11 ,   γ 13 ,   γ 14 ,   γ 15 ,   γ 18 ,   γ 19 ,   γ 20 ,   γ 21 ,   γ 25 ,   γ 26 ,   γ 27 ,   γ 29 ,   γ 30 ,   1 ]
v S = [ γ ,   γ 3 ,   γ 3 ,   γ 4 ,   γ 5 ,   γ 6 ,   γ 7 ,   γ 8 ,   γ 9 ,   γ 12 ,   γ 7 ,   γ 10 ,   γ 11 ,   γ 12 ,   γ 13 ,   γ 15 ,   γ 15 ,   γ 17 ,   γ 19 ,   γ 20 ,   γ 21 ,   γ 24 ,   γ 26 ,   γ 27 ,   γ 29 ]
α R = [ 1 ,   γ ,   γ 2 ,   γ 3 ,   γ 4 ,   γ 5 ,   γ 6 ,   γ 8 ,   γ 9 ,   γ 12 ,   γ 7 ,   γ 10 ,   γ 11 ,   γ 13 ,   γ 14 ,   γ 17 ,   γ 18 ,   γ 19 ,   γ 20 ,   γ 21 ,   γ 25 ,   γ 26 ,   γ 27 ,   γ 29 ,   γ 30 ]
v R = [ 1 ,   γ ,   1 ,   γ 3 ,   γ 4 ,   γ 5 ,   γ 6 ,   γ 8 ,   γ 9 ,   γ 11 ,   γ 7 ,   γ 10 ,   γ 11 ,   γ 13 ,   γ 14 ,   γ 17 ,   γ 17 ,   γ 19 ,   γ 21 ,   γ 21 ,   γ 25 ,   γ 26 ,   γ 27 ,   γ 29 ,   γ 30 ]
3 C S ( 63 ,   51 ,   13 ) ,  
C R ( 63 ,   31 ,   33 )
α S = v S = α R = v R = [ 1 ,   χ ,   ,   χ 62 ]
Table 9. Parameters utilized in the simulation.
Table 9. Parameters utilized in the simulation.
ParametersSpecification
Source coding C S   ( 10 ,   5 ,   6 ) ,   C S   ( 25 ,   19 ,   7 ) ,   C S   ( 63 ,   51 ,   13 )
Relay coding C R   ( 10 ,   3 ,   8 ) ,   C R   ( 25 ,   10 ,   16 ) ,   C R   ( 63 ,   31 ,   33 )
Effective code rate of destination1/4, 19/50, 51/126
Channel modelSlow Rayleigh fading channel
MIMO configurationSTBC-SM: N t = 4 ,   BPSK ,   N r = 3 , 4, 5, 6
N t = 3 , 4-QAM, N r = 4
N t = 4 , 4-QAM, N r = 4 , 6
SM :   N t = 4 , 16-QAM, N r = 4 , 6
MIMO detectionMaximum likelihood (ML) detection
GRS decoding algorithmEuclidean decoding algorithm
Table 10. Optimized selection patterns corresponding to three different cases.
Table 10. Optimized selection patterns corresponding to three different cases.
Cases η ( opt ) η ( low )
1[2, 3, 4][1, 3, 4]
2——[5, 8, 9, 10, 12, 13, 14, 15, 17, 18]
3——[0, 1, 2, 3, 4, 5, 6, 11, 12, 13, 16, 18, 19, 22, 24, 25, 26, 27, 29, 31, 33, 34, 35, 40, 42, 44, 45, 47, 48, 49, 50]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhao, C.; Yang, F.; Waweru, D.K.; Chen, C.; Xu, H. Optimized Distributed Generalized Reed-Solomon Coding with Space-Time Block Coded Spatial Modulation. Sensors 2022, 22, 6305. https://doi.org/10.3390/s22166305

AMA Style

Zhao C, Yang F, Waweru DK, Chen C, Xu H. Optimized Distributed Generalized Reed-Solomon Coding with Space-Time Block Coded Spatial Modulation. Sensors. 2022; 22(16):6305. https://doi.org/10.3390/s22166305

Chicago/Turabian Style

Zhao, Chunli, Fengfan Yang, Daniel Kariuki Waweru, Chen Chen, and Hongjun Xu. 2022. "Optimized Distributed Generalized Reed-Solomon Coding with Space-Time Block Coded Spatial Modulation" Sensors 22, no. 16: 6305. https://doi.org/10.3390/s22166305

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop