Adaptive Noise Cancellation Using Noise Dependent Affine Projection Algorithm

- In this paper, an improved adaptive noise cancellation approach is proposed for voice communication signals. The method is based on using noise dependent affine projection algorithm ND-APA. A conditionally variable projection order affine projection algorithm APA is developed and tested. The order of the algorithm is changed according to the change in the characteristics of the noise. The eigenvalue spread of the noise autocorrelation matrix is used as a criterion for projection order change. The order of the algorithm is made to vary from 4 to 32 according the value of the spread which changes from less than 5 for white noise to more than 15 for colored noise. The proposed method showed a superior performance as compared to the classical APA, LMS and RLS noise cancelation methods. The technique presented here can be very useful in removing environmental noise in fixed and mobile communication.


Introduction
Environmental noise can severely damage voice communication in environments such as streets, airports, factories and other noisy places. These environments can change from a silent place to a noisy car, horns in streets, people shouting in markets or may be having a loud conversation among them inside a public hall. These types of environments are typically found in our streets, markets and other public places [1]. In these situations, using fixed filters to reduce the noise is not feasible due to the non-stationary nature of the noise. Therefore, adaptive filters are used as a cure to this problem, since they can adjust the filter parameters continuously so as to track and reduce the non-stationary noise. In adaptive filtering, the least mean square LMS algorithm or one of its variants can be used to adapt a digital filter with relatively low computation complexity and good performance. However, the LMS approach suffers from significantly degraded performance with colored interfering signals such as environmental noise, due to the large eigenvalue spread of the noise's covariance matrix [2]. In addition, the computational power of the algorithm increases as the length of the adaptive filter increases. This can be a serious problem in applications such as echo cancellation in telecommunications which demand long digital filters to model the path's response. On the other hand, recursive algorithms such as the recursive least squares RLS algorithm can cope with these types of environmental noise at the expense of a tremendous increase in computational power, which rules it out for real time applications [3]. The affine projection algorithm APA is devised in literature as a compromise between the least mean square LMS and the RLS algorithms [4]. However for high projection orders, the use of APA leads to a high computational power and a large steady-state error, which leads to the same problem. Therefore, the need here is for an APA that can change projection order according to environmental change, so that it can reduce and track environmental noise with a reduced estimation error and a moderate computational power. The original version of APA was first presented in [4], where the authors have suggested reusing past multiple input vectors and updating the weights of input vectors. The AP algorithm has better convergence than the LMS algorithm under highly colored signals. It has faster converges when the projection order is set to a high value, and the step size is set to a large value. However, it causes large estimation errors. Meanwhile, low estimation errors as well as slow convergence rates are resulted when the projection order and the stepsize are set to small values [5]. These problems have been the focused on by many researches in recent years. An example of these algorithms is the fast APA proposed in [6]. The fast APA improves the convergence rate when the projection order is set to a fixed value with a small step size. Another example is the variable order APA [7], named as the evolutionary APA. The order of the projection of the latter is determined according to the output error and a predefined threshold. This algorithm was modified by using the dichotomous coordinate descent DCD technique in [8]. The modified algorithm possesses less number of operations than the original one. Other literature proposals have focused on varying the step-size of the APA, such as those found in [9] and [10]. Also, a dynamic selection APA is proposed in [61], which deals with choosing the input vector. These algorithms showed an improved convergence performance, and a small estimation error with a lower computational power than the original APA version. However, the performances of most of these algorithms have only been compared to the conventional APA, and still possess larger estimation errors than the classical LMS. Moreover, employing an optimized or variable projection order APA has not been widely discussed in literature, because this would involve analytical solutions for optimization problems, which in turn leads to either impracticable solutions or very expensive to implement in realtime applications. In reference [12] a variable projection order APA is proposed. The technique is based on a mixed analytical and experimental procedure. However, the method uses extensive simulations and investigations to work out the projection order of the algorithm, which looks somehow complicated and needs a lot of background process to achieve the goal. Thus, this paper proposes a new technique to vary the projection order of the APA. The procedure is based on monitoring the variations in the characteristics of the noise via measuring the eigenvalue spread of the autocorrelation matrix of this noise. This way, there is no need to apply high order APA for all the adaptation time. The proposed method presented in this paper uses an algorithmic procedure to vary the projection order of the algorithm, which is much simpler than the one found in [12]. The proposed algorithm is named as noise dependent affine projection algorithm (ND-APA). The paper is organized as follows. In addition to this introduction section, section 2 presents detail of the proposed technique in this paper. Section 3 displays and discusses the results of simulating the proposed algorithm using a model waveform and computer generated noises. Section 4 presents and discusses the results of testing the algorithm using real world voice waveform and several types of environmental noises, and finally section 5 concludes the paper with the main remarks.

