Abstract:
Methods are described for near optimal Antenna and/or sensor selection via population-based probabilistic evolutionary algorithms such as estimation of distribution algorithm (EDA) and bio-inspired Optimization (BIO). The aspects of the invention includes a method for joint transmit and receive antenna selection using EDA; and an enhanced EDA, which uses cyclic shift register and biased estimation of distribution; and methods for joint transmit and receive antenna selection using improved population-based optimization. The proposed EDA-based and bio-inspired selection methods results in performances that are close to the ESA (exhaustive search algorithm) and yet impose mush less computational burden than ESA. Another advantage of our methods is that they can be easily implemented on parallel processors.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of provisional patent application No. 61/136,282 filed 25 Aug. 2008 and entitled JOINT TRANSMIT AND RECEIVE ANTENNA SELECTION METHODS WITH PROBABILISTIC EVOLUTIONARY ALGORITHMS. 
     
    
     TECHNICAL FIELD 
       [0002]    The invention relates to data communication and signal processing, especially, data communication in which multiple transmit and/or receive antennas are used. 
       BACKGROUND 
       [0003]    Multiple-input-multiple-output (MIMO) communication systems can have significantly higher channel capacity than single-input-single-output (SISO) systems for the same total transmission power and bandwidth [1]. In wireless communications, MIMO systems have the ability to deal with multipath propagation [1] [2]. It is also known that capacity of MIMO systems increases with the number of antennas. However, in practical communication systems, combining signals carried by a larger number of antennas increases the number of RF chains, which increases the cost of the overall system. In [4], 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 much sacrificing the advantage of multi antenna diversity. Which subset of antennas is good depends on the channels&#39; conditions. Therefore, one can embody a MIMO communication system that has a larger number of antennas than the number of RF chains and selects, on the basis of the channels&#39; conditions, a subset of antennas to which to connect the RF chains. Therefore, a need exists for antenna selection scheme that has low computational complexity and better performance. Especially, for wireless communications, the channels conditions can vary in time rapidly and the communication systems may have to change its selection of the antennas frequently in order to maintain high performance in communication. Therefore, computational efficiency of the antenna selection algorithm is important for adapting the antennas selection quickly to changing channel conditions. 
         [0004]    No polynomial-time algorithm is known to select the antennas optimally. Finding an optimal selection of antennas can require a large amount of processing at the receiver side and thus result in a long processing delay and high processing power consumption. Due to the high computational complexity of the optimal selection, a number of suboptimal solutions with lower complexity were proposed in literature [5] [6] [7] [8] [9] [10]. There are a few patents on antenna selection method, e.g. for joint transmit/receive antenna selection [I] and receive antenna selection [II] [III] [IV]. The complexity an algorithm and the performance of a MIMO communication system depend on the number of transmit/receive antennas; i.e., complexity of an algorithm increases with the number of antennas and the performance of a MIMO communication system improves if the number of antennas increases. 
         [0005]    A major aim for transmit or receive antenna selection schemes in the literature is to determine a good selection of antennas with low computational complexity. Different receive antenna selection algorithms are proposed in [5][6][8][9][10], and similarly a number of transmit antenna selection algorithms are proposed in [3][4][7]. All these proposed algorithms are presented to reduce the complexity of antenna selection while obtaining a good selection. There is tradeoff between the goodness of a selection and the computational amount to determine the selection. Our proposed transmit and/or receive antenna selection algorithm shows a better goodness-computation tradeoff. 
         [0006]    Most of the antenna selection schemes are either proposed for receive antenna selection [4][5][6][7][8][9][10] or transmit antenna selection [1][2][3] separately. The main drawback of separate antenna selection is that hardware cost can only reduce at one side (either transmit side or receive side). In [13] authors proposed a kind of joint antenna selection scheme by performing separate exhaustive search on transmit and receive side. (This technique is termed as Decoupled antenna selection.) Decoupled antenna selection has two disadvantages 1) its complexity is high and 2) its performance is not close to the optimal performance. Our proposed joint antenna selection algorithm not only searches for a near optimum solution in real time but also has low computational complexity than all previous joint antenna selection algorithms. 
       SUMMARY OF THE INVENTION 
       [0007]    This invention provides methods and apparatus for selecting, inter alia, antennas on transmitter, and/or receiver in multi-antenna communication systems, for selecting antennas and/or users in multi-user and/or multi-antenna communication systems, and for selecting sensors in a system comprising multiple sensors. The invention may be embodied in numerous engineering systems comprising multiple sensors and communication systems. One aspect of the invention provides methods that cope well with externally imposed constraints on antenna and/or sensor selections such as the maximum number of antennas that can be in use and/or the maximum number of sensors that can be in operation at a time frame. 
         [0008]    Embodiments of our method use and configure population-based evolutionary algorithms, and an aspect of the invention provides methods of generating initial populations for these algorithms. Such methods include representing a possible solution by a vector and generating multiple vectors by choosing an initial feed vector and its cyclic shifts. Another aspect of the invention allows the methods to configure the population-based algorithm in order to prevent premature convergence to a local optimum. 
         [0009]    Another aspect of the invention also allows applying biased weights in estimating probability distributions used in generating populations in the case of employing an Estimation-of-Distribution algorithm (EDA). 
         [0010]    Further aspects of the invention and features of specific embodiments of the invention are described below. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]      FIG. 1  illustrate a block diagram of joint transmit/receive antenna selection system in accordance with a preferred application of the present invention. 
           [0012]      FIG. 2  is a flow chart of conventional Estimation of Distribution Algorithms  FIG. 3  is a flow chart of the improved method of applying an EDA by adding a threshold on estimated distributions and cyclic shifted initial population. 
           [0013]      FIG. 4  illustrates the composition of EDA population individual. 
           [0014]      FIG. 5  illustrates the cyclic shifted operation on adjacent antennas. 
           [0015]      FIG. 6  illustrates the cyclic shifted operation on best selected transmit and receive antennas 
           [0016]      FIG. 7  is a flow chart of the improved method of applying a BPSO by introducing initial feed and cyclic shifted initial population. 
           [0017]      FIG. 8  illustrates performance of various antenna selection algorithms. 
           [0018]      FIG. 9  illustrates performance of EDA with different initial feeds 
           [0019]      FIG. 10  illustrates the sigmoid function 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     1. Model of a Communication System with Multiple Transmit Antennas and/or Multiple Receive Antennas 
       [0020]    We consider an embodiment of a MIMO (Multiple-Input-Multiple-Output) system  FIG. 1  with N T    115  transmit antennas and N R  received antennas  120 . There are N r  RF chains  130  at the receiver and N t  RF chains  105  at the transmitter. It is assumed that channel state information (CSI) is known at the receiver. This assumption is reasonable if training or pilot signals are sent to learn the channel, which is almost constant for some coherence time interval. On the basis of this known CSI, the receiver will select N, RF chains  130  from N R  received antennas  120 . The channel information is provided to the transmitter through a feedback channel  140 . On the basis of this feedback information, the transmitter selects N t  RF chains  105  from N T  transmit antennas  115 . Source symbols are mapped into a modulation scheme such as M-PSK, M-FSK or M-QAM. Assuming that the mobile radio channel gain remains constant during one block of data, we can mathematically represent the signal received at the receiver as 
         [0000]    
       
         
           
             
               
                 
                   Y 
                   = 
                   
                     
                       
                         
                           
                             E 
                             s 
                           
                           
                             N 
                             T 
                           
                         
                       
                        
                       HS 
                     
                     + 
                     Z 
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where E s  is the total energy available at the transmitter during a symbol period, Y≡[Y 1  Y 2  . . . Y N     R   ] T ε           N     R     ×1  is the received matrix, S≡[S 1  S 2  . . . S N     T   ] T ε           N     T     ×1  is the matrix of transmitted symbols, channel matrix is Hε           N     R     ×N     T   , and additive noise vector Z≡[Z 1  Z 2  . . . Z N     R   ] T ε           N     R     ×1 . Z is the complex additive white Gaussian noise with zero mean and variance N o /2 per dimension. For any H, the capacity of the MIMO system is [2][4] 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       C 
                        
                       
                         ( 
                         H 
                         ) 
                       
                     
                     = 
                     
                       
                         log 
                         2 
                       
                        
                       
                         det 
                          
                         
                           ( 
                           
                             
                               I 
                               
                                 N 
                                 T 
                               
                             
                             + 
                             
                               
                                 
                                   E 
                                   s 
                                 
                                 
                                   
                                     N 
                                     o 
                                   
                                    
                                   
                                     N 
                                     T 
                                   
                                 
                               
                                
                               
                                 H 
                                 H 
                               
                                
                               H 
                             
                           
                           ) 
                         
                       
                     
                   
                    
                   
                     
 
                   
                    
                   or 
                    
                   
                       
                   
                    
                   
                     
 
                   
                    
                   
                     
                       C 
                        
                       
                         ( 
                         H 
                         ) 
                       
                     
                     = 
                     
                       
                         log 
                         2 
                       
                        
                       
                         det 
                          
                         
                           ( 
                           
                             
                               I 
                               
                                 N 
                                 R 
                               
                             
                             + 
                             
                               
                                 
                                   E 
                                   s 
                                 
                                 
                                   
                                     N 
                                     o 
                                   
                                    
                                   
                                     N 
                                     T 
                                   
                                 
                               
                                
                               
                                 HH 
                                 H 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where I N     x    is the identity matrix, and (•) H  represents the Hermitian transpose. We denote by Φ the collection of all transmit/receive antenna combinations Then, the number of possible selections are 
         [0000]    
       
         
           
             
                
               Φ 
                
             
             = 
             
               
                 ( 
                 
                   
                     
                       
                         N 
                         R 
                       
                     
                   
                   
                     
                       
                         N 
                         r 
                       
                     
                   
                 
                 ) 
               
               × 
               
                 ( 
                 
                   
                     
                       
                         N 
                         T 
                       
                     
                   
                   
                     
                       
                         N 
                         t 
                       
                     
                   
                 
                 ) 
               
             
           
         
       
     
         [0000]    where N r ≦N R  and N t ≦N T . For these |Φ| subsets the maximum capacity associated with joint transmit/receive antenna is 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       C 
                        
                       
                         ( 
                         
                           H 
                           φ 
                         
                         ) 
                       
                     
                     = 
                     
                       
                         argmax 
                         
                           φ 
                           ∈ 
                           Φ 
                         
                       
                        
                       
                         log 
                         2 
                       
                        
                       
                         det 
                         ( 
                         
                           
                             I 
                             
                               N 
                               t 
                             
                           
                           + 
                           
                             
                               
                                 E 
                                 s 
                               
                               
                                 
                                   N 
                                   o 
                                 
                                  
                                 
                                   N 
                                   t 
                                 
                               
                             
                              
                             
                               
                                 ( 
                                 
                                   H 
                                   φ 
                                 
                                 ) 
                               
                               H 
                             
                              
                             
                               ( 
                               
                                 H 
                                 φ 
                               
                               ) 
                             
                           
                         
                         ) 
                       
                     
                   
                    
                   
                     
 
                   
                    
                   or 
                    
                   
                     
 
                   
                    
                   
                     
                       C 
                        
                       
                         ( 
                         
                           H 
                           φ 
                         
                         ) 
                       
                     
                     = 
                     
                       
                         argmax 
                         
                           φ 
                           ∈ 
                           Φ 
                         
                       
                        
                       
                         log 
                         2 
                       
                        
                       
                         det 
                         ( 
                         
                           
                             I 
                             
                               N 
                               r 
                             
                           
                           + 
                           
                             
                               
                                 E 
                                 s 
                               
                               
                                 
                                   N 
                                   o 
                                 
                                  
                                 
                                   N 
                                   t 
                                 
                               
                             
                              
                             
                               ( 
                               
                                 H 
                                 φ 
                               
                               ) 
                             
                              
                             
                               
                                 ( 
                                 
                                   H 
                                   φ 
                                 
                                 ) 
                               
                               H 
                             
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where C(H φ ) is the capacity achieved by selecting N r  receive and N t  transmit antennas, H φ ε           N     r     ×N     t    and E s /N o  is the mean SNR per receive branch. We denote by φ the selected subset of transmit and receive antennas. We index φ by binary a string 
         [0000]        Q=[q   1   T   , q   2   T   , . . . , q   N     T     T   , q   1   R   , q   2   R   , . . . , q   N     R     R   ], q   i   T ε{0,1} and  q   j   R ε{0,1}  (4) 
         [0000]    where q i   T  is a binary indicator of whether antenna i is selected or not from N T  transmit antennas. Similarly q j   R  is a binary indicator of whether antenna j is selected or not from N R  receive antennas For example, let us consider a case with N T =4, N t =2 and N R =5, N r =3. Suppose that the first and third antenna are selected from transmit antennas and the first, second and fifth antenna are selected from receive antennas. Then φ representing this selection will be [1, 0, 1, 0, 1, 1, 0, 0, 1]. Exhaustive Search Algorithm (ESA) evaluate all possible |Φ| combinations, enumerating over all possible combinations and finding the one that can maximize the (3) is computationally inefficient, and a computationally efficient algorithm is not known. Computational complexity increases exponentially with number of transmit and receive antennas. High-speed communications demand a method with lower complexity. 
       2. Estimation of Distribution Algorithm (EDA) for Antenna Selection 
       [0021]    We now present a method for joint transmit and receive antenna selection that utilizes Estimation of Distribution Algorithms (EDAs). EDAs are population based search algorithms that rely on probabilistic modeling of potential solutions. Generally in evolutionary algorithms, two fixed parents recombination and evolution often provide poor quality solution, causing a premature convergence to a local optimum. To overcome this problem, in EDAs the recombination process is replaced by generating new potential solutions according to the probability distribution of good solutions from the previous iteration. In estimating the probability distribution, the interdependence of variables remains intact. Thus, EDAs can consider interactions among variables. 
         [0022]    A typical, conventional EDA is illustrated in  FIG. 2 . In evolutionary algorithms, new population of individuals is generated at each iteration. The composition of these individuals is shown in  FIG. 4 . These individuals are selected at each iteration, from the pool, which contains only the best individuals from the previous iterations. In EDAs, the new population individuals are generated without crossover and mutation operators (as in other evolutionary algorithm); instead, new population individuals are generated based on a probability distribution, which is estimated form the pool of previous iteration. 
         [0023]    In general, conventional EDAs can be characterized [11] by parameters (I s , F, Δ l , η l , p s , D es , F Ter ), where
   1. I s  is the space of all potential solutions (entire search space of individuals).   2. F denotes a fitness function.   3. Δ l  is the set of individuals (population) at the l th  iteration.   4. η l  is the set of best candidate solutions selected from set Δ l  at the lth iteration.   5. p s =|η l |/|Δ l | is called selection probability.   6. D es  is the distribution estimated from η (the set of selected candidate solutions) at each iteration.   7. F Ter  is the termination criteria.
 
A typical EDA is illustrated in  FIG. 2 , which is described as follows:
 
Step  1 : Generate initial population randomly  200 . Typically, each individual is designated by a binary string of length n (n-dimensional binary vector). The initial population (A|Δ l | individuals) is typically obtained by sampling according the uniform distribution [11]:
   
 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         p 
                          
                         
                           ( 
                           
                             X 
                             j 
                           
                           ) 
                         
                       
                       = 
                       
                         
                           ∏ 
                           
                             i 
                             = 
                             1 
                           
                           n 
                         
                          
                         
                             
                         
                          
                         
                           p 
                            
                           
                             ( 
                             
                               x 
                               i 
                               j 
                             
                             ) 
                           
                         
                       
                     
                     , 
                     
                       
                         ∀ 
                         j 
                       
                       = 
                       
                         { 
                         
                           1 
                           , 
                           2 
                           , 
                           … 
                            
                           
                               
                           
                           , 
                           
                              
                             
                               Δ 
                               l 
                             
                              
                           
                         
                         } 
                       
                     
                     , 
                     
                         
                     
                      
                     
                       
 
                     
                      
                     and 
                   
                    
                   
                     
 
                   
                    
                   
                     
                       
                         p 
                          
                         
                           ( 
                           
                             
                               x 
                               i 
                             
                             = 
                             1 
                           
                           ) 
                         
                       
                       = 
                       
                         
                           p 
                            
                           
                             ( 
                             
                               
                                 x 
                                 i 
                               
                               = 
                               0 
                             
                             ) 
                           
                         
                         = 
                         0.5 
                       
                     
                     , 
                     
                       i 
                       = 
                       1 
                     
                     , 
                     2 
                     , 
                     … 
                      
                     
                         
                     
                     , 
                     n 
                     , 
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where binary n-dimensional vector, X j =(x 1   j , x 2   j , x 3   j , . . . , x n   j ), x i   j ε(0,1) represents an individual. The current population can be written in a matrix form 
         [0000]    
       
         
           
             
               
                 
                   X 
                   = 
                   
                     
                       ( 
                       
                         
                           
                             
                               X 
                               1 
                             
                           
                         
                         
                           
                             
                               X 
                               2 
                             
                           
                         
                         
                           
                             ⋮ 
                           
                         
                         
                           
                             
                               X 
                               
                                  
                                 
                                   Δ 
                                   l 
                                 
                                  
                               
                             
                           
                         
                       
                       ) 
                     
                     = 
                     
                       ( 
                       
                         
                           
                             
                               x 
                               1 
                               1 
                             
                           
                           
                             
                               x 
                               2 
                               1 
                             
                           
                           
                             ⋮ 
                           
                           
                             
                               x 
                               n 
                               1 
                             
                           
                         
                         
                           
                             
                               x 
                               1 
                               2 
                             
                           
                           
                             
                               x 
                               2 
                               2 
                             
                           
                           
                             ⋮ 
                           
                           
                             
                               x 
                               n 
                               2 
                             
                           
                         
                         
                           
                             … 
                           
                           
                             … 
                           
                           
                             … 
                           
                           
                             … 
                           
                         
                         
                           
                             
                               x 
                               1 
                               
                                  
                                 
                                   Δ 
                                   l 
                                 
                                  
                               
                             
                           
                           
                             
                               x 
                               2 
                               
                                  
                                 
                                   Δ 
                                   l 
                                 
                                  
                               
                             
                           
                           
                             ⋮ 
                           
                           
                             
                               x 
                               n 
                               
                                  
                                 
                                   Δ 
                                   l 
                                 
                                  
                               
                             
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where each row of matrix X represents an individual in the population.
 
Step  2 : Evaluate the current population according to the fitness function F  210 . Sort the candidate solutions according to their fitness orders  220 . Last sorted candidate solution is the best candidate solution for all iterations.
 
Step  3 : If the best candidate solution satisfies the convergence criterion  230  or the number of iterations exceeds its limit then terminate  270  else go to step  4 .
 
Step  4 : Select the best η l  candidate solutions  240  from current Δ l  individuals. This selection is accomplished according to the sorted solutions  220 .
 
Step  5 : Estimate the probability distribution P(x 1 , x 2 , . . . , x n )  250  on the basis of |η l-1 | best candidate solutions. We denote this estimation by
 
         [0000]        D   es   =P ( x   1   , x   2   , . . . , x   n |η l-1 )  (7) 
         [0000]    Step  6 : Generate new |Δ l |−|η l | populations according to this new estimated probability distribution D es    260 .
 
Step  7 : Go to step  2  and repeat the steps
 
         [0031]    An EDA can get stuck in a local optimum due to premature convergence of the probability distributions. We present a preferred method of avoiding this problem by adding a threshold  345  on estimated distributions. Any of probability p 1 , p 2  . . . p n  in  340  can converge to 1 or 0 prematurely. We present a mechanism that thwarts such premature convergence; namely, we present an idea of adjusting the distribution p 1 , p 2  . . . p n  after estimating these at each iteration. The adjustment in general can be described as a mapping from set of n-dimensional vectors, Π≡{(p 1 , p 2 , . . . , p n )|0≦p i ≦1, i=1, 2, . . . , n}, to set Π itself. A preferred embodiment of this idea is to use thresholds. First we address the problem that a probability value prematurely converges to 1. To avoid this, we define thresholds 0.5&lt;γ 1 , γ 2 , . . . , γ n &lt;1. At any iteration, if the probability value in p i , i=1, 2, . . . , n, is greater than γ, we set that value to γ i , so that some degree of randomness remains in the algorithm until the termination criterion is satisfied. A simpler application of this idea is to set the same threshold γ=γ 1 =γ 2 = . . . =γ n . Now we address the problem that a probability value prematurely converges to 0. We define thresholds 0&lt;α 1 , α 2 , . . . , α n &lt;0.5. At any iteration, if the probability value in p i , i=1, 2, . . . , n, is less than α i , we set that value to α i , so that some degree of randomness remains in the algorithm until the termination criterion is satisfied. A simpler application of this idea is to set the same threshold α=α 1 =α 2 = . . . =α n    
         [0032]    We introduce three modifications in conventional EDAs to improve the efficiency of the proposed joint antenna selection method. The modifications are 1) a predefined initial feed  300  2) cyclic shifted initial population  305  and 3) biased Estimation of Distribution. In conventional EDAs initial population is generated randomly from the uniform distribution. We present a method of selecting an initial population to make the average convergence time (the number of iterations until reaching an acceptable solution) shorter than the randomly generated initial population. The idea is to contrive the initial population by utilizing domain knowledge of the MIMO system and/or the dynamics of the EDAs evolution. A preferred embodiment of this idea is to use a promising initial selection of antennas (initial feed), which is represented by a binary string X 0 , and then to use cyclic shifts of this binary string X 0  as initial population. In the joint antenna selection problem, a preferred implementation of the present invention is to set the length of binary string X 0  (dimension of vector) X 0  to be the total number of antennas (both transmit and receive antennas). Exemplary methods of choosing the initial feed include 1) adjacent antenna method  500 , 505  and 2) best antennas method  600 , 605 . 
         [0033]    Adjacent feed methods are illustrated in  FIG. 5 . The following example uses N R =7, N r =3, N T =7 and N t =3 as the initial parameters to illustrate the idea of present invention. In adjacent antenna feed, for receive antenna selection N r  bits are set to one and placed adjacent to each other  505 . Similarly N t  bits are set to one and placed adjacent to each other  500 . The present invention also introduces a non-restricted starting index of adjacent antennas. The start index can be from one to number of transmit/receive antennas. In  500  the start index of the adjacent N t  bits is one, whereas start index of N r  bits is six. This non-restricted starting index introduces a cyclic adjacency. If the start index of adjacent antenna is more than N R −N r +1 (receive selection) or N T −N t +1 (transmit selection) then a cyclic adjacency is applied, e.g., if N R =7, N r =3 and start index of adjacent term is six (as shown in  505 ) then the initial feed will be [1 0 0 0 0 1 1]. We call this initial feed as individual of transmit and receive antenna selection. The present invention also introduces an initial feed based on best channel conditions  FIG. 6 . This initial feed not necessarily be the adjacent. These initial feed antennas can be placed at any index  600  and  605 . Same procedure is applied in  610  and  615  as in  510  and  515 . 
         [0034]    In the next stage of initialization a cyclic shift is applied on these transmit initial feed  510  and receive initial deed  515 . This cyclic shift process is used to generate the initial population from these initial feeds. The cyclic shifted initial population ensures that each antenna has equal contribution during starting phase of the proposed algorithm. In the process of cyclic shift, last element (Most Significant Bit) of the initial feed becomes the first element (Least Significant Bit) and all other elements are shifted right. The process of cyclic shift is repeated till we get the original initial feedback. This cyclic shift can be done in reverse order. 
         [0035]    After generating initial population of transmit and receive antennas separately, concatenate these transmit/receive initial populations. Concatenation procedure is shown in  FIG. 4  at ( 420 ), transmit antenna initial population (TIP)  400  and receive antenna initial population (RIP)  410  are concatenated as [TIP RIP]  420 . This concatenation reduces the execution time of the algorithm by determining probability distribution of transmit and receive antenna simultaneously. Since most of the hardware in practice are sequential, if separate selection of antenna is implemented for transmit and receive population then time complexity will be double. The increase in complexity is due to separate execution of EDA algorithm for transmit and receive antennas. 
         [0036]    To obtain an acceptable solution (a near-optimum solution) in an efficient way, the present invention also includes an idea of adding some skew in estimating the probability distribution from a population, which is a modification  331 , 335  to (7). This skew can be added by giving more weights to the individuals in that have better fitness in estimating the probability distribution P(x 1 , x 2 , . . . , x n ). We now provide an illustrative embodiment of this idea. Note that estimation (7) is often implemented in the following simple way: 
         [0000]    
       
         
           
             
               
                 D 
                 es 
               
               = 
               
                 
                   ∏ 
                   
                     i 
                     = 
                     1 
                   
                   n 
                 
                  
                 
                     
                 
                  
                 
                   P 
                    
                   
                     ( 
                     
                       
                         x 
                         i 
                       
                        
                       
                         Ω 
                         i 
                         
                           l 
                           - 
                           1 
                         
                       
                     
                     ) 
                   
                 
               
             
             , 
             
               
                 where 
                  
                 
                     
                 
                  
                 
                   Ω 
                   i 
                   
                     l 
                     - 
                     1 
                   
                 
               
               = 
               
                 
                   ( 
                   
                     
                       x 
                       i 
                       1 
                     
                      
                     
                         
                     
                      
                     
                       x 
                       i 
                       2 
                     
                      
                     
                         
                     
                      
                     … 
                      
                     
                         
                     
                      
                     
                       x 
                       i 
                       
                          
                         
                           η 
                           
                             l 
                             - 
                             1 
                           
                         
                          
                       
                     
                   
                   ) 
                 
                 T 
               
             
           
         
       
     
         [0000]    is the i th  column vector from matrix X and P(x i |Ω i   l-1 ) is the estimated probability from the selected |η l-1  individuals in the (l−1) th  iteration  240 , 250 . A simple embodiment of the skewed estimation {tilde over (D)} es  is 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         D 
                         ~ 
                       
                       es 
                     
                     = 
                     
                       
                         ∏ 
                         
                           i 
                           = 
                           1 
                         
                         n 
                       
                        
                       
                           
                       
                        
                       
                         P 
                         ( 
                         
                           
                             x 
                             i 
                           
                            
                           
                             
                               Ω 
                               ⋒ 
                             
                             i 
                             
                               l 
                               - 
                               1 
                             
                           
                         
                         ) 
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where {tilde over (Ω)} i   l-1  is the biased column vector determined through point by point multiplication of weight vector ω=[ω 1  ω 2  . . . ω |η     l-1     | ] T  and i.e, {tilde over (Ω)} i   l-1 =[ω 1 x i   1  ω 2 x i   2  . . . ω |η     l-1     | x i   |η     l-1     | ] T . These weights are applied in accordance with the fitness order of the selected population at (l−1) th  iteration. The weights are normalized and calculated to satisfy the condition that, ω |η     l     | &gt; . . . ω 2 &gt;ω 1 , and 
         [0000]    
       
         
           
             
               
                 ∑ 
                 
                   i 
                   - 
                   1 
                 
                 η 
               
                
               
                 ω 
                 i 
               
             
             = 
             1. 
           
         
       
     
         [0000]    Again, and example choice of the weights include 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       ω 
                       i 
                     
                     = 
                     
                       
                         
                           log 
                            
                           
                             ( 
                             
                                
                               
                                 η 
                                 l 
                               
                                
                             
                             ) 
                           
                         
                         - 
                         
                           log 
                            
                           
                             ( 
                             i 
                             ) 
                           
                         
                       
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           
                              
                             
                               η 
                               l 
                             
                              
                           
                         
                          
                         
                           [ 
                           
                             
                               log 
                                
                               
                                 ( 
                                 
                                    
                                   
                                     η 
                                     l 
                                   
                                    
                                 
                                 ) 
                               
                             
                             - 
                             
                               log 
                                
                               
                                 ( 
                                 i 
                                 ) 
                               
                             
                           
                           ] 
                         
                       
                     
                   
                   , 
                   
                     i 
                     = 
                     1 
                   
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                      
                     
                       η 
                       l 
                     
                      
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       ω 
                       i 
                     
                     = 
                     
                       
                         
                            
                           
                             η 
                             l 
                           
                            
                         
                         - 
                         i 
                       
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           
                              
                             
                               η 
                               l 
                             
                              
                           
                         
                          
                         
                           [ 
                           
                             
                                
                               
                                 η 
                                 l 
                               
                                
                             
                             - 
                             i 
                           
                           ] 
                         
                       
                     
                   
                   , 
                   
                     i 
                     = 
                     1 
                   
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                      
                     
                       η 
                       l 
                     
                      
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
         [0000]    To illustrate biased estimation of distribution idea in detail, assume that N R =7, N r =3, N T =7, N t =3, Δ i |=10 and |η l =5 are defined as initial parameters. Generate initial population as shown in  FIG. 5  and  FIG. 6 . Apply steps  305 , 310 , 320 , 325  and  331 , if  331  is true then use  335  (biased weights). To calculate normalized weight we need the number of best population i.e., η. Use (9) to calculate the normalized weights, we will get ω=[0.0437 0.0972 0.1662 0.2634 0.4295] T , similarly for (10) the weights are ω=[0.0667 0.1333 0.2000 0.2667 0.3333] T . It is observed from the above data that logarithmic weights from (9) produce more bias as compared to (10). Equation (9) and (10) satisfied the conditions ω |η     l     |&gt; . . . ω   2 &gt;ω 1  and 
         [0000]    
       
         
           
             
               
                 ∑ 
                 
                   i 
                   - 
                   1 
                 
                 η 
               
                
               
                 ω 
                 i 
               
             
             = 
             1. 
           
         
       
     
         [0000]    The weights are used such that the largest weight will be used for best solution and smallest weight will be used for worst solution. Numerical results show that this BED is better in performance than other proposed EDAs. 
         [0037]    Quantum-inspired evolutionary algorithm [17] can be considered being in the family of EDAs and can be used for optimizing the selection of antennas and/or sensors. 
       3. Bio-Inspired Optimization (Bio) for Antenna Selection 
       [0038]    In this section we describe a method for joint transmit and receive antenna selection that utilizes optimization algorithms inspired by biology such as social behavior of bird flocking or fish schooling. Like other evolutionary algorithms, bio-inspired optimization (BIO) algorithms are population-based search algorithms. In BIO, each individual is termed as an individual and a collection individuals is called a population. If we represent the optimization as minimizing the cost function of several variables, x 1 , x 2 , . . . , x n  or finding the value of vector (x 1 , x 2 , . . . , x n ) that best fit in according to fitness measure F(x 1 , x 2 , . . . , x n ), then vector (x 1 , x 2 , . . . , x n ) 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 a particle flying in the space to find the best position. 
         [0039]    Examples of BIO includes Particle Swarm Optimization (PSO) [14-15] and Biogeography-based Optimization (BBO) [16], etc. 
         [0000]    PSO provides a population-based search procedure in which individuals (particles) change their position with time. In PSO, particles fly around (changes their position) in a multidimensional search space (set of all potential solutions). During flight, each particle adjusts its position on the basis of its own experience and on the basis of the neighboring particles&#39; experience, making use of the best position encountered by itself and its neighbor. Thus, a PSO system combines local search methods with global search methods. Therefore each particle has a tendency to fly (move) towards better and better solutions [14]. 
         [0040]    We now present an embodiment, wherein each antenna selection is represented by a vector whose components take a binary digits 0 or 1. We refer to each vector in a population (a set of possible solutions) a particle. A particle may move to nearer and farther corners of the hypercube by flipping various numbers of bits. 
         [0041]    The embodiment of particle swarm optimization (PSOP) for antenna/sensor selection being presented now can be characterized by parameters (I s , F, N, D, {tilde over (X)} l , G B   l , P B   l , V l , F Ter , I N   l ), where
       1. I s  is the space of all potential solutions.   2. F denotes a fitness function. In this document, we defined F so that higher value means better fit. (Another convention is to use −F as a cost function so that lower value of −F means better fit.)   3. N is the size of population at a single iteration. Population is the collection of particles.   4. D is the dimension of the particle position (the length of the binary string to represent the particle position).   5. {tilde over (X)} l =[X 1   l , X 2   l  . . . , X N   l ] represents the position of the particles at the l th  iteration, where X k   l , k=1, 2, . . . , N, represents the position of the particle indexed by k. Components of vector X k   l  are denoted as X k   l =(x k,1   1 , x k,2   l , . . . , x k,D   l ), where x k,i   l ε{ 0 , 1 }, i=1, 2, . . . , D.   6. We denote by P bk   l  the best position that particle k has been up to the lth iteration (best among the history of particle k&#39;s positions); that is, P bk   l ≡arg max 0≦I≦l F(X k   i ). We explicitly denote its components as P bk   l =(P kk,1   l , P kk,2   l , . . . , P bk,D   l ). For N particle in the population collectively, we denote P B   l =[P b1   l , P b2   l , . . . , P bN   l ].   7. G B   l  is the globally best position of the among all particles up to the l th  iteration in terms of fitness function F. That is, G B   l ≡arg max 1≦k≦N F (P bk   l )=arg max 1≦k≦N,0≦i≦l F(X k   i ). We explicitly denote its components as G B   l =(g b1   l , g b2   l , . . . , g bD   l ).   8. V k   l  denotes what we referred to as the velocity of a particle. V k   l , k=1, 2, . . . , N, denotes the velocity of the particle indexed by k at the lth iteration. We also explicitly denote its components as V k   l =(v k,1   l , v k,2   l , . . . , v k,D   l ). For N particle in the population collectively, we denote V l =[V 1   l , V 2   l , . . . , V N   l ].   9. F Ter  is the termination criteria.   10. I N   l  denotes the population of N particles in the l th  iteration.       
 
         [0052]    Our method introduces modifications in conventional population-based algorithms to improve the efficiency of the proposed joint antenna selection method. The modifications include a predefined initial feed and cyclic shifted initial population. A preferred embodiment of this method is illustrated in  FIG. 7  and is described as the following. 
         [0000]    Step  1 : Set the initial parameters  700  such that dimension D of each particle is N T +N R ; the size of the population N is max(N T ,N R ).
 
Step  2 : Generate initial feed  705  as described in  500 , 505  (Adjacent feed) or  600 , 605  (Best Antenna Feed).
 
Step  3 : Apply cyclic shift  710  to generate initial position of the population as described in  510 , 515  (cyclic shift on adjacent feed) or  610 , 615  (cyclic shift on best antenna feed). This initial population is a collection of particles. At the initial iteration l=0, initialize each particle&#39;s best position as P b1   0 =X 1   0 , P b2   0 =X 2   0 , . . . , P bN   0 =X N   0    715 ; initialize the global best as G B   0 ≡(g b1   0 , g b2   0 , . . . , g bD   0 )=arg max l≦k≦N F(P bk   0 ).
 
For each particle k, initialize its velocity V k   0 =(v k,1   0 , v k,2   0 , . . . , v k,D   0 ) as the following.
 
         [0000]        v   k,i   0   =U (  ω   min ,  ω   max )  (11) 
         [0000]    where U(  ω   min ,  ω   max ) is the random variable uniformly distributed between (  ω   min ,  ω   max ). (For each combination of k and i, the random number is independently generated.) Parameters  ω   max  and  ω   min  are the velocity limits used at the initial iteration. As will be stated in Step  6 , sigmoid function is used to generate the next position of each particle. The values of  ω   max  and  ω   min  should be chosen in such a way that the particle has no chance to get stuck in the initial position. One proposed method is to set the value  ω   max =  ω σ −1 (q), where a σ −1  denotes the inverse function of σ and σ is a sigmoid kind of function—for example, as in  FIG. 10   
         [0000]    
       
         
           
             
               
                 σ 
                  
                 
                   ( 
                   q 
                   ) 
                 
               
               = 
               
                 1 
                 
                   1 
                   + 
                   
                     exp 
                      
                     
                       ( 
                       
                         - 
                         q 
                       
                       ) 
                     
                   
                 
               
             
             , 
           
         
       
     
         [0000]    qε(−∞, ∞) can be used. The value q is selected in a way that σ −1 (q) should not be too large. Parameter  ω  should be kept small to give randomness to the algorithm.
 
Step  4 : Update the iteration counter.
 
Step  5 : For each particle calculate the velocity  720 
 
         [0000]        v   k,i   l   =v   k,i   l-1   +c   1   ×U (0,1)×( g   bi   l-1   −x   k,i   l-1 )+ c   2   ×U (0,1)×( p   k,bi   l-1   −x   k,i   l-1 ),  g   bi   l-1 ★{0,1 },x   k,i   l-1 ε{0,1 }, p   k,bi   l-1 ε{0,1 }∀k= 1, 2 , . . . , N  and ∀ i= 1, 2 , . . . , D   (12) 
         [0000]    where U(0,1) is the uniform random variable between (0,1), c 1 &gt;0 and c 2 &gt;0 are social and cognitive parameters to control the movement of the particle in any specific direction.
 
Step  6 : Update the position of k th  particle&#39;s i th  element as  725  and  FIG. 10 
 
         [0000]    
       
         
           
             
               
                 
                   
                     x 
                     
                       k 
                       , 
                       i 
                     
                     l 
                   
                   = 
                   
                     { 
                     
                       
                         
                           1 
                         
                         
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               
                                 U 
                                  
                                 
                                   ( 
                                   
                                     0 
                                     , 
                                     1 
                                   
                                   ) 
                                 
                               
                             
                             &gt; 
                             
                               σ 
                                
                               
                                 ( 
                                 
                                   v 
                                   
                                     k 
                                     , 
                                     i 
                                   
                                   l 
                                 
                                 ) 
                               
                             
                           
                         
                       
                       
                         
                           0 
                         
                         
                           otherwise 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   13 
                   ) 
                 
               
             
           
         
       
     
         [0000]    Step  7 : Evaluate the current population  730  according to the fitness function F. Store these values in temporary variables P B   Tmp =[P b1   Tmp , P b2   Tmp , . . . , P bN   Tmp ].
 
Step  8 : If the convergence criterions satisfied then terminate  740  otherwise go to step  9 .
 
Step  9 : Update the k th  particle best as  750 
 
         [0000]      if  F ( P   bk   Tmp )&gt; F ( P   bk   l-1 ) then  P   bk   l   =P   bk   Tmp  else  P   bk   l   =P   bk   l-1   (14) 
         [0000]    Step  10 : Update the global best as  750   
         [0000]        G   B   Tmp =arg max l≦k≦N   F ( P   bk   l ) if  F ( G   B   Tmp )&gt; F ( G   B   l-1 ) then  G   B   l   =G   B   Tmp  else  G   B   l   =G   B   l-1   (15) 
         [0000]    Step  11 : Go to step  4  and repeat the steps 
         [0053]    This embodiment includes modifications to conventional population-based algorithms to improve the efficiency of the proposed joint antenna selection method  FIG. 7 . The modifications include a predefined initial feed  705  and its cyclic shifts for designing the initial population  710 . The detailed descriptions of designing initial populations are illustrated in section 2, as can be also used for designing the initial population of EDA. An embodiment of our method can also include thresholds on velocities of each particle. The particles in a bio-inspired optimization algorithm can get stuck at any position due to premature convergence. The premature convergence is due to the high variation in the velocities of the particles. We present an embodiment that avoids this problem by adding a threshold on velocities of each particle. We introduce a mechanism that avoids such premature convergence; namely, the idea is to adjust the velocities [V 1   l , V 2   l , . . . , V N   l ] at l th  iteration. A preferred embodiment of this idea is to use thresholds. First we address the problem that a velocity value can cause the sigmoid function to prematurely converge to 0. To avoid this, we define thresholds 0.1&lt;γ 1 , γ 2 , . . . , γ N &lt;0.9. At any iteration, if the sigmoid value is greater than γ i , we set that value to γ I  and compute the corresponding velocity to that value, so that some degree of randomness remains in the algorithm until the termination criterion is satisfied. A simpler application of this idea is to set the same threshold γ=γ 1 =γ 2 = . . . =γ N . Now we address the problem that a sigmoid value prematurely converges to 1. We define thresholds 0.1&lt;α 1 , α 2 , . . . , α N &lt;0.9. At any iteration, if the sigmoid value is less than α i , we set that value to α i , and compute the corresponding velocity to that value, so that some degree of randomness remains in the algorithm until the termination criterion is satisfied. A simpler application of this idea is to set the same threshold α=α 1 =α 2 = . . . =α N    
       4. Simulation Results 
       [0054]    For performance comparison, we present simulation results of the EDA joint antenna selection together with some of the existing selection techniques for JTRAS system. In this simulation, the channel is assumed to be quasi-static for time slots, but independent among different mobile devices. 
         [0055]      FIG. 8  shows the performance of optimal, random, best norm, Gorokhov, decoupled and EDA for N i =3, N T =6, N R =4, N R =18, |Δ i |=24, |η i |=12 and I t =10. The proposed algorithm is compared with well known antenna selection algorithms e.g. Norm based algorithm [I], Gorokhov Algorithm [5], Decoupled Algorithm [13] and random selection. As shown by the simulation result, the performance of the proposed algorithm is closed to the exhaustive search algorithm (optimum algorithm).  FIG. 9  shows how the performance of EDA effects with different initial feed. The parameters for EDA are N t =3, N T =6, N r =4, N R =14, |Δ i |=14, |η l |=7 and I t =8. Four different feeds are applied to the EDA joint antenna selection algorithm. These are random, adjacent, best antenna and biased antenna feed. Then these are passed to the cyclic shift register. The simulation result shows that antenna selection algorithm with deterministic initial feed has better performance than random feed. Also by applying biased weights performance is further improved.