An optimum algorithm for adaptive filtering on ... - Semantic Scholarhttps://www.researchgate.net/.../An-optimum-algorithm-for-adaptive-filtering-on-acou...

2 downloads 0 Views 4MB Size Report
May 7, 2009 - annoying, effect of the acoustic feedback path, is a sustained, non-decaying, component known as howling. Acoustic echo control is a ...
Digital Signal Processing 20 (2010) 133–148

Contents lists available at ScienceDirect

Digital Signal Processing www.elsevier.com/locate/dsp

An optimum algorithm for adaptive filtering on acoustic echo cancellation using TMS320C6713 DSP Yüksel Özbay a,∗ , Ahmet Resit ¸ Kavsao˘glu b a b

Selcuk University, Department of Electrical & Electronics Engineering, 42075, Konya, Turkey Sinop University, Ayancık Vocational School, 57400, Ayancik/Sinop, Turkey

a r t i c l e

i n f o

a b s t r a c t

Article history: Available online 7 May 2009

In this study, it is aimed to enhance the intelligibility of speech by canceling out the echo noise. For this purpose, the data transfer software, which is necessary for real time processing of voice signals, and the adaptive filtering algorithm software for the application of acoustic echo cancellation have been developed. An algorithm has been proposed for the determination of optimum adaptation rate (μ) for the least-mean-square (LMS) adaptation algorithm that is used in the adaptive filter. The effectiveness of our optimum μ value determination algorithm was demonstrated on a single direction voice conference application with one speaker. In this study, we used a DSP card (TMS320C6713), a Laptop computer, an amplifier, a loudspeaker and two microphones in two applications. In the first application, two microphones were placed close to the loudspeaker, while in the other application, one microphone was placed close to loudspeaker and speech trial was implemented in the far-end microphone. Output of the adaptive filter was observed for μ values of 0, 0.1, 100 and optimum (a value between 0.01 and 100). The best results in the adaptive filter were obtained from optimum μ value. © 2009 Elsevier Inc. All rights reserved.

Keywords: Echo cancellation Adaptive filtering Adaptation rate LMS algorithm FIR filter DSP

1. Introduction The audio input to a microphone may contain the speaker’s voice and a set pf feedback components from a remote amplified loudspeaker and from surface reflections containing delayed and attenuated versions the speaker’s voice. The acoustic feedback components may support sustained decaying echoes which are perceived as annoying echo-chamber like reverberation. These sustained echoes significantly degrade speech quality and speech intelligibility. The most extreme, and annoying, effect of the acoustic feedback path, is a sustained, non-decaying, component known as howling. Acoustic echo control is a enormously claiming application area. Designing adaptive filters is an important task. The problem of acoustic echo control arises wherever a loudspeaker and a microphone are placed within an enclosure in a way that the microphone pick up the signal from the loudspeaker as well as the reflections from the borders of the enclosure and the various objects inside [1]. The application of acoustic echo cancellation has gained considerable attention in the last decade mainly for the applications of hands-free telephone and tele-conference systems. The main problem in this type of system is the speech signal feedback between loudspeakers and microphones, that is, the acoustic echo which needs to be canceled [2–4]. In the application of acoustic echo cancellation, least mean-square (LMS) algorithm is commonly used on adaptive filtering [1,2,5–9].

*

Corresponding author. Fax: +90 332 241 06 35. E-mail addresses: [email protected], [email protected] (Y. Özbay).

1051-2004/$ – see front matter doi:10.1016/j.dsp.2009.05.001

© 2009

Elsevier Inc. All rights reserved.

134

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

Fig. 1. General structure of adaptive filter.

