Recursive Least Squares¶
Recursive Least Squares Family¶
Implementations of adaptive filters from the RLS class. These algorithms typically have a higher computational complexity, but a faster convergence.
- class pyroomacoustics.adaptive.rls.BlockRLS(length, lmbd=0.999, delta=10, dtype=<MagicMock id='140583672708560'>, L=None)¶
Bases:
RLS
Block implementation of the recursive least-squares (RLS) algorithm. The difference with the vanilla implementation is that chunks of the input signals are processed in batch and some savings can be made there.
- Parameters
length (int) – the length of the filter
lmbd (float, optional) – the exponential forgetting factor (default 0.999)
delta (float, optional) – the regularization term (default 10)
dtype (numpy type) – the bit depth of the numpy arrays to use (default np.float32)
L (int, optional) – the block size (default to length)
- reset()¶
Reset the state of the adaptive filter
- update(x_n, d_n)¶
Updates the adaptive filter with a new sample
- Parameters
x_n (float) – the new input sample
d_n (float) – the new noisy reference signal
- class pyroomacoustics.adaptive.rls.RLS(length, lmbd=0.999, delta=10, dtype=<MagicMock id='140583672758032'>)¶
Bases:
AdaptiveFilter
Implementation of the exponentially weighted Recursive Least Squares (RLS) adaptive filter algorithm.
- Parameters
length (int) – the length of the filter
lmbd (float, optional) – the exponential forgetting factor (default 0.999)
delta (float, optional) – the regularization term (default 10)
dtype (numpy type) – the bit depth of the numpy arrays to use (default np.float32)
- reset()¶
Reset the state of the adaptive filter
- update(x_n, d_n)¶
Updates the adaptive filter with a new sample
- Parameters
x_n (float) – the new input sample
d_n (float) – the new noisy reference signal