• 沒有找到結果。

Simulation of Highly Nonlinear Residual Errors

Computer Simulations

4.4 Simulation of Highly Nonlinear Residual Errors

4.4.1 Single talk

The linear AEC is only used to cancel the linear echo only. The nonlinear residual echo of more than two orders is not cancelled at all. The Nonlinear AEC method can cancel the high orders’ residual echo. The performance of NAEC is dependent on the adaptive filter number you used. We implement the third order NAEC. We use two concepts of “slope” and ”power filter” in Section 3.3.1 and Section 3.3.2 and use the proposed method in Section 3.5 to run the simulation. We arrange the six algorithms’

notation in Table 4.1.

Table 4.1 Notation of six algorithms

notation comment Reference

1 AEC1 AEC [1]

2 AEC13 NAEC [3]

3 AEC1/AES3 AEC/NAES [9]

4 AEC1/slope1Æ3+ AEC/ slope(linear echo) [10]

5 AEC1/AES3/slope1Æ5+ AEC/ NAES/ slope(linear echo) Proposed 6 AEC1/AES3/slope3Æ5+ AEC/ NAES/ slope(third echo) Proposed

AEC1 uses linear AEC to cancel the linear echo that can’t cancel the nonlinear residual error anymore. AEC13 uses linear AEC and third-order nonlinear AEC to cancel linear echo and third echo that still exists the nonlinear residual error more than fifth-order nonlinear residual error. The performance of AEC13 is better than AEC1.

AEC1/AES3 uses linear AEC to cancel the linear echo and suppress third-order

nonlinear residual error by “power filter” method in Section 3.2.2. The performance of AEC1/AES3 is better than AEC1/AEC3. That is because the convergence speed of AEC1/AES3 is quicker than AEC1/AEC3. AEC1/slope1Æ3+ uses linear AEC to cancel linear echo and suppress all order nonlinear error by “slope” method of linear echo basis in Section 3.2.1. If the total high order nonlinear residual error is larger than the third-order nonlinear echo, the performance of AEC1/slope1Æ3+ is better than AEC1/AEC3. AEC1/AES3/slope1Æ5+ and AEC1/AES3/slope3Æ5+ use linear AEC to cancel the linear echo, third-order suppression to suppress third echo, and suppress more than fifth-order nonlinear residual error by “slope” method of linear echo or third-order echo basis. AEC1/AES3/slope1Æ5+ and AEC1/AES3/slope3Æ5+

are better than AEC1/AES3 and AEC1/slope1Æ3+, because AEC1/AES3/slope1Æ5+

and AEC1/AES3/slope3Æ5+ can suppress third-order echo accurately and suppress more than fifth-order nonlinear residual error. For real speech signal to loudspeaker, the high order nonlinear residual error is more linearly with the third-order echo.

In Fig. 4.8, we use the real speech signal and real system. The nonlinear effect is of the total more than fifth-order nonlinear residual error is larger than third-order echo. So, AEC1/slope1 is better than AEC1/AES3. AEC13/AES3/slope1 can suppress third-order echo accurately than AEC1/slope1, so the performance is better. The nonlinear residual error that is more than fifth-order echo is more linearly with the third-order echo than first-order echo. So, AEC13/AES3/slope3 is better than AEC13/AES3/Slope1.

In Fig. 4.9, we use speech signal as far-end signal and nonlinear system is polynomial function s x( )=3.4761x−3.1740x3+2.3999x5−0.8233x7 .The

proposed method is the best than the others.

In Fig. 4.10, we use white gauss noise as far-end signal and nonlinear system is polynomial function s x( )=3.4761x−3.1740x3+2.3999x5−0.8233x7 . The third-order echo is large. If we can’t estimate third-order echo accurately, the ERLE will bad. So, AEC1/AES3 is better than AEC1/slope1. The proposed method is the best than the others.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 104 -2

0 2 4 6 8 10 12 14 16 18

speech + real system

iterations

ERLE[dB]

far-end(speech) AEC1

AEC13 AEC1/AES3 AEC1/slope1 AEC1/AES3/slope1 AEC1/AES3/slope3

Fig. 4.8 ERLE for speech signal & real system

0 0.5 1 1.5 2 2.5

Fig. 4.9 ERLE for speech signal & polynomial system

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Fig. 4.10 ERLE for WGN & polynomial system

4.4.2 Double Talk

In order to avoid severe degradation of near-end speech signals during double-talk situations, the actual values of are usually limited to a desired level of attenuation . We set

( , ) G k m

Gmin Gmin =0.25dB, implying a maximum attenuation of about 12dB. The simulation result is shown in Table 4.3. AEC1 can cancel the linear echo in spite of the near-end speech signal disturbs AEC. We hear a slightly low level of echo from the near-end speech signal. Using AEC13, we hear the loud noise that is almost covered the near-end speech signal. This is because the near-end speech is critically disturbing the nonlinear AEC. For suppression structures, we only discuss , because is critically distorting the near-end speech.

AEC1/slope1 can suppress the echo better than AEC1, but the near-end speech signal is poorly disturbed than AEC1. AEC13/AES3/slope1 and AEC13/AES3/slope3 can suppress the nonlinear residual error better than AEC1/slope1.

min 0.25

G = Gmin =0

Table 4.2 Simulation of double-talk

Gmin = 0 Gmin = 0.25 (-12dB)

Echo: almost cancelled Echo: little cancelled AEC1/slope1

DT: lossy DT: little lossy

Echo: almost cancelled Echo: moderately cancelled AEC1/AES3

/slope1

DT: almost silent DT: slightly lossy

Echo: almost cancelled Echo: moderately cancelled AEC1/AES3

/slope3

DT: almost silent DT: slightly lossy

In double-talk situation, we want to cancel or suppress the echo large and keep the near-end speech signal. From Table 4.2, the near-end speech of AEC1/AES3/slope1 and

AEC1/AES3/slope3 for Gmin = 0.25 is better than the others except AEC1 and AEC13.

However, AEC1 and AEC13 can slightly cancel the echo only or cause the adaptive filter mismatch. The AEC13/AES3/slope1 or AEC13/AES3/slope3 is the better choice than the others.

相關文件