Skip to main content

Codebook-based precoding for generalized spatial modulation with diversity


This paper investigates codebook-based precoding for spatial modulation (SM) and generalized spatial modulation (GSM) systems. Codebook-based precoding allows the system to dispense with full channel state information at the transmitter (CSIT). This considerably reduces the feedback overhead. Phase-only codebooks with systematic structure are investigated since they avoid increasing the peak to average power ratio of the transmitted signal. It is shown that the proposed phase-only codebooks yield equivalent performance to published codebooks that involve gain and phase. In addition, a gain-only codebook is designed to supplement the phase-only codebook and reduce the bit error rate (BER) further. We also compare the performance with the Grassmannian codebooks which are proposed for other multiple-in-multiple-out (MIMO) systems. In GSM systems, several antennas are simultaneously active as a transmit antenna combination (TAC). The BER performance of unprecoded GSM systems is typically inferior to SM systems due to correlation among TACs. However, with codebook precoding, this effect is mitigated, and the performance of the GSM system becomes superior to the SM system. We investigate codebook precoding for GSM systems where precoding is performed per-TAC or per-antenna. Moreover, we investigate the GSM system where the TACs are selected adaptively based on the achievable benefit from codebook precoding. Using computer simulation, it is shown that the performance of the proposed codebooks is very promising in both SM and GSM systems. Per-antenna precoding is superior to per-TAC precoding. Adaptive TACs selection further improves performance.


One of the main goals of the fifth-generation mobile communication (5G) systems is to considerably increase the data rate. Among the technologies to achieve this goal is the enhancement of multiple-input multiple-output (MIMO) antenna systems towards massive MIMO. The existing Long-Term Evolution (LTE) system employs up to 8 transmit antennas (TAs) [1]. On the other hand, 5G systems are expected to employ larger number of TAs to increase the spectral efficiency [2]. In conventional MIMO systems like spatial multiplexing (SMX) and transmit diversity (TD), all antennas transmit simultaneously, with a dedicated radio frequency (RF) chain for each antenna. The increase in the number of TAs and RF chains is a challenging complexity. Moreover, the RF consumes considerable power in the transmit chain [3]. To tackle this problem, spatial modulation (SM) has been introduced [3, 4]. In the original form of SM, the transmitter is equipped with Nt > 1 TAs, where Nt is a power of 2. Only one RF chain that can switch among these antennas is employed. At every transmission, instant K bits are transmitted, where K = log2(Nt) + log2(M). The first log2(Nt) bits are used to select the index of the TA to be activated (i.e., connected to the RF chain). The last log2(M) bits are used to select a conventional amplitude-phase modulation (APM) symbol (e.g., M-QAM) for transmission from the active antenna. The receiver, having full knowledge of the channel state information (CSI), must detect the index of the TA and the transmitted APM symbol. The advantages and disadvantages of SM are detailed in [3, 5,6,7].

An important variant of SM is the generalized spatial modulation (GSM) [8,9,10]. GSM employs the concept of transmit antenna combination (TAC). When the number of TAs Nt is small, the available antennas are grouped into Nc TACs, where each TAC includes Na active antennas. Hence, the number of TACs Nc is given by \( {N}_c={2}^{\left\lfloor {\log}_2\left(\begin{array}{c}{N}_t\\ {}{N}_a\end{array}\right)\right\rfloor } \), where x is the floor of x, and \( \left(\begin{array}{c}m\\ {}n\end{array}\right)=\frac{m!}{n!\kern0.5em \left(m-n\right)!} \). For example, if Nt = 5 and Na = 2, the number of TACs Nc = 8. Hence, in GSM 3 bits are used to select the active TAC, instead of the active antenna in SM. This provides the same spectral efficiency as an SM system with Nt = 8. However, since there is an overlap of antennas in different TACs, their corresponding channels become correlated. This is a source of error in detecting the TAC at the GSM receiver [10], which makes unprecoded GSM systems inferior to SM systems.

One major challenge that confronts SM and GSM systems is the possible instantaneous similarity between CSI taps. In SM, the CSI taps are generally statistically independent. However, during some transmission instants the CSI from different TAs could be similar. This causes the minimum Euclidean distance (MED) among the received symbols to be small, which increases detection errors in the receiver. This problem is more evident in GSM, where TACs are already correlated. Solutions for this problem have been the subject of considerable investigation in the literature. One of the most promising solutions is the employment of transmit precoding techniques [2, 4,5,6]. Transmit precoding is a well-known technique that is already used in MIMO systems in LTE [1]. Considerable research has been done in the past few years to develop precoding algorithms for SM and GSM to reduce the bit error rate (BER).

Transmit precoding techniques can be categorized based on their CSI requirements. Specifically, most proposed transmit precoding techniques in the literature require full knowledge of the CSI at the transmitter (CSIT). In [11], two transmit precoding techniques are proposed for SM and GSM. Both techniques rely on CSIT to optimize precoder. In the first technique, the objective function is the MED among precoded constellation points. The MED is maximized under the constraint that the total power of the precoders is fixed. This technique is denoted as the maximum-minimum distance (MMD). In the second technique, the objective function is the total power of the precoders. Here, the goal is to minimize the objective function under the constraint of a guaranteed Euclidean distance (GED). Both the MMD and GED techniques provide significant BER performance improvement compared to the unprecoded systems. The research in [12] compares two different optimization goals. Similar to [11], the first goal is to maximize the MED, while the second goal is to directly minimize the BER. It is found that minimizing the BER provides better performance than maximizing the MED, at the cost of extra complexity. Recently, the work of [13] developed a reduced complexity version of the GED algorithm of [11], with the same BER performance of SM and GSM. This is achieved by employing augmented Lagrangian (AL) with dual ascent optimization [13]. In [14], a precoding algorithm is developed for SM under per-antenna power constraint: strict per-antenna power constraint, and average per-antenna power constraint. The goal of power constraint is to reduce the peak to average power ratio (PAPR). In [15], a GSM precoder is designed to maximize the mutual information between the discrete channel input, i.e., the transmitted symbols, and the channel output. In [16], two forms of precoders are considered for GSM. The first is based on diagonalizing the channel using singular value decomposition (SVD). The second is based on the pseudo-inverse of the channel. In [17], analog precoding is considered for GSM in millimeter wave channels. Since precoding is performed in the analog domain phase-only precoding is assumed. Similar to [15], the precoder is designed to maximize the mutual information between the channel input and channel output. The research in [18] also considers a GSM system for the millimeter wave channel. However, a hybrid precoder is assumed with both analog and digital precoders. The analog, phase-only, precoder is used in the RF chain, while a complex values precoder is implemented digitally. Similar to [15, 17], the precoders are designed to maximize the mutual information. The work in [19] by the same authors of [18] provides another version of the hybrid precoder that focuses on GSM with SMX to increase the spectral efficiency. Finally, in [20], four precoding methods are proposed for GSM. The first method is based on grouping the TAs having similar impulse response. The second method applies SVD to the channel matrix and selects the TACs based on their singular values. The third method applies DFT before SVD then TACs are selected. The fourth method is based solely on precoding with selected columns of the DFT matrix.

There are two challenging assumptions in all previously outlined precoding methods: (1) the need for full CSIT, and (2) the high complexity requirement. CSIT may be readily available in time division duplex (TDD) systems, where the uplink and downlink channels are reciprocal. However, the RF front-end may not be similar in the transmitter and receiver. This can adversely affect the CSIT reciprocity of the uplink and downlink. In frequency division duplex (FDD) systems, CSIT requires feedback from the receiver to the transmitter. This may consume considerable uplink bandwidth, especially with large number of transmit and receive antennas. Moreover, all the previously outlined methods employ the CSIT to design an optimum precoder. This is typically achieved through iterative optimization techniques that usually suffer from high complexity and little compatibility with parallel processing.

