— FCC Notice of Proposed Rulemaking, ET ">
Classroom Glossary Public page

RF-301 Week 3 — Cognitive Radio: Mitola Architecture, Spectrum Sensing, Opportunistic Access

1,465 words

"Cognitive radio is a radio that can change its transmitter parameters based on interaction with the environment in which it operates." — FCC Notice of Proposed Rulemaking, ET Docket 03-108 (2003) -- echoing Mitola's 1999 definition


Lecture (90 min)

2.1 The Software-Radio-to-Cognitive-Radio Arc

Joseph Mitola coined the term "software radio" in a 1991 paper and expanded it into "cognitive radio" in a 1999 paper that is now the founding document of the field. The arc from software radio to cognitive radio is the arc from "radio behavior defined by software" to "radio behavior defined by software that observes its environment and adapts."

A conventional radio is hardware: a crystal oscillator fixes the frequency, an analog filter fixes the bandwidth, a power amplifier fixes the output power. Changing any of these requires hardware modification. A software radio replaces the fixed hardware with programmable digital signal processing: the frequency, bandwidth, modulation scheme, and output power are all parameters in software. This is what an RTL-SDR or ANTSDR E200 is: a software radio at the SDR hobbyist / RF-201 register.

Mitola's cognitive extension: Software radio gives you the capability to change parameters; cognitive radio gives you the reason to change them and the decision-making machinery to do it well. A cognitive radio:

  1. Perceives its RF environment (spectrum sensing: what frequencies are in use? at what power? by whom?)
  2. Plans what to do based on what it perceives (opportunistic access: which spectrum is available to me right now?)
  3. Acts on its plan (dynamic spectrum access: tune to the available spectrum and configure the radio chain for it)
  4. Learns from the outcome (update the model of the spectrum environment based on what happened)

The four-step loop is Mitola's cognitive cycle. Every cognitive radio system -- from the DARPA Spectrum Collaboration Challenge (SC2) teams to the FCC's TV White Space rules to WiFi's Dynamic Frequency Selection (DFS) -- is an instantiation of this cycle at different complexity levels.

2.2 Spectrum Sensing: The Detection Problem

The foundational technical question of cognitive radio is spectrum sensing: given a wideband captured signal, determine which sub-bands contain primary-user transmissions and which are available for secondary use.

This is a statistical detection problem. The null hypothesis H_0 is "the sub-band is empty"; the alternative H_1 is "a primary user is transmitting."

Three sensing approaches at RF-301 depth:

Energy Detection: Compute the average power in the sub-band; compare against a threshold τ. If power > τ, declare H_1.

E = (1/N) Σ |x[n]|²
Decision: H_1 if E > τ, else H_0

Threshold τ is chosen to meet a target probability of false alarm (P_fa). For Gaussian noise with variance σ², the threshold for P_fa = 0.01 is:

import numpy as np
from scipy import stats

def energy_threshold(N_samples, noise_var, P_fa):
    """Threshold for energy detector at given false alarm rate."""
    # Test statistic 2E/noise_var ~ chi-squared(2N) under H0
    # (or Gaussian approximation for large N)
    # For Gaussian approx: E ~ N(noise_var, noise_var^2/N)
    sigma_E = noise_var / np.sqrt(N_samples)
    threshold = noise_var + stats.norm.ppf(1 - P_fa) * sigma_E
    return threshold

# Example
N = 1000           # sensing window samples
noise_var = 1.0    # noise variance (normalized)
tau = energy_threshold(N, noise_var, P_fa=0.01)
print(f"Energy threshold: {tau:.4f} (P_fa=0.01, N={N})")

Matched Filter Detection: If the primary user's signal is known (e.g., a TV broadcast pilot tone with known waveform), correlate the received signal against a replica. Achieves the best possible detection performance (SNR advantage of N over energy detection) at the cost of needing to know the primary signal's waveform. Not practical for sensing unknown primaries.

Cyclostationary Feature Detection: Most communication signals are cyclostationary -- their statistics vary periodically at the symbol rate, carrier frequency, or chip rate. OFDM has a cyclostationary signature at the subcarrier spacing; BPSK at the carrier; 802.11 at the OFDM symbol period. The spectral correlation function (SCF) reveals these cyclic frequencies even below the noise floor where energy detection fails.

import numpy as np
import matplotlib.pyplot as plt

def spectral_correlation(x, alpha, fs):
    """Estimate spectral correlation at cyclic frequency alpha."""
    N = len(x)
    # Frequency-smoothed spectral correlation estimator
    X = np.fft.fft(x)
    # Cyclic autocorrelation at lag alpha
    x_shifted = np.roll(x, int(alpha * N / fs))
    R_alpha = x * np.conj(x_shifted)
    S_alpha = np.fft.fft(R_alpha) / N
    return np.fft.fftfreq(N, 1/fs), S_alpha

# Simulate an OFDM signal with cyclostationary features
# The cyclic frequency of OFDM is 1/T_s (symbol rate)
np.random.seed(42)
fs = 10e6        # 10 MHz sample rate
T_sym = 100e-6   # 100 us OFDM symbol period
N = int(fs * 0.01)  # 10 ms capture

# Simulate basic carrier at 1 MHz (would be OFDM; simplified here)
t = np.arange(N) / fs
carrier = np.exp(2j * np.pi * 1e6 * t) * (np.random.randn(N) + 1j*np.random.randn(N)) / np.sqrt(2)
noise = 0.3 * (np.random.randn(N) + 1j*np.random.randn(N)) / np.sqrt(2)
x = carrier + noise

f, S = spectral_correlation(x, alpha=1/T_sym, fs=fs)

Detection performance comparison:

Detector Required SNR for P_d=0.9, P_fa=0.01 Primary waveform needed? Computational cost
Energy ~-10 dB (N=1000 samples) No O(N)
Matched filter ~-20 dB (15 dB SNR gain) Yes O(N log N) with FFT
Cyclostationary ~-15 dB No (uses signal structure) O(N²) naive; O(N log N) with FFT

The energy detector is the practical default for wide-area sensing; matched filter for known primaries; cyclostationary for unknown primaries where SNR is low.


2.3 Opportunistic Spectrum Access

Once sensing identifies an available sub-band, the cognitive radio must access it without causing harmful interference to the primary user if they return.

The interference constraint: The secondary user's transmitted signal must appear below the primary user's interference temperature limit at the primary receiver. This is a probability constraint -- sensing has false negatives (missed detections) -- so the secondary must have a protocol for vacating quickly when the primary resumes.

Spectrum handoff protocol:

  1. Sense the target band (energy or cyclostationary detection)
  2. If vacant: configure the radio chain (tune LO, set BW, configure modulation)
  3. Begin transmission; continue sensing at the sensing interval
  4. If primary detected during transmission: stop immediately; retune to another vacancy
  5. Back-off timer before re-occupying the same channel (to reduce collision probability with the returning primary)

GNU Radio cognitive radio flowgraph (conceptual):

[Wideband Capture] → [FFT Channelizer (M channels)] → [Energy Detector per Channel]
                                                            
                                                    [Occupancy Map]
                                                            
                                                    [Opportunistic Selector]
                                                            
                                          [TX Radio Chain: tune LO + set BW]

Each stage is a separate GNU Radio block or block chain. Lab 2 implements this in Python with simulated spectrum maps before the GNU Radio flowgraph build.


2.4 Architecture Comparison Sidebar: Cognitive Radio Paradigms

Three cognitive-radio research and regulatory traditions developed in parallel and reached different conclusions about what cognitive radio is for:

Mitola's academic paradigm (1999-2006): Cognitive radio as a general-purpose radio agent -- a radio that can understand human language (Radio Markup Language, the "Radio XML" in Mitola's Cognitive Radio Architecture title), represent its knowledge in ontologies, and reason about spectrum use through deliberate planning. Mitola's vision was maximally ambitious: a radio that could read a regulatory policy document and derive its own transmission rules from it. The full Mitola vision has not shipped; the spectrum sensing and opportunistic access pieces have.

DARPA Spectrum Collaboration Challenge (SC2, 2016-2019): A DARPA research competition that operationalized cognitive radio at the peer-to-peer collaboration level. SC2 teams built radio networks that had to collaborate to share a contested spectrum band efficiently and fairly, without a central coordinator, using only radio observations of each other's traffic. The competition produced ML-based spectrum sharing techniques and demonstrated that cognitive radio collaboration was achievable at near-human spectral efficiency.

FCC TV White Space / opportunistic access (2008-present): The FCC's regulatory operationalization of cognitive radio -- the minimal viable version. TV White Space databases map which TV channels are unused in each geographic area; a White Space Device (WSD) queries the database and transmits only on unused channels. No sensing required; the database is the cognitive element. WiFi DFS (Dynamic Frequency Selection) in the 5 GHz band is the same model applied to radar protection: a WiFi AP senses for radar pulses and vacates to another channel if detected. Both are Mitola's cognitive cycle at the most conservative regulatory interpretation.

What connects them: All three inherit the same fundamental architecture: a decision-making layer on top of a sensing layer on top of a software radio. The difference is in how much of the decision-making is automated vs. centralized vs. database-driven.


2.5 Anchor Weave: Mitola Cognitive Radio Architecture Ch 1-2

Mitola's Cognitive Radio Architecture (Wiley, 2006) opens with the software-radio-as-foundation framing in Chapter 1 and expands into the cognitive architecture in Chapter 2. The key insight of Chapter 2 is that a cognitive radio requires a situation model -- an internal representation of the spectrum environment that the radio updates from observations and reasons about. Without the situation model, you have an opportunistic radio; with it, you have a cognitive radio.

What to extract from Ch 1-2:

  1. The distinction between SDR (parameters are software-defined) and cognitive radio (parameters are software-decided based on a learned environment model)
  2. The cognitive cycle: perceive → plan → act → learn
  3. The Radio Markup Language (Radio XML) framing: Mitola's argument that spectrum policy should be machine-readable so cognitive radios can derive their rules directly from policy documents
  4. Why the "cognitive" in cognitive radio is operationally significant even in the simplified forms that shipped (DFS, TV White Space): the radio is making decisions that previously required human operators

Cross-link: Wyglinski et al. Ch 1 (Introduction) situates SDR in the same arc Mitola draws; the Wyglinski framing is the practitioner's reading of the same landscape. Read them as two views on one argument.


Lab Introduction

Lab 2 (20 pts): Cognitive-radio spectrum-sensing-and-opportunistic-access pipeline. Students implement an energy detector with configurable threshold, build an occupancy map across M simulated channels, and implement a basic opportunistic transmitter that selects vacant channels. See labs/lab-2.md.

Independent Practice

  1. Read Mitola Cognitive Radio Architecture Ch 1-2 (or the 2000 dissertation abstract + first 20 pages -- both are accessible). Write a 200-word reflection: what does "situation model" mean in Mitola's framework, and what does its absence mean for a system like FCC TV White Space?
  2. Implement a cyclostationary feature detector for a BPSK signal in Gaussian noise. At what SNR does it outperform the energy detector?
  3. Look up the DARPA SC2 final results (published 2019). Which teams' approaches most closely matched Mitola's cognitive cycle? Which used ML instead of deliberate planning, and what trade-offs did that represent?