Cognitive radio spectrum allocation using genetic algorithm
 Jamal Elhachmi^{1}Email author and
 Zouhair Guennoun^{1}
https://doi.org/10.1186/s1363801606206
© Elhachmi and Guennoun. 2016
Received: 8 July 2015
Accepted: 24 April 2016
Published: 10 May 2016
Abstract
This paper presents the problem formulation, development, and use of a robust dynamic genetic algorithm (GA) for channel allocation in cognitive radio. This approach offers an efficient way to access available spectrum for both primary and secondary users. The proposed dynamic genetic algorithms based on the new sophisticated crossover and mutation operators ensure the validity of channels and the fast convergence to the best solution in a highly dynamic environment. Compared with existing methods, simulation results demonstrate that our approach algorithm produces satisfactory results with reduced network interference and enhance efficiently the spectrum throughput.
Keywords
1 Introduction
With the recent growing increases of wireless devices, radio spectrum scarcity occurs and mandates the establishment of methods for developing technical description to access efficiently the available radio spectrum. For this, cognitive radio (CR) techniques [1] can be used to provide a promising solution to increase the spectrum utilization. The principle of the CR, included in the IEEE 802.22 and IEEE 802.16h norms [2], needs an alternative spectrum management, when each secondary/unlicensed user (SU) is permitted to sense and access the spectrum when the spectrum is unoccupied by primary/licensed users (PUs) [3, 4].
When a PU requests to access its own spectrum, the SUs using the same spectrum opportunistically should switch to other unoccupied spectra to protect the transmission of the PU and continue their own data delivery [4]. However, severe throughput degradation may occur in this situation [5].
In the literature, several algorithms have been proposed for channel allocation in cognitive radio, whether they are local or distributed search methods.
In this context, our work consists of presenting a robust genetic algorithm to solve the channel assignment problem in cognitive radio systems.
The objective of this problem concerns minimizing the channel interference to the primary radio users meeting those requirements for opportunistic spectrum utilization. The use of genetic algorithm is quite appropriate in the context of cognitive radio to control and avoid interference in the channel assignment problem.
The rest of this paper is organized as follows: section 2 gives a brief analysis of existing methods for spectrum allocation used in cognitive radio. Section 3 concerns the representation and the construction of the objective function for channel allocation. In section 4, we propose the solution of the problem by using a sophisticated genetic algorithm. Then, in section 5, experimental results are presented and discussed. We conclude the paper in section 6.
2 Approaches for cognitive radio
Cognitive radio offers a promising solution for an efficient and full use of radio channel resources. It has attracted much research attention, and both distributed and centralized schemes have been proposed to facilitate the spectrum sharing between SUs and PUs [5]. Then, the concept of machine learning was applied to maximize capacity and dynamic spectrum access. Different learning algorithms can be used in CR networks such as Fuzzy Logic, Neural Networks, Hidden Markov Model, Genetic Algorithms, or Classification Algorithms [6, 7].
The multilayered neural networks were used to model and estimate the performances of IEEE 802.11 networks. They come in the form of a set of interconnected elementary processors that can perform the entire processing information chain. Each neuron adapts its parameters with its neighbors to achieve the objective for which they have been designed. Therefore, the neural networks can be considered as a suitable model for a cognitive radio network, and where a prompt response to the changing radio environment is required from an unlicensed user [8, 9].
Fuzzy logic is often combined with neural networks that can adapt to the environment during the evolution of a CR system. It can be applied to obtain the solution to a problem having imprecise, noisy, and incomplete input information.
Instead of complicated mathematical formulations, the fuzzy logic uses human understandable fuzzy sets and inference rules to obtain the solution that satisfies the desired system objectives. The main advantage of fuzzy logic is its simplicity. It is more suitable for realtime cognitive radio applications in which the response time is critical to system performance [7].
A genetic algorithm is a robust evolutionary algorithm that models biological processes to solve a highly complex computational problem to find optimal solutions. Crossover and mutation are two basic operators of GA. Performance of GA depends tightly on these operators, and new solutions are found based on old solutions through the use of crossover and mutation processes. Crossover and mutation perform two different roles. Crossover is a convergence operation; it is intended to pull the population toward a local minimum/maximum. Mutation is a divergence operation; it is intended to occasionally break one or more members of a population out of a local minimum/maximum space and potentially discover a better minimum/maximum space.
GA has been applied to spectrum optimization in cognitive radio networks. For example, genetic algorithms have been investigated through CR testbeds under certain controlled radio environments [9–11]. In [12], a genetic algorithm has been used to optimize the Bit Error Rate (BER) performance in cognitive radio. Unlike the traditional GA, Kaur et al., in [13], proposed an Adaptive Genetic Algorithm (AGA) to optimize QoS parameters in a cognitive radio system. The algorithm uses different crossover and mutation rates [14]. In [15], the genetic algorithm is used with two criteria: (1) maximizing the probability of detection (i.e., the capability of a SU to determine if a PU is using a certain portion of spectrum) and (2) minimizing the probability of false alarm (i.e., sensing the presence of a PU while it is not), for an optimal space allocation. An improved genetic spectrum assignment model with the consideration of interference constraints is proposed in [16], in order to reduce computational complexity, where the population of genetic algorithm is divided into two sets: the feasible spectrum assignment and the randomly updated spectrum assignment. In [17], the genetic algorithm is compared to a Particle Swarm Optimization (PSO) algorithm, and authors conclude that in a dynamic environment, the GA requires more operations to perform than PSO and hence takes longer time.
In [14] a Chaotic Genetic Algorithm (CGA) was developed, where a chaotic sequence is used to generate the initial population and incorporate chaos through the crossover and mutation processes. In [18], A CGA based on the new chaotic map is proposed having a better distribution.
We would like to stress that each of the learning techniques has its own advantages and disadvantages, and none of them can be considered on its own to fully accomplish the realization of cognitive radio systems. All of the proposed approaches introduced so far can find solutions for radio resource management but may not produce the best ones as they have limitations in adapting parameters in a highly varying radio environment.
Fuzzy logic is a far powerful and flexible method, based on learning in transmission rate and prediction. It has potential in either specific problemsolving areas or as a part of cognitive radio system, to reduce its complexity. Fuzzy logic can approximate the solutions independently for certain input, but it does not provide accurate solutions. Other parameters could be included to predict the best radio configuration; it should establish a rule related to the specific situation in which it is used, and these rules may involve some limitations in programming.
Neural networks have a lesser need for prior knowledge; they can be used in any phase of cognition. They include extensive training to generate observed behavior, but they become unstable when constraints are necessary to account for. Their application to different scenarios needs to be analyzed for a CR; each individual node has to be provided with a pretrained network or a set of training examples mapping observations to correct actions. For the latter case, each CR also has to know the parameters used for training the neural network so that all radios can create and reproduce the same neural network deterministically [19].
GA is well suited for multiobjective performance and nonmathematical optimization problems in cognitive radio networks as it can search for multiple sets of solutions over a large search space and can enforce constraints [20]. Fast convergence, ease of implementation, and optimization of discrete and continuous radio parameters render GA as an excellent optimization tool for making resource management decisions in cognitive radio networks [21].
One of the main issues involved in successful genetic algorithm behavior is the selection of the objective function(s) that is a nonclosed form of constraints and may be difficult to use in practice for some parameters introduced in cognitive radio algorithms.
 (1)
