1 Introduction

Day by day the number of users is increasing who are utilizing advance communication technologies. The multi-carrier techniques can accommodate the huge number of users in modern communication systems. The multi-carrier techniques such as multi-carrier direct-sequence code-division multiple access (MC-DS-CDMA), orthogonal frequency-division multiple access (OFDMA) and multi-carrier code-division multiple access (MC-CDMA) are well-known techniques which can accommodate a large number of users. High data rates demands are fulfilled using MIMO systems with the MC-CDMA system [1, 2]. In a MIMO system, multiple transmission and receive antennas are used to achieve the high data rate demand of advanced wireless communication systems [3,4,5].

One of the principal causes of the poor performance of MIMO-based MC-CDMA is multi-user interference (MUI). There are solutions to such problems by implementing the uplink receiver adaptively. One of the adaptive uplink receiver solutions is the LMS (least mean square) receiver proposed by Seo et al. [6] and Mezghani and SwindleHurst [7]. Its traditional version of MC-CDMA receiver is introduced in [8, 9] as well. In [10], Asad et al. applied hybrid computational intelligence techniques for blind-, semi-blind- and training-based joint channel and data estimation model. The proposed techniques show attractive results regarding BER, MMCE, MMSE as compared to conventional opposite learning mutant PSO techniques.

So, different methods are used for the adaptive uplink receiver. In some cases, these proposed multiple receiver’s algorithms such as genetic algorithm (GA), least mean square (LMS), recursive least square (RLS) and differential evolutionary (DE) are given the same bit error rate (BER) or minimum mean square error (MMSE) as proposed by Seo et al. [6], Umair et al. [11], Khan et al. [8, 9] and Ali et al. [12, 13] after fixing iterative solutions. The time and space complexity was discussed by Tariq Zaid et al. [14] and Asif et al. [15] using the differential evolutionary (DE)-based CE-UD and the PSO-based MIMO system for channel estimation and multi-user detection.

The time complexity plays a vital role in the evaluation of the effect of relation. There are different complexity analysis systems such as drift analysis, negative analysis and population-based analysis.

In this article, we are using a population-based drift analysis algorithm to evaluate the performance of the GA-based MC-CDMA system with two variants.

The objective of this paper is to optimize the time and space complexity algorithm of the system model using computational intelligence techniques. The genetic algorithm is under discussion with the proposed variation with and without weight relation. The rest of the paper is structured as follows: Sect. 2 gives an overview of the system model taken from the background international literature. Section 3 presents the time complexity analysis of GA-based algorithm with weight relation and without weight relation, while Sect. 4 provides the simulation results of the time complexity of GA-based MC-CDMA system with and without weight relation regarding the simulation analysis results of NoCs, Ls and the number of users. The conclusion is given in the last section that explains that the time and space complexity is directly proportional to the number of users, multiple channel paths and the number of cycles.

2 System model

In this article, two transmit antennas and one receiving antenna are used with the MC-CDMA system. The received signal vector for two consecutive symbols is given by Seo et al. [6], Khan et al. [8, 9] and Ali et al. [12, 13] as follows:

$${\mathbf{R}}(j) = \left[ {{\mathbf{r}}^{\text{T}} \left( {2j - 1} \right)\quad {\mathbf{r}}^{H} \left( {2j} \right)} \right]^{\text{T}}$$
(1)
$${\mathbf{R}}(j) = \mathop \sum \limits_{i = 1}^{U} \left\{ {{\mathbf{S}}_{i,1} {\text{d}}_{i} \left( {2j - 1} \right) + {\mathbf{S}}_{i,2} d_{i} \left( {2j} \right)} \right\} + {\mathbf{N}}\left( j \right)$$
(2)

In the above equation, \({\mathbf{S}}\), d and N represent the channel response, transmitted symbols and additive white Gaussian noise, respectively.

The minimum mean square error (MMSE) of the uplink receiver is attained by minimizing the equation proposed in [6]

