Selection of an Optimal Adaptive Filter for Speech Signal Noise Cancellation using C6455 DSP

Speech is the most important human communication tool. It is used to share information, feelings, coordinate work of professionals, etc. [1, 2]. It is very important to warrant not only the delivery of the information, but also the perception, that can be complicated if the speech is corrupted by various type of noise [3]. Digital filtering of the speech signal is complicated in dynamically changing environment. The main frequency components of the speech signal are situated in the range from 5 Hz to 4 kHz. Simultaneously the audible noise is situated in the frequency range from 20 Hz to 20 kHz. Therefore the noise components can fall in the same range as the information signal [5]. Finite or infinite impulse response filters with fixed coefficients are not effective in dynamically changing environment. Thus the automatic adaptation of the filter coefficients accordingly to the changes of the noise or information signal is performed. In comparison to the filters with fixed coefficients, the implementation of the adaptive filters requires additional hardware resources for adaptation algorithm [6]. Therefore the maximum filter order, which could be implemented in any selected digital signal processor (DSP), depends on the selected adaptation algorithm. Adaptive filters that use simple in implementation algorithms, such as Least Mean Squares (LMS), requires many iterations to adapt filter coefficients. More advanced algorithms, such as Normalised Least Mean Squares (NLMS) or Recursive Least Squares (RLS), are more complicated in implementation. Consequently the system load increases and it leads to the more strict limitations to the maximum filter order that can be implemented in DSP. In this paper the implementation of the three types of adaptive filters are analysed by the use of Texas Instruments DSP C6455. The spectral components of the analysed speech signal and the noise added are aliased. Recommendations on the selection of the filter order and adaptation algorithm for noise cancelation algorithm implementation in DSP are presented.


Introduction
Speech is the most important human communication tool.It is used to share information, feelings, coordinate work of professionals, etc. [1,2].It is very important to warrant not only the delivery of the information, but also the perception, that can be complicated if the speech is corrupted by various type of noise [3].
Digital filtering of the speech signal is complicated in dynamically changing environment.The main frequency components of the speech signal are situated in the range from 5 Hz to 4 kHz.Simultaneously the audible noise is situated in the frequency range from 20 Hz to 20 kHz.Therefore the noise components can fall in the same range as the information signal [5].Finite or infinite impulse response filters with fixed coefficients are not effective in dynamically changing environment.Thus the automatic adaptation of the filter coefficients accordingly to the changes of the noise or information signal is performed.
In comparison to the filters with fixed coefficients, the implementation of the adaptive filters requires additional hardware resources for adaptation algorithm [6].Therefore the maximum filter order, which could be implemented in any selected digital signal processor (DSP), depends on the selected adaptation algorithm.
Adaptive filters that use simple in implementation algorithms, such as Least Mean Squares (LMS), requires many iterations to adapt filter coefficients.More advanced algorithms, such as Normalised Least Mean Squares (NLMS) or Recursive Least Squares (RLS), are more complicated in implementation.Consequently the system load increases and it leads to the more strict limitations to the maximum filter order that can be implemented in DSP.
In this paper the implementation of the three types of adaptive filters are analysed by the use of Texas Instruments DSP C6455.The spectral components of the analysed speech signal and the noise added are aliased.Recommendations on the selection of the filter order and adaptation algorithm for noise cancelation algorithm implementation in DSP are presented.

Structures of the Implemented Adaptive Filters
The investigation is performed on the speech signal affected with different types of noise.The spectrum of the speech signal and the spectrum of the noise signal is partially or fully aliased.To solve this complex filtering problem, different adaptive filters were implemented.For adaptive filtering the two signals are needed: information signal corrupted with noise and the desired signal.
Selection of the desired signal leads to the more or less effective filtering of noisy signal.Various signals could be used as a desired signal for adaptive filter: external signal source, example of the noise signal, recorded when no information signal is transmitted, artificial noise signal, created accordingly to the mathematical noise model.Even if the use of real desired signals has obvious reason, the implementation of such systems could be very complicated [7,8].Two adaptive filter structures (Type I and Type II), illustrated in Fig. 1 and Fig. 2 are analysed in this paper.In both cases the adaptive filter has a one channel structure.The pass-band or stop-band of the filters, used for input signal pre-filtering are selected in the range [0.05, 1.5] kHz.The range is selected accordingly to the speech signal energy distribution.
In the proposed filtering structures, the pre-filtering extracts the highest energy part of the information signal (Fig. 1) or extracts the highest energy part of the noise from the signal presented to the system (Fig. 2).