To eliminate the requirement of full CSIT and considerably reduce complexity, several papers consider codebook-based precoders with limited feedback. Almost all these papers are devoted for SM. GSM received very little attention in that regard. A codebook, consisting of sufficient number of codewords, is shared by the transmitter and receiver. The receiver employs the CSI to select the best codeword and feeds-back its index to the transmitter. Hence, the feedback overhead is minimized. The work in [21] proposes an SM precoding method that is based on increasing the ED between only the two constellation points with MED. The receiver finds the antenna pair with MED. Then, it selects a quantized gain for one of the two antennas and a quantized phase difference between the two antennas that maximize the MED. The receiver feeds-back four indexes to the transmitter: the two indexes of the antenna pair, the index of the selected gain, and the index of the phase difference. This method is denoted as transmit precoding (TPC). Despite its simplicity, the TPC method improves the BER performance considerably. The work in [22] modifies the TPC method to provide gain precoding only, i.e., without phase precoding. This slightly reduces the feedback overhead at the cost of some performance degradation. In [23], an algorithm employing the Lloyd algorithm is presented to design a precoding codebook. The codewords are matched to a large set of training CSI realizations. Starting with an initial codebook, each CSI realization is associated with the nearest codeword. Then, each codeword is optimized for its associated subset of training CSI realizations using the centroid criterion. The updated codewords are considered an initial codebook for the next iteration. Another codebook design is presented in [24], where a codebook is generated from complex Gaussian random variables with zero mean and unit variance. The codewords are normalized for a fixed total power. It is shown that even this randomly generated codebook provides a modest BER performance improvement compared to the SM without precoding. The work in [25, 26] presents codebook-based precoding for space shift keying (SSK) system, which is a simplified version of SM where the information is transmitted through the TA index only. On the other hand, the work in [27] presents codebook-based precoding for SM systems where several phase-only and gain-only codebooks are investigated. This work does not consider GSM systems. Finally, in [28], a phase-only codebook is designed for GSM operating in line-of-sight millimeter wave channels. The codebook is based on DFT matrix and a moderate performance gain is achieved. To the best of the author’s knowledge, there is no work that investigates codebook precoding for GSM systems in non-line-of-sight Rayleigh fading channels.

Several other works in the literature attempt to improve the performance of SM and GSM systems without employing precoding. For example, the work in [29] considers fully generalized SM (F-GSM) system where the number of active antennas Na is allowed to change from 1 to Nt. All active antennas transmit the same APM symbol. The same work also introduces the full-quadrature SM (F-QSM) system. In this system, the real and imaginary parts of the APM symbol are transmitted on different set of antennas. Similar to F-GSM, the set may include from 1 to Nt antennas. The F-GSM and F-QSM are shown to improve the spectral efficiency and reduce the BER. The work in [30] employs signal space diversity (SSD) to improve the BER performance of the conventional SM system. SSD involves phase rotation of the AMP symbols such that each bit is represented in both the real and imaginary parts of the symbol. This is followed by interleaving the imaginary parts of two successive symbols. Using this formulation, transmit diversity is achieved and the BER is reduced. In [31], a new optimized bit-to-symbol mapping method is introduced for the case of single receive antenna. The method assumes partial CSIT knowledge. The main concept is to reduce the Hamming distance between SM symbols with close Euclidean distance. To achieve this goal, TA selection bits are mapped based on the magnitude of the channel gain, while modulation baits are mapped to PSK symbols based on the phase of the channel. Using this approach, a significant BER reduction is achieved.

It can be concluded from the aforementioned background that SM and GSM precoding techniques that dispense with full CSIT did not receive sufficient attention in the literature. These methods are important and deserve further investigation and development. Hence, this paper investigates codebook-based SM and GSM precoding. The advantages of the codebook-based precoding can be summarized as follows:

  • There is no need for full CSIT.

  • Searching the codebook for the best codeword is simple and can be done using parallel processing.

  • BER performance is significantly better than SM or GSM without precoding.

In this paper, we investigate several codebooks with systematic structure that is easy to generate. The set of the antenna gains that constitute the codewords is limited. This allows efficient hardware implementation of the digital complex multipliers. Since the set of gains is predefined and limited, multiplication with the APM symbols can be implemented as a look-up table. Specifically, the contribution of the paper can be summarized as follows:

  1. 1-

    The paper investigates the performance of phase-only codebooks, including Walsh-Hadamard and quasi-orthogonal sequences.

  2. 2-

    The paper presents a design for a gain-only codebook and investigates its performance.

  3. 3-

    The performance of the combined use of the phase-only and gain-only codebooks is investigated. We show that they exceed published literature results.

  4. 4-

    The performance of Grassmannian line packing codebooks, which are frequently used by other MIMO systems, is compared to the previous codebooks.

  5. 5-

    We compare two schemes of precoding for GSM: per-antenna precoding and per-TAC precoding. We show that per-antenna precoding is superior to per-TAC precoding.

  6. 6-

    We propose a system where the GSM TAC-set is selected adaptively. The receiver selects the specific TAC-set that provides the best precoded performance. Its index is fed-back to the transmitter alongside the codeword index.

  7. 7-

    Complexity analysis of the process of selecting the best codeword is provided.

Compared to our work in [27], contributions 4, 5, 6, and 7 above are new in the current paper. We show by simulation that the BER performance with the phase-only codebook and gain-only codebook, separately, is similar to the published codebook-based precoders performance for SM, with equal number of feedback bits. The BER performance is improved further with the employment of the combined codebook, with the cost of few extra feedback bits. The Grassmannian line packing codebook provides inferior performance to the proposed codebooks. For the case of GSM, it is shown that per-antenna precoding provides better performance than per-TAC precoding since it has the potential of extra diversity gain. When the best TAC-set is adaptively selected the GSM system performance increases further.

The paper is organized as follows. The next section presents the GSM system model with codebook precoding, for which SM is a special case. Section 3 clarifies the method for selecting the best codeword from the codebooks. Sections 4 and 5, respectively, introduce the phase-only and gain-only codebooks employed in this paper and how they are generated. Section 6 presents the general complex (gain and phase) codebooks. Section 7 discusses the computational complexity required to select the best codeword. Section 8 is devoted for the simulation results and compares with published results. The last section concludes the paper.

Notation: (.), (.)T, and (.)H indicate conjugate, transpose, and Hermitian transpose, respectively. Boldface upper-case and lower-case letters denote matrices and vectors, respectively. Italic upper-case or lower-case letters represent scalar variables. The notation diag(x) denotes a diagonal matrix with the vector x in its diagonal. The notation x refers to the Euclidean norm of the vector x. The notation \( \overline{\mathbf{x}} \) refers to the mean of the vector x.

System model of GSM with codebook precoding

The GSM system model under consideration is shown in Fig. 1. The transmitter, which is equipped with Nt TAs, is capable of activating Na antennas simultaneously, where Nt > Na ≥ 1. For SM systems Na = 1 and Nt is a power of 2. The Nt TAs are grouped in transmit antenna combinations (TACs). Each TAC includes Na antennas. There are \( {N}_{\mathrm{tac}}=\left(\begin{array}{c}{N}_t\\ {}{N}_a\end{array}\right) \) ways of choosing Na different antennas from the available Nt antennas. The GSM system employs only Nc ≤ Ntac TACs, where Nc should be a power of 2. Hence, Nc is given by \( {N}_c={2}^{\left\lfloor {\log}_2{N}_{\mathrm{tac}}\right\rfloor } \).

Fig. 1
figure 1

System model of SM with codebook precoding

Consequently, there are \( {N}_{\mathrm{set}}=\left(\begin{array}{c}{N}_{\mathrm{tac}}\\ {}{N}_c\end{array}\right) \) possible TAC-sets, and the GSM system employs one of them. Each TAC-set contains Nc TACs. The list of antenna indexes in the kth TAC is denoted as Il,k, where the subscript l refers to the TAC-set index, while the subscript k refers to the TAC index within the lth set.

