70 double s11, s12, s21, s22;
71 double k11, k12, k21, k22, k31, k32;
72 double p11, p12, p13, p21, p22, p23, p31, p32, p33;
76 data->x1 = data->x1 +
DT*data->x2 -
DT*data->
x3;
82 a = data->p11 + data->p21*
DT - data->p31*
DT;
83 b = data->p12 + data->p22*
DT - data->p32*
DT;
84 c = data->p13 + data->p23*
DT - data->
p33*
DT;
85 data->p11 = a + b*
DT - c*
DT +
Q1;
88 data->p21 = data->p21 + data->p22*
DT - data->p23*
DT;
89 data->p22 = data->p22 +
Q2;
91 data->p31 = data->p31 + data->p32*
DT - data->
p33*
DT;
102 s11 = data->p11 +
R1;
105 s22 = data->p22 +
R2;
109 sDet = 1/(s11*s22 - s12*s21);
110 k11 = (data->p11*s22 - data->p12*s21)*sDet;
111 k12 = (data->p12*s11 - data->p11*s12)*sDet;
112 k21 = (data->p21*s22 - data->p22*s21)*sDet;
113 k22 = (data->p22*s11 - data->p21*s12)*sDet;
114 k31 = (data->p31*s22 - data->p32*s21)*sDet;
115 k32 = (data->p32*s11 - data->p31*s12)*sDet;
119 data->x1 = data->x1 + k11*y1 + k12*y2;
120 data->x2 = data->x2 + k21*y1 + k22*y2;
121 data->
x3 = data->
x3 + k31*y1 + k32*y2;
125 p11 = data->p11*(1.0f - k11) - data->p21*k12;
126 p12 = data->p12*(1.0f - k11) - data->p22*k12;
127 p13 = data->p13*(1.0f - k11) - data->p23*k12;
128 p21 = data->p21*(1.0f - k22) - data->p11*k21;
129 p22 = data->p22*(1.0f - k22) - data->p12*k21;
130 p23 = data->p23*(1.0f - k22) - data->p13*k21;
131 p31 = data->p31 - data->p21*k32 - data->p11*k31;
132 p32 = data->p32 - data->p22*k32 - data->p12*k31;
133 p33 = data->
p33 - data->p22*k32 - data->p13*k31;
134 data->p11 = p11; data->p12 = p12; data->p13 = p13;
135 data->p21 = p21; data->p22 = p22; data->p23 = p23;
136 data->p31 = p31; data->p32 = p32; data->
p33 = p33;