Echo signal is the delayed form of original speaker signal. That means, echo signal can be assumed as a noise in speaker signal. The removing of noise from the speaker signal cannot be implemented by classical filters, which suppress certain frequency components and pass the others. For this reason, filter design used to remove echo is the subject of optimal filter design. The basic purpose of optimal filter design is to minimize the difference between desired response and actual response of filter. Filter response does not only depend on the statistical information, because physical signals’ statistical information has usually a varying nature. Therefore, a filter structure, which is modified its response according to the change of error signal, is required to adapt filter coefficients in a way to minimize error signal [7]. Adaptive filter is the solution to this problem. Adaptive filter is filter with coefficients which are modified periodically in order to attempt meeting some performance criterion, which is usually in the form of some error or cost function minimization [8]. The adaptive noise canceler consists of an adaptive filter that operates on the reference sensor output to produce an estimate of the noise, which is subtracted from the primary sensor output. The overall output of the canceler is used to control the adjustments applied to the tap weights in the adaptive filter. The adaptive canceler tends to minimize the mean-square value of the overall output, thereby causing the output to be the best estimate of the desired signal in the minimum-mean-square sense [7]. Acoustic echo cancellation system with adaptive filtering realized in this study is composed of two components namely hardware and software [10]. Hardware is consisted of microphone, loudspeaker, amplifier and DSP card. Hardware enables real-time implementation of the application. In developed software, the echo signal present in audio signal is canceled with the implementation of an adaptive filter structure. In the system, optimal filter design studies on echo cancellation with adaptive filtering have been carried out in real-time. Signals have been observed by plotting amplitude-versus-time and power spectrum density-versus-frequency graphics. 2. Method 2.1. Adaptive filter Adaptive filter is consisted of filter structure and adaptation algorithm. Implemented filter structures are finite impulse response (FIR) or infinite impulse response (IIR). In our study, FIR filter structure which is widely employed in applications due to its stability has been designed. We used the LMS adaptation algorithm, which has been widely employed in literature [5–9]. Adaptive filter is a filter that includes adjustable coefficients by means of an adaptive algorithm to make filter response optimal according to the given performance criterion [7]. In Fig. 1, general structure of adaptive filter is shown. Filter structure: It is a filter algorithm designed to implement needed operation function, which may be FIR or IIR. This block calculates filter output for the input signal. Also, filter coefficients are updated by adaptation algorithm. Performance criterion: This block detects unwanted signals i.e. echo signal, in the filter output and generates input signal to cancel echo signal in adaptation algorithm. Adaptation algorithm: This is the essential component of adaptive filter. This algorithm determines the variation of filter coefficients depending on the performance criterion. 2.2. LMS adaptation algorithm The least-mean-square (LMS) algorithm is a linear adaptive filtering algorithm that consists of two basic processes [7]: 1. A filtering process, which involves (a) computing the output of a transversal filter produced by a set of tap inputs, and (b) generating an estimation error by comparing this output to a desired response. 2. An adaptive process, which involves the automatic adjustment of the tap weights of the filter in accordance with the estimation error.

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

135

Fig. 2. Block diagram of adaptive transversal filter.

Fig. 3. Application of adaptive noise cancellation.

Thus, the combination of these two process working together constitutes a feedback loop around the LMS algorithm, as shown in Fig. 2 [7]. Transversal filter is responsible for performing the filtering process. Adaptive weight-control mechanism executes adaptive control process on the tap weights of the transversal filter [7]. As shown in Fig. 2, LMS adaptation algorithm uses error signal. Error signal is given by e (n) = d(n) − y (n)

(1)

where d(n) is the desired signal, y (n) is the filter output and e (n) is error signal. The desired case in adaptive filter is to minimize the error by approximating d(n) signal as much as possible. This is implemented by finding the optimal coefficients. Here the only criterion that can be changed is w (n) coefficients. Therefore, these coefficients are called optimal filter coefficients and the coefficient determination problem is called optimal filter design problem [7,9]. 3. The application of acoustic echo cancellation In this study, in order to implement echo cancellation, LMS adaptation algorithm has been realized for adjusting FIR filter coefficients and thus echo is canceled in adaptive filter output. These kind of applications require high speed digital signal processors (DSP). For this reason, in this study TMS320C6713 digital signal processor kit has been used. The kit incorporates a sound blaster to process audio signals and an application development environment software, which enables the control of DSP hardware by developing C programming language based software. Acoustic noise cancellation application is illustrated in Fig. 3. Generally, the signals used in acoustic echo cancellation with adaptive filtering application are [7,9,11]: x(n) – noise reference signal (echo), d(n) – original signal + echo, y (n) – adaptive filtered noise reference signal, e (n) – error signal. Adaptive filter is used to estimate noise present in d(n) and noise is estimated according to e (n) error signal, which is obtained by subtracting y (n) from d(n).

136

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

Fig. 4. Flow chart of audio data transfer in DSP card.