Proposed Noise Cancellation Approach
A block diagram of a typical adaptive noise canceller with two inputs is shown in Figure 1, where s(n) is the signal of interest, x(n) is the input noise [13]. The noise x(n) is being transmitted over an unknown path to be added with s(n) as a correlated noise ) ( n x . The adaptive noise canceller ANC attempts to reduce the noise by subtracting the adaptive filter output y(n) from the desired input d(n). The error signal e(n) is used to alter the coefficients of a digital filter so as to reduce the noise in the useful signal s(n). The desired input d is fed to what is known as the primary input of the noise canceller, while the noise is submitted to the reference input of the noise canceller.

Figure 1: The adaptive noise canceller
Basically, any type of adaptive algorithms can be used as the controlling algorithm. Adaptive algorithms such as the LMS and RLS can be used. However, these algorithms have their drawbacks in acoustical environment, which has been explained in the introduction section. Therefore, in this research paper, a modified, noise dependent affine projection algorithm ND-APA is used to control the coefficients of a transversal finite impulse response FIR filter. The choice of the filter is based on the stability that is offered by this type of filters. The set of equation that are used to update the conventional APA are given by [4]: where ) ( n w is the adaptive filter weight vector at time n. The desired input d(n) and the input noise x(n) are given by the following vectors: P: is the projection order of APA.
(δI): is a diagonal matrix with δ is a small constant along the diagonal which is used to regularize the inverse matrix in the AP algorithm. e(n): is the error signal and T is a transpose notation. To control stability, convergence, and final error, a step size μ is used, where µ lies within the following range.
Now, in the conventional APA operation, the projection order of the algorithm is set to a certain value and never changed during adaptation process. In this paper, the projection order is made variable during adaptation process. The algorithm is modified so that it changes its projection order according to the value of the eigenvalue spread of the noise autocorrelation matrix, which represents the characteristics of the noise, i.e. noise dependent. The target application here is removing environmental noise from noisy voice waveforms. In such applications, the voice signal is often corrupted by several types of environmental noise. These types of noise are hard to eliminate using conventional methods. The eigenvalue spread of the noise is determined from its autocorrelation matrix known as R and expressed by the following [14]: where E is an expectation operator. x H (n) is the Hermitian transposition of the input noise vector x(n). From this matrix, the eigenvalue spread is determined from the ratio of the maximum to the minimum eigenvalues of R. The eigenvalues are represented by λ i . The characteristic equation of R is set as follows. 0 ) λ det(   I R i (8) I: is an identity matrix, and λ j is given by the diagonal matrix below.
where, λ 1 , λ 2 , …, λ M are the eigenvalues of R. The eigenvalue spread of R is calculated as follows, max(λ i ) and min(λ i ) are the maximum and minimum eigenvalues respectively. Using frames of data from the input noise, the value of ) (R  is measured and the projection order is set to a certain value depending on the type of interference that can corrupt the voice signal, hence reducing the effect of different types of interference in the corrupted signal. The target technique is the one which gives good noise cancellation performance at a moderate computational power, since high projection orders are not needed for long intervals of time during adaptation process. In some cases of noise such as white noise, the algorithm performs with low complexity very much like the LMS algorithm. A flow chart of the algorithm is shown in Figure 2. The simulations are conducted under MATLAB environment.

Experimental results using model waveform
In this section, initial results are obtained from simulating the interference canceller shown in Figure1, using a model audio signal represented by a sinusoidal waveform, which simulates the voice communication signal. This signal is deliberately subjected to two sections of white and colored noises. The noise sections are concatenated alternately running for enough time to test the algorithm. The white noise possesses the least eigenvalue spread of <5, while the colored one has a calculated value of >15. The colored section is generated by passing the white noise through a second order IIR filter. The resulting variable noise is simulating environmental noise which can change from one type to another producing varying characteristics noise. In real-life, acoustical noise can change from car engine noise to voice babbles to a broadband noise..etc. The eigenvalue spread values of the input noise signal used in these simulations are calculated on a frame base of the noise data. The calculation of the eigenvalue spread is repeated for each frame of data to observe the changes in the noise signals, hence giving a control command to change to an appropriate projection order. Two values for the projection order are taken, 2 and 16. The algorithm is programmed so that if the spread lies below 5, then the order is set to 4. Otherwise, the order is set to 16. The starting order is made 16 so that the possibility of starting with highly colored noise i.e. with large eigenvalue spread is taken into account. This is only a sample behavior of what the actual algorithm could be. The choice of these values is based on the fact that for low spread values, only low order APA is required, hence it resembles the simple LMS in its computational complexity, while the performance is equivalent to RLS algorithm. On the other hand, for high values of eigenvalue spread, the order is increased so that the algorithm can cope with colored noise that cannot be removed using the simple LMS algorithm. Therefore, an optimum noise filtering can be achieved this way. The performance of the noise dependent canceller with the modified APA proposed in this paper is evaluated using mean square error MSE performance of the noise canceller. Figure 3 shows the MSE plots of the proposed method compared to the performance using conventional APA, LMS and LRLS algorithms. The experiments under conventional APA have been conducted with two constant orders 4, and 32 to appreciate the difference in performance compared to the modified APA proposed in this paper.

Figure 2: Flow chart of the propose algorithm
Now, the behavior of the proposed algorithm compared to standard algorithms is interpreted. It is clear from Figure 3 that the proposed noise canceller ND-APA shows initial fast convergence, as good as the RLS which somehow appears with relatively large steady state error. Meanwhile, the LMS flattened very quickly after a short initial convergence. This means that the residual noise in the target signal persists with large amount in the case of LMS algorithm. The performance of the proposed ND-APA is also compared to two conventional APAs with two different orders 4 and 32. Meanwhile, the LMS flattened very quickly after a short initial convergence. This means that the residual noise in the target signal persists with large amount in the case of LMS algorithm. The performance of the proposed ND-APA is also compared to two conventional APAs with two different orders 4 and 32. The step size is kept at 0.05 for all cases. It is evident from Figure 3 that the APA with order 4 converges slowly with smooth steady state behavior, while the APA with order 32 converges very fast with large missadjustment. To sum up, the proposed ND-APA canceller with modified APA showed fast convergence with a small miss-adjustment error. Figure 4 displays the signal before and after filtering using proposed algorithm.

Experimental results using real voice and environmental noise
In this section the experiment is performed but this time with the use of real voice and noise signals in realistic environmental conditions. The voice signal used here is an utterance "one, two, three" recorded with the voice of the author of this paper, Amplitude Filtered Signal using Proposed APA then converted to a (.wav) format so that it is easily uploaded as a data file, the waveform of which is shown in Figure 5. Referring to Figure 5, the spikes appearing at the beginning of "two" and "three" are due to microphone oscillations, while the slight baseline noise appears in the figure is normal due non-ideal recording environment and it has no effect on the experiments. To create an environmental noise signal with variable characteristics, portions from different types of audio noises, namely factory noise, voice bubbles pink noise and white noise are converted to data format and then connected in sequence one after the other to produce a variable characteristics noise, Figure 6 shows the waveform of this audio noise signal. The sampling frequency used here is 8 kHz, as this represents a commonly used voice sampling rate. The length of the resulted noise is made sufficiently enough to corrupt the voice waveform. The noise signals used in this research are standard for noise reduction and noise analysis experiments used by many researchers. These audio noise signals are originally obtained from a standard data base [15]. Figure 7 shows the voice waveform which was totally buried with noise.   To measure of the characteristics of the noise, calculations of the eigenvalue spread for each specific portion of noise are performed. These eigenvalues are used as indicators for how hard the noise is. A lookup table is constructed containing the value of the spread corresponding to each noise type as shown in Table 1. These calculations are made separately and the lookup table is used in the propose algorithm to assign a particular projection order to the APA. Therefore, the order of the projection will be changed in a discrete manner according to the type of noise. The lookup table can be extended to include more acoustical noise types. As it has been explained in the previous part of the simulations in section 3, while the noisy voice signal and the noise are processed by the adaptive filter on a sample base, frames of noise data are used to calculate the eigenvalue spread for each frame. These values of the spread are checked against the lookup table that has been constructed beforehand. Therefore, if a change in the spread occurs, the order of the APA is changed to a value that has been set for the predicted type of noise and it remains so until a new change in the noise characteristics takes place. It must be mentioned here that since the experiments conducted in this research are under computer simulations, then it is easy to obtain data from isolated noise signals while they are fed to the reference input of the noise canceller. In practice, there are two methods of isolating noise from target signals, namely passive and active. Passive methods are expensive and need large spaces to tolerate them. Directed microphones are normally used in conjunction with foam isolators to produce the required passive isolation [16]. On the other hand, active methods mostly rely on the use of voice activity detectors (VAD) [17][18][19]. Using VAD method, the adaptation process is stopped during voice activity, while it is resumed during pauses and unvoiced periods. In voice applications such as telecommunications, pauses and unvoiced intervals are quite long so that noise features can be extracted adequately from the input noise signals. The recoded author's voice is subjected to the generated variable noise and fed to the desired input of the noise canceller, while the noise signal is fed to the reference input of the adaptive filter. The adaptation process was running for sufficient time to allow changes in noise characteristics.
Indicators are used to give knowledge of the projection order used in a certain noise portion.
To compare the performance of the proposed ND-APA with conventional APAs as well as other standard algorithms, namely LMS and RLS, the experiment was performed for each of those algorithms under the same environment; the MSE is used as a measure of performance as before.
The sequence of the noise portions can be changed i.e. a certain type of noise can change place in the sequence. The starting order of the ND-APA is set to the highest one i.e. 32, so that it is ready to cope with the hardest noise which is the colored one. After initial run, the projection order can change to any of the values in the lookup table. Now, the results of running the simulations under each of these algorithms are displayed on the same graph to judge the validity of the propose method. In the first case, MSE performance comparison of standard APA algorithms with fixed orders running to remove the noise from the target speech signal is displayed in Figure 8. In this figure, the MSE plots for 6 fixed order APA as well as that of the proposed ND-APA are displayed. It clear that the ND-APA showed a good performance at the beginning, almost similar to the APA with order 32, after that it switches order to tackle different types of noises. From Figure 8, it is evident that the proposed ND-APA can cope with different types of noise more effectively than other fixed order algorithms. The colored noise piece is deliberately placed at the beginning, and as it was expected the ND-APA performs almost coincides with APA-32 at the start, and the slight difference is due to separate running of the simulations for each of the algorithms. For each part of the noise, the ND-APA performs with goodness of each of the standard APAs. For instance, when the noise is white, the ND-APA switches order to 4 and performs with slight maladjustments compared to APA32, as it can be seen from Figure 8 before and after iteration 35000 where the white noise piece was placed. In comparison, the APA4 has a slow initial convergence but with low steady state error i.e. a small amount of miss-adjustment. While the APA-32 has a fast initial convergence, it showed a high steady state error i.e. large missadjustment.

Figure 8: Comparison withAPA4 & APA32
Now, the ND-APA performance is compared to other standard algorithms other than the APA. As it can be seen from Figure 9, the LMS performs badly for portions of colored noise. This is normal due to the nature of the LMS algorithm which highly dependent on the eigenvalue spread of the input signal. However, the LMS converges nicely for white portions of the noise which is clear in Figure 9 before and after iteration 35000 where the white noise is placed. The graph of Figure 9 also depicts the amazing performance of the LMS noise canceller, it shows how the LMS reacts to different types of noises with different manners, so it performs badly for most of noise types other than white and suddenly it drops nicely for the white piece. This type of test has not been found in other literature. On the other hand, the RLS shows a good performance for all kind of noises. However, the RLS possess the highest computational power than the other algorithms, proportional to square of the filter order, which rules it out for real time applications. Finally, the target voice waveform before and after processed by the proposed ND-APA is displayed as shown in Figure 10. In order to appreciate the achievement of the proposed ND-APA, the filtered voice waveform is displayed using different noise cancellation algorithms in

Conclusion
An improved adaptive noise cancellation system is developed and tested in this paper. The canceller is based on using noise dependent affine projection algorithm. The projection order was made to change algorithmically according to the noise characteristics. The results presented in this paper proved the validity of the method. In addition, the system has shown a better performance compared to the conventional adaptive filtering techniques.