Subband LMS

class pyroomacoustics.adaptive.subband_lms.SubbandLMS(num_taps, num_bands, mu=0.5, nlms=True)

Bases: object

Frequency domain implementation of LMS. Adaptive filter for each subband.

Parameters
  • num_taps (int) – length of the filter

  • num_bands (int) – number of frequency bands, i.e. number of filters

  • mu (float, optional) – step size for each subband (default 0.5)

  • nlms (bool, optional) – whether or not to normalize as in NLMS (default is True)

reset()
update(X_n, D_n)

Updates the adaptive filters for each subband with the new block of input data.

Parameters
  • X_n (numpy array, float) – new input signal (to unknown system) in frequency domain

  • D_n (numpy array, float) – new noisy reference signal in frequency domain

pyroomacoustics.adaptive.subband_lms.hermitian(X)

Compute and return Hermitian transpose