Implicit parallelism and robustness; such algorithm works on a set of solutions and can explore several parts of the solution space in parallel,
 (2)
Distributed memory; the last solutions remain registered and the GA looks for idle channels to allocate new call requests, and
 (3)
The algorithm can operate under the assumption of limited information exchange.
3 System model
The available channel band is divided into orthogonal channels of the same bandwidth using the FDMA method. It is assumed that there is a mechanism that enables wireless devices to use multiple channels to communicate at the same time.
For each node i, and for k = 1,⋯, K, if s _{ ik } = 1, the l _{ ik } = 1 (i.e., a channel is assigned to i), or else if s _{ ik } = 0, the l _{ ik } = 1, (i.e., a channel is available but not assigned at that node).
For all i, j = 1,⋯, N, k = 1,⋯, K. The above problem is sometimes referred to as a list multicoloring problem. When time is taken into account, a time index can be introduced into the equation where the objective is to maximize the utilization averaged over time and the three constraints are satisfied at each time instant. The corresponding decision list coloring problem is formulated below.
3.1 Proposition 3.1
The DListColor problem is NPcomplete.
PROOF: This problem is clearly in NP since once a valid coloring assignment S is obtained, condition (3.3) may be verified in O(V K ) time [19].
Note that a clique is a fully connected subgraph (a subnet), i.e., a clique consists of a set of nodes where any pair of its nodes has an edge in between.
We now show that the maximum clique problem can be reduced to the DListColor problem in polynomial time and that the maximum clique problem has a solution if and only if DListColor has a solution.
Let G = (V, E, L) be the undirected graph of the maximum clique problem. We construct the graph G′ = (V′, E′, L′) for our DListColor problem, such that V’ = V, and E′ is the complementary set of E. Furthermore, the color matrix L is of dimension V × 1, where L = [1,1,…, 1]^{ T }. Since any pair of nodes connected in G are not connected in G′ and vice versa, we cannot simultaneously assign to nodes inG′ the same color if these nodes form a clique in G. Therefore, there exists a clique in G of size at least m if and only if there is no solution for DListColor for B = V − m. This reduction is obviously polynomial time as shown in [19].
3.1.1 Color decoupling
The list coloring problem may be reduced to a set of maximumsize clique problems when fairness is not in consideration. In other words, in the process of finding the maximum in (3.2), nodes are allowed to be assigned zero channels.
According to the logic diagram of the proposed resolution model, the channel assignment problem in a cognitive radio system is based on opportunist channel exploitation where each channel will be used by the maximum number of nodes. Therefore, the initialization of such “possible channels allocation” for a maximum clique problem as a list of channels is constructed to produce a solution for a subnetwork, which can be extended to the entire network. For each channel, a greedy assignment is determined to maximize the number of nodes assigned to this channel, and then a subnet of connected nodes is generated. Finally, nodes are connected in the original graph G.
The feasible assignment matrix is S = {s _{ ik }} where s _{ ik } = 1 if channel k is assigned to the nodes i and 0 otherwise. S _{ k } denotes the channel allocation with respect to channel (color) k. More specifically, S _{ k } is the k ^{ th } column in the assignment matrix S. Note that the equality in (3.4) does not hold in general situations, e.g., a graph coloring problem that requires each node to be colored with nonempty colors. Note that when fairness is taken into account, e.g., each node has to be assigned at least one color, and then the decoupling property does not apply [19].
With fewer assigned channel to the connected nodes, our proposed algorithm can result in very unfair allocation. Nodes with greatest degrees of saturation will be first served, and their subnet obtains the maximum number of used channels. The algorithm will allow the addition of new assignments in its structure during the search. This is one of the great primary advantages of the proposed genetic algorithm.
4 Spectrum allocation using genetic algorithm
In this section, we first discuss the background of GA and then the implementation of the proposed solution model on the channel allocation in CR.
4.1 Main genetic algorithms
Genetic algorithms were originally developed by John Holland. They are used in order to find a solution, usually numerical solving of a given problem, without having a prior knowledge on the search space [20].
4.2 Genetic operators

