Gain Control
📐 Definition
Section titled “📐 Definition”For and scalar (componentwise for vectors),
Domain and Codomain
Section titled “Domain and Codomain”Applies to real or complex inputs (using for magnitude). Output retains the input sign or phase with bounded magnitude.
⚙️ Key Properties
Section titled “⚙️ Key Properties”Monotone in ; linear near the origin with slope ; saturates to as when . For real , the map is differentiable everywhere (including at ), but is not twice differentiable at due to the cusp in .
recovers identity. Large enforces strong compression. Replacing with yields a smooth even variant.
🎯 Special Cases and Limits
Section titled “🎯 Special Cases and Limits”- is the identity.
- Large yields stronger compression with smaller effective output magnitude.
🔗 Related Functions
Section titled “🔗 Related Functions”Normalization rescales to unit norm globally; smooth saturation functions offer alternative soft knees; thresholding can be combined to mute small signals before gain control.
Usage in Oakfield
Section titled “Usage in Oakfield”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) andremainder(TANH) provide smooth saturation to prevent runaway amplitudes. - Energy regulation: the
thermostatoperator provides feedback-style gain control based on . - Spectral damping:
linear_dissipativeapplies per-mode exponential decay in Fourier space (a frequency-dependent gain control). - Utility hooks like
sim_clamp_complexsupport phase-preserving magnitude limiting when a kernel wants explicit clamping.
Historical Foundations
Section titled “Historical Foundations”📜 Dynamic Range Control
Section titled “📜 Dynamic Range Control”Gain-control style nonlinearities are standard in signal processing and numerical stabilization, enforcing bounded magnitude while preserving sign or phase.
🌍 Modern Perspective
Section titled “🌍 Modern Perspective”They are commonly used as “soft limiters” in iterative updates to prevent runaway amplitudes.
📚 References
Section titled “📚 References”- Oppenheim & Schafer, Discrete-Time Signal Processing