## 5 Discussion  
The conventional real-time ANC, usually, uses the adaptive FxLMS algorithm, to obtain optimum coefficients for the control filter. However, the slow convergence of the adaptive algorithm, perceptibly, limits its reduction of dynamic noise and its overall noise reduction. In addition, the conventional FxLMS algorithm would need to operate at a higher sampling frequency than it does, to avoid violating the causality constraint in ANC headphones. Due to these high processing demands, the fixed-filter method has become the main choice for portable devices or hearables [25; 26]. The fixed-filter approach [25] selects a pre-trained control filter, to attenuate the noise instantaneously, and is effective to reduce  
Figure 14: Frequency spectrum of the error microphone output in the in-ear headphone for the ANC of this work. Blue: reference mic, green: error mic (ANC OFF), red: error mic (ANC ON). (**a**) Noise incident from 0\({}^{\circ}\) direction, (**b**) noise incident from 90\({}^{\circ}\) direction.  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**System** & **Total Power Reduction [dB]** & **Attenuation Bandwidth [Hz]** & **Maximum Noise Reduction [dB]** \\ \hline \multirow{3}{*}{FxLMS: ear-muff headphone [20] rxLMS: in-ear headphone [15]} & 0\({}^{\circ}\) & 90\({}^{\circ}\) & 90\({}^{\circ}\) & 0\({}^{\circ}\) & 90\({}^{\circ}\) \\  & & & & & \\ \cline{1-1}  & & & & & \\ \cline{1-1}  & & & & & \\ \cline{1-1}  & & & & & \\ \hline \hline \end{tabular}
\end{table}
Table 3: Comparison of system capabilities.  
real-world noise. Therefore, selecting a suitable pre-trained control filter is essential to the ANC system's noise-reduction effectiveness. The selective fixed-filter ANC method, which uses a CNN, successfully classified noise types in the time domain. The CNN, running in a coprocessor, such as a mobile phone, returns the index of the most-suitable control filter, for each distinct noise type. Subsequently, the controller can update the coefficients of the control filter, according to the filter index [26]. The task of the CNN [26] is to find the optimal fixed filter index, depending on the primary noise types, but the control filter itself is an FIR filter.  
This paper successfully demonstrates a real-time streaming hardware feedforward ANC system, for in-ear headphones, by implementing a 10-layer dilated CNN on an FPGA. A 16 \(\times\) 16 systolic array was used in FPGA, to speed up the model computation. In the offline pre-training stage, the primary and acoustic secondary paths are extracted, using a CNN model. The CNN model consists of 10 layers of resnet, which contain a nonlinear activation function (ReLU) that can effectively model the, inherently, nonlinear nature of the primary path. Then, to train the other CNN model that acts as a control filter, the CNN model code was combined with the above pre-trained CNN blocks, (p(t) and \(s_{A}(t)\)), as well as the delay \(D_{SE}\) of the electrical secondary path. Similarly to [25; 26], the CNN model of this work is a fixed filter, in that fixed pre-trained CNN coefficients are used in this work. However, this work uses a non-linear CNN model, while [25; 26] uses a linear FIR filter as the processing engine; the FIR filter coefficients of [25; 26] are computed by using an algorithm [25] or a CNN model [26].