Next Article in Journal
Bridge of Trust: Cross Domain Authentication for Industrial Internet of Things (IIoT) Blockchain over Transport Layer Security (TLS)
Previous Article in Journal
Development of a Robot for Decontamination of High Places and Decommissioning Work That Can Cope with Slopes and Steps
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Distributed Goppa-Coded Generalized Spatial Modulation: Optimized Design and Performance Study

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
3
School of Information Science and Engineering, Southeast University (SEU), Nanjing 210096, China
*
Author to whom correspondence should be addressed.
Electronics 2023, 12(11), 2404; https://doi.org/10.3390/electronics12112404
Submission received: 18 April 2023 / Revised: 12 May 2023 / Accepted: 23 May 2023 / Published: 25 May 2023

Abstract

:
The distributed Goppa-coded generalized spatial modulation (DGC-GSM) scheme with the source, relay, and destination in cooperative communications is proposed, where the source and relay adopt different Goppa codes. Goppa codes have many advantages such as the flexible codeword length, excellent code construction, and easy encoding and decoding complexity. At the relay, we select portions of the source information bits for further encoding. For each selection, the destination constructs a channel code. To obtain the best code in the destination, we propose the optimal information bit selection algorithm at the relay to choose the source information. However, Goppa codes with a large block length will impose high complexity on the optimal algorithm. Thus, the locally optimized selection algorithm is further proposed. At the destination, the joint decoding algorithm is adopted to recover the source information. Our simulated results indicate that the two selection algorithms proposed achieve better performance than the random selection method. This is because the optimized algorithms can generate the code with a larger minimum distance at the destination. Moreover, the proposed DGC-GSM scheme outperforms the non-cooperative system. Moreover, the DGC-GSM scheme can obtain the approximate performance with the distributed Goppa-coded spatial modulation (DGC-SM) scheme but has a significantly reduced transmit antenna number.

1. Introduction

Multiple-input–multiple-output (MIMO) is a key technique that effectively enhances system reliability [1]. A recently developed MIMO technology, i.e., spatial modulation (SM) [2], only uses a single active transmit antenna for signal transmission in each time instant, which completely avoids inter-channel interference (ICI). The active antenna index also carries information, so the spectral efficiency is boosted. Nevertheless, SM has the limitation that the transmit antenna number is the power of two. To overcome the shortcoming in SM, the literature [3] presented the fractional bit encoded SM scheme with an arbitrary transmit antenna number allowed. However, error propagation resulted in the system. An alternative method of circumventing the constraint on the antenna number is generalized SM (GSM) [4]. In GSM, using multiple active antennas to transmit the same constellation symbol causes the system to retain the advantage of SM (i.e., avoiding the ICI) and have higher spectral efficiency than SM. Moreover, the transmit antenna number in GSM is significantly reduced over SM under an identical spectral efficiency. Moreover, in GSM, transmitting the replicas of the symbol enhances the channel reliability.
Another technology that can effectively improve the system reliability is coded cooperation (CC) (i.e., distributed channel codes) [5] with the integration of channel coding and cooperative technologies such as amplify-and-forward (AF) [6] and decode-and-forward (DF) [7]. The typical CC usually has three terminals called the source, relay, and destination, where the source and relay cooperate with each other so that a channel code is yielded in the destination. Many binary distributed channel coding schemes utilizing channel codes such as Reed–Muller codes, turbo codes, low-density parity-check codes, and polar codes have been widely studied in many studies such as [8,9,10,11]. It can be observed that the distributed channel coding scheme is able to obtain the coded cooperative diversity gains and achieve better performance than the direct non-cooperative counterpart. However, there are few reports in the literature of distributed coding systema adopting non-binary codes, especially non-binary maximum-distance separable (MDS) codes.
As special non-binary MDS codes, Reed–Solomon (RS) codes [12] have a strong ability to correct random and burst errors, which attracts attention. For example, previous research [13,14,15] designed a distributed RS coding system and investigated the system’s error performance. However, the system’s design flexibility was reduced due to the fact that RS codes over the field GF(qm) have a limited codeword length of n = q m 1 with q being the prime and m being the positive integer. Interestingly, another class of non-binary MDS codes, i.e., generalized RS (GRS) codes [16,17,18], as the extension of RS codes, has more flexible and variable codeword lengths. Since the subcodes of the original channel codes have a minimum distance of no less than that of the original channel codes, this inspires us to apply the subfield subcodes of GRS codes in CC. Goppa codes [19], as the famous subfield subcodes of GRS codes, can obtain a significantly larger minimum distance than GRS codes. Additionally, Goppa codes possess many benefits such as the flexible codeword length, excellent code construction, and easy encoding and decoding complexity. Thus, many scholars have performed wide research on Goppa codes in many studies such as [19,20,21,22,23]. However, these studies primarily focus on the introduction of basic principles and characteristics. Thus, they do not fully use the advantages of MIMO and cooperative technologies and cannot meet the demands of highly reliable and effective communications.
In order to address the gap to achieve high reliability and effectiveness of communication, we study the integration of distributed Goppa coding (DGC) and GSM and propose the distributed Goppa-coded GSM (DGC-GSM) scheme. The high reliability and effectiveness of the DGC-GSM scheme can be achieved through the following methods: (1) The relay carries out the optimized selection of the source information bits to ensure the destination generates a code with a larger minimum distance and the destination uses a joint decoding algorithm for effective recovery of source information, which improves the reliability of the DGC system. (2) At the source and relay, the introduction of GSM improves the effectiveness of the DGC-GSM scheme while enhancing reliability. The key contributions are listed below:
  • The DGC-GSM scheme utilizing information selection in the relay is proposed, where the source and relay use different Goppa codes. The encoded codeword at the source is sent to the relay and destination. The relay first decodes the source signal to obtain the estimated source message bits and then chooses partial bits from the decoded message bits to encode them. By combining the codewords transmitted from the source and relay, a channel code is constructed in the destination under the assumption of the error-free decoding in the relay. In the relay, any decoding strategy will result in erroneous decoding and therefore cannot ensure error-free transmission.
  • Through the relay’s proper selection of partial bits from the decoded source message bits, a channel code with a larger minimum distance can be constructed at the destination. To construct the best code in the destination, the optimal information bit selection algorithm in the relay is proposed to effectively choose the source information bits.
  • Since the optimal algorithm considers all selection methods and source information sequences, it has relatively high computational complexity for the case of Goppa codes with large block lengths. To reduce the complexity, the locally optimized information bit selection algorithm considering partial selection and source information sequences is proposed.
  • To effectively recover the source information, we adopt the joint decoding algorithm in the destination to decode the signals from the source-to-destination and relay-to-destination wireless channels.
The reminder of this manuscript is as follows: Section 2 introduces the related work. The DGC-GSM scheme with the information selection in the relay is proposed in Section 3. Section 4 introduces two optimized information bit selection algorithms. Section 5 describes the joint decoding algorithm. Section 6 outlines the performance analysis for the proposed system. The simulated results are discussed in Section 7. Finally, we conclude this paper.
Notations: Bold italic capital and lowercase letters represent the matrix and vector, respectively. · 1 and · T represent the inverse and transpose operations, respectively. We use x and x to denote the largest value no greater than x and the smallest value no less than x, respectively. represents the complex domain. N T N u is the binomial coefficient. Additionally, CN ( x , y ) is the complex distribution with x mean and y variance. |a|b| denotes the series connection of a and b. · * denotes the complex conjugate and · represents the real part of a complex value.

2. Related Work

In [13], the authors studied the error performance of an RS-coded cooperative system and presented a novel approach to deal with the selection of a cooperative level between two users. Another study in the literature [14] designed a coded cooperative scheme on the basis of RS codes and confirmed the performance superiority of the designed system over the existing punctured convolutional-coded cooperative scheme. Nevertheless, they did not fully utilize the advantages of cooperative diversity and MIMO technology. Thus, Zhao et al. [24] presented a novel distributed RS coding scheme with the MIMO technique, i.e., SM. Unfortunately, the limited codeword length n = q m 1 of RS codes affects the system’s design flexibility of the RS-coded cooperative schemes.
Interestingly, as the extension of RS codes, GRS codes can circumvent the limitation of the codeword length. A detailed introduction to the basic knowledge of GRS codes was provided in [16,17,18]. Due to the fact that the subfield subcodes of the original codes can further enhance the minimum distance of the original codes, more and more scholars are focusing on the study of the subfield subcodes of GRS codes. Since Goppa codes as the subfield subcodes of GRS codes have a flexible codeword length and excellent construction, they have been widely investigated. For example, in [19], the dimensions and structure of the square of dual Goppa codes was studied, and a corresponding rigorous upper bound was also provided. In [20], the authors discussed cyclic extended Goppa codes with double-error-correcting capability. The authors in [21] used the concept of dihedral automorphism groups and constructed expurgated and extended Goppa codes. The literature [23] discussed the completely decomposed cumulative Goppa codes and the enhanced bound of the minimum distance. These studies on Goppa codes did not incorporate MIMO-based cooperative technology and therefore cannot meet the high demands for effective and reliable communication services. Motivated by this, we apply Goppa codes to the cooperative system based on MIMO and propose the DGC-GSM system.
Different from the existing strategies, the proposed system has made much progress: (1) Goppa codes are first integrated into the MIMO-based cooperative communication system to effectively improve the reliability and effectiveness. (2) At the relay, we suitably select the partial message from the estimated source information and re-encode the selected information, which causes the code generated in the destination to possess a larger minimum distance. (3) At the destination, we perform excellent joint decoding on the received source-to-destination and relay-to-destination signals, which contributes to the correct decoding. Table 1 clearly compares the proposed work with the state-of-the-art literature.