As a specific example, if Nt = 4 and Na = 2, there are Ntac = 6 TACs with antenna indices {{0, 1}, {0, 2}, {0, 3}, {1, 2} {1, 3}, {2, 3}}. The GSM system employs only Nc = 4 TACs. There are Nset = 15 possible TAC-sets that can be used. The first set can be {I0,0={0, 2}, I0,1={0, 3}, I0,2={1, 2}, and I0,3={1, 3}}. The second set can be {I1,0={0, 1}, I1,1={0, 3}, I1,2={1, 2}, I1,3={2, 3}}. The 15 sets are listed in Table 1 for clarity.

Table 1 TAC-sets for GSM with Nt = 4, Na = 2

The GSM system can either permanently use one of the TAC-sets {Il,k} (i.e., the index l is fixed), or the GSM receiver adaptively selects the set {Il,k} and feeds-back the index l to the transmitter alongside the precoding codeword index. If the TAC-set is fixed, the set l is selected such that the antenna overlap among Il,k, k=0, 1, …, Nc−1, is minimized [8, 9].

In the previous example, one good choice is {I0,k, k = 0, 1, 2, 3}, where each antenna is included in two TACs only. On the other hand, the set {I14,k} is not favorable since antenna 0 is used in 3 TACs. For Nt = 5 and Na = 2 we have Nc = 8. The first TAC-set can be selected as {I0,k, k = 0, 1, …, 7}={{0, 2}, {0, 3}, {0, 4}, {1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}}. In this case, each antenna is overlapped 3 times, except antenna 2, which is overlapped 4 times. For arbitrary values of Nt and Na, a method is described in [19] to select the TACs with minimum overlap. The case of adaptive selection of the TAC-set is presented in the next section. For the convenience of notation, for the remainder of this section, we will drop the index of the TAC-set and use Ik as the set of antennas in the kth TAC in the selected TAC-set.

There are two main GSM schemes in the literature: GSM with multiplexing and GSM with diversity. In the first scheme, at each transmission instant, Na APM symbols are transmitted simultaneously from the Na active antennas [10, 13, 15, 16]. In the second scheme, only one APM symbol is transmitted from the Na active antennas [8, 9, 11, 20, 32]. One common goal for both schemes is to increase the number of TACs, which is particularly useful when Nt is small, as explained in the first section of this paper. An additional goal for the GSM multiplexing scheme is to increase the transmission rate Na times. This comes at the cost of increased interference and higher receiver complexity. On the other hand, the GSM diversity scheme, with proper precoding, increases the diversity order and reduces the BER.

In this paper, we employ the GSM scheme with diversity. One TAC-set, including Nc TACs, is selected for transmission. One APM symbol is selected for transmission from all Na antennas in the TAC (i.e., rank 1 transmission). In the transmitter side, K = log2(Nc) + log2(M) bits are taken every transmission instantly. The first log2(Nc) bits select the index of one TAC for transmission. The next log2(M) bits select one of M-ary APM complex symbols sm (e.g., M-ary QAM). The M-ary symbols are normalized such that E[|sm|2] = 1. To normalize the transmission power, the selected symbol sm is divided by a factor \( \sqrt{N_a} \) before transmission from the selected TAC.

A precoding vector p is employed to precode the GSM signal before transmission. The precoder p is a selected codeword from a codebook that is known to the receiver and transmitter. The receiver selects the codeword p and feeds-back the index of the selected codeword to the transmitter (feedback is not shown in Fig. 1). In this paper, we consider two methods for precoding:

Combination precoding (CP): this is shown in Fig. 2a, where one element of the precoder p multiplies the whole TAC. Hence, the codeword length is Np = Nc with power constraint p2 = Np.

Fig. 2
figure 2

Precoding the TAC, (a) combination precoding and (b) full precoding

Full precoding (FP): this is shown in Fig. 2b. In this case each antenna in the TAC is multiplied by a different codeword element. Hence, the codeword length is Np = NcNa with power constraint p2 = Np.

The signal is transmitted through a frequency non-selective Rayleigh fading channel whose CSI is represented by the (Nr×Nt) matrix H. Elements of H are independent and identically distributed (i.i.d.) complex Gaussian random variables with zero mean and unit variance. The CSI can be written as \( \mathbf{H}=\left[{\mathbf{h}}_0,\kern0.5em {\mathbf{h}}_1,\kern0.5em \dots, \kern0.5em {\mathbf{h}}_{N_t-1}\right] \), where the vector hn is the nth column of H. When symbol sm, m = 0, 1, …, M−1, is transmitted from the kth TAC, k = 0, 1, …, Nc-1, the received signal can be written as

$$ \mathbf{r}={\mathbf{v}}_{k,m}+\mathbf{w} $$

In (1), the (Nr×1) complex vector w represents the additive white Gaussian noise (AWGN) whose elements are i.i.d. with zero mean and variance 1/γ , where γ is the average signal to noise ratio (SNR) per receiving antenna. The (Nr×1) vector vk,m is denoted as the constellation vector, which is the noise-free received vector when transmitting symbol sm from the kth TAC of the selected TAC-set. Referring to Figs. 1 and 2, vk,m is given by