3.1. Real time data transfer In practical implementation, TMS320C6713 DSP card has been used in real time data transfer. Flow chart of voice data obtained by programming DSP card is shown in Fig. 4. Audio data is transferred back and forth from the codec through a bidirectional serial port. The EDMA is configured to take every 16-bit signed audio sample arriving on McBSP1 and store it in a buffer until it can be processed. Once it has been processed, the data is sent back to codec through McBSP2 for output. While one EDMA channel is used to send data to codec, the other is used to receive data from the codec. When the first data arrives, PING is put into the buffer. When the PING buffer is filled, the new data is sent to PONG buffer again and DSP is free to process PING data. When PING buffer overflows, the configuration reverses. Data processing with PING-PONG data transfer continues forever as one buffer is always present. The PING-PONG technique employed in this study uses a total of four buffers to transmit and receive data [10]. In practical realization, all I/O controls are implemented from BIOS by configuring and programming DSP/BIOS of TMS320C6713 DSP card used in real time data transfer. Thus, high speed control of real time data transfer is achieved. The flow chart of DSP/BIOS for configuring and programming of TMS320C6713 DSP card is shown in Fig. 5. 3.2. Adaptive filtering algorithm In practically implemented adaptive filtering algorithm, an LMS adaptive filter structure has been realized. Filter has two inputs namely desired input d(n) = (speaker + echo) and reference input x(n) = echo source. In this algorithm echo is canceled by approximating filter output y (n) to desired input. Error signal is e (n) = d(n) − y (n). Adaptation algorithm minimizing error signal employs LMS method to adjust adaptive filter coefficient array h(n). In this study, adaptive filter was designed according to the Widrow–Hoff LMS algorithm [11] given by Eq. (2). H [ j ] = h[ j ] +





μ ∗ e (n) ∗ x[i + j − 1] .

(2)

Here h denotes updated filter weight coefficients, x denotes delayed values of reference input, error denotes obtained error value, μ denotes adaptation rate. Error determines the direction of change in updating h coefficients. In regard to stability and convergence in adaptive filtering algorithm, appropriate choice of μ value is a major issue. In Eq. (2), the only value programmer can modify is μ. In literature, adaptation rate parameter μ is chosen based on experiences to produce an approach in desired level and a universal approach is not present [12]. In this study, adaptive filter design has been conducted for μ values of 0.1 and 100. Besides, a new adaptive filter has been designed by developing an optimal μ estimation algorithm. By adaptively choosing μ values, the differences for small (0.1) or big (100) values have been observed according to echo cancellation results. Program flow chart of adaptive

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

137

Fig. 5. DSP/BIOS configuration and program flow chart.

filtering and flow chart of the algorithm adaptively changing adaptation rate respectively.

μ to make it optimal is shown in Figs. 6 and 7

3.3. Determination of optimal adaptation rate (μ) value It was discerned in this study that in adaptive filter design, the choice of optimum μ value requires changing it according to reference input power. When the power of echo signal intensity is maximum (i.e. speaker microphone is close to loudspeaker), filter output can be optimized by choosing a big μ value (by increasing the values of step size of adaptive filter coefficients). Therefore, optimization of filter output results a decrease in power of echo signal and updated μ value is steadily reduced. That is due to the fact that the decrease in power of echo signal, filter coefficients must be kept constant to preserve echoless condition. This can be provided by keeping μ value close to zero to keep filter coefficients unaltered. Fig. 7 shows the developed new algorithm for updating μ value to its optimum. By means of this algorithm, μ value can be updated within two pre-determined values. In the proposed algorithm shown in Fig. 7, gxn indicates the power of x(n) array holding the values of reference microphone and mgxn is the maximum of these power values in the array. In algorithm, because it is assumed that the power of reference microphone placed in front of the echo source is steadily decreased when the echo is canceled, μ value is allowed to decrease by a minimum value of 0.1. This value is assumed the lower limit of μ. In echoless condition, if a power increase occurs in reference microphone and echo is produced, the power of calculated x(n) array is copied to mgxn and μ value is assigned 100. The higher limit value of μ is 100. Therefore, μ value is updated within 0.1 and 100 values according to the reference input power. In proposed algorithm, the limit values of μ can be altered. As a result the change depending on the reference input power in a desired range can be provided by this algorithm. 4. One-way audio conference application with one talker 4.1. The case where the reference and speaker microphones are placed close to the loudspeaker: in the absence of speaking The system shown in Fig. 8 has been arranged to observe μ value for acoustic echo cancellation application. The system incorporates TMS 320C6713 DSP card, a Laptop computer, an amplifier, a loudspeaker and two microphones. As shown in Fig. 8, x(n) reference microphone and d(n) speaker microphone are placed close to the loudspeaker. Thus, as the sound collected by microphone is fed back to loudspeaker, an echo is produced as an increasing howling noise.

