Acoustic Echo Cancellation (AEC)

Similar documents
Performance Analysis of Acoustic Echo Cancellation Techniques

A Comparison of the Convolutive Model and Real Recording for Using in Acoustic Echo Cancellation

Adaptive Line Enhancer (ALE)

XAP GWARE 119 M A T R I X. Acoustic Echo Canceller

University Ibn Tofail, B.P. 133, Kenitra, Morocco. University Moulay Ismail, B.P Meknes, Morocco

Acoustic Echo Cancellation: Dual Architecture Implementation

Figure 1: Block diagram of Digital signal processing

Advanced Functions of Java-DSP for use in Electrical and Computer Engineering Senior Level Courses

ROBUST echo cancellation requires a method for adjusting

ZLS38500 Firmware for Handsfree Car Kits

A Computational Efficient Method for Assuring Full Duplex Feeling in Hands-free Communication

DESIGN AND IMPLEMENTATION OF ADAPTIVE ECHO CANCELLER BASED LMS & NLMS ALGORITHM

Computer exercise 3: Normalized Least Mean Square

HOW TO CHOOSE AN ACOUSTIC ECHO CANCELLER

Audio Quality Terminology

THE problem of acoustic echo cancellation (AEC) was

SELECTIVE TIME-REVERSAL BLOCK SOLUTION TO THE STEREOPHONIC ACOUSTIC ECHO CANCELLATION PROBLEM

Design and Evaluation of Modified Adaptive Block Normalized Algorithm for Acoustic Echo Cancellation in Hands-Free Communications

Brief Introduction to Signals & Systems. Phani Chavali

A FEEDFORWARD ACTIVE NOISE CONTROL SYSTEM FOR DUCTS USING A PASSIVE SILENCER TO REDUCE ACOUSTIC FEEDBACK

Design and Implementation on a Sub-band based Acoustic Echo Cancellation Approach

Dual Transfer Function GSC and Application to Joint Noise Reduction and Acoustic Echo Cancellation

AUTOMATIC EQUALIZATION FOR IN-CAR COMMUNICATION SYSTEMS

Filters. Phani Chavali

Real-time Adaptive Concepts in Acoustics

Faculty of science, Ibn Tofail Kenitra University, Morocco Faculty of Science, Moulay Ismail University, Meknès, Morocco

MAXXSPEECH PERFORMANCE ENHANCEMENT FOR AUTOMATIC SPEECH RECOGNITION

Massachusetts Institute of Technology Department of Electrical Engineering & Computer Science 6.341: Discrete-Time Signal Processing Fall 2005

Performance Analysis of Feedforward Adaptive Noise Canceller Using Nfxlms Algorithm

Topic. Filters, Reverberation & Convolution THEY ARE ALL ONE

Acoustic echo cancellers for mobile devices

Revision 1.1 May Front End DSP Audio Technologies for In-Car Applications ROADMAP 2016

Case study for voice amplification in a highly absorptive conference room using negative absorption tuning by the YAMAHA Active Field Control system

Performance Enhancement of Adaptive Acoustic Echo Canceller Using a New Time Varying Step Size LMS Algorithm (NVSSLMS)

Laboration Exercises in Digital Signal Processing

Speech Enhancement Based On Noise Reduction

Factors impacting the speech quality in VoIP scenarios and how to assess them

MULTILAYER ADAPTATION BASED COMPLEX ECHO CANCELLATION AND VOICE ENHANCEMENT. Jun Yang (Senior Member, IEEE)

A Low-Power Broad-Bandwidth Noise Cancellation VLSI Circuit Design for In-Ear Headphones

Gerhard Schmidt / Tim Haulick Recent Tends for Improving Automotive Speech Enhancement Systems. Geneva, 5-7 March 2008

Implementation of Optimized Proportionate Adaptive Algorithm for Acoustic Echo Cancellation in Speech Signals

