Applied Soft Computing 23 (2014) 366–374
Contents lists available at ScienceDirect
Applied Soft Computing journal homepage: www.elsevier.com/locate/asoc
A joint antenna and user selection scheme for multiuser MIMO system M. Naeem a,b,∗ , D.C. Lee c a
Department of Electrical Engineering, COMSATS Institute of IT, Wah Campus, Wah, Pakistan Department of Electrical and Computer Engineering, Ryerson University, 350 Victoria Street, Toronto, Canada c School of Engineering Science at Simon Fraser University, Burnaby, BC V5A 1S6, Canada b
a r t i c l e
i n f o
Article history: Received 2 November 2011 Received in revised form 19 April 2014 Accepted 16 June 2014 Available online 2 July 2014 Keywords: Multiuser MIMO Particle swarm optimization Genetic Algorithm User selection
a b s t r a c t In this paper, we present a low-complexity algorithm for real-time joint user scheduling and receive antenna selection (JUSRAS) in multiuser MIMO systems. The computational complexity of exhaustive search for JUSRAS problem grows exponentially with the number of users and receives antennas. We apply binary particle swarm optimization (BPSO) to the joint user scheduling and receive antenna selection problem. In addition to applying the conventional BPSO to JUSRAS, we also present a specific improvement to this population-based heuristic algorithm; namely, we feed cyclically shifted initial population, so that the number of iterations until reaching an acceptable solution is reduced. The proposed BPSO for JUSRAS problem has a low computational complexity, and its effectiveness is verified through simulation results. © 2014 Elsevier B.V. All rights reserved.
Introduction Recent research on wireless communication systems shows that the multiple-input-multiple-output (MIMO1 ) communication systems have significantly higher channel capacity2 than the single-input-single-output (SISO) system for the same total transmission power and bandwidth [2]. However, increased number of antennas in the MIMO system has a cost consequence. In practical wireless communication systems, signals of each antenna go through a separate Radio Frequency (RF) hardware known as RF chain (e.g., amplifiers, analog-to-digital converters, etc.). In MIMO systems, combining signals carried by a large number of antennas results in a high hardware cost due to the large number of RF chains. In [1] Molisch et al. showed that hardware cost can be significantly reduced by selecting a good subset of antennas from the set of physically available antennas and using the signals from the selected antennas only, without sacrificing the advantage of multi antenna diversity. In practical multiuser MIMO wireless communication
∗ Corresponding author at: Department of Electrical Engineering, COMSATS Institute of IT, Wah Campus, Wah, Pakistan. Tel.: +92 3362298162. E-mail addresses:
[email protected], mn
[email protected] (M. Naeem),
[email protected] (D.C. Lee). 1 In wireless communication systems, the term multiple-input and multipleoutput (MIMO) is used to describe a system that has multiple antennas at both the transmitter and receiver. Many standards in practice e.g., IEEE 802.11 Wifi, 802.16 Wimax, and all new 4G systems have this technology. 2 A measure of how much information that can be transmitted and received with a negligible probability of error is called the channel capacity. http://dx.doi.org/10.1016/j.asoc.2014.06.018 1568-4946/© 2014 Elsevier B.V. All rights reserved.
systems, due to the limited hardware resources and computational limitations of real-time signal processing (e.g., channel estimation, joint equalization and detection etc.), it would be impractical for a base station to simultaneously handle all the users. In overcoming this problem the user scheduling plays a significant role in improving the system performance. One measure of the performance of a multiuser MIMO wireless communication system is the sum rate capacity [3–9]. User scheduling scheme selects the best group of users at each time slot to maximize the sum rate capacity of multiuser MIMO wireless communication system. In [10], authors investigate the performance of binary particle swarm optimization for joint antenna selection in single user MIMO system. A number of user scheduling and receive antenna selection schemes are in the literature, with the motivation to improve the system performance in terms of either sum rate capacity or bit error rate. However, there is little research on the joint user scheduling and receive antenna selection (JUSRAS) problem. This is a challenging problem because the complexity of exhaustive search for JUSRAS problem increases exponentially with the number of users and receive antennas. For example, let us denote by Ks the maximum number of users that a base station can handle simultaneously, denote by K the total number of users in the system, denote by Nr the number of receive antennas to be selected at the base station, and denote by NR the total number of receive antennas at base station. Then, the number of possible ways of NR Ks K joint users and receive antennas selection is . i=1 Nr i Exhaustive search algorithm (ESA) evaluates all possible ways of JUSRAS. Enumerating over all possible combinations and finding
M. Naeem, D.C. Lee / Applied Soft Computing 23 (2014) 366–374
the one that can give best performance is computationally inefficient. Therefore, in a real-time3 environment, in which the channel condition changes frequently and user/antenna selection should quickly adapt to the changing channels, a computationally efficient algorithm is needed. Due to the high computational complexity of the optimal selection (e.g., ESA) there is a need for low-complexity algorithm to solve JUSRAS problem. One suboptimal solution for JUSRAS problem is to apply separate exhaustive search on user scheduling and antennas selection. The number of possible ways Ks K of scheduling users is and number of possible ways i=1 i
NR of selecting receive antennas is . We call this algorithm Nr as exhaustive antenna selection with exhaustive user scheduling Ks K NR (ESA-ESU). The ESA-ESU needs to evaluate + i=1 i Nr
NR Ks K subsets as in ESA. In this i=1 Nr i paper, we apply binary particle swarm optimization (BPSO) to the joint user scheduling and receive antenna selection problem. In addition to applying BPSO to JUSRAS, we present an improved BPSO scheme, which uses cyclic shifted initial population to achieve better performance in the JUSRAS problem. Our experimental results show that the computational complexity of BPSO is less than ESA and ESA-ESU, and the results (user scheduling and antenna selection) produced by BPSO have sum rate capacities very close to those produced by ESA, an optimal algorithm. According to our results, BSPO tends to produce with reduced computing time a solution comparable to an optimal solution. The rest of the paper is organized as the following. In section ‘System model’, we describe the JUSRAS problem and its formulation. In section ‘Binary particle swarm optimization for JUSRAS’, we illustrate the BPSO and its implementation to JUSRAS problem. Numerical results are presented in section ‘Computational complexity and numerical results’. The conclusion is given in section ‘Conclusions and discussions’. subsets instead of
System model We consider an uplink multiuser MIMO system with K mobile users. Each user has NT transmit antennas, and the base station (BS) has NR receive antennas. Because of hardware cost concern, we consider a system that has only Nr RF chains at the receiver, where Nr ≤ NR . It is assumed that the receiver has the channel state information (CSI). The receiver (base station) will schedule the best subset of mobile users for transmission at each time block. Signals to be transmitted are generated from the information messages in accordance with the modulation schemes, such as M-PSK, M-FSK, M-QAM, etc. The mobile radio channel is assumed to be quasi-static; that is, the channel gain remains constant during each code block of data. We denote by vector Sk ≡
T
sk1 sk2 · · · skNT ∈ CNT ×1 the NT symbols transmitted through NT transmit antennas simultaneously from the kth user in each channel use. The signal received at the receiver at each symbol duration can be expressed as [3]
where Hk is Nr × NT channel matrix whose entries represent the channel gains between Nr receive antennas at the base station (BS) and NT transmit antennas of the kth user, Y ≡
y1
y2
...
yNr
T
T
∈ CNr ×1 is the received signal vector and Z ≡
∈ CNr ×1 is the complex additive white Gaussz1 z2 . . . zNr ian noise with zero mean and unit variance. We assume that users (mobile stations) do not have their uplink channel state information4 (CSI), but the receiver at the base station has the uplink CSI. We further assume that the base station does not feedback the uplink CSI to the mobile stations. Because the users do not have the uplink CSI, it is reasonable for each of them to allocate equal transmission power to all their transmission antennas [4]. Furthermore, we assume that the base station assigns equal power for all transmitting users, and limits the total transmission power to P. If all K users are to transmit together, each user consumes transmission power P/K through NT antennas. In this case, the mutual information (or channel capacity) per symbol time for the uplink multiuser MIMO system for independent Gaussian distributed source signals for transmit antennas is [3,4]
Csum (H1 , . . ., HK ) = log2 det
INr +
K
† Hk Hk
(2)
k=1 †
where = P/(N0 KNT ), Hk denotes Hermitian (conjugate transpose) of channel matrix Hk , P is the sum of average transmit power from all mobile users, N0 is the noise power, and INr is the Nr × Nr identity matrix. For many channel conditions (H1 , H2 , . . ., HK ), disabling some users and allocating the total average power P to transmitting users results in higher mutual information (or channel capacity). Let us denote by a particular selection of users and antennas; we define to be the set of mobile users and receive antennas selected. Then, the sum rate capacity of the selected users with selected receive antenna is
⎛
⎞
† + Hk Hk ⎠ ||
Csum (, H1 , . . ., HK ) = log2 det ⎝INr
(3)
k∈
The main issue of this paper is how to determine selection so that the sum rate capacity is maximized for a given value of (H1 , H2 , . . ., HK ). We denote by ˚ the collection of all possible joint selections of users and receive antennas. Then, the number of possible ways NR of jointly selecting users and receive antennas is |˚| = × Nr
Ks K
i
i=1
. We can model JUSRAS problem as a combinatorial opti-
mization problem maxCsum (, H1 , H2 , . . ., HK ) or
⎛
∈˚
maxlog 2 det ⎝INr ∈˚
⎞
P † + Hk Hk ⎠ N0 ||
(4)
k∈
We also denote ∗
= arg maxCsum (, H1 , H2 , . . ., HK ). We rep∈˚
resent each selection by a binary string
K
Y=
367
Hk Sk + Z
(1)
= εk1 , εk2 , . . ., εkK , εR1 , εR2 , . . ., εRN
R
k=1
3 Real-time means computational time is in fraction of a millisecond or microsecond.
, εki ∈ {0, 1}, εRi ∈ {0, 1} (5)
4
H.
Channel state information is information about the current value of its channel
368
M. Naeem, D.C. Lee / Applied Soft Computing 23 (2014) 366–374
where εki is a binary indicator of whether user i is selected or not from the K users. Similarly εRi is a binary indicator of whether antenna i is selected or not from NR receive antennas. For example, let us consider a case with K = 9, Ks = 5, NR = 5 and Nr = 2. Suppose that the first, third, fifth, sixth and ninth users are selected from these K = 9 users and the first and the third antenna are selected from NR = 5. Then representing this selection will be [1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0]. Exhaustive search algorithm (ESA) evaluates all possible |˚| solutions. Enumerating over all possible solutions and finding the one that achieves maximization (4) is computationally inefficient. Computational complexity increases exponentially with the number of users. High-speed communications demand lower complexity. In the next section we will describe the BPSObased joint user scheduling and antenna selection scheme.
(4) Iter are the maximum number of iterations. (5) D is the length (dimension) of the binary string that represents a particle position. (6) l = X1l , X2l , . . ., XNl denotes the positions of the particles at
Binary particle swarm optimization for JUSRAS
(8) GBl is the globally best position ever visited by any particle up to the lth iteration in terms of fitness function F. That is, GBl =
the lth iteration, where Xkl , k = 1, 2, . . ., N, represents the position of the particle indexed by k at the iteration. Components lth l , xl , ..., xl of vector Xkl are denoted as Xkl = xk,1 , where k,2 k,D
l ∈ {0, 1} i = 1, 2, . . ., D. xk,i
l the best position at which particle k has (7) We denote by Pbk been up to the lth iteration (best among the history of partil ≡ arg max i cle k’s positions); that is, Pbk 0≤i≤l F(Xk ). We explicitly
l = pl , plbk,2 , . . ., plbk,D . For denote its components as Pbk bk,1
in the population collectively, we denote PBl = N lparticles l l Pb1 , Pb2 , ..., PbN .
In this section we present a JUSRAS scheme that utilizes particle swarm optimization (PSO). PSO is a collaborative computational technique that is derived from the social behavior of bird flocking and fish schooling. Like other evolutionary algorithms, PSO is a population-based search algorithm. In PSO, each individual is termed as a particle and a collection of particles is called population (or swarm). PSO algorithms are plausibly considered to be robust in the sense that a PSO algorithm can successfully operate (1) for a range of problem parameters and (2) despite disturbances occurring to an individual or malfunction of an individual [11,13]. Such notion is derived from a number of factors that can be observed in social insects in their operation. First, swarms are inherently redundant systems. The loss of an individual can be immediately compensated by another. Second, coordination is decentralized, so the destruction of a particular part of the swarm is unlikely to stop the operation. Third, the individuals that make up the swarm are relatively simple, making them less prone to failure. Fourth, sensing is distributed; hence the system is robust against the perturbations in the environment [16]. If we represent the optimization as maximizing the objective function (or minimizing the cost function) of several variables, x1 , x2 , . . ., xn , or finding the value of vector (x1 , x2 , . . ., xn ) that best fit in term s of the fitness measure F(x1 , x2 , . . ., xn ), then vector (x1 , x2 , . . ., xn ) can be analogically viewed as a position of a particle in the n-dimensional space. Exploring through the space to find the best solution can be analogically viewed as particles flying in the space to find the best position. PSO provides a population-based search procedure in which individuals (particles) change their positions with time. In a PSO system, particles fly around (changes their position) in a multidimensional search space (set of all potential solutions). During the flight, each particle adjusts its position on the basis of its own experience and on the basis of the neighboring particles’ experience, making use of the best position encountered by itself and its neighbors. Thus, the PSO system combines local search methods with global search methods. Therefore, each particle has a tendency to fly (move) toward better solutions [13]. In this paper, we formulate the JUSRAS problem as a discrete binary optimization problem and apply binary particle swarm optimization (BPSO) [14]. BPSO is a binary version of PSO. In BPSO every particle’s position is expressed as a string of binary digits ‘0’ and ‘1’ (bits). In BPSO, a particle can move from its current position to any other feasible position in the search space by flipping various numbers of bits. In general, BPSO can be characterized by parameters and notations (Is , F, N, Iter , D, l , PBl , GBl , Vl ), where (1) Is is the space of all potential solutions. (2) F denotes a fitness function. (3) N is the size of population – i.e., the number of particles.
l argmax1≤k≤N F Pbk = argmax1≤k≤N, 0≤i≤l F Xki . We explicitly
l , g l , . . ., g l denote its components as GBl = gb1 . Vkl , k = 1, b2 bD 2, . . ., N, denotes the velocity of particle k at the lth iteration. We also explicitly denote its components as Vkl =
vlk,1 , vlk,2 , . . ., vlk,D . For N particles in the population collec-
tively, we denote V l = V1l , V2l , . . ., VNl . In this paper we also introduce modifications to conventional BPSO in order to improve the efficiency of the proposed selection scheme. Especially, we devise, for the JUSRAS problem, a method of assigning initial positions to the particles. The BPSO algorithm in general can be briefly described as the following. Step 0: Generate initial population and velocities. At the ini0 = tial iteration l = 0, initialize each particle’s best position, Pb1 0 0 0 0 0 X1 , Pb2 = X2 , . . ., PbN = XN , initialize the global best as GB0 ≡
0 , g 0 , . . ., g 0 ) = argmax 0 (gb1 1≤k≤N F Pbk b2 bD Step 1: Update the iteration counter Step 2: For each particle, calculate the velocity
l−1 l−1 l vk,i = vl−1 + c1 × U(0, 1) × gbi − xk,i + c2 × U(0, 1) k,i
l−1 l−1 l−1 − xk,i , gbi ∈ {0, 1}, xk,i ∈ {0, 1}, pl−1 ∈ {0, 1} × pl−1 bk,i bk,i
k = 1, 2, . . ., N and i = 1, 2, . . ., D
(6)
where U(0,1) is the random variable uniformly distributed in interval (0,1), and c1 > 0 and c2 > 0 are social and cognitive parameters to control the movement of the particle in any specific direction. Step 3: Update the position of particle k’s ith element as
l xk,i
=
1 if U(0, 1) < vlk,i 0
otherwise
,
k = 1, 2, . . ., N
(7)
where is a sigmoid-kind function [14]. In this paper we use (q) = (1 + exp(− q))−1 . Step 4: Evaluate the current population according to the fitTmp ness function F. Store these values in temporary variables PB =
Tmp
Tmp
Tmp
Pb1 , Pb2 , . . . PbN . Step 5: If the convergence criteria are satisfied, then terminate. Otherwise go to step 6. Step 6: For k = 1, 2, . . ., N, update the particle k’s best as
Tmp
if F Pbk
l−1 > F Pbk , Tmp
l =P then Pbk bk l else Pbk
=
l−1 Pbk
(8)
l Step 7: Update the global best as GBl = argmax1≤k≤N F Pbk . Go to step 1 and repeat the steps
M. Naeem, D.C. Lee / Applied Soft Computing 23 (2014) 366–374
369
Fig. 1. System model for joint user scheduling and antenna selection.
In the JUSRAS problem, we represent the selection of users and receive antennas by a binary string (vector) = εk1 , εk2 , . . ., εkK , εR1 , εR2 , . . ., εRN , εki ∈ {0, 1} and εRi ∈ {0, 1}. R Each element of the binary vector is associated with a user or antenna, so the length of the string (dimension of the vector) is exactly the total number of users plus total number of receive antennas in the system. Value 1 of an element indicates that the associated user or antenna is selected, and value 0 indicates that the user or antenna is not selected (Each particle X in the general description of BPSO represents a candidate value of .). Now we discuss the modifications to the conventional BPSO. In conventional BPSO, the initial population is generated randomly. We propose technique of selecting the initial population that reduces the number of iterations until reaching an acceptable solution. The basic idea is to produce a selection of users and antennas, which we call the initial feed and represent it as a binary string X0 , and then to use cyclic shifts of this binary string X0 as the initial positions of the particles (In the JUSRAS problem, we set the length of binary string X0 (dimension of vector X0 ) to be the total number of users plus receive antennas.). We refer to this method as BPSO with cyclic shifted population. We tried two methods of generating the initial feed and presented the results in section ‘Computational
complexity and numerical results’. One is to generate the initial feed randomly, and another is to generate it based on the channel condition (Fig. 1). The cyclic shifted operation is illustrated in Fig. 2. It shows that we apply cyclic shift operation on users and antennas separately and then we join the two cyclic shifted strings to make a complete BPSO particle. Fig. 3 shows an example of cyclically shifted initial population. Fig. 3 uses the case of K = 12, Ks = 4, NR = 8, and Nr = 3 to illustrate the idea of cyclically shifted initialization. The use of cyclic shifts as the initial positions of the population ensures that every user/antenna is selected more or less the same number of times in the initial population (equal opportunity for all users/antennas). This results in unbiased users/antenna selection at the initialization of the BPSO. In randomly generated initial population, some users/antenna may not even be selected in the initial population in an extreme case. After generating cyclic shifts of the initial feed for the users and receive antennas separately, one can think of a number of ways of combining the users selections and the receive antenna selections generate the initial positions of particles. In this paper we use a concatenation technique illustrated in Fig. 3. To generate initial positions of particles, we concatenate the initial feed (binary string) of the user and the initial
Fig. 2. Cyclic shifted operation for users and receive antennas.
370
M. Naeem, D.C. Lee / Applied Soft Computing 23 (2014) 366–374
Fig. 3. Example of cyclic shifted initial population.
feed of the receive antennas, the first cyclic shift of the user’s initial feed and the first cyclic shift of the receive antenna’s initial feed, the second cyclic shift of the user’s initial feed and the second cyclic shift of the receive antennas’ initial feed, etc. In the case of K = NR , this concatenation approach generates K = NR initial / NR , we first concatepositions of the particles. In the case of K = nate min(K,NR ) user-receive antenna string pairs, and we choose max(K,NR ) − min(K,NR ) strings randomly from all cyclic shifts of the user/receive antenna side (whichever has the smaller number) and concatenate them with the rest max(K,NR ) − min(K,NR ) cyclic shifts of the other side one by one. Fig. 3 illustrates the BPSO initialization procedure for the case that the numbers of the user and the receive antennas are not equal. In this paper we just described the generation of max(K,NR ) initial positions. Note that one can add more by including concatenation of different user–receive antenna combination of strings or by adding randomly generated positions.
Computational complexity and numerical results For performance comparison, we present the simulation results of the proposed BPSO JUSRAS problem. We use, as the performance metric, the percentage deviation from the optimal value (the results deviation is of the exhaustivesearch algorithm). ESA The percentage ESA − C ESA expressed as 100 Csum sum /Csum , where Csum is the sum-rate capacity of ESA (optimal) algorithm and Csum is the sum-rate capacity of any suboptimal algorithm (Note: can be BPSO, GA or random selection). In this section we compare the performance of BPSO
with Genetic Algorithm (GA), Random Selection,5 and ESA-ESU. In all our simulations the channel was assumed to be quasi-static, and different channels in the MIMO were assumed statistically independent. The parameters used for simulations were selected so that the performance of BPSO is evaluated for different search space sizes and signal to noise ratios. For performance comparison, we used four scenarios (K, Ks , NT , NR , Nr , N, Iter ) = (10, 4, 2, 10, 2, 10, 25), (26, 4, 2, 8, 2, 26, 25), (30, 3, 2, 6, 3, 30, 25), (16, 6, 2, 8, 3, 16, 25), and (20, 4, 10, 2, 20, 25). The results are presented in Figs. 4–8 respectively. Figs. 4–8 illustrate the performance the ESA-ESU, Random Selection, conventional BPSO, and GA-based JUSRAS schemes in relation to the optimal performance (performance of ESA). Expression (4) is used as the fitness function. The initial population in these figures is randomly generated. Each point in these figures is based on averaging the fitness values of 100 independent simulation runs. In each simulation run, a set of channel matrices H1 , H2 , . . ., HK were randomly generated independently of other simulation runs (We generated the real and imaginary parts of all components of theses channel matrices randomly and statistically independently each from the 0-mean Gaussian distribution with variance 1/2.). For the case of ESA-ESU algorithm, the average performance presented in each point of Figs. 4–8 takes into account different random channel realizations in different simulation runs. For the cases of stochastic algorithms, Random Selection, GA, BPSO, the average performance presented in
5 Random Selection [1,4] chooses a combination of user subset and antennas subset randomly.
M. Naeem, D.C. Lee / Applied Soft Computing 23 (2014) 366–374 30
30 ESA-ESU Random BPSO GA
ESA-ESU Random BPSO GA
25 Percentage Deviation From Optimal
25 Percentage Deviation From Optimal
371
20
15
10
5
20
15
10
5
5
10
15 SNR (dB)
20
25
Fig. 4. Performance comparison of different algorithms with K = 10, Ks = 4, NR = 10, Nr = 2 and NT = 2. The population size of BPSO/GA is 10 and the maximum number of generations for BPSO/GA is 25. Each point shows performance averaged over 100 independent simulation runs.
each point of Figs. 4–8 takes into account each algorithm’s random behaviors realized in different simulation runs as well as different channel realizations (We randomized the channel gains in order to evaluate different algorithms comprehensively for different possible channels. Gaussian channel is a well accepted channel model in wireless communications.). These figures show that percentage deviation from the optimal algorithm achieved by the BPSO algorithm is close zero and is better than GA, Random Selection, and ESA-ESU algorithms for a wide range of SNR. Intuitively, BPSO is highly likely to yield a better solution if the algorithm runs more iterations for the same population size. Figs. 9–11 exhibit the effect of different schemes of generating BPSO initial population in BPSO. The performance is evaluated with three scenarios (K, Ks , NT , NR , Nr , N, SNR) = (8, 3, 2, 8, 4, 8, 10 dB), (8, 3, 2, 8, 4, 8, 20 dB) and (10, 4, 2, 10, 4, 10, 10 dB). Figs. 9–11 show the sum rate capacities achievable by the intermediate solutions against the number of iterations run to obtain the intermediate solutions for different BPSO initialization schemes and GA. The three different BPSO initialization schemes are denoted in these figures as the “BPSO with random population” (random selection
Percentage Deviation From Optimal
25
10
15 SNR (dB)
20
25
Fig. 6. Performance comparison of different algorithms with K = 30, Ks = 3, NR = 6, Nr = 3 and NT = 2. The population size of BPSO/GA is 30 and the maximum number of generations for BPSO/GA is 25. Each point shows performance averaged over 100 independent simulation runs.
25
ESA-ESU Random BPSO GA
20
15
10
5
0
5
10
15 SNR (dB)
20
25
of all initial population), “BPSO with cyclic shift” (randomly generated initial feed and its cyclic shifts for the initial population), and BPSO with the best norm feed. In the BPSO with the best norm feed,6 the antennas/users with the best channel conditions are selected to construct the initial feed, and the individuals in the initial population are generated by cyclically shifting this initial feed. Simulation results show that performance of BPSO with best norm feed and BPSO with cyclic shift is better than BPSO with randomly chosen population and GA. Figs. 12–14 explore the stochastic nature of BPSO and GA algorithms in the JUSRAS problem. For these figures the parameters
15
10
5
0
5
Fig. 7. Performance comparison of different algorithms with K = 16, Ks = 6, NR = 8, Nr = 3 and NT = 2. The population size of BPSO/GA is 16 and the maximum number of generations for BPSO/GA is 25. Each point shows performance averaged over 100 independent simulation runs.
ESA-ESU Random BPSO GA
20
0
Percentage Deviation From Optimal
0
5
10
15 SNR (dB)
20
25
Fig. 5. Performance comparison of different algorithms with K = 26, Ks = 4, NR = 8, Nr = 2 and NT = 2. The population size of BPSO/GA is 26 and the maximum number of generations for BPSO/GA is 25. Each point shows performance averaged over 100 independent simulation runs.
6 In BPSO with best norm feed, the initial feed selects Nr rows that have the highest vector norms from concatenated matrix H ≡ (H1 , H2 , . . ., HK ) and selects the corresponding receive antennas. As for the users, the initial feed selects Ks matrices with the highest Frobenius norms from the set of matrices {H1 , H2 , . . ., HK }and selects the corresponding users.
372
M. Naeem, D.C. Lee / Applied Soft Computing 23 (2014) 366–374
34.5
30 ESA-ESU Random BPSO GA
34
20
Capacity (bits/s/Hz)
Percentage Deviation From Optimal
25
BPSO With Best Norm Feed BPSO With Cyclic Shift BPSO With Random population GA
15
10
33.5
33
32.5
5
0
32
5
10
15 SNR (dB)
20
25
Fig. 8. Performance comparison of different algorithms with K = 20, Ks = 4, NR = 10, Nr = 2 and NT = 2. The population size of BPSO/GA is 20 and the maximum number of generations for BPSO/GA is 25. Each point shows performance averaged over 100 independent simulation runs.
3
4
determinant INr +
†
||
Hk Hk , approximately ||(Nr2 NT ) com-
k∈
plex multiplications and additions are required. The term
det ⎝INr +
||
⎞ HK Hk ⎠ needs †
Nr3 /3 + || Nr2 NT
tions.
The
ESA-ESU
10
complex
requires
NR Nr
+
k∈
K k
×
Nr3 /3 + || Nr2 NT complex multiplications and additions. In modern communication and signal processing systems, dedicated DSP processors are used for complex multiplications and
36.2 36 35.8
20.6
35.6 Capacity (bits/s/Hz)
Capacity (bits/s/Hz)
9
multiplications and additions. The exhaustive search algorithm NR K needs to compute × complex determik∈ k Nr nants, so the number and additions of complexmultiplications 3 NR K for ESA is × × Nr /3 + || Nr2 NT . k∈ k Nr The BPSO and GA compute NIter determinants, so they require NIter Nr3 /3 + || Nr2 NT complex multiplications and addi-
BPSO With Best Norm Feed BPSO With Cyclic Shift BPSO With Random population GA
20.8
8
k∈
21.2 21
6 7 Iterations
Fig. 10. Per iteration performance comparison of BPSO, BPSO with cyclic shift, BPSO with best norm and GA with K = 8, Ks = 3, NR = 8, Nr = 4, NT = 2 and SNR is 20 dB. The population size of BPSO/GA is 8. Each point shows performance averaged over 100 independent simulation runs.
⎛ were set (K, Ks , NT , NR , Nr , N, Iter ) = (12, 4, 2, 8, 2, 12, 10). There were 1000 independent simulation runs. Figs. 12 and 13 show the empirical distribution histogram of the sum rate capacities achieved by BPSO and GA for SNR = 5 dB and SNR = 20 dB, respectively. The results indicate that BPSO obtains more consistent quality of solutions than GA. Fig. 14 shows the standard deviation versus SNR plot. The standard deviation of BPSO is less than that of GA for all values of SNR. As a measure of computational complexity we consider the number of complex multiplications and additions (CMAA) required by each algorithm. For a n × n matrix, each determinant requires (1/3)n3 complex multiplications and additions [15]. In order to calculate the expression inside the
5
20.4 20.2 20
35.4 35.2 35
19.8
34.8
19.6
34.6
19.4
34.4
3
4
5
6
7
8
9
10
Iterations Fig. 9. Per iteration performance comparison of BPSO, BPSO with cyclic shift, BPSO with best norm and GA with K = 8, Ks = 3, NR = 8, Nr = 4, NT = 2 and SNR is 10 dB. The population size of BPSO/GA is 8. Each point shows performance averaged over 100 independent simulation runs.
34.2
BPSO With Best Norm Feed BPSO With Cyclic Shift BPSO With Random population GA 3
4
5
6 7 Iterations
8
9
10
Fig. 11. Per iteration performance comparison of BPSO, BPSO with cyclic shift, BPSO with best norm and GA with K = 10, Ks = 4, NR = 10, Nr = 4, NT = 2 and SNR = 10 dB. The population size of BPSO/GA is 10. Each point shows performance averaged over 100 independent simulation runs.
M. Naeem, D.C. Lee / Applied Soft Computing 23 (2014) 366–374
373
Table 1 The CMAA and time required by different algorithms for different JUSRAS scenarios. Parameters [K, Ks , NT , NR , Nr , N, Iter ]
ESA
[10, 4, 2, 10, 2, 10, 25] [26, 4, 2, 8, 2, 26, 25] [30, 3, 2, 6, 3, 30, 25] [16, 6, 2, 8, 3, 16, 25]
ESA-ESU
CMAA
Time (ms)
600,600 17,375,904 5,701,500 97,572,384
1.2 34.8 11.4 195.1
BPSO
0.3 0.28
160
160
140
140
120
120
100
100
80
80
60
60
40
40
20
20
0
0
Time (ms)
8666 22,533 47,250 46,800
0.000173 0.00045 0.00094 0.000936
0.26
Standard Deviation
180
CMAA
0.000298 0.0012 0.00057 0.0035
BPSO GA
200
180
Time (ms)
14,907 621,540 286,335 1,748,916
GA
200
BPSO
CMAA
0.24 0.22 0.2 0.18 0.16 0.14 0.12
8
8.5
9
9.5
10
8
8.5
9
9.5
Fig. 12. The histogram of the BPSO and GA with K = 12, Ks = 4, NR = 8, Nr = 2, NT = 2, BPSO/GA population size = 12, BPSO/GA generations = 10 and SNR is fixed at 5 dB. The horizontal axis is the sum rate capacity. The vertical axis is the number of occurrences in 1000 independent simulation runs.
additions. To check the feasibility of proposed algorithm for practical implementation, in Table 1 we present the computation time and number of complex multiplications and additions (CMAA) required by each algorithms for different parameter settings (i.e., different search space size). The time is calculated for Texas Instruments DSP processor C67XX series with the capability of 500 millions multiplications and additions per second (MMACS).
BPSO
GA
200
200
180
180
160
160
140
140
120
120
100
100
80
80
60
60
40
40
20
20
0 18
18.5
19
19.5
20
0 18
18.5
19
19.5
5
10
10
20
Fig. 13. The histogram of the BPSO and GA with K = 12, Ks = 4, NR = 8, Nr = 2, NT = 2, BPSO/GA population size = 12, BPSO/GA generations = 10 and SNR is fixed at 20 dB. The horizontal axis is the sum rate capacity. The vertical axis is the number of occurrences in 1000 independent simulation runs.
15 SNR (dB)
20
25
Fig. 14. The standard deviation plot of the BPSO and GA with K = 12, Ks = 4, NR = 8, Nr = 2, NT = 2, BPSO/GA population size = 12, BPSO/GA generations = 10. There are 1000 independent simulation runs.
The comparison shows that BPSO requires less time than ESA and ESA-ESU. The time for BPSO and GA is approximately same but the performance of BPSO is better than GA. Conclusions and discussions We studied the idea of applying PSO to a problem of contemporary interest in the field of wireless communications, the joint user scheduling and receive antenna selection (JUSRAS) problem in multiuser MIMO system. We focused on BPSO and made significant efforts to design a good BPSO algorithm for JURAS. In particular, we used some intuition gained from domain knowledge of JURAS in order to design a method to generate initial population of BPSO. We found BPSO algorithms that require very low computational complexity and yet provide solutions that are close to the solution obtained by the exhaustive search. An important conclusion of this paper is that we found a BPSO algorithm that produces a better solution to the JURAS problem in a shorter computation time on the average than popular algorithms (ESA-ESU and Random Selection algorithms) discussed in the wireless communications field. The significance of this conclusion is that bio-inspired probabilistic evolutionary algorithms should receive attention as a new practical approach to the JURAS problem. This calls for more thorough study of BPSO as a solution to JURAS problem by exploring the space of BPSO parameters. The results in this paper also call for more study of other bioinspired evolutionary algorithms such as ant colony optimization (ACO) [18] as approaches to solving the JURAS problem. Furthermore, the probabilistic evolutionary algorithms such as GA should be more thoroughly studied for their suitability for solving the JURAS problem, although our preliminary results indicate that our BPSO appears more suitable than GA and ACO for the JURAS problem. In fact, the simple model, low implementation complexity,
374
M. Naeem, D.C. Lee / Applied Soft Computing 23 (2014) 366–374
resistance to trap in a local minimum all make probabilistic evolutionary algorithms suitable candidates for solving complex communication problems like the joint user scheduling and antenna selection. Our main focus within the probabilistic evolutionary algorithms in this paper was particle swarm optimization (PSO). There are already many examples of applying PSO to engineering problems (e.g., Jammer Excision in CDMA [19], optimization of power network [20], image processing and feature selection [21] etc.) BPSO fits well for solving challenging discrete optimization problems. In fact, for any NP-hard [17] problems, BPSO should be considered as a potentially practical approach. PSO in general can be used for optimization problem in which the domain of the cost function is continuum in the Euclidian space. The position in each particle can represent a candidate solution in the Euclidian space. PSO in general should be considered again as a potentially practical approach to solving optimization problems in which the objective function has many local extrema. References [1] A. Molisch, M. Win, Y.-S. Choi, J. Winters, Capacity of MIMO systems with antenna selection, IEEE Trans. Wirel. Commun. 4 (July (4)) (2005) 1759–1772. [2] E. Telatar, Capacity of multi-antenna Gaussian channels, Eur. Trans. Telecomm. 10 (November) (1999) 569–709. [3] S. Vishwanath, N. Jindal, A. Goldsmith, Duality, achievable rates, and sum-rate capacity of Gaussian MIMO broadcast channels, IEEE Trans. Inform. Theory 49 (October) (2003) 2658–2668. [4] Y. Zhang, C. Ji, Y. Liu, W.Q. Malik, D.C. O’Brien, D.J. Edwards, A low complexity user scheduling algorithm for uplink multiuser MIMO systems, IEEE Trans. Wirel. Commun. 7 (July (7)) (2008) 2486–2491. [5] Z. Shen, J.G. Andrews, R.W. Heath Jr., B.L. Evans, Low complexity user selection algorithms for multiuser MIMO systems with block diagonalization, IEEE Trans. Signal Process. 54 (September (9)) (2006) 3658–3663.
[6] Z. Shen, R. Chen, J.G. Andrews, R.W. Heath Jr., B.L. Evans, Sum capacity of multiuser MIMO broadcast channel with block diagonalization, IEEE Trans. Wirel. Commun. 6 (June (6)) (2007) 2040–2045. [7] C. Anton-Haro, P. Svedman, M. Bengtsson, A. Alexiou, A. Gameiro, Cross-layer scheduling for multi-user MIMO systems, IEEE Commun. Mag. 44 (September (9)) (2006) 39–45. [8] A. Gorokhov, D. Gore, A. Paulraj, Receive antenna selection for MIMO spatial multiplexing: theory and algorithms, IEEE Trans. Signal Process. 51 (November (11)) (2003) 2796–2807. [9] S. Sanayei, A. Nosratinia, Capacity of MIMO channels with antenna selection, IEEE Trans. Inf. Theory 53 (November (11)) (2007) 4356–4362. [10] M. Naeem, D.C. Lee, Low-complexity joint transmit and receive antenna selection for MIMO systems, Eng. Appl. Artif. Intell. 24 (2011) 1046–1051. [11] Y. del Valle, G.K. Venayagamoorthy, S. Mohagheghi, Particle swarm optimization: basic concepts, variants and applications in power systems, IEEE Trans. Evol. Comput. 12 (April (2)) (2008) 171–195. [13] J. Kennedy, R.C. Eberhart, Particle SWARM optimization, in: Proceedings of IEEE Conf. on Neural Networks, Piscataway, NJ, USA, 1995, pp. 1942–1948. [14] J. Kennedy, R.C. Eberhart, A discrete binary version of the particle swarm optimization, in: Proceedings of the Conference on Systems, Man, and Cybernetics, SMC97, 1997, pp. 4104–4109. [15] G.H. Golub, C.F. VanLoan, Matrix Computations, The Johns Hopkins University Press, Baltimore, Maryland, 1983. [16] C. Blum, D. Merkle (Eds.), Swarm Intelligence: Introduction and Applications, Springer, Berlin, 2008. [17] M.R. Garey, D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman and Company, New York, 1979. [18] M. Kong, P. Tian, Introducing a binary ant colony optimization Proceedings of the 6th International Workshop on ACO and Swarm Intelligence, LNCS, vol. 4150, 2006, pp. 444–451. [19] I. Zaka, H. Rehman, M. Naeem, S.I. Shah, J. Ahmad, Narrowband jammer excision in CDMA using particle swarm optimization Proceeding of International Conference on Intelligent Computing. Lecture Notes in Computer Science, vol. 5226, 2008, pp. 601–609. [20] C. Peng, X. Xu, A hybrid algorithm based on BPSO and immune mechanism for PMU optimization placement, in: Proc. IEEE World Congress on Intelligent Control and Automation, 2008, pp. 7036–7040. [21] H. Zhang, H. Mao, Feature selection for the stored-grain insects based on PSO and SVM, in: Proc. International Workshop on Knowledge Discovery and Data Mining, 2009, pp. 586–589.