Skip to content

Matlab demo code for implementation and usage of the Split Covariance Intersection Filter (Split CIF)

Notifications You must be signed in to change notification settings

LI-Hao-SJTU/SplitCIF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Split Covariance Intersection Filter (SplitCIF)

Matlab demo code for implementation and usage of the Split Covariance Intersection Filter (Split CIF) is given in this repository. The SplitCIF.m file instantiates the Split CIF algorithm in Matlab code and can be used directly by readers in their own Matlab code. Besides, the SplitCIF.m file can also serve as a guide for readers to instantiate the Split CIF algorithm in other programming languages such as C/C++, Java, Python etc. The demoSplitCIF.m file which invokes SplitCIF.m serves as demo code for usage of the Split CIF.

The direct reference of this repository works is [1] which provides a theoretical foundation for the Split CIF. A reference closely related to [1] is [2] which presents the Split CIF heuristically without theoretical analysis. One can refer to [1] for details of the Split CIF. For using and referring to this repository works, please cite both [1] and [2].

[1] H. Li, F. Nashashibi and M. Yang, "Split Covariance Intersection Filter: Theory and Its Application to Vehicle Localization," IEEE Transactions on Intelligent Transportation Systems, vol. 14, no. 4, pp. 1860-1871, 2013

[2] S.J. Julier, J.K. Uhlmann, “General decentralized data fusion with covariance intersection (CI)”, Chapter 12, D. Hall, J. Llinas (Eds.), Handbook of Data Fusion, CRC Press, Boca Raton FL USA, 2001

A complementary note that provides convexity analysis of the w-optimization problem is given by

[3] H. Li, "On w-optimization of the split covariance intersection filter", arXiv

https://browse.arxiv.org/pdf/2101.10159.pdf

Notes:

The Split CIF is coined originally as "split covariance intersection" in [2]. In [1], the term "filter" is added to form an analogy of the Split CIF to the well-known Kalman filter. Although the Split CIF is called "filter", its application is not limited to temporal recursive estimation; the Split CIF can be used as a pure data fusion method besides its filtering sense, just as the Kalman filter can also be treated as a data fusion method.

For each estimate X in the split form, the "i" covariance part Pi represents the degree of X being independent, whereas the "d" part Pd represents its degree of being potentially correlated with other estimates.

Special cases of the Split CIF:

Case 1: P1d = 0 matrix , P2d = 0 matrix. The Split CIF is simply reduced to the Kalman filter (KF); So if you want to use the KF, then you can still use the Split CIF by simplying setting both P1d and P2d to zero matrices

Case 2: P1i = 0 matrix , P2i = 0 matrix. The Split CIF is simply reduced to the Covariance Intersection (CI) fusion method; So if you want to use the CI, then you can still use the Split CIF by simplying setting both P1i and P2i to zero matrices

The Split CIF is a generalization of both the KF and the CI.

About

Matlab demo code for implementation and usage of the Split Covariance Intersection Filter (Split CIF)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages