Acoustic Echo Cancellation (Acoustic Echo Cancellation)

  Echo is the sound signal after a series of reflection, I hear his speech sounds, this is the echo. Some echo is necessary, such as theater and music echo room echo delay time is short; and most echo will have a negative impact, such as duplicate hear your own voice when speaking of wired or wireless communication (recall those years we open when black playing the game, which if a man opened the loud speaker, his voice would resound resound to go). Thus eliminating the negative impact echo of the communication system is essential.

  For echo cancellation (Acoustic Echo Cancellation, AEC) problem, is now the most popular method is based on adaptive filtering algorithms eliminate echoes. Starting from two classifications of the echo signal as well as the basic principles of AEC, we introduce some classical AEC algorithm and explain its performance.

Echo Category

  In the communication system, the echo can be divided into two categories: circuit echo and acoustic echo

Circuit echo

  Echo circuits typically produce a wired call, the root cause is the echo circuit wire conversion mixer - not perfectly match four-wire impedance . Conversion to the central office using a four-wire connection between the signal transmission mixer, the above two lines for transmitting signals to the UE, the following two lines for receiving a client signal. Communications signal in order to reduce long-distance transmission costs, the mixer is connected to the end user line is reduced to two-wire connection, respectively, for receiving and transmitting the client signal. Intermediate conversion function of the hybrid circuit is a four-wire connection is converted to two-wire connection, since the reasons for different types of load coil or wire is not used in the conversion process, will inevitably produce an impedance mismatch, resulting in the reception mixer lost speech signal on the line to the transmission line, the echo signal is generated, so that the user, while the other end of the reception signal to hear his voice.

Echo generating circuit principle

  In today's digital communication network, digital-conversion mixer and blend, but either analog or digital electronic circuits electronic circuit, two - four-wire conversion will cause impedance mismatch, resulting in a circuit which generates echo, the impact of modern communication quality. Since the circuit stability and linearity of the echo, with a simple linear superposition of an echo cancellation circuit can be achieved . The first echo signal generated in the inversion value, linearly superimposed on the echo signal, the echo cancellation signal is generated, to achieve the initial echo cancellation circuit. However, due to technical defects, linear superposition is not completely erase the echo signal, it is necessary to add a non-linear processor, which is a substantial barrier switch signal, the residual echo signal after nonlinear processing circuit can be realized echo cancellation, silence or very low noise signal obtained. Since the circuit is linear and stable echo signal, it is relatively easy to eliminate, the main study is how to eliminate the nonlinear acoustic echo.

The basic principle of the circuit echo cancellation

Acoustic Echo

  Easily generate an acoustic echo in a microphone and speaker duplex communication system affect the interaction. As shown below

Far-end talker A -> Microphone A -> Phone A -> Phone B ----> Speakers B ---> Microphone B -> Phone B -> Phone A -> Speaker A-- -> microphone A ---> ......... so an infinite loop,

Detailed explanation: Discourse A far-end talker's microphone is collected and passed to the communication device, after transmission for wireless or wired communication device proximal end, and the proximal end B of play through the speaker, the sound would be the proximal end B the microphone picks up the communication device to which an acoustic echo is formed, via the transmission returned to the distal end of the communication device a and played through the speakers of the distal end of a, such that the distal end talker to hear his own echo.

Acoustic echo generation principle

Acoustic echo signal based on the difference of the transmission routes respectively, can be directly echo signal and the indirect echo signals.

Direct echo : near-end speaker B after play out the speech signal, end microphone B obtained directly after its acquisition echo.

  Direct echo impression from the environment, and the speaker-to-microphone distance and position of a great relationship, so the echo is a direct linear signal .

Indirect echo : near-end speaker B after play out the speech signal, the speech signal after the complex reflection wall which is picked up by the near-end microphone B.

  The size of the indirect echo and room environment, as well as items placed in the wall to attract coefficient, among other factors, and therefore indirectly echo is a non-linear signal .

Echo cancellation technology is mainly used in hands-free telephone, teleconferencing systems situations and the like.

The basic principle of the AEC

  Today AEC solve the problem most commonly used method is