3. GSM-Based Goppa-Coded Cooperative System Design

This section discusses the DGC-GSM scheme that combines the DGC and GSM, where the relay adopts the idea of information selection.

3.1. Fundamentals of Goppa Codes

We assume that G(z) is a degree-r Goppa polynomial and its coefficients belong to the field GF q m , and Λ = α 1 ,   α 2 , , α n GF q m with G α i 0 for α i Λ , where m and q are the positive integer and prime number, respectively. For the two arbitrary vectors e = e 1 , e 2 , , e n and α = α 1 ,   α 2 , , α n with e s GF q and α s GF q m , the rational function is expressed as follows [20]:
R e ( z ) = s = 1 n e s z α s
The set of all the vectors e satisfying the condition R e z 0   mod   G ( z ) constructs the Goppa code Γ Λ ,   G ( z ) with the codeword length n. Γ Λ , G ( z ) has the parity-check matrix given by [21]:
H = G ( α 1 ) 1 G ( α 2 ) 1 G ( α n ) 1 α 1 G ( α 1 ) 1 α 2 G ( α 2 ) 1 α n G ( α n ) 1   α 1 r 1 G ( α 1 ) 1 α 2 r 1 G ( α 2 ) 1 α n r 1 G ( α n ) 1
Then, we obtain the matrix H ˜ over GF(q) by converting each element in Equation (2) into an m-dimensional column vector in GF(q). Through the linear transformation of H ˜ , the systematic parity-check matrix H ¯ is obtained. Then, we acquire the systematic generator matrix G based on H ¯ .
Example 1.
Let the field  GF 2 3 = 0 ,   1 ,   α , ,   α 6  with  α  being the root of  x 3 + x + 1  over GF(2). Let  G z = z 2 + z + α 6  and  Λ = 0 ,   α 2 ,   1 ,   α ,   α 3 ,   α 4 ,   α 5 ,   α 6 By using Equation (2), the parity-check matrix H is written as:
H = α α 2 α α 4 α 4 1 1 α 2 0 α 4 α α 5 1 α 4 α 5 α
By converting each element in Equation (3) into a three-dimensional column vector, we obtain the following matrix H ˜ :
H ˜ = 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 0
Then, we obtain the systematic form H ¯ of H ˜ , where H ¯ is shown as follows:
H ¯ = 1 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0
Based on Equation (5), the generator matrix G is directly expressed as:
G = 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1

3.2. System Model in Cooperative Scenarios

The system diagram of the proposed DGC-GSM is depicted in Figure 1. NT, NT, and NR antennas are deployed in the source S, relay R, and destination D, respectively. Realizing an overall system transmission needs two time slots.
In time slot-1, the information bit sequence m of length k1 is encoded into the systematic codeword bit sequence c = b ,   m of length n 1 using the Goppa encoder, where b is the parity-check part. Through the GSM mapper, the yielded codeword bit sequence c is mapped to the GSM transmission vector. Specifically, the data grouping first accepts c and partitions it into multiple short sequences c τ 1 with the same length l = log 2 N T N u + log 2 M = l 1 + l 2 , where τ 1 = 1 ,   2 , ,   n 1 + n ¯ 1 / l is the time instant with n ¯ 1 being the added zero bits in the end of c to make l be an integer, N u is the activated transmit antenna number and M is the modulation order. The bit divider splits c τ 1 into two parts, where the first l 1 bits c 1 τ 1 and the remaining l 2 bits c 2 τ 1 separately constitute the first and second parts. Through the antenna mapper and M-ary modulator, c 1 τ 1 is mapped to an active transmit antenna combination (TAC) a 1 τ 1 = a 1 1 τ 1 , a 2 1 τ 1 , , a N u 1 τ 1 from the 2 l 1 TACs used and c 2 τ 1 is mapped to a modulated symbol m 1 τ 1 from the total M modulated symbols, where a j 1 τ 1 1 ,   2 , ,   N T is the j-th active transmit antenna index. Through the GSM modulator, the modulated symbol m 1 τ 1 is transmitted via the TAC a 1 τ 1 , and we obtain the GSM transmission vector c m 1 , a 1 τ 1 N T × 1 :
c m 1 , a 1 ( τ 1 ) = [ , 0 , m 1 ( τ 1 ) , 0 , , 0 , m 1 ( τ 1 ) , 0 , , 0 , m 1 ( τ 1 ) , 0 , ] T
The vector c m 1 , a 1 τ 1 is separately sent to the R and D through slow Rayleigh fading channels H S - R N T × N T and H S - D N R × N T to yield the signal vectors z S - R τ 1 N T × 1 and z S - D τ 1 N R × 1 :
z S - R ( τ 1 ) = H S - R c m 1 , a 1 ( τ 1 ) + n S - R ( τ 1 ) = h S - R a 1 ( τ 1 ) m 1 ( τ 1 ) + n S - R ( τ 1 )
z S - D ( τ 1 ) = H S - D c m 1 , a 1 ( τ 1 ) + n S - D ( τ 1 ) = h S - D a 1 ( τ 1 ) m 1 ( τ 1 ) + n S - D ( τ 1 )
where each element of H S - R is independent and obeys the distribution CN ( 0 ,   1 ) . h S - R a 1 τ 1 = j = 1 N u h S - R a j 1 τ 1 N T × 1 with h S - R a j 1 τ 1 being the a j 1 τ 1 - th column of H S - R . n S - R τ 1 N T × 1 is the noise vector with each element having the independent and identical distribution CN 0 , σ 2 . H S - D , h S - D a 1 τ 1 , and n S - D τ 1 have similar definitions to H S - R , h S - R a 1 τ 1 , and n S - R τ 1 , respectively.
In time slot-2, the GSM demodulator first performs demodulation for z S - R τ 1 by utilizing maximum-likelihood detection (MLD) to obtain the estimate of a 1 τ 1 and m 1 τ 1 , i.e., a ^ 1 τ 1 and m ^ 1 τ 1 . Through the bit combiner (the execution process of the bit combiner is in contrast to the execution process of the bit divider), we obtain the estimated sequence c ^ τ 1 of c τ 1 . After the data ungrouping, the estimate c ^ of c is generated. Next, the Goppa decoder is used for decoding c ^ to obtain the estimated m ^ of m by using the Euclidean decoding algorithm [22]. The k2 (k2 < k1) information bits m i are selected from m ^ and the Goppa encoder encodes m i into the systematic codeword bit sequence c i = b i ,   m i of length n 2 , where i = 1 ,   2 , ,   L = k 1 k 2 is the selection order and b i is the parity-check part. Because the proper information selection at R plays a key role in improving the whole system performance, it is extremely necessary to design the optimized information bit selection algorithm. The details will be introduced in Section 4. After the sequence c i is inserted into the GSM mapper, we obtain the transmission vector c m 2 , a 2 i τ 2 N T × 1 :
c m 2 , a 2 ( i ) ( τ 2 ) = [ , 0 , m 2 ( i ) ( τ 2 ) , 0 , , 0 , m 2 ( i ) ( τ 2 ) , 0 , , 0 , m 2 ( i ) ( τ 2 ) , 0 , ] T
where τ 2 is defined as τ 1 . The modulated symbol m 2 i τ 2 is transmitted via the TAC a 2 i τ 2 = a 1 2 , i τ 2 , a 2 2 , i τ 2 , , a N u 2 , i τ 2 with a j 2 , i τ 2 1 ,   2 , ,   N T . Through the slow Rayleigh fading channel H R - D i N R × N T , the vector c m 2 , a 2 i τ 2 is sent to the D, which obtains the signal vector z R - D i τ 2 N R × 1 :
z R - D ( i ) ( τ 2 ) = H R - D ( i ) c m 2 , a 2 ( i ) ( τ 2 ) + n R - D ( i ) ( τ 2 ) = h R - D a 2 ( i ) ( τ 2 ) m 2 ( i ) ( τ 2 ) + n R - D ( i ) ( τ 2 )
where H R - D i , h R - D a 2 i τ 2 , and n R - D i τ 2 are defined as H S - R , h S - R a 1 τ 1 , and n S - R τ 1 , respectively. Eventually, the joint decoder performs joint decoding for the signal vectors z S - D τ 1 and z R - D i τ 2 during two respective time slots to obtain the estimated source information bits. The detailed process of recovering the source message bits is discussed in Section 5.
Example 2.
Let  c = 0 ,   0 ,   1 ,   0 ,   1 ,   1 ,   1 ,   1  be the length  n 1 = 8  Goppa codeword at the S. Furthermore,  N T = 5 ,  N R = 2 ,  N u = 2  and 32-QAM (M = 32) are assumed. Thus,  l = log 2 N T N u + log 2 M = 8  and  τ 1 = n 1 + n ¯ 1 / l = 1  with  n ¯ 1 = 0 . Then, we have  c 1 = 0 ,   0 ,   1 ,   0 ,   1 ,   1 ,   1 ,   1 ,  c 1 1 = 0 ,   0 ,   1  and  c 2 1 = 0 ,   1 ,   1 ,   1 ,   1 , where the sequence  c 1 1  is mapped to the active TAC  a 1 1 = 1 ,   3  and the sequence  c 2 1  is mapped to the modulated symbol  m 1 1 = 3 i . The GSM transmission vector  c m 1 , a 1 1  has the following expression form:
c m 1 , a 1 ( 1 ) = 1 20 [ 3 i , 0 , 3 i , 0 , 0 ] T
We assume that H S - R , H S - D , n S - R 1 , and n S - D 1 have the mathematical expressions written as follows:
H S - R = 0.77 + 0.49 i 0.05 0.81 i 0.43 + 0.13 i 0.99 + 0.59 i 1.00 0.42 i 0.02 + 0.59 i 1.05 + 0.07 i 0.52 0.06 i 1.01 0.63 i 0.20 + 0.34 i 0.39 0.17 i 0.52 + 0.51 i 0.14 1.36 i 0.34 + 0.07 i 0.13 + 0.52 i 0.77 + 0.15 i 0.75 + 1.82 i 0.62 0.31 i 0.12 0.38 i 1.12 + 1.21 i 1.09 0.82 i 1.60 0.47 i 0.54 1.27 i 0.13 + 0.21 i 0.56 0.13 i
H S - D = 0.38 0.95 i 1.59 + 0.51 i 0.22 + 0.50 i 0.30 0.08 i 2.53 + 0.99 i 1.29 + 2.14 i 0.60 0.04 i 0.92 0.14 i 0.24 + 1.05 i 1.95 + 1.00 i
n S - R ( 1 ) = 0.97 0.19 i , 0.74 + 0.49 i , 0.33 1.45 i , 0.19 0.25 i , 0.77 0.58 i T
n S - D ( 1 ) = 0.13 + 2.05 i , 0.85 + 0.58 i T
Then, we obtain:
z S - R ( 1 ) = H S - R c m 1 , a 1 ( 1 ) + n S - R ( 1 ) = h S - R a 1 ( 1 ) m 1 ( 1 ) + n S - R ( 1 ) = 1.92 0.34 i , 0.99 + 0.01 i , 0.84 0.47 i , 1.17 0.45 i , 0.06 + 0.69 i T
z S - D ( 1 ) = H S - D c m 1 , a 1 ( 1 ) + n S - D ( 1 ) = h S - D a 1 ( 1 ) m 1 ( 1 ) + n S - D ( 1 ) = 0.64 + 2.22 i , 0.65 0.84 i T
Furthermore, we assume that the Goppa codeword with a length of n 2 = 8 is c 1 = 1 ,   1 ,   1 ,   1 ,   1 ,   0 ,   0 ,   1 at the R. The GSM transmission vector c m 2 , a 2 1 1 can be directly written as:
c m 2 , a 2 ( 1 ) ( 1 ) = 1 20 [ 0 , 0 , 0 , 1 + i , 1 + i ] T
where a 2 1 1 = 4 ,   5 and m 2 1 1 = 1 + i . We assume that H R - D 1 and n R - D 1 1 have the following expressions:
H R - D ( 1 ) = 0.02 0.79 i 0.72 + 1.17 i 0.50 0.88 i 0.15 0.12 i 0.20 0.94 i 0.56 + 1.78 i 0.09 + 0.21 i 0.95 0.61 i 0.41 + 0.55 i 0.59 1.64 i
n R - D ( 1 ) ( 1 ) = 1.02 + 0.27 i , 0.23 + 0.31 i T
Then, we obtain:
z R - D ( 1 ) ( 1 ) = H R - D ( 1 ) c m 2 , a 2 ( 1 ) ( 1 ) + n R - D ( 1 ) ( 1 ) = h R - D a 2 ( 1 ) ( 1 ) m 2 ( 1 ) ( 1 ) + n R - D ( 1 ) ( 1 ) = 0.86 0.04 i , 0.25 0.15 i T

