Skip to content

NR2 Noise Reduction

Jeremy Fielder edited this page Mar 19, 2026 · 1 revision

NR2 Spectral Noise Reduction

NR2 is a client-side spectral noise reduction algorithm that complements the radio's built-in NR. It uses the Ephraim-Malah MMSE Log-Spectral Amplitude estimator with OSMS noise floor tracking.

Contributed by @EI6JGB

How It Works

NR2 processes the demodulated audio (24kHz mono) on your CPU — not on the radio's FPGA. It runs a 256-point FFT with 50% overlap, estimates the noise floor per frequency bin, and applies a spectral gain that suppresses noise while preserving speech.

CPU cost: ~1-2% of one core. Negligible on any modern machine.

Enabling NR2

From the RX Applet

The NR button cycles through three states:

  1. Click → NR (radio-side noise reduction)
  2. Click → NR2 (client-side spectral noise reduction)
  3. Click → Off

From the VFO Widget

Click the NR2 button in the DSP sub-menu.

From the DSP Side Panel

Click the NR2 button in the left-side DSP overlay panel.

FFTW Wisdom Generation

On first use, NR2 generates optimized FFT plans (FFTW "wisdom"). This takes 1-2 minutes and shows a progress dialog. Audio continues playing during generation using a fallback FFT.

The wisdom file is saved at ~/.config/AetherSDR/AetherSDR/aethersdr_fftw_wisdom and reused on subsequent launches.

To regenerate wisdom (e.g., after upgrading FFTW):

rm ~/.config/AetherSDR/AetherSDR/aethersdr_fftw_wisdom

When to Use NR2

  • Weak signals where the radio's NR isn't enough
  • Stacking with radio NR — NR and NR2 use different algorithms and can complement each other (enable NR on the radio, NR2 in AetherSDR)
  • CW and SSB — most effective on voice and CW signals

NR2 adapts to the noise floor within ~1 second when changing bands or conditions.

Optional Dependency

NR2 works with or without FFTW3:

  • With FFTW3: Optimized FFTs via hardware-specific plans
  • Without FFTW3: Built-in radix-2 FFT (slightly less efficient, same audio quality)

Install FFTW3:

  • Arch: sudo pacman -S fftw
  • Ubuntu: sudo apt install libfftw3-dev
  • macOS: brew install fftw

Clone this wiki locally