Method and apparatus for reducing distortion echo
09749475 · 2017-08-29
Assignee
Inventors
- Sheng Wu (Shanghai, CN)
- Bin Jiang (Shanghai, CN)
- Fuhuei Lin (Shanghai, CN)
- Jingming Xu (Shanghai, CN)
- Ye Yuan (Shanghai, CN)
- Yaqin Yong (Shanghai, CN)
- Wei Ji (Shanghai, CN)
Cpc classification
International classification
H04B3/20
ELECTRICITY
H04M9/08
ELECTRICITY
Abstract
Method and apparatus for reducing distortion echo are provided. K-path amplification and pre-distortion process are performed to the downlink reference signal to obtain K-path pre-distorted signals. Afterwards, filtering is performed using the self-adaptive filters which correspond to the downlink reference signal x(t) and the K-path pre-distorted signals to obtain the filtering signals. Error signals are obtained by calculating differences between the target signal and each of the filtering signals. The minimum-value fusion process is performed to the error signals to obtain the residual signal which is then output as the final self-adaptive echo cancellation. In embodiments of the present disclosure, the residual signal is relatively small as the minimum-value fusion process is performed to the error signals. That is to say, echo loss is relatively great. Therefore, the method may provide echo loss with high amplitude under a situation that a speaker has relatively serious distortion.
Claims
1. A method for reducing distortion echo, comprising: performing K-path amplification to a downlink reference signal x(t) to obtain K-path preprocessed signals, where K is a positive integer; performing a pre-distortion process to the K-path preprocessed signals, respectively, to obtain K-path pre-distorted signals r.sub.k(t), where k=1, 2, . . . , K; performing a filtering process to the downlink reference signal x(t) and each of the K-path pre-distorted signals using a self-adaptive filter which corresponds to the downlink reference signal x(t) and the corresponding pre-distorted signal, to obtain (K+1) path filtering signals; calculating differences between a target signal d(t) and each of the (K+1) path filtering signals to obtain (K+1) path error signals; performing a minimum-value fusion process to the (K+1) path error signals to obtain a residual signal e(t); and outputting the residual signal e(t) as a final self-adaptive echo cancellation.
2. The method according to claim 1, wherein a pre-distortion mapping function used in the pre-distortion process meets the following equation:
r.sub.k(t)=f.sub.k(p.sub.k(t)), where r.sub.k(t) is a k.sup.th-path pre-distorted signal, p.sub.k(t) is a k.sup.th-path preprocessed signal, f.sub.k(x)≠cx, f.sub.k(x)≠c, x=p.sub.k(t), c is a constant, and k=1, 2, . . . , K.
3. The method according to claim 2, wherein to control an input range and an output range of the pre-distortion mapping function by normalization, the pre-distortion mapping function meets the following equation:
4. The method according to claim 1, wherein when an echo path model in the self-adaptive filter is a time-domain model h.sub.k,t, the (K+1) path error signals are represented as follows:
5. The method according to claim 4, wherein the echo path model corresponding to each path pre-distorted signal is updated to:
h.sub.k,t+1=h.sub.k,t+Δh.sub.k,t, where Δh.sub.k,t, as an M.sup.th-order vector, is the updated item of the coefficient of the self-adaptive filter, h.sub.k,t+1 is an M.sup.th-order FIR filter at a K.sup.th (t+1) time point, M is a positive integer, and k=1, 2, . . . , K.
6. The method according to claim 1, wherein when an echo path model in the self-adaptive filter is a frequency-domain model H.sub.k,t, the (K+1) path error signals e.sub.0(t), e.sub.1(t), . . . , e.sub.K(t) are represented by:
e.sub.0(t)=d(t)−y.sub.0(t)
[y.sub.0(t−(N−M)+1),y.sub.0(t−(N−M)+2), . . . ,y.sub.0(t)].sup.T=[0.sub.(N−M)×MI.sub.(N−M)×(N−M)]F.sup.−[H.sub.0,t.Math.R.sub.0,t]
[y.sub.k(t−(N−M)+1),y.sub.k(t−(N−M)+2), . . . ,y.sub.k(t)].sup.T=[0.sub.(N−M)×MI.sub.(N−M)×(N−M)]F.sup.−[H.sub.k,t.Math.R.sub.k,t], where e.sub.0(t) is the error signal corresponding to the downlink reference signal x(t), d(t) is the target signal, y.sub.0(t) is the filtering signal corresponding to the downlink reference signal x(t), e.sub.k(t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t), y.sub.k(t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t), superscript T is a transposition symbol, 0.sub.(N−M)×M is a zero matrix having (N−M) rows and M columns, I.sub.(N−M)×(N−M) is a (N−M)-by-(N−M) identity matrix, F.sup.− is an inverse discrete Fourier transform matrix, .Math. is a dot product symbol, H.sub.0,t is an N-point vector at a t time point, R.sub.0,t=F[x(t−N+1), x(t−N+2), . . . , x(t)].sup.T, H.sub.k,t is an N-point vector at a K.sup.th t time point, R.sub.k,t=F[r.sub.k(t−N+1), r.sub.k(t−N+2), . . . , r.sub.k(t)].sup.T, t is a time index, N is length of a signal frame, M is an order number, M is within a range from 0.01*f.sub.s to f.sub.s, and f.sub.s is sampling frequency.
7. The method according to claim 6, wherein the echo path model corresponding to each path pre-distorted signal is updated to:
H.sub.k,t+1=H.sub.k,t+ΔH.sub.k,t, where ΔH.sub.k,t, s an N.sup.th-order vector, is the updated item of the coefficient of the self-adaptive filter, H.sub.k,t+1 is an N-point vector at a K.sup.th (t+1) time point, N is a positive integer, and k=1, 2, . . . , K.
8. The method according to claim 1, wherein performing a minimum-value fusion process to the (K+1) path error signals to obtain a residual signal e(t) comprises: mapping the (K+1) path error signals to corresponding mapping signals using a reversible space mapping method; calculating metric values of the corresponding mapping signals using a predetermined minimum-value metric function; searching a minimum metric value among the calculated metric values; and mapping the mapping signal which corresponds to the minimum metric value back to a space where the (K+1) path error signals stay, to obtain the residual signal e(t).
9. An apparatus for reducing distortion echo, comprising: an amplification unit, configured to perform K-path amplification to a downlink reference signal x(t) to obtain K-path preprocessed signals, where K is a positive integer; a pre-distortion processing unit, configured to perform a pre-distortion process to the K-path preprocessed signals, respectively, to obtain K-path pre-distorted signals r.sub.k(t), where k=1, 2, . . . , K; a filtering unit, configured to perform a filtering process to the downlink reference signal x(t) and each of the K-path pre-distorted signals using a self-adaptive filter which corresponds to the downlink reference signal x(t) and the corresponding pre-distorted signal, to obtain (K+1) path filtering signals; a difference calculation unit, configured to calculate differences between a target signal d(t) and each of the (K+1) path filtering signals to obtain (K+1) path error signals; a fusion unit, configured to perform a minimum-value fusion process to the (K+1) path error signals to obtain a residual signal e(t); and an output unit, configured to output the residual signal e(t) as a final self-adaptive echo cancellation.
10. The apparatus according to claim 9, wherein a pre-distortion mapping function used in the pre-distortion process meets the following equation:
r.sub.k(t)=f.sub.k(p.sub.k(t)) where r.sub.k(t) is a k.sup.th-path pre-distorted signal, p.sub.k(t) is a k.sup.th-path preprocessed signal, f.sub.k(x)≠cx, f.sub.k(x)≠c, x=p.sub.k(t) is a constant, and k=1, 2, . . . , K.
11. The apparatus according to claim 10, wherein to control an input range and an output range of the pre-distortion mapping function by normalization, the pre-distortion mapping function meets the following equation:
12. The apparatus according to claim 9, wherein when an echo path model in the self-adaptive filter is a time-domain model h.sub.k,t, the (K+1) path error signals are represented as follows:
13. The apparatus according to claim 12, wherein the echo path model corresponding to each path pre-distorted signal is updated to:
h.sub.k,t+1=h.sub.k,t+Δh.sub.k,t, where Δh.sub.k,t, as an M.sup.th-order vector, is the updated item of the coefficient of the self-adaptive filter, h.sub.k,t+1 is an M.sup.th-order FIR filter at a K.sup.th (t+1) time point, M is a positive integer, and k=1, 2, . . . , K.
14. The apparatus according to claim 9, wherein when an echo path model in the self-adaptive filter is a frequency-domain model H.sub.k,t, the (K+1) path error signals e.sub.0(t), e.sub.1(t), . . . , e.sub.K(t) are represented by:
e.sub.0(t)=d(t)−y.sub.0(t)
[y.sub.0(t−(N−M)+1),y.sub.0(t−(N−M)+2), . . . ,y.sub.0(t)].sup.T=[0.sub.(N−M)×MI.sub.(N−M)×(N−M)]F.sup.−[H.sub.0,t.Math.R.sub.0,t]
[y.sub.k(t−(N−M)+1),y.sub.k(t−(N−M)+2), . . . ,y.sub.k(t)].sup.T=[0.sub.(N−M)×MI.sub.(N−M)×(N−M)]F.sup.−[H.sub.k,t.Math.R.sub.k,t], where e.sub.0(t) is the error signal corresponding to the downlink reference signal x(t), d(t) is the target signal, y.sub.0(t) is the filtering signal corresponding to the downlink reference signal x(t), e.sub.k (t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t), y.sub.k (t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t), superscript T is a transposition symbol, 0.sub.(N−M)×M is a zero matrix having (N−M) rows and M columns, I.sub.(N−M)×(N−M) is a (N−M)-by-(N−M) identity matrix, F.sup.− is an inverse discrete Fourier transform matrix, .Math. is a dot product symbol, H.sub.0,t is an N-point vector at a t time point, R.sub.0,t=F[x(t−N+1), x(t−N+2), . . . , x(t)].sup.T, H.sub.k,t is an N-point vector at a K.sup.th t time point, R.sub.k,t=F[r.sub.k(t−N+1), r.sub.k(t−N+2), . . . , r.sub.k(t)].sup.T, t is a time index, N is length of a signal frame, M is an order number, M is within a range from 0.01*f.sub.s to f.sub.s, and f.sub.s is sampling frequency.
15. The apparatus according to claim 14, wherein the echo path model corresponding to each path pre-distorted signal is updated to:
H.sub.k,t+1=H.sub.k,t+ΔH.sub.k,t, where ΔH.sub.k,t, as an N.sup.th-order vector, is the updated item of the coefficient of the self-adaptive filter, H.sub.k,t+1 is an N-point vector at a K.sup.th (t+1) time point, N is a positive integer, and k=1, 2, . . . , K.
16. The apparatus according to claim 9, wherein the fusion unit comprises: a mapping sub-unit, configured to map the (K+1) path error signals to corresponding mapping signals using a reversible space mapping method; a metric value obtaining sub-unit, configured to calculate metric values of the corresponding mapping signals using a predetermined minimum-value metric function; a searching sub-unit, configured to search a minimum metric value among the calculated metric values; and a residual signal obtaining sub-unit, configured to map the mapping signal which corresponds to the minimum metric value back to a space where the (K+1) path error signals stay, to obtain the residual signal e(t).
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) In order to clarify solutions of embodiments of the present disclosure or related art, accompanying drawings of the present disclosure or the related art will be described briefly. Obviously, the drawings are just examples and do not limit the scope of the disclosure, and other drawings may be obtained by a person skilled in the art based on these drawings without creative work.
(2)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION OF THE DISCLOSURE
(7) Embodiments of present disclosure will be described clearly in detail in conjunction with accompanying drawings. The embodiments below are only described for example, and there are many other possible embodiments. Based on the embodiments below, all the other embodiments obtained by those skilled in the art without any creative efforts should belong to the scope of the present disclosure.
(8) In embodiments of the present disclosure, a method and apparatus for reducing distortion echo are provided, which can steadily provide echo loss with high amplitude under a situation that a speaker has relatively serious distortion.
(9)
(10) In S11, K-path amplification is performed to a downlink reference signal x(t) to obtain K-path preprocessed signals, where K is a positive integer.
(11) In some embodiments, performing the K-path amplification may include: adjusting amplitude of the downlink reference signal x(t) using gains g.sub.1, g.sub.2, . . . , g.sub.k to obtain the K-path preprocessed signals p.sub.1(t), p.sub.2(t), . . . , p.sub.k(t). Equation used in the step is shown as follows:
(12)
where 0<=g.sub.1, g.sub.2, . . . , g.sub.k<=1.
(13) It should be noted that, the gain is not greater than 1 to avoid the downlink reference signal to generate extra amplitude spillover distortion in a digital system.
(14) In S12, a pre-distortion process is performed to the K-path preprocessed signals, respectively, to obtain K-path pre-distorted signals r.sub.k(t), where k=1, 2, . . . , K.
(15) A pre-distortion mapping function used in the pre-distortion process meets the following equation:
r.sub.k(t)=f.sub.k(p.sub.k(t)),
where r.sub.k(t) is a k.sup.th-path pre-distorted signal, p.sub.k(t) is a k.sup.th-path preprocessed signal, f.sub.k(x)≠cx, f.sub.k(x)≠c, c is a constant, and k=1, 2, . . . , K.
(16) The pre-distortion mapping function aims to generate a pre-distorted signal related to the downlink reference signal x(t) based on the downlink reference signal x(t), to simulate distortion of a speaker.
(17) In S13, a filtering process is performed to the downlink reference signal x(t) and each of the K-path pre-distorted signals using a self-adaptive filter which corresponds to the downlink reference signal x(t) and the corresponding pre-distorted signal, to obtain (K+1) path filtering signals.
(18) In S14, differences between a target signal d(t) and each of the (K+1) path filtering signals are calculated to obtain (K+1) path error signals.
(19) In S15, a minimum-value fusion process is performed to the (K+1) path error signals to obtain a residual signal e(t).
(20) In S16, the residual signal e(t) is output as a final self-adaptive echo cancellation.
(21) From above, in the method for reducing distortion echo, K-path amplification and pre-distortion process are performed to the downlink reference signal to obtain K-path pre-distorted signals. Afterwards, filtering is performed using the self-adaptive filters which correspond to the downlink reference signal x(t) and the K-path pre-distorted signals to obtain the filtering signals. Error signals are obtained by calculating differences between the target signal and each of the filtering signals. The minimum-value fusion process is performed to the error signals to obtain the residual signal which is then output as the final self-adaptive echo cancellation. In embodiments of the present disclosure, the residual signal is relatively small as the minimum-value fusion process is performed to the error signals. That is to say, echo loss is relatively great. Therefore, the method may provide echo loss with high amplitude under a situation that a speaker has relatively serious distortion.
(22) In some embodiments, to facilitate the design and use of the pre-distortion mapping function, an input range and an output range of the pre-distortion mapping function are controlled by normalization and the pre-distortion mapping function may meet the following equation:
(23)
where x.sub.max is a maximum amplitude of the downlink reference signal x(t), −1<=f.sub.k(x)<=1, and k=1, 2, . . . , K.
(24) In some embodiments, the pre-distortion mapping function may be selected from but not limited to the following equations:
f.sub.k(x)=|x|.sup.γ+c,
f.sub.k(x)=sign(x)|x|.sup.γ+c,
f.sub.k(x)=sin(cx),
f.sub.k(x)=tan(cx),
or any combination of the above equations, for example,
f.sub.k(x)=a.sub.1|x|.sup.γ.sup.
(25) In some embodiments, the pre-distortion mapping function may be a function, for example,
(26)
where c, c.sub.1, c.sub.2, c.sub.3, c.sub.4, γ, γ.sub.1, γ.sub.2, a.sub.1, a.sub.2, a.sub.3, a.sub.4, x.sub.1 and x.sub.2 are real constants, and sign(x) is a function that extracts the sign of a real number.
(27) Multi-path pre-distorted mapping function is required for obtaining the pre-distorted signals because of following reasons. The distortion of the speaker is complicated and time-varying. One type of distortion process hardly effectively approximates distortion component in an echo signal. Therefore, in embodiments of the present disclosure, multi-path distortion process is performed to obtain various distortion process results, such that an input of the minimum-value fusion process can be selected from abundant candidates.
(28) In some embodiments, an echo path model in the self-adaptive filter may be a time-domain model or a frequency-domain model. The self-adaptive filter and the error signal which correspond to the downlink reference signal x(t) are described in detail below.
(29) When the echo path model in the self-adaptive filter is a time-domain model h.sub.k,t, the error signal may be as follows:
(30)
where e.sub.0(t) is the error signal corresponding to the downlink reference signal x(t), d(t) is the target signal, y.sub.0(t) is the filtering signal corresponding to the downlink reference signal x(t), h.sub.0,t is an M.sup.th-order Finite Impulse Response (FIR) filter at a t time point, h.sub.0,t=[h.sub.0,t (1), h.sub.0,t (2), . . . , h.sub.0,t (M)].sup.T, e.sub.k(t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t), y.sub.k(t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t) h.sub.k,t is an M.sup.th FIR filter at a K.sup.th t time point, h.sub.k,t=[h.sub.k,t (1), h.sub.k,t (2), . . . , h.sub.k,t (M)].sup.T, k=1, 2, . . . , K, superscript T is a transposition symbol, {circle around (×)} is a convolution symbol, t is a time index, M is an order number and satisfies the echo path model, M is within a range from 0.01*f.sub.s to f.sub.s, and f.sub.s is sampling frequency.
(31) A self-adaptive filtering algorithm is used to calculate the residual signal e(t) to obtain an update item of a coefficient of the self-adaptive filter. When the echo path model in the self-adaptive filter is a time-domain model h.sub.k,t, the calculation can be realized by any time-domain self-adaptive filtering algorithm, such as Least Mean Square (LMS), Normalized Least Mean Square (NMLS), Affine Projection (AP), Fast Affine Projection (FAP), Least Square (LS) or Recursive Least Square (RLS).
(32) For example, the NMLS algorithm is used to realize the calculation:
(33)
where ε is a micro positive real number which prevents zero division error, μ.sub.h,0 and μ.sub.h,k are update step size, 0<μ.sub.h,0, μ.sub.h,k<2, k=1, 2, . . . , K, and t is a time index.
(34) The echo path model corresponding to each path pre-distorted signal is updated to:
h.sub.k,t+1=h.sub.k,t+Δh.sub.k,t,
where Δh.sub.k,t is the updated item of the coefficient of the self-adaptive filter, Δh.sub.k,t is an M.sup.th-order vector, M is a positive integer, and k=1, 2, . . . , K.
(35) Calculation is performed to the downlink reference signal x(t) and the K-path pre-distorted signals r.sub.1(t), . . . , r.sub.K(t) using a self-adaptive filtering algorithm to obtain the error signals e.sub.0(t), e.sub.1(t), . . . , e.sub.K(t). When the echo path model in the self-adaptive filter is a frequency-domain model H.sub.k,t, the error signals e.sub.0(t), e.sub.1(t), . . . , e.sub.K(t) may be represented by:
e.sub.0(t)=d(t)−y.sub.0(t)
[y.sub.0(t−(N−M)+1),y.sub.0(t−(N−M)+2), . . . ,y.sub.0(t)].sup.T=[0.sub.(N−M)×MI.sub.(N−M)×(N−M)]F.sup.−[H.sub.0,t.Math.R.sub.0,t]
e.sub.k(t)=d(t)−y.sub.k(t),
[y.sub.k(t−(N−M)+1),y.sub.k(t−(N−M)+2), . . . ,y.sub.k(t)].sup.T=[0.sub.(N−M)×MI.sub.(N−M)×(N−M)]F.sup.−[H.sub.k,t.Math.R.sub.k,t],
where e.sub.0(t) is the error signal corresponding to the downlink reference signal x(t), d(t) is the target signal, y.sub.0(t) is the filtering signal corresponding to the downlink reference signal x(t), e.sub.k(t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t), y.sub.k(t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t), superscript T is a transposition symbol, 0.sub.(N−M)×M is a zero matrix having (N−M) rows and M columns, I.sub.(N−M)×(N−M) is a (N−M)-by-(N−M) identity matrix, F.sup.− is an inverse discrete Fourier transform matrix, .Math. is a dot product symbol, H.sub.0,t is an N-point vector at a t time point, R.sub.0,t=F[x(t−N+1), x(t−N+2), . . . , x(t)].sup.T, H.sub.k,t is an N-point vector at a K.sup.th t time point, R.sub.k,t=F[r.sub.k(t−N+1), r.sub.k(t−N+2), . . . , r.sub.k(t)].sup.T, t is a time index, N is length of a signal frame, M is an order number, M is within a range from 0.01*f.sub.s to f.sub.s, f.sub.s is sampling frequency, F is a discrete Fourier transform matrix, k=1, 2, . . . , K, and K is a positive integer.
(36) A self-adaptive filtering algorithm is used to calculate the residual signal e(t) to obtain an update item of a coefficient of the self-adaptive filter. When the echo path model in the self-adaptive filter is a frequency-domain model H.sub.k,t, the calculation can be realized by any frequency-domain self-adaptive filtering algorithm, such as Frequency Domain Adaptive Filter (FDAF), Multi-Delay Adaptive Filter (MDAF), Windowing Frequency Domain Adaptive Filter (WDAF).
(37) For example, the FDAF algorithm is used to realize the calculation:
(38)
where ε is a micro positive real number which prevents zero division error, * is a conjugation symbol, μ.sub.H,0 and μ.sub.H,k are update step size, 0<μ.sub.H,0, μ.sub.H,k<2, k=1, 2, . . . , K.
E.sub.0,t=F[e.sub.0(t−N+1),e.sub.0(t−N+2), . . . ,e.sub.0(t)].sup.T,
R.sub.0,t=F[x(t−N+1),x(t−N+2), . . . ,x(t)].sup.T,
E.sub.k,t=F[e.sub.k(t−N+1),e.sub.k(t−N+2), . . . ,e.sub.k(t)].sup.T,
R.sub.k,t=F[r.sub.k(t−N+1),r.sub.k(t−N+2), . . . ,r.sub.k(t)].sup.T,
(39) E[|R.sub.0,t|.sup.2] is the expectation value of energy spectrum of R.sub.0,t, which is obtained by an autoregressive method as follows:
E[|R.sub.0,t|.sup.2]=ηE[|R.sub.0,t-1|.sup.2]+(1−η)|R.sub.0,t|.sup.2, and
E[|R.sub.k,t|.sup.2] is the expectation value of energy spectrum of R.sub.k,t, which is obtained by an autoregressive method as follows:
E[|R.sub.k,t|.sup.2]=ηE[|R.sub.k,t-1|.sup.2]+(1−η)|R.sub.k,t|.sup.2,
where η is an update factor, 0<η<1, k=1, 2, . . . , K.
(40) The echo path model is updated to:
H.sub.k,t+1=H.sub.k,t+ΔH.sub.k,t,
where ΔH.sub.k,t is the updated item of the coefficient of the self-adaptive filter, ΔH.sub.k,t is an N.sup.th-order vector, N is a positive integer, and k=1, 2, . . . , K.
(41)
(42) In S21, the (K+1) path error signals are mapped to corresponding mapping signals using a reversible space mapping method.
(43) In S22, metric values of the corresponding mapping signals are calculated using a predetermined minimum-value metric function.
(44) In S23, the minimum metric value is searched among the calculated metric values.
(45) In S24, the mapping signal which corresponds to the minimum metric value is mapped back to a space where the (K+1) path error signals stay, to obtain the residual signal e(t).
(46) As parameters of the self-adaptive filter are different, residual signals corresponding to the (K+1) path error signals e.sub.0(t), e.sub.1(t), . . . , e.sub.K(t) may be least at different time points or in different spaces. In the minimum-value fusion process, the (K+1) path error signals e.sub.0(t), e.sub.1(t), . . . , e.sub.K(t) are mapped to the mapping signal S.sub.0,t, S.sub.1,t, . . . , S.sub.K,t using a space mapping method. The metric values ν.sub.0, ν.sub.1, . . . , ν.sub.K of the corresponding mapping signals S.sub.0,t, S.sub.1,t, . . . , S.sub.K,t are calculated using the predetermined minimum-value metric function, and the minimum metric value ν.sub.k.sub.
S.sub.k,t[e.sub.k(t−L+1),e.sub.k(t−L+2), . . . ,e.sub.k(t)],
where S.sub.k,t is the mapping signal, t is a time index, and k=1, 2, . . . , K.
(47) In some embodiments, the minimum-value metric function aims to calculate a short-time amplitude, such as
(48)
where ν.sub.k is the minimum metric value, t is a time index, and k=1, 2, . . . , K.
(49) In some embodiments, the minimum-value metric function aims to calculate short-time power, such as
(50)
where ν.sub.k is the minimum metric value, t is a time index, and k=1, 2, . . . , K.
(51) In the above equations, L is a positive integer which represents a short-time section and is within a range from 0.001*f.sub.s to f.sub.s, and f.sub.s is sampling frequency.
(52) When the mapping signal S.sub.k.sub.
(53) In some embodiments, adjacent short-time sections in one path may be overlapped partially, to facilitate performing a smoothing process to two ends of the sections.
(54) In some embodiments, a relatively effective minimum-value fusion process may be a frequency-domain transformation as follows:
S.sub.k,t=T.sub.F([e.sub.k(t−L+1), . . . ,e.sub.k(t)]),
where S.sub.k,t is the mapping signal, T.sub.F represents the frequency-domain transformation, L is a positive integer which represents a short-time section and is within a range from 0.001*f.sub.s to f.sub.s, f.sub.s is sampling frequency, and k=1, 2, . . . , K.
(55) The frequency-domain transformation T.sub.F may be Discrete Fourier Transform (DFT), Discrete Cosine Transform (DCT), Karhunen-Loeve (KL), Modified Discrete Cosine Transform (MDCT), etc. The frequency-domain transformation T.sub.F is reversible, and its reversible transformation is T.sub.F.sup.−.
(56) The mapping signal S.sub.k,t obtained by the frequency-domain transformation is a L.sub.F-point vector. To different mapping, L.sub.F may be different. For example, to DFT, DCT or KL transformation, L.sub.F=L, while to MDCT transformation, L.sub.F=L/2. The minimum-value metric function may be modulus of the mapping signal S.sub.k,t[l], l=1, 2, . . . , L.sub.F: f.sub.min(x)=|x|, or may be weight of absolute values of real part and virtual part of the modulus f.sub.min(x)=λ.sub.real|real(x)|.sup.γ.sup.
(57) The metric values of the mapping signals S.sub.k,t[l], l=1, 2, L.sub.F are obtained using the minimum-value metric function based on the following equation:
ν.sub.k,t=f.sub.min(S.sub.k,t[l]),
where ν.sub.k,l is the minimum metric value, integer index l=1, 2, . . . , L.sub.F, and k=1, 2, . . . , K.
(58) The mapping signals S.sub.k,t[l], l=1, 2, . . . , L.sub.F are fused to fused signals S.sub.t[l]=S.sub.k.sub.
f.sub.min(S.sub.k.sub.
(59) Afterward, the fused signals S.sub.t[l]=S.sub.k.sub.
[e(t−L+1), . . . ,e(t)]=T.sub.F.sup.−(S.sub.t).
(60) In some embodiments, adjacent short-time sections in one path may be overlapped partially, to facilitate performing a smoothing process to two ends of the sections.
(61) In above embodiments, K is a positive integer.
(62) Below test is performed to ensure that echo loss with high amplitude can be steadily provided under a situation that a speaker has relatively serious distortion.
(63) Two path pre-distorted signals are selected to be processed, each path having a gain of 1, and the pre-distortion mapping functions are:
f.sub.1(x)=sign(x)|x|.sup.0.1, and
f.sub.2(x)=sign(x)|x|.sup.0.2.
(64) DCT mapping is used as the space mapping in the minimum-value fusion process. The short-time section L=160, the minimum-value metric function is calculating an absolute value, and the self-adaptive filter uses FDAF. Compared a processing result in the embodiment with a result obtained by an existing method, a processed signal obtained in the embodiment is evidently smaller than a processed signal obtained in an existing Acoustic echo cancellation (AEC) method, and amplitude of echo loss is increased by at least 5 dB.
(65) Accordingly, in an embodiment, an apparatus for reducing distortion echo is provided.
(66) The amplification unit 31 is configured to perform K-path amplification to a downlink reference signal x(t) to obtain K-path preprocessed signals, where K is a positive integer.
(67) In some embodiments, performing the K-path amplification may include: adjusting amplitude of the downlink reference signal x(t) using gains g.sub.1, g.sub.2, . . . , g.sub.k to obtain the K-path preprocessed signals p.sub.1(t), p.sub.2(t), . . . , p.sub.k(t). Equation used in the step is shown as follows:
(68)
where 0<=g.sub.1, g.sub.2, . . . , g.sub.k<=1.
(69) It should be noted that, the gain is not greater than 1 to avoid the downlink reference signal to generate extra amplitude spillover distortion in a digital system.
(70) The pre-distortion processing unit 32 is configured to perform a pre-distortion process to the K-path preprocessed signals, respectively, to obtain K-path pre-distorted signals r.sub.k(t), where k=1, 2, . . . , K.
(71) A pre-distortion mapping function used in the pre-distortion process meets the following equation:
r.sub.k(t)=f.sub.k(p.sub.k(t)),
where r.sub.k(t) is a k.sup.th-path pre-distorted signal, p.sub.k(t) is a k.sup.th-path preprocessed signal, f.sub.k(x)≠cx, f.sub.k(x)≠c, c is a constant, and k=1, 2, . . . , K.
(72) The pre-distortion mapping function aims to generate a pre-distorted signal related to the downlink reference signal x(t) based on the downlink reference signal x(t), to simulate distortion of a speaker.
(73) The filtering unit 33 is configured to perform a filtering process to the downlink reference signal x(t) and each of the K-path pre-distorted signals using a self-adaptive filter which corresponds to the downlink reference signal x(t) and the corresponding pre-distorted signal, to obtain (K+1) path filtering signals.
(74) The difference calculation unit 34 is configured to calculate differences between a target signal d(t) and each of the (K+1) path filtering signals to obtain (K+1) path error signals.
(75) The fusion unit 35 is configured to perform a minimum-value fusion process to the (K+1) path error signals to obtain a residual signal e(t).
(76) The output unit 36 is configured to output the residual signal e(t) as a final self-adaptive echo cancellation.
(77) From above, by the apparatus for reducing distortion echo, K-path amplification and pre-distortion process are performed to the downlink reference signal to obtain K-path pre-distorted signals. Afterwards, filtering is performed using the self-adaptive filters which correspond to the downlink reference signal x(t) and the K-path pre-distorted signals to obtain the filtering signals. Error signals are obtained by calculating differences between the target signal and each of the filtering signals. The minimum-value fusion process is performed to the error signals to obtain the residual signal which is then output as the final self-adaptive echo cancellation. In embodiments of the present disclosure, the residual signal is relatively small as the minimum-value fusion process is performed to the error signals. That is to say, echo loss is relatively great. Therefore, the apparatus may provide echo loss with high amplitude under a situation that a speaker has relatively serious distortion.
(78) In some embodiments, to facilitate the design and use of the pre-distortion mapping function, an input range and an output range of the pre-distortion mapping function are controlled by normalization and the pre-distortion mapping function may meet the following equation:
(79)
where x.sub.max is a maximum amplitude of the downlink reference signal x(t), −1<=f.sub.k(x)<=1, and k=1, 2, . . . , K.
(80) In some embodiments, the pre-distortion mapping function may be selected from but not limited to the following equations:
f.sub.k(x)=|x|.sup.γ+c,
f.sub.k(x)=sign(x)|x|.sup.γ+c,
f.sub.k(x)=sin(cx),
f.sub.k(x)=tan(cx),
or any combination of the above equations, for example,
f.sub.k(x)=a.sub.1|x|.sup.γ.sup.
(81) In some embodiments, the pre-distortion mapping function may be a function, for example,
(82)
where c, c.sub.1, c.sub.2, c.sub.3, c.sub.4, γ, γ.sub.1, γ.sub.2, a.sub.1, a.sub.2, a.sub.3, a.sub.4, x.sub.1 and x.sub.2 are real constants, and sign(x) is a function that extracts the sign of a real number.
(83) Multi-path pre-distorted mapping function is required for obtaining the pre-distorted signals because of following reasons. The distortion of the speaker is complicated and time-varying. One type of distortion process hardly effectively approximates distortion component in an echo signal. Therefore, in embodiments of the present disclosure, multi-path distortion process is performed to obtain various distortion process results, such that an input of the minimum-value fusion process can be selected from abundant candidates.
(84) In some embodiments, an echo path model in the self-adaptive filter may be a time-domain model or a frequency-domain model. The self-adaptive filter and the error signal which correspond to the downlink reference signal x(t) are described in detail below.
(85) When the echo path model in the self-adaptive filter is a time-domain model h.sub.k,t, the error signal may be as follows:
(86)
where e.sub.0(t) is the error signal corresponding to the downlink reference signal x(t), d(t) is the target signal, y.sub.0(t) is the filtering signal corresponding to the downlink reference signal x(t), h.sub.0,t is an M.sup.th-order Finite Impulse Response (FIR) filter at a t time point, h.sub.0,t=[h.sub.0,t (1), h.sub.0,t (2), . . . , h.sub.0,t (M)].sup.T, e.sub.k(t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t), y.sub.k(t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t), h.sub.k,t is an M.sup.th FIR filter at a K.sup.th t time point, h.sub.k,t=[h.sub.k,t (1), h.sub.k,t (2), . . . , h.sub.k,t (M)].sup.T, k=1, 2, . . . , K, superscript T is a transposition symbol, {circle around (×)} is a convolution symbol, t is a time index, M is an order number and satisfies the echo path model, M is within a range from 0.01*f.sub.s to f.sub.s, and f.sub.s is sampling frequency.
(87) A self-adaptive filtering algorithm is used to calculate the residual signal e(t) to obtain an update item of a coefficient of the self-adaptive filter. When the echo path model in the self-adaptive filter is a time-domain model h.sub.k,t, the calculation can be realized by any time-domain self-adaptive filtering algorithm, such as LMS, NMLS, AP, FAP, LS or RLS.
(88) The echo path model corresponding to each path pre-distorted signal is updated to:
h.sub.k,t+1=h.sub.k,t+Δh.sub.k,t,
where Δh.sub.k,t is the updated item of the coefficient of the self-adaptive filter, Δh.sub.k,t is an M.sup.th-order vector, M is a positive integer, and k=1, 2, . . . , K.
(89) Calculation is performed to the downlink reference signal x(t) and the K-path pre-distorted signals r.sub.1(t), . . . , r.sub.K(t) using a self-adaptive filtering algorithm to obtain the error signals e.sub.0(t), e.sub.1(t), . . . , e.sub.K(t). When the echo path model in the self-adaptive filter is a frequency-domain model H.sub.k,t, the error signals e.sub.0(t), e.sub.1(t), . . . , e.sub.K(t) may be represented by:
e.sub.0(t)=d(t)−y.sub.0(t)
[y.sub.0(t−(N−M)+1),y.sub.0(t−(N−M)+2), . . . ,y.sub.0(t)].sup.T=[0.sub.(N−M)×MI.sub.(N−M)×(N−M)]F.sup.−[H.sub.0,t.Math.R.sub.0,t]
e.sub.k(t)=d(t)−y.sub.k(t),
[y.sub.k(t−(N−M)+1),y.sub.k(t−(N−M)+2), . . . ,y.sub.k(t)].sup.T=[0.sub.(N−M)×MI.sub.(N−M)×(N−M)]F.sup.−[H.sub.k,t.Math.R.sub.k,t],
where e.sub.0(t) is the error signal corresponding to the downlink reference signal x(t), d(t) is the target signal, y.sub.0(t) is the filtering signal corresponding to the downlink reference signal x(t), e.sub.k(t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t), y.sub.k(t) is an error signal corresponding to each of the K-path pre-distorted signals r.sub.k(t), superscript T is a transposition symbol, 0.sub.(N−M)×M is a zero matrix having (N−M) rows and M columns, I.sub.(N−M)×(N−M) is a (N−M)-by-(N−M) identity matrix, F.sup.− is an inverse discrete Fourier transform matrix, .Math. is a dot product symbol, H.sub.0,t is an N-point vector at a t time point, R.sub.0,t=F[x(t−N+1), x(t−N+2), . . . , x(t)].sup.T, H.sub.k,t is an N-point vector at a K.sup.th t time point, R.sub.k,t=F[r.sub.k(t−N+1), r.sub.k(t−N+2), . . . , r.sub.k(t)].sup.T, t is a time index, N is length of a signal frame, M is an order number, M is within a range from 0.01*f.sub.s to f.sub.s, f.sub.s is sampling frequency, F is a discrete Fourier transform matrix, k=1, 2, . . . , K, and K is a positive integer.
(90) A self-adaptive filtering algorithm is used to calculate the residual signal e(t) to obtain an update item of a coefficient of the self-adaptive filter. When the echo path model in the self-adaptive filter is a frequency-domain model H.sub.k,t, the calculation can be realized by any frequency-domain self-adaptive filtering algorithm, such as FDAF, MDAF or WDAF.
(91) The echo path model is updated to:
H.sub.k,t+1=H.sub.k,t+ΔH.sub.k,t,
where ΔH.sub.k,t is the updated item of the coefficient of the self-adaptive filter, ΔH.sub.k,t is an N.sup.th-order vector, N is a positive integer, and k=1, 2, . . . , K.
(92)
(93) The mapping sub-unit 41 is configured to map the (K+1) path error signals to corresponding mapping signals using a reversible space mapping method.
(94) The metric value obtaining sub-unit 42 is configured to calculate metric values of the corresponding mapping signals using a predetermined minimum-value metric function.
(95) The searching sub-unit 43 is configured to search the minimum metric value among the calculated metric values.
(96) The residual signal obtaining sub-unit 44 is configured to map the mapping signal which corresponds to the minimum metric value back to a space where the (K+1) path error signals stay, to obtain the residual signal e(t).
(97) As parameters of the self-adaptive filter are different, residual signals corresponding to the (K+1) path error signals e.sub.0(t), e.sub.1(t), . . . , e.sub.K(t) may be least at different time points or in different spaces. In the minimum-value fusion process, the (K+1) path error signals e.sub.0(t), e.sub.1(t), . . . , e.sub.K(t) are mapped to the mapping signal S.sub.0,t, S.sub.1,t, . . . , S.sub.K,t using a space mapping method. The metric values ν.sub.0, ν.sub.1, . . . , ν.sub.K of the corresponding mapping signals S.sub.0,t, S.sub.1,t, . . . , S.sub.K,t are calculated using the predetermined minimum-value metric function, and the minimum metric value ν.sub.k.sub.
(98) In some embodiments, the minimum-value fusion process may be relatively simple. In some embodiments, the space mapping is framing of short-time signals, such as
S.sub.k,t=[e.sub.k(t−L+1),e.sub.k(t−L+2), . . . ,e.sub.k(t)],
where S.sub.k,t is the mapping signal, t is a time index, and k=1, 2, . . . , K.
(99) In some embodiments, the minimum-value metric function aims to calculate a short-time amplitude, such as
(100)
where ν.sub.k is the minimum metric value, t is a time index, and k=1, 2, . . . , K.
(101) In some embodiments, the minimum-value metric function aims to calculate short-time power, such as
(102)
where ν.sub.k is the minimum metric value, t is a time index, and k=1, 2, . . . , K.
(103) In the above equations, L is a positive integer which represents a short-time section and is within a range from 0.001*f.sub.s to f.sub.s, and f.sub.s is sampling frequency.
(104) When the mapping signal S.sub.k.sub.
(105) In some embodiments, adjacent short-time sections in one path may be overlapped partially, to facilitate performing a smoothing process to two ends of the sections.
(106) In some embodiments, a relatively effective minimum-value fusion process may be a frequency-domain transformation as follows:
S.sub.k,t=T.sub.F([e.sub.k(t−L+1), . . . ,e.sub.k(t)]),
where S.sub.k,t is the mapping signal, T.sub.F represents the frequency-domain transformation, L is a positive integer which represents a short-time section and is within a range from 0.001*f.sub.s to f.sub.s, f.sub.s is sampling frequency, and k=1, 2, . . . , K.
(107) The frequency-domain transformation T.sub.F may be Discrete Fourier Transform (DFT), Discrete Cosine Transform (DCT), Karhunen-Loeve (KL), Modified Discrete Cosine Transform (MDCT), etc. The frequency-domain transformation T.sub.F is reversible, and its reversible transformation is T.sub.F.sup.−.
(108) The mapping signal S.sub.k,t obtained by the frequency-domain transformation is a L.sub.F-point vector. To different mapping, L.sub.F may be different. For example, to DFT, DCT or KL transformation, L.sub.F=L, while to MDCT transformation, L.sub.F=L/2. The minimum-value metric function may be modulus of the mapping signal S.sub.k,t[l], l=1, 2, . . . , L.sub.F: f.sub.min(x)=|x|, or may be weight of absolute values of real part and virtual part of the modulus f.sub.min(x)=λ.sub.real|real(x)|.sup.γ.sup.
(109) The metric values of the mapping signals S.sub.k,t[l], l=1, 2, . . . , L.sub.F are obtained using the minimum-value metric function based on the following equation:
ν.sub.k,l=f.sub.min(S.sub.k,t[l]),
where ν.sub.k,l is the minimum metric value, integer index l=1, 2, . . . , L.sub.F, and k=1, 2, . . . , K.
(110) The mapping signals S.sub.k,t[l], l=1, 2, . . . , L.sub.F are fused to fused signals S.sub.t[l]=S.sub.k.sub.
f.sub.min(S.sub.k.sub.
(111) Afterward, the fused signals S.sub.t[l]=S.sub.k.sub.
[e(t−L+1), . . . ,e(t)]=T.sub.F.sup.−(S.sub.t).
(112) In some embodiments, adjacent short-time sections in one path may be overlapped partially, to facilitate performing a smoothing process to two ends of the sections.
(113) In above embodiments, K is a positive integer.
(114) Detailed working principles of components of the apparatus can be referred to corresponding part in the method described in the above-mentioned embodiments.
(115) In the present disclosure, the various embodiments are described in a progressive way. The focus of each embodiment is different from that of other embodiments. And the same or the similar parts between the respective embodiments can refer to each other.
(116) Although the present disclosure has been disclosed above with reference to preferred embodiments thereof, it should be understood that the disclosure is presented by way of example only, and not limitation. Those skilled in the art can modify and vary the embodiments without departing from the spirit and scope of the present disclosure.