  A cross-layer cognitive radio system is designed to support unicast and
multicast traffic with integration of dynamic spectrum access (DSA),
backpressure algorithm, and network coding for multi-hop networking. The full
protocol stack that operates with distributed coordination and local
information exchange is implemented with software-defined radios (SDRs) and
assessed in a realistic test and evaluation (T\&E) system based on a network
emulation testbed. Without a common control channel, each SDR performs
neighborhood discovery, spectrum sensing and channel estimation, and executes a
distributed extension of backpressure algorithm that optimizes the spectrum
utility (that represents link rates and traffic congestion) with joint DSA and
routing. The backpressure algorithm is extended to support multicast traffic
with network coding deployed over virtual queues (for multicast destinations).
In addition to full rank decoding at destinations, rank deficient decoding is
also considered to reduce the delay. Cognitive network functionalities are
programmed with GNU Radio and Python modules are developed for different
layers. USRP radios are used as RF front ends. A wireless network T\&E system
is presented to execute emulation tests, where radios communicate with each
other through a wireless network emulator that controls physical channels
according to path loss, fading, and topology effects. Emulation tests are
presented for different topologies to evaluate the throughput, backlog and
energy consumption. Results verify the SDR implementation and the joint effect
of DSA, backpressure routing and network coding under realistic channel and
radio hardware effects.
