## 4 WL-DR-RLS-DCD
 \tag{29}\]  
We denote the first complex output sample for time index \(n\) as  
\[\widetilde{y}_{0}(n)=\widetilde{\mathbf{h}}^{H}(n-1)\widetilde{\mathbf{x}}(n), \tag{30}\]  
and we can recursively express the output for iterations \(q>0\) as  
\[\widetilde{y}_{q}(n)=\widetilde{y}_{0}(n)+\sum_{k=0}^{q-1}\Delta\widetilde{ \mathbf{h}}_{k}^{H}(n)\widetilde{\mathbf{x}}(n)=\widetilde{y}_{q-1}(n)+ \Delta\widetilde{\mathbf{h}}_{q-1}^{H}(n)\widetilde{\mathbf{x}}(n). \tag{31}\]  
Consequently, by using (21) and (31), the form of the complex valued error can also be recursively written as  
\[e_{q}(n)= \begin{cases}d(n)-\widetilde{\mathbf{h}}^{H}(n-1)\widetilde{\mathbf{ x}}(n)\stackrel{{\Delta}}{{=}}e_{0}(n),&q=0\\ e_{q-1}(n)+\Delta\widetilde{\mathbf{h}}_{q-1}^{H}(n)\widetilde{\mathbf{x}}(n),&q=1,\ldots,N_{it}-1.\end{cases}  \tag{32}\]  
The expression in (32) is relevant from an implementation point of view because when dealing with values of \(L\) specific to acoustic environments, most of the arithmetic costs for updating the complex error correspond to the computation of \(e_{0}(n)\) (the workload associated with the classical WL-RLS-DCD method). For the iterations corresponding to \(q=1,\ldots,N_{it}\), we must take into account in (32) that a maximum amount of \(N_{u}\) values are non-zero at each iteration in the corresponding solution vector \(\Delta\widetilde{\mathbf{h}}_{q-1}(n)\). Therefore, all the rest of \(N_{it}-1\) iterations require no more than \((N_{it}-1)N_{u}\) complex multiplications, and the same number of complex additions, in order to accumulate them to the error signal. For the residual elements associated with the DCD method, at each iteration of the DR process we consider that a _residual component_\(\mathbf{p}_{0,q}(n)\) is used as input for each DCD run, and an associated _residual vector_\(\mathbf{r}_{q}(n)\) is generated [besides \(\Delta\widetilde{\mathbf{h}}(n)\)]. The DR approach creates a cycle, which comprises, for each iteration, updates performed for the error signal \(e_{q}(n)\), then for the residual component \(\mathbf{p}_{0,q}(n)\), in order to prepare for the DCD run. The latter generates a solution vector \(\Delta\widetilde{\mathbf{h}}_{q}(n)\) and a residual vector \(\mathbf{r}_{q}(n)\), which will be used for updating the filter coefficients, and also in the next DR iteration, in order to repeat the same steps. In a manner similar to \(e_{q}(n)\), the update of \(\mathbf{p}_{0,q}(n)\) must be split into two possible types of operations. Firstly, for \(q=0\) (i.e., the first DR iteration at time index \(n\)), the update will employ the forgetting factor in order to perform the transition from \(n-1\). Secondly, for \(q=1,\ldots,N_{it}-1\), \(\mathbf{p}_{0,q}(n)\) is changed in order to reflect the error updates from (32) and the latest residual vector generated by the DCD algorithm. Consequently, we can write:  
\[\mathbf{p}_{0,q}(n)= \begin{cases}\lambda\mathbf{r}_{N_{it}-1}(n-1)+e_{0}^{*} (n)\widetilde{\mathbf{x}}(n),&q=0\\ \mathbf{r}_{q-1}(n)+e_{0}^{*}(n)\widetilde{\mathbf{x}}(n),&q=1,\ldots,N_{it}- 1.\end{cases}  \tag{33}\]  
where \(\mathbf{r}_{N_{it}-1}(n-1)\) is the residual vector determined by the last run of the DCD at time index \(n-1\). Furthermore, we can also express the update process for the filter estimate as  
\[\widetilde{\mathbf{h}}_{q}(n)= \begin{cases}\widetilde{\mathbf{h}}_{N_{it}-1}(n-1)+ \Delta\widetilde{\mathbf{h}}_{0}(n),&q=0\\ \widetilde{\mathbf{h}}_{q-1}(n)+\Delta\widetilde{\mathbf{h}}_{q}(n),&q=1, \ldots,N_{it}-1,\end{cases}  \tag{34}\]  
where \(\widetilde{\mathbf{h}}_{N_{it}-1}(n-1)\) represents the last set of filter coefficients computed at the previous iteration of the adaptive algorithm. It can be noted that for a number of iterations \(N_{it}=1\), the updates described in (32)-(34) are each performed only for the first branch, which makes the WL-DR-RLS-DCD behave exactly as the WL-RLS-DCD algorithm.