$$ {\mathbf{v}}_{k,m}=\left\{\begin{array}{cc}\frac{p_k{s}_m}{\sqrt{N_a}}\sum \limits_{j=0}^{N_a-1}{\mathbf{h}}_{I_k\left\{j\right\}}& \mathrm{for}\kern0.5em \mathrm{CP}\\ {}\frac{s_m}{\sqrt{N_a}}\sum \limits_{j=0}^{N_a-1}{p}_{j+{kN}_a}{\mathbf{h}}_{I_k\left\{j\right\}}& \mathrm{for}\kern0.5em \mathrm{FP}\end{array}\right. $$

In (2), Ik{j} is the actual jth transmit antenna index in the kth TAC. As a clarification example, in the first TAC-set in Table 1 (i.e., the first column), if k = 3 (i.e., the last TAC) we get Ik{0} = 1 and Ik[1] = 3. For convenience of notation the constellation vector in (2) is rewritten as

$$ {\mathbf{v}}_n\equiv {\mathbf{v}}_{k,m},\kern1em n={mN}_c+k $$

Using the Nv = M Nc possible constellation vectors we can form the (Nr × Nv) constellation matrix V, which is given by:

$$ \mathbf{V}=\left[{\mathbf{v}}_0,{\mathbf{v}}_1\dots, {\mathbf{v}}_n,\dots {\mathbf{v}}_{N_v-1}\right],\kern1em n={mN}_c+k $$

Since the receiver has full knowledge of the CSI, the precoding vector p and the selected TAC-set it can prepare the constellation matrix V. In this paper, we assume that the receiver employs maximum likelihood (ML) detection criteria [33] to detect the received signal (1). The receiver selects the column from (4) with MED to the received vector of (1), i.e., :

$$ \left\{\hat{k},\hat{m}\right\}=\underset{\begin{array}{l}k=0,1,\dots, {N}_c-1\\ {}m=0,1,\dots, M-1\end{array}}{\min}\left({\left\Vert \mathbf{r}-{\mathbf{v}}_{k,m}\right\Vert}^2\right) $$

From the detected antenna and symbol indices \( \left\{\hat{k},\hat{m}\right\} \) the transmitted bits are reproduced. Using ML detection, the union bound of the BER is given by [33]

$$ {P}_e\le \frac{2}{N_v{\log}_2{N}_v}\sum \limits_{i=0}^{N_v-1}\sum \limits_{j=i+1}^{N_v-1}{D}_{i,j}\;Q\left(\sqrt{\frac{\gamma }{2}{\left\Vert {\mathbf{v}}_i-{\mathbf{v}}_j\right\Vert}^2}\right) $$

In (6), Di, j is the number of bit errors if a transmitted vector vi is erroneously detected as vj, and Q(.) is the Q-function, defined as \( Q(x)=\frac{1}{\sqrt{2\pi }}\underset{x}{\overset{\infty }{\int }}\exp \left(\frac{-{u}^2}{2}\right) du \). Note that if Na = 1 and Nt is a power of 2, the GSM system reverts back to the SM system.

Codeword and TAC-set selection

Codeword selection

Here, we first assume that the TAC-set is fixed, and the receiver needs to select the best codeword in the shared codebook. As described in the previous section, a codeword p is used in the transmitter for precoding the transmitted signal in (1) and also used in the receiver ML detection in (5). Hence, careful selection of the codeword p is critical for the performance of the GSM system. Since the Q-function rapidly decays with an increasing argument, the BER bound of (6) is dominated by the term with smallest argument of the Q-functions. Hence, to reduce (6) the MED between pairs of constellation vectors in (4) should be maximized. In most of the published literature, this is done at the transmitter by optimizing the precoder p based on the knowledge of the CSIT [11,12,13]. To avoid the need for CSIT, and due to the advantages mentioned earlier, in this paper we adopt the codebook-based precoding. The transmitter and receiver share the same codebook(s). Only the receiver needs full CSI knowledge to select the best codeword(s). The receiver feeds-back the selected index to the transmitter. We assume sufficiently slow fading channel such that, given the reverse channel bandwidth, the feedback rate is feasible. This is the same concept employed in codebook based SMX in LTE and 5G [1].

Let P be the (Np×B) shared codebook matrix which includes B codewords arranged in columns (i.e., the codebook size is B). The receiver selects from the codebook P the best codeword \( \tilde{\mathbf{p}} \) that maximizes the MED as follows:

$$ \tilde{\mathbf{p}}=\arg \underset{\mathbf{p}\in \mathbf{P}}{\max}\left(\underset{i\ne j}{\min}\left({\left\Vert {\mathbf{v}}_i-{\mathbf{v}}_j\right\Vert}^2\right)\right) $$

The receiver feeds-back to the transmitter log2(B) bits with the index of the best codeword. In the next section, we present several candidate codebooks that we consider in this paper.

TAC-set adaptive selection

In addition to codeword selection, the GSM system can employ adaptive TAC-set selection. In this case, a number Nset,max ≤ Nset of TAC-sets is shared between the transmitter and the receiver. The receiver selects the specific TAC-set and feeds-back its index to the transmitter with the selected codeword index. For example, and referring to Table 1, the GSM system may select one TAC-set from the first Nset,max = 2, 4, 8 or 15 TAC-sets from Table 1. The selected TAC-set is signaled to the transmitter through log2(Nset,max) feedback bits.

Recall that Equations (2) to (7) are for a specific fixed TAC-set, where we dropped the index l of the TAC-set, i.e., we used Ik in lieu of Il,k . Returning back the index of the TAC-set, the constellation vectors in (3) should be denoted as vl,n. Consequently, joint selection of the best codeword \( \tilde{\mathbf{p}} \) and the best TAC-set index \( \tilde{l} \) is given by

$$ \tilde{l},\tilde{\mathbf{p}}=\arg \underset{\begin{array}{c}\mathbf{p}\in \mathbf{P},\\ {}l\in \left\{0,1,\dots {N}_{\mathrm{set},\max }-1\right\}\end{array}}{\max}\left(\underset{i\ne j}{\min}\left({\left\Vert {\mathbf{v}}_{l,i}-{\mathbf{v}}_{l,j}\right\Vert}^2\right)\right) $$

An important design aspect is the selection of the TAC-sets to be considered in the search. As mentioned in Section 2, we should select first the TAC-sets with minimum overlap among their antennas. From these sets, we select the TAC-sets with minimum overlap among their TACs. Referring to Table 1, each of the first 3 TAC-sets (I0,k , I1,k and I2,k, k = 0, 1, 2, 3) has 2 overlapping antennas within the TAC-set. There is no TAC overlap among these TAC-sets. To select more TAC-sets, we allow for more overlap among the antennas in the same TAC-set, then we add TAC-sets with minimum TACs overlap with the previously selected TAC-sets. Obviously, the best order of the TAC-sets is not unique. Table 2 shows an example of the first 16 TAC-sets for Nt = 5 and Na = 2 where the previously explained order is used.

Table 2 TAC-sets for GSM with Nt = 5, Na = 2

Phase-only codebooks

In this section, we present two codebooks that include phase rotation only: Walsh-Hadamard (WH) codebook and quaternary quasi-orthogonal sequences (QOS) codebook. Phase-only codebooks are used in 5G systems [1] since they provide significant performance gain over unprecoded systems with low complexity and without increasing the PAPR. Our goal is to employ efficient codebooks with widely diverse codewords such that, given any CSI realization, there is a high probability to find a codeword that is close in Euclidean distance to the optimum precoder. Another goal is to employ codebooks with a systematic structure where a limited set of gains and phases are used to build the codewords. This leads us to the logical choice of employing an orthogonal matrix to be the basis of the codebook. The orthogonality property itself is not directly important. The zero or low correlation among the codewords makes them as different as possible, which increases the chance of finding a codeword that increases the MED.

Define α as the rotation angle that wraps around the AMP constellation points to the same points (regardless of the bit to symbol mapping). For M-ary QAM, α = π/2, while for M-ary PSK, α = 2 π/M. Phase rotation of one TA by (where n is any integer) does not change the MED in (7) with respect to any other TA. Hence, the phase angles of the phase-only codebooks have to be modified as explained below.

Walsh-Hadamard (WH) codebook consists of Bϕ=Np codewords of length Np, where Np is a power of 2. Since the elements of the WH matrix are ± 1, it provides phase rotation by 0 and π. Hence, the WH codebook P is formed by converting all elements of value -1 of the WH matrix to exp(j α/2). The WH codebook is desirable when reducing the number of feedback bits is critical.

Quaternary quasi-orthogonal sequences (QOS) codebook are first proposed for code division multiple access (CDMA) systems to provide additional spreading codes to increase the CDMA system capacity. A set of QOSs is generated by multiplying all columns of the WH matrix by a masking function. Good masking functions are typically found with the aid of extensive computer search. In this paper, we employ quaternary QOS (i.e., 4 phases) designed in [34]. Table 6 of [34] provides 4 masking functions for codeword length 8 ≤ Np ≤ 256. For Np = 4 we develop 4 masking functions in the same manner. Using the 4 masking functions, we generate a codebook of size Bϕ ≤ 4Np. QOS from the same masking function are orthogonal, while QOS from different masking functions have \( \sqrt{N_p} \) correlation. Elements of the QOS take values from {+1, +j, -1, -j}. To form the QOS codebook P, these values are converted into {exp(j n α/4),  n = 0, 1, 2, 3}, respectively.

One weakness of the phase-only codebooks is clear from its name, phase rotation only. In case of SM systems, or GSM-CP systems, phase rotation cannot increase the MED if the MED is between constellation vectors emanating from the same antenna, but with different symbols. Referring to (2), if the two constellation vectors with MED have the same index k (i.e., same antennas in SM system or same TAC in GSM system with CP) but different m, phase rotation cannot improve the MED.

Gain-only codebook

In this section, we design a gain-only (i.e., positive real elements) codebook with codebook size Bg. We denote this codebook by G to distinguish from the phase-only codebook P. The codewords are gm, m = 0, 1, …, Bg−1. The goal is to build G with a limited set of gain elements {gl, l=0, 1, …, L-1} satisfying gmin < gl < gmax. The pairwise correlation coefficient ρ between any two codewords is upper limited by ρ < ρmax. For any two codewords gm and gn of length Np, the Pearson correlation coefficient is given by

$$ \rho =\left|\frac{{\mathbf{g}}_m^T\;{\mathbf{g}}_n/{N}_p-{\overline{\mathbf{g}}}_m\;{\overline{\mathbf{g}}}_n}{\sqrt{\left(1-{\left({\overline{\mathbf{g}}}_m\right)}^2\right)\left(1-{\left({\overline{\mathbf{g}}}_n\right)}^2\right)}}\right| $$

where \( \overline{\mathbf{g}} \) is the mean of the vector g. To design the codebook G, we first select five parameters:

  • The number of desired codewords Bg

  • The number of quantized gain levels, L

  • The minimum allowed gain value,gmin < 1

  • The maximum allowed gain value, gmax > 1, and

  • The maximum correlation coefficient, ρmax

The codebook is designed numerically with the following steps:

  1. 1-

    Form an initial codebook G1 that includes all combinations of \( {L}^{N_p} \) codewords of length Np, i.e., \( {\mathbf{g}}_m={\left[{g}_0,{g}_1,\cdots, {g}_{N_p-1}\right]}^T \), m = 0, 1, …, \( {L}^{N_p}-1 \). G1 contains all possible combinations from g0 = [1, 1, , 1]T to \( {\mathbf{g}}_{L^{N_p}-1}={\left[L,L,\cdots, L\right]}^T \).

  2. 2-

    Normalize each codeword in G1 as \( {\mathbf{g}}_m \) , such that the updated gm2 = Np. The normalized codebook, denoted as G2, contains now many identical codewords.

  3. 3-

    Eliminate from G2 all codeword duplications, keeping the first occurrence. Also eliminate any codeword with any gain element gk > gmax or gk < gmin, k=0, 1, Np-1. The updated codebook is G3.

  4. 4-

    To build the desired codebook G, we iteratively select from G3 codewords with pairwise correlation coefficient ρ < ρmax. Initially, the first codeword of G3 is g0 = [1, 1, , 1]T. The number of codewords in G3 is K, (\( K<{L}^{N_p}-1 \)) which will be updated during the iterations. The following iterative steps are performed to build G.

  1. a)

    Move the first codeword g0 = [1, 1, , 1]T from G3 to G and update K=K-1.

  2. b)

    Calculate the correlation coefficients ρm between the updated first codeword g0 and all other codewords gm, m=1, 2, …, K-1.

  3. c)

    Eliminate from G3 all codewords gm, m=1, 2, …, K-1, with ρm > ρmax . Update K = KE, where E is the number of eliminated codewords.

  4. d)

    Go to step (a) until no codewords are eliminated in step (c) (i.e., E = 0). In this case, all remaining codewords in G3 are moved to G. Denote the final number of codewords in G by B.

  5. e)

    If B > Bg, then a better codebook could be achieved with a smaller pairwise correlation. Hence, step (4) is repeated using the initial G3, but with a smaller value of ρmax.