Filter Coefficients Adaptation Algorithms
Three types of adaptive filters are used in this investigation: LMS, NLMS and RLS.Most popular and simple in implementation is LMS adaptive filter.To implement this type of filter only three operations per cycle are needed: filtering, evaluation of the error, evaluation of the new filter coefficients [6].The learning rate of the filter is selected according to the filter order used and is selected in the range from 10 -5 to 10 -6 .
A modification of the LMS filter is the normalized LMS filter [9].This adaptive filter uses a time-varying coefficient adaptation step size (starting from 0.1) accordingly to the energy of the input signal.Time-varying coefficient adaptation improves stability and effectiveness of the filter.Because of the required additional calculations, the implementation of this adaptive filter becomes more complicated.
RLS filter is the most complicated in implementation from the three adaptive filters analysed in this paper.This filter requires additional calculation of the Kalman attenuation coefficient and update of the inverse correlation matrix [10].Two additional calculations make this adaptive filter more complicated in implementation and rare in practice.

Embedded System for Adaptive Filter Implementation
Digital signal filtering is performed using Texas Instruments TMS320C6455 development kit, consisting of digital signal processor (DSP) C6455, AIC23 audio codec, Joint Test Action Group (JTAG) interface (Fig. 3).The analysis of the filtering results is performed by the use of personal computer.DSP processes the noisy speech signal digitized and quantised by AIC23.The dynamic range for the analog inputs is 90 dB and 100 dB for the outputs of the AIC23.
The sampling frequency of the AIC23 is in the range from 8 kHz to 96 kHz and signal-to-noise ratio (SNR) is 100 dB.To synchronize real-time processing tasks of the TMS320C6455, the DSPBIOS real-time operating system is used.Main throughput of the DSP is: clock rate of the CPU -1.2 GHz, performance -up to 19200 million instructions per second (MIPS).
DSP is connected with AIC23 by two interfaces: Integrated Circuit (I 2 C) and Multichannel Buffered Serial Ports (MCBPS).I 2 C is used for setting the codec parameters and MCBPS -for data transmission.
Personal computer is used for speech signal and noisy signals preparation, data analysis and registration of the results.JTAG interface is used for monitoring the load and other parameters of the DSP.

Analysis of the DSP Load for Different Adaptive Filters
To evaluate the load of the DSP for different adaptation algorithms, the DSP load dependence on the FIR filter order is presented in Fig. 4. The band-pass of the analysed FIR filter is in the range from 0.05 to 1.5 kHz.
The dependence of the DSP load is linear: minimum load of 7.81 % is received for the 16 th order and the maximum load of the processor -for the 620 th order filter.
For LMS adaptive filter the minimal load (18.27 %) of the DSP is received for the 2 nd order filter and the maximum load (97.26 %) -for the 176 th order filter.The results of investigation are shown in Fig. 5. Comparing to the ordinary FIR filter, the load increases 3 times in average for each increase of filter order by 1.
Implementation of the NLMS filter show, that the load of the DSP from minimum of 18.76 % for 2 nd order filter, reaches 99.12 % for 90 th order filter (Fig. 6).NLMS adaptive filter requires almost twice more resources than LMS filter.The load of the DSP with implemented RLS filter starts from 20.63 % for 2 nd order filter and reaches 100 % for 11 th order filter.Comparing RLS to the same order NLMS filter, a LMS filter and FIR filter, the load of the DSP is 8, 16 and 48 times higher respectively.
Similar to LMS and NLMS, the DSP load graph for the RLS filter has disproportion of the DSP load for the low order filters.The load of the DSP for low order Type I and Type II filters is high (starts from 18-19 %) and is  mostly conditioned by additional filtering, performed to prepare a desired signal (Fig. 1, Fig. 2).
The investigation of the DSP load for different adaptive filters shows that the most computationally expensive RLS adaptive filter can implement only up to 11 order filter on the selected DSP.