Individual coding
Let there be N secondary users and K channels in the system. A cell can use any available channel if such a choice satisfies the interference graph and the channel availability constraints.
The rows of the array represent strings (of bits) in a population, and the columns represent the (the status bit of the condition of availability) available channel numbers which will be assigned. There are P strings for a population and each string has Q (possible states) channels which are the total number of available channels in the system Q < K.
A string S _{ r } is composed of N substrings which is the number of nodes in the network. Each substring S _{ ri } (for node i) is composed of m _{ i } genes (channel: bits of the condition of availability). Each gene is represented as a binary bit.

Initial population
 (1)
For each node i* with the largest number of constraints, the channel for the i ^{ th } node is the minimal channel interval in the available channel domain.
 (2)
For all nodes with a maximum degree of saturation, choose the node i* with the greatest degree of saturation, assign i* with the minimum channel, and update the degrees of saturation of the neighbors of i*.
Notice that the degree of separation D(i*) of node i* is the sum of the incident constraints values for each node. They are compiled once and for all. The degree of saturation d _{ j }(i*) in step j is used as a criterion for selecting the node that we will assign in this step. This degree is determined from the nonallowed intervals for nodes that are not yet affected (this process provides to use the minimum number of channels and reusing, to its maximum, the same channels, while avoiding deadlock)

