## 4 RLS Adaptive Algorithm  
The iterative Wiener filter developed in the previous section owns important advantages as compared to its conventional counterpart. Simulation results provided in Section 5.1 will support these performance features. Nevertheless, this iterative algorithm inherits some inherent limitations of the Wiener filter, like the estimation of the required statistics, the time-invariant framework, and the matrix inversion operation. In practice, especially in real-time applications, the impulse response of the system to be identified could change in time. For example, the acoustic echo paths are time-variant systems, depending on temperature, pressure, humidity, and movement of objects or bodies [2]. This requires good tracking capabilities for the estimation algorithm. In this context, using an adaptive filter represents a more practical solution as compared to the Wiener filter. Consequently, in this section, we propose an RLS-based algorithm, following the approach presented in Section 3. Let us denote by \(\widehat{\mathbf{g}}(t)\) the impulse response of the adaptive filter at time index \(t\). The conventional RLS algorithm [34; 35; 36] is defined by the following equations:  
\[\varepsilon(t) =d(t)-\widehat{\mathbf{g}}^{T}(t-1)\mathbf{x}(t), \tag{24}\] \[\mathbf{k}(t) =\frac{\widehat{\mathbf{R}}_{\mathbf{x}}^{-1}(t-1)\mathbf{x}(t )}{\lambda+\mathbf{x}^{T}(t)\widehat{\mathbf{R}}_{\mathbf{x}}^{-1}(t-1) \mathbf{x}(t)},\] (25) \[\widehat{\mathbf{g}}(t) =\widehat{\mathbf{g}}(t-1)+\mathbf{k}(t)\varepsilon(t),\] (26) \[\widehat{\mathbf{R}}_{\mathbf{x}}^{-1}(t) =\frac{1}{\lambda}\Big{[}\mathbf{I}_{L}-\mathbf{k}(t)\mathbf{x}^ {T}(t)\Big{]}\widehat{\mathbf{R}}_{\mathbf{x}}^{-1}(t-1), \tag{27}\]  
where \(\varepsilon(t)\) is the a priori error signal, \(\mathbf{k}(t)\) stands for the Kalman gain vector [37], \(\widehat{\mathbf{R}}_{\mathbf{x}}^{-1}(t)\) represents an estimate of the inverse of the input signal covariance matrix, and \(\lambda\) is the so-called forgetting factor (\(0<\lambda\leq 1\)), which controls the \"memory\" of the algorithm [38]. As we can notice, the matrix inversion operation is avoided based on the matrix inversion lemma (i.e., the Woodbury formula), which leads to the update from (27). The tracking capability of the algorithm is controlled in terms of the value of the forgetting factor, which is usually chosen as \(\lambda=1-1/(KL)\), with \(K\geq 1\). A large value of this parameter (i.e., very close or equal to one) improves the accuracy of the solution, but reduces the tracking capability of the algorithm. As compared to the LMS-based algorithms, the RLS adaptive filter provides a much faster convergence rate (especially for correlated input signals), while requiring a large computational amount, which is proportional to \(\mathcal{O}(L^{2})\). Consequently, for long length filters (e.g., like in echo cancellation), the conventional RLS algorithm becomes prohibitive. On the other hand, there are several \"fast\" versions of this algorithm, e.g., [39; 40], with a computational complexity proportional to the filter length. However, they still face the inherent challenges and limitations related to a long length filter, especially in terms of the convergence rate and tracking capability. The main feature of the decomposition-based approach presented in the previous sections is that it reformulates the system identification problem based on a combination of shorter filters.