Skip to content
Oakfield Operator Calculus Function Reference Site

Gain Control

For β0\beta \ge 0 and scalar xx (componentwise for vectors),

Gβ(x)=x1+βxG_{\beta}(x) = \frac{x}{1 + \beta |x|}

Applies to real or complex inputs (using x|x| for magnitude). Output retains the input sign or phase with bounded magnitude.


Monotone in x|x|; linear near the origin with slope 11; saturates to sgn(x)/β\operatorname{sgn}(x)/\beta as x|x| \to \infty when β>0\beta>0. For real xx, the map is differentiable everywhere (including at 00), but is not twice differentiable at 00 due to the cusp in x|x|.


β=0\beta = 0 recovers identity. Large β\beta enforces strong compression. Replacing x|x| with x2x^2 yields a smooth even variant.


  • β=0\beta=0 is the identity.
  • Large β\beta yields stronger compression with smaller effective output magnitude.

Normalization rescales to unit norm globally; smooth saturation functions offer alternative soft knees; thresholding can be combined to mute small signals before gain control.


Oakfield does not currently expose this exact rational “soft limiter” as a standalone operator, but similar gain-control behavior exists in several places:

  • Bounded nonlinearities: analytic_warp (TANH profile) and remainder (TANH) provide smooth saturation to prevent runaway amplitudes.
  • Energy regulation: the thermostat operator provides feedback-style gain control based on u2|u|^2.
  • Spectral damping: linear_dissipative applies per-mode exponential decay in Fourier space (a frequency-dependent gain control).
  • Utility hooks like sim_clamp_complex support phase-preserving magnitude limiting when a kernel wants explicit clamping.

Gain-control style nonlinearities are standard in signal processing and numerical stabilization, enforcing bounded magnitude while preserving sign or phase.

They are commonly used as “soft limiters” in iterative updates to prevent runaway amplitudes.


  • Oppenheim & Schafer, Discrete-Time Signal Processing