4. Design Algorithms of Optimized Selection at the Relay

At S and R, the Goppa codes C S n 1 ,   k 1 ,   d 1 and C R n 2 ,   k 2 ,   d 2 are separately used with d i being the minimum distance. The R selects k 2 bits m i from the estimated source message sequence m ^ of length k 1 for further encoding by the use of the Goppa code C R n 2 ,   k 2 ,   d 2 , and there are a total of L = k 1 k 2 selections, where i I = { 1 ,   2 ,   ,   L } . Each selection order i corresponds to a k 2 -dimensional vector p i , and the set of all L selection patterns is expressed as:
φ = { p ( i ) | i I } = { [ p 1 ( i ) , p 2 ( i ) , , p k 2 ( i ) ] , 1 p 1 ( i ) < p 2 ( i ) < < p k 2 ( i ) k 1 , i I } .
where p k i refers to the position of the selected element in m ^ . Under the correct decoding (i.e., m ^ = m ) at the R, the i-th selection pattern makes the D generate a channel code expressed as:
C D ( i ) ( n 1 + n 2 , k 1 ) = { | c | c ( i ) | : c C S ( n 1 , k 1 , d 1 ) , c ( i ) C R ( n 2 , k 2 , d 2 ) }
where C S n 1 , k 1 , d 1 and C R n 2 ,   k 2 , d 2 are separately the Goppa codes at the S and R with d i being the minimum distance. It is worth mentioning that the condition d 2 > d 1 is assumed in this paper. To obtain the code C D i n 1 + n 2 , k 1 with a better codeword weight distribution, we propose two effective information selection algorithms to determine the corresponding optimized selection pattern and then perform proper information selection by the determined optimized pattern.

4.1. Optimal-Based Selection Design Algorithm

4.1.1. Design Steps

The proposed optimal information bit selection algorithm in this section aims to find a selection pattern that produces the best codeword weight distribution at the D among all L selection patterns. During the procedure of the search, all 2 k 1 information sequences at the S are taken into account. Algorithm 1 explicitly shows the search process of the optimal pattern p opt .
Algorithm 1: Optimal Selection Algorithm
Input: k 1 , k 2 , n 1 , n 2 , L = k 1 k 2 , p i
Output: The optimal selection pattern p opt
        Step 1: Determine all 2 k 1 source information sequences.
        Step 2: Determine the sets I and φ at the R.
        Step 3: For each i I and p i φ , we get all the codeword sets resulted by 2 k 1 source information sequences, and find out the minimum codeword weight wt ( c c i | ) = w min i . Then, we determine w min max = max { w min i | i I } .
        Step 4: Obtain I 0 = { i I | w m i n i = w min max } and φ 0 = { p i φ | i I 0 } .
        Step 5: For φ 0 = 1 , we end the algorithm and the only element p i in φ 0 is determined as the optimal selection pattern p opt , i.e., p opt = p i .
        Step 6: For φ 0 1 ,
(a)
Initialization: t = 0 ,   w = w min max .
(b)
For each i I t and p i φ t , we determine the number N w i of the codeword weight wt ( c c i | ) =w to get N w min = min { N w i | i I t } .
(c)
Determine I t + 1 = { i I t | N w i = N w min } and φ t + 1 = { p i φ t | i I t + 1 } .
(d)
If w < n 1 + n 2 and φ t + 1 1 , we return to step (b). Otherwise, we will finish the overall algorithm and the optimal selection pattern p opt is determined as the only element or arbitrary element in φ t + 1 .

4.1.2. Complexity Analysis