COMPARATIVE STUDY OF VARIOUS FIXED AND VARIABLE ADAPTIVE FILTERS IN WIRELESS COMMUNICATION FOR ECHO CANCELLATION USING SIMULINK MODEL

REAL-TIME PROCESSING ALGORITHMS

Speech and Audio Processing Recognition and Audio Effects Part 3: Beamforming

DESIGN OF VOICE ALARM SYSTEMS FOR TRAFFIC TUNNELS: OPTIMISATION OF SPEECH INTELLIGIBILITY

Adaptive Filters Wiener Filter

EEO 401 Digital Signal Processing Prof. Mark Fowler

The Hybrid Simplified Kalman Filter for Adaptive Feedback Cancellation

COM 12 C 288 E October 2011 English only Original: English

Ioana Homănă, Eng. PhD THESIS ACOUSTIC ECHO CANCELLATION USING ADAPTIVE FILTERS

Acoustic Echo Reduction Using Adaptive Filter: A Literature Review

AIC3254 Acoustic Echo Cancellation (AEC)

EFFECTS OF PHYSICAL CONFIGURATIONS ON ANC HEADPHONE PERFORMANCE

Terminology (1) Chapter 3. Terminology (3) Terminology (2) Transmitter Receiver Medium. Data Transmission. Direct link. Point-to-point.

Terminology (1) Chapter 3. Terminology (3) Terminology (2) Transmitter Receiver Medium. Data Transmission. Simplex. Direct link.

Deep Learning for Acoustic Echo Cancellation in Noisy and Double-Talk Scenarios

Data and Computer Communications Chapter 3 Data Transmission

GSM Interference Cancellation For Forensic Audio

INTERNATIONAL TELECOMMUNICATION UNION

Acoustic Echo Cancellation using LMS Algorithm

(i) Understanding the basic concepts of signal modeling, correlation, maximum likelihood estimation, least squares and iterative numerical methods

Speech quality for mobile phones: What is achievable with today s technology?

Design and Implementation of Adaptive Echo Canceller Based LMS & NLMS Algorithm

Mel Spectrum Analysis of Speech Recognition using Single Microphone

LABORATORY - FREQUENCY ANALYSIS OF DISCRETE-TIME SIGNALS

Laboratory Assignment 2 Signal Sampling, Manipulation, and Playback

Performance Enhancement on Voice using VAD Algorithm and Cepstral Analysis

Applying the Filtered Back-Projection Method to Extract Signal at Specific Position

CM15P CM20P. Miniature Cardioid Gooseneck

Audio Engineering Society. Convention Paper. Presented at the 115th Convention 2003 October New York, New York

NOISE ESTIMATION IN A SINGLE CHANNEL

Reducing comb filtering on different musical instruments using time delay estimation

Convention e-brief 310

STEREO ECHO CANCELLATION EMPLOYING SIGNAL DECORRELATION WITH EMPHASIS ON AFFINE PROJECTION ALGORITHM

Sound Reinforcement Package SRP

A Robust Acoustic Echo Canceller for Noisy Environment 1

PROBLEM SET 6. Note: This version is preliminary in that it does not yet have instructions for uploading the MATLAB problems.

Window Method. designates the window function. Commonly used window functions in FIR filters. are: 1. Rectangular Window:

STUDIES OF EPIDAURUS WITH A HYBRID ROOM ACOUSTICS MODELLING METHOD