138

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

Fig. 6. Adaptive filtering algorithm.

4.1.1. Choosing x(n) = 0 and μ = 0 (reference microphone is off and adaptive filter is passive) In the first step, the adaptive filter is passive (μ = 0 in Eq. (3)) and reference microphone is off. In this situation, x(n) reference microphone has no output and the outputs of d(n) speaker microphone and adaptive filter {is(n)} are the same. Amplitude-versus-time and power spectrum density-versus-frequency graphics are shown in Fig. 9.

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

Fig. 7. Determination of optimal

139

μ value.

Fig. 8. The application in which reference and speaker microphones are placed close to the loudspeaker.

4.1.2. Choosing a small value for adaptation rate, μ = 0.1 In the second step, reference microphone is on, the adaptive filter is active, and adaptation rate is assigned a small value as μ = 0.1. From the obtained results, same outputs have been observed from the reference microphone and the speaker microphone. Amplitude-versus-time and power spectrum density-versus-frequency graphics of reference microphone and adaptive filter are shown in Fig. 10, a and b respectively. Here, while adaptive filter output is similar to microphone outputs,

140

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

Fig. 9. Obtained graphics for the speaker microphone when the adaptive filter is passive (μ = 0) and the reference microphone is off.

(a)

(b) Fig. 10. Obtained graphics for reference microphone and adaptive filter while adaptive filter is active (μ = 0.1), and reference microphone is on.

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

141

amplitude of filter output is smaller than that of the microphone as echo has been reduced. It can be observed that because adaptation rate is assigned a small value as 0.1, the echo in the form of a howling noise lasts more than 875 ms. 4.1.3. Choosing a big value for adaptation rate, μ = 100 In third step, reference microphone is on, adaptive filter is active and adaptation rate is now chosen a big value as 100. Amplitude versus time and power spectrum density versus frequency graphics of the outputs of reference microphone, speaker microphone and adaptive filter are shown in Fig. 11, a, b and c respectively. It can be seen that reference microphone is activated at about 180 ms and the howling noise was canceled at between 180 ms and 300 ms, in case of μ is chosen 100. Thus, it can be concluded that for bigger values of μ, system can adapt in shorter time. 4.1.4. Choosing an optimal value for adaptation rate, μ = between 0.01 and 100 In fourth step, reference microphone is on, adaptive filter is active and adaptation rate is assigned an optimal value between 0.01 and 100. Amplitude versus time and power spectrum density versus frequency graphics of the outputs of reference microphone, speaker microphone and adaptive filter are shown in Fig. 12, a, b and c respectively. It can be observed from the graphics that it takes about 230 ms (between 230 and 330 ms) to cancel the echo in the form of howling noise, after the reference microphone is activated. 4.2. The case where the reference microphone is placed close to the loudspeaker and speaker microphone is placed far from the loudspeaker: in the presence of speaking The system shown in Fig. 13 has been arranged to observe μ value for acoustic echo cancellation application. The system incorporates TMS 320C6713 DSP card, a Laptop computer, an amplifier, a loudspeaker and two microphones. Here, reference microphone x(n) is placed close to the loudspeaker and the Turkish word “YANKI” meaning echo is spoken by a far-end talker to speaker microphone d(n). 4.2.1. Choosing x(n) = 0 and μ = 0 (reference microphone is off and adaptive filter is passive) In the first part of the application, adaptive filter is passive (μ = 0 in Eq. (3)) and the reference microphone is off. In that case, the reference microphone x(n) has no output and the speaker microphone and adaptive filter {is(n)} outputs are the same. Fig. 14 shows amplitude versus time and power spectrum density versus frequency graphics of the speaker microphone. 4.2.2. Choosing a big value for adaptation rate, μ = 100 In the second part of the application, adaptation rate of adaptive filter for removing noise signal coming from loudspeaker to d(n) speaker microphone is chosen as 100 and input–output signals of adaptive filter is illustrated in Fig. 15. The amplitude versus time and power spectrum density versus frequency graphics for the outputs of reference microphone, speaker microphone and adaptive filter has been plotted in Fig. 15, a, b and c. 4.2.3. Choosing a small value for adaptation rate, μ = 0.1 In the third part of the application, adaptation rate of adaptive filter is chosen as 0.1 and input and the resulting output signal of adaptive filter is illustrated in Fig. 16. As shown in Fig. 16, comparing the output signal PSDs of adaptive filter, in case of choosing a big value for adaptation rate, adaptive filter degrades the audio signal. For the same audio signal, in case of assigning μ = 0.1, PSD amplitude of filter output is smaller than that of the one when μ is assigned 100. This is because filter output power decreases in the same rate with the cancellation of echo. This makes the choice of μ a major concern. Here, two important parameters namely adaptation speed and convergence speed must be defined. Adaptation speed is a measure of how quickly the optimal filter coefficients are reached. Convergence speed determines how quickly the error in the change of optimal filter coefficients depending on echo is minimized. In conducted experiments, an inverse proportion between μ value and convergence value and a direct proportion between μ value and adaptation speed has been observed. Therefore, it was concluded that μ value must be updated according to power spectrum density of reference input microphone, due to the fact that power spectrum density of reference microphone decreases in the same rate echo is canceled. To increase convergence speed with the decrease of reference microphone power spectrum density, μ value must be reduced. 4.2.4. Choosing an optimal value for adaptation rate, μ = 0.01–100 In above-mentioned applications implemented, to choose an optimal value for μ, it must be adjusted according to the reference input power. When the power of echo signal is maximum (i.e. the speaker microphone is close to the loudspeaker), choosing a big value for μ (by increasing the step size of adaptive filter coefficients), filter output is approximated to the optimal. Therefore, it results in a decrease in echo signal’s power and a continuous decrease in μ value to make the filter output optimal. That is because in case of a decrease in echo signal, filter coefficients must be kept constant to maintain echo-free condition. This can be accomplished by approximating μ value to zero to prevent a change in filter coefficients. Input–output signals obtained for the application using optimal algorithm to determine μ value of adaptive filter is shown in Fig. 17.