$$W\left[ {{\mathbf{c}}_{o,1} ,{\mathbf{c}}_{o,2} } \right] = argW\left( {{\mathbf{c}}_{1} ,{\mathbf{c}}_{2} } \right)$$
$$W\left[ {{\mathbf{c}}_{o,1} ,{\mathbf{c}}_{o,2} } \right] = \{ W_{1} \left( {{\mathbf{c}}_{1} } \right)\varvec{ + }W_{2} \left( {{\mathbf{c}}_{2} } \right)\}$$
(3)

The following relationship is calculated in Seo et al. [6], Khan et al. [8, 9] and Umair et al. [11].

$${\mathbf{c}}_{1,2 } = {\mathbf{c}}^{*}_{2,3 } \;{\text{and}}\;{\mathbf{c}}_{1,4 } = - {\mathbf{c}}^{*}_{1,1 }$$

The improved cast function W can be written as:

$$W_{z} = W_{z1} \left( {{\mathbf{c}}_{\text{a}} ,{\mathbf{c}}_{\text{b}} } \right) + W_{z2} \left( {{\mathbf{c}}_{\text{a}} ,{\mathbf{c}}_{\text{b}} } \right)$$
(4)

where

$$W_{z1} \left( {{\mathbf{c}}_{\varvec{a}} ,{\mathbf{c}}_{\text{b}} } \right) = E\left[ {|{\mathbf{c}}_{a}^{H} {\mathbf{r}}\left( {2j - 1} \right) + {\mathbf{c}}_{\text{b}}^{\text{T}} {\mathbf{r}}^{ *} \left( {2j} \right) - d_{1} \left( {2j - 1} \right)|^{2} } \right]$$

and

$$W_{z2} \left( {{\mathbf{c}}_{\varvec{a}} ,{\mathbf{c}}_{\text{b}} } \right) = E\left[ {|{\mathbf{c}}_{b}^{H} {\mathbf{r}}\left( {2j - 1} \right) + {\mathbf{c}}_{\text{a}}^{\text{T}} {\mathbf{r}}^{ *} \left( {2j} \right) - d_{1} \left( {2j - 1} \right)|^{2} } \right],$$
(5)

GA is very frequently used in nonlinear problems by the optimization algorithm efficiently. The candidate solution in GA is presented as a chromosome. Chromosome naturally includes breeding and mutation behaviour proposed by [16] and Soltani et al. [17]. Same as this phenomenon, the new population is produced by reproduction and mutation.

The GA is used for minimizing the problem given in Eqs. (3) and (4). The first one is the primary cost function, and the second is the improved cost function. The GA algorithm is given in Table 1. The detailed discussion of all its steps is provided in the table.

Table 1 Genetic algorithm

3 Complexity of GA-based algorithm with weight relation (WWR)

The algorithm is defined in a step-by-step procedure to solve a problem using a computer. The complexity determines how efficient an algorithm is regarding time and space utilization. In other words, the complexity shows how fast or how slow an algorithm works. The functional complexity is defined as T(n) where T is the time and n is the size of the input. After a fix number of cycles, if complicated algorithms give same bit error rate and minimum mean square error, then the complexity is one of the factors which will determine which algorithm is the best as proposed by Abdelkader et al. [18].

3.1 The complexity of GA-based algorithm WWR is given by

  • Step 1 Data population initialization

    (6)

Complexity of initialization of data population:

$$T_{2} = \mathop \sum \limits_{i = 1}^{U} \mathop \sum \limits_{j = 1}^{\text{Ls}} 1$$
$$T_{2} = \mathop \sum \limits_{i = 1}^{U} {\text{Ls}} = {\text{Ls}}\mathop \sum \limits_{i = 1}^{U} 1 = {\text{Ls}}U$$
(7)
  • Step 2 Complexity of user initialization

    $$T_{3} = U$$
  • Step 3

In step 3 & 4 population fitness is calculated and sorted using merge sort. The complexity to calculate the eligibility and data population is C. The complexity of merge sort is given by:

figure a

Recursive function for merge sort is:

