Flicker Noise Model

The correlated noise in radio telescope data is modeled as flicker (1/f) noise with a power spectral density that follows a power law.

Power Spectral Density

The noise power spectral density is:

\[\begin{split}P(\omega) = \begin{cases} \left(\frac{f_0}{\omega}\right)^\alpha & \omega > \omega_c \\ 0 & \omega \leq \omega_c \end{cases}\end{split}\]

where:

  • \(f_0\) is the knee frequency (angular frequency convention)

  • \(\alpha\) is the spectral index (typically 1.5–3)

  • \(\omega_c = 2\pi / (N \cdot \Delta t)\) is the low-frequency cutoff

Correlation Function

The time-domain correlation function is obtained via Fourier transform:

\[C(\tau) = \frac{1}{\pi \tau} \left(f_0 \tau\right)^\alpha \, \mathrm{Re}\!\left[e^{-i\pi\mu/2} \, \Gamma(\mu, i\omega_c\tau)\right]\]

where \(\mu = 1 - \alpha\) and \(\Gamma(\mu, z)\) is the upper incomplete gamma function.

At zero lag:

\[C(0) = \frac{\omega_c}{\pi} \frac{(f_0/\omega_c)^\alpha}{\alpha - 1} + \sigma_w^2\]

where \(\sigma_w^2\) is the white noise variance.

Covariance Matrix

The noise covariance matrix is Toeplitz, constructed from the correlation function evaluated at the time lags:

\[\mathbf{N}_{ij} = C(|t_i - t_j|)\]

The Toeplitz structure enables efficient \(O(n \log n)\) matrix-vector products and \(O(n^2)\) Levinson-based solves.

Emulator

For repeated evaluation during sampling, the correlation function can be approximated using a polynomial emulator (FlickerCorrEmulator) trained over a grid of spectral index values. The emulator provides both NumPy and JAX-compatible evaluation for automatic differentiation in NUTS sampling.

For full details, see Zhang et al. (2026), RASTI, rzag024.