Step 1 prepares an initial codebook whose codewords gm include all possible combinations of integers from 1 to L. In step 2, each codeword is normalized to meet the power constraints of gm2 = Np. This normalization leads to some duplicated codewords. In step 3, the duplicated codewords are eliminated. Also, any codeword that includes a gain element outside the design limit gmin < gl < gmax is eliminated. Finally, in step 4, we select codewords with pairwise correlation coefficient lower than a design limit, ρmax. Since the number of codewords after step 3 is very large, the iterative procedure in step 4 circumvents the calculation of the full correlation matrix among all codewords. The value of ρmax is selected low enough such that sufficient codewords in G3 are eliminated to reach the desired size of the codebook G. In this paper, we use L = 6; gmin = 0.2 and gmax = 1.9. The value of ρmax is adjusted to get the desired codebook size. Lower value of ρmax yields a smaller codebook size Bg. For Np = 4, we select ρmax as 0.3 and 0.6 to get Bg = 4 and 8, respectively. For Np = 8, we select ρmax as 0.12 and 0.4 to get Bg = 8 and 16, respectively. For other values of Bg, the maximum correlation ρmax is changed to get the required size. For larger values of Np ≥ 16, the size of the initial codebook G1 in step 1 (\( {L}^{N_p} \)) may be too large to be handled, depending on the available computational power. In this case, G1 is formed from the random selection of the codewords with as many codewords as possible by the computational power.

General complex values codebook

In this section, we introduce two proposed codebooks whose elements are complex. The first codebook is the combination of the previous phase-only and gain-only codebooks. The second codebook is based on Grassmannian line packing.

Combined phase and gain codebook

We employ a phase-only codebook of size Bϕ and a gain-only codebook of size Bg. A complex codebook of size B = BϕBg is formed using Hadamard product of each codeword in the phase-only codebook by each codeword in the gain-only codebook. The receiver searches the B codewords to select the best codeword using (7). Alternatively, the two codebooks can be searched successively. The phase-only codebook is searched using (7) to find the best codeword. This codeword is applied to the constellation vectors as per (2). Then, the gain-only codebook is searched using the phase-precoded the precoded constellation vectors to find the gain-only codeword. The final codeword is the Hadamard product of the selected phase-only and gain-only codewords. The advantage of this solution is to reduce the search to Bϕ + Bg codewords, instead of BϕBg codewords. Although not shown in the numerical results to limit space and avoid crowding figures, we found that the performance loss is small.

Grassmannian line packing codebook

Following the same concept mentioned earlier, we need to employ a codebook with widely separated codewords such that, given a limited codebook size, the probability of finding a good codeword is increased. This goal matches with line packing in the complex Grassmannian manifold with unitary lines (i.e., codewords). Grassmannian codebooks are recommended for space-time block coding [35] and spatial multiplexing [36, 37] MIMO systems. Here, we use the Grassmannian codebooks for SM MIMO systems. The set of codewords are selected to maximize the minimum chordal distance between any pair of codewords, i.e., the Grassmannian codebook P is built with complex unitary codewords pi according to

$$ \mathbf{P}=\underset{\left\{\mathrm{complex}\kern0.17em \mathrm{unitary}\;{\mathbf{p}}_i\right\}}{\max}\underset{i\ne j}{\min}\sqrt{\left(1-{\left|{\mathbf{p}}_i^H{\mathbf{p}}_j\right|}^2\right)} $$

Several techniques are available in the literature [38]. In this paper, we employ codebooks that are generated according to Section 4 of [39]. The complex scaling factors in this codebook are random-like, which may increase the complexity.

Complexity comparison

In this section, we calculate the complexity of the precoding process presented in this paper and compare it to one of the recently published efficient optimization methods in the literature [13]. As it is customary, complexity calculation is based on the number of complex multiplications. Here, we focus on the complexity of the receiver side for selecting the optimal codeword. All calculations that can be done once offline and stored in memory are not counted.

For each codeword, the receiver needs to calculate all constellation vectors in (2). Complex multiplications of the APM symbols sm with the codeword elements pk and the division by \( \sqrt{N_a} \) are performed offline and stored in memory. They are not repeated for each new fading channel realization. Now, we show the complexity required to test the codewords in the codebook:

  • Each constellation vector in (2) requires Nr complex multiplications for GSM-CP or NrNa complex multiplications for GSM-FP.

  • If the TAC-set is fixed, the number of constellation vectors is given by \( M\kern0.1em {N}_c=M\times {2}^{\left\lfloor {\log}_2{N}_{\mathrm{tac}}\right\rfloor } \). Otherwise, if the TAC-set selection is adaptive, the number of constellation vectors needing calculation becomes M Ntac. For example, and referring to Table 2. If the TAC-set is adaptive, we need to calculate constellation vectors corresponding to all \( {N}_{\mathrm{tac}}=\left(\begin{array}{c}5\\ {}2\end{array}\right)=10 \) TACs. When we test a specific TAC-set in (8), the constellation vectors for the \( {N}_c={2}^{\left\lfloor {\log}_2{N}_{\mathrm{tac}}\right\rfloor }=8 \) corresponding to the TACs (with the sign in each column of Table 2) are used.

  • After calculating the constellation vectors we need to apply (7) or (8). Denote the number of constellation vectors by C (C = M Nc or C = M Ntac). To calculate (7) or (8), we require \( {N}_r\frac{\left({C}^2-C\right)}{2} \) magnitude-square calculations. This is equivalent to \( {N}_r\frac{\left({C}^2-C\right)}{4} \) complex multiplications.

We add the complexity of calculating the C constellation vectors and the complexity of applying (7) or (8). The total complexity to test the B codewords is

