root/applications/pmsm/simulator_zdenek/ekf_example/matrix_vs.h @ 1230

Revision 1230, 1.7 kB (checked in by smidl, 14 years ago)

givens + new Q for UD

Line 
1/************************************
2        Extended Kalman Filter
3        Matrix operations
4
5        V. Smidl
6
7Rev. 30.8.2010
8
930.8.2010      Prvni verze
10
11*************************************/
12
13#define qAU 14
14
15/* Matrix multiply Full matrix by upper diagonal matrix with unit diagonal; */
16extern void mmultAU(int *m1, int *up, int *result, unsigned int rows, unsigned int columns);
17
18/* Matrix multiply Full matrix by upper diagonal matrix; */
19extern void mmultACh(int *m1, int *up, int *result, unsigned int rows, unsigned int columns);
20
21/* perform Thorton update of UD matrix using PSI*U, Q, and temporaries G, Dold, for size dimx*/
22extern void thorton(int *U, int *D, int *PSIU, int *Q, int *G, int *Dold, unsigned int dimx);
23
24/* perform Bierman update of UD matrix using difz, R and xp, for size dimx*/
25extern void bierman(int *difz, int *xp, int *U, int *D, int *R, unsigned int dimy, unsigned int dimx );
26
27/* perform Thorton update of UD matrix using PSI*U, Q, and temporaries G, Dold, for size dimx*/
28extern void thorton_fast(int *U, int *D, int *PSIU, int *Q, int *G, int *Dold, unsigned int dimx);
29
30/* perform Bierman update of UD matrix using difz, R and xp, for size dimx*/
31extern void bierman_fast(int *difz, int *xp, int *U, int *D, int *R, unsigned int dimy, unsigned int dimx );
32
33/* perform Householder update of Ch matrix using PSI*Ch , Q, */
34extern void householder(int *Ch /*= int *PSICh*/, int *Q, unsigned int dimx);
35
36/* perform Givens update of Ch matrix using PSI*Ch , Q, */
37extern void givens(int *Ch /*= int *PSICh*/, int *Q, unsigned int dimx);
38
39/* perform Carlson update of Ch matrix using difz, R and xp, for size dimx*/
40extern void carlson(int *difz, int *xp, int *Ch, int *R, unsigned int dimy, unsigned int dimx );
Note: See TracBrowser for help on using the browser.