# XCOS Kalman Filter Demo

**URL:** <https://scilab.discourse.group/t/xcos-kalman-filter-demo/750>\
**Category:** Xcos\
**Created:** [November 27, 2024, 11:30am UTC](https://scilab.discourse.group/t/xcos-kalman-filter-demo/750 "2024-11-27T11:30:25Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vimsrocz](https://avatars.discourse-cdn.com/v4/letter/v/ed8c4c/32.png) [@Vimsrocz](https://scilab.discourse.group/u/Vimsrocz)\
**Post date:** [November 27, 2024, 11:30am UTC](https://scilab.discourse.group/t/xcos-kalman-filter-demo/750/1 "2024-11-27T11:30:25Z")

</div>

If I change the dimension of the set context to

```auto
// Define physical parameters
k1 = 100; // Spring constant of k1 (N/m)
k2 = 50; // Spring constant of k2 (N/m)
b = 10; // Damping coefficient (Ns/m)
m1 = 5; // Mass of m1 (kg)
m2 = 3; // Mass of m2 (kg)
// System Matrices
A = [0, 1, 0, 0;
    -(k1 + k2) / m1, -b / m1, k2 / m1, 0;
     0, 0, 0, 1;
     k2 / m2, 0, -k2 / m2, 0];

B = [0;
     1 / m1;
     0;
    -1 / m2];

C = [1, 0, 0, 0;
     0, 0, 1, 0];

D = [0; 0];

// Kalman Filter Parameters
Q = diag([0.01, 0.01, 0.01, 0.01]); // Process noise covariance
R = diag([0.05, 0.05]); // Measurement noise covariance
P0 = diag([0.1, 0.1, 0.1, 0.1]); // Initial error covariance

```

Then how to debug it. It is hard coded. What is the error now?

---

<div class="post-metadata">

**Author:** ![Vimsrocz](https://avatars.discourse-cdn.com/v4/letter/v/ed8c4c/32.png) [@Vimsrocz](https://scilab.discourse.group/u/Vimsrocz)\
**Post date:** [November 27, 2024, 11:55am UTC](https://scilab.discourse.group/t/xcos-kalman-filter-demo/750/2 "2024-11-27T11:55:42Z")

</div>

![Capture](https://global.discourse-cdn.com/free1/uploads/utc/original/1X/f935aef3530378642411c5b748cdefd734960d55.jpeg)  
If we change parameter then it wont work hence model is used for only case.

---

<div class="post-metadata">

**Author:** ![davidcl](https://yyz2.discourse-cdn.com/free1/user_avatar/scilab.discourse.group/davidcl/32/1029_2.png) [@davidcl](https://scilab.discourse.group/u/davidcl)\
**Post date:** [November 28, 2024, 11:29am UTC](https://scilab.discourse.group/t/xcos-kalman-filter-demo/750/3 "2024-11-28T11:29:49Z")

</div>

> [@Vimsrocz](#):
>
> ```auto
> // Kalman Filter Parameters
> Q = diag([0.01, 0.01, 0.01, 0.01]); // Process noise covariance
> R = diag([0.05, 0.05]); // Measurement noise covariance
> P0 = diag([0.1, 0.1, 0.1, 0.1]); // Initial error covariance
> 
> ```

In which block do you use these `Q`, `R` and `P0` parameters ? in specific blocks ?  
Could you share this schema ?

---

<div class="post-metadata">

**Author:** ![Vimsrocz](https://avatars.discourse-cdn.com/v4/letter/v/ed8c4c/32.png) [@Vimsrocz](https://scilab.discourse.group/u/Vimsrocz)\
**Post date:** [November 28, 2024, 1:45pm UTC](https://scilab.discourse.group/t/xcos-kalman-filter-demo/750/4 "2024-11-28T13:45:21Z")

</div>

Please go to Demo \>XCOS\> Control System \> Kalman Filter

If you change above parameters then we will get this error. Other variable

**Q, R** and **P0** are inside the kalman filter super block so you can see it.

 ![Capture](https://global.discourse-cdn.com/free1/uploads/utc/original/1X/b7ffb12458438ca51bc25f0a6015a4c4609121e7.jpeg)
