# A Low-Complexity Volterra Filtered-Error LMS Algorithm with a Kronecker Product Decomposition
## 3 Proposed Algorithm
### Dvuffelms  
It should be noted that the auxiliary vector \(\overline{\mathbf{u}}_{p,q}(n)\) defined in (17) did not hold the time-shifting property due to the presence of \(\overline{y}_{p,q}(n)\); thus, each element of \(\overline{\mathbf{u}}_{p,q}(n)\) must be filtered by the virtual secondary path filter even in the LSP case, which is a computationally consuming process. It was found that the filtered-error structure-based ANC system can offer comparable performance with less computational and structural complexity compared to a filtered-reference structure-based ANC [40]. [PERSON] and [PERSON] introduced the filtered-error structure to nonlinear active noise to reduce the computational complexity in the NSP case [27]. The filtered-error structure's main advantage is that only the error signal needs to be filtered by the virtual secondary path filter, which benefits the proposed nonlinear active noise control algorithm based on the decomposable Volterra structure. The diagram of the proposed DVMFELMS algorithm is depicted in Figure 2. To derive the DVMFELMS algorithm, the final updating equation of the DVMFXLMS algorithm is first recalled in the following:  
\[\mathbf{w}_{p,q}(n+1)=\mathbf{w}_{p,q}(n)-\widetilde{\mu}_{p}(n)\big{(}\overline{\mathbf{n} }_{p,q}(n)*\mathbf{s}(n)\big{)}e(n). \tag{21}\]  
Rewriting the update part of (21) as  
\[\Delta\mathbf{w}_{p,q}(n)=-\Bigg{(}\sum_{m=0}^{M}\overline{\mathbf{n}}_{p,q}(n-m)\mathbf{ s}(n,m)\Bigg{)}e(n), \tag{22}\]  
and let \(k=n-m+M\); then, \(n=k+m-M\). Equation (22) can be written as  
\[\Delta\mathbf{w}_{p,q}(n)=-\Bigg{(}\sum_{m=0}^{M}e(k+m-M)\mathbf{s}(k+m-M,m)\Bigg{)} \overline{\mathbf{n}}_{p,q}(k-M). \tag{23}\]  
By substituting the time variable, only the error signal is filtered by the adjoint virtual secondary path filter \(\overline{\mathbf{s}}(n)\), which is defined in the following instead of the whole new auxiliary sub-vector \(\overline{\mathbf{n}}_{p,q}(n)\). \[\overline{\mathbf{s}}(n)=[s(n,M),\;s(n-1,M-1),\;\cdots\;s(n-M,0)]^{T}, \tag{24}\]  
It should be noted that in the LSP case, the adjoint virtual secondary path filter is just the flip of the linear FIR filter in (16), while for the NSP case, due to the time-variant property of the virtual secondary path filter, the last M values of the virtual secondary  
Figure 2: Block diagram of the proposed DVMFELMS algorithm. path filter must be stored to reconstruct the adjoint virtual secondary path filter. The final update equation of the proposed DVMFELMS algorithm is given by  
\[\mathbf{w}_{p,q}(n+1)=\mathbf{w}_{p,q}(n)-\widetilde{\mu}_{p}\overline{\mu}_{p,q}(n-M)e _{f}(n), \tag{25}\]  
where \(e_{f}(n)\) is the filtered-error signal calculated by filtering the error signal by the adjoint virtual secondary path filter defined in (24). From (25), one can see that the auxiliary vector \(\overline{\mu}_{p,q}(n)\) is just delayed by the \(M\) time scale without being filtered by the virtual secondary path filter, while only the error signal needs to be filtered by the adjoint virtual secondary path filter. Thus, the computational complexity of the proposed algorithm can be further reduced, especially when the memory of the secondary path becomes large. The detailed implementation of the proposed DVMFELMS algorithm is summarized in Algorithm 1.