Beruflich Dokumente
Kultur Dokumente
Franklin Falcon Stephen Hagedorn Chao Huang Bryan Luu Daniel Marti Jeffrey Swofford
AEC Implementation
Error Signal Adaptive Filter Double Talk Detection
AEC Hardware
Host Interface TI DSK Board
AEC Theory
What is AEC?
Concerns: 1. Double Talk 2. ECHO Room designations are arbitrary
Double Talk?
Near End No Talk Small Talk Large Talk Any Talk Far End Any Talk Large Talk Small Talk No Talk Double Talk? O.K. Double Talk Double Talk O.K.
AEC Implementation
x(n): far-end signal y(n): echo signal u(n): background noise v(n): near-end signal
d(n): microphone signal yhat(n): filter input e(n): error signal w(n): adaptive filter
x(n): far-end signal y(n): echo signal u(n): background noise v(n): near-end signal
d(n): microphone signal yhat(n): filter input e(n): error signal w(n): adaptive filter
Far-End Signal
Receiver
Receiver x(n): far-end signal receiver mimicked by electronic signal exists within the electronic system
x(n): far-end signal converted into sound by a speaker configuration propagates within a given room y(n) = conv(x(n),h(n))
Receiver Receiver
d(n): microphone signal captures the sound within the room input back into the electronic system composed of echo, near-end signal, and extraneous noise
Adaptive Filter
Concerns:
Algorithm of the Adaptive Filter Convergence of the Adaptive Filter Length of the Adaptive Filter Double-talk Detection
w(n): adaptive filter : convergence factor e(n): error of the system = d(n) yhat(n) Yhat(n) = w(n)*x(n) Speed: Convergence independent of input signal power Efficiency: Requires only two mult and two add operations
x(n): far-end signal y(n): echo signal u(n): background noise v(n): near-end signal
d(n): microphone signal yhat(n): filter input e(n): error signal w(n): adaptive filter
Double-talk Detection
When v(n) is active, w(n) may diverge DTD: Detect double-talk quickly Distinguish double-talk from echo path variations
Double-talk Detection
Multiple Algorithms
Geigel, Cross-correlation Method (CCM), Normalized CCM, Coherence Method, Two Path Model
Actions:
Determine if there is double-talk Dont update w(n) if there is double-talk Change beta to be smaller
Geigel Algorithm
Comparison between x(n) and d(n) Double talk if
AEC Simulation
(performed in MATLAB)
MATLAB Simulation
function aec(M,N) %%%%%%%%%%%%%%%%%%%%%%%% % function aec(M,N) takes in two integers M and % N. M represents the length of the adaptive % filter 'w(n)' while N represents the length of % the far end signal 'x(n)' %%%%%%%%%%%%%%%%%%%%%%%%
MATLAB Simulation
Simulation Assumptions:
Length of Filter = variable Length of FE Signal = variable FE Signal is generated by a .wav file Room echo response is generated Geigel Algorithm used for DTD Utilizes NLMS Adaptive Filter
MATLAB Simulation
Case 1 : No Near End Input Signal
MATLAB Simulation
Case 1 : No Near End Input Signal
MATLAB Simulation
Case 1 : No Near End Input Signal
MATLAB Simulation
Case 1 : No Near End Input Signal
AEC Hardware
Host Interface and TMS320C6713 DSK DSP board
Host Interface
Host Interface
Host Interface
OPERATIONS:
1. Read F.E. Signal from disk 2. Read parameter values from sliders 3. Establish RTDX connection with TI DSK
1. Transfer F.E. Signal, slider parameters 2. Receive filtered error signal
Host Interface
1. Read F.E. Signal From Disk
Select Browse to select a wave file for a far end signal The number of channels, sampling rate, and bits per second of the file are subsequently displayed in the Wave Signal Parameters tab
Host Interface
2. Read Parameter Values From Sliders
Moving the sliders in the AEC Parameters section changes the properties of the NLMS algorithm. As the slider is moved the new parameter value is sent to the TMS320C6713 DSK DSP board.
Host Interface
4. Display Error Signal
As the error signal is transferred to the host computer, the left panel displays the graphical information. The zoom factor parameter in the wave signal parameters section allows for further analysis of the error signal.
Board Connections