$$ O=B\kern0.1em M\kern0.1em {N}_r\kern0.1em {\beta}_1\left({\beta}_2+\frac{1}{4}\left(M{\beta}_1-1\right)\right) $$


$$ {\beta}_1=\left\{\begin{array}{cc}{N}_c& \mathrm{Fixed}\;\mathrm{TAC}\hbox{-} \mathrm{set}\\ {}{N}_{tac}& \mathrm{Adaptive}\;\mathrm{TAC}\hbox{-} \mathrm{set}\end{array}\right., $$

and \( {\beta}_2=\left\{\begin{array}{cc}1& \mathrm{GSM}\hbox{-} \mathrm{CP}\\ {}{N}_a& \mathrm{GSM}\hbox{-} \mathrm{FP}\end{array}\right. \).

Table 3 compares the complexity of the different GSM codebook precoding schemes presented in this paper. For reference, we select a codebook size B = 64 codewords. Complexity of larger codebooks requires scaling. We also show the complexity of SM precoder optimization method of [13] which is one of the most efficient methods in the literature. It is clear from the table that the complexity of SM codebook precoding is almost 25% of the optimization method of [13]. Employing GSM with FP and adaptive TAC-set increases the complexity by about 167% but it is still less complex than the SM precoder optimization of [13], while the performance increases considerably.

Table 3 Complexity comparison for Nr = 4, B = 64, and QPSK. For GSM, Nt = 5, Na = 2. For SM, Nt = 8, Na = 1

Numerical results and discussion

In this section, we show the numerical results for SM and GSM under Rayleigh fading channel model as described in Section 2. Unless otherwise mentioned, the modulation is QPSK. We first discuss the BER performance of the GSM system and compare it with other systems in the literature. Then, we discuss the diversity gain obtained by the presented schemes of the GSM system.

BER discussion

For SM, we compare with the codebook-based system of [23] which, to the best knowledge of the author, provides the best codebook-based BER performance. We denote this system as the MMD-CB. The BER of the MMD system of [11, 13], which requires CSIT to optimize the codeword, is shown as a reference to clarify the loss in dB when CSIT is not utilized. We use BER = 1E-4 as the reference for performance comparison. In all figures, the legends SM and GSM refer to systems without precoding. If the codebook legend includes a number, it is the codebook size.

Figure 3 shows the BER performance of SM with phase-only precoding and gain-only precoding when the sizes of the QOS codebook Bϕ (Bϕ ≤ 4 Nt) and the gain-only codebook Bg change. We select the SNR per receive antenna to be 20 dB to make the BER close to 1E-4. It appears from the figure that most BER reduction is achieved at codebook sizes 8 and 16 for Nt = 4 and 8, respectively. This corresponds to 3 and 4 feedback bits, respectively. If the codebook size is doubled (requiring one more feedback bit) an error floor starts to appear. This can be explained by the increased level of correlation among the codewords. For example, consider the case of Nt = 8 with QOS codebook. When the codebook size is less than 8 all codewords (before phase rotation by angle α, as explained previously) are orthogonal, and they yield a considerable BER reduction. As the codebook size is doubled, the full orthogonality is lost and the BER starts to bottom out. This error floor behavior is consistent with the results shown in Fig. 8 of [24] for the random codebook.

Fig. 3
figure 3

Effect of gain and phase codebooks sizes for SM with Nt = 4 and 8 and Nr = 2. SNR = 20 dB

It is also interesting to note that the gain-only codebook is more effective than the QOS codebook for Nt = 4. This can be explained by the fact that with Nt = 4 and QPSK constellation, each constellation vector in (4) has 3 other constellation vectors from the same antenna and 12 from other antennas. For Nt = 8, these two values are 3 and 28, respectively (a much smaller ratio). Since the phase-only precoding is not useful when the MED is between two constellation vectors from the same antenna (but different QPSK symbols), the QOS is less effective for Nt = 4 than the gain-only codebook.

Figure 4 shows the BER performance of SM for Nt=8 and Nr=2. As expected, codebook precoding yields considerable performance gain. Following the legend of the figure from top downward, the unprecoded SM system shows the worst performance. Using the phase-only WH codebook with 8 codewords we gain about 4.2 dB compared to unprecoded SM. This requires only 3 bits of feedback. Using the QOS codebook with 16 codewords, we gain extra 0.4 dB over the WH codebook (with 4 bits feedback). The Grassmannian codebook provides only 0.1 dB over the WH codebook but with 16 codewords. This confirms the assumption that Grassmannian codebooks are not as favorable in SM as they are in other MIMO systems. The gain-only codebook with 16 codewords provides about 0.4 dB compared to the WH codebook. Combining the gain-only codebook with 16 codewords and the QOS codebook with 4 codewords improves the performance by 1.5 dB, compared to the WH codebook. The cost is to increase the required feedback to 6 bits. It is important to note here that if we employ QOS codebook alone, or gain-only codebook alone, with 26 = 64 codewords we do not get the gain achievable by combining the two codebooks to get a gain-phase codebook. Finally, we can note that the combined gain-phase codebook is about 1.6 dB away from the optimized MMD precoding. Two important points are noted:

a) The MMD-CB codebook with 16 codewords provides slightly better BER performance compared to the QOS codebook or the gain-only codebook with the same size. When we combine the gain-only codebook of size 16 with only 4 QOS codewords, the performance exceeds the MMD-CB codebook and becomes 1.6 dB away of the optimum MMD precoding. The cost is 2 extra feedback bits.

b) The Grassmannian codebook is inferior to the phase-only or gain-only codebooks. This again confirms the previous observation that SM precoding has quite different requirements than other MIMO systems.

We now switch attention to GSM systems. We consider a GSM system with Nt = 5, Na = 2, and Nr = 2. Hence, the number of TACs is Nc = 8. For the adaptive GSM TAC-set selection, the number of TAC-sets is Nset = 30. However, we employ up to Nset,max = 16 TAC-sets, given in Table 2.

Figure 5 shows the BER performance of the GSM system with CP (GSM-CP). The first TAC-set of Table 2 is used. It can be noted that the unprecoded GSM system provides poorer performance than the SM system with Nt = 8 (see Fig. 4). However, with codebook precoding the performance improves considerably compared to unprecoded GSM. However, it is still inferior to the SM system with Nt = 8 (see Fig. 4), even with the slightly larger size codebooks. The combined gain-phase codebook provides the best performance, followed by the QOS codebook and the WH codebook. The gain-only codebook provides the least performance. This is due to the high correlation among the TACs. Hence, just changing the gain of two correlated TACs does not increase the MED as much as phase rotation can do.

Fig. 4
figure 4

BER performance and comparisons of proposed codebook precoding for SM with Nt = 8 and Nr = 2

Fig. 5
figure 5

BER performance of GSM-CP system with codebook precoding and fixed TAC-set at Nt = 5, Na = 2, and Nr = 2

Fig. 6
figure 6

BER performance of GSM-FP system with codebook precoding and fixed TAC-set at Nt = 5, Na = 2, and Nr = 2

Fig. 7
figure 7

BER performance comparison between the GSM-FP and GSM-CP systems with codebook precoding and fixed TAC-set at Nt = 5, Na = 2, and Nr = 2

Fig. 8
figure 8

BER performance of GSM-FP system with codebook precoding and adaptive TAC-set selection at Nt = 5, Na = 2, and Nr = 2

To improve the performance of GSM, we employ the GSM system with FP (GSM-FP). In this system, the codeword size is increased to Np = Na × Nc = 16. The performance of the GSM-FP system is shown in Fig. 6. It can be seen that the system is further improved with codebook precoding, compared to the GSM-CP system. As expected, the gain-phase codebook provides the best performance, followed by the QOS codebook. The gain-only codebook is now better than the WH codebook. With GSM-FP, a different gain to each antenna in the TAC causes a phase rotation, which improves the performance.