Here, we analyze the encoding complexity of the optimal algorithm under addition and multiplication operations. In the S, n 1 k 1 1 addition operations and n 1 k 1 multiplication operations are required to encode one message sequence of length k1. Thus, completing the encoding of all 2 k 1 information sequences in the S requires the overall computational complexity denoted as:
J o p t S = n 1 2 k 1 ( 2 k 1 1 )
Similarly, the corresponding complexity of encoding our obtained 2 k 1 information bit sequences in the R is n 2 2 k 1 2 k 2 1 when considering one selection pattern. We allow the number of considered selection patterns to be P w in determining the number of wt ( c c i | ) = w   ( w = w min max , w min max + 1 , ,   n 1 + n 2 ) in the D. Provided that p opt is obtained when determining the number of wt ( c c i | ) = w opt ( w min max w opt n 1 + n 2 ), the overall complexity at the R is:
J o p t R = n 2 2 k 1 ( 2 k 2 1 ) ( P w m i n ( max ) + P w min ( max ) + 1 + + P w opt ) = n 2 2 k 1 ( 2 k 2 1 ) ( L + P w min ( max ) + 1 + + P w opt )
Therefore, the total computational complexity of the optimal algorithm is:
J opt = J opt S + J opt R = n 1 2 k 1 ( 2 k 1 1 ) + n 2 2 k 1 ( 2 k 2 1 ) ( L + P w min ( max ) + 1 + + P w opt )

4.2. Locally Optimized-Based Selection Design Algorithm

4.2.1. Design Steps

For Goppa codes with large block lengths, the optimal algorithm has relatively high complexity when considering all 2 k 1 source information sequences and all L selection patterns. To reduce the complexity of the best algorithm, the locally optimized information bit selection algorithm is presented to determine the optimized one from partial selection patterns of L selection patterns, during which partial source information sequences of 2 k 1 source information sequences are considered. The search process of the locally optimized pattern p loc is shown in Algorithm 2.
Algorithm 2: Locally Optimized Selection Algorithm
Input: k 1 , k 2 , n 1 , n 2
Output: The locally optimized selection pattern p loc
        Step 1: At the S, we determine K  ( K < 2 k 1 ) source information bit sequences m. Because the source information sequences m yielding codeword weight wt(c) = q ( d 1 q n 1 ) can be selected from those sequences m of weight 1 wt m q , this implies the corresponding message sequences m possess, at most, q bits 1, i.e., the realistic number of bits 1 is 1 Z min ( q ,   k 1 ) . The generation process of K source message sequences is as follows:
(a)
Divide the k 1 bit positions of the information sequence m into two parts as shown in Figure 2. In Figure 2a, the first T 1 = k 1 + 1 / 2 bit positions of k 1 bit positions form the 1st part and the other k 1 T 1 bit positions form the 2nd part. In Figure 2b, the bit position division is symmetrical with that in Figure 2a.
(b)
For each wt(c) = q, we determine the positions of Z bits 1 of m. To be specific: ① In Figure 2a, we randomly choose M 1 ( ( Z + 1 ) / 2 M 1 min ( Z , T 1 )) positions in the 1st part to put bits 1, and fixedly choose M 2 = Z M 1 positions to put bits 1 in the 2nd part, which yields X 1 = T 1 M 1 cases. ② In Figure 2b, we randomly choose M 1 positions in the 2nd part to put bits 1, and fixedly choose M 2 positions in the 1st part to put bits 1, which also yields X 1 cases.
(c)
By considering all 2 X 1 cases for each wt(c) = q, we obtain the corresponding information sequences. After combining the obtained information sequences generating wt(c) = d 1 + 1 , , n 1 , the K source information bit sequences are obtained.
        Step 2: Determine Q (Q < L) selection patterns based on the following method:
(a)
By using the division method of k 1 bit positions of m in Figure 2, we choose k 2 bit positions from the k 1 bit positions. To be specific: ① In Figure 2a, W 1 ( ( k 2 + 1 ) / 2 W 1 min ( k 2 , T 1 )) bit positions are randomly chosen from the 1st part, and W 2 = k 2 W 1 bit positions are fixedly chosen from the 2nd part, which generates X 2 = T 1 W 1 cases. ② In Figure 2b, W 1 bit positions are randomly chosen from the 2nd part, and W 2 bit positions are fixedly chosen from the 1st part, which also generates X 2 cases.
(b)
In step (a), the selected   k 2 bit positions for each case represent one selection patter. By considering the 2 X 2 cases, Q selection patterns p ¯ 1 , p ¯ 2 , , p ¯ Q are then obtained.
        Step 3: Determine the selection order set I ¯ = 1 ,   2 , ,   Q and the selection pattern set φ ¯ = p ¯ 1 , p ¯ 2 , , p ¯ Q .
        Step 4: Other steps are similar to steps 3–6 of Algorithm 1. Finally, we obtain p loc .
Figure 2. Illustrated diagram of k1 source information bit positions (a) more information bit positions are in the 1st part (b) more information bit positions are in the 2nd part.
Figure 2. Illustrated diagram of k1 source information bit positions (a) more information bit positions are in the 1st part (b) more information bit positions are in the 2nd part.
Electronics 12 02404 g002

4.2.2. Complexity Analysis

Now, we analyze the complexity of the locally optimized algorithm regarding addition and multiplication operations. Since K information sequences are considered in the S, the total encoding complexity of the S is:
J loc S = n 1 K ( 2 k 1 1 )
In the R, the complexity of encoding K selected information bits for one selection pattern is n 2 K 2 k 2 1 . When determining the number of wt ( c c i | ) = w   ( w = w ¯ min max , w ¯ min max + 1 , ,   n 1 + n 2 ) in the D, P ¯ w selection patterns are considered, where w ¯ min max is similar to w min max in Algorithm 1. Suppose that we can obtain the optimized pattern p loc when finding out the number of wt ( c c i | ) = w loc ( w ¯ min max w loc n 1 + n 2 ), Then, the total complexity at the R is computed as:
J loc R = n 2 K ( 2 k 2 1 ) ( P ¯ w ¯ min ( max ) + P ¯ w ¯ min ( max ) + 1 + + P ¯ w loc ) = n 2 K ( 2 k 2 1 ) ( Q + P ¯ w ¯ min ( max ) + 1 + + P ¯ w loc )
Thus, the locally optimized algorithm has the overall computational complexity denoted as follows:
J loc = J loc S + J loc R = n 1 K ( 2 k 1 1 ) + n 2 K ( 2 k 2 1 ) ( Q + P ¯ w ¯ min ( max ) + 1 + + P ¯ w loc )

4.3. Design Examples and Computation of Complexity of the Two Algorithms

4.3.1. Design Examples

