Miniminix
Joined 2 years ago
Joined 2 years ago
My simple head space (as I was taught and re-learned thru experience, and have passed on)
1. Kalman Gain close to 1 or 0 is a warning sign that careful consideration is needed.
This fact can be brought up immediately in example #5 and continued
2a. K close to 1.0 can be bad because..., however for some applications (dynamic models) it can be acceptable since...
2b. K close to 0.0 can be bad because... however for some applications (dynamic models) it can be acceptable since...
3. To solve the problem from step 2, As a first step, for those applications where K close to zero or one is bad... a fudge factor term (called Q for reasons discussed later) can be added to the Kalman Gain computation
3a. Choosing the correct fudge factor for the application is often very difficult and may require lots of simulation runs (a parameter study) with different measurement sequences (including some expected off-nominals) and various values for the process noise.
Remember we are designing a filter, likely for a new application (or a non-trivial extension of an existing application)... so all the elements of an engineering design are needed. Make solution hypothesis, test them, refine them, test them some more with greater realism and eventually real-world data, continue to refine the solution.
4. For easy case of a simple application and only a few unknown states, the process noise can be guesstimated from experience. For more complex applications (perhaps there are dozens of unknown states to estimate) a more rigorous approach to select the correct mathematical description of Process Noise is needed.
-- End of Fudge Factor discussion --
5. Here you can introduce the notion that the state dynamics cannot model everything and that unmodeled part can be approximated by Process Noise. For example an unmodeled constant acceleration, gives dt^4
Here are some sentences I think are wrong or misleading
"As you can see, the Kalman Gain gradually decreases; therefore, the KF converges." However, the Kalman Filter may converge to garbage. This garbage could be a "lag", or just plain wrong.
"The process noise produces estimation errors." A well chosen process noise is important to reduce estimation errors over an ensemble of conditions, by accommodating a range of unmodeled state dynamics. A poorly chosen process may not improve anything.
It is strange that the "entry level" computer in 2024 competes and sometimes wins against the 2022 fully-decked out M2 and the original M1 Ultra.
The M3 Pro had a DECREASE in number of P-cores compared to the M2 Pro.
That was very strange and unexplainable.
Click on his other links at the bottom.
For Apple fanboys, perhaps no info... but a quick summary for those thinking about a Mac is welcome
Seems to lots of space between monolith and microservice
Informally stated, if a system has a continuous symmetry property, then there are corresponding quantities whose values are conserved.
As an illustration, if a physical system behaves the same regardless of how it is oriented in space, angular momentum of the system must be conserved, as a consequence of its laws of motion.
Another illustration, if a physical process exhibits the same outcomes regardless of place or time, then linear momentum and energy must be conserved.
It is regarded as the foundation of particle physics
Suggest you look at the Julia Language, a high-level but still capable of C-like speed.
It has built in support for SIMD (and GPU) processing.
Julia is designed to support Scientific Computing, with a growing library spanning different domains.
My simple head space (as I was taught and re-learned thru experience, and have passed on)
1. Kalman Gain close to 1 or 0 is a warning sign that careful consideration is needed.
This fact can be brought up immediately in example #5 and continued
2a. K close to 1.0 can be bad because..., however for some applications (dynamic models) it can be acceptable since...
2b. K close to 0.0 can be bad because... however for some applications (dynamic models) it can be acceptable since...
3. To solve the problem from step 2, As a first step, for those applications where K close to zero or one is bad... a fudge factor term (called Q for reasons discussed later) can be added to the Kalman Gain computation
3a. Choosing the correct fudge factor for the application is often very difficult and may require lots of simulation runs (a parameter study) with different measurement sequences (including some expected off-nominals) and various values for the process noise.
Remember we are designing a filter, likely for a new application (or a non-trivial extension of an existing application)... so all the elements of an engineering design are needed. Make solution hypothesis, test them, refine them, test them some more with greater realism and eventually real-world data, continue to refine the solution.
4. For easy case of a simple application and only a few unknown states, the process noise can be guesstimated from experience. For more complex applications (perhaps there are dozens of unknown states to estimate) a more rigorous approach to select the correct mathematical description of Process Noise is needed.
-- End of Fudge Factor discussion --
{I think you covered this section well} Then you can introduce the notion that the state dynamics cannot model everything and that unmodeled part can be approximated by Process Noise. For example an unmodeled constant acceleration, gives a process noise of ....
Here are some sentences I think are wrong or misleading
"As you can see, the Kalman Gain gradually decreases; therefore, the KF converges." However, the Kalman Filter may converge to garbage. This garbage could be a "lag", or just plain wrong.
"The process noise produces estimation errors." A well chosen process noise is important to reduce estimation errors over an ensemble of conditions, by accommodating a range of unmodeled state dynamics. A poorly chosen process may not improve anything.