University of Engineering & Technology, Taxila Faculty of Telecommunication & Information Engineering B.Sc. Computer Engineering Digital Signal Processing Project Report Title: Echo Removal from an audio signal Presented By: Hassan Raza (20-CP-14) Zafar Iqbal (20-CP-39) Muhammad Asim (20-CP-94) Introduction: Audio processing is the branch of the signal processing. Audio signal is basically a sound wave. Electronically it is represented in digital or analog form. During the transfer of the signal from transmitter to receiver it was observe that it is affected by various noises. Echo is one of the major factors that affect the output signal. Echo is the reflection of the sound, that is arriving at the listener end. Echo results in the degrading the quality of the output signal that is received at the receiver. Real-time communication is an essential aspect of modern life. With faster internet connections and superior technology, communication has never before reached today’s high standards. Unfortunately, remote communication technologies can’t always solve the problem of echo that might occur in the process. Echoes impair not only call quality but also can lead to an increased amount of bandwidth used. This is because more data is transmitted from the additional sound information coming from the echo. Why Eliminating Echoes is So Critical: Echoes can become a significant problem for users. While some may decide to muddle through the problem. During the video conferencing call, having an echo canceller is needed on both sides of the call to avoid echo. When a person speaks into the microphone, the speech is transmitted through some channel which causes some delay to the signal. The transmitted signal is then delivered to the listener’s loudspeaker and picked up by their microphone. The delayed signal is then transferred back to the original speaker’s room and in that case, the person hears his/her voice as echo which is extremely disruptive • Stunted and disrupted flow throughout meetings • Lack of clarity due to regular echoes • Any lag in the connection can worsen the issue • Loss of professional reputation In this project approach of echo cancellation is proposed that will remove the echo from the signal and will improve the quality of the signal. On receiving the signal at the receiver end an echo cancellation technique is applied on it. The resultant signal obtained is echo free. History of Echo Cancellation The late 1950s marked the birth of echo control in the telecommunications industry with the development of the first echo-suppression devices. These systems, first employed to manage echo generated primarily in satellite circuits, were essentially voice-activated switches that transmitted a voice path and then turned off to block any echo signal. Although echo suppressers reduced echo caused by transmission problems in the network, they also resulted in choppy first syllables and artificial volume adjustment. In addition, they eliminated double-talk capabilities, greatly reducing the ability to achieve natural conversations. Echo-cancellation theory was developed in the early 1960s by AT&T Bell Labs, followed by the introduction of the first echo-cancellation system in the late 1960s by COMSAT Tele system (previously a division of COMSAT Laboratories). COMSAT designed the first analog echo canceller systems to demonstrate the feasibility and performance of satellite communications networks. Based on analog processes, these early echo-cancellation systems were implemented across satellite communications networks to demonstrate the network's performance for long-distance, cross-continental telephony. These systems were not commercially viable, however, because of their size and manufacturing costs. In the late 1970s, COMSAT Tele system developed and sold the first commercial analog echo cancellers, which were mainly digital devices with an analog interface to the network. The semiconductor revolution of the early 1980s marked the switch from analog to digital telecommunications networks. More sophisticated digital interface, multichannel echo-canceller systems were also developed to address new echo problems associated with long-distance digital telephony systems. Based on application-specific integrated circuit (ASIC) technology, these new echo cancellers utilized high-speed digital signal processing techniques to model and subtract the echo from the echo return path. The result was a new digital echo-cancellation technique that outperformed existing suppression-based techniques, creating improved network performance. The 1990s have witnessed explosive growth in the wireless telecommunications industry, resulting from deregulation that has brought to market new analog and digital wireless handsets, numerous network carriers, and new digital network infrastructures such as TDMA, CDMA, and GSM. According to the Cellular Telecommunications Industry Association (CTIA). With wireless telephony being widely implemented and competition increasing as new wireless carriers enter the market, superior voice transmission quality and customer service have now become key determining factors for subscribers evaluating a carrier's network. Understanding and overcoming the inherent echo problems associated with digital cellular networks will enable network operators and telcos to offer subscribers the network performance and voice quality they are demanding today. Technique to remove Echo: We used Conventional Wiener filter to remove echo from audio signal. A Wiener filter is a type of filter used in signal processing to reduce the amount of noise present in a signal. It is a type of linear filter that uses a mathematical algorithm to estimate the desired signal based on the noisy input signal and a statistical model of the noise present in the system. The Wiener filter is widely used in image processing, speech processing, and other applications where it is important to remove noise from signals while preserving the underlying signal. Working principle of Wiener filter: The working principle of a Wiener filter is based on the statistical information of both the signal and the noise. It uses a linear filter to estimate the desired signal, or the signal that one wants to obtain, based on the input signal and the statistical information of the noise. The filter operates by minimizing the mean squared error between the estimated signal and the original signal, subject to a constraint on the energy of the filter coefficients. This minimization is achieved through the use of a cost function, which measures the difference between the estimated signal and the original signal, and the optimization of the filter coefficients to minimize this cost. In essence, the Wiener filter uses the statistical information about the noise in the system to estimate the underlying signal, and then subtracts the estimated noise from the input signal to produce the filtered signal. The result is a signal with reduced noise, which is closer to the original signal. How wiener filter works to remove echo from audio signal: The Wiener filter is a signal processing technique that can be used to remove echoes from audio signals. It is based on a statistical model of the signal and the echo process. Here's how the Wiener filter works to remove echoes from audio signals in detail: Modeling the echo process: To remove echoes from audio signals, we need to first model the echo process. The echo process can be modeled as a linear system where the input is the original clean signal and the output is the noisy signal with echoes. The relationship between the input and output signals can be represented by a system impulse response function, which describes the impulse response of the echo process. Cross-correlation: The cross-correlation between the noisy signal and the known impulse response function can be used to estimate the clean signal. The cross-correlation between two signals gives us information about the similarity between the two signals in different time lags. Power spectral density: The power spectral density of the noise in the audio signal is used to compute the Wiener filter coefficients. The power spectral density represents the power content of the signal as a function of frequency. Wiener filter coefficients: The Wiener filter coefficients are calculated using the cross-correlation between the noisy signal and the impulse response function, and the power spectral density of the noise. The filter coefficients are used to weight the different contributions of the noisy signal and the impulse response function to the estimate of the clean signal. Denoising: Once the Wiener filter coefficients have been calculated, they can be used to filter the noisy signal to produce a denoised output. The Wiener filter subtracts the estimated echo from the noisy signal to produce a clean output signal with reduced echoes. Code implementation Steps: Our project is to remove echo from audio signal but it isn’t necessary that every audio signal have echo effect. There fore first we add echo to audio signal and then remove that echo from echoed audio signal to get original signal back. There fore our code consist of mainly three parts, Part (i) : Recording audio signal on run time then play our recorded signal and plot it. Part (ii) : Add echo to recording audio signal , play it and then plot it. Part (iii) : Remove echo from echoed recorded audio signal then play it and plot its graph. Case study: Original Audio Signal: Audio Signal with echo produced in it: Audio Signal with remove echo produced from it: Future Work : There are several techniques that can be used to remove echoes from audio signals. 1. Least Mean Squares (LMS) filter: This is a type of adaptive filter that uses a gradient descent algorithm to minimize the mean-square error between the noisy signal and the estimated clean signal. 2. Kalman filter: This is a statistical filter that uses a state-space model of the signal and the echo process to estimate the clean signal. 3. Non-Linear Wiener filter: This is an extension of the conventional Wiener filter that uses a non-linear model of the echo process to remove echoes from audio signals. 4. Spectral Subtraction: This is a technique that subtracts an estimate of the noise spectral density from the noisy signal's power spectral density to obtain an estimate of the clean signal's power spectral density. 5. Acoustic Echo Cancellation (AEC): This is a more advanced technique that uses a reference signal from a microphone to estimate the impulse response of the echo path and remove echoes from audio signals. These are some of the most commonly used techniques for removing echoes from audio signals. The choice of technique will depend on the specific requirements of the application and the characteristics of the audio signal. Reference: [1] Bellanger, Maurice G., 2001. Adaptive Digital Filters, 2nd edition. Marcel Dekker Inc., New York. [2] Cowan, C.F.N., Grant, P.M. 1985, Adaptive Filters. Prentice-Hall, Inc. New Jersey. Diniz, Paulo S. R. 1997,Adaptive Filtering, Algorithms and Practical Implementation. Kluwer Academic Publishers, Boston. [3] Farhang-Boroujeny, B. 1999, Adaptive Filters, Theory and Applications. John Wiley and Sons, New York. [4] Gottfried, Byron. 1996, Programming with C. Schaum.s Outlines, 2nd edition. McGrawHill Book Co., New York. [5] Hancock, Les. Krieger, Morris. Zamia, Saba.1990, The C primer, 3rd edition. McGraw- Hill, Inc. New York.