To facilitate the understanding for the proposed two algorithms, we give the following examples.
Example 3.
At the S and R, we consider the Goppa codes  C S 16 ,   8 ,   5  and  C R 16 ,   4 ,   7  , respectively. Table 2 lists the related parameters  Λ  and  G z  over  GF 2 3 = 0 ,   1 ,   β , ,   β 14  with  β  being the root of  x 4 + x + 1  over GF(2). By using the optimal algorithm, the process of determining  p opt  is as follows:
Step 1: Determine all 2 8 = 256 source information sequences.
Step 2: Determine the set I = { 1 ,   2 , ,   L = 70 } and the set φ = { p 1 ,   p 2 , ,   p 70 } with 70 selection patterns, where φ is denoted as follows:
φ = p 1 , p 2 , , p 70 = { 1 , 2 , 3 , 4 , 1 , 2 , 3 , 5 , 1 , 2 , 3 , 6 , 1 , 2 , 3 , 7 , 1 , 2 , 3 , 8 , 1 , 2 , 4 , 5 , 1 , 2 , 4 , 6 [ 1 , 2 , 4 , 7 ] , [ 1 , 2 , 4 , 8 ] , [ 1 , 2 , 5 , 6 ] , [ 1 , 2 , 5 , 7 ] , [ 1 , 2 , 5 , 8 ] , [ 1 , 2 , 6 , 7 ] , [ 1 , 2 , 6 , 8 ] , [ 1 , 2 , 7 , 8 ] , [ 1 , 3 , 4 , 5 ] , [ 1 , 3 , 4 , 6 ] , [ 1 , 3 , 4 , 7 ] , [ 1 , 3 , 4 , 8 ] , [ 1 , 3 , 5 , 6 ] , [ 1 , 3 , 5 , 7 ] , [ 1 , 3 , 5 , 8 ] , [ 1 , 3 , 6 , 7 ] , [ 1 , 3 , 6 , 8 ] , [ 1 , 3 , 7 , 8 ] , [ 1 , 4 , 5 , 6 ] , [ 1 , 4 , 5 , 7 ] , [ 1 , 4 , 5 , 8 ] , [ 1 , 4 , 6 , 7 ] , [ 1 , 4 , 6 , 8 ] , [ 1 , 4 , 7 , 8 ] , [ 1 , 5 , 6 , 7 ] , [ 1 , 5 , 6 , 8 ] , [ 1 , 5 , 7 , 8 ] , [ 1 , 6 , 7 , 8 ] , [ 2 , 3 , 4 , 5 ] , [ 2 , 3 , 4 , 6 ] , [ 2 , 3 , 4 , 7 ] , [ 2 , 3 , 4 , 8 ] , [ 2 , 3 , 5 , 6 ] , [ 2 , 3 , 5 , 7 ] , [ 2 , 3 , 5 , 8 ] , [ 2 , 3 , 6 , 7 ] , [ 2 , 3 , 6 , 8 ] , [ 2 , 3 , 7 , 8 ] , [ 2 , 4 , 5 , 6 ] , [ 2 , 4 , 5 , 7 ] , [ 2 , 4 , 5 , 8 ] , [ 2 , 4 , 6 , 7 ] , [ 2 , 4 , 6 , 8 ] , [ 2 , 4 , 7 , 8 ] , [ 2 , 5 , 6 , 7 ] , [ 2 , 5 , 6 , 8 ] , [ 2 , 5 , 7 , 8 ] , [ 2 , 6 , 7 , 8 ] , [ 3 , 4 , 5 , 6 ] , [ 3 , 4 , 5 , 7 ] , [ 3 , 4 , 5 , 8 ] , [ 3 , 4 , 6 , 7 ] , [ 3 , 4 , 6 , 8 ] , [ 3 , 4 , 7 , 8 ] , [ 3 , 5 , 6 , 7 ] , [ 3 , 5 , 6 , 8 ] , [ 3 , 5 , 7 , 8 ] , [ 3 , 6 , 7 , 8 ] , [ 4 , 5 , 6 , 7 ] , [ 4 , 5 , 6 , 8 ] , [ 4 , 5 , 7 , 8 ] , [ 4 , 6 , 7 , 8 ] , [ 5 , 6 , 7 , 8 ] }
Step 3: For each i I and p i φ , we obtain all codeword sets C D i 32 ,   8 = { c c i | : c C S 16 ,   8 ,   5 , c i C R 16 ,   4 ,   7 } resulting in 256 source information sequences, and determine w min max = 7 .
Step 4: Obtain I 0 = 20 and φ 0 = p 20 = 1 ,   3 ,   5 ,   6 .
Step 5: Because of φ 0 = 1 , we end the algorithm and finally obtain p opt = p 20 = 1 ,   3 ,   5 ,   6 .
Table 2. Parameters Λ and G z corresponding to the Goppa codes at the S and R.
Table 2. Parameters Λ and G z corresponding to the Goppa codes at the S and R.
Goppa Codes Λ G z
C S 16 ,   8 ,   5 { 1 , β 2 , β 3 , β 4 , β 5 , β 6 , β 7 , β 8 , β 9 , β 10 , β 11 , β 12 , β 13 , β , β 14 , 0 } z 2 + z + β 6
C R 16 ,   4 ,   7 z 3 + z + 1
Example 4.
We adopt the coding parameters in Example 3. The process of determining  p loc  by using the locally optimized algorithm is as follows:
Step 1: Determine K source information bit sequences at the S:
(a)
Divide the k 1 = 8 bit positions of the information sequence m into two parts based on Figure 2.
(b)
For each wt(c) = q (5   q 16 ), we determine the positions of Z (1   Z min ( q ,   8 ) ) bits 1 of m: ① In Figure 2a, we randomly choose M 1 ( ( Z + 1 ) / 2 M 1 min ( Z ,   5 )) positions in the 1st part to put bits 1, and fixedly choose M 2   = Z M 1 positions to put bits 1 in the 2nd part, which yields X 1 = 5 M 1 cases. ② In Figure 2b, X 1 cases are also yielded by randomly choosing M 1 positions in the 2nd part to put bits 1, and fixedly choosing M 2 positions in the 1st part to put bits 1.
(c)
By considering all 2 X 1 cases for each wt(c) = q, we obtain K = 189 <   256 source information bit sequences.
Step 2: Determine Q selection patterns:
(a)
Choose k 2 = 4 bit positions from the k 1 = 8 bit positions: ① In Figure 2a, W 1 (3   W 1 4 ) bit positions are randomly chosen from the 1st part, and W 2 = 4 W 1 bit positions are fixedly chosen from the 2nd part, which generates X 2 = 5 W 1 cases. ② In Figure 2b, X 2 cases are also generated by randomly choosing W 1 bit positions from the 2nd part and fixedly choosing W 2 bit positions from the 1st part.
(b)
By considering all 2 X 2 cases, we obtain Q = 24 < 70 selection patterns p ¯ 1 , p ¯ 2 , , p ¯ 24 .
Step 3: Determine the set I ¯ = 1 ,   2 , ,   Q = 24 and the set φ ¯ = { p ¯ 1 ,   p ¯ 2 , , p ¯ 24 } , where φ ¯ is denoted as:
φ ¯ = { p ¯ ( 1 ) , p ¯ ( 2 ) , , p ¯ ( 24 ) } = { [ 1 , 2 , 3 , 4 ] , [ 1 , 2 , 3 , 5 ] , [ 1 , 2 , 3 , 8 ] , [ 1 , 2 , 4 , 5 ] , [ 1 , 2 , 4 , 8 ] , [ 1 , 2 , 5 , 8 ] , [ 1 , 3 , 4 , 5 ] , [ 1 , 3 , 4 , 8 ] , [ 1 , 3 , 5 , 8 ] , [ 1 , 4 , 5 , 6 ] , [ 1 , 4 , 5 , 7 ] , [ 1 , 4 , 5 , 8 ] , [ 1 , 4 , 6 , 7 ] , [ 1 , 4 , 6 , 8 ] , [ 1 , 4 , 7 , 8 ] , [ 1 , 5 , 6 , 7 ] , [ 1 , 5 , 6 , 8 ] , [ 1 , 5 , 7 , 8 ] , [ 1 , 6 , 7 , 8 ] , [ 2 , 3 , 4 , 5 ] , [ 2 , 3 , 4 , 8 ] , [ 2 , 3 , 5 , 8 ] , [ 2 , 4 , 5 , 8 ] , [ 3 , 4 , 5 , 8 ] }
Step 4: For each i I ¯ and p ¯ i φ ¯ , we obtain all codeword sets yielded by 189 source message sequences and determine w ¯ min max = 6 .
Step 5: Obtain I ¯ 0 = 10 and φ ¯ 0 = p ¯ 10 = 1 ,   4 ,   5 ,   6 .
Step 6: Because of φ ¯ 0 = 1 , we end the algorithm, and the locally optimized pattern is p loc = p ¯ 10 = 1 ,   4 ,   5 ,   6 .

4.3.2. Computation of Complexity

We can compute the complexities of the proposed algorithms using Equations (27) and (30). In Example 3, the complexity of the optimal algorithm is mathematically computed as:
J opt = n 1 2 k 1 ( 2 k 1 1 ) + n 2   2 k 1 ( 2 k 2 1 ) L = 2,068,480
In Example 4, the complexity of the locally optimized algorithm is computed as:
J loc = n 1 K ( 2 k 1 1 ) + n 2 K ( 2 k 2 1 ) Q = 553,392
It can be found that the calculation operations of the locally optimized algorithm have a 73% complexity reduction compared with the optimal algorithm. Thus, this phenomenon reveals the low-complexity characteristic of the proposed locally optimized algorithm.

5. Joint Decoding in the Destination

In our proposed DGC-GSM system, the effective joint decoding helps to obtain the correct source information bits. Since the Goppa code in the R has a larger minimum distance than that in the S (i.e., d 2 > d 1 ) as mentioned in Section 4, it is beneficial to enhance the entire performance of the cooperative system by using the reliable relay information bits to replace the selected source information bits. Algorithm 3 illustrates the detailed decoding process of the joint decoding algorithm.
Algorithm 3: Joint Decoding Algorithm
Input: The signal vectors z S - D τ 1 and z R - D i τ 2
Output: The estimated source information sequence m ¯
        Step 1: The D uses the GSM demapper using MLD to separately demodulate the signal vectors z S - D τ 1 and z R - D i τ 2 ,   and obtains the estimated codeword bit sequences c ˜ and c ˜ i of c and c i , respectively.
        Step 2: By using the Euclidean decoding algorithm, the Goppa decoder decodes c ˜ i to obtain the estimate m ˜ i of relay information sequence m i with length   k 2 .
        Step 3: We utilize the estimated sequence m ˜ i to replace those selected k 2 bits in the demodulated codeword sequence c ˜ , and the update c ¯ of c ˜ is yielded.
        Step 4: Finally, we adopt the Goppa decoder to perform decoding for c ¯ to generate the estimated source information m ¯ .

6. Performance Analysis