Using different adaptive filtering algorithm for adjusting the filter weights vector estimation an approximation of the echo path to approximate the real echo path to obtain an estimated echo signal , and removing this clean speech signal and echo signal mixed in to achieve the echo elimination.

 The basic principle of the AEC

  $ X (n) $ distal end input signal, after the echo path is unknown $ w (n) $ get $ y (n) = x (n) * w (n) $, observation noise plus $ v (n ) is the desired signal $ $ d (n) = y (n) + v (n) $. x (n) by an adaptive filter $ \ hat {w} (n) $ obtain an estimated echo signal and the desired signal $ d (n) $ error signal obtained by subtracting $ e (n) $, $ i.e. E (n) = d (n) - \ hat {w} ^ T (n) x (n) $, the smaller the value of the error signal, the closer the actual adaptive filtering algorithm of the echo path estimated echo path.

  Filter using a specific adaptation algorithm constantly adjusting the weight vector, so that the estimated echo path \ hat {w} (n) gradually approaches the true echo path $ w (n) $. Obviously, in the AEC problem, select the adaptive filter plays a crucial role in the echo cancellation performance is good or bad.

The basic principle of the adaptive filter

  An adaptive filter for processing an input signal and stop learning, until it reaches the desired value of the device. In the adaptive filter input signal is non-stationary conditions, may be continuously adjusted according to the environment filter weight vectors, so that the algorithm reaches a certain convergence condition, thereby realizing the adaptive filtering process.

  An adaptive filter the input signal by an analog filter and can be divided into discrete filter, as used herein is the discrete filter digital filter ( digital filter according to the structure can be divided into input not only about the past and current input It is also related with past output infinite impulse response filter (the IIR) , and outputting a finite number of past and current input related to a finite impulse response filter (the FIR)) in order to make the adaptive filter having a stronger stability, and has sufficient to adjust the filter coefficients may be used to achieve a particular convergence criteria, generally selected transversal FIR filter for echo cancellation to

 A block diagram of transversal FIR filter

  $ X (n) $ is the far-end input signal, $ \ hat {w} _i (n) $ is the filter coefficients, where $ i = 0,1, ..., L-1 $, $ L $ is the filter the length of the filter, $ n $ is the number of sampling points, $ \ hat {w} (n) $ is the filter weight vectors and $ \ hat {w} (n) = [\ hat {w} _0 (n), \ hat {w} _1 (n), ..., \ hat {w} _ {L-1} (n)] ^ T $, the error signal $ e (n) = d (n) - \ hat { w} ^ T (n) x (n) $ convergence criteria values ​​and different algorithms adjustment filter weight vectors.

  However, select adaptive filter algorithm determines the echo cancellation is performing well fundamentally, the next will introduce several classical adaptive filtering algorithm to solve the problem of AEC.

Echo cancellation algorithm commonly used

LSM algorithm

  By the above basic principle of the AEC we know the error signal $ e (n) $ equal to the desired signal by subtracting the filter output signal:

$$e(n)=d(n)-\hat{w}^T(n)x(n)$$

The first ends of the square type, and then find the mathematical expectation, may be $ e (n) $ MSE is expressed as:

$$\xi=E[e^2(n)]=E[d^2(n)]-2P^T\hat{w}(n)+\hat{w}^T(n)R\hat{w}(n)$$

Wherein, $ P = E [d (n) x (n)] $ is $ d (n) $ input signal $ x (n) $ negative correlation matrix, $ R = E [x (n) x ^ T (n-)] $ is $ x (n) of the autocorrelation matrix $.

  The error signal derivative and the derivative value to zero, solved for such minimum error "optimum weights" $ \ hat {w} _ {opt} (n) = \ frac {P} {R} $, R and P It was estimated at $ \ hat {R} (n) and $ \ hat {P} (n) $, using the respective instantaneous estimation values ​​respectively represented as: \ hat {R} (n) = x (x) x ^ T (n); \ hat {P} (n) = d (n) x (n). Further, with $ \ hat {g} _w (n) $ represents the estimate of the number of error signals guide the weight vector, solving Wiener solution of the optimal weight vector using the following procedure:

 Obtained: $ \ {g} _w (n) = hat - 2e (n) x (n) $, an instantaneous square error algorithm is taken as an objective function, then $ \ hat {g} _w (n) $ its true gradient, because:

So get LMS algorithm weight vector update formula:

$$\hat{w}(n+1)=\hat{w}(n)+2\mu e(n)x(n)$$

Where, $ \ mu $ is a fixed step size, $ \ mu $ size largely determines the convergence and steady-state performance of the algorithm. LMS algorithm complexity low, but it's slow convergence. To improve the LMS this shortcoming, researchers proposed a series of improved algorithm, NLMS algorithm is one of them

NLMS algorithm

 

NSAF algorithm

 

reference

"Based on the acoustic echo cancellation adaptive filter Research - Ping Jianghao"

 

Guess you like

Origin www.cnblogs.com/LXP-Never/p/11703440.html