142

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

(a)

(b)

(c) Fig. 11. Obtained graphics for reference microphone, speaker microphone, and adaptive filter while adaptive filter is active (μ = 100) and reference microphone is on.

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

143

(a)

(b)

(c) Fig. 12. Obtained graphics for reference microphone, speaker microphone, and adaptive filter while reference microphone is on and an optimal value for adaptation rate is chosen (μ = a value between 0.01 and 100).

144

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

Fig. 13. Reference microphone is close to the loudspeaker and “YANKI” signal is present in speaker microphone.

Fig. 14. The waveforms when the word “YANKI” is spoken in case of

μ = 0, x(n) = 0 and d(n) microphone is on.

5. Conclusions In practical applications, since the positions of talker, microphone and loudspeaker are not stationary and amplitude of audio signal depends on the acoustic properties of the environment, denoting a constant value for μ in adaptive filter algorithm does not provide an effective solution. Because of that, in adaptive filter algorithms, μ value is required to be updated adaptively. In this study, an algorithm adaptively updating μ value according to the given problem has been developed and named as “optimal μ value determination algorithm”. Thus, obtaining an optimal μ value for any given problem has been provided. We used in this study a DSP card (TMS320C6713), a Laptop computer, an amplifier, a loudspeaker and two microphones in two applications. In the first application, two microphones were placed close to the loudspeaker, while in the other one microphone was placed close to loudspeaker and speech trial was implemented in the far-end microphone. Output of the adaptive filter was observed for μ values of 0, 0.1, 100 and optimum (a value between 0.01 and 100). The best results in the adaptive filter were obtained from optimum μ value. It has been shown that for the optimal μ value in the case that the speaker microphone is far from the loudspeaker, adaptive filter output power spectrum density is approximately equal to that of the one obtained for a small μ value. Therefore, in acoustic echo cancellation application, optimal μ value determination algorithm depends on echo power spectrum density. Choosing a constant μ value does not always yield an optimal result as echo power spectrum density depending on the distance between speaker microphone and loudspeaker can not be known a priori. By using the proposed algorithm, μ value is adaptively set according to echo power spectrum density depending on the distance between speaker microphone and loudspeaker and acoustic properties of the environment.

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

(a)

(b)

