## 4 Computational Complexity  
The computation complexity of the three algorithms is analyzed in this section. Firstly, the relationship was studied between the real number multiplication computation and the variation of the adaptive filter length \(N\). Secondly, the computational complexity of the three algorithms at different lengths \(N\) was compared. The proposed SFDFBANC algorithm's computational complexity mainly consists of five parts: (1) producing the output signal of the adaptive filter; (2) estimating of the total delay of the secondary path; (3) generating the frequency domain filtered reference signal; (4) generating the frequency domain error signal; and (5) updating the frequency domain adaptive filter coefficients. The computation of the WSMANC algorithm is divided into four parts: (1) controller output; (2) estimating total delay; (3) generating the filtering reference signal; and (4) updating the time domain adaptive filter coefficients. The computation of the SAIMC algorithm is divided into four parts: (1) controller output; (2) acquiring the secondary path information using the offline modeling method; (3) generating the filter reference signal; and (4) updating the time domain adaptive filter coefficients. The computation of the identical step (i.e., Step (1)) in the three algorithms was ignored, and the computation is calculated using \(N\) sampling points. For the three algorithms, the relationships between the computational complexity and the adaptive filter length \(N\) were shown in Table 1. The calculation of the three algorithms is calculated by using different lengths of the adaptive filter \(N\). This can be seen in Table 2.  
When \(N\) was 16, the SAIMC algorithm's computation complexity is 1040 real number multiplications, that of the WSMANC algorithm was 544 real number multiplications, and the proposed SFDFBANC algorithm's computation complexity was 736 real number multiplications. At that time, the SAIMC algorithm's calculation was higher than the SFDFBANC algorithm's calculation. When \(N\) was 64, the calculation complexity of the SAIMC algorithm was 16,448 real number multiplications, and the WSMANC algorithm's calculation was 5248 real number multiplications; however, 3712 real number multiplications were calculated in the proposed SFDFBANC algorithm. In that case, both the  
Figure 18: Time-domain error signal curves with small step size. WSMANC and SAIMC algorithms had higher calculation complexities than that of the SFDFBANC algorithm. When \(N\) was 256, there were 262,400 real number multiplications in the SAIMC algorithm, and the WSMANC algorithm's calculation was 70,144 real number multiplications; however, there were only 17,920 real number multiplications in the SFDFBANC algorithm. At that time, the WSMANC algorithm's calculation was more than four times that of the SFDFBANC algorithm, and the SAIMC algorithm's calculation was more than 15 times that of the SFDFBANC algorithm. When \(N\) was 512, the WSMANC algorithm's calculation complexity was about 12.7 times that of the proposed SFDFBANC algorithm, and that of SAIMC algorithm was about 50 times that of the SFDFBANC algorithm's calculation. As is shown in Tables 1 and 2, the three algorithms' calculation are increased by increasing the length value \(N\). The calculation complexities of the WSMANC and SAIMC algorithms are related to \(N^{2}\), which increases in the form of a power function (\(N=2^{M}\)) and grows faster, while the relationship between the computational complexity and the adaptive length \(N\) is a logarithmic relationship in the SFDFBANC algorithm, which grows more slowly than the power function. If the adaptive controller length \(N\) is not less than 64, the SFDFBANC algorithm exhibits the least calculation. The change relationship between the calculation and the adaptive filter length \(N\) (\(N=2^{M}\), \(M\) is a natural number) is shown in Figure 19.