Figure 7 compares the performance of the GSM-CP (solid lines) and GSM-FP systems (dashed lines) with QOS codebook and gain-phase codebook. Using QOS with 32 codewords for both systems, the GSM-FP provides about 1.8 dB gain over to the GSM-CP. This gain is 1.3 dB for the gain-phase codebook with size 256 for both systems. In both GSM systems, the gain-phase codebook is superior to the phase-only QOS codebook. This figure suggests that GSM-FP is preferred to GSM-CP.

Now, we consider the GSM system with adaptive TAC-set selection. Figure 8 shows the performance of the GSM-FP system with TAC-set selection, as described in Section 3. Here, we employ QOS codebook with size 64 codewords. We also show a case with a combined gain-only codebook with size 16 and QOS codebook with size 16. The unprecoded GSM system is shown for reference. Similar to Fig. 6 the GSM-FP (i.e., with Nset,max = 1) provides a performance gain due to codebook precoding alone. Figure 8 shows also the performance improvement when increasing the TAC-sets to Nset,max = 4, 8, and 16. About 0.6 dB is gained when 4 TAC-sets are used. The gain achieved with 16 TAC-sets is about 1.2 dB compared to GSM-FP. Finally, when the gain-phase codebook (Gain16+QOS16) is used with Nset,max = 16 the gain becomes 1.4 dB compared to GSM-FP.

This gain clarifies that adaptive TAC-set selection is a source for additional performance gain that can be added to the codebook precoding to make the GSM systems more attractive. While not shown here, the GSM-CP also benefits from adaptive TAC-set selection. However, similar to the results of Fig. 7, with adaptive TAC-set selection the GSM-FP is still superior to the GSM-CP.

Diversity gain discussion

Conventional SM systems (i.e., without precoding) transmit from only one antenna at a time and do not possess transmit diversity. They can only realize receive diversity when Nr > 1. However, it is shown in [24] that SM systems with precoding can achieve transmit diversity, even if the codebook is randomly generated. We show here that when the GSM system is employed with codebook precoding the diversity order is higher than SM systems.

The diversity order is given by the slope of the probability of error at high SNR [40] as BER = D, where c is a constant and D is the diversity order. If we define γ1 and γ2 as the SNR in decibels at which the corresponding BER BER1 = 10 BER2, we can estimate the diversity order as

$$ \hat{D}=\frac{10}{\gamma_2\left(\mathrm{dB}\right)-{\gamma}_1\left(\mathrm{dB}\right)} $$

The diversity orders of different schemes are presented in Table 4. For the SM and GSM systems with precoding, we rely on BER1 = 1E−4 and BER2 = 1E−5. For the SM and GSM systems without precoding, we rely on BER1 = 1E−3 and BER2 = 1E−4.

Table 4 Diversity order comparison for Nr = 2 and QPSK. For GSM, Nt = 5, Na = 2. For SM, Nt = 8, Na = 1

It can be seen from Table 4 that both the conventional SM and GSM systems (without precoding) achieve only receive diversity with order 2 (first two rows). With precoding, both the SM and GSM-CP systems increase the diversity order to 4.1 (third and fourth rows). The GSM-FP system with fixed TAC-set increases the diversity order to 5 (fifth row). Using the GSM-FP with 16 adaptive TAC-sets, the diversity order increases to 5.3 (sixth row).


We presented a codebook-based precoding for SM system and GSM system with diversity. Codebook-based precoding avoids the need for full CSIT and requires limited feedback bits. We present phase-only and gain-only codebooks with systematic structure that is independent of the channel state information. The quasi-orthogonal sequences codebook provides BER performance equivalent to other results in the literature. When supplemented with the gain-only codebook with low correlation among codewords the performance improves considerably. Codebook precoding is shown to be beneficial for SM and GSM systems. We also present two GSM systems with precoding: transmit antenna combination precoding (CP) and full combination precoding (FP). We show that the FP system outperforms the CP system. Moreover, we propose a GSM where the transmit antenna combination is adaptively selected. We show that this system provides further performance improvement for the GSM system.

Availability of data and materials

The authors declare that all the data and materials in this manuscript are available from the author.



Amplitude-phase modulation


Bit error rate


Combination precoding


Channel state information at the transmitter


Euclidean distance


Full precoding


Generalized spatial modulation


Minimum Euclidean distance




Quaternary quasi-orthogonal sequences


Receive antenna


Spatial modulation


Signal-to-noise ratio


Transmit antenna


