## 2 Architecture of This Work  
A feedforward ANC that uses a CNN is proposed in this work, to relax the causality constraint; the digital filter of the conventional feedforward ANC (Figure 3) is replaced by a hardware CNN block (Figure 4). The adaptive algorithm is not used in this work. Hence, the transfer function \(CNN(z)\) of the CNN block is trained to meet  
\[P(z)+S(z)=0, \tag{2}\]  
where \(P(z)\) is the transfer function of the primary path, and  
\[S(z)=CNN(z)z^{-D_{SE}}S_{A}(z) \tag{3}\]  
Figure 3: Conventional feedforward ANC system, using the FxLMS algorithm for an in-ear headphone. Estimated \(S^{\prime}(z)\): secondary path model. Blue: reference microphone, Green: error microphone, Red: speaker. is the transfer function of the secondary path. The electrical delay of the CNN block is included in \(D_{SE}\). To train the CNN block, the transfer functions (\(P(z)\), \(S_{A}(z)\)) and the time delay \(D_{SE}\) must be evaluated a priori. To, accurately, model the inherently nonlinear nature of the primary path, at the noise incidences of \(0^{\circ}\) and \(90^{\circ}\), the impulse response p(t) of the primary path is calculated for the CNN model, which contains nonlinear activation function (ReLU) from the input and output waveforms R(t), \(E_{1}(t)\) (Figure 5a); a broadband white noise was applied to a loudspeaker, which was placed about 60 cm away from an in-ear headphone attached to a human left ear. Similarly, \(s_{A}(t)\) of the acoustic secondary path is calculated from the input and output waveforms (Figure 5b, \(SP_{IN}(t)\), \(E_{2}(t)\)). \(D_{SE}\) is 8.0 sample periods in this work (1.5, 5.0, and 1.5 sample periods for ADC1, CNN, and DAC, respectively) (Figure 4). Since the ADC1 is composed of a second-order delta sigma modulator (DSM), followed by a third-order sinc filter, and the processing delay is dominated by the group delay of the sinc filter, the processing delay of ADC1 is 1.5 sample periods. Similarly, the processing delay of DAC is 1.5 sample periods, since it is composed of a third-order interpolation filter, followed by a third-order DSM, and the interpolation filter dominates the delay time. The CNN accelerator takes 5702 clock cycles at a 120 MHz clock (47.5 us, \(\sim\)2.2 sample periods), to process an input signal of three samples. The latency of the CNN accelerator is \(\sim\)4.2 sample periods, including the waiting delay of the two sample periods spent to collect the three-sample data at the input buffer. Since the DAC accepts input at every sample period, the processing time of the CNN accelerator is five sample periods. The transfer functions of the primary path and the acoustic secondary path are presented in Figure 6 and Figure 7, respectively. Figure 4: Proposed feedforward ANC of this work, using a CNN accelerator in FPGA. Blue: Primary path, Green: Electrical secondary path, Red: Acoustic secondary path. Figure 5: (**a**) Measurement of the primary path \(P(z)\), (**b**) measurement of the acoustic secondary path \(S_{A}(z)\). Blue: Primary path, Red: Acoustic secondary path. Figure 6: Transfer function of the primary path \(P(z)\), with the noise incidence angle of (**a**) \(0^{\circ}\), (**b**) \(90^{\circ}\). Figure 7: Transfer function of the acoustic secondary path \(S_{A}(z)\). includes a dilated 1-D CNN operation (16 kernels, dilation factor of \(2^{n-1}\)) and a fully connected (FC) operation (Figure 8). The dilated structure is employed in this work, to predict the future well by increasing the input receptive field. The kernel size of the dilated CNN was chosen to be 16, to maximize the input receptive field and to use a 16 \(\times\) 16 systolic array hardware for a parallel multiply and accumulation (MAC) operation, while minimizing the number of layers to reduce latency. The total number of parameters used in the proposed model is 3232 = (256 + 16) \(\times\) 10 + 512.