This section analyzes the theoretical performance of the proposed DGC-GSM system. In the source-to-destination (S-D) and relay-to-destination (R-D) links, the bit error rate (BER) performances are separately represented as:
P b ( S - D ) n 1 n 1 + n 2 j = t + 1 n 1 + n 2 j n 1 + n 2 j ( p ( S - D ) ) j ( 1 p ( S - D ) ) n 1 + n 2 j
P b ( R - D ) n 2 n 1 + n 2 j = t + 1 n 1 + n 2 j n 1 + n 2 j ( p ( R - D ) ) j ( 1 p ( R - D ) ) n 1 + n 2 j
where t =   d min 1 / 2 is the error correction capability of the code C D i n 1 + n 2 , k 1 generated in the D with d min being the minimum distance. Additionally, p S - D and p R - D are the BER performances of GSM and are expressed as:
p ( S - D ) s = s 1 s M = φ 1 φ 2 l 1 s ˜ = s 1 s M ˜ = φ 1 φ 2 l 1 N ( x s , ( S - D ) , x s ˜ , ˜ ( S - D ) ) I 1 / 10 0.1 χ S - D / 1 / 10 0.1 χ S - D + σ s ˜ , ˜ ( S - D ) ( N R , N R ) M 2 log 2 N T N u
p ( R - D ) s = s 1 s M = φ 1 φ 2 l 1 s ˜ = s 1 s M ˜ = φ 1 φ 2 l 1 N ( x s , ( R - D ) , x s ˜ , ˜ ( R - D ) ) I 1 / 10 0.1 χ R - D / 1 / 10 0.1 χ R - D + σ s ˜ , ˜ ( R - D ) ( N R , N R ) M 2 log 2 N T N u
In Equation (37), N x s , S D ,   x s ˜ , ˜ S D is the number of error bits between the GSM transmission vectors x s , S - D and x s ˜ , ˜ S - D with s ,   s ˜ ϕ = s 1 , s 2 , , s M and ,   ˜ φ = φ 1 , φ 2 , , φ 2 l 1 separately being the modulated symbol set and active TAC set, where l 1 = log 2 N T N u . I x a ,   b is the regularised incomplete beta function [25]. χ S - D (dB) is the signal-to-noise ratio (SNR) of the S-D link and σ s ˜ , ˜ S - D = 1 / 10 0.1 χ S - D + 2 s s ˜ * d ,   ˜ + s s ˜ 2 N u , where d , ˜ is the number of different bits between and   ˜ . In Equation (38), N x s , R D ,   x s ˜ , ˜ R D , χ R - D , and σ s ˜ , ˜ R D are defined as N x s , S D ,   x s ˜ , ˜ S D , χ S - D , and σ s ˜ , ˜ S - D , respectively. Under the case of the noiseless S-R link, the average BER of the cooperative system is denoted as:
P b P b S - D + P b R D n 1 n 1 + n 2 j = t + 1 n 1 + n 2 j ( n 1 + n 2 j ) ( s = s 1 s M = φ 1 φ 2 l 1 s ˜ = s 1 s M ˜ = φ 1 φ 2 l 1 N ( x s , ( S - D ) , x s ˜ , ˜ ( S - D ) ) I ( 1 / 10 0.1 χ S - D ) / ( 1 / 10 0.1 χ S - D + σ s ˜ , ˜ ( S - D ) ) ( N R , N R ) M 2 log 2 ( N T N u ) ) j × ( 1 s = s 1 s M = φ 1 φ 2 l 1 s ˜ = s 1 s M ˜ = φ 1 φ 2 l 1 N ( x s , ( S - D ) , x s ˜ , ˜ ( S - D ) ) I ( 1 / 10 0.1 χ S - D ) / ( 1 / 10 0.1 χ S - D + σ s ˜ , ˜ ( S - D ) ) ( N R , N R ) M 2 log 2 ( N T N u ) ) n 1 + n 2 j + n 2 n 1 + n 2 j = t + 1 n 1 + n 2 j ( n 1 + n 2 j ) × ( s = s 1 s M = φ 1 φ 2 l 1 s ˜ = s 1 s M ˜ = φ 1 φ 2 l 1 N ( x s , ( R - D ) , x s ˜ , ˜ ( R - D ) ) I ( 1 / 10 0.1 χ R - D ) / ( 1 / 10 0.1 χ R - D + σ s ˜ , ˜ ( R - D ) ) ( N R , N R ) M 2 log 2 ( N T N u ) ) j × ( 1 s = s 1 s M = φ 1 φ 2 l 1 s ˜ = s 1 s M ˜ = φ 1 φ 2 l 1 N ( x s , ( R - D ) , x s ˜ , ˜ ( R - D ) ) I ( 1 / 10 0.1 χ R - D ) / ( 1 / 10 0.1 χ R - D + σ s ˜ , ˜ ( R - D ) ) ( N R , N R ) M 2 log 2 ( N T N u ) ) n 1 + n 2 j
In the case of the noisy S-R link, the theoretical BER can also be calculated according to Equation (39). In this case, χ S - D is viewed as the equivalent SNR based on the quality of the S-R link, where the improvement and deterioration of the S-R link correspond to the increase and decrease in the equivalent SNR.

7. Simulations and Discussions

In this section, we discuss the BER performance of the proposed DGC-GSM scheme under various simulation conditions such as different information bit selection algorithms and different transmit and receive antenna numbers. The proposed coded cooperative scheme is also compared with the non-cooperative system, the current strategies, and the distributed Goppa-coded SM (DGC-SM) scheme to exhibit its advantages. We use two different distributed Goppa codes as illustrated in Table 3, where the set Λ and the Goppa polynomial G(z) are used to construct the Goppa codes. In Λ and G(z), the parameters β and γ are the roots of polynomials x 4 + x + 1 and x 5 + x 2 + 1 over GF(2), respectively. Moreover, Table 3 lists the optimal selection pattern p opt and the locally optimized selection pattern p loc .
The SNRs of the S-D, S-R and R-D links are denoted as χ S - D , χ S - R , and χ R - D , respectively. When χ S - R = , the S-R link is considered to be ideal. Otherwise, the S-R link is non-ideal (i.e., practical). Additionally, the simulation condition χ R - D = χ S - D + 2 is assumed in the cooperative scenarios. The basic parameters used in the simulations are shown in Table 4, where the MLD approach is used by the GSM demapper to demodulate the received signals, and the Euclidean decoding algorithm is utilized by the Goppa decoder to decode the codeword.

7.1. Performance of the Proposed Scheme under Various Selection Algorithms

First, we compare the performance of the proposed system ( χ S - R = ) under different information bit selection algorithms to illustrate the effectiveness of the proposed optimized algorithms. The simulation results in Figure 3 show the advantages of the proposed optimized algorithms over the random selection method. For example, at BER 3.6 × 10 5 , the optimal algorithm and the locally optimized algorithm are separately 2 dB and 1.8 dB better than the random method because the two optimized algorithms can construct a code with a larger minimum distance at the destination.
From the simulation results in Figure 3, it can also be observed that the locally optimized algorithm can achieve almost equal performance with the optimal algorithm in the whole SNR. Furthermore, the locally optimized algorithm has a 73% complexity reduction over the optimal algorithm (as shown in Section 4.3), which reveals the effectiveness of the locally optimized algorithm. Based on this, for the Goppa codes with the large block length, we only consider the system performance ( χ S - R = ) under the locally optimized algorithm, as illustrated in Figure 4. From the results, superior performance of our proposed optimized algorithm compared to the random selection method is found again. Furthermore, Figure 3 shows the theoretical performance curves under the optimal selection algorithm. It is observed that the theoretical performance is very close to the simulation results at high SNR, which demonstrates the rationality of the theoretical analysis method. Figure 4 compares the theoretical and simulation performances under the locally optimized selection algorithm, and the close match at high SNR again demonstrates the effectiveness of the theoretical analysis approach.

7.2. Performance of the Proposed Scheme with Different Transmit and Receive Antenna Numbers

To illustrate the effect of the transmit antenna number NT and receive antenna number NR on the system performance, we depict the system performance under different antenna numbers as depicted in Figure 5, Figure 6, Figure 7 and Figure 8. During simulations, the ideal S-R link ( χ S - R = ) is assumed.
The simulation curves in Figure 5 and Figure 6 show the system performance in the case of different transmit antenna numbers NT. We note that reducing NT will help to enhance the overall system performance. For example, at SNR = 10 dB in Figure 5, the performance of 4 × 10 5 achieved under NT = 5 is better than the performance of 1 . 6 × 10 4 achieved under NT = 7 for the case of NR = 6. This is because when the modulation order is the same, the system performance is dominated by the transmit antenna number NT, and the error probability is reduced as NT decreases. Furthermore, Figure 5 shows the high match between the theoretical and simulated results at high SNR. Moreover, the theoretical performance is enhanced with the decrease in NT.
From the simulation curves in Figure 7 and Figure 8, it can be clearly observed that increasing NR will greatly improve the system performance. For example, at BER =   1.5 × 10 3 in Figure 7, the system under NR = 6 has approximately 6 dB, 3 dB, and 1.1 dB SNR gains compared to the system under NR = 3, 4, and 5, respectively. At BER =   1.5 × 10 3 in Figure 8, the system under NR = 6 obtains approximately 6 dB, 3.2 dB, and 1 dB SNR gains compared to the system under NR = 3, 4, and 5, respectively. This is primarily because the increase in the receive antenna improves the spatial diversity to ensure the performance of the entire system is enhanced.

