henhaobio
Sign in

Abstract

Electrophysiological signals across species and recording scales exhibit both periodic and aperiodic features. Periodic oscillations have been widely studied and linked to numerous physiological, cognitive, behavioral, and disease states, while the aperiodic \"background\" 1/f component of neural power spectra has received far less attention. Most analyses of oscillations are conducted on a priori, canonically-defined frequency bands without consideration of the underlying aperiodic structure, or verification that a periodic signal even exists in addition to the aperiodic signal. This is problematic, as recent evidence shows that the aperiodic signal is dynamic, changing with age, task demands, and cognitive state. It has also been linked to the relative excitation/inhibition of the underlying neuronal population. This means that standard analytic approaches easily conflate changes in the periodic and aperiodic signals with one another because the aperiodic parameters--along with oscillation center frequency, power, and bandwidth--are all dynamic in physiologically meaningful, but likely different, ways. In order to overcome the limitations of traditional narrowband analyses and to reduce the potentially deleterious effects of conflating these features, we introduce a novel algorithm for automatic parameterization of neural power spectral densities (PSDs) as a combination of the aperiodic signal and putative periodic oscillations. Notably, this algorithm requires no a priori specification of band limits and accounts for potentially-overlapping oscillations while minimizing the degree to which they are confounded with one another. This algorithm is amenable to large-scale data exploration and analysis, providing researchers with a tool to quickly and accurately parameterize neural power spectra.

In-depth summary

Claude Opus 5.5 · xhigh effort · 5 Nov 2026 · from the full text of version 1 (11 Apr 2018)

An open-source Python algorithm decomposes neural power spectra into a dynamic aperiodic 1/f background and Gaussian oscillatory peaks without requiring predefined canonical frequency bands.

Traditional electrophysiological analyses measure power inside fixed canonical frequency bands without verifying that a periodic oscillation exists or accounting for shifts in the aperiodic 1/f background. This algorithm jointly models the aperiodic background and overlapping periodic peaks to prevent conflating broadband offset, slope, or frequency shifts with true oscillatory power.

Key results

  1. ShownJoint iterative fitting of an exponential aperiodic component and multiple Gaussian peaks accurately reconstructs neural power spectral densities with few parameters.

    On an illustrative neural power spectrum, a combined model with broadband offset -21.4 au, slope -1.12 au/Hz, and two Gaussians (10.0 Hz, amplitude 0.69 au, bandwidth 3.18 Hz; 16.3 Hz, amplitude 0.14 au, bandwidth 7.03 Hz) accounted for >99% of variance. · METHODS; Figure legends

  2. ShownThreshold-based residual selection isolates the aperiodic background without bias from large oscillatory peaks or predefined exclusion zones.

    Using seed values of the first-frequency amplitude for offset and -2.0 au/Hz for slope, the algorithm selects residuals below the 2.5 percentile threshold for a second aperiodic fit before iteratively fitting peaks above a 2 std noise floor. · METHODS; Figure legends

  3. ShownNarrowband power measurements conflate four distinct physiological processes and generate illusory oscillations from purely aperiodic noise.

    True 8-12 Hz oscillatory power reduction, center frequency slowing (e.g., 10 Hz to 8 Hz), broadband offset shifts, and aperiodic slope rotations around 20-30 Hz yield identical total narrowband power changes, while filtering white or pink (1/f) noise produces false oscillatory peaks. · Introduction; DISCUSSION; Figure legends

  4. ShownThe Python implementation supports rapid single-spectrum fitting and parallel high-throughput processing across electrophysiological datasets.

    On a 3.5 GHz Intel i7 MacBook Pro, a single power spectral density is parameterized in approximately 10-20 msec using numpy and scipy (>= version 0.19). · METHODS; Footnotes

Methods, data and reproducibility

Models a power spectral density (Welch's method) in semilog-power space as the linear sum of an aperiodic exponential signal (offset, slope, and optional knee k) and N Gaussian peaks. Fits the aperiodic background on lowest-amplitude residuals (2.5 percentile), iteratively fits Gaussians from FWHM estimates above a 2 SD threshold, refines all peaks jointly with scipy.optimize.curve_fit, and re-fits the background.

  • Illustrative electrophysiological neural power spectral density recordings and simulated white and pink (1/f) noise spectra
Methods & tools
FOOOF, Python, NumPy, SciPy, scipy.optimize.curve_fit, Welch's method
Software & environment
Python >= 3.5 under the Apache-2.0 license; package dependencies are limited to numpy and scipy (>= version 0.19).
Experimental conditions
10-20 msec per power spectrum on a 3.5 GHz Intel i7 MacBook Pro, with built-in multiprocessing support across spectra.
Reproducibility gaps
No public repository link or accession is provided for the illustrative electrophysiological data shown in Figures 1-3.
Limitations (2)
  • Candidate Gaussian peaks that heavily overlap (within 1.5 std) or lie too close to the edges of the frequency spectrum (<= 1.0 std) are automatically dropped to handle edge cases. · stated by the authors
  • Applying the model across diverse recording scales such as invasive local field potentials versus M/EEG over broad frequency ranges requires tuning optional parameters including the knee parameter k, bandwidth limits, maximum peak counts, and amplitude thresholds. · stated by the authors

Read this if you analyze EEG, MEG, ECoG, or local field potential spectra and want to separate periodic oscillations from dynamic 1/f background activity.

Citations
2,286
FWCI
100.28
Field percentile
top 1%

Reproducibility ledger

Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.

Sign in to file a reproducibility report.