Worked examples — Unscented Kalman Filter (UKF) — sigma points, better for nonlinear
3.5.25 · D3· Physics › Guidance, Navigation & Control (GNC) › Unscented Kalman Filter (UKF) — sigma points, better for non
Yeh ek Deep Dive child note hai Unscented Kalman Filter (UKF) ka. Parent note ne machinery banayi thi — sigma points, weights, transform. Yahan hum use stress-test karte hain har us situation ke against jo ek real filter face karta hai: gentle curvature, brutal curvature, woh exact quadratic jo EKF ko fool karta hai, ek degenerate covariance, ek full predict step with noise, aur ek non-differentiable measurement jahan EKF ka Jacobian literally exist hi nahi karta.
Shuru karne se pehle, ek reminder plain words mein. Ek sigma point ek hand-picked sample hota hai state ka. Ek weight batata hai ki hum us sample par kitna trust karte hain jab hum mean ya spread rebuild karte hain. Hum har sample ko true nonlinear function se push karte hain aur statistics padhte hain. Koi derivatives nahi. Kabhi bhi.
Weight formulas, ek baar dobara likhi gayi taaki kuch unexplained na lage
Neeche ke har example mein same do weight sets use hoti hain jo parent note se hain. Kyunki ek reviewer ne (sahi) flag kiya ki covariance-weight correction baar baar bina explanation ke aa raha tha, isliye yahan poora rulebook ek jagah hai, plain words mein, pehle kisi bhi example se pehle.
Neeche do everyday choices dikhengi:
- : tab , isliye — mean aur covariance weights same hain. Examples 1–7, 9, 10 mein clean arithmetic ke liye use hota hai.
- (e.g. ), : Example 8 ka scaled UT, jahan correction genuinely matter karta hai.
Poore note mein, jab tak kaha na jaye, hum = state dimension aur use karte hain.
Scenario matrix
Har UKF question in cells mein se kisi ek mein aata hai. Neeche ke examples labeled hain un cells ke saath jo woh cover karte hain, taaki end mein koi cell empty na rahe.
| # | Case class | Tricky kya hai | Covered by |
|---|---|---|---|
| A | Linear | UT ko plain [[Kalman Filter (linear) | Kalman filter]] answer exactly reproduce karna chahiye |
| B | Symmetric quadratic , mean | EKF Jacobian zero hai → EKF blind, UT ko dikhna chahiye | Ex 2 |
| C | Nonzero-mean nonlinearity | Curvature aur offset dono matter karte hain | Ex 3 |
| D | 2D / covariance shape | Matrix square root, principal axes ke saath spread | Ex 4 (fig) |
| E | Full predict step with | Process noise add karna mat bhoolo | Ex 5 |
| F | Non-differentiable | EKF Jacobian origin par undefined hai; UT theek hai | Ex 6 (fig) |
| G | Degenerate / zero variance | Ek direction mein koi uncertainty nahi; points collapse ho jaate hain | Ex 7 |
| H | Scaled UT, tiny | Limiting behaviour, correction covariance bachata hai | Ex 8 |
| I | Word problem (real GNC) | Ek physical scenario ko mein translate karna | Ex 9 |
| J | Exam twist: sign/weight trap | wahan use karna jahan chahiye | Ex 10 |
Example 1 — Cell A: linear sanity check
-
Sigma points. Matrix square root: . Yeh step kyun? Teeno points ko mean aur variance reproduce karna chahiye; woh ke around symmetric hain isliye mean untouched rehta hai aur unka spread carry karta hai.
-
Weights. , aur . ke saath correction hai, to . Yeh step kyun? banata hai — koi scaled-UT correction nahi, isliye plain Kalman se cleanly compare kar sakte hain.
-
Transform. Yeh step kyun? Hum actual apply karte hain, linearization nahi — lekin hai linear yahan, isliye yeh exact map hai.
-
Mean recover karo (use ). Yeh step kyun? terms cancel ho jaate hain; symmetric points ek symmetric mean dete hain.
-
Covariance recover karo (use ). se deviations: . Yeh step kyun? Covariance squared deviations ka weighted mean hai; centre point yahan kuch contribute nahi karta kyunki uski deviation hai.
Recall Verify
Kalman prediction ::: ✔, ✔ — UT linear filter ko exactly reproduce karta hai. Jaisa hona chahiye.
Example 2 — Cell B: woh quadratic jo EKF ko blind kar deta hai
-
Sigma points. , to . Yeh step kyun? Hum linearize karne se mana karte hain; do outer points par exactly isliye rakhe jaate hain taaki unka weighted spread true variance reproduce kare — hum ko wahan sample karte hain jahan uncertainty actually hai.
-
Transform. . Yeh step kyun? Dono outer points ko square karne se same positive value aati hai — curvature ek upward shift ke roop mein dikhayi deti hai jo EKF ka zero slope kabhi nahi dekh pata.
-
Mean (use ). . Yeh step kyun? Bhaले hi centre point par map hota hai, do lifted outer points weighted average ko tak upar kheench lete hain — yahi linearize na karne ka poora point hai.
Recall Verify
ka true mean ::: — UT exact hai, EKF deta hai (100% galat). ke liye: UT kehta hai , EKF kehta hai .
Example 3 — Cell C: nonzero mean, curvature + offset
- Sigma points. , to . Yeh step kyun? Points actual mean par centred hain (na ki par) aur ke steps mein nikle hain taaki unka spread ke barabar ho — ki mean aur covariance dono ko touch karne se pehle reproduce ho jaate hain.
- Transform. . Yeh step kyun? Har shifted sample par true — cross-term exactly woh curvature information hai jo EKF discard karta hai.
- Mean (use ). Yeh step kyun? Average mein terms cancel ho jaate hain; jo bachta hai woh curvature bias hai jo mean ko se upar true tak lift karta hai.
- Covariance (use ). se deviations: . ; unka sum hai . Yeh step kyun? Deviations ko square karke weight-average karna variance ki definition hai; yahan hai isliye , aur centre deviation contribute karta hai.
Recall Verify
Dono moments ::: (true ) ✔ aur (true ) ✔ — UT ek Gaussian ke through ek quadratic ke liye mean aur spread dono exactly capture karta hai.
Example 4 — Cell D: 2D covariance, principal axes ke saath spread (figure)

- Matrix square root. Kyunki diagonal hai, (yeh Cholesky factor hai). Scale: , columns aur . Yeh step kyun? Scaled square root ke columns principal directions hain — uncertainty ellipse (Figure 1 mein lavender curve) ki har axis ke saath kitna step karna hai.
- Sigma points. (coral dot); aur (chaar mint dots). Yeh step kyun? Figure 1 mein do measuring arrows compare karo: wide axis (variance ) points ko tak push karta hai, narrow axis (variance ) sirf tak — point cloud exactly ellipse ki tarah stretched hai, isliye woh sahi shape carry karta hai.
- Weights. ; chaar outer points ke liye. Yeh step kyun? ke saath centre zero mean-weight carry karta hai — sirf chaar symmetric points hi mean rebuild karte hain (isliye Figure 1 mein coral dot kuch bias nahi karta).
Recall Verify
reconstruct karo ::: -variance ✔; -variance ✔; cross term ✔.
Example 5 — Cell E: ek full predict step, mat bhoolo
- Sigma points. : . Yeh step kyun? Outer points par prior variance reproduce karte hain; hum prior uncertainty propagate karte hain, abhi kuch aur nahi.
- Propagate. : , , . Yeh step kyun? Har point par true dynamics — dono outer points ko se upar bump karta hai, jo woh curvature hai jo EKF miss kar deta.
- Predicted mean (use ). Yeh step kyun? cancel ho jaate hain; har outer point par surviving , weighted hoke, mean ko tak drift karta hai — yeh curvature ne produce kiya, koi input mean ne nahi.
- Predicted covariance before (use ). se deviations: . , , sum . Yeh step kyun? Same variance recipe pehle ki tarah ( to ); yeh measure karta hai ki propagated points kitne spread hain — lekin yeh sirf prior uncertainty hai jo forward carry hui hai.
- Process noise add karo. Yeh step kyun? Sigma points sirf prior uncertainty carry karte hain; woh nai uncertainty hai jo duniya har step mein inject karti hai. Ise bhoolo aur filter overconfident ho jaayega aur diverge karega.
Recall Verify
Predict outputs ::: , — direct weighted sums se confirm.
Example 6 — Cell F: non-differentiable measurement (figure)

- Sigma points. : , , . Yeh step kyun? hai, std har direction mein, isliye outer points radius par land karte hain — exactly Figure 2 mein butter circle par mint dots.
- se push karo. ; har outer point ka hai. To . Yeh step kyun? ko evaluate kiya jaata hai, differentiate kabhi nahi — origin corner (Figure 2 mein coral dot ke roop mein visible) arithmetic mein simply kabhi enter nahi karta.
- Weights & mean (use ). , . Yeh step kyun? Figure 2 dekho: chaar mint arrows sab ki length hai, isliye measured range par average karta hai — ek finite, sensible, derivative-free estimate exactly wahan jahan EKF fail hota hai.
Recall Verify
EKF ke fail hone par finite ::: ✔; origin par EKF Jacobian hai, undefined.
Example 7 — Cell G: degenerate / zero-variance direction
- Square root. ; scaled columns aur . Yeh step kyun? Ek zero eigenvalue ek zero column produce karta hai, isliye transform automatically ek aisi direction mein spread karne se mana kar deta hai jahan koi uncertainty nahi — koi divide-by-zero nahi hoti kyunki hum square root lete hain, ka inverse kabhi nahi.
- Sigma points. ; ; . Yeh step kyun? Doosra pair zero column inherit karta hai, isliye woh exactly centre par land karte hain — woh abhi bhi weight hold karte hain lekin par baithe hain, har point ko line par rakhte hain.
- Reconstruct. Saare points rakhte hain exactly → mein reconstructed variance hai ✔. mein: ✔. Yeh step kyun? -deviations par variance recipe automatically deti hai, aur -deviations par — degenerate case ko koi special handling nahi chahiye.
Recall Verify
Degenerate handle hua ::: -variance rebuild , -variance — dono exact; sigma points kabhi nahi chhodते.
Example 8 — Cell H: scaled UT, tiny , rescue
- apni definition se compute karo. Actual formula use karo, koi shortcut nahi: To . ko exact rakho (); ise par mat round karo, kyunki neeche ke weights tiny se divide karte hain aur ki koi bhi rounding unhe corrupt kar degi.
- Sigma points. , , . Yeh step kyun? Itne small ke saath, outer points barely mean chhod paate hain — hum ko sirf bahut locally sample karte hain, jo exactly wahi hai jo scaled UT karne ke liye design kiya gaya hai.
- Mean weights (use ). , ek bada negative number; , bahut bada. Yeh step kyun? Points mean ke paas hain, isliye unke weights blow up ho jaate hain (aur centre negative ho jaata hai) taaki ka reconstructed spread sahi rahe — yeh local sampling ki keemat hai.
- Transform & mean. . Yeh step kyun? Tiny transformed values times giant weights exactly mein recombine ho jaate hain — sampling ki locality ne mean mein koi accuracy nahi khoyi.
- Covariance weight (use ). . Yeh extra centre par woh covariance repair karta hai jo tight spacing warna underestimate kar deti. Yeh step kyun? Gaussian-optimal correction hai; yeh sirf mein rehta hai (upar rulebook ke anusaar), isliye step 4 ka mean untouched hai — precisely isliye hum rakh sake.
Recall Verify
Limit exact rehti hai ::: ke liye bhi ✔ — proof ki scaled UT mean sacrifice nahi karta.
Example 9 — Cell I: real GNC word problem
- Physics ko mein translate karo. Altitude state hai; uski range km hai. Covariance . Yeh step kyun? UT ko ek mean aur covariance chahiye; "std km" wali baat hi covariance hai ek baar square karne par. Yeh woh modelling move hai jo ek physical scenario ko filter inputs mein badal deta hai.
- Sigma points. : . Yeh step kyun? Points altitude ke std span karte hain — altitudes ka actual band jo sensor read kar raha ho sakta hai, isliye transform true operating range sample karta hai.
- se push karo. ; ; . Yeh step kyun? Far (high) point near (low) point se zyada power khota hai — woh asymmetry convex bias hai jo EKF ki straight-line slope capture nahi kar sakti.
- Mean (use ). Yeh step kyun? Transformed points ka weight-averaging; convexity ko naive se upar nudge karti hai, jo physically correct answer hai jo EKF miss karta hai.
Recall Verify
Convex bias ::: ✔ — expected power plug-in value se zyada hai, sahi convex (Jensen) effect.
Example 10 — Cell J: exam twist, weight trap
- Sahi mean (use ). se independent: Example 3 reuse karte hue, . Yeh step kyun? Upar ke rulebook ke anusaar, sirf mein rehta hai; mean by construction -independent hona chahiye.
- Galat mean ( galat use karte hue). Weights ab sum nahi karte: . Plug in karte hue: Yeh step kyun? Weights jo ki jagah sum karte hain har contribution ko inflate karte hain — "mean" tak balloon ho jaati hai, spurious footprint lekar.
- Diagnosis. Sahi value hai; error hai, precisely woh leak hai jo covariance weight ko mean weight ki jagah rakhne se aaya. Yeh step kyun? Error ki size ko exactly correction term ke barabar isolate karna dikhata hai kyun rule "means use " exist karta hai — weights swap karna covariance correction ko mean mein inject karta hai.
Recall Verify
Weight trap ::: sahi , galat ; error misused term ke barabar hai — means ke liye hamesha use karo.
One-line recall
Correct-vs-wrong mean weight
kyun add karo
par UT vs EKF
Related: Extended Kalman Filter (EKF) · Kalman Filter (linear) · Particle Filter · Cholesky Decomposition · Taylor Series Expansion · State Estimation in GNC · Nonlinear Systems.