# Transient Analysis of a Selective Partial-Update LMS Algorithm
## 4 Extensions of the Proposed Framework  
Although the entire discussion up to this point has been focused on the LMS algorithm and the system identification problem, the proposed framework can be easily extended to VTL strategies and active noise cancellation (ANC) problems. This section details the extension of the proposed methodology for both cases. It is observed that the computational cost reduction capacity of the proposed methodology can be easily extended to other schemes and scenarios. The computational complexity of an adaptive filter can be reduced through the use of VTL schemes [11; 12; 13; 14; 15; 16], which adjust the tap length in real time. These algorithms share with the SPU technique the ability to present reduced computational cost during transients. However, under steady-state conditions, they update all filter coefficients. This, together with the tendency of these algorithms to overestimate the optimal steady-state adaptive filter length, can lead to excessively high steady-state computational costs [17]. Such an issue can be circumvented by using the proposed selection update scheme. As a proof of concept, we consider the VTL algorithm proposed in [12]. The algorithm adjusts the pseudo fractional tap-length \(n_{\text{f}}(k)\in\mathbb{R}_{+}\) through the following updating rule:  
\[n_{f}(k+1)=(n_{f}(k)-\alpha)-\gamma\bigg{\{}\big{[}e^{(N(k))}(k)\big{]}^{2}- \big{[}e^{(N(k)-\Delta)}(k)\big{]}^{2}\bigg{\}}, \tag{44}\]  
where \(\alpha\), \(\gamma\), and \(\Delta\) are adjustable parameters, the choice of which has been widely discussed in the literature (see, e.g., [17]), \(N(k)\) is the length of the adaptive filter in the \(k\)th iteration, and \(e^{(L)}(k)\) is the error calculated with a filter of length \(L\). The algorithm adjusts the tap length using the rule:  
\[N(k+1)=\left\{ \begin{array}{cl}\lfloor n_{\text{f}}(k)\rfloor,&\text{$|N(k)- n_{\text{f}}(k)|\geq\delta$,}\\ N(k),&\text{otherwise}\end{array} \right., \tag{45}\]  
where \(\delta\in\mathbb{R}_{+}\) is also a tuning parameter. Since the size of the adaptive filter in VTL schemes varies dynamically, it is challenging to choose a block size \(M\) for an SPU technique insertion such that the current size of the adaptive filter is a multiple of \(M\). To overcome this issue, we consider the choice \(M=N(k)\). Thus, each sample of the input vector corresponds mathematically to a block of the SPU methodology. One can then choose \(B\) to ensure that a certain percentage of the adaptive coefficients in the VTL technique are updated in a given iteration, using the criterion proposed in Equation (15) for the coefficients to be updated. This ensures that the \(B\) adaptive coefficients to be updated are associated with the \(B\) samples of the input vector \(\mathbf{x}(k)\) with the _lowest_ magnitudes. The resulting algorithm exhibits asymptotic performance equivalent to that of the original VTL algorithm, with lower computational cost. However, due to the coefficient selection, there is also a loss in convergence rate, which is inevitable when constraints on computational complexity are strict. ANC algorithms can also benefit from adopting the coefficient selection strategy. Consider, for example, the Filtered-X LMS (FX-LMS) algorithm [15; 25; 26], whose block diagram is presented in Figure 2. The FX-LMS algorithm is used in active noise control applications to minimize noise in a primary input signal. It operates by subtracting the output of an adaptive filter from a reference signal, aiming to estimate and cancel unwanted noise in the primary input. The algorithm adjusts the adaptive filter coefficients iteratively using the LMS approach, with each update being proportional to the product of the error signal (the difference between the reference signal and the filtered input) and the input signal. The process continues iteratively until convergence, where the adaptive filter effectively minimizes the mean square error, resulting in reduced noise in the primary input signal.