$$T\left( U \right) = \left\{ {\begin{array}{*{20}l} 1 \hfill & \quad {if\;U = 1} \hfill \\ {2T\left( {\frac{U}{2}} \right) + U} \hfill & \quad {\text{otherwise}} \hfill \\ \end{array} } \right.$$
(i)

Substituting U = U/2 in Eq. (i), we get:

$$T \left( {\frac{U}{2}} \right) = 2T\left( {\frac{{\frac{U}{2}}}{2}} \right) + \frac{U}{2}$$
$$T \left( {\frac{U}{2}} \right) = 2T \left( {\frac{U}{4}} \right) + U/2$$

Now, substituting the value of T (\(U\)/2) in Eq. (i), we get:

$$\begin{aligned} T \left( U \right) & = 2 \left[ {2T \left( {\frac{U}{4}} \right) + \frac{U}{2}} \right] + U \\ & = 4T\left( {\frac{U}{4}} \right) + 2U \\ T\left( U \right) & = 2^{2} T\left( {\frac{U}{{2^{2} }} } \right) + 2U \\ \end{aligned}$$
(ii)

Now, substituting \(U\) = \(U\)/4 in Eq. (i), we get:

$$\begin{aligned} T\left( U \right) & = 2T \left( {\frac{U}{2}} \right) + U \\ & = 2T \left( {\frac{{\frac{U}{4}}}{2}} \right) + \frac{U}{4} \\ & = 2T \left( {\frac{U}{8}} \right) + U/4 \\ \end{aligned}$$

Substituting the value of T (\(U\)/4) in Eq. (ii), we get:

$$\begin{aligned} T\left( U \right) & = 4\left[ {2T \left( {\frac{U}{8}} \right) + \frac{U}{4}} \right] + 2U \\ & = 8T\left( {\frac{U}{8}} \right) + 3U \\ T\left( U \right) & = 2^{3} T\left( {\frac{U}{{2^{3} }} } \right) + 3U \\ \end{aligned}$$
(iii)

Now, substituting the value of \(U\) = \(U\)/8 in Eq. (i), we get:

$$\begin{aligned} T \left( {\frac{U}{8}} \right) & = 2 T\left( {\frac{{\frac{U}{8}}}{2}} \right) + \frac{U}{8} \\ & = 2T\left( {\frac{U}{16}} \right) + \frac{U}{8} \\ \end{aligned}$$

Now, substituting the value of \(U\)/8 in Eq. (iii), we get:

$$\begin{aligned} T\left( U \right) & = 8\left[ {2T \left( {\frac{U}{16}} \right) + \frac{U}{8}} \right] + 3U \\ & = 16T\left( {\frac{U}{16}} \right) + 4U \\ \end{aligned}$$
(iv)
$$T\left( U \right) = 2^{4} T\left( {\frac{U}{{2^{4} }} } \right) + 4U$$
$$T\left( U \right) = 2^{k} T\left( {\frac{U}{{2^{k} }} } \right) + kU$$
(v)

From Eq. (v) after substitution, we get:

$${\text{By}}\;{\text{taking}}\; 2^{k} = U\;{\text{and}}\;{\text{putting}}\;k = 4\;{\text{in}}\;{\text{equation}}\;(v)\;{\text{we}}\;{\text{get}}$$

Taking log on both sides:

$$\log U = \log 2^{k}$$
$$\log U = k$$

or

$$k = \log U$$

Substituting the values of \(U\) and \(k\) in Eq. (v), we get:

$$\begin{aligned} T\left( U \right) & = UT\left( {\frac{U}{U} } \right) + kU \\ & = UT\left( {\frac{U}{U} } \right) + \log U*U \\ T\left( U \right) & = UT\left( 1 \right) + U\log U \\ \end{aligned}$$

From the recursive equation, it can be seen that T (1) = 1. So, the above equation becomes:

$$T\left( U \right) = U + U\log U$$

So, the complexity of merge sort is \(U\log U.\)

The complexity of step 3 for T4 is given by:

$$T_{4} = {\text{Ls}} + U\log U$$

And the number of carriers in Step 5 is:

$$T_{5} = C$$
  • Step 6

    rc used here is for crossover 0 ≤ rc ≤ 1

    $$T_{6} = U + U_{{r_{\text{c}} }}$$
  • Step 7

    rm is used here for the mutation process

    $$T_{7} = \left( {U + U_{{r_{\text{c}} }} } \right)r_{\text{m}}$$
  • Step 8

    $$T_{8} = \left( {U + U_{{r_{\text{c}} }} } \right)$$

Total complexity of GA-based algorithm is:

$$\begin{aligned} T & = T_{2} + \left( {T_{3} + T_{4} + T_{5} + T_{6} + T_{7} + T_{8} } \right)Nc \\ T & = {\text{Ls}}U + \left[ {U + (U + {\text{Ls}}\log_{10} U) + C + \left( {U + Ur_{\text{c}} } \right) + \left( {U + Ur_{\text{c}} } \right)r_{\text{m}} + U + Ur_{\text{c}} } \right]Nc \\ T & = {\text{Ls}}U + \left[ {U + U + {\text{Ls}}\log_{10} U + Ur_{\text{c}} + Ur_{\text{m}} + Ur_{\text{c}} r_{\text{m}} + U + Ur_{\text{c}} + C} \right]Nc \\ T & = {\text{Ls}}U + \left[ {4U + U(2r_{\text{c}} + r_{\text{m}} \left( {1 + r_{\text{c}} } \right) + {\text{Ls}}\log_{10} U} \right]Nc \\ \end{aligned}$$

3.2 The complexity of GA-based algorithm without weight relation

The functional complexity is defined as \(T_{\text{wow}}\) (n) where \(T_{\text{wow}}\) is the time and n is the size of the input. After a fix number of cycles, if multiple algorithms gives the same bit error rate and minimum mean square error, then the complexity is one of the factors which will determine which algorithm is best [6, 8, 9, 11,12,13].

Total complexity of GA-based algorithm is:

$$\begin{aligned} T_{\text{wow}} & = T_{2} + \left( {T_{3} + T_{4} + T_{5} + T_{6} + T_{7} + T_{8} } \right)Nc \\ T_{\text{wow}} & = \frac{1}{2} {\text{Ls}}U + \left[ {U + (U + \frac{1}{2}{\text{Ls}}\log_{10} U) + C + \left( {U + Ur_{\text{c}} } \right) + \left( {U + Ur_{\text{c}} } \right)r_{\text{m}} + U + Ur_{\text{c}} } \right]Nc \\ T_{\text{wow}} & = \frac{1}{2} {\text{Ls}}U + \left[ {U + U + \frac{1}{2}{\text{Ls}}\log_{10} U + Ur_{\text{c}} + Ur_{\text{m}} + Ur_{\text{c}} r_{\text{m}} + U + Ur_{\text{c}} + C} \right]Nc \\ T_{\text{wow}} & = \frac{1}{2} {\text{Ls}}U + \left[ {4U + U(2r_{\text{c}} + r_{\text{m}} \left( {1 + r_{\text{c}} } \right) + \frac{1}{2}{\text{Ls}}\log_{10} U} \right]Nc \\ \end{aligned}$$

4 Simulation results and discussion

The complexity of the GA-based uplink MC-CDMA is implemented with sub-carriers (Ls), users (U) and the number of cycles (NoCs). The number of sub-carriers is equal to the length of spreading codes.

Figures 1, 2, 3 and 4 show the simulation results of the time complexity for GA-based MC-CDMA system without weight relation and with weight relation regarding NoCs, Ls and U.

Fig. 1
figure 1

Number of cycles versus time complexity with different number of users

Fig. 2
figure 2

Number of users versus time complexity with different number of cycles

Fig. 3
figure 3

Number of carriers versus time complexity with different number of users

Fig. 4
figure 4

Number of cycles versus time complexity with different number of carriers

Figure 1 shows the time complexity of GA-based MC-CDMA with and without weight relation with respect to the different number of cycles and users. The top curves, middle curves and bottom curves show the time complexity when the number of users is 8, 16 and 32, respectively. It is shown in the graph that when the number of users and the number of carriers are increased, the time complexity is also increased. It further indicates that the time complexity of the proposed GA-based MC-CDMA with weight relation is less as compared to without weight relation algorithm-based solution.

Figure 2 shows the time complexity of the proposed algorithm versus the number of cycles (NoCs) with the different number of users (U). The top curves, middle curves and bottom curves show the time complexity when the number of cycles is 200, 250 and 300, respectively. It clearly shows that when the number of cycles and the number of carriers are increased, then the time complexity is also increased, which shows the positive correlation between two variables. It further indicates that the time complexity of the proposed GA-based MC-CDMA with weight relation is less as compared to without weight relation algorithm-based solution.

Figure 3 shows the time complexity of the proposed algorithm versus the number of carriers (Ls) with the different number of users (U). The top curves, middle curves and bottom curves show the time complexity when the different number of users (Us) is 8, 16 and 32, respectively. It clearly shows that when the number of users and the number of cycles are increased, then the time complexity is also increased, which shows the positive correlation between two variables. It further indicates that the time complexity of the proposed GA-based MC-CDMA with weight relation is less as compared to without weight relation algorithm-based solution.

Figure 4 shows the time complexity of the proposed algorithm versus the number of cycles (NoCs) with the different number of carriers (Ls). The top curves, middle curves and bottom curves show the time complexity when the different number of carriers (Ls) is 16, 32 and 64, respectively. It clearly shows that when the number of users and the number of carriers are increased, then the time complexity is also increased, which shows the positive correlation between two variables. It further indicates that the time complexity of the proposed GA-based MC-CDMA with weight relation is less as compared to without weight relation algorithm-based solution.

Table 2 shows the time complexity of GA-based variants MC-CDMA system with respect to the different number of cycles, sub-carriers and users. It is observed that if some sequences are fixed and some users are varied approximately, both GA-based variants give the same time complexity approximation. But when some carriers are changed, e.g. Ls = 512, GA with weight relation solves the problem in 118 ns, but GA without weight relation takes 238 ns. It means that GA with weight connection is two times faster as compared to GA without a weight relation-based solution. Similarly, GA with weight relation saves 22 ns when users are fixed (U = 64), and the number of cycles (NoCs) is changed. In this case, when the number of periods is 500 ns, GA with weight relation saves 22 ns.

Table 2 Time complexity of GA-based variants MC-CDMA system

Figure 5 shows the number of carriers (Ls) versus the number of operations (NoOs) at bounded bit error rate (BER) at 10−3 of the proposed GA-based algorithmic scheme. The top curve shows that GA (WOWR) required 160 cycles, and GA (WWR) required 80 cycles to achieve 10−3 BER. It is observed that when the number of carriers is increased, the number of operations (NoOs) is also increased. It further shows that GA WWR-based solution required less number of operations as compared to GA WOWR-based solution. It means that GA (WWR) time complexity is less as compared to GA (WOWR)-based solution.

Fig. 5
figure 5

Number of carriers (Ls) and number of operations (NoOs) with varying number of cycles

Table 3 shows the time complexity of GA-based variants MC-CDMA system with bounded bit error rate (BER) at 10−3. It is observed that GA with weight relation has achieved required BER in 8 ns, but GA-based without weight relation variant takes 19 ns. GA with weight relation solution is approximately two times faster as compared to GA without weight relation-based solution.

Table 3 Time complexity of GA-based variants MC-CDMA system bounded at a BER = 10−3

5 Conclusion

The objective of this work is the complexity analysis of GA-based variants uplink receiver MC-CDMA system methods. Initially, evolutionary techniques are applied for uplink MC-CDMA systems to improve the time and space complexity of channel and its quality. In the adaptive genetic algorithm (AGA) in communication for time and capacity improvement, the number of users is increased and high data rate is needed. The MIMO technology is used to improve the function of the channel, data rate and service quality for communication systems. In this paper, the time complexity of GA-based variants uplink receiver MC-CDMA system is computed. The time and memory complexity is directly proportional to the number of users, multiple channel paths and the number of cycles. It is also observed that in the case of bounded BER and number of carriers, GA with weight relation-based solution is two times faster as compared to GA without weight relation-based MC-CDMA system. It is observed that when channel paths, number of users and number of cycles are increased, the complexity is also increased.