Reproduction
According to the target of channel allocation, the interference constraint will be presented in reutilization matrix C = {C _{ i,j,k } C _{ i,j,k } ∈ {0, 1}} _{ N×N×K }, where C _{ i,j,k } = 1, if users i and j would cause interference if they used the spectrum band k simultaneously. Note that constraints are spectrum band specific. Note also that two users who are constrained by one spectrum band cannot use this band simultaneously.
Considering the spectrum allocation matrix S = {S _{ ik }}_{ N × K } which denotes the effectiveness of spectrum allocation, where S _{ ik } = 1 denotes that spectrum band k is assigned to user n. S satisfies all the constraints defined by C, i.e., S _{ i,k } S _{ j,k } = 0, if C _{ i,j,k } = 1, ∀i, j < N, k < K.
The fitness value of each individual is calculated according to the fitness function (objective function). After evaluation of the fitness function, a certain pair of individuals (strings) should be selected for the parents. We can use a simple biased roulette wheel to select individuals.

Crossover
The reproduced strings in the mating pool are mated under crossover operation at random. Crossover operation is performed with a pair of substrings in the mated strings for each model [14].

Mutation

Select randomly one user from the conflict users.

Choose the best value of available channel bands that provide more choices for the neighborhoods users.
From a purely intuitive point of view, this operator should give better results than random mutation, which consists in randomly selecting a channel of the solution and modify it on taking a new value of the channel at random [22].
4.3 Operation parameters
The implementation of our GA requires the adjustment of some parameters like the population size, the number of generations, and the mutation rate. The stopping criterion can be defined as the maximum number of iterations or detection of an optimum solution.
In our simulation, the population size is set to be 100. Hence, the initial population procedures are repeated 100 times.
5 Performance evaluation and comparison
For verification of operation, the proposed genetic algorithm was modeled using some aspects or parameters/genes and several simulations were run and results verified.
Computer simulations are used to analyze the percentage of removed interference by the algorithm when the number of nodes and the available channels increase. The approach was designed to assign one channel for each opportunistic user under the primary users by using a uniform cost function to select the best available channel (and for its neighbors alike).
For each scenario, we consider a total number of PUs equal to 10 and then different interference topology graph instances are randomly generated, with the number of nodes varying from 10 to 50, with the interference ranges defined in a reutilization matrix C, where each channel is occupied by a primary user in a certain range, and each node within a PU’s range cannot use the channel occupied by this PU. Each node in the network has its own available channel set, according to the positions of the PUs. Two nodes can use the same channel if they are not in range.
The impact of the dynamic occupation of channel by the PUs was modeled considering an average inactive time at least ten times larger than the time needed for the algorithm to reach the stopping criterion.
 (1)
varying the number of available channels K;
 (2)
varying the number of network nodes N; and
 (3)
varying the stopping criterion H (number of generations).
In addition, the algorithm obtains good results and keeps good performance in terms of the percentage of expected goals calculated as the number of assigned nodes; the algorithm can reduce the network interference up to 90–98 %.
Resulting fitness measures and GA performance per number of channels
Number of channels  Optimal generation  Optimal fitness (%)  Time per generations (ms) 

2  89  98,4  1,0 
4  689  94,4  3,4 
8  745  90,6  6,7 
Therefore, during all simulated cases, for both states before and after channel allocation, and when the stopping criterion is reached, channel availability corresponds to keeping stable the number of available channels varying from 1 to 8.
The memory process in the algorithm improves the determination of the best solution. On one hand, the reproduction process ensures that the best string in the actual population (with the highest fitness) is maintained (and copied) and put in a mating pool for the next generation. On the other hand, the algorithm uses its feedback information to adapt its response.
The algorithm will be able to adapt its response to the cognitive radio’s need to adapt to a changing environment and avoid the negative effect of other arrival nodes.
Therefore, we can conclude that the GA has good performance on the users’ service and channel gain, achieves channel allocation robustness, and maintains minimum network interference.
Furthermore, the GA can be easily extended to channels of different capacities by considering different versions of the dynamic channel assignment, as the dynamic assignment of coordination controls channels in cognitive radio networks (CRNs).
To examine the efficiency of the proposed algorithm in largerscale problems, we show the evaluation results for the simulation service area considered in [23]. Nodes are randomly distributed in a 200 × 200 unit square, and a certain number of PUs is generated, when each primary user occupies one channel. Each node in the network has its own available channel set according to the positions of PUs.
The parameters used to compare the performance of various algorithms are (1) number of nodes in the network, (2) the total number of channels, and (3) interference range of primary users.
Simulation settings
Total number of nodes  [10, 40] 

Communication range of each node (in meters)  [50, 70] 
Total number of channels  [4, 30] 
Total number of PUs  10 
Interference range of PUs (in meters)  [40, 140] 

a nodelinkbased [23] algorithm with a fast convergent localized protocol that assigns conflictfree channels to maximize connectivity in multichip Cognitive Radio Networks consisting of a cognitive source–destination node pair and multiple cooperating cognitive relays.

an optimal algorithm which maximizes the assigned link rate, without consideration of the number of rounds [23]

the distributed greedy algorithm in [24].
The delivery rate evolution is analyzed by varying three parameters:
The results show that the GA finds better solutions compared with the optimal algorithm and the nodelinkbased algorithm and achieves selfconfiguring radio cognitive networks without the need of additional signaling loads and changes. It shows a rapid convergence to an optimal solution and guarantees that there are idle channels, for last affectation of a new cognitive node appears on the current channel assignment.
In Fig. 7c, the number of nodes is kept at 15 and number of channels at 10, and the interference range of primary users varies. The results show that our proposed approach has improved the forecasting accuracy, and it is almost 30 % better than the other schemes.
As shown in Fig. 7, we can conclude that for each scheme, and compared to the optimal algorithm, the proposed GA can reduce efficiently the network interference up to 84–98 % with an important increase of the number of available channels and keeping it relatively constant. Particularly, since the goal is to construct a robust topology with minimizing interference, our algorithm obtain the optimality in a reasonably short execution time for these instances; it can obtain highquality solutions and much better than those of a nodelinkbased and optimal algorithm.
6 Conclusions
Channel allocation problem is the main issue in cognitive radio network, and the deployable realtime dynamic spectrum policies are one of its powerful means to improve the global spectral efficiency to develop new wireless communications services.
In this paper, we adopt a suitable mathematical formulation for opportunistic channel allocation. While taking into account spectrum dynamicity, we propose a genetic algorithm for channel assignment problem in cognitive radio and we give the steps of its implementation. The GA is based on the new enhanced crossover and mutation operators. It has a uniform distribution compared to the classical genetic algorithm, since it is oriented to explore promising solutions in the search space.
Experimental results show the validity of this approach. It cannot only find good solutions to the radio channel allocation problem but also obtain the optimal solution in a reasonably short execution time, with highquality solutions and better than those of the best current approaches used in nodelinkbased and optimal algorithm. It promotes the realtime allocation of cognitive radio spectrum.
The algorithm ensures improved performance in terms of satisfying the demands of cognitive radio’s need, and the adaptability to a changing environment; in the simulation, we assume that the channel availability is dynamic during the time. So, the algorithm can recompute allocations as the topology changes and adapt the environment change.
Furthermore, the simulation researches of this paper are principally executed on the theoretical benchmarks and oriented toward qualitative analysis; therefore, it is necessary to do some experiments on real benchmarks with quantitative analysis in the next studies to verify its superiority in the actual cognitive radio system.
Another possible future work will focus on channel allocation algorithm based on genetic algorithm to achieve a better performance and a better spectrum utilization and taking profit from the advantages of other heuristics through hybrid genetic algorithms.
Our future research direction will be the implementation of this algorithm for optimizing the 802.22 norm.
Declarations
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 J Mitola, G Maguire, Cognitive radio: making software radios more personal. IEEE Pers. Commun. 6(4), 13–18 (1999)View ArticleGoogle Scholar
 C.R. Stevenson, C. Cordeiro, E. Sofer, G. Chouinard, Functional requirements for the 802.22 WRAN standard. IEEE 802.2205/0007r47, (2006)Google Scholar
 S Haykin, Cognitive radio: brainempowered wireless communications. IEEE J. Sel. Areas Commun. 23(2), 201–220 (2005)View ArticleGoogle Scholar
 PK Tseng, WH Chung, PC Hsiu, Minimum interference topology construction for robust multihop cognitive radio networks. IEEE Wireless Commun. Netw. Conf. WCNC 2013, 101–105 (2013)Google Scholar
 J ElHachmi, Z Guennoun, An artificial intelligence approach for cognitive spectrum management. Int. J. Comput. Technol. Appl. 5(3), 1219–1225 (2014)Google Scholar
 C Clancy et al., Applications of machine, learning to cognitive radio networks. IEEE Wireless Commun. 14, 4 (2007)View ArticleGoogle Scholar
 A Amraoui, B Benmammar, F Krief, FT Bendimerad, Intelligent wireless communication system using cognitive radio. IJDPS Int. J. Distrib. Parallel Syst. 3(2), 91–104 (2012)View ArticleGoogle Scholar
 E. Hossain, D. Niyan, Z. Han, Dynamic spectrum access and management in cognitive radio networks. (Cambridge University Press, Cambridge, England, 2009)Google Scholar
 C.R. Aguayo Gonzales, et al, Design and implementation of an opensource softwaredefined cognitive tadio testbed, submitted to IEEE Journal on Selected Areas of Communication (JSAC).Google Scholar
 T Rondeau, B Le, C Rieser, C Bostian, Cognitive radios with genetic algorithms: intelligent control of software defined radios, in Software defined radio forum technical conference, 2004, pp. C3–C8Google Scholar
 Y Zhao, J Gaeddert, KK Bae, JH Reed, Radio environment mapenabled situationaware cognitive radio learning algorithms (Proc. of the SDR ‘06 Technical Conference and Product Exposition, Orlando, 2006), pp. 13–17Google Scholar
 R Deka, S Chakraborty, J Sekhar Roy, Optimization of spectrum sensing in cognitive radio using genetic algorithm. Ser. Elec. Energ. 25(3), 235–243 (2012)Google Scholar
 M Kaur, M Uddin, Optimization of QoS parameters in cognitive radio using adaptive genetic algorithm. Int. J. NextGenerat. Netw. (IJNGN) 4(2), 1–15 (2012)View ArticleGoogle Scholar
 O Jegede, K Ferens, W Kinsner, A chaotic genetic algorithm for radio spectrum allocation, in Proceedings of the International Conference on Genetic and Evolutionary Methods, Las Vegas, NV USA, 2013, pp. 118–125Google Scholar
 T Siddique, A Azam, Spectrum optimization in cognitive radio networks using genetic algorithms (Blenkinge Institute of Technology, Sweden, 2010)Google Scholar
 F Ye, R Yang, Y Li, Genetic spectrum assignment model with constraints in cognitive radio networks. I.J. Comput. Netw. Inf. Secur. 4, 39–45 (2011)Google Scholar
 V Subramanian, S Rimal, Dynamic resource allocation algorithms for cognitive radio Systems, in BTech thesis. Engineering and Technology, Department of Electronics and Communication Engineering, code 2244, 2011Google Scholar
 J. Mingjun, T. Huanwen, Application of chaos in simulated annealing. 21(4), 931944 (2004)Google Scholar
 W Wang, X Liu, H Xiao, Exploring opportunistic spectrum availability in wireless communication networks, in Proc. IEEE Vehicular Technology Conf. (VTC), 2005Google Scholar
 L Mé, Audit de sécurité par algorithmesgénétiques. PhD Thesis (University of Rennes 1, France, 1994)Google Scholar
 E Adamopoulou, K Demestichas, M Theologou, Enhanced estimation of configuration capabilities in cognitive radio. IEEE Commun. Mag. 46(4), 56–63 (2008)View ArticleGoogle Scholar
 JK Hao, R Dorne, Study of genetic search for the frequency assignment problem, in Artificial Evolution AE’95 (Lecture Note in Computer Science, Best France, 1996), pp. 333–344View ArticleGoogle Scholar
 J Wu, Y Dai, Y Zhao, Local channel assignments in cognitive radio networks, in Proceedings of 20th International Conference on Computer Communications and Networks (ICCCN), 2011Google Scholar
 W Wang, X Liu, Listcoloring based channel allocation for open spectrum wireless networks, in Proc. of IEEE VTC, 2005Google Scholar