cbadc.digital_estimator.nuv_estimator.NUVEstimator
- class cbadc.digital_estimator.nuv_estimator.NUVEstimator(analog_system: AnalogSystem, digital_control: DigitalControl, covU: float, bound_y: float, gamma: float, K1: int, K2: int = 0, iterations_per_batch: int = 100, Ts: float = None, oversample: int = 1)[source]
Bases:
objectThe NUV batch estimator
The NUV estimator iteratively estimates estimates a filtered version \(\hat{\mathbf{u}}(t)\) of the input signal \(\mathbf{u}(t)\) from a sequence of control signals \(\mathbf{s}[k]\).
In comparision to the linear complexity estimators
cbadc.digital_estimator.BatchEstimatorcbadc.digital_estimator.ParallelEstimatorcbadc.digital_estimator.IIRFiltercbadc.digital_estimator.FIRFilter
the NUV estimator enforces the bounded outputs in an iterative scheme as described in
- Parameters
analog_system (
cbadc.analog_system.AnalogSystem) – an analog system (necessary to compute the estimators filter coefficients).digital_control (
cbadc.digital_control.DigitalControl) – a digital control (necessary to determine the corresponding DAC waveform).covU (float) – a prior covariance matrix for the sought estimate.
bound_y (float) – the bound enforced on the outputs \(\mathbf{y}(t)\) of the system.
gamma (float) – a scale factor.
K1 (int) – batch size.
K2 (int, optional) – lookahead size, defaults to 0.
iterations_per_batch (int, optional) – number of iteration steps per batch, defaults to 100.
Ts (float, optional) – the sampling time, defaults to the time period of the digital control.
oversample (int, optional) – add observations per control signal, defaults to 1, i.e., no oversampling.
- analog_system
analog system as in
cbadc.analog_system.AnalogSystemor from derived class.- Type
cbadc.analog_system.AnalogSystem
- digital_control
digital control as in
cbadc.digital_control.DigitalControlor from derived class.- Type
cbadc.digital_control.DigitalControl
- K1
number of samples per estimate batch.
- Type
int
- K2
number of lookahead samples per computed batch.
- Type
int
- covU
the prior covariance matrix (or scalar in the single input case) of the estimate \(\hat{\mathbf{u}}(t)\).
- Type
float
- bound_y
the bound enforced on the outputs \(\mathbf{y}(t)\) of the system.
- Type
float
- Ts
the sample rate of the estimates
- Type
float
- iterations_per_batch
number of iteration steps per batch.
- Type
int
- gamma
a scale factor.
- Type
float
Methods
__init__(analog_system, digital_control, ...)set_iterator(control_signal_sequence)Set iterator of control signals