## 4 Enhanced LMS Methods with IMC
### Novel Adaptive Filtering Algorithm Based on the IMC 2: Recursive Method  
#### 4.2.1 Conceptual Explanation  
IM-LMS 1 showed a better stability performance than the conventional LMS algorithm without filtered reference input signals, and no offline tuning of the secondary path dynamics was needed, which makes the proposed method convenient. However, the tracking performance of this adaptive filtering system is at the same level as the established method, so more efforts with a modified algorithm and system structures are needed. Mechanical systems that generate noise and vibration, such as vehicles, engineering structures, and electromechanical systems, have become more complicated, and the signals contain very rich frequency spectra. The selection of a reference input is important as it determines the tracking performance. An alternative technique based on IMC is thus needed to effectively deal with signals that have a complex frequency spectra. Figure 5: Simulation results in the time domain (single sinusoid at 100 Hz) with LMS and internal model LMS 1 methods. (**a**) With exact model (top) and with uncertainty (bottom); (**b**) comparison of estimation error; (**c**) predicted spectra. Consequently, a recursive loop is proposed into the digital filter system. The schematic of the IMC-based adaptive digital filtering system with a'recursive' LMS algorithm is shown in Figure 7.  
Figure 6: Control of an amplitude-modulated (AM) signal. (**a**) Time-domain tracking with LMS and internal model LMS 1 methods; (**b**) estimation error; (**c**) predicted spectra. Figure 7: Schematic of a novel digital filter system with ‘recursive’ LMS algorithm, based on internal model control (IM-LMS 2). The fundamental concept of this system is to create or estimate a reference signal \(\mathbf{x}_{k}{{}^{*}}\) for the LMS algorithm in real time, with an estimated output of the disturbance plant \(\hat{d}_{k}\). The error signal \(e_{k}\) is the difference between the output of the disturbance plant \(d_{k}\) and the output of the secondary path dynamics \(y_{k}{{}^{*}}\). The estimated output of \(\hat{d}_{k}\) can be obtained by adding \(e_{k}\) to the filtered output signal \(y_{k}\hat{\mathbf{P}}_{c}\) with the internal model of the secondary path dynamics \(\mathbf{P}_{c}\). Here, \(k\) indicates the sampling instant, and a time delay block \(z^{-\Delta}\) is placed as a result of the estimation process and the secondary path dynamics. In order to minimize the effect of this type of time delay, the internal model controller \(\mathbf{Q}\) is again introduced and it is designed based on the secondary path dynamics \(\hat{\mathbf{P}}_{c}\). It is basically a single-channel system with one reference signal and one error sensor, and it can be extended to cover multi-channel signals. The filtered output signal \(y_{f,k}\) is defined by multiplying \(y_{k}\) with an internal model \(\hat{\mathbf{P}}_{c}\), which estimates the impulse response of the secondary path dynamics:  
\[y_{f\_k}=\hat{\mathbf{P}}_{\mathbf{c}}{{}^{T}}y_{k} \tag{17}\]  
The estimated reference signal \(\mathbf{x}_{k}{{}^{*}}\) in the recursive adaptive filtering system can then be obtained. \[\mathbf{x}_{k}^{*}=\left[ \begin{array}{cccc}\hat{d}_{k-\Delta}&\hat{d}_{k- \Delta-1}&\cdots&\hat{d}_{k-\Delta-L+1}\end{array} \right] \tag{18}\]  
\[x_{k}^{*}=\hat{d}_{k-\Delta}=(e_{k}-y_{k}\hat{\mathbf{P}}_{\mathbf{c}})\mathbf{ Q}z^{-\Delta} \tag{19}\]  
The output signal \(y_{k}\) of the adaptive filter \(w_{k}\) is calculated using Equation (20), where \(w_{k}\) is the weight vector of the filter and \(L\) is the length of the adaptive filter. \[y_{k}=\mathbf{w}_{k}{{}^{T}}\cdot\mathbf{x}_{k}^{*} \tag{20}\]  
\[\mathbf{w}_{k}{{}^{T}}=\left[ \begin{array}{cccc}w_{k\_0}&w_{k\_1}&\cdots&w_{ k\_L-1}\end{array} \right]^{T} \tag{21}\]  
The weight update algorithm is the same as the conventional digital filter system with the LMS.