US20040059551A1 - System identifying method - Google Patents

System identifying method Download PDF

Info

Publication number
US20040059551A1
US20040059551A1 US10/415,674 US41567403A US2004059551A1 US 20040059551 A1 US20040059551 A1 US 20040059551A1 US 41567403 A US41567403 A US 41567403A US 2004059551 A1 US2004059551 A1 US 2004059551A1
Authority
US
United States
Prior art keywords
filter
equation
time
fast
circumflex over
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US10/415,674
Other versions
US7039567B2 (en
US20050171744A2 (en
Inventor
Kiyoshi Nishiyama
Original Assignee
Japan Science and Technology Agency
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Science and Technology Agency filed Critical Japan Science and Technology Agency
Publication of US20040059551A1 publication Critical patent/US20040059551A1/en
Publication of US20050171744A2 publication Critical patent/US20050171744A2/en
Application granted granted Critical
Publication of US7039567B2 publication Critical patent/US7039567B2/en
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters
    • H03H21/0043Adaptive algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers

Definitions

  • the present invention relates to system identification methods, and more particularly, to a time-varying system identification method at a high speed in real time by using a fast algorithm for modified H ⁇ filters developed based on a new H ⁇ evaluation criterion.
  • system identification is to estimate a mathematical model (a transfer function, an impulse response, or the like) of a system input-and-output relationship according to the input-and-output data.
  • Typical applications thereof include echo cancellers in international communications, automatic equalizers in data communications, echo cancellers in acoustic systems, sound-field reproduction, and active noise control in vehicles. Details are written in “Digital Signal Processing Handbook”, the Institute of Electronics, Information and Communication Engineers, 1993, or the like.
  • FIG. 14 shows a configuration for system identification.
  • This system includes an unknown system 1 and an adaptive filter 2 .
  • the adaptive filter 2 has an FIR digital filter 3 and an adaptive algorithm 4 .
  • u k indicates an input to the unknown system 1
  • d k indicates the output of the system, which is a signal to be obtained
  • d ⁇ circumflex over ( ) ⁇ k indicates the output of the filter.
  • a mark “ ⁇ circumflex over ( ) ⁇ ” means an estimated value and should be placed above characters, but it is placed at the upper right of the characters for input convenience. This notation may be used through the present specification.
  • FIG. 15 shows the structure of an impulse-response adjustment mechanism.
  • ⁇ k+1 ⁇ k + ⁇ u k ( y k ⁇ u k T ⁇ k ) (1)
  • ⁇ k [ ⁇ 0 [k], . . . , ⁇ N ⁇ 1 [k]] T
  • u k [u k , . . . , u k ⁇ N+1 ] T , u> 0
  • Kalman filters which converges quickly, are suitable for identifying a time-varying system.
  • k ⁇ circumflex over (x) ⁇ k
  • K k ⁇ circumflex over (P) ⁇ k
  • the impulse response ⁇ h i ⁇ of unknown system is obtained as a state estimate x ⁇ circumflex over ( ) ⁇ k
  • FIG. 16 is an explanation view of a communication system and an echo.
  • Impedance matching is performed by disposing hybrid transformers at connection points between two-wire circuits and a four-wire circuit, as shown in the figure. If the impedance matching is perfect, a signal (voice) from a speaker B reaches only a speaker A. However, it is difficult to make the matching perfect in general. A phenomenon occurs in which a part of a received signal leaks to the four-wire circuit, is amplified, and returns to the receiver (speaker A). This is an echo. As the transmission distance gets longer (delay time gets longer), the effect of the echo gets larger, and the quality of telephone speech significantly deteriorates (in pulse transmission, an echo influences significantly even in a short distance, and the quality of telephone speech deteriorates).
  • FIG. 17 shows a basic principle of an echo canceller.
  • the echo canceller is introduced to successively estimate the impulse response of an echo path by using a received signal and an echo directly observable, and to subtract a quasi echo obtained by using the estimate from an actual echo to cancel and remove the echo.
  • the impulse response of the echo path is estimated such that the mean square error of a residual echo e k is minimized.
  • Elements which disturb the estimation of the echo path are line noise and a signal (voice) from the speaker A.
  • the estimation of the impulse response is generally halted. Since the impulse response of the hybrid transformers has a length of approximately 50 [ms], if the sampling period is set to 125 [ ⁇ s], the order of the impulse response of the echo path actually becomes approximately 400.
  • the LMS algorithm (least-mean-square algorithm) has been widely used as adaptive algorithm due to its simplicity, but it is impossible to closely track a time-varying system which varies suddenly due to its very slow convergence.
  • a Kalman filter which has an excellent tracking performance, requires the amount of calculation proportional to O(N 2 ) or O(N 3 ). Since the amount of calculation rapidly increases with the tap number N, it is difficult to process actual issues requiring a high tap number N in real time. As a countermeasure therefor, a fast Kalman filter with the computational complexity of O(N) per unit time step for a tap number N has been proposed, but it is impossible for the filter to identify a time-varying system because of its stationary characteristic (incapable of taking system noise into account).
  • a new H ⁇ evaluation criterion is introduced, a fast algorithm for the modified H ⁇ filters is developed according to the criterion, and a fast time-varying system identification method based on the fast algorithm is proposed in the present invention.
  • FIG. 1 is a flowchart of a fast algorithm.
  • FIG. 2 is an explanation view ( 1 ) of the amount of calculation in each part of a modified H ⁇ filtering algorithm.
  • FIG. 3 is an explanation view ( 2 ) of the amount of calculation in each part of the modified H ⁇ filtering algorithm.
  • FIG. 4 is an explanation view of the amount of calculation when the order of matrix calculation is changed.
  • FIG. 5 is an explanation view ( 1 ) of the amount of calculation in a fast H ⁇ filtering algorithm.
  • FIG. 6 is an explanation view ( 2 ) of the amount of calculation in the fast H ⁇ filtering algorithm.
  • FIG. 7 is a view showing values of an impulse response ⁇ h i ⁇ to be estimated.
  • FIG. 8 is a comparative explanation view of estimated results of impulse responses obtained by the modified H ⁇ filter and the fast H ⁇ filter.
  • FIG. 9 is a view of measurement results of computation time.
  • FIG. 10 is a view ( 1 ) of simulation results of each algorithm.
  • FIG. 11 is a view ( 2 ) of simulation results of each algorithm.
  • FIG. 12 is a view showing the relationship between ⁇ , and ⁇ .
  • FIG. 13 is a view showing the relationship among tap numbers and computation times of impulse responses obtained by the fast H ⁇ filter, fast Kalman filter, and LMS algorithm.
  • FIG. 14 is a view showing a configuration for system identification.
  • FIG. 15 is a view showing the configuration of an impulse-response adjustment mechanism.
  • FIG. 16 is an explanation view of a communication system and an echo.
  • FIG. 17 is a view showing the principle of an echo canceller.
  • x k State vector or just state, unknown and to be estimated.
  • v k Observation noise, unknown.
  • y k Observation signal, known and input to a filter.
  • H k Observation matrix, known.
  • L k Output matrix, known.
  • k State value of the state x k at time k, estimated by using observation signals y 0 -y k . Given by a filter equation.
  • K s, k+1 Filter gain, obtained by matrix P ⁇ circumflex over ( ) ⁇ k
  • ⁇ wk Corresponds to the covariance matrix of the system noise, known in theory but unknown in practice.
  • k ⁇ 1 Corresponds to the covariance matrix of the error of x ⁇ circumflex over ( ) ⁇ k
  • 0 Corresponds to the covariance matrix of an error in the initial state, essentially unknown but set to ⁇ 0 I for convenience.
  • ⁇ 2 v Variance of the observation noise, treated as known in theory but unknown in practice.
  • ⁇ 2 w Variance of the system noise, treated as known in theory but unknown in practice.
  • a mark “ ⁇ circumflex over ( ) ⁇ ” placed above a symbol indicates an estimated value
  • a mark “U” indicates that the matrix is extended by one row
  • a mark “ ⁇ tilde over () ⁇ ” is added for convenience.
  • These marks are placed at the upper right of characters for input convenience, but, as shown in expressions, they are identical with those placed above characters.
  • “L”, “H”, “P”, and “K” indicate matrixes. Some of them are written in bold face as in expressions, but they are usually written in lightface for convenience.
  • x k+1 x k +w k , w k ,x k ⁇ R N (7)
  • a modified H ⁇ filter of level ⁇ f satisfying the evaluation criterion can be given by the following equations (11) to (14) by applying a standard H ⁇ estimation scheme known in the system identification field.
  • This scheme is shown, for example, in “Linear Estimation in Krein Spaces—Part I: Theory,” B. Hassibi, A. H. Sayed, and T. Kailath, IEEE Trans. Automatic Control, 41, 1, pp.18-33, 1996., and “Linear Estimation in Krein Spaces—Part II: Applications,” B. Hassibi, A. H. Sayed, and T. Kailath, IEEE Trans.
  • the above algorithm is essentially different from that applied to normal H ⁇ filters.
  • the main load for calculating the modified H ⁇ filter rises during the update of P ⁇ circumflex over ( ) ⁇ k+1
  • a tap number N matches the dimension of the state vector x k . Therefore, as the dimension of x k increases, the computation time required to perform the modified H ⁇ filter increases rapidly.
  • the introduction of a fast algorithm of the modified H ⁇ filter is needed.
  • a matrix P k satisfies the Riccati equation of (14). Therefore, when a gain matrix K k is obtained, the filter gain K s, k is immediately obtained from the following lemma.
  • the filter gain K s, k of the modified H ⁇ filter is obtained by using the gain matrix K k as shown below.
  • the gain matrix K k can be fast calculated by the recursive method in Lemma 3.
  • the gain matrix K k is updated as follows.
  • K k+1 m k ⁇ B k F k ⁇ 1 ⁇ k ⁇ R N ⁇ 2 (20)
  • [ m k ⁇ k ] [ 0 K k ] + [ S k - 1 A k ⁇ S k - 1 ] ⁇ [ c k T + A k T ⁇ C k T ] ( 21 )
  • Auxiliary variables A k ⁇ R N ⁇ 1 , S k ⁇ R, and B k F ⁇ 1 k ⁇ R N ⁇ 1 are obtained as well.
  • FIG. 1 shows a flowchart of the fast algorithm, where L indicates a maximum data length.
  • 0 0
  • Step 1 Compare time k with the maximum data length L. When the time k is larger than the maximum data length, terminate the processing. When the time k is equal to or smaller than the maximum data length, the processing proceeds to the next step (a conditional statement can be removed, if unnecessary).
  • Step 2 Determine A k and S k recursively as follows.
  • a k A k ⁇ 1 ⁇ K k W k ⁇ tilde over (e) ⁇ k ⁇ R N ⁇ 1
  • K U k [ S k - 1 ⁇ e k T K k + A k ⁇ S k - 1 ⁇ e k T ] ⁇ ⁇ ( N + 1 ) ⁇ 2
  • K U k [ m k ⁇ k ] ⁇ m k ⁇ ⁇ N ⁇ 2 , ⁇ k ⁇ ⁇ 1 ⁇ 2
  • Step 5 Determine D k , and obtain a gain matrix K s, k+1 from K k+1 as follows:
  • K k+1 m k ⁇ D k ⁇ k
  • K s,k+1 G k+1 ⁇ 1 ⁇ overscore (K) ⁇ k+1
  • G k+1 ⁇ + ⁇ f ⁇ 2 H k+1 ⁇ overscore (K) ⁇ k+1
  • k ⁇ 1 ⁇ circumflex over (x) ⁇ k
  • FIGS. 2 and 3 are views showing of the amount of calculation of each part of the modified H ⁇ filtering algorithm, where N indicates a tap number.
  • N indicates a tap number.
  • a calculation for obtaining R e, k ⁇ 1 from R e, k is ignored.
  • k H T k+1 +1) is also ignored.
  • FIG. 4 is a view showing the amount of calculation required when the order of matrix calculations is changed. More specifically, FIG. 4 shows the amount of calculation required when the order of matrix calculations in the following part is changed in the Riccati equation, compared with FIG. 3( b ).
  • FIGS. 5 and 6 are views showing the amount of calculation in the fast H ⁇ filtering algorithm.
  • S k ⁇ 1 is obtained from S k , but the calculation thereof is ignored.
  • D k in FIG. 6( b ) a calculation for obtaining [1 ⁇ k W k ⁇ k ] ⁇ 1 from [1 ⁇ k W k ⁇ k ] is also ignored.
  • the amount of calculation in the entire present fast algorithm is O(N) per unit time step according to FIGS. 5 and 6. Therefore, the amount of calculation in the fast H ⁇ filtering algorithm is in proportion to the tap number.
  • the amount of calculation (the number of multiplications) for performing the fast H ⁇ filter once is 28N+16 per unit step, and is approximately double the amount (multiplication frequency) of calculation required for a fast Kalman filter, that is 12N+3.
  • v k indicates circuit noise having zero mean at time t k ;
  • the echo canceller problem is equivalent to successively estimating the impulse response ⁇ h i [k] ⁇ of the echo path from the received signal ⁇ u k ⁇ and echo ⁇ y k ⁇ , both of which are directly observable.
  • equation (24) has to be expressed by a state-space model formed of a state equation and an observation equation.
  • the state vector to be obtained is the impulse response ⁇ h i [k] ⁇ , allowing a state vector x k to fluctuate with w k , the following state-space model can be constructed for the echo path.
  • x k [h 0 [k], . . . , h N ⁇ 1 [k]] T
  • w k [w k (1), . . . , w k (N)] T
  • Modified H ⁇ filtering algorithm and fast H ⁇ filtering algorithm for such a state-space model are the same as those described above. While the impulse response is estimated, if the occurrence of a transmission signal is detected, the estimation is generally stopped in the meanwhile.
  • an echo canceller is implemented.
  • FIG. 7 is a view showing values of the impulse response ⁇ h i ⁇ in this case.
  • v k is stationary Gaussian white noise having zero mean and variance ⁇ v 2 of 1.0 ⁇ 10 ⁇ 6 , and a sampling period T is set to 1.0 for convenience.
  • the received signal ⁇ u k ⁇ is approximated by a quadratic AR model as shown below.
  • the fast H ⁇ filtering algorithm includes the fast Kalman filtering algorithm and its convergence rate can be accelerated by adjusting ⁇ f .
  • the computation time required for the modified H ⁇ filter and that for the fast H ⁇ filter are evaluated under conditions where the impulse response of the echo path is time-invariant and the tap number is increased to 24, 48, 96, 192, and 384. Since dispersion may occur in one measurement, the average of four measurements was used.
  • the values shown in FIG. 7 are used as impulse responses ⁇ h i ⁇ in simulation, and impulse responses ⁇ h i ⁇ thereafter (24 ⁇ k ⁇ N) are set to 0.
  • the filter calculation is performed up to step 100 .
  • the computation time was measured by a command “etime” of MATLAB on a workstation (sparc, 60 MHz, 32 MB).
  • FIG. 9 is a view showing measurement results of the computation time.
  • matrix calculation is performed for a modified H ⁇ filter (2) such that the amount of calculation is in proportion to the square of the tap number
  • matrix calculation is performed for a modified H ⁇ filter (1) such that the amount of calculation is in proportion to the cube of the tap number (see FIG. 3( b ) and FIG. 4).
  • modified H ⁇ filters since the computational complexity is in proportion to the square or cube of the tap number depending on the order of matrix calculation as described above, they are not practical.
  • ⁇ 1 0.7
  • ⁇ 2 0.1
  • w k ′ is stationary Gaussian white noise having zero mean and variance ⁇ 2 w′ of 0.04.
  • FIGS. 10 and 11 are views showing the simulation result of each algorithm. These views show the tracking performance of time-varying systems which employ a fast H ⁇ filter (fast HF), a fast Kalman filter (fast KF), and LMS algorithm (LMS).
  • FIG. 11( a ) shows the estimates obtained with the fast Kalman filter.
  • the initial value of the fast H ⁇ filter is set such that x ⁇ circumflex over ( ) ⁇ 0
  • FIG. 11( a ) shows the estimates obtained with the fast Kalman filter.
  • the initial value of the fast H ⁇ filter is set such that x ⁇ circumflex over ( ) ⁇ 0
  • 0 0 and so
  • S k is used as S k ⁇ 1 in the equation of K u k .
  • S k ⁇ 1 In order to largely update the filter equation, S k ⁇ 1 must be larger. In other word, S k needs to be kept small to make the large update.
  • the existence of ⁇ prevents S k from increasing rapidly, which is resultantly equivalent to adding system noise, and thereby the tracking performance is improved. Since the weight ⁇ is defined as 1 ⁇ f ⁇ 2 the tracking performance can be varied by adjusting ⁇ f as confirmed in the simulation.
  • FIG. 12 is a view showing the relationship between ⁇ f and ⁇ .
  • ⁇ f 3.0
  • ⁇ f 3.0
  • the computation time was measured for the fast H ⁇ filter, the fast Kalman filtering algorithm, and the LMS algorithm when the tap number was increased to 48, 96, 192, and 384 in the cases shown in FIGS. 10 and 11. Because dispersion may occur in one measurement result, the average of four measurement results, for example, was used.
  • the amount of calculation is in proportion to the tap number. It is also found that when the tap number is large, the computation time for the fast H ⁇ filtering algorithm is about a little less than twice the computation time for the fast Kalman filtering algorithm, and is approximately four times longer than that for the LMS algorithm, which is practical. Considering the tracking performance, it can be said that the fast H ⁇ filtering algorithm is sufficiently effective.
  • Equation (33) The inverse matrix of P k will be indicated by equation (33). Further, a recursive equation for the matrix P k can be obtained, as shown in equation (34), by using the matrix inversion lemma.
  • the gain matrix K k can be expressed as follows.
  • Equations (37) and (38) are newly introduced to utilize the shift property of C k .
  • Q U k is expressed recursively as shown in equation (39), and is divided as in the following equation (40).
  • ⁇ haeck over (Q) ⁇ k ⁇ haeck over (Q) ⁇ k ⁇ 1 ⁇ haeck over (C) ⁇ k T W k ⁇ haeck over (C) ⁇ k (39 )
  • equation (36) of the time steps k and k+1 is included in the following equation.
  • ⁇ k T T k T K k ⁇ R 1 ⁇ 2
  • ⁇ k T T k K k+1 ⁇ R 1 ⁇ 2 .
  • K U k ⁇ R (N+1) ⁇ 2 can be expressed as shown in equation (46) by using equation (45), obtained from equation (41).
  • C ⁇ k T Q ⁇ k ⁇ [ 0 K k ] - [ ⁇ k T - c k T 0 ] ( 45 )
  • K U k is divided into m k ⁇ R N ⁇ 2 and ⁇ k ⁇ R 1 ⁇ 2 .
  • ⁇ T k ⁇ C T k ⁇ (C k T +A k T C k T ).
  • auxiliary variables A k ⁇ R N ⁇ 1 and S k ⁇ R satisfy the following equation.
  • Equation (49) the left-hand side of equation (49) is multiplied by Q U k from the left to obtain the following equation.
  • Equations (36) and (52) are compared to obtain the update equation of the gain matrix K k .
  • auxiliary variables A k and S k can be obtained as follows:
  • a k A k ⁇ 1 ⁇ K k W k [c k +C k A k ⁇ 1 ] ⁇ R N ⁇ 1 (53)
  • Equation (58) By subtracting equation (57) from equation (56), the following equation (58) is formed.
  • Equation (62) is formed by using equation (61).
  • ⁇ haeck over (B) ⁇ k ( ⁇ haeck over (B) ⁇ k ⁇ 1 ⁇ K k W k ⁇ haeck over (B) ⁇ k ⁇ 1 )/ ⁇ (64)
  • D k B k ⁇ F k - 1
  • the fast real-time identification of time-invariant and time-variant systems can be implemented by using the fast algorithm (fast H ⁇ filtering algorithm) for the modified H ⁇ filters developed based on the new H ⁇ evaluation criterion.
  • the present algorithm includes, as a particular case, the fast Kalman filtering algorithm, and a term corresponding to the covariance of system noise which is dominant in the tracking performance of a time-varying system can be theoretically determined.
  • a fast time-varying system identification method can be provided, which is very effective particularly when a system (impulse response) is varied discontinuously with time, such as an echo canceller for a time-varying system which varies extremely as sudden line switching.
  • a system identification method can be provided, which is applicable to echo cancellers in communication systems and acoustic systems, sound-field reproduction, and noise control.

Abstract

Quick real-time identification and estimation of a time-non-varying or time-varying system. A new H evaluation criterion is determined, a fast algorithm for a modified H filter based on the criterion is developed, and a quick time-varying system identifying method according to the fast H filtering algorithm is provided. By the fast H filtering algorithm, a time-varying system sharply varying can be traced with an amount of calculation O(N) per unit time step. The algorithm completely agrees with a fast Kalman filtering algorithm at the extreme of the upper limit value. If the estimate of impulse response is determined, a pseudo-echo is sequentially determined from the estimate and subtracted from the real echo to cancel the echo. Thus an echo chancellor is realized.

Description

    BACKGROUND OF THE INVENTION
  • The present invention relates to system identification methods, and more particularly, to a time-varying system identification method at a high speed in real time by using a fast algorithm for modified H[0001] filters developed based on a new H evaluation criterion.
  • In general, system identification is to estimate a mathematical model (a transfer function, an impulse response, or the like) of a system input-and-output relationship according to the input-and-output data. Typical applications thereof include echo cancellers in international communications, automatic equalizers in data communications, echo cancellers in acoustic systems, sound-field reproduction, and active noise control in vehicles. Details are written in “Digital Signal Processing Handbook”, the Institute of Electronics, Information and Communication Engineers, 1993, or the like. [0002]
  • (Basic Principle) [0003]
  • FIG. 14 shows a configuration for system identification. This system includes an [0004] unknown system 1 and an adaptive filter 2. The adaptive filter 2 has an FIR digital filter 3 and an adaptive algorithm 4.
  • One case which uses an output error method to identify the [0005] unknown system 1 will be described below. Here, uk indicates an input to the unknown system 1, dk indicates the output of the system, which is a signal to be obtained, and d{circumflex over ( )}k indicates the output of the filter. (A mark “{circumflex over ( )}” means an estimated value and should be placed above characters, but it is placed at the upper right of the characters for input convenience. This notation may be used through the present specification.)
  • Since an impulse response is generally used as a parameter of an unknown system, the adaptive filter adjusts a coefficient of the FIR [0006] digital filter 3 by the adaptive algorithm such that an evaluation error ek=dk−d{circumflex over ( )}k in the figure is minimized.
  • FIG. 15 shows the structure of an impulse-response adjustment mechanism. [0007]
  • Here, as an example of adaptive algorithm, the following LMS algorithm (least mean square algorithm) is widely used because of its computational simplicity. [0008]
  • [LMS Algorithm][0009]
  • ĥ k+1 k +μu k(y k −u k T ĥ k)  (1)
  • where, [0010]
  • ĥ k =[ĥ 0 [k], . . . , ĥ N−1 [k]] T , u k =[u k , . . . , u k−N+1]T , u>0  (2)
  • Generally, Kalman filters, which converges quickly, are suitable for identifying a time-varying system. [0011]
  • [Kalman Filter][0012]
  • {circumflex over (x)} k|k ={circumflex over (x)} k|k−1 +K k(yk −H k {circumflex over (x)} k|k−1)
  • {circumflex over (x)} k+1|k ={circumflex over (x)} k|k  (3)
  • K k ={circumflex over (P)} k|k−1 H k T(1H k {circumflex over (P)} k|k−1 H k T)−1  (4)
  • {circumflex over (P)} k|k ={circumflex over (P)} k|k−1 −K k H k {circumflex over (P)} k|k−1
  • [0013] P ^ k + 1 / k = P ^ k / k + σ w 2 σ v 2 I ( 5 )
    Figure US20040059551A1-20040325-M00001
  • where, [0014]
  • {circumflex over (x)} k|k =[ĥ 0 [k], . . . , ĥ N−1 [k]] T , H k =[u k−1 , . . . , u k−N]
  • {circumflex over (x)} 0|1=0, {circumflex over (P)} 0|−10 I, ε 0>0  (6)
  • Here, the impulse response {h[0015] i} of unknown system is obtained as a state estimate x{circumflex over ( )}k|k, and an input {uk} to the system is used as an element of an observation matrix Hk.
  • Fast Kalman filtering algorithm is also known, which reduces the amount of calculation per unit time step to the number of times calculations are performed proportional to N, that is, O(N) by applying the shift property (H[0016] k+1(i+1)=Hk(i)) of the observation matrix Hk to a Kalman filter obtained when σ2 w=0. Details are written in “Digital Signal Processing Handbook”, the Institute of Electronics, Information and Communication Engineers, 1993, or the like.
  • (Applications to Echo Cancellers) [0017]
  • Four-wire circuits are used for long distance telephone lines such as for international calls for a reason of signal amplification and others. On the other hand, two-wire circuits are used for subscriber lines because they are relatively short. [0018]
  • FIG. 16 is an explanation view of a communication system and an echo. Impedance matching is performed by disposing hybrid transformers at connection points between two-wire circuits and a four-wire circuit, as shown in the figure. If the impedance matching is perfect, a signal (voice) from a speaker B reaches only a speaker A. However, it is difficult to make the matching perfect in general. A phenomenon occurs in which a part of a received signal leaks to the four-wire circuit, is amplified, and returns to the receiver (speaker A). This is an echo. As the transmission distance gets longer (delay time gets longer), the effect of the echo gets larger, and the quality of telephone speech significantly deteriorates (in pulse transmission, an echo influences significantly even in a short distance, and the quality of telephone speech deteriorates). [0019]
  • FIG. 17 shows a basic principle of an echo canceller. [0020]
  • As shown in the figure, the echo canceller is introduced to successively estimate the impulse response of an echo path by using a received signal and an echo directly observable, and to subtract a quasi echo obtained by using the estimate from an actual echo to cancel and remove the echo. [0021]
  • The impulse response of the echo path is estimated such that the mean square error of a residual echo e[0022] k is minimized. Elements which disturb the estimation of the echo path are line noise and a signal (voice) from the speaker A. When two speakers start talking at the same time (double talking), the estimation of the impulse response is generally halted. Since the impulse response of the hybrid transformers has a length of approximately 50 [ms], if the sampling period is set to 125 [μs], the order of the impulse response of the echo path actually becomes approximately 400.
  • SUMMARY OF THE INVENTION
  • In conventional arts, the LMS algorithm (least-mean-square algorithm) has been widely used as adaptive algorithm due to its simplicity, but it is impossible to closely track a time-varying system which varies suddenly due to its very slow convergence. [0023]
  • A Kalman filter, which has an excellent tracking performance, requires the amount of calculation proportional to O(N[0024] 2) or O(N3). Since the amount of calculation rapidly increases with the tap number N, it is difficult to process actual issues requiring a high tap number N in real time. As a countermeasure therefor, a fast Kalman filter with the computational complexity of O(N) per unit time step for a tap number N has been proposed, but it is impossible for the filter to identify a time-varying system because of its stationary characteristic (incapable of taking system noise into account).
  • In view of the above-described points, it is an object of the present invention to implement a fast real-time identification of time-varying and time-invariant systems by using a fast algorithm for modified H[0025] filters developed based on a new H evaluation criterion. It is another object of the present invention to include, as a particular case of the present algorithm, a fast Kalman filtering algorithm, and to determine theoretically the covariance of system noise which is dominant in the tracking performance of time-varying systems. It is still another object of the present invention to provide a fast time-varying system identification method which is substantially effective even when an input signal is discontinuously varied, such as in an echo canceller for a time-varying system which varies extremely as sudden line switching. It is a further object of the present invention to provide a system identification method which is applicable to echo cancellers in communication systems and acoustic systems, sound-field reproduction, and noise control.
  • In order to solve the problems described above, a new H[0026] evaluation criterion is introduced, a fast algorithm for the modified H filters is developed according to the criterion, and a fast time-varying system identification method based on the fast algorithm is proposed in the present invention. The fast algorithm according to the present invention is capable of tracking a time-varying system which varies rapidly, with the complexity of O(N) per unit time step. Further, it has a convenient property that it completely matches the fast Kalman filtering algorithm at a limit of γf=∞.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a flowchart of a fast algorithm. [0027]
  • FIG. 2 is an explanation view ([0028] 1) of the amount of calculation in each part of a modified H filtering algorithm.
  • FIG. 3 is an explanation view ([0029] 2) of the amount of calculation in each part of the modified H filtering algorithm.
  • FIG. 4 is an explanation view of the amount of calculation when the order of matrix calculation is changed. [0030]
  • FIG. 5 is an explanation view ([0031] 1) of the amount of calculation in a fast H filtering algorithm.
  • FIG. 6 is an explanation view ([0032] 2) of the amount of calculation in the fast H filtering algorithm.
  • FIG. 7 is a view showing values of an impulse response {h[0033] i} to be estimated.
  • FIG. 8 is a comparative explanation view of estimated results of impulse responses obtained by the modified H[0034] filter and the fast H filter.
  • FIG. 9 is a view of measurement results of computation time. [0035]
  • FIG. 10 is a view ([0036] 1) of simulation results of each algorithm.
  • FIG. 11 is a view ([0037] 2) of simulation results of each algorithm.
  • FIG. 12 is a view showing the relationship between γ, and ρ. [0038]
  • FIG. 13 is a view showing the relationship among tap numbers and computation times of impulse responses obtained by the fast H[0039] filter, fast Kalman filter, and LMS algorithm.
  • FIG. 14 is a view showing a configuration for system identification. [0040]
  • FIG. 15 is a view showing the configuration of an impulse-response adjustment mechanism. [0041]
  • FIG. 16 is an explanation view of a communication system and an echo. [0042]
  • FIG. 17 is a view showing the principle of an echo canceller. [0043]
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Embodiments of the present invention will be described hereinafter. Details are shown, for example, in “Derivation of A Fast Algorithm of Modified H[0044] Filters”, K. Nishiyama, IEEE international Conference on Industrial Electronics, Control and Instrumentation, RBC-II, pp.462-467, October, 2000.
  • 1. Description of Symbols [0045]
  • First, main symbols used in the embodiments of the present invention and whether they are known or unknown will be described. [0046]
  • x[0047] k: State vector or just state, unknown and to be estimated.
  • x[0048] 0: Initial state, unknown.
  • w[0049] k: System noise, unknown.
  • v[0050] k: Observation noise, unknown.
  • y[0051] k: Observation signal, known and input to a filter.
  • z[0052] k: Output signal, unknown.
  • H[0053] k: Observation matrix, known.
  • L[0054] k: Output matrix, known.
  • x{circumflex over ( )}[0055] k|k: State value of the state xk at time k, estimated by using observation signals y0-yk. Given by a filter equation.
  • x{circumflex over ( )}[0056] 0|0: Initial estimate of a state, essentially unknown but set to 0 for convenience.
  • K[0057] s, k+1: Filter gain, obtained by matrix P{circumflex over ( )}k|k−1.
  • Σ[0058] wk: Corresponds to the covariance matrix of the system noise, known in theory but unknown in practice.
  • P{circumflex over ( )}[0059] k|k−1: Corresponds to the covariance matrix of the error of x{circumflex over ( )}k|k−1, given by a Riccati equation.
  • P{circumflex over ( )}[0060] 1|0: Corresponds to the covariance matrix of an error in the initial state, essentially unknown but set to ε0I for convenience.
  • σ[0061] 2 v: Variance of the observation noise, treated as known in theory but unknown in practice.
  • σ[0062] 2 w: Variance of the system noise, treated as known in theory but unknown in practice.
  • A mark “{circumflex over ( )}” placed above a symbol indicates an estimated value, a mark “U” indicates that the matrix is extended by one row, and a mark “{tilde over ()}” is added for convenience. These marks are placed at the upper right of characters for input convenience, but, as shown in expressions, they are identical with those placed above characters. “L”, “H”, “P”, and “K” indicate matrixes. Some of them are written in bold face as in expressions, but they are usually written in lightface for convenience. [0063]
  • 2. Modified H[0064] Filter
  • Next, a state-space model as in the following equations (7) to (9) is discussed. [0065]
  • x k+1 =x k +w k , w k ,x k εR N  (7)
  • y k =H k x k +v k , y k , v k εR  (8)
  • z k =H k x k , z k εR, H k εR 1×N  (9)
  • where, L[0066] k=Hk (Hk=[uk uk−2 . . . uk−N+1]) assuming an echo canceller or the like. For such a state-space model, an H evaluation criterion (γf is newly placed in the left-hand side) such as that shown by expression (10) is proposed. sup x 0 , { w i } , { v i } i = 0 k e f , i 2 / ρ x 0 - x ˇ 0 - 1 Σ - 1 0 2 + i = 0 k w i Σ w k 2 + i = 0 k v i 2 / ρ < γ f 2 ( 10 )
    Figure US20040059551A1-20040325-M00002
  • When it is assumed that ρ or Σ[0067] wk does not depend on γf, a modified H filter of level γf satisfying the evaluation criterion can be given by the following equations (11) to (14) by applying a standard H estimation scheme known in the system identification field. This scheme is shown, for example, in “Linear Estimation in Krein Spaces—Part I: Theory,” B. Hassibi, A. H. Sayed, and T. Kailath, IEEE Trans. Automatic Control, 41, 1, pp.18-33, 1996., and “Linear Estimation in Krein Spaces—Part II: Applications,” B. Hassibi, A. H. Sayed, and T. Kailath, IEEE Trans. Automatic Control, 41, 1, pp.34-49, 1996. z _ k k = H k ϰ k k ( 11 ) ϰ ^ k + 1 k + 1 = ϰ ^ k k + K a , k + 1 ( y k + 1 - H k + 1 ϰ ^ k k ) Filter equation ( 12 ) K a , k + 1 = P ^ k + 1 k H k + 1 T ( H k + 1 P ^ k + 1 k H k + 1 T + ρ ) - 1 Filter gain ( 13 ) P ^ k + 1 k = P ^ k k - 1 - P ^ k k - 1 [ H k T H k T ] R e , k - 1 [ H k H k ] P ^ k k - 1 + w k where , Riccati equation ( 14 ) e j , i = z i i - H i ϰ i R e , k = R k + [ H k H k ] P k k - 1 [ H k T H k T ] R k = [ ρ 0 0 - ργ j 2 ] , Σ w k = γ f - 2 P k + 1 k P k k - 1 - 1 + H k T H k < 0 , P 1 0 = ɛ 0 I , ɛ 0 > 0 0 < ρ = 1 - γ f - 2 1 , γ f > 1 ( 15 )
    Figure US20040059551A1-20040325-M00003
  • Since a weight ρ in the evaluation criterion depends on an upper limit γ[0068] f determined in advance, the above algorithm is essentially different from that applied to normal H filters. The present algorithm controls a maximum energy gain from disturbances (having the initial state x0, the system noise {wi}, and the observation noise {νi}) weighted by ρ to a filter error {ef,i} so as to be smaller than γf 2. Therefore, the present algorithm is a robust filtering algorithm against the disturbances. This property is reflected by the tracking characteristic of a time-varying system. When γf→∞ is satisfied, ρ=1 and Σwk=0. In this time, the modified H filter becomes a normal H filter.
  • The main load for calculating the modified H[0069] filter rises during the update of P{circumflex over ( )}k+1|kεRN×N, which requires the amount of calculation in proportion to N2 or N3. That is, an arithmetic operation of O(N2) per unit time step is required. Here, a tap number N matches the dimension of the state vector xk. Therefore, as the dimension of xk increases, the computation time required to perform the modified H filter increases rapidly. In order to overcome the drawback, the introduction of a fast algorithm of the modified H filter is needed.
  • 3. Fast H[0070] Filtering Algorithm
  • The calculation of the Riccati equation (covariance equation of a state estimation error) shown in equation (14) is dominant in the computational complexity of the modified H[0071] filter. Therefore, to process the modified H filter at a high speed, if the filter gain of equation (13) is directly determined without using the Riccati equation, the computational burden can be significantly reduced.
  • Since it is difficult to derive a fast algorithm for directly obtaining a filter gain K[0072] s,kεRN×1, however, evolving an algorithm for fast calculating a gain matrix defined as follows is examined.
  • K k =P k C k T εR N×2  (16)
  • where, [0073] P k = [ k T Ω k k ] - 1 = [ i = 1 k ρ k - i C i T W i C i ] - 1 Ω k = [ ρΩ k - 1 0 0 W k ] , Ω 1 = W 1 , W i = ρ R i - 1 = [ 1 0 0 - γ f - 2 ] 2 × 2 k = [ C 1 C k ] , C i = [ H i H i ] 2 × N . ( 17 )
    Figure US20040059551A1-20040325-M00004
  • Here, the following lemmas are formed. [0074]
  • [0075] Lemma 1
  • A matrix P[0076] k satisfies the Riccati equation of (14). Therefore, when a gain matrix Kk is obtained, the filter gain Ks, k is immediately obtained from the following lemma.
  • [0077] Lemma 2
  • The filter gain K[0078] s, k of the modified H filter is obtained by using the gain matrix Kk as shown below. In practice, the gain matrix Kk can be fast calculated by the recursive method in Lemma 3.
  • K s,k =G k −1 {overscore (K)} k , G k =ρ+γ f −2 H k {overscore (K)} k εR  (18)
  • where, [0079]
  • {overscore (K)} k(i)=ρK k(i, 1), i=1,2, . . . , N  (19)
  • [0080] Lemma 3
  • The gain matrix K[0081] k is updated as follows.
  • K k+1 =m k −B k F k −1μk εR N×2  (20)
  • Here, m[0082] kεRN×2 and μk εR1×2 are obtained by dividing a matrix of KU k =Q U k −1CU k as shown below. [ m k μ k ] = [ 0 K k ] + [ S k - 1 A k S k - 1 ] [ c k T + A k T C k T ] ( 21 )
    Figure US20040059551A1-20040325-M00005
  • Auxiliary variables A[0083] kεRN×1, SkεR, and BkF−1 kεRN×1 are obtained as well.
  • In conclusion, the fast H[0084] filtering algorithm can be summarized as below.
  • FIG. 1 shows a flowchart of the fast algorithm, where L indicates a maximum data length. [0085]
  • [Step 0] Set initial conditions of a recursive expression as follows, where ε[0086] 0 is a substantially large positive constant. K 0 = 0 , A - 1 = 0 , S - 1 = ρ ɛ 0 , D - 1 = 0 , x ^ 0 | 0 = 0
    Figure US20040059551A1-20040325-M00006
  • [Step 1] Compare time k with the maximum data length L. When the time k is larger than the maximum data length, terminate the processing. When the time k is equal to or smaller than the maximum data length, the processing proceeds to the next step (a conditional statement can be removed, if unnecessary). [0087]
  • [Step 2] Determine A[0088] k and Sk recursively as follows.
  • {overscore (e)} k =c k +C k A k−1 εR 2×1
  • A k =A k−1 −K k W k{tilde over (e)}k εR N×1
  • e k =c k +C k A k εR 2×1
  • S k =ρS k−1 +e k T W k {tilde over (e)} k εR
  • [Step 3] Calculate K[0089] U k as follows. K ˇ k = [ S k - 1 e k T K k + A k S k - 1 e k T ] ( N + 1 ) × 2
    Figure US20040059551A1-20040325-M00007
  • [Step 4] Divide K[0090] U k as follows. K ˇ k = [ m k μ k ] m k N × 2 , μ k 1 × 2
    Figure US20040059551A1-20040325-M00008
  • [Step 5] Determine D[0091] k, and obtain a gain matrix Ks, k+1 from Kk+1 as follows:
  • ηk =c k−N C k+1 D k−1
  • D k =[D k−1 −m k W kηk][1−μk W k η k]−1
  • K k+1 =m k −D kμk
  • {overscore (K)} k+1(i)=ρK k+1(i, 1), i=1, . . . , N
  • K s,k+1 =G k+1 −1 {overscore (K)} k+1 , G k+1=ρ+γf −2 H k+1 {overscore (K)} k+1
  • where, η[0092] kεR2×1, DkεRN×1, Kk+1εRN×2, Ks, k+1εRN×1, 0<ρ=1−γf −2≦1, γ f>1.
  • [Step 6] Update the filter equation of the H[0093] filter as follows.
  • {circumflex over (x)} k+1|k−1 ={circumflex over (x)} k|k +K a, k+1(y k+1 −H k+1 {circumflex over (x)} k|k)
  • [Step7] Put the time k forward (k=k+1). The processing returns to Step 2, and the subsequent processes are repeated as long as the data exists. [0094]
  • Lemma 6 (Existence Condition Suitable for Fast Processing) [0095]
  • The existence of the fast H[0096] filter can be checked with the computational complexity of O(N) by using the following existence condition.
  • [Existence Condition][0097]
  • −e{circumflex over (Ξ)} i+ργf 2>0, i=0, . . . , k  (22)
  • where, [0098] ϱ = 1 - γ f 2 , Ξ ^ i H i K ~ i 1 - H i K ~ i ( 23 )
    Figure US20040059551A1-20040325-M00009
  • 4. Computational Complexity of the Present Fast Algorithm [0099]
  • Next, how the computational complexity of the fast H[0100] filtering algorithm decreases, as compared with the computational requirement of the modified H, filtering algorithm, will be discussed. Only the number of multiplications is used for evaluating the amount of calculation of an equation, and is calculated by the following method.
  • Number of multiplications when a J-by-K matrix is multiplied by a K-by-L matrix is J×K×L (times). [0101]
  • Here, when three or more matrixes or vectors are multiplied, they are calculated from the left unless a direction is specially shown in the figure. [0102]
  • (Computational Complexity of the Modified H[0103] Filtering Algorithm)
  • FIGS. 2 and 3 are views showing of the amount of calculation of each part of the modified H[0104] filtering algorithm, where N indicates a tap number. In FIG. 3(a), a calculation for obtaining Re, k −1 from Re, k is ignored. Similarly, in FIG. 2(a), a calculation for obtaining (Hk+1P{circumflex over ( )}k+1|kHT k+1+1)−1 from (Hk+1P{circumflex over ( )}k+1|kHT k+1+1) is also ignored.
  • As shown in FIGS. [0105] 2(a), 3(a), and 3(b), the amount of calculation of each of Ks|k+1, Re, k, and P{circumflex over ( )}k+1|k is in proportion to the square of the tap number. Therefore, the amount of calculation of the entire modified H filtering algorithm is O(N2) per unit time step.
  • FIG. 4 is a view showing the amount of calculation required when the order of matrix calculations is changed. More specifically, FIG. 4 shows the amount of calculation required when the order of matrix calculations in the following part is changed in the Riccati equation, compared with FIG. 3([0106] b).
  • Since the amount of calculation of the above-described part is proportional to the cube of the tap number, the amount of calculation of P{circumflex over ( )}[0107] k+1|k is also in proportion to the cube of the tap number. Accordingly, the amount of calculation of the entire H filter increases from the square to the cube of the tap number.
  • Since either algorithm requires the amount of calculation proportional to the square or cube of the tap number, however, the computational burden for carrying out the filter increases significantly as the tap number increases. In fact, since a tap number used in the field of communication engineering, for example, is approximately 400, the practical use of the algorithm becomes very difficult. [0108]
  • (Computational Complexity of the Fast H[0109] Filtering Algorithm)
  • FIGS. 5 and 6 are views showing the amount of calculation in the fast H[0110] filtering algorithm. In the expression of Ku k in FIG. 5(b), Sk −1 is obtained from Sk, but the calculation thereof is ignored. Similarly, in the expression of Dk in FIG. 6(b), a calculation for obtaining [1−μkWkηk]−1 from [1−μkWkηk] is also ignored.
  • The amount of calculation in the entire present fast algorithm is O(N) per unit time step according to FIGS. 5 and 6. Therefore, the amount of calculation in the fast H[0111] filtering algorithm is in proportion to the tap number. In this case, the amount of calculation (the number of multiplications) for performing the fast H filter once is 28N+16 per unit step, and is approximately double the amount (multiplication frequency) of calculation required for a fast Kalman filter, that is 12N+3.
  • As described above, although the computational complexity proportional to the square or cube of the tap number is required for the modified H[0112] filtering algorithm, the computational complexity of the present fast algorithm is smaller and proportional to the tap number.
  • 5. Echo Canceller [0113]
  • The advantage of the present invention will be examined, with an echo canceller being taken as an example. [0114]
  • An observation value {y[0115] k} of an echo {dk} is expressed in the following expression by an (time-varying) impulse response ({hi[k]} of an echo path, where it is considered that a received signal {uk} is an input signal to the echo path: y k = d k + v k = i = 0 N - 1 h i [ k ] u k - i + v k , k = 0 , 1 , 2 , ( 24 )
    Figure US20040059551A1-20040325-M00010
  • where, u[0116] k and yk indicate, respectively, the received signal and the echo at time tk (=kT, T is a sampling period); vk indicates circuit noise having zero mean at time tk; and hi[k] (i=0, . . . , and N−1) is a time-varying impulse responses assuming a gradual change, and the tap number N thereof is known. Once estimated values {h{circumflex over ( )}i[k]} of the impulse response are obtained, a quasi echo is generated as follows by using the estimated values. d ^ k = i = 0 N - 1 h ^ i [ k ] u k - i , k = 0 , 1 , 2 , ( 25 )
    Figure US20040059551A1-20040325-M00011
  • Subtracting this from the echo (y[0117] k−d{circumflex over ( )}k≈0) , the echo is cancelled, where uk−1=0 when k−i<0.
  • From the above description, the echo canceller problem is equivalent to successively estimating the impulse response {h[0118] i[k]} of the echo path from the received signal {uk} and echo {yk}, both of which are directly observable.
  • In general, when the H[0119] filter is applied to an echo canceller, equation (24) has to be expressed by a state-space model formed of a state equation and an observation equation. In this case, since the state vector to be obtained is the impulse response {hi[k]}, allowing a state vector xk to fluctuate with wk, the following state-space model can be constructed for the echo path.
  • {circumflex over (x)} k+1 ={circumflex over (x)} k+ w k , {circumflex over (x)} w k εR N  (26)
  • y k =H k x kk , y kk εR  (27)
  • z k =H k x k , z k ε R, H k εR 1×N  (28)
  • where, [0120]
  • x k =[h 0 [k], . . . , h N−1 [k]] T , w k =[w k(1), . . . , wk(N)]T
  • H k =[u k , . . . , u k−1 ], L k =H k
  • Modified H[0121] filtering algorithm and fast H filtering algorithm for such a state-space model are the same as those described above. While the impulse response is estimated, if the occurrence of a transmission signal is detected, the estimation is generally stopped in the meanwhile.
  • Thus, when an estimate {h{circumflex over ( )}[0122] i[k]} of the impulse response is obtained, the quasi echo is successively obtained therefrom as follows. d ^ k = H k x ^ k | k = i = 0 N - 1 h ^ i [ k ] u k - i ( 29 )
    Figure US20040059551A1-20040325-M00012
  • Therefore, subtracting this from an actual echo to cancel the echo, an echo canceller is implemented. Here, an estimate error, e[0123] k=yk−d{circumflex over ( )}k, is called a residual echo.
  • 6. Evaluation for Time-Invariant Impulse Response [0124]
  • (Evaluation of Estimation Accuracy) [0125]
  • A modified H[0126] filter and a fast H filter are evaluated by simulation in a case in which the impulse response of an echo path is time-invariant (hi[k]=hi) and the tap number N thereof is 24. y k = i = 0 23 h i u k - i + v k ( 30 )
    Figure US20040059551A1-20040325-M00013
  • FIG. 7 is a view showing values of the impulse response {h[0127] i} in this case. vk is stationary Gaussian white noise having zero mean and variance σv 2 of 1.0×10−6, and a sampling period T is set to 1.0 for convenience.
  • The received signal {u[0128] k} is approximated by a quadratic AR model as shown below.
  • u k1 u k−12 u k−2 +w k′  (31)
  • where, α[0129] 1=0.7, α2=0.1+, and wk′ is stationary Gaussian white noise having zero mean and variance σw′ 2 of 0.04.
  • The modified H[0130] filter and the fast H filter will be compared.
  • FIG. 8 includes views showing estimated results of the impulse responses of the modified H[0131] filter and the fast H filter (initial value x{circumflex over ( )}0|0=0, estimated value x{circumflex over ( )}100|100 at 100th step, εo=20). FIGS. 8(a) and (b) show estimated results of both filters when γf=105, and FIGS. 8(c) and (d) show estimated results thereof when γf=2.0. From the figures, performance on the estimation accuracy of both filters is equal. In other words, speeding-up does not reduce the estimation accuracy. Note that, if γf is too small, the existence condition of the filters is not satisfied. When γf=1.0×105, the results are substantially equal to that of a fast Kalman filter. Therefore, it is found that the fast H filtering algorithm includes the fast Kalman filtering algorithm and its convergence rate can be accelerated by adjusting γf.
  • (Evaluation of Computation Time) [0132]
  • Next, the computation time required for the modified H[0133] filter and that for the fast H filter are evaluated under conditions where the impulse response of the echo path is time-invariant and the tap number is increased to 24, 48, 96, 192, and 384. Since dispersion may occur in one measurement, the average of four measurements was used. The values shown in FIG. 7 are used as impulse responses {hi} in simulation, and impulse responses {hi} thereafter (24≦k<N) are set to 0. The filter calculation is performed up to step 100. The computation time was measured by a command “etime” of MATLAB on a workstation (sparc, 60 MHz, 32 MB).
  • FIG. 9 is a view showing measurement results of the computation time. In the Riccati equation, matrix calculation is performed for a modified H[0134] filter (2) such that the amount of calculation is in proportion to the square of the tap number, and matrix calculation is performed for a modified H filter (1) such that the amount of calculation is in proportion to the cube of the tap number (see FIG. 3(b) and FIG. 4). In modified H filters, since the computational complexity is in proportion to the square or cube of the tap number depending on the order of matrix calculation as described above, they are not practical.
  • 7. Evaluation for Time-Varying Impulse Response [0135]
  • (Evaluation of Tracking Performance) [0136]
  • The tracking performance of each algorithm will be evaluated by using the echo canceller in a case in which the system (impulse response) is varied with time. It is assumed that the tap number of the impulse response is 48, and {h[0137] i} is varied with time, as shown in FIG. 10(a), based on the values shown in FIG. 7. It is also assumed that vk is stationary Gaussian white noise having zero mean and variance σv 2 of 1.0×10−6, and the sampling period T is for convenience. The received signal {uk} is approximated by a quadratic AR model as follows.
  • u k1 u k−12 u k−2 +w k′  (32)
  • Here, α[0138] 1=0.7, α2=0.1, and wk′ is stationary Gaussian white noise having zero mean and variance σ2 w′ of 0.04.
  • FIGS. 10 and 11 are views showing the simulation result of each algorithm. These views show the tracking performance of time-varying systems which employ a fast H[0139] filter (fast HF), a fast Kalman filter (fast KF), and LMS algorithm (LMS). FIG. 10(b) shows the estimates obtained with the fast H filter when γf=2.0. FIG. 11(a) shows the estimates obtained with the fast Kalman filter. The initial value of the fast H filter is set such that x{circumflex over ( )}0|0=0 and so εo=20, and the initial value of the fast Kalman filter is set in the same way. FIG. 11(b) shows the estimates obtained by the LMS algorithm, wherein the initial value is set such that h{circumflex over ( )}o=0, and the step size is set such that μ=0.5 so as to give a stable and rapid convergence. It is found that the tracking performance of the fast H filter is extremely excellent, and the estimates become stable in about thirty steps after the impulse response is varied. On the other hand, the fast Kalman filter and the LMS algorithm cannot track the impulse response at all.
  • Generally, the tracking performance of H[0140] filters having no system noise drops with time since the filter gain becomes smaller due to a decay in the diagonal component of P{circumflex over ( )}k|k−1 and the amount of update of the estimates decreases. In other words, as the number of steps increases, the estimates are updated little. Therefore, in order to improve the tracking performance of Kalman filters and H filters, an appropriate value needs to be externally added to the diagonal component of the matrix P{circumflex over ( )}k|k−1. If it is directly added, however, a fast algorithm which uses the shift property of an observation matrix Hk cannot be implemented. It is one of significant features of the present invention to solve this problem theoretically by applying a weight ρ of 1−γf −2 to the H evaluation criterion. The weight ρ appears in an update equation of Sk of the fast H filtering algorithm, as follows.
  • (Update of Auxiliary Variable S[0141] k of the Fast H Filter)
  • An auxiliary variable S[0142] k of the fast H filter is indicated by the following expression.
  • S k =ρS k−1 +e T k W k e{tilde over ()} k, 0<ρ=1−γf −2≦1
  • In the fast H[0143] filtering algorithm, Sk is used as Sk −1 in the equation of Ku k. In order to largely update the filter equation, Sk −1 must be larger. In other word, Sk needs to be kept small to make the large update. The existence of ρ prevents Sk from increasing rapidly, which is resultantly equivalent to adding system noise, and thereby the tracking performance is improved. Since the weight ρ is defined as 1−γf −2 the tracking performance can be varied by adjusting γf as confirmed in the simulation.
  • FIG. 12 is a view showing the relationship between γ[0144] f and ρ. According to the figure, when γf=3.0, ρ=0.8889, which means that 89% of S k−1 is transmitted to Sk. Note that, if γf is set very small, however, the effect of S k−1 is significantly reduced and the existence condition of the filter is not satisfied. When γf is large, γ=1. An increase in Sk is not suppressed at all, and therefore, the tracking performance drops. When γf=∞, in particular, the present fast algorithm completely matches the fast Kalman filtering algorithm.
  • (Evaluation of Computation Time) [0145]
  • FIG. 13 is a view showing the relationship among the tap number and the computation time for the fast H[0146] filter, the fast Kalman filter, and the LMS algorithm, where the number of time steps executed for the filters is 300and γf=3.0. The computation time was measured for the fast H filter, the fast Kalman filtering algorithm, and the LMS algorithm when the tap number was increased to 48, 96, 192, and 384 in the cases shown in FIGS. 10 and 11. Because dispersion may occur in one measurement result, the average of four measurement results, for example, was used.
  • It can be confirmed that, in any algorithm, the amount of calculation is in proportion to the tap number. It is also found that when the tap number is large, the computation time for the fast H[0147] filtering algorithm is about a little less than twice the computation time for the fast Kalman filtering algorithm, and is approximately four times longer than that for the LMS algorithm, which is practical. Considering the tracking performance, it can be said that the fast H filtering algorithm is sufficiently effective.
  • 8. Demonstration of Lemmas [0148]
  • Now, the above-described lemmas will be demonstrated. [0149]
  • (Demonstration of Lemma 1) [0150]
  • The inverse matrix of P[0151] k will be indicated by equation (33). Further, a recursive equation for the matrix Pk can be obtained, as shown in equation (34), by using the matrix inversion lemma.
  • P k −1 =ρO k−1 TΩk−1 O k−1 +C k T W k C k
  • =ρP k−1 −1 +C k T W k C k  (33)
  • [0152] P k = [ ρ P k - 1 - 1 + [ H k T H k T ] W k [ H k H k ] ] - 1 = ρ - 1 P k - 1 - ρ - 1 P k - 1 [ H k T H k T ] · ( W k - 1 + [ H k H k ] ρ - 1 P k - 1 [ H k T H k T ] ) - 1 · [ H k H k ] ρ - 1 P k - 1 , ρ P k = P k - 1 - P k - 1 [ H k T H k T ] · ( R h + [ H k H k ] P k - 1 [ H k T H k T ] ) - 1 · [ H k H k ] P k - 1 , P k = P k - 1 - P k - 1 [ H k T H k T ] · ( R h + [ H k H k ] P k - 1 [ H k T H k T ] ) - 1 · [ H k H k ] P k - 1 + γ f - 2 P k . ( 34 )
    Figure US20040059551A1-20040325-M00014
  • It is understood, when P[0153] k is replaced with P{circumflex over ( )}k+1|k, that the above equation satisfies the Riccati equation of (13).
  • (Demonstration of Lemma 2) [0154]
  • The gain matrix K[0155] k can be expressed as follows. K k = P k C k T = [ ρ P k - 1 - 1 + C k T W k C k ] - 1 C k T = ρ - 1 P k - 1 C k T - ρ - 1 P k - 1 C k T · [ W k - 1 + C k ρ - 1 P k - 1 C k T ] - 1 C k ρ - 1 P k - 1 C k T = ρ - 1 P k - 1 C k T - ρ - 1 P k - 1 C k T [ W k - 1 + C k ρ - 1 P k - 1 C k T ] - 1 · [ ( W k - 1 + C k ρ - 1 P k - 1 C k T ) - W k - 1 ] = ρ - 1 P k - 1 C k T [ I + W k C k ρ - 1 P k - 1 C k T ] - 1 = ρ - 1 P k - 1 C k T W k · [ W k + ρ - 1 W k C k P k - 1 C k T W k ] - 1 = ρ - 1 P k - 1 [ H k T - γ f - 2 H k T ] [ [ 1 0 0 - γ f - 2 ] + ρ - 1 [ H k - γ f - 2 H k ] P k - 1 [ H k T - γ f - 2 H k T ] ] - 1 = ρ - 1 P k - 1 [ H k T H k T ] ( 1 + H k P k - 1 H k T ) - 1 ( 35 )
    Figure US20040059551A1-20040325-M00015
  • Further, the filter gain can be obtained from the first block column of the gain matrix K[0156] k, as shown in equation (18), by using Gk=(p+HkPk−1HT k)/(1+HkPk−1HT k) and HkK{tilde over ()}k=HkPk−1HT k/(1+HkPk−1HT k).
  • (Demonstration of Lemma 3) [0157]
  • Assuming that the gain matrix K[0158] i (i=0, . . . , and k) is given, the following matrix, Kk+1, will be calculated.
  • Q k+1 K k+1 =C k+1 T  (36)
  • First, equations (37) and (38) are newly introduced to utilize the shift property of C[0159] k. QU k is expressed recursively as shown in equation (39), and is divided as in the following equation (40). C ˘ k T = [ c k T C k T ] = [ C k + 1 T c k - N T ] ( N + 1 ) × 2 ( 37 ) Q ˘ k = i = 1 k ρ k - i C ˘ i T W i C ˘ i ( N + 1 ) × ( N + 1 ) ( 38 )
    Figure US20040059551A1-20040325-M00016
    {haeck over (Q)} k =ρ{haeck over (Q)} k−1 {haeck over (C)} k T W k {haeck over (C)} k  (39 )
  • [0160] Q ˘ k = [ M k T k T T k Q k ] = [ Q k + 1 T _ k T T _ k M _ k ] . ( 40 )
    Figure US20040059551A1-20040325-M00017
  • Using this notation, equation (36) of the time steps k and k+1 is included in the following equation. [0161] Q ˘ k [ 0 K k ] = [ α k T C k T ] = C ˘ h T + [ α k T - c k T 0 ] ( 41 ) Q ˘ k [ K k + 1 0 ] = [ C k - 1 T β k T ] = C ˘ k T + [ 0 β k T - c k - N T ] ( 42 )
    Figure US20040059551A1-20040325-M00018
  • where, [0162]
  • αk T =T k T K k εR 1×2, βk T =T k K k+1 ε R 1×2.
  • Based on the notation, it is more convenient to obtain K[0163] U kεR(N+1)×2, which satisfies the following equation, than to obtain Kk directly.
  • {haeck over (Q)} k {haeck over (K)} k ={haeck over (C)} k T  (43)
  • where, [0164]
  • {haeck over (K)} k =[k k+1 T K k T]T =[K k+1 T k k−N T]T  (44)
  • To this end, K[0165] U kεR(N+1)×2 can be expressed as shown in equation (46) by using equation (45), obtained from equation (41). C ˘ k T = Q ˘ k [ 0 K k ] - [ α k T - c k T 0 ] ( 45 ) K ˘ k = [ m k μ k ] = Q ˘ k - 1 C ˘ k T = [ 0 K k ] - Q ˘ k - 1 [ α k T - c k T 0 ] = [ 0 K k ] - [ S k - 1 A k S k - 1 ] [ α k T - c k T ] ( 46 )
    Figure US20040059551A1-20040325-M00019
  • Here, K[0166] U k is divided into mkεRN×2 and μkεR1×2. Also note that αT k−CT k=−(Ck T+Ak TCk T). Further, assuming that QU k has an inverse matrix, auxiliary variables AkεRN×1 and SkεR satisfy the following equation. Q ˘ k [ 1 A k ] = [ S k 0 ] ( [ 1 A k ] S k - 1 = Q ˘ k - 1 [ 1 0 ] ) ( 47 )
    Figure US20040059551A1-20040325-M00020
  • where, the bottom block of the above equation means T[0167] k+QkAk=0 or TkT=−Ak TQk T.
  • Next, auxiliary variables B[0168] kεRN×1 and FkεR such as those shown in the following equation (48) are introduced to delete μk in equation (46) without affecting the top block of CT k. Further, subtracting BU kFk −1μk from KU k in equation (46) provides equation (49). Q ˘ k B ˘ k = Q ˘ k [ B k F k ] = [ 0 1 ] ( B ˘ k = [ B k F k ] ) ( 48 ) K ˘ k - B ˘ k F k - 1 μ k = [ m k μ k ] - [ B k F k - 1 1 ] μ k = [ m k - B k F k - 1 μ k 0 ] ( 49 )
    Figure US20040059551A1-20040325-M00021
  • Then, the left-hand side of equation (49) is multiplied by Q[0169] U k from the left to obtain the following equation. Q ˘ k ( K ˘ k - B ˘ k F k - 1 μ k ) = Q ˘ k K ˘ k - Q ˘ k B ˘ k F k - 1 μ k = C ˘ k T - [ 0 1 ] F k - 1 μ k = C ˘ k T - [ 0 F k - 1 μ k ] ( 50 )
    Figure US20040059551A1-20040325-M00022
  • Equation (49) is substituted for the left-hand side of the above equation. Then, equation (43) is expressed as follows: [0170] Q ˘ k ( K ˘ k - B ˘ k F k - 1 μ k ) = C ˘ k T - [ 0 F k - 1 μ k ] , [ Q k + 1 T _ k T T _ k M _ k ] [ m k - B k F k - 1 μ k 0 ] = [ C k + 1 T c k - N T ] + [ 0 - F k - 1 μ k ] ( 51 )
    Figure US20040059551A1-20040325-M00023
  • This is the same form as equation (42). The following equation (52) can be obtained from the top block of equation (51). [0171]
  • Q k+1(m k −B k F k −1 μ k)=C k+1 T  (52)
  • Equations (36) and (52) are compared to obtain the update equation of the gain matrix K[0172] k.
  • (Lemma 4) [0173]
  • The auxiliary variables A[0174] k and Sk can be obtained as follows:
  • A k =A k−1 −K k W k[ck +C k A k−1 ]εR N×1  (53)
  • S k =ρS k−1 +[c k T +A k T C k T ]W k [c k +C k A k−1 ]ε R  (54)
  • where, A[0175] −1=0, and S−1=1/ε0.
  • (Demonstration) By using the following equation (55) of A[0176] k and Sk and equation (39), equation (56) is obtained. Q ˘ k - 1 [ 1 A k - 1 ] = [ S k - 1 0 ] ( 55 ) Q ˘ k [ 1 A k - 1 ] = ρ Q ˘ k - 1 [ 1 A k - 1 ] + C ˘ k T W k [ c k + C k A k - 1 ] = [ ρ S k - 1 0 ] + [ c k T C k T ] W k [ c k + C k A k - 1 ] ( 56 )
    Figure US20040059551A1-20040325-M00024
  • On the other hand, the following equation is obtained by multiplying both sides of equation (41) by W[0177] k [C k+CkAk−1]. Q ˘ k [ 0 K k ] W k [ c k + C k A k - 1 ] = [ α k C k T ] W k [ c k + C k A k - 1 ] . ( 57 )
    Figure US20040059551A1-20040325-M00025
  • By subtracting equation (57) from equation (56), the following equation (58) is formed. [0178] Q ˘ k [ [ 1 A k - 1 ] - [ 0 K k ] W k [ c k + C k A k - 1 ] ] = [ ρ S k - 1 0 ] + [ c k T C k T ] W k [ c k + C k A k - 1 ] - [ α k T C k T ] W k [ c k + C k A k - 1 ] , Q ˘ k [ 1 A k - 1 - K k W k [ c k + C k A k - 1 ] ] = [ ρ S k - 1 + [ c k T - α k T ] W k [ c k + C k A k - 1 ] 0 ] ( 58 )
    Figure US20040059551A1-20040325-M00026
  • This equation is compared with equation (47). Since α[0179] k T=Tk TKk=−Ak TCk T, equations (53) and (54) are obtained.
  • (Lemma 5) [0180]
  • The auxiliary variable D[0181] k=BkFk −1 is obtained by the following equation (59). Fk is updated by the following equation (60).
  • D k =[D k−1 −m k W kηk][1−μ kWkηk]−1 ε RN×1  (59)
  • F k =F k−1[1−μk W kηk]/ρεR  (60)
  • where, η[0182] k=CU kDU k−1=ck−N+Ck+1Dk−1, D−1=0, and F−1=0.
  • (Demonstration) In order to update B[0183] k and Fk, equation (62) is formed by using equation (61). Q ˘ k - 1 B ˘ k - 1 = Q ˘ k - 1 [ B k - 1 F k - 1 ] = [ 0 1 ] ( 61 ) Q ˘ k B ˘ k - 1 = ρ Q ˘ k - 1 B ˘ k - 1 + C ˘ k T W k C ˘ k B ˘ k - 1 = ρ [ 0 1 ] + C ˘ k T W k C ˘ k B ˘ k - 1 ( 62 )
    Figure US20040059551A1-20040325-M00027
  • In order to modify the above equation so as to have the same form as equation (61), C[0184] U k TWkCU kBk−1 U is subtracted from equation (62) to obtain the following equation. Q ˘ k B ˘ k - 1 - C ˘ k T W k C ˘ k B ˘ k - 1 = Q ˘ k B ˘ k - 1 - Q ˘ k K ˘ k W k C ˘ k B ˘ k - 1 = ρ [ 0 1 ] , Q ˘ k [ B ˘ k - 1 K ˘ W k C ˘ k B ˘ k - 1 ] = ρ [ 0 1 ] ( 63 )
    Figure US20040059551A1-20040325-M00028
  • Comparing the above last equation with equation (48) yields a recursive equation for B[0185] U k.
  • {haeck over (B)} k=({haeck over (B)} k−1 −K k W k {haeck over (B)} k−1)/ρ  (64)
  • [0186] D k = B k F k - 1 , D ˘ k = B ˘ k F k - 1 = [ D k 1 ] ( 65 )
    Figure US20040059551A1-20040325-M00029
  • B[0187] k and Fk are updated by this equation.
  • Since they appear only for B[0188] U k and Dk=BkFk −1εRN×1, however, it is more convenient to express equations (48) and (64) to the following equation (65). The matrix Dk satisfies the following equation (66). Q ˘ k D ˘ k = Q ˘ k B ˘ k F k - 1 = [ 0 1 ] F k - 1 , Q ˘ k [ D k 1 ] = [ 0 F k - 1 ] ( 66 ) Q ˘ k [ B ˘ k - 1 F k - 1 - 1 - K ˘ k W k C ˘ k B ˘ k - 1 F k - 1 - 1 ] = Q ˘ k [ D ˘ k - 1 - K ˘ k W k C ˘ k D ˘ k - 1 ] = [ 0 ρ F k - 1 - 1 ] ( 67 )
    Figure US20040059551A1-20040325-M00030
  • Next, equation (63) is multiplied by F[0189] k−1 −1 to obtain the following equation (67), and is further expressed by the following equation (68) when DU k−1=BU k−1Fk−1 −1 is used. Q ˘ k [ D ˘ k - 1 - [ m k μ k ] W k C ˘ k D ˘ k - 1 ] = [ 0 ρ F k - 1 - 1 ] , Q ˘ k [ D k - 1 - m k W k C ˘ k D ˘ k - 1 1 - μ k W k C ˘ k D ˘ k - 1 ] = [ 0 ρ F k - 1 - 1 ] ( 68 )
    Figure US20040059551A1-20040325-M00031
  • Therefore, the following equation is obtained when equation (68) is multiplied by [1−μ[0190] kWkCU kDU k−1]−1. Q k [ [ D k - 1 - m k W k C k D k - 1 ] [ 1 - μ k W k C k D k - 1 ] - 1 1 ] = [ 0 ρ F k - 1 - 1 [ 1 - μ k W k C k D k - 1 ] - 1 ]
    Figure US20040059551A1-20040325-M00032
  • By comparing this equation with equation (66), an update equation for D[0191] k and Fk is finally obtained.
  • (Demonstration of Lemma 6 (Existence Condition Suitable for Fast Processing)) [0192]
  • As described above, the existence of the fast H[0193] filter can be checked with the computational complexity of O(N) by using the existence condition of equations (22) and (23). A demonstration thereof will be shown below.
  • When the characteristic equation of a 2×2 matrix R[0194] e, k shown in the following equation (69) is solved, a eigenvalue λi of Re, k is obtained by the following equation (70). λ I - R e , k = λ - ( ρ + H k ^ k | k - 1 H k T ) - H k ^ k | k - 1 H k T - H k ^ k | k - 1 H k T λ - ( - ρ γ f 2 + H k ^ k | k - 1 H k T ) = λ 2 - ( 2 H k ^ k | k - 1 H k T + ρ ϱ ) λ - ρ 2 γ f 2 + ρ ϱ H k ^ k | k - 1 H k T = 0 ( 69 ) λ i = Φ ± Φ 2 - 4 ρ ϱ H k ^ k | k - 1 H k T + 4 ρ 2 γ f 2 2 ( 70 )
    Figure US20040059551A1-20040325-M00033
  • where, Φ=2H[0195] k{circumflex over (Σ)}k|k−1Hk T+ρe, e=1−γf 2
  • If the following expression (71) is satisfied, one of the two eigenvalues of the matrix R[0196] e, k is positive and the other is negative, and the matrixes Rk and Re, k have the same inertia. Therefore, the existence condition of equation (22) is obtained by using the following equation (72). Here, the calculation of HkK{tilde over ()}k requires the same number of multiplications as O(N).
  • −4ρeH k{circumflex over (Σ)}k|k−1 H k T+4ρ2γf 2>0  (71 )
  • [0197] H k ^ k | k - 1 H k T = H k K ~ b 1 - H k K b ( 72 )
    Figure US20040059551A1-20040325-M00034
  • Industrial Applicability [0198]
  • According to the present invention, as described above, the fast real-time identification of time-invariant and time-variant systems can be implemented by using the fast algorithm (fast H[0199] filtering algorithm) for the modified H filters developed based on the new H evaluation criterion. In addition, according to the present invention, the present algorithm includes, as a particular case, the fast Kalman filtering algorithm, and a term corresponding to the covariance of system noise which is dominant in the tracking performance of a time-varying system can be theoretically determined. Further, according to the present invention, a fast time-varying system identification method can be provided, which is very effective particularly when a system (impulse response) is varied discontinuously with time, such as an echo canceller for a time-varying system which varies extremely as sudden line switching. Furthermore, according to the present invention, a system identification method can be provided, which is applicable to echo cancellers in communication systems and acoustic systems, sound-field reproduction, and noise control.

Claims (8)

1. A system identification method for performing a fast real-time identification of a time-invariant or time-variant system, wherein an H filter equation expressed by the following equation is used,
{circumflex over (x)} k+1|k+1 =x k|k +K s, k+1k+1 H k+1 x k|k)
where,
{circumflex over (x)}k|k: The estimate of state xk at time k, obtained by using observation signals yo to yk
yk: Observation signal
Ks, k+1: Filter gain
Hk: Observation matrix
and a filtering algorithm robust against disturbance is formed by setting, as an H evaluation criterion, a maximum energy gain from disturbance weighted by a weight (ρ) of the evaluation function to a filter error to be smaller than a predetermined upper limit (γf 2)
2. A system identification method according to claim 1, wherein, as the H evaluation criterion, the maximum value of {(value indicating the filter error/weight (ρ) of the evaluation function)/[(value indicating an initial state)+(value indicating system noise)+(value indicating observation noise/weight (ρ) of the evaluation function)]} is set to be smaller than the predetermined upper limit (γf 2).
3. A system identification method according to claim 1 or 2, wherein an output signal is further obtained from the state estimate x{circumflex over ( )}k|k at time k by the following equation.
{circumflex over (z)} k|k =H k{circumflex over (x)}k|k
zk: Output signal
4. A system identification method according to any one of claims 1 to 3, wherein the following equation shows the relationship between the weight (ρ) of the evaluation function and the predetermined upper limit (γf 2)
0<ρ=1−γf −2≦1γf>1
5. A system identification method according to any one of claims 1 to 4, wherein the filter gain Ks, k is given by the following relational equation by using a gain matrix Kk.
Ks,k =G k −1 {tilde over (K)} k , G k=ρ+γf −2 H k {tilde over (K)} k εR
where,
{tilde over (K)} k(i)=ρK k(i, 1), i=1,2, . . . ,N.
6. A system identification method according to any one of claims 1 to 5, comprising steps of;
setting initial conditions of a recursive equation of the gain matrix Kk, the auxiliary variables, and the state estimate x{circumflex over ( )}k|k,
recursively determining the auxiliary variables at time k and obtaining a second gain matrix in which a row including the auxiliary variables is added to the gain matrix Kk,
dividing the second gain matrix and obtaining first and second divisional gain matrixes,
obtaining a gain matrix Kk+1 at time k+1 from an equation including the first and second divisional gain matrixes, and obtaining a filter gain Ks, k+1 at time k+1 from the relational equation of the gain matrix Kk and the filter gain Ks, k,
updating the H filter equation according to the obtained filter gain Ks, k+1, and
repeating each of the above steps with the time being put forward.
7. A system identification method according to any one of claims 1 to 6, wherein the existence of the fast H filter is checked by using the following equation as an existence condition suitable for fast processing, with the computational complexity of O(N).
e {circumflex over (Ξ)} i+ργf 2>0, i=0, . . . ,k
where,
ϱ = 1 - γ f 2 , Ξ ^ i = H i K ~ i 1 - H i K ~ i
Figure US20040059551A1-20040325-M00035
8. A system identification method according to any one of claims 1 to 7, wherein an echo canceller is implemented by
applying the H filter equation to obtain the state estimate x{circumflex over ( )}k|k,
producing a quasi echo as in the following equation, and
canceling an actual echo by the obtained quasi echo.
d ^ k = H k x ^ k | k = i = 0 N - 1 h ^ i [ k ] u k - i
Figure US20040059551A1-20040325-M00036
H k=[uk , . . . ,u k−N+1]
where,
{circumflex over (d)}k Quasi-echo
uk Received signal
N Tap number
ĥi[k] Estimate of impulse response of echo path
US10/415,674 2000-10-24 2001-10-16 System identification method Expired - Lifetime US7039567B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000323958A JP4067269B2 (en) 2000-10-24 2000-10-24 System identification method
JP2000-323958 2000-10-24
PCT/JP2001/009082 WO2002035727A1 (en) 2000-10-24 2001-10-16 System identifying method

Publications (3)

Publication Number Publication Date
US20040059551A1 true US20040059551A1 (en) 2004-03-25
US20050171744A2 US20050171744A2 (en) 2005-08-04
US7039567B2 US7039567B2 (en) 2006-05-02

Family

ID=18801562

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/415,674 Expired - Lifetime US7039567B2 (en) 2000-10-24 2001-10-16 System identification method

Country Status (4)

Country Link
US (1) US7039567B2 (en)
JP (1) JP4067269B2 (en)
CA (1) CA2426004C (en)
WO (1) WO2002035727A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1657818A1 (en) * 2003-08-11 2006-05-17 Japan Science and Technology Agency System estimation method, program, recording medium, system estimation device
US20090052514A1 (en) * 2007-08-23 2009-02-26 Qualcomm Incorporated Method and apparatus for generating coefficients in a multi-input-multi-output (mimo) system
CN102142830A (en) * 2011-01-31 2011-08-03 上海大学 Reference signal self-extraction active vibration control method for piezoelectric intelligent structure
CN103279031A (en) * 2013-05-03 2013-09-04 北京航空航天大学 Robust convergence control method of uncertain multi-agent system
CN109991546A (en) * 2019-03-29 2019-07-09 深圳猛犸电动科技有限公司 A kind of battery parameter acquisition methods, device and terminal device
CN110535452A (en) * 2018-05-23 2019-12-03 国立大学法人岩手大学 System identifying device and method and record have the storage medium of System Discrimination program
CN111742541A (en) * 2017-12-08 2020-10-02 华为技术有限公司 Acoustic echo cancellation method and apparatus

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2647281C (en) 2006-04-14 2014-09-16 Incorporated National University Iwate University System identification method and program, storage medium, and system identification device
JP5247066B2 (en) * 2007-06-04 2013-07-24 三菱電機株式会社 Target tracking device
JP5232485B2 (en) * 2008-02-01 2013-07-10 国立大学法人岩手大学 Howling suppression device, howling suppression method, and howling suppression program
JP5520456B2 (en) * 2008-06-26 2014-06-11 株式会社エー・アール・アイ Binaural sound collection and playback system
JP2010056805A (en) * 2008-08-27 2010-03-11 Ari:Kk Loudspeaker system
US9058028B2 (en) * 2011-04-29 2015-06-16 Georgia Tech Research Corporation Systems and methods for parameter dependent riccati equation approaches to adaptive control
JP7045165B2 (en) * 2017-11-02 2022-03-31 リオン株式会社 Feedback canceller and hearing aids with it

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394322A (en) * 1990-07-16 1995-02-28 The Foxboro Company Self-tuning controller that extracts process model characteristics
US5987444A (en) * 1997-09-23 1999-11-16 Lo; James Ting-Ho Robust neutral systems
US5995620A (en) * 1995-02-15 1999-11-30 Telefonaktiebolaget Lm Ericsson Echo canceller having Kalman filter for optimal adaptation
US6711598B1 (en) * 1999-11-11 2004-03-23 Tokyo Electron Limited Method and system for design and implementation of fixed-point filters for control and signal processing
US6801881B1 (en) * 2000-03-16 2004-10-05 Tokyo Electron Limited Method for utilizing waveform relaxation in computer-based simulation models

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61200713A (en) * 1985-03-04 1986-09-05 Oki Electric Ind Co Ltd Digital filter
JP2872547B2 (en) * 1993-10-13 1999-03-17 シャープ株式会社 Active control method and apparatus using lattice filter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394322A (en) * 1990-07-16 1995-02-28 The Foxboro Company Self-tuning controller that extracts process model characteristics
US5995620A (en) * 1995-02-15 1999-11-30 Telefonaktiebolaget Lm Ericsson Echo canceller having Kalman filter for optimal adaptation
US5987444A (en) * 1997-09-23 1999-11-16 Lo; James Ting-Ho Robust neutral systems
US6711598B1 (en) * 1999-11-11 2004-03-23 Tokyo Electron Limited Method and system for design and implementation of fixed-point filters for control and signal processing
US6801881B1 (en) * 2000-03-16 2004-10-05 Tokyo Electron Limited Method for utilizing waveform relaxation in computer-based simulation models

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1657818A1 (en) * 2003-08-11 2006-05-17 Japan Science and Technology Agency System estimation method, program, recording medium, system estimation device
EP1657818A4 (en) * 2003-08-11 2012-09-05 Japan Science & Tech Agency System estimation method, program, recording medium, system estimation device
EP2560281A3 (en) * 2003-08-11 2013-03-13 Japan Science and Technology Agency System estimation method and program, recording medium, and system estimation device
US20090052514A1 (en) * 2007-08-23 2009-02-26 Qualcomm Incorporated Method and apparatus for generating coefficients in a multi-input-multi-output (mimo) system
US8457265B2 (en) 2007-08-23 2013-06-04 Qualcomm Incorporated Method and apparatus for generating coefficients in a multi-input-multi-output (MIMO) system
CN102142830A (en) * 2011-01-31 2011-08-03 上海大学 Reference signal self-extraction active vibration control method for piezoelectric intelligent structure
CN103279031A (en) * 2013-05-03 2013-09-04 北京航空航天大学 Robust convergence control method of uncertain multi-agent system
CN111742541A (en) * 2017-12-08 2020-10-02 华为技术有限公司 Acoustic echo cancellation method and apparatus
CN110535452A (en) * 2018-05-23 2019-12-03 国立大学法人岩手大学 System identifying device and method and record have the storage medium of System Discrimination program
CN109991546A (en) * 2019-03-29 2019-07-09 深圳猛犸电动科技有限公司 A kind of battery parameter acquisition methods, device and terminal device

Also Published As

Publication number Publication date
JP2002135171A (en) 2002-05-10
WO2002035727A1 (en) 2002-05-02
US7039567B2 (en) 2006-05-02
CA2426004C (en) 2009-03-24
CA2426004A1 (en) 2003-04-07
JP4067269B2 (en) 2008-03-26
US20050171744A2 (en) 2005-08-04

Similar Documents

Publication Publication Date Title
US20040059551A1 (en) System identifying method
US4918727A (en) Double talk detector for echo canceller and method
US6970896B2 (en) Method and apparatus for generating a set of filter coefficients
US8983058B2 (en) Echo canceller and a method thereof
US8380466B2 (en) System identification method and program, storage medium, and system identification device
EP1350339B1 (en) Double-talk and path change detection using a matrix of correlation coefficients
EP1192729B1 (en) Pure delay estimation
EP2787653B1 (en) Prequalification of vectoring before implementation
EP1657818B1 (en) System estimation method, program, recording medium, system estimation device
US10863272B2 (en) System identification device, system identification method, system identification program, and recording medium recording system identification program
Benesty et al. A recursive estimation of the condition number in the RLS algorithm [adaptive signal processing applications]
US6611594B1 (en) Robust signed regressor PNLMS method and apparatus for network echo cancellation
JPH0697771A (en) Device and method for processing high speed signal
JP4452162B2 (en) Call state value calculation device and calculation method
JP3217618B2 (en) Acoustic echo canceller
Jeyendran et al. Recursive system identification in the presence of burst disturbance
JPH1168518A (en) Coefficient updating circuit
JP3217619B2 (en) Acoustic echo canceller
CN117896468A (en) Deviation compensation echo cancellation method and system for telephone communication
CN113873090A (en) Robust estimation affine projection spline self-adaptive echo cancellation method
Zakaria Switching adaptive filter structures for improved performance
Tsubokawa et al. Recursive least‐square algorithm with ud factorization by fixed‐point arithmetic
JPH0870268A (en) Estimating device for filter coefficient
JPH0740680B2 (en) Double talk detection method

Legal Events

Date Code Title Description
AS Assignment

Owner name: JAPAN SCIENCE AND TECHNOLOGY CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NISHIYAMA, KIYOSHI;REEL/FRAME:014600/0270

Effective date: 20030502

AS Assignment

Owner name: JAPAN SCIENCE AND TECHNOLOGY AGENCY, JAPAN

Free format text: CHANGE OF NAME;ASSIGNOR:JAPAN SCIENCE AND TECHNOLOGY CORPORATION;REEL/FRAME:015203/0294

Effective date: 20031001

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553)

Year of fee payment: 12