x ( Primary Path d( P (z) - e ( y ( Adaptive Filter W (z) y( S (z) Figure 1 Spectrum of motorcycle noise at 40 mph. modeling of the secondary path to

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 50, NO. 12, DECEMBER

APPLICATION NOTES CONNECTING A COLLABORATE ROOM TO A CONVERGE PRO. Purpose: Connecting the COLLABORATE Room to the CONVERGE Pro:

Chapter 3. Data Transmission

Acoustic Echo Removal Developer Guide

BS 17 SINGLE CHANNEL BELTPACK. User Manual. January 2017 V1.0

ACTIVE NOISE CONTROL FOR SMALL-DIAMETER EXHAUSTION SYSTEM

Digital Signal Processing ETI

Data and Computer Communications. Chapter 3 Data Transmission

Data Communications & Computer Networks

SPEECH communication among passengers in large motor

Digital Signal Processing ETI

HISTOGRAM BASED APPROACH FOR NON- INTRUSIVE SPEECH QUALITY MEASUREMENT IN NETWORKS

Improving Meetings with Microphone Array Algorithms. Ivan Tashev Microsoft Research

TAKING ON MIX-MINUS DESIGN:

Pre- and Post Ringing Of Impulse Response

Interfacing to the SoundStation VTX 1000 TM with Vortex Devices

Audio Restoration Based on DSP Tools

Data Communication. Chapter 3 Data Transmission

Acoustic Echo Cancellation for Noisy Signals

RIR Estimation for Synthetic Data Acquisition

Transcription:

Acoustic Echo Cancellation (AEC) This demonstration illustrates the application of adaptive filters to acoustic echo cancellation (AEC). Author(s): Scott C. Douglas Contents ˆ Introduction ˆ The Room Impulse Response ˆ The Near-End Speech Signal ˆ The Far-End Speech Signal ˆ The Microphone Signal ˆ The Frequency-Domain Adaptive Filter (FDAF) ˆ Echo Return Loss Enhancement (ERLE) ˆ Effects of Different Step Size Values ˆ Echo Return Loss Enhancement Comparison Introduction Acoustic echo cancellation is important for audio teleconferencing when simultaneous communication (or full-duplex transmission) of speech is necessary. In acoustic echo cancellation, a measured microphone signal d(n) contains two signals: - the near-end speech signal v(n) - the far-end echoed speech signal dhat(n) The goal is to remove the far-end echoed speech signal from the microphone signal so that only the near-end speech signal is transmitted. This demo has some sound clips, so you might want to adjust your computer s volume now. The Room Impulse Response First, we describe the acoustics of the loudspeaker-to-microphone signal path where the speakerphone is located. We can use a long finite impulse response filter to describe these characteristics. The following sequence of commands generates a random impulse response that is not unlike what a conference room would exhibit assuming a system sampling rate of fs = 8000 Hz. M = 4001; fs = 8000; [B,A] = cheby2(4,20,[0.1 0.7]); Hd = dfilt.df2t([zeros(1,6) B],A); hfvt = fvtool(hd); % Analyze the filter set(hfvt, 'Color', [1 1 1]) 1

H = filter(hd,log(0.99*rand(1,m)+0.01).*... sign(randn(1,m)).*exp(-0.002*(1:m))); H = H/norm(H)*4; % Room Impulse Response plot(0:1/fs:0.5,h); title('room Impulse Response'); 2

The Near-End Speech Signal The teleconferencing system s user is typically located near the system s microphone. Here is what a male speech sounds like at the microphone. load nearspeech n = 1:length(v); t = n/fs; plot(t,v); title('near-end Speech Signal'); p8 = audioplayer(v,fs); playblocking(p8); The Far-End Speech Signal Now we describe the path of the far-end speech signal. A male voice travels out the loudspeaker, bounces around in the room, and then is picked up by the system s microphone. Let s listen to what his speech sounds like if it is picked up at the microphone without the near-end speech present. load farspeech x = x(1:length(x)); dhat = filter(h,1,x); 3

plot(t,dhat); title('far-end Echoed Speech Signal'); p8 = audioplayer(dhat,fs); playblocking(p8); The Microphone Signal The signal at the microphone contains both the near-end speech and the far-end speech that has been echoed throughout the room. The goal of the acoustic echo canceler is to cancel out the far-end speech, such that only the near-end speech is transmitted back to the far-end listener. d = dhat + v+0.001*randn(length(v),1); plot(t,d); title('microphone Signal'); p8 = audioplayer(d,fs); playblocking(p8); 4

The Frequency-Domain Adaptive Filter (FDAF) The algorithm that we will use in this demonstration is the Frequency-Domain Adaptive Filter (FDAF). This algorithm is very useful when the impulse response of the system to be identified is long. The FDAF uses a fast convolution technique to compute the output signal and filter updates. This computation executes quickly in MATLAB. It also has improved convergence performance through frequency-bin step size normalization. We ll pick some initial parameters for the filter and see how well the far-end speech is cancelled in the error signal. mu = 0.025; W0 = zeros(1,2048); del = 0.01; lam = 0.98; x = x(1:length(w0)*floor(length(x)/length(w0))); d = d(1:length(w0)*floor(length(d)/length(w0))); % Construct the Frequency-Domain Adaptive Filter hfdaf = adaptfilt.fdaf(2048,mu,1,del,lam); [y,e] = filter(hfdaf,x,d); n = 1:length(e); t = n/fs; pos = get(gcf,'position'); set(gcf,'position',[pos(1), pos(2)-100,pos(3),(pos(4)+85)]) subplot(3,1,1); 5

plot(t,v(n),'g'); title('near-end Speech Signal'); subplot(3,1,2); plot(t,d(n),'b'); title('microphone Signal'); subplot(3,1,3); plot(t,e(n),'r'); title('output of Acoustic Echo Canceller'); p8 = audioplayer(e/max(abs(e)),fs); playblocking(p8); Echo Return Loss Enhancement (ERLE) Since we have access to both the near-end and far-end speech signals, we can compute the echo return loss enhancement (ERLE), which is a smoothed measure of the amount (in db) that the echo has been attenuated. From the plot, 6

we see that we have achieved about a 30 db ERLE at the end of the convergence period. Hd2 = dfilt.dffir(ones(1,1000)); setfilter(hfvt,hd2); erle = filter(hd2,(e-v(1:length(e))).^2)./... (filter(hd2,dhat(1:length(e)).^2)); erledb = -10*log10(erle); plot(t,erledb); axis([0 33.5 0 40]); ylabel('erle [db]'); title('echo Return Loss Enhancement'); 7

Effects of Different Step Size Values To get faster convergence, we can try using a larger step size value. However, this increase causes another effect, that is, the adaptive filter is mis-adjusted while the near-end speaker is talking. Listen to what happens when we choose a step size that is 60\% larger than before newmu = 0.04; set(hfdaf,'stepsize',newmu); [y,e2] = filter(hfdaf,x,d); pos = get(gcf,'position'); set(gcf,'position',[pos(1), pos(2)-100,pos(3),(pos(4)+85)]) subplot(3,1,1); plot(t,v(n),'g'); title('near-end Speech Signal'); subplot(3,1,2); plot(t,e(n),'r'); title('output of Acoustic Echo Canceller, \mu = 0.025'); subplot(3,1,3); plot(t,e2(n),'r'); 8

title('output of Acoustic Echo Canceller, \mu = 0.04'); p8 = audioplayer(e2/max(abs(e2)),fs); playblocking(p8); Echo Return Loss Enhancement Comparison With a larger step size, the ERLE performance is not as good due to the misadjustment introduced by the near-end speech. To deal with this performance difficulty, acoustic echo cancellers include a detection scheme to tell when nearend speech is present and lower the step size value over these periods. Without such detection schemes, the performance of the system with the larger step size is not as good as the former, as can be seen from the ERLE plots. close; erle2 = filter(hd2,(e2-v(1:length(e2))).^2)./... (filter(hd2,dhat(1:length(e2)).^2)); erle2db = -10*log10(erle2); 9

plot(t,[erledb erle2db]); axis([0 33.5 0 40]); ylabel('erle [db]'); title('echo Return Loss Enhancements'); legend('fdaf, \mu = 0.025','FDAF, \mu = 0.04'); Copyright 1999-2005 The MathWorks, Inc. 10