7.3. Performance of the Proposed Scheme under Different S-R Links and Non-Cooperative Counterpart

Because the practical cooperative communication transmission requires the non-ideal S-R channel, the performance analysis under the non-ideal link is carried out, as shown in Figure 9. We find that the system performance enhances as the S-R link ameliorates. As exhibited in the simulated results, the system performance is poor under the case of the bad S-R link (i.e., χ S - R = 8   dB , 10 dB, and 11 dB). However, the performance under the better S-R link (i.e., χ S - R = 12   dB   and 13 dB) is very close to that under the ideal link ( χ S - R = ). Thus, it indicates that the system is relatively sensitive to the noise when χ S - R   11 dB. However, when χ S - R 12   dB , the system is robust. By adopting the cyclic redundancy check (CRC) technology [26], the sensitivity of the system can be further reduced. Additionally, it should be noted that the system performance degradation is primarily due to the fact that wrong decoding at the R leads to error diffusion of the entire cooperative system.
Figure 10 shows the performance comparison between the proposed DGC-GSM scheme ( χ S - R = ) and the non-cooperative counterpart under different receiving antenna numbers NR. The non-cooperative scheme denotes the DGC-GSM ( χ S - R = ) with χ R - D = χ S - D . From Figure 10, it is noted that the proposed coded cooperative scheme exhibits better performance compared to its counterpart under the same NR, which is because the R-D link in the cooperative scenarios has a larger SNR gain than the S-D link. For example, for the case of NR = 6, the coded cooperative system outperforms the non-cooperative system by approximately 0.8 dB at BER = 10 4 .

7.4. Performance Comparison between the Proposed Scheme and Existing Strategies

Figure 11 shows the performance comparison between the proposed system (employing C S 32 ,   17 ,   7 and C R 32 ,   12 ,   9 ) and the current system called nested polar-coded cooperative SM (NPCC-SM) [5] under χ S - R = for identical conditions such as an identical equivalent code rate 17/64 (in the D) and the same spectral efficiency of 5 bits/s/Hz. To achieve 5 bits/s/Hz spectral efficiency, the DGC-GSM and NPCC-SM schemes adopt the configurations (NT = 8 and 4-QAM) and (NT = 5, Nu = 2 and 4-QAM), respectively. In [5], the NPCC-SM system does not adopt an optimized encoding method in the relay. In contrast to the literature [5], the proposed system utilizes the locally optimized algorithm to perform effective message selection in the relay to ensure the destination receive the code with a larger minimum distance. Thus, the proposed system is significantly superior to the current system.
Furthermore, Figure 12 shows the performance of the DGC-GSM using Algorithm 3 and the existing naive decoding strategy [24], where C S 32 ,   17 ,   7 , C R 32 ,   12 ,   9 , and the locally optimized selection algorithm are used. In [24], the existing joint decoding algorithm first decodes the codewords from the S-D and R-D links, and then replaces the partial decoded information of the S-D link by using the whole decoded information of the R-D link. In Algorithm 3, we first decode the codeword from the R-D link to obtain the estimated relay information that is used to replace the partial message of the demodulated codeword from the S-D link, and then utilize the Goppa decoder to perform the decoding for the updated codeword of the S-D link. From the BER curves, it is seen that Algorithm 3 achieves additional performance gains over the existing strategy. This is because Algorithm 3 uses more reliable message from the R-D link as the input of the Goppa decoder that generates the estimated source message.

7.5. Performance Comparison between the DGC-GSM and DGC-SM Schemes

Moreover, Figure 13 and Figure 14 compare the performance of the DGC-GSM and its benchmark (i.e., DGC-SM) under χ S - R = in the case of the same spectral efficiency of 5 bits/s/Hz. From the simulation curves, we see the performance of the DGC-GSM and its benchmark is very approximate in the case of an identical NR. However, compared to the transmit antenna number (i.e., NT = 8) of the benchmark, the transmit antenna number (i.e., NT = 5) of the DGC-GSM scheme is significantly reduced. This indicates that in comparison with its counterpart, the proposed DGC-GSM system can achieve a good compromise between the error performance and the complexity of the MIMO configuration. Therefore, the proposed scheme has practical application advantages.

8. Conclusions

In this paper, the DGC-GSM scheme with the information selection is proposed. With the use of two optimized information selection algorithms, an optimized code is constructed in the destination. To achieve efficient decoding in the destination, the joint decoding algorithm is employed. We investigate the system performance under the proposed two optimized algorithms and the random selection method. Because the code with small number of low-weight codewords is generated in the destination, the optimized algorithms exhibit performance advantages over the random approach. The simulated results also demonstrate that the low-complexity algorithm can achieve near optimal performance. By comparing the simulated results with the theoretical values, the rationality of the theoretical analysis method is confirmed. Furthermore, the proposed DGC-GSM scheme offers better performance gains than the non-cooperative scheme under the identical conditions. The results also reveal the advantages of the proposed strategies over the existing strategies. Moreover, compared to the DGC-SM scheme, the DGC-GSM scheme can achieve nearly the same performance but the transmit antenna number is significantly reduced. Furthermore, the performance of the DGC-GSM scheme will be enhanced with the decrease in the transmit antenna number. Thus, it is good for the reduced transmit antenna number in the proposed system.

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., H.X. and L.L. revised the manuscript. All authors have read and agreed to the published version of the manuscript.

Funding

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

Data Availability Statement

Not applicable.

Acknowledgments

The authors would like to thank the Editor and anonymous reviewers for their precious suggestions, comments, and reviews that help in improving the quality of this manuscript.

Conflicts of Interest

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

References

  1. 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]
  2. Mesleh, R.Y.; Haas, H.; Sinanovic, S.; Ahn, C.W.; Yun, S. Spatial modulation. IEEE Trans. Veh. Technol. 2008, 57, 2228–2241. [Google Scholar] [CrossRef]
  3. Serafimovski, N.; Renzo, M.D.; Sinanovic, S.; Mesleh, R.Y.; Haas, H. Fractional bit encoded spatial modulation (FBE–SM). IEEE Commun. Lett. 2010, 14, 429–431. [Google Scholar] [CrossRef]
  4. 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]
  5. 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]
  6. Shin, J. New mean-squared-error filter design method for multiple-input multiple-output amplify-and-forward relay systems with a non-negligible direct link. Wirel. Pers. Commun. 2022, 125, 3085–3099. [Google Scholar] [CrossRef]
  7. Devipriya, S.; Manickam, J.M.L.; Anita, X. On the outage performance of decode-and-forward based relay ordering in cognitive wireless sensor networks. Wirel. Netw. 2022, 28, 3247–3259. [Google Scholar] [CrossRef]
  8. Mughal, S.; Yang, F.; Umar, R. Reed–Muller network coded-cooperation with joint decoding. IEEE Commun. Lett. 2019, 23, 24–27. [Google Scholar] [CrossRef]
  9. 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]
  10. Fang, Y.; Liew, S.C.; Wang, T. Design of distributed protograph LDPC codes for multi-relay coded-cooperative networks. IEEE Trans. Wirel. Commun. 2017, 16, 7235–7251. [Google Scholar] [CrossRef]
  11. Liang, H.; Liu, A.; Liu, X.; Cheng, F. Construction and optimization for adaptive polar coded cooperation. IEEE Wirel. Commun. Lett. 2021, 9, 1187–1190. [Google Scholar] [CrossRef]
  12. Sui, J.; Zhu, X.; Shi, X. MDS and near-MDS codes via twisted Reed–Solomon codes. Des. Code Cryptogr. 2022, 90, 1937–1958. [Google Scholar] [CrossRef]
  13. Almawgani, A.H.M.; Salleh, M.F.M. RS coded cooperation with adaptive cooperation level scheme over multipath Rayleigh fading channel. cooperation level scheme over multipath Rayleigh fading channel. In Proceedings of the IEEE 9th Malaysia International Conference on Communications (MICC), Kuala Lumpur, Malaysia, 15–17 December 2009. [Google Scholar]
  14. 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]
  15. 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]
  16. 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]
  17. Chen, B.; Liu, H. New constructions of MDS codes with complementary duals. IEEE Trans. Inf. Theory 2018, 64, 5776–5782. [Google Scholar] [CrossRef]
  18. 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]
  19. Mora, R.; Tillich, J.P. On the dimension and structure of the square of the dual of a Goppa code. Des. Code Cryptogr. 2023, 91, 1351–1372. [Google Scholar] [CrossRef]
  20. Gao, Y.; Yue, Q.; Huang, X.; Yang, Y. Two classes of cyclic extended double-error-correcting Goppa codes. ADV. Math. 2022. [Google Scholar] [CrossRef]
  21. Li, X.; Yue, Q. Construction of expurgated and extended Goppa codes with dihedral automorphism groups. IEEE Trans. Inf. Theory 2022, 68, 6472–6480. [Google Scholar] [CrossRef]
  22. 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]
  23. Bezzateev, S.; Shekhunova, N. Totally decomposed cumulative Goppa codes with improved estimations. Des. Code Cryptogr. 2019, 87, 569–587. [Google Scholar] [CrossRef]
  24. 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]
  25. Younis, A.; Serafimovski, N.; Mesleh, R.; Haas, H. Generalised spatial modulation. In Proceedings of the 2010 Conference Record of the Forty Fourth Asilomar Conference on Signals, Systems and Computers, Pacific Grove, CA, USA, 7–10 November 2010; pp. 1498–1502. [Google Scholar]
  26. Barry, J.R.; Lee, E.A.; Messerschmitt, D.G. Digital Communication, 3rd ed.; Springer: New York, NY, USA, 2004; ISBN 978-1-4615-0227-2. [Google Scholar]
