Automatic Gain Control#

class AutomaticGainControl(agc_type=GainControlType.MAX_AMPLITUDE, backoff=1.0, rescale_quantization=False)[source]#

Bases: Serializable, GainControlBase

Analog-to-digital conversion automatic gain control modeling.

Parameters:
  • agc_type (GainControlType, optional) – Type of amplitude gain control at ADC input. Default is GainControlType.MAX_AMPLITUDE.

  • backoff (float, optional) – this is the ratio between maximum amplitude and the rms value or maximum of input signal, depending on AGC type. Default value is 1.0.

  • rescale_quantization (bool, optional) – If enabled, the quantized signal is rescaled to the original signal range before gain adjustment. Disabled by default.

estimate_gain(input_signal)[source]#

Estimate the gain required to adjust the signal to the ADC input range.

Parameters:

input_signal (Signal) – Input signal to be adjusted.

Return type:

float

Returns: Linear gain to be applied to the input_signal’s Voltage samples.

property agc_type: GainControlType#

Automatic Gain Control

The AGC may have the following types of gain control, which wil specify the quantizer range: - GainControlType.NONE: no gain control, range must be specified - GainControlType.MAX_AMPLITUDE: the range is given by the maximum amplitude of the - GainControlType.RMS_AMPLITUDE: the range is given by the rms value plus a given backoff Note the for complex numbers, amplitude is calculated for both real and imaginary parts separately, and the greatest value is considered.

Return type:

GainControlType

property backoff: float#

Quantizer backoff in linear scale

This quantity determines the ratio between the maximum quantization level and the signal rms value :returns: the backoff in linear scale :rtype: float

yaml_tag: Optional[str] = 'AutomaticGainControl'#

YAML serialization tag.

class GainControlType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: SerializableEnum

Type of automatig gain control

MAX_AMPLITUDE = 1#
NONE = 0#
RMS_AMPLITUDE = 2#