← Back to project catalogue
GP-EC-0Z9GCLZElectronicsReady

GNU Radio adaptive interference canceller

A completed adaptive signal-processing laboratory comparing complex LMS, NLMS, and RLS interference cancellation across twelve controlled channel and reference conditions.

GNU Radio adaptive interference canceller project visual
GP-EC-0Z9GCLZ · Electronics
  • Python 3.11
  • GNU Radio 3.10
  • NumPy
  • pandas
  • Matplotlib

Project definition

Problem statement

A desired baseband signal can be corrupted by interference that also appears in a separate reference path.

The engineering problem is to estimate the reference-correlated interference and subtract it without removing the desired signal or becoming unstable when the channel changes.

Project objectives

  • Implement complex LMS, NLMS, and RLS adaptive FIR cancellers from declared equations.
  • Generate deterministic desired, interference, reference, channel, and noise signals.
  • Compare the algorithms across twelve controlled stationary and changing conditions.
  • Measure SIR improvement, output EVM, convergence sample, and runtime.
  • Provide paired-file cancellation and a GNU Radio 3.10 integration path.
  • Retain every trial, parameter, figure, and result in open files.

Project structure

Project components

01

Signal laboratory

Creates complex desired and interference signals, unknown FIR paths, noise, delay, leakage, impulses, and channel changes.

02

Adaptive algorithms

Implements complex LMS, NLMS, and RLS with explicit state and parameter validation.

03

Evaluation

Calculates SIR, SIR improvement, EVM, convergence, and runtime for each retained trial.

04

File workflow

Reads and writes paired interleaved complex64 streams with JSON metadata.

05

GNU Radio integration

Provides an embedded Python block and replay flowgraph for GNU Radio 3.10.

06

Evidence package

Produces CSV and JSON results, eight figures, a dashboard, tests, and complete documentation.

Methodology

Project workflow

  1. 01
    Generate

    Create one declared complex-baseband scenario from a deterministic seed.

  2. 02
    Cancel

    Run identical primary and reference streams through LMS, NLMS, and RLS.

  3. 03
    Measure

    Evaluate signal improvement after the declared warmup period.

  4. 04
    Compare

    Inspect aggregate and scenario-level convergence, quality, and runtime tradeoffs.

  5. 05
    Replay

    Apply the selected algorithm to paired complex64 files or the GNU Radio integration.

  6. 06
    Verify

    Reproduce tests, retained results, figures, and delivery checks.

Demonstration scenario

Run the retained benchmark, compare the three algorithms on the stationary-medium channel, then inspect the abrupt channel-change response and the delayed-reference failure. Replay the included primary and reference files through the command line and compare the output with the retained complex64 result.

Engineering

Tools and method

Tools
The project uses Python 3.11, GNU Radio 3.10, NumPy, pandas, Matplotlib for subject analysis, simulation, and results.
Adaptive filtering
Twelve-tap complex FIR filters with fixed LMS, NLMS, and RLS parameters.
Experiment design
Three algorithms, twelve scenarios, four seeds, and 8,192 samples per trial.
Evidence
Open CSV, JSON, complex64, PNG, and offline HTML outputs.
Integration
GNU Radio 3.10 embedded Python block and paired-file replay flowgraph.
Verification
29 automated tests, 99.69 percent coverage, dependency audit, and delivery validation.

Testing

Evaluation

Evaluation measures

  • NLMS records the highest overall mean SIR improvement at 13.8781 dB
  • RLS records the fastest median convergence at 386.5 samples
  • LMS records the lowest median runtime in the retained environment
  • Stationary-medium mean improvement is 21.0 dB LMS, 24.5 dB NLMS, and 22.2 dB RLS
  • A four-sample delayed reference produces approximately zero improvement
  • All 144 trial rows and eight result figures regenerate from declared commands

Project boundaries

  • The retained evidence uses controlled synthetic complex-baseband signals.
  • The project does not transmit, receive, decode, or jam RF signals.
  • No hardware, field-channel, regulatory, or universal performance claim is made.
  • GNU Radio integration must be replay-tested in an installed GNU Radio 3.10 environment.
  • No information collected.

Included

  1. 01Python source code and command-line tools
  2. 02Complex LMS, NLMS, and RLS adaptive filters
  3. 03Twelve controlled scenarios and 144 retained trials
  4. 04GNU Radio adaptive-filter block and paired-file replay flowgraph
  5. 05Eight generated figures and an offline results dashboard
  6. 0629 automated tests with 99.69 percent coverage
  7. 07Complete project files, models, calculations, and analysis material in a private GitHub repository
  8. 0895-page project report in PDF and editable Word formats
  9. 0920-page setup and usage guide in PDF and editable Word formats
  10. 10Forty-five annotated references

Project record

No information is collected on this page.

Permanent project ID
GP-EC-0Z9GCLZ
Catalogued
21 Aug 2026
Completed
24 Aug 2026
Verified
24 Aug 2026
Demonstration
Included in repository

Handover

After purchase

  1. 01
    Payment is confirmed

    The project is marked unavailable and cannot be purchased again.

  2. 02
    Repository access is granted

    The buyer's submitted GitHub account receives access to the private repository.

  3. 03
    The purchase record is delivered

    The certification sheet is prepared from the reviewed buyer details and sent privately by email.