sdr.AGC(attack: float, decay: float, reference: float = 1.0, streaming: bool = False)

Creates an automatic gain controller (AGC).

Parameters:
attack: float

The attack rate \(\alpha\). The attack rate is meant to attenuate strong signals. After \(n_0 \approx 1 / \alpha\) samples the error will reduce to \(1 / e\) of its original value.

decay: float

The decay rate \(\beta\). The decay rate is meant to amplify weak signals. After \(n_0 \approx 1 / \beta\) samples the error will reduce to \(1 / e\) of its original value.

reference: float = 1.0

The desired output magnitude.

streaming: bool = False

Indicates whether the AGC operates in streaming mode. In streaming mode, the gain is preserved between calls to __call__().