Transmit antenna combination




  1. Technical Specification Group Radio Access Network, Evolved Universal Terrestrial Radio Access (E-UTRA); Physical channels and modulation, Release 15, 2018-03.

  2. E. Basar, M. Wen, R. Mesleh, M.D. Renzo, Y. Xiao, H. Haas, Index modulation techniques for next-generation wireless networks. IEEE Access 5, 16693–16746 (2017)

    Article  Google Scholar 

  3. M.D. Renzo, H. Haas, A. Ghrayeb, S. Sugiura, L. Hanzo, Spatial modulation for generalized MIMO: challenges, opportunities, and implementation. Proceedings of the IEEE 102(1), 56–103 (2014)

    Article  Google Scholar 

  4. R.Y. Mesleh, H. Haas, S. Sinanovic, C.W. Ahn, S. Yun, Spatial modulation. IEEE Transactions on Vehicular Technology 57(4), 2228–2241 (2008)

    Article  Google Scholar 

  5. P. Yang, M.D. Renzo, Y. Xiao, S. Li, L. Hanzo, Design guidelines for spatial modulation. IEEE Communications Surveys & Tutorials 17(1), 6–26 (2015)

    Article  Google Scholar 

  6. P. Yang et al., Single-carrier SM-MIMO: a promising design for broadband large-scale antenna systems. IEEE Communications Surveys & Tutorials 18(3), 1687–1716 (2016)

    Article  Google Scholar 

  7. M.D. Renzo, H. Haas, P.M. Grant, Spatial modulation for multiple-antenna wireless systems: a survey. IEEE Communications Magazine 49(12), 182–191 (2011)

    Article  Google Scholar 

  8. A. Younis, N. Serafimovski, R. Mesleh, H. Haas, in 2010 Conference Record of the Forty Fourth Asilomar Conference on Signals, Systems and Computers. Generalised spatial modulation (2010), pp. 1498–1502

    Chapter  Google Scholar 

  9. A. Younis, R. Mesleh, M.D. Renzo, H. Haas, in 2014 22nd European Signal Processing Conference (EUSIPCO). Generalised spatial modulation for large-scale MIMO (2014), pp. 346–350

    Google Scholar 

  10. J. Wang, S. Jia, J. Song, Generalised spatial modulation system with multiple active transmit antennas and low complexity detection scheme. IEEE Transactions on Wireless Communications 11(4), 1605–1615 (2012)

    MathSciNet  Article  Google Scholar 

  11. M. Lee, W. Chung, T. Lee, Generalized precoder design formulation and iterative algorithm for spatial modulation in MIMO systems With CSIT. IEEE Transactions on Communications 63(4), 1230–1244 (2015)

    Article  Google Scholar 

  12. P. Yang, Y.L. Guan, Y. Xiao, M.D. Renzo, S. Li, L. Hanzo, Transmit precoded spatial modulation: maximizing the minimum Euclidean distance versus minimizing the bit error ratio. IEEE Transactions on Wireless Communications 15(3), 2054–2068 (2016)

    Article  Google Scholar 

  13. P. Cheng, Z. Chen, J.A. Zhang, Y. Li, B. Vucetic, A unified precoding scheme for generalized spatial modulation. IEEE Transactions on Communications 66(6), 2502–2514 (2018)

    Article  Google Scholar 

  14. C. Chen, MSE-based precoder designs for transmitter-preprocessing-aided spatial modulation under per-antenna power constraints. IEEE Transactions on Vehicular Technology 66(3), 2879–2883 (2017)

    Article  Google Scholar 

  15. S. Jin, W. Choi, J. Park, D. Park, Linear precoding design for mutual information maximization in generalized spatial modulation with finite alphabet inputs. IEEE Communications Letters 19(8), 1323–1326 (2015)

    Article  Google Scholar 

  16. Z. An, J. Wang, J. Wang, J. Song, Mutual information and error probability analysis on generalized spatial modulation system. IEEE Transactions on Communications 65(3), 1044–1060 (2017)

    Article  Google Scholar 

  17. L. He, J. Wang, J. Song, Spectral-efficient analog precoding for generalized spatial modulation aided MmWave MIMO. IEEE Transactions on Vehicular Technology 66(10), 9598–9602 (2017)

    Article  Google Scholar 

  18. L. He, J. Wang, J. Song, On generalized spatial modulation aided millimeter wave MIMO: spectral efficiency analysis and hybrid precoder design. IEEE Transactions on Wireless Communications 16(11), 7658–7671 (2017)

    Article  Google Scholar 

  19. L. Xiao et al., Transmit antenna combination optimization for generalized spatial modulation systems. IEEE Access 6, 41866–41882 (2018)

    Article  Google Scholar 

  20. N.S. Perović, P. Liu, J. Blumenstein, M.D. Renzo, A. Springer, Optimization of the cut-off rate of generalized spatial modulation with transmit precoding. IEEE Transactions on Communications 66(10), 4578–4595 (2018)

    Google Scholar 

  21. P. Yang, Y. Xiao, B. Zhang, S. Li, M. El-Hajjar, L. Hanzo, Star-QAM signaling constellations for spatial modulation. IEEE Transactions on Vehicular Technology 63(8), 3741–3749 (2014)

    Article  Google Scholar 

  22. P. Yang, Y. Xiao, B. Zhang, S. Li, M. El-Hajjar, L. Hanzo, Power allocation-aided spatial modulation for limited-feedback MIMO systems. IEEE Transactions on Vehicular Technology 64(5), 2198–2204 (2015)

    Article  Google Scholar 

  23. M. Lee, W. Chung, T. Lee, Limited feedback precoder design for spatial modulation in MIMO systems. IEEE Communications Letters 19(11), 1909–1912 (2015)

    Article  Google Scholar 

  24. C. Masouros, L. Hanzo, Constellation randomization achieves transmit diversity for single-RF spatial modulation. IEEE Transactions on Vehicular Technology 65(10), 8101–8111 (2016)

    Article  Google Scholar 

  25. M. Al-Ansi, S.A. Aljunid, E. Sourour, Performance improvement of space shift keying MIMO systems with orthogonal codebook-based phase-rotation precoding. Wireless Communications and Mobile Computing 2017, 12 (2017) Art. no. 4359843

    Article  Google Scholar 

  26. S.A.A. Mohammed Al-Ansi, E. Sourour, Transmit precoding based low complexity codebooks and finite feedback rate for space shift keying MIMO systems. Wireless Personal Communications 101(1), 181–200 (2018)

    Article  Google Scholar 

  27. E. Sourour, in IEEE Vehicular Technology Conference. Codebook based precoding for spatial modulation, accepted for publication (VTC2019-Spring, Kuala Lumpur, 2019)

    Google Scholar 

  28. N.S. Perovic, P. Liu, A. Springer, in SCC 2017; 11th International ITG Conference on Systems, Communications and Coding. Design of a simple phase precoder for generalized spatial modulation in LOS millimeter wave channels (2017), pp. 1–6

    Google Scholar 

  29. H.S. Hussein, M. Elsayed, U.S. Mohamed, H. Esmaiel, E.M. Mohamed, Spectral efficient spatial modulation techniques. IEEE Access 7, 1454–1469 (2019)

    Article  Google Scholar 

  30. S. Althunibat, R. Mesleh, Enhancing spatial modulation system performance through signal space diversity. IEEE Communications Letters 22(6), 1136–1139 (2018)

    Article  Google Scholar 

  31. S. Althunibat, R. Mesleh, A bit-to-symbol mapping scheme for spatial modulation with partial channel state information. IEEE Communications Letters 21(5), 995–998 (2017)

    Article  Google Scholar 

  32. P. Liu, J. Blumenstein, N.S. Perović, M.D. Renzo, A. Springer, Performance of generalized spatial modulation MIMO over measured 60GHz indoor channels. IEEE Transactions on Communications 66(1), 133–148 (2018)

    Article  Google Scholar 

  33. J. Jeganathan, A. Ghrayeb, L. Szczecinski, Spatial modulation: optimal detection and performance analysis. IEEE Communications Letters 12(8), 545–547 (2008)

    Article  Google Scholar 

  34. Y. Kyeongcheol, K. Young-Ky, P.V. Kumar, Quasi-orthogonal sequences for code-division multiple-access systems. IEEE Transactions on Information Theory 46(3), 982–993 (2000)

    MathSciNet  Article  Google Scholar 

  35. D.J. Love, R.W. Heath, Limited feedback unitary precoding for orthogonal space-time block codes. IEEE Transactions on Signal Processing 53(1), 64–73 (2005)

    MathSciNet  Article  Google Scholar 

  36. D.J. Love, R.W. Heath, Limited feedback unitary precoding for spatial multiplexing systems. IEEE Transactions on Information Theory 51(8), 2967–2976 (2005)

    MathSciNet  Article  Google Scholar 

  37. D.J. Love, R.W. Heath, V.K.N. Lau, D. Gesbert, B.D. Rao, M. Andrews, An overview of limited feedback in wireless communication systems. IEEE Journal on Selected Areas in Communications 26(8), 1341–1365 (2008)

    Article  Google Scholar 

  38. D.J. Love, R.W. Heath, T. Strohmer, Grassmannian beamforming for multiple-input multiple-output wireless systems. IEEE Transactions on Information Theory 49(10), 2735–2747 (2003)

    MathSciNet  Article  Google Scholar 

  39. A. Medra, T.N. Davidson, Flexible codebook design for limited feedback systems via sequential smooth optimization on the Grassmannian manifold. IEEE Transactions on Signal Processing 62(5), 1305–1318 (2014)

    MathSciNet  Article  Google Scholar 

  40. A. Goldsmith, Wireless Communications (Cambridge University Press, Cambridge, 2005)

    Book  Google Scholar 

Download references


This project was supported by the Deanship of Scientific Research at Prince Sattam Bin Abdulaziz University under research project no. 2017/01/7715.


This project was supported by the Deanship of Scientific Research at Prince Sattam Bin Abdulaziz University under research project no. 2017/01/7715.

Author information

Authors and Affiliations



The author is the only contributor to the paper. The author read and approved the final manuscript.

Authors’ information

The author received the B.Sc. (with honor) and M.Sc. degrees in electrical engineering from Alexandria University, Alexandria, Egypt, in 1982 and 1986, respectively. He received the Ph.D. degree in electrical engineering from Southern Methodist University (SMU), Dallas, TX, USA in 1990. He was a System Engineer at Bell Northern Research (currently Nortel) Richardson, TX, USA, from 1990 to 1991. He was an Assistant Professor at Alexandria University, Alexandria, Egypt, from 1992 to 1996. During 1994, and during part of 1996, he was a Visiting Researcher at Keio University, Yokohama, Japan. From August 1996 to January 2001, he was a Senior Engineer at Ericsson Inc., Research Triangle Park, NC, USA. From August 2001 to January 2004, he was Director for Systems Engineering with Ellipsis Digital Systems, Carlsbad, CA, USA. From January 2004 to date, he is a Professor of at the EE Department in Alexandria University, Alexandria, Egypt. Currently, he is on leave to Prince Sattam Bin Abdulaziz University, Kingdom of Saudi Arabia.

Corresponding author

Correspondence to Essam Sourour.

Ethics declarations

Competing interests

The author declares that he has no competing interests.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Sourour, E. Codebook-based precoding for generalized spatial modulation with diversity. J Wireless Com Network 2019, 229 (2019).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI:


  • MIMO
  • Spatial modulation; Generalized spatial modulation
  • Codebook-precoding