## 2 ANC Headrest System
#### Two-Channel ANC Headrest System  
In this section, a general block diagram for a multichannel feedforward control is first briefly described. After that, the developed \(2\times 2\times 2\) ANC headrest system, based on a multiple-input, multiple-output (MIMO) filtered reference least mean squares (FxLMS) algorithm, is presented.  
In Figure 2, it is assumed that there are \(J\) reference signals, \(K\) secondary sources, and \(M\) error sensors. Block \(\mathbf{S}\) represents a matrix of \(M\times K\) error paths (transfer functions from each secondary source to each error sensor), and block \(\mathbf{W}\) is a matrix of \(K\times J\) control filters.  
Figure 1: Active noise control from the cabin seat headrest.  
The control signal of the \(k\)th secondary source can be expressed as:  
\[y_{k}(\mathrm{n})=\sum_{j=1}^{J}\mathbf{w}_{kj}^{\mathrm{T}}(\mathrm{n})\mathbf{ x}_{j}(\mathrm{n}) \tag{1}\]  
where \(\mathbf{x}_{j}(\mathrm{n})\) are the data sequences of the reference signals of length \(N_{w}\)  
\[\mathbf{x}_{j}(\mathrm{n})=\begin{bmatrix}x_{j}(\mathrm{n})&x_{j}(\mathrm{n}- 1)&\cdots&x_{j}(\mathrm{n}-N_{w}+1)\end{bmatrix}^{T} \tag{2}\]  
and the adaptive filter weights \(\mathbf{w}_{kj}(n)\) are defined as follows:  
\[\mathbf{w}_{kj}(\mathrm{n})=\begin{bmatrix}w_{kj,1}(\mathrm{n})&w_{kj,2}( \mathrm{n})\cdots w_{kj,N_{w}}(\mathrm{n})\end{bmatrix}^{T} \tag{3}\]  
In this work, a 2 \(\times\) 2 \(\times\) 2 feedforward ANC system was implemented by using the adaptive FxLMS algorithm. The structure of the multichannel feedforward ANC headrest system is illustrated in Figure 3. It consists of two reference signals, two loudspeakers (L\({}_{1}\) and L\({}_{2}\)), and two error microphones (mic\({}_{1}\) and mic\({}_{2}\)) mounted on the headrest. In common with a single channel filtered reference algorithm, the control filter coefficients are iteratively adjusted at every sample time by using a gradient estimate [1].  
From (3), the control signals ((\(y_{1}(\mathrm{n})\) and (\(y_{2}(\mathrm{n})\)) fed to the secondary loudspeakers can be calculated as follows:  
\[y_{1}(\mathrm{n})=y_{11}(\mathrm{n})+y_{12}(\mathrm{n})=\mathbf{w}_{11}^{ \mathrm{T}}(\mathrm{n})\mathbf{x}_{1}(\mathrm{n})+\mathbf{w}_{12}^{\mathrm{T }}(\mathrm{n})\mathbf{x}_{2}(\mathrm{n}) \tag{4}\]  
\[y_{2}(\mathrm{n})=y_{21}(\mathrm{n})+y_{22}(\mathrm{n})=\mathbf{w}_{21}^{ \mathrm{T}}(\mathrm{n})\mathbf{x}_{1}(\mathrm{n})+\mathbf{w}_{22}^{\mathrm{T }}(\mathrm{n})\mathbf{x}_{2}(\mathrm{n}) \tag{5}\]  
The adaptation equation of the multiple-channel FxLMS reads:  
\[\mathbf{w}_{kj}(\mathrm{n}+1)=\mathbf{w}_{kj}(\mathrm{n})+\mu\sum_{m=1}^{M} \mathbf{x}^{\prime}_{jkm}(\mathrm{n})\;\epsilon_{m}(\mathrm{n}) \tag{6}\]  
where the filtered reference signal vector \(\mathbf{x}_{jkm}\) is obtained from linear convolution of the data sequence \(\mathbf{x}_{j}(\mathrm{n})\) and the secondary path estimate \(\hat{s}_{mk}\), which can be obtained by means of system identification using adaptive finite impulse response filters.  
The adaptation step size \(\mu\) controls the convergence properties of the algorithm. It is worth noting that the coefficients of each filter are independently updated by using a weighted combination of the errors at the \(M\) sensors.  
Figure 2: Block diagram of a general multichannel feedforward control with \(J\) reference signals, \(K\) secondary sources, and \(M\) error sensors.