Evaluation of the implemented adaptive filter efficiency
The second part of the investigation is the evaluation of the filter efficiency.The implemented adaptive filter Type I is analysed by sending a filtered information signal (Fig. 1).The implemented adaptive filter Type II is analysed by sending a filtered noise as a desired signal (Fig. 2).
Four noise types with different statistical parameters were used for investigation: traffic noise, air-hammer noise, jet plane noise and siren.The SNR was changed in the range from 0 dB to -30 dB during investigation (Fig. 7  and 8).The efficiency of the adaptive filter was measured by SNR, received on the output of the filter.
LMS adaptive filter Type I gives best filtering results for the 176 th filter order.Comparing to the 64 th , 128 th , 144 th and 160 th order filters, the results are similar and differs in the range of 9-12 %.The similar efficiency can be obtained with the 47.19 % load of the DSP (for 64 th order filter).
Low adaptive filter efficiency is monitored in situations, where SNR of the input is equal to -25 dB and -30 dB.The adaptive noise cancelation for input signal with such SNR gives from 7 dB to 14 dB SNR on the output only for the 32 th and higher order filters.For the lower order filters, the extraction of the information signal fails and is unapproachable.
LMS adaptive filter Type II gives the best noise cancelation for 160 th , 144 th and 128 th order filter.However comparing to the previous filter, the results are significantly (by 10-19 dB) worse.For the signal with SNR in the input equal to -20dB, -25dB and -30dB, the output is unapproachable for low order filters neither for high order filters and is not shown in Fig. 8.
Noise cancelation results of the NLMS adaptive filter Type I are from 3-6 dB higher than results of the LMS filter.The efficiency of the 128 th order LMS filter is achieved by using 8 th order NLMS filter.The highest efficiency of the implemented NLMS adaptive filter is obtained in the casse of 64 th order (Fig. 7).
The NLMS adaptive filter Type II gives worse noise cancelation (Fig. 8) comparing to the NLMS filter Type I.The output signal is unapproachable for SNR equal to -20 dB, -25 dB and -30dB.
Comparing adaptive filters with different desired signal and the same order equal to 64, the output SNR is 15 dB, 20 dB, 19dB and 18 dB worse.However it is the best results for NLMS filter Type II.
As seen in Fig. 8, the filtering performance of the RLS adaptation algorithm based filter is much higher than performance of the LMS and NLMS filters.Also the Type II RLS adaptive filter results are only 2-3 dB worse comparing to the Type I system.It means that the ability of the RLS algorithm to take into account the previous filtering results is more important than the ability to calculate the higher order LMS or NLMS filter coefficients.The drawback of the RLS adaptive filter is the implementation costs.The highest order filter implemented in C6455 DSP was of 11 th order and it uses 100 % of the processor resources.

Conclusions
The maximum filter order of 176 was implemented on the C6455 for the LMS adaptive filter.Accordingly to the investigation results, for the given problem, the quality of noise cancelation does not require the maximum filter order and it varies in the range of 9-12 %, starting from the 64 th order.The highest NLMS filter performance was obtained for the 64 th order.Resulting SNR on the output of the filter is acceptable for the DSP load of 47.19 % (LMS filter) and 31.78 % (NLMS filter).It varies in the range of only several decibels by increasing the filter order.
The use of RLS adaptive algorithm is preferable for unknown desired signals as the performance dependence on the desired signal is less noticeable.

Fig. 1 .
Fig. 1.Suggested adaptive filter structure diagram (Type I) with band-pass filter

Fig. 3 .
Fig. 3.The structure of the filter analysis system

Fig. 8 .
Fig. 8.Comparison chart of the noise cancelation from speech signal using LMS, NLMS and RLS adaptive filters with bandstop filter in the input of the desired signal (filter Type II)