(c) Fig. 15. The waveforms when the word “YANKI” is spoken in case of

μ = 100, x(n) and d(n) microphones are on.

145

146

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

(a)

(b)

(c) Fig. 16. The waveforms when the word “YANKI” is spoken in case of

μ = 0.1, x(n) and d(n) microphones are on.

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

147

(a)

(b)

(c) Fig. 17. The waveforms obtained when the word “YANKI” is spoken in case of choosing an optimal microphones are on.

μ value between 0.01 and 100 and x(n) and d(n)

148

Y. Özbay, A.R. Kavsao˘glu / Digital Signal Processing 20 (2010) 133–148

Acknowledgments This work was supported by the Coordinatorship of Selcuk University’s Scientific Research Projects under Project No: 2004/080. References [1] S. Theodoridis, M.G. Bellanger, Adaptive filters and acoustic echo control, IEEE Signal Process. Mag. 16 (4) (1999) 12. [2] F.S. Hallack, M.R. Petraglia, Performance comparison of adaptive algorithms applied to acoustic echo cancelling, in: IEEE International Symposium on Industrial Electronics, vol. 2, ISIE’03, 9–11 June 2003, pp. 1147–1150. [3] E. Haensler, The hands-free telephone problem – An annotated bibliography, Signal Process. 27 (1992) 259–271. [4] C. Breining, P. Dreiscitel, E. Hansler, A. Mader, B. Nitsch, H. Puder, T. Schertler, G. Schmidt, J. Tilp, Acoustic echo control. An application of very-highorder adaptive, IEEE Signal Process. Mag. 16 (4) (2009) 42–69. [5] G. Enzner, P. Vary, A soft-partitioned frequency-domain adaptive filter for acoustic echo cancellation, in: IEEE International Conference on Acoustics, Speech, and Signal Processing, ICASSP’03, vol. 5, 2003, pp. 393–396. [6] K. Eneman, M. Moonen, Iterated partitioned block frequency-domain adaptive filtering for acoustic echo cancellation, IEEE Trans. Speech Audio Process. 11 (2) (2003) 143–158. [7] S. Haykın, Adaptive Filter Theory, third ed., Informations and System Sciences Series, Englewood Cliffs, Prentice Hall, NJ, 1996. [8] S.L. Gay, J. Benesty, Acoustic Signal Processing for Telecommunication, Kluwer Academic Publishers, 2000. [9] B. Widrow, S.D. Stearns, Adaptive Signal Processing, Prentice Hall, Englewood Cliffs, NJ, 1985. [10] A.R. Kavsao˘glu, Acoustic echo cancellation with adaptive filtering, M.Sc. thesis, Selcuk University, Graduate School of Natural and Applied Sciences, Konya, Turkey, 2005. [11] B. Widrow, et al., Adaptive noise cancelling: Principles and applications, Proc. IEEE 63 (12) (1975) 1692–1716. [12] N.V. Thakor, Y.S. Zhu, Applications of adaptive filtering to ECG analysis: Noise cancellation and arrhythmia detection, IEEE Trans. Biomed. Eng. 38 (8) (1991) 785–793.

Yüksel Özbay was born in Kastamonu in 1966. He received the B.Sc. degree from the Department of Electronic Engineering at Uludag University, Bursa, in 1988. He received M.Sc. and Ph.D. degrees in Electrical Electronics Engineering Department from Graduate School of Natural and Applied Sciences at Selçuk University, Konya, in 1993 and 1999, respectively. He is working as Assoc. Prof. in Department of Electrical–Electronics Engineering at Selçuk University. His current research interests are biomedical systems and biomedical signals, signals and systems, digital signal processing, digital filter design, electrocardiography (ECG), investigation of ECG malformation and arrhythmias, artificial neural networks, pattern recognition and classification, Wingate test for measuring on anaerobic muscle power. A. Resit ¸ Kavsao˘glu was born in Safranbolu-Karabük in 1979. He graduated from Electric and Electronics Engineering Department at Selçuk University in 2001. He received the M.Sc. degree from Graduate School of Natural and Applied Sciences at Selçuk University in 2005. He worked as lecturer at Selçuk University, Ermenek Vocational School during 2001–2007. He started working as a Lecturer at Sinop University, Ayancik Vocational School in 2008. His current research interests are adaptive filtering, digital filter design, digital signal processing and microcontrollers programming.