How to apply multi-radio and multi-channel in CR (Cognitive Radio) enabled WCETT Routing Protocol using NS2?


In the code segment given below, each node is configured with 2 interfaces and 2 channels. In network layer on demand ad-hoc routing protocol, WCETT (Weight Cumulative Expected Transmission Time protocol) routing protocol is used. It selects the best path between source and destination during route discovery process.

TCL part :

set val(chan) Channel/WirelessChannel ; #Channel Type
set val(prop) Propagation/TwoRayGround ; #Radio propagation model
set val(netif) Phy/WirelessPhy ; #Network interface type
set val(ant) Antenna/OmniAntenna ; #Antenna model
set val(rp) WCETT ;#Routing Protocol
set val(ifq) Queue/DropTail/PriQueue ;# interface queue type
set val(ifqlen) 50 ;# max packet in ifq
set val(mac) Mac/802_11 ;# MAC type
set val(ll) LL ;# link layer type
set val(nn) 20 ;# number of mobilenodes
set val(ni) 2 ;# number of interfaces
set val(channum) 2 ;# number of channels per radio
set val(cp) ./random.tcl ; # topology traffic file
set val(stop) 50 ;# simulation time

# ==================================================================

# Main Program

# ======================================================================

# Initialize Global Variables

set ns_ [new Simulator]

set tracefd [open w]

$ns_ trace-all $tracefd

# set up topography object

set topo [new Topography]

$topo load_flatgrid 1000 1000

#create nam

set namtrace [open test.nam w]

$ns_ namtrace-all-wireless $namtrace 1000 1000

# Create God

set god_ [create-god $val(nn)]

# configure node

$ns_ node-config -adhocRouting $val(rp) -llType $val(ll) -macType $val(mac) -ifqType $val(ifq) -ifqLen $val(ifqlen) -antType $val(ant) -propType $val(prop) -phyType $val(netif) -topoInstance $topo -agentTrace ON -routerTrace ON -macTrace ON -movementTrace ON

for {set i 0} { $i < $val(ni)} {incr i} {

set chan_($i) [new $val(chan)]


#configure for interface and channel

$ns_ node-config -ifNum $val(ni) -channel $chan_(0)

for {set i 0} {$i < $val(ni) } {incr i} {

$ns_ add-channel $i $chan_($i)


for {set i 0} {$i < $val(nn) } {incr i} {

set node_($i) [$ns_ node]

$node_($i) set recordIfall 1

$node_($i) random-motion 0 ;# disable random motion


source $val(cp) ; #source topology and traffic file generated by others

Deprecated: vcExtractDimensions is deprecated since version 5.8! Use vc_extract_dimensions instead. in /home/sglkmvhshgqr/public_html/wp-includes/functions.php on line 4777