Figure 1. System model of the DGC-GSM scheme.
Figure 1. System model of the DGC-GSM scheme.
Electronics 12 02404 g001
Figure 3. Performance of our proposed system utilizing C S 16 ,   8 ,   5 and C R 16 ,   4 ,   7 with different selection algorithms.
Figure 3. Performance of our proposed system utilizing C S 16 ,   8 ,   5 and C R 16 ,   4 ,   7 with different selection algorithms.
Electronics 12 02404 g003
Figure 4. Performance of our proposed system utilizing C S 32 ,   17 ,   7 and C R 32 ,   12 ,   9 with different selection algorithms.
Figure 4. Performance of our proposed system utilizing C S 32 ,   17 ,   7 and C R 32 ,   12 ,   9 with different selection algorithms.
Electronics 12 02404 g004
Figure 5. Performance of our proposed system utilizing C S 16 ,   8 ,   5 and C R 16 ,   4 ,   7 with the optimal algorithm in the case of different NT and NR.
Figure 5. Performance of our proposed system utilizing C S 16 ,   8 ,   5 and C R 16 ,   4 ,   7 with the optimal algorithm in the case of different NT and NR.
Electronics 12 02404 g005
Figure 6. Performance of our proposed system utilizing C S 32 ,   17 ,   7 and C R 32 ,   12 ,   9 with the locally optimized algorithm in the case of different NT and NR.
Figure 6. Performance of our proposed system utilizing C S 32 ,   17 ,   7 and C R 32 ,   12 ,   9 with the locally optimized algorithm in the case of different NT and NR.
Electronics 12 02404 g006
Figure 7. Performance of our proposed system utilizing C S 16 ,   8 ,   5 and C R 16 ,   4 ,   7 with the optimal algorithm in the case of different NR.
Figure 7. Performance of our proposed system utilizing C S 16 ,   8 ,   5 and C R 16 ,   4 ,   7 with the optimal algorithm in the case of different NR.
Electronics 12 02404 g007
Figure 8. Performance of our proposed system utilizing C S 32 ,   17 ,   7 and C R 32 ,   12 ,   9 with the locally optimized algorithm in the case of different NR.
Figure 8. Performance of our proposed system utilizing C S 32 ,   17 ,   7 and C R 32 ,   12 ,   9 with the locally optimized algorithm in the case of different NR.
Electronics 12 02404 g008
Figure 9. Performance of the proposed system utilizing C S 16 ,   8 ,   5 and C R 16 ,   4 ,   7 with the optimal algorithm under different S-R links.
Figure 9. Performance of the proposed system utilizing C S 16 ,   8 ,   5 and C R 16 ,   4 ,   7 with the optimal algorithm under different S-R links.
Electronics 12 02404 g009
Figure 10. Performance of the proposed scheme and the non-cooperative system using C S 32 ,   17 ,   7 and C R 32 ,   12 ,   9 with the locally optimized algorithm.
Figure 10. Performance of the proposed scheme and the non-cooperative system using C S 32 ,   17 ,   7 and C R 32 ,   12 ,   9 with the locally optimized algorithm.
Electronics 12 02404 g010
Figure 11. Performance of the proposed DGC-GSM and the existing system [5].
Figure 11. Performance of the proposed DGC-GSM and the existing system [5].
Electronics 12 02404 g011
Figure 12. Performance of the DGC-GSM using Algorithm 3 and the existing decoding strategy [24].
Figure 12. Performance of the DGC-GSM using Algorithm 3 and the existing decoding strategy [24].
Electronics 12 02404 g012
Figure 13. Performance of the proposed DGC-GSM and its benchmark using C S 16 ,   8 ,   5 and C R 16 ,   4 ,   7 with the optimal algorithm.
Figure 13. Performance of the proposed DGC-GSM and its benchmark using C S 16 ,   8 ,   5 and C R 16 ,   4 ,   7 with the optimal algorithm.
Electronics 12 02404 g013
Figure 14. Performance of the proposed DGC-GSM and its benchmark using C S 32 ,   17 ,   7 and C R 32 ,   12 ,   9 with the locally optimized algorithm.
Figure 14. Performance of the proposed DGC-GSM and its benchmark using C S 32 ,   17 ,   7 and C R 32 ,   12 ,   9 with the locally optimized algorithm.
Electronics 12 02404 g014
Table 1. Comparison between the proposed work and the state-of-the-art literature.
Table 1. Comparison between the proposed work and the state-of-the-art literature.
Ref.Channel
Codes
Cooperative/
Non-Cooperative
MIMOOptimized
Encoding
at the Relay
Joint
Decoding
at the Destination
[13]RS codesNon-cooperativeNoNoNo
[14]RS codesNon-cooperativeNoNoNo
[16]GRS codesNon-cooperativeNoNoNo
[17]GRS codesNon-cooperativeNoNoNo
[18]GRS codesNon-cooperativeNoNoNo
[19]Goppa codesNon-cooperativeNoNoNo
[20]Goppa codesNon-cooperativeNoNoNo
[21]Goppa codesNon-cooperativeNoNoNo
[23]Goppa codesNon-cooperativeNoNoNo
[24]RS codesCooperativeSMNoYes
This workGoppa codesCooperativeGSMYesYes
Table 3. Parameters and selection patterns corresponding to different distributed Goppa codes.
Table 3. Parameters and selection patterns corresponding to different distributed Goppa codes.
No.Distributed Goppa Codes Λ G(z) p opt p loc
1 C S 16 ,   8 ,   5 { 1 , β 2 , β 3 , β 4 , β 5 , β 6 , β 7 , β 8 , β 9 , β 10 , β 11 , β 12 , β 13 , β , β 14 , 0 } z 2 + z + β 6 [1, 3, 5, 6][1, 4, 5, 6]
C R 16 ,   4 ,   7 z 3 + z + 1
2 C S 32 ,   17 ,   7 { 0 , 1 , γ , γ 2 , , γ 30 } z 3 + γ z + 1 [1, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
C R 32 ,   12 ,   9 z 4 + γ z + γ
Table 4. Simulation parameters.
Table 4. Simulation parameters.
ParametersSpecification
Source codes C S 16 ,   8 ,   5 , C S 32 ,   17 ,   7
Relay codes C R 16 ,   4 ,   7 , C R 32 ,   12 ,   9
Equivalent code rate in the D1/4, 17/64
MIMO configurationGSM:   N T = 5 ,   7 ,   N u = 2 , N R = 3 ,   4 ,   5 ,   6 ,   8
SM:   N T = 8 , N R   = 4 ,   6 , 8
Modulation order4-QAM
Channel modelSlow Rayleigh fading Channel
Detection approachMLD
Decoding algorithmEuclidean decoding algorithm
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhao, C.; Yang, F.; Waweru, D.K.; Chen, C.; Xu, H.; Luo, L. Distributed Goppa-Coded Generalized Spatial Modulation: Optimized Design and Performance Study. Electronics 2023, 12, 2404. https://doi.org/10.3390/electronics12112404

AMA Style

Zhao C, Yang F, Waweru DK, Chen C, Xu H, Luo L. Distributed Goppa-Coded Generalized Spatial Modulation: Optimized Design and Performance Study. Electronics. 2023; 12(11):2404. https://doi.org/10.3390/electronics12112404

Chicago/Turabian Style

Zhao, Chunli, Fengfan Yang, Daniel Kariuki Waweru, Chen Chen, Hongjun Xu, and Lin Luo. 2023. "Distributed Goppa-Coded Generalized Spatial Modulation: Optimized Design and Performance Study" Electronics 12, no. 11: 2404. https://doi.org/10.3390/electronics12112404

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