Abstract
This paper presents the results of applying the new mechanization of the Kalman filter (KF) algorithm using singular value decomposition (SVD). The proposed algorithm is useful in applications where the influence of round-off errors reduces the accuracy of the numerical solution of the associated Riccati equation. When the Riccati equation does not remain symmetric and positive definite, the fidelity of the solution can degrade to the point where it corrupts the Kalman gain, and it can corrupt the estimate. In this research, we design an adaptive KF implementation based on SVD, provide its derivation, and discuss the stability issues numerically. The filter is derived by substituting the SVD of the covariance matrix into the conventional discrete KF equations after its initial propagation, and an adaptive estimation of the covariance measurement matrix is introduced. The results show that the algorithm is equivalent to current methods in terms of robustness, and it outperforms the estimation accuracy of the conventional Kalman filter, square root, and unit triangular matrix diagonal (UD) factorization methods under ill-conditioned and dynamic applications, and is applicable to most nonlinear systems. Four sample problems from different areas are presented for comparative study from an ill-conditioned sensitivity matrix, navigation with a dual-frequency Global Positioning System (GPS) receiver, host vehicle dynamic models, and distance measuring equipment (DME) using simultaneous slant range measurements, performed with a conventional KF and SVD-based (K-SVD) filter.
1. Introduction
By defining what robustness means in the context of this research, we can focus on the engineering applications of the proposed method. We refer to robustness as the “relative insensitivity of the solution to errors of some sort” [1]; also, we refer to numerical stability to denote robustness against round-off errors [2].
The design of the Kalman filter (KF) usually aims to “ensure that the covariance matrix of estimation uncertainty (the dependent variable of the matrix Riccati equation) remains symmetric and positive definite” [1,3]. The main problem to be solved in this research is the numerical robustness of KF. The proposed algorithm is useful in applications where the influence of round-off errors reduces the accuracy of the numerical solution of the associated Riccati equation. The fidelity of the solution may degrade to the point that it corrupts the Kalman gain when the Riccati equation does not stay symmetric and positive definite, and it can corrupt the estimate [1]. Verhaegen and Van Dooren have shown that the asymmetry of is one of the factors contributing to the numerical instability of the Riccati equation [4].
The problem was circumvented by Bierman [5] using unit triangular matrix diagonal (UD) factorization, which was one of several alternatives available to those in need of computationally efficient and stable algorithms. This decomposition of the covariance matrix is of the form:
where denotes the diagonal matrix and is the upper triangular matrix with ones along its main diagonal. One of the individual characteristics of UD factorization and the Cholesky method is that there is no need to solve simultaneous Equations [6]. Additionally, UD factorization does not use a square root numerical operation [6], but more recently square root filtering using standard matrix decomposition has found greater acceptance [7]. In this matrix,
S is obtained in a triangular matrix from the well-known Cholesky decomposition [8,9], a drawback of which is that it cannot be used if the covariance matrix is singular [6]. Both the square root and Bierman methods can be used only if one has single-dimensional measurements with uncorrelated measurement noise. Generally, one does not have this in practice [8,9]. To overcome the limitation, another method can be used—which is one of the topics of this research—that will facilitate the solution of this type of problem, as the computation can be performed in parallel because it is formulated in the form of matrix and matrix-vector operations without the need for additional transformations [10], where the solution also is able to deal with ill-conditioned matrices. This method is singular value decomposition (SVD).
The singular values (which are positive by definition) or principal standard deviation are the square roots of the diagonal elements. For the discrete time linear problem, which is evaluated in this research, the first KF based on SVD was researched by Wang, Libert, and Manneback [8,9]. In this paper, the algorithm is further improved by making the filter adaptable to changes in sensor quality.
The Riccati equation of the Kalman filter is an important tool for designing navigation systems, particularly those that incorporate sensors with diverse error characteristics, such as the Global Navigation Satellite System (GNSS) and the inertial navigation system (INS). The Riccati equation permits us to predict the performance of a given system design as a function of the subsystem and component error characteristics [2]. Designers can then search for the mixture of components that will reach a predefined set of performance endpoints at the lowest framework cost. The design of the Kalman filter is aimed at making sure the estimation uncertainty of the covariance matrix (the dependent variable of the matrix Riccati equation) remains symmetric and positive definite [1]. In this research, we design an adaptive Kalman filter implementation based on SVD, provide its derivation, and discuss the stability issues numerically. The filter is derived by substituting the SVD of the covariance matrix into the conventional discrete Kalman filter equations after its initial propagation and adaptive estimation of the covariance measurement matrix .
One application of SVD in navigation is to apply it in calculating position errors to decompose the geometric matrix G, where error analysis with SVD is used to construct the pseudo inverse of G, making the solution numerically stable. While the linear least squares (LLS) is somewhat susceptible to round-up errors, where the normal equation is sometimes close to singular, SVD fixes the round-up problem and produces a solution that is the best approximation in the least-squares sense [11].
Different applications in the area of ionospheric tomography, as the problem to be solved, encounter the same ill-conditioned issue for the design matrix, which is composed of contributions of unknown parameters containing the ionospheric electron density (IED) in the total electron content (STEC) measurements, which is often not square, ill-posed, and ill-conditioned. Many methods have been employed to circumvent the problem of ill-posedness in the GNSS tomographic equation [12]. Those algorithms are iterative and include the Kalman filter, singular value decomposition, and algebraic reconstruction [7,9].
In the field of industrial electronic applications where numerical stability is necessary, an example is sensorless motor control, where the advantages of estimating the speed/position of the rotor include reduced hardware complexity, lower cost, reduced machine drive size, the elimination of the sensor cable, noise immunity, and increased reliability [13]; for example, a motor without a position sensor is suitable for harsh environments (such as submerged pumps). Other applications include diagnostics, the fault-tolerant control of AC drives, distributed generation and storage systems, robotics, vision and sensor fusion technologies, signal processing and instrumentation applications, and the real-time implementation of the Kalman filter for industrial control systems [13]. We briefly discuss the numerical stability of the Kalman filter related to industrial control systems and sensor fusion for cardiorespiratory signal extraction, but focus on numerical examples in aerospace applications like GNSS navigation.
The safe and efficient operation of control systems requires computer-based failure detection algorithms [13], where diagnosis may be used to provide fault-tolerant control. Several failures can occur in electrical systems, and redundant design is one of the solutions to assure the continuity and, therefore, the reliability of operations. Kalman filters can be used in fault-tolerant controls, for example, in aircraft control, home and municipal appliances (gas turbines, cooling systems, and heat pumps), and electric vehicles.
A challenge in the real-time implementation of Kalman filters is the high computational complexity, and among the main difficulties is numerical stability when computing the covariance matrices as well the computational load and execution time. There are three possible solutions to circumvent these issues, and one solution is to modify the algorithm, which is the scope of this paper. In addition, an efficient digital architecture to implement the estimator [13], and parallel computing can be used. The observability problem physically means that one or more state variables (or linear combinations) are hidden from the view of the observer (i.e., the measurements) [6]. This is a challenge in the sensorless control of AC drives, which can be accentuated when the stator frequency is close to zero and the rotor voltage carries small values. In addition, under continuous excitation conditions, when the stator frequency is close to zero and when the inductor rotor voltage carries small values, an estimation of the speed of an induction motor (IM) is not likely to be obtainable. In practice, compared with extended Luenberger observers and slipping modes, the Kalman filter appears to function well in these conditions with no divergence [13]. With this trade-off, the complexity of the Kalman filter is higher.
Other important applications of the KF are in the signal extraction and fusion of sensors, self-driving cars, GNSS/INS integration, and biomedical sensors; for example, when extracting cardiorespiratory signals from noninvasive and noncontacting sensor arrangements, such as magnetic induction sensors. In those applications, the signals are separated for monitoring purposes; by using the KF, it is possible to measure the heart and breathing rates in real time [14], improving the estimation of results, whereas other filtering techniques fail to extract relevant information due to the mixing of respiratory and cardiac signals and disturbance by measurement noise [14].
The second objective of this paper is to promote the use of continuous adaptation changes in the measurement error covariance matrix . The Kalman gain weights the innovation for the measurement error covariance matrix (the estimation error covariance matrix is influenced by ), where higher values of make the measurement update step differ a little from the predicted value when the Kalman gain becomes very small [15]. On the contrary, high values of engender more trust in the estimation of the state; Zhang et al. [16] showed that inappropriate tuning parameters may lead to low convergence by introducing adaptive technology consisting of adjustments to the noise covariance matrices to improve the estimation accuracy. Muñoz-Bañon et al. [17] showed that the Kalman filter can be used to integrate high-level localization subsystems, where the covariance information plays an essential role as new observations become available. This approach will be used in this research.
The proper selection of and is vital for optimal filter performance, as the system model should describe as closely as possible the time evolution of the measured data, and the choices should reflect the system model error and measurement noise [15]. This research only explores changes in the measurement error covariance matrix . Zhang et al. [18] showed that when the system being considered has a stronger nonlinear action, the accuracy of the mode estimation will be poor. In order to address the shortcomings of the KF-based algorithm (K-SVD) and enhance the estimation precision, the adaptive filtering algorithm (K-SVD adaptive) was investigated, consisting of the adaptive estimation of , which is a function of the standard deviation.
2. Conventional Kalman Filter
The filter estimates, at each time, the a priori state of the system based on the a posteriori estimate for the previous moment and its dynamic equation. With this a priori estimate of the state, the corresponding predicted measurement that corresponds to that state is obtained. Then, it is compared with the actual measurement made at the same moment, then it corrects the a priori estimation as a function of its discrepancy and weight between the trust in the a priori estimates and the measurements represented by the gain of the filter. The process performed by the filter can be separated into two phases: prediction and correction [19].
Consider a discrete time model for a linear stochastic system:
where is the state vector; is the measurement vector; is the disturbance input vector; is the measurement noise vector; and , , and are the system matrices. The covariance of is , known as the process covariance matrix, and that of is , known as the measurement covariance matrix, and they are presumed to be zero-mean Gaussian white noise with the symmetric positive definite covariance matrices and , respectively. Then, at time , where a superscript indicates the a priori values of the variables and a superscript denotes values after the measurement update. The Kalman filter is described by following the recursive equations under the assumption that the system matrices are well known:
Time extrapolation:
Measurement update:
where is the covariance of estimation uncertainty, is the Kalman gain matrix, and are the innovations of the discrete Kalman filter.
3. Singular Value Decomposition
Here, we consider singular value decomposition, which is a way of decomposing a matrix, , in the product of three other matrices: .
Remark 1. Let A be an matrix with the right singular vectors , , …, ; left singular vectors , , …, ; and corresponding singular values . Then, A can be decomposed into a sum of rank-one matrices as follows:
Here, and , such that:
where:
Here, and diag( , with:
The numbers along with are known as the singular values of A, and they are the positive square roots of the eigenvalues of .
Columns U of A are the orthonormal eigenvectors of , whereas columns of A are the orthonormal eigenvectors of . It is understood that the singular values and singular vectors of a matrix are relatively insensitive to disturbance from the entries of the matrix and finite precision errors [8,20].
Given a non-square matrix , two matrices and their factorizations are of special interest:
The algorithm is developed by comparing both sides of the obtained matrix equations.
4. SVD of Kalman Filter
In practical terms, if is positive definite, then Equation (13) can be compacted to:
where is an × diagonal matrix. Specifically, if is itself positive definite, then it will have an asymmetric singular decomposition (which is also an eigendecomposition):
where the principal standard deviations are the square roots of the diagonal elements of A. Assuming that the covariance of the Kalman filter has been propagated and updated for everything from the filter algorithm, the singular value decomposition of the equation of . is:
Equation (6) can then be written as:
The idea is to find the factors and from Equation (18), such that:
We define the following matrix:
Then, we compute its singular value decomposition:
Multiplying each term on the left by its transpose, we get:
We obtain:
Comparing the result of Equation (23) with Equations (18) and (19), it is easy to associate and with and . In the orthodox Kalman measurement update, substituting Equation (8) into (9) yields:
Lemma 1. Using the matrix inversion lemma in the case where the inverse of a positive definite matrix A adds a rank-one matrix yields:
where the superscript T denotes the complex conjugate transpose (or Hermitian) operation. It is well known in the literature that this formula is handy to develop a recursive least-squares algorithm for the recursive identification or design of an adaptive filter [21].
The lemma on Equations (24) and (25) yields:
Implementing the singular value decomposition of a symmetric positive definite matrix into and yields:
To make the system adaptable to changes in sensor quality, the measurement noise is also estimated, which leads to a time-variant matrix. When the signal comes from different sensors, at each discrete time step the noise covariance matrix is updated by appraising the standard deviation (std) of an arithmetically differentiated (diff) small-signal segment [14]:
The adaptive computation of the KF and SVD-based (K-SVD) algorithm can be added independent of the SVD portion, as for some applications the measurement covariance matrix is known and can be pre-computed at the algorithm initiation.
After computing Equations (29) and (30), let
be the Cholesky decomposition of the inverse of the covariance matrix. If covariance matrix is known, but not the inverse, then the reverse Cholesky decomposition , [8] upper triangular can be identified. It then follows that is the necessary Cholesky decomposition [20] in Equation (31).
Now, we consider the × n matrix:
and compute its singular value decomposition:
Multiplying each term on the left by its transpose produces:
Then, Equation (28) can be written as follows:
Comparing both sides of Equation (36):
The update measurement formulation is obtained, which requires calculating the singular value decomposition of the nonsymmetrical matrix without specifically defining its left orthogonal component that has a larger dimension. The Kalman gain term can be derived as:
Inserting and will not alter the gain. Thus, the Kalman filter gain can be written as:
where denotes the identity matrix. Next, from Equation (26), for we get:
The Kalman gain is fully defined, and the state vector measurement is given by:
| Algorithm 1. Singular value decomposition-based Kalman filtering: |
| Input: |
| Initialization (k = 0). Perform SVD on to determine the initial and . The initial , where and are orthogonal and diagonal matrices, respectively. Matrix contains the singular values of . |
Steps (k = 1 to n):
|
| Return: Compute using Equation (31) as . |
The Algorithm 1 requires the Cholesky decomposition of noise covariance matrices ; for time-invariant matrices, the Cholesky decomposition is performed once during the initial step—i.e., before the KF recursion. Note that the algorithm also requires the m × m matrix inversion for the terms and in Equation (31). Again, if the process noise covariance is constant over time, the matrix calculation is pre-computed while the filter is initialized.
6. Computational Complexity
Computational complexity is evaluated as time complexity as a function of input size, where m and n denote the input size and the complexity of the number of required operations (big ), the matrix inversion is ), and an economic SVD rank reduction step requires ) operations. With the matrix multiplication ), to compute the Kalman gain requires ). The Cholesky decomposition of the commonly used algorithm is ). Computing the matrix covariance is , and in the worst case the algorithm complexity is ), and this is still within an acceptable range when compared with the conventional KF, where it has been established that the number of arithmetic operations to be executed at each sampling period is ) [24].
7. Conclusions and Future Scope
The computation of the novel Kalman-SVD algorithm is based on the computation of the singular value decomposition of an unsymmetrical matrix without explicitly forming its left orthogonal factor that has a high dimension [19]. K-SVD does a truncation that keeps only the top n right singular vectors by setting (where superscript T denotes the transpose of a matrix and n denotes the number of rows), equal to the n rows of (n × n matrix). That is equivalent to removing or zeroing out m number of singular values from the original matrix (m + n) by –n, where (m + n) denotes the rows, therefore reducing the dimension, which is far less than the original dimension, thus filtering out the noise.
The other conclusion of this research is related to the robustness of the adaptive algorithm. Compared with other KF-based decomposition algorithms, K-SVD adaptive can handle round-off errors, which makes the algorithm useful in critical applications, making it possible to deal with singular systems that are ill-conditioned.
From the analysis of example 3, we can conclude that the accuracy of position and speed can be improved by choosing the model that performs the best for the worst-case scenario, which in this case is the highly dynamic conditions of maneuvering a vehicle. The tracking capabilities can also be increased by adding to the K-SVD algorithm the adaptive computation of the measurement noise matrix as a time-variant matrix. From the analysis of example 4, we can conclude that K-SVD is suitable to deal with real dynamic conditions for ground navigation systems. From the analysis of the literature, it seems that one of the drawbacks of using K-SVD and KF in general is their high computational load. In that sense, K-SVD can be used in applications where the KF is currently used with the advantages of robustness and accuracy.
The algorithm developed in this research also has superior accuracy compared with regular decomposition-based KF algorithms by adapting the measurement matrix at each step and at the same time using the simplest form to update the error of the covariance matrix P, which is the most common equation to compute the algorithm. Additionally, the proposed Algorithm 1 does not require matrix inverting, and the system of interest does not need to have a square shape.
Our effort in this paper is guided by the increasing utilization of Kalman filtering in operations that demand high reliability, where the robustness of the algorithm is a necessary condition to perform critical operations. More work can be done in future K-SVD adaptive applications by including the Joseph stabilized form instead of the conventional form of the Riccati equation to avoid the propagation of antisymmetric problems and fine-tuning the process noise covariance matrix . We believe that the key points and principles derived here will find their way to applications in high-speed signal processing by combining K-SVD, K-SVD adaptive and SVD compressive sensing [25]. For future research, we intend to explore particular technology uses.
Author Contributions
J.C.B.O. designed the mathematical model of the proposed algorithm and wrote the paper, R.M.A.V. performed the experiments, and V.F.G.C. analyzed the data. All authors have read and agreed to the published version of the manuscript.
Funding
This research received no external funding.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Grewal, M.S.; Andrews, A.P.; Bartone, C.G. Global Navigation Satellite Systems, Inertial Navigation, and Integration; John Wiley & Sons: Hoboken, NJ, USA, 2013. [Google Scholar]
- Grewal, M.S.; Andrews, A.P. Kalman Filtering: Theory and Practice Using MATLAB; John Wiley & Sons: Hoboken, NJ, USA, 2014. [Google Scholar]
- Grewal, M.S.; Weill, L.R.; Andrews, A.P. Global Positioning Systems, Inertial Navigation, and Integration; John Wiley & Sons: Hoboken, NJ, USA, 2001. [Google Scholar]
- Verhaegen, M.; Van Dooren, P. Numerical aspects of different Kalman filter implementations. IEEE Trans. Autom. Control 1986, 31, 907–917. [Google Scholar] [CrossRef] [Scilit]
- Bierman, G.J. Factorization Methods for Discrete Sequential Estimation; Academic Press: New York, NY, USA, 1977. [Google Scholar]
- Brown, R.G.; Hwang, P.G. Introduction to Random Signals and Applied Kalman Filtering with MATLAB Exercises, 4th ed.; John Wiley & Sons: Hoboken, NJ, USA, 2012. [Google Scholar]
- Prvan, T.; Osborne, M.R. A square-root fixed-interval discrete-time smoother. J. Aust. Math. Soc. Ser. B. Appl. Math. 1988, 30, 57–68. [Google Scholar] [CrossRef] [Scilit]
- Wang, L.; Libert, G.; Manneback, P. Kalman Filter Algorithm Based on Singular Value Decomposition. In Proceedings of the 31st IEEE Conference on Decision and Control, Tucson, AZ, USA, 16–18 December 1992. [Google Scholar]
- Wang, L.; Libert, G.; Manneback, P. A Singular Value Decomposition Based Kalman Filter Algorithm. In Proceedings of the 1992 International Conference on Industrial Electronics, Control, Instrumentation, and Automation, San Diego, CA, USA, 13 November 1992. [Google Scholar]
- Zhang, Y.; Dai, G.; Zhang, H.; Li, Q. A SVD-based extended Kalman filter and applications to aircraft flight state and parameter estimation. In Proceedings of the 1994 American Control Conference—ACC ’94, Baltimore, MD, USA, 29 June–1 July 1994. [Google Scholar]
- Fan, J.; Ma, G. Characteristics of GPS positioning error with non-uniform pseudorange error. GPS Solut. 2014, 18, 615–623. [Google Scholar] [CrossRef] [Scilit]
- Chen, B.; Wu, L.; Dai, W.; Luo, X.; Xu, Y. A new parameterized approach for ionospheric tomography. GPS Solut. 2019, 23. [Google Scholar] [CrossRef] [Scilit]
- Auger, F.; Hilairet, M.; Guerrero, J.M.; Monmasson, E.; Orlowska-Kowalska, T.; Katsura, S. Industrial Applications of the Kalman Filter: A Review. IEEE Trans. Ind. Electron. 2013, 60, 5458–5471. [Google Scholar] [CrossRef] [Scilit]
- Foussier, J.; Teichmann, D.; Jia, J.; Misgeld, B.J.; Leonhardt, S. An adaptive Kalman filter approach for cardiorespiratory signal extraction and fusion of non-contacting sensors. BMC Med. Inform. Decis. Making 2014, 14, 37. [Google Scholar] [CrossRef] [Scilit] [PubMed]
- Spincemaille, P.; Nguyen, T.D.; Prince, M.R.; Wang, Y. Kalman filtering for real-time navigator processing. Magn. Reson. Med. 2008, 60, 158–168. [Google Scholar] [CrossRef] [Scilit] [PubMed]
- Zhang, C.; Yan, F.; Du, C.; Rizzoni, G. An Improved Model-Based Self-Adaptive Filter for Online State-of-Charge Estimation of Li-Ion Batteries. Appl. Sci. 2018, 8, 2084. [Google Scholar] [CrossRef] [Scilit]
- Muñoz-Bañón, M.Á.; Del Pino, I.; Candelas-Herías, F.A.; Torres, F. Framework for Fast Experimental Testing of Autonomous Navigation Algorithms. Appl. Sci. 2019, 9, 1997. [Google Scholar]
- Zhang, C.; Guo, C.; Zhang, D. Data Fusion Based on Adaptive Interacting Multiple Model for GPS/INS Integrated Navigation System. Appl. Sci. 2018, 8, 1682. [Google Scholar] [CrossRef] [Scilit]
- Nieto, F.J.S. Navegacion Aerea; Garceta Grupo Editorial: Madrid, Spain, 2012. [Google Scholar]
- Durdu, O.F. Estimation of state variables for controlled irrigation canals via a singular value based Kalman filter. Fresenius Environ. Bull. 2004, 13, 1139–1150. [Google Scholar]
- Kohno, K.; Inouye, Y.; Kawamoto, M. A Matrix Pseudo-Inversion Lemma for Positive Semidefinite Hermitian Matrices and Its Application to Adaptive Blind Deconvolution of MIMO Systems. IEEE Trans. Circuits Syst. I: Regul. Pap. 2008, 55, 424–435. [Google Scholar] [CrossRef] [Scilit]
- Kulikova, M.V.; Tsyganova, J.V. Improved Discrete-Time Kalman Filtering within Singular Value Decomposition. Available online: https://www.groundai.com/project/improved-discrete-time-kalman-filtering-within-singular-value-decomposition/3 (accessed on 25 March 2020).
- Department of Defense; U.S. Department of Transportation. Available online: https://www.transportation.gov/pnt/radionavigation-systems-planning#:~:text=The%20Federal%20Radionavigation%20Plan%20 (accessed on 2 July 2020).
- Mendel, J. Computational requirements for a discrete Kalman filter. IEEE Trans. Autom. Control. 1971, 16, 748–758. [Google Scholar] [CrossRef] [Scilit]
- Ordoñez, J.C.B.; Valdés, R.M.A.; Comendador, F.G. Energy Efficient GNSS Signal Acquisition Using Singular Value Decomposition (SVD). Sensors 2018, 18, 1586. [Google Scholar] [CrossRef] [Scilit] [PubMed]
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).






















