## 3 Design of ACM Controller
### LMS Adaptive Feedforward Control  
The adaptive process of adaptive filter is essentially the process of finding the optimal weight vector \(w(n)\) in an iterative manner. The optimization methods include LMS, RLS, transform domain adaptive filtering algorithm and related algorithms derived from these. The LMS algorithm has the advantages of simple structure, easy implementation by hardware, and strong robustness. Construct a simulation environment with random disturbances, as shown in Figure 3.  
Figure 3: LMS adaptive feedforward control block diagram. Figure 2: ACM simulation model. The LMS algorithm is based on the method of steepest descent, which is a stochastic implementation of the steepest descent method. It is derived on the basis of minimizing the instantaneous mean square error with adaptive weight coefficients recursively updated, moving \(w(n)\) in proportion to the instantaneous gradient estimate of the mean-square error [17; 18; 19]. The error signal \(e(n)\) is the difference between the desired output \(d(n)\) and the actual output \(y(n)\) of the filter at time \(n\), namely,  
\[e(n)=d(n)+y(n)=d(n)+\mathbf{w}^{\mathrm{T}}(n)\mathbf{x}(n) \tag{2}\]  
Because LMS adaptive feedforward control has strong robustness and anti-random disturbance, random disturbance \(r(n)\) is introduced. The performance function \(\xi\) is defined as the mathematical expectation of the square value of the error signal \(e(n)\), namely:  
\[\xi(n)=E\Big{\{}e^{2}(n)\Big{\}} \tag{3}\]  
Therefore, the adaptive filter can be expressed as:  
\[\xi(n)=E\Big{\{}e^{2}(n)\Big{\}}=E\Big{\{}\left[d(n)+y(n)\right]^{2}\Big{\}}=E \bigg{\{}\left[d(n)+\mathbf{w}^{\mathrm{T}}(n)\mathbf{x}(n)\right]^{2}\Big{\}} \tag{4}\]  
Finding the optimal weight \(\mathbf{w}(n)\) to minimize \(\xi(n)\). \(\mathbf{w}(n)\) can be recursively updated at every sample time by an amount proportional to the negative instantaneous value of the gradient, a modified form of the well-known LMS algorithm is produced as below. \[\mathbf{w}(n+1)=\mathbf{w}(n)-\mu\
abla(n) \tag{5}\]  
where \(\mu\) is a parameter named convergence factor that affects the stability and convergence of algorithm, and \(\
abla(n)\) is the mean-square error gradient. In practical applications, in order to simplify the calculation and meet the real-time requirements, the gradient \(\hat{\
abla}(n)\) of the instantaneous square error \(e^{2}(n)\) of a single error sample is generally taken as an estimate of the mean-square error gradient, it can be expressed as:  
\[\hat{\
abla}(n)=\frac{\partial e^{2}(n)}{\partial\mathbf{w}}=2e(n)\mathbf{x}(n) \tag{6}\]  
Thus, the iterative update formula of the weight \(\mathbf{w}(n)\) is as follows:  
\[\mathbf{w}(n+1)=\mathbf{w}(n)-2\mu e(n)\mathbf{x}(n) \tag{7}\]  
The correction term of the iterative update formula of traditional LMS algorithm weight \(\mathbf{w}(n)\) is proportional to the size of the input reference signal \(\mathbf{x}(n)\). It will encounter the problem of noise gradient amplification under the circumstance of the value of \(\mathbf{x}(n)\) is large. In order to solve this problem, the iterative update formula of the weight \(\mathbf{w}(n)\) is transformed as below. \[\mathbf{w}(n+1)=\mathbf{w}(n)-\frac{\mu}{\left\|\mathbf{x}(n)\right\|^{2}+\gamma}e(n)\bm {x}(n) \tag{8}\]  
By introducing the square term of the Euclidean norm of \(\mathbf{x}(n)\), the correction term of the weight coefficient iterative update formula is normalized by it, where \(\gamma\) is a parameter named correction factor that avoids the value of \(\left\|\mathbf{x}(n)\right\|^{2}\) is too small to cause the correction term to be too large, which makes numerical calculation difficult. In this way, the algorithm process of LMS can be expressed by the following formula:  
\[\left\{ \begin{array}{l}y(n)=\mathbf{w}^{\rm T}(n)\mathbf{x}(n)\\ e(n)=d(n)+y(n)\\ \mathbf{w}(n+1)=\mathbf{w}(n)-\frac{\mu}{\|\mathbf{x}(n)\|^{2}+\gamma}e(n)\mathbf{x}(n)\end{array} \right. \tag{9}\]  
The convergence of LMS algorithm depends on convergence coefficient \(\mu\).