## 3 Design of ACM Controller
### ExLMS Adaptive Control  
ExLMS algorithm is the most popular adaptive control algorithm in the field of active noise control (ANC) and active vibration control (AVC). It is derived from LMS algorithm, and the concept of \"filtered-\(x\)\" was proposed firstly by [21]. In one of the landmark papers in the development of ANC, [PERSON] et al. [22] firmly established the \"FxLMS\" terminology as a cornerstone in that field. A closely related usage of the _FxLMS_ algorithm is in the area of AVC [23], which has many applications in reducing mechanical vibrations from all sorts of machinery as well as naturally occurring seismic vibrations. Again, as in acoustic applications, it has remarkable noise reduction capability in low frequency band. FxLMS is an improvement of LMS algorithm, which ameliorate the situation that LMS algorithm cannot handle the vibration and noise reduction of narrow frequency bands well. The essential difference between FxLMS and LMS is that the secondary path is added to filter the reference signal, which is one of the factors determining the performance of FxLMS [24]. In order to compensate for the dynamics of the secondary path \(S(z)\), the reference signal has to be filtered with a secondary path estimate \(\widehat{S}\left(z\right)\)[15]. The FxLMS algorithm is simple, easy to implement, and has good stability, which is conducive to constructing a simulation environment with random disturbances. Figure 4 is a schematic diagram of _FxLMS_ algorithm. The vibration \(d(n)\) at the chassis, which is to be cancelled, results from the engine vibration \(v(n)\) transmitted through the passive dynamic characteristics \(P(z)\) of the ACM represented by its impulse response \(p(n)\). The \(y(n)\) is the control output of the adaptive filter, \(y^{\prime}(n)\) is the second path output. The error signal \(e(n)\) measured at the chassis side is the sum of source vibration signal \(d(n)\) and active anti-vibration signal \(y^{\prime}(n)\) generated by the controlled actuator. Figure 4: _FxLMS adaptive feedforward control block diagram._  
\[e(n)=d(n)+y^{\prime}(n) \tag{19}\]  
At time \(n\), the output \(y(n)\) of the \(l\)th-order finite impulse response (FIR) control filter is equal to the convolution operation [25]:  
\[y(n)=\sum_{i=0}^{l-1}w_{i}(n)x(n-i)=\mathbf{w}^{\mathrm{T}}(n)\mathbf{x}(n)=\mathbf{x}^{ \mathrm{T}}(n)\mathbf{w}(n) \tag{20}\]  
where \(\mathbf{x}(n)\) is the reference signal. The transfer function of the secondary path can be simulated by using an \(l\)th-order FIR filter \(S(z)\) in time domain. \(\mathbf{s}(n)=\left[s_{0},s_{1}\ldots\ s_{j}\ldots\ s_{l-1}\right]^{\mathrm{T}}\) is the impulse response sequence, \(\hat{\mathbf{s}}(n)=\left[s_{0},s_{1}\ldots s_{j}\ldots\ s_{l-1}\right]^{\mathrm{T}}\) is the estimated \(\mathbf{s}(n)\) for secondary path. The active anti-vibration \(y^{\prime}(n)\) produced by the control path is equal to the convolution of the control output of LMS filter and the secondary path transfer function:  
\[y^{\prime}_{n}(n)=s(n)*y(n)=\sum_{j=0}^{l-1}s_{j}y(n-j) \tag{21}\]  
The gradient descent algorithm used to adjust the weights in the source FIR filter is:  
\[\mathbf{w}(n+1)=\mathbf{w}(n)-2\mu e(n)\mathbf{x}^{{}^{\prime}}(n) \tag{22}\]  
where \(\mathbf{x}^{\prime}(n)\) is the filtered reference signal vector:  
\[\mathbf{x}^{{}^{\prime}}(n)=\hat{\mathbf{s}}(n)*\mathbf{x}(n)=\sum_{j=0}^{l-1}\hat{s}_{j}x (n-j) \tag{23}\]  
Equation (22) is the weight iterative derivation formula of FxLMS algorithm [22]. When simulating in MATLAB/Simulink, taking into account the characteristics of engine excitation, the convergence coefficient \(\mu\) needs to be appropriately increased into 0.1 to speed up the algorithm convergence at low speeds, while decreased to be 0.05 to maintain the stability of the algorithm at high speeds. The assumption of time invariance in the filter coefficients is equivalent, in practice, to assuming that the filter coefficients \(w_{i}\) change only slowly compared to the timescale of the response of the system to be controlled.