# Optimization Based Kalman Filters

**URL:** https://discourse.julialang.org/t/optimization-based-kalman-filters/131937
**Category:** Optimization (Mathematical)
**Tags:** control, optimization, kalman
**Created:** [August 29, 2025, 10:07am UTC](https://discourse.julialang.org/t/optimization-based-kalman-filters/131937 "2025-08-29T10:07:22Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![langestefan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/langestefan/32/207923_2.png) [@langestefan](https://discourse.julialang.org/u/langestefan)
#### Post date: [August 29, 2025, 10:07am UTC](https://discourse.julialang.org/t/optimization-based-kalman-filters/131937/1 "2025-08-29T10:07:22Z")

</div>

I was wondering if we have any reference implementations or packages that implement (convex) optimization based kalman filters.

Such as discussed in this paper by Boyd: [Real-Time Convex Optimization in Signal Processing](https://stanford.edu/~boyd/papers/pdf/rt_cvx_sig_proc.pdf)

---

<div class="post-metadata">

### Author: ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)
#### Post date: [August 29, 2025, 10:23am UTC](https://discourse.julialang.org/t/optimization-based-kalman-filters/131937/2 "2025-08-29T10:23:08Z")

</div>

Not that I’m aware of, but I happen to be working on a very related problem at the moment, for which it would be trivial to incorporate, e.g., the robust measurement update in eq 6. Give it a day or so and it might be available in [GitHub - baggepinnen/LowLevelParticleFilters.jl: State estimation, smoothing and parameter estimation using Kalman and particle filters.](https://github.com/baggepinnen/LowLevelParticleFilters.jl)

---

<div class="post-metadata">

### Author: ![langestefan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/langestefan/32/207923_2.png) [@langestefan](https://discourse.julialang.org/u/langestefan)
#### Post date: [August 29, 2025, 10:33am UTC](https://discourse.julialang.org/t/optimization-based-kalman-filters/131937/3 "2025-08-29T10:33:29Z")

</div>

That’s awesome! I’ll be watching it 🙂

---

<div class="post-metadata">

### Author: ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)
#### Post date: [August 29, 2025, 11:57am UTC](https://discourse.julialang.org/t/optimization-based-kalman-filters/131937/4 "2025-08-29T11:57:20Z")

</div>

It turns out that [I found a closed-form solution to what I was trying to do](https://github.com/baggepinnen/LowLevelParticleFilters.jl/pull/237/files#diff-33cec3345bd91aaadc0b059f664620e476a54f400a979c57308860dfb2e5fcbdR181), so I do not need the convex optimization anymore 😅

---

<div class="post-metadata">

### Author: ![langestefan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/langestefan/32/207923_2.png) [@langestefan](https://discourse.julialang.org/u/langestefan)
#### Post date: [August 29, 2025, 12:00pm UTC](https://discourse.julialang.org/t/optimization-based-kalman-filters/131937/5 "2025-08-29T12:00:27Z")

</div>

Oops. What are you actually trying to do?

---

<div class="post-metadata">

### Author: ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)
#### Post date: [August 29, 2025, 12:01pm UTC](https://discourse.julialang.org/t/optimization-based-kalman-filters/131937/6 "2025-08-29T12:01:52Z")

</div>

It’s all in the link I posted, in particular the PR title

---

<div class="post-metadata">

### Author: ![langestefan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/langestefan/32/207923_2.png) [@langestefan](https://discourse.julialang.org/u/langestefan)
#### Post date: [August 29, 2025, 12:19pm UTC](https://discourse.julialang.org/t/optimization-based-kalman-filters/131937/7 "2025-08-29T12:19:03Z")

</div>

I read the new `thermal_nn_example`, I get it now. If nothing else exists I think I will explore writing a package for generic optimization based kalman filters. In terms of computational efficiency, it will of course never be close to LowLevelParticleFilters.jl.
