Algorithm principle
Assume that a cognitive radar network is composed of N1 primary users and N2 secondary users in the area of d×d. The whole available spectrum can be divided into m different channels which are orthogonal to each other. Each cognitive user can detect the available spectrum. The idle spectrum detection, spectrum allocation, and data transmission form one distribution cycle. In a cycle, we assume that the location of user and the available spectrum are fixed. The primary user (PU) or the secondary user (SU) has a transmission radius respectively in each channel. Only when the SU’s transmission radius is not covered by the PU’s, the SU can share the PU’s spectrum.
In the study of graph coloring model, the topology is composed of vertexes and edges. Every vertex represents a cognitive radar user. What’s more, it is associated with an available channel list, which is determined by the location of a user. Take Figure 1 as an example, among which P represents PU, S represents SU, and Ch represents channel. Set the number of primary user N1 as 4, the number of secondary user N2 is 4, and the available channel number Ch is 3. According to the graph theory, spectrum allocation problem can be regarded as graph coloring problem by painting each secondary user into certain vertex and each channel into a color. When channel m is allocated to user n, it is just similar to assign color m to vertex n. The details are expressed in Figure 2. Then the previous matrices can be used in part 2 to describe distribution of process.
The process of grouping algorithm is as follows:
-
1.
Delete these nodes whose demand is larger than that of total number of available spectrum from topology. For one thing, even if all available spectrums are allocated to it, the user’s demand will still not satisfied either. For the other thing, other nodes that interfere with this node on the channel could obtain the spectrum by deleting this node.
-
2.
Divide the available topology applying user grouping and frequency grouping respectively. In frequency grouping, the topology can be divided according to the number of available spectrum. That is to say, if a topology consists of M available spectrum, it can be divided into M groups. According to Equation 4 and 5, we can calculate the values of Label and corresponding Color in each group. Select the maximum value of Label, and allocate the corresponding Color to it (If there are two or more largest Labels, we choose one randomly). Delete other nodes that can’t simultaneously use the spectrum with it in the topology of the group. Besides, user grouping is another matter. The topology can be divided according to the number of users. Select the maximum Label that corresponds to the spectrum according to Equation 4 in each group. If there are same spectrums, and two or more users interfere with each other on the spectrum, the spectrum is assigned to the largest value of Label. And the other Labels correspond to the other users cannot take part in allocating spectrum in the current cycle. If there is no same spectrum, directly allocate spectrum to the user who has the largest value of Label.
-
3.
Each group summarizes the distributed information after completing one allocation. Then the node is deleted from each sub topology. Because it can not only avoid wasting the spectrum resource, but also can enhance the fairness. Figure 3 is an example. Assume that the Figure3 (A) is an initial topology and the node 3 has got enough spectrums. If the improved parallel algorithm is applied based on user’s requirement, then the node 3 is removed from topology of this group. As is shown in Figure (B). The nodes 1 and 5 may participate into the allocation of the spectrum after that. In other words, it enhances the probability of more users to use the channel.
-
4.
The program terminates, when there is no available spectrum or all users’ requirements have been met.
The procedure of the algorithm can be summarized as algorithm 1 and algorithm 2.


Objective function and labeling standards
Our objective function maximums the system spectrum utilization. In order to enhance the spectrum utilization, the assigned spectrum should be ensured to be larger than the users’ requirement. Otherwise, the spectrum will not be allocated to the user, and be deleted from the topology. In this way, the objective function can be expressed as following:
$$ f= max{\displaystyle \sum_{i=1}^N}{\displaystyle \sum_{j=1}^M}a\mathrm{i},\mathrm{j}\times \upgamma \mathrm{i}\times b\mathrm{i},\mathrm{j} $$
(3)
In the equation above, \( \gamma i=\frac{Demandi}{{\displaystyle \sum_{i=1}^NTi}}<=1, \) and \( {\displaystyle \sum_{i=1}^NTi} \) indicates the total bandwidth of available spectrum for user i. We take the MHz as its unit. In order to make sure of the γi ≤ 1, the Node whose Demand is larger than \( {\displaystyle \sum_{i=1}^NTi} \) is deleted from the topology. After deleted, the node would not take part in allocation. So deleting a node does not affect the value of ai, j and objective function f. When the function is used during allocating spectrum, the labeling method (Collaborative-Max-Proportional-Fair) will be introduced. As a result, the labeling standards change as follows:
$$ Label\mathrm{i}= \max \frac{\gamma \mathrm{i}\cdot \frac{b\mathrm{i},\mathrm{j}}{R\mathrm{i},\mathrm{j}+1}}{{\displaystyle \sum_{i=1}^Na\mathrm{i},\mathrm{j}\cdot b\mathrm{i},\mathrm{j}}} $$
(4)
$$ Color\mathrm{i}= \arg \max \frac{\gamma \mathrm{i}\cdot \frac{b\mathrm{i},\mathrm{j}}{R\mathrm{i},\mathrm{j}+1}}{{\displaystyle \sum_{i=1}^Na\mathrm{i},\mathrm{j}\cdot b\mathrm{i},\mathrm{j}}} $$
(5)
The time for parallel algorithm based on user’s requirement
List coloring spectrum allocation algorithm and CSGC spectrum allocation algorithm are both based on the cognitive radar network topology of the static spectrum allocation. That is to say, topology of cognitive radar network always does not change. If there is a new node to get into the radar network, cognitive radar will rebuild topology. This process needs more time.
As the network the cognitive users and available channel increases, the time of list coloring algorithm and CSGC algorithm increases as well. It can be measured according to Equation (6):
$$ T\; \cos \mathrm{t}={\displaystyle \sum_{i=1}^N{\displaystyle \sum_{j=1}^Ma\mathrm{i},\mathrm{j}}} $$
(6)
In Equation 6, an, m represents the allocation matrix. The traditional parallel algorithm of spectrum allocation reduces the time of CSGC spectrum allocation algorithm. The detailed calculation of the time is listed as followed:
$$ T\; cost=\underset{1\le j\le M}{ \max }{\displaystyle \sum_{i=1}^Na\mathrm{i},\mathrm{j}} $$
(7)
The time cost of the improved parallel algorithm is little longer than that of the traditional one. The time of frequency grouping is shown as Equation 8:
$$ T\; cost=\underset{1\le j\le M}{ \max }{\displaystyle \sum_{i=1}^Ma\mathrm{i},\mathrm{j}}+\underset{1\le j\le M}{ \max}\left(\lambda \mathrm{j}\right)\cdot t\mathrm{report} $$
(8)
In the Equation 8, λj represents the number of allocation of each group, which is determined by the matrix of Available Channel. The allocation is carried on until the matrix Available Channel of each group is equal to zero. As the number of allocation in each group may not equal, \( \underset{1\le j\le M}{ \max}\left(\lambda \mathrm{j}\right) \) represents the max number of allocation of groups. treport represents the time that each group spend to report their distribution to the cognitive base station(CBS) in order to judge whether the node has already reached the users’ requirements. Just because of it, the time cost of the improved parallel algorithm is little longer than that of the traditional one.
The time of user’s grouping is listed as Equation 9:
$$ T \cos t=\underset{1\le i\le M}{ \max }{\displaystyle \sum_{j=1}^M ai,j}+\underset{1\le i\le N}{ \max}\eta i\cdot treport $$
(9)
In the equation above, ηi represents the number of allocation in each user grouping. The allocation is carried on, until the matrix of Available Channel of each group is zero. Similarly, for the number of allocation is not equal in each group, \( \underset{1\le i\le N}{ \max}\left(\eta \mathrm{i}\right) \) represents the max number of allocation in each group.