A non-transitory computer readable medium having stored thereon a program that when executed by a computer, causes the computer to execute a method of relay selection within a cognitive radio network, the method comprising:
- identifying one or more primary source devices and primary destination devices within a primary network of the cognitive radio network;
- identifying one or more secondary source devices and secondary destination devices, and a predetermined number of cognitive relays within a secondary network of the cognitive radio network;
- transmitting data packets from the primary network for every time slot during network operation on a continuous basis;
- and
- select a source relay link or a relay destination link within the secondary network to transmit predetermined data based on a modified Max-Link relay selection with set criterion of
- R
- i
-
- o
- pt
- =
- max
- i
-
- (
- R
- S
- p
- ,
- R
- p
- (
- 1
- )
- +
- R
- S
- ,
- R
- i
- ,
-
- R
- S
- p
- ,
- R
- p
- (
- 2
- )
- +
- R
- R
- i
- ,
- D
- )
- ,
- where RSp,Rp(1) and RSp,Rp(2) are the normalized rates of the primary network, Rs,Ri is the channel matrix for a link between source and relay i, and RRi,D is the channel matrix for a link between relay i and destination, D.
- wherein the one or more primary source devices, primary destination devices, secondary source devices, secondary destination devices and cognitive relays are multiple input multiple output (MIMO) devices.