3.5.24 · D1 · Physics › Guidance, Navigation & Control (GNC) › Extended Kalman Filter (EKF) — linearization, Jacobians
Extended Kalman Filter bas ordinary Kalman Filter hi hai, ek repair ke saath: jahan real world curve karti hai, hum curve ko uski tangent line se replace kar dete hain — apne current best guess ke point par — taaki straight-line filter math kaam karta rahe. Is page par jo bhi hai — vectors, derivatives, slopes, matrices — sab usi ek sentence ka matlab build karne ke liye hai: ek curve, zoom in karo, to line ban jaati hai.
Is page ko assume kiya gaya hai ki tumne kuch nahi dekha . Hum har symbol ko naam dete hain jo parent note tumhare samne phenkta hai, uske peeche ki picture banate hain, aur batate hain ki EKF uske bina kyon nahi chal sakta. Upar se neeche padho; har cheez agli ke liye ek brick hai.
x
State numbers ki sabse choti list hai jo puri tarah describe karti hai ki tumhara vehicle abhi kya kar raha hai. Us list ko ek column mein stack karte hain aur x kehte hain (bold = yeh puri list hai, ek akela number nahi).
Seedhi baat: "jo kuch bhi mujhe chahiye taaki main agla instant predict kar sakun."
Picture: ek single arrow-tipped dot jo ek aisi room mein rehta hai jiske axes quantities hain (position, velocity, angle...). Neeche ki figure dekho.
Topic ko kyun chahiye: filter ka poora kaam is dot ko track karna hai jab naye sensor data aate hain.
Misal ke taur par ek 2D target hai x = [ x , y ] ⊤ . Chota sa ⊤ ("transpose") bas yeh kehta hai "khade column ki tarah likha, letey hue row ki jagah" — [ x , y ] ⊤ ek line mein likhna page space bachata hai.
Definition Measurement vector
z
Measurement woh hai jo tumhara sensor actually report karta hai. Yeh state nahi hai — yeh state ka koi function hai, aksar ek distorted wala.
Seedhi baat: "woh number jo radar screen dikhata hai," jo range ho sakti hai, ya ek angle — seedha x , y nahi.
Picture: ek doosra, chhota room; ek arrow (function h ) state-dot ko usme map karta hai.
Kyun: EKF ki poori mushkil yahi hai ki state se measurement tak ka map curved hota hai.
State ko directly kyun nahi padh sakte? ::: Sensors indirect, nonlinear quantities report karte hain (ek range $\sqrt{x^2+y^2}$, ek bearing angle) — kabhi bhi clean state nahi.
f = motion machine, h = sensor machine
f ( x ) current state leta hai aur next state return karta hai (cheezein kaise chalti hain).
h ( x ) ek state leta hai aur woh measurement return karta hai jo woh produce karta.
Picture: do black boxes. Ek dot daalo, ek dot nikalta hai — lekin output dot kahin curved-looking jagah ho sakta hai, input ki straight scaling nahi.
Kyun: parent note likhta hai x k = f ( x k − 1 , u ) + w aur z k = h ( x k ) + v . Woh do machines hi tumhare system ka model hain.
Subscript k matlab "time step number k par." To x k − 1 hai "last tick," x k hai "this tick." u hai control input — woh commands jo tumne bheje (throttle, steering) jo state ko bhi move karte hain.
Ek map linear hota hai agar input double karo to output double ho aur inputs cleanly add hon: straight lines seedhi rehti hain, koi bending nahi. Symbols mein ek linear map bas ek fixed matrix se multiplication hai, y = M x .
Picture: squares ka ek grid stretch/rotate hota hai lekin straight lines ka grid bana rehta hai.
Nonlinear matlab grid bend hoti hai — neeche ki picture exactly yahi dikhati hai.
Intuition Nonlinearity ordinary Kalman Filter ko kyun tod deti hai
Uncertainty ki ek bell-curve (ek Gaussian ) ko ek straight map ke through dhakelne par doosri bell curve nikalti hai. Ek bent map ke through dhakelne par woh lop-sided aur skewed nikal jaati hai — ab bell curve nahi rahi. Kalman Filter sirf bell curves carry karna jaanta hai. To pehle hamen bend ko locally seedha karna hoga.
Ek linear map se kya Gaussian rehta hai lekin nonlinear se nahi? ::: Uncertainty cloud (ek Gaussian); ek curve use non-Gaussian shape mein skew kar deta hai.
d x d g = local slope
Ek function ka derivative ek point par curve ki steepness hai wahan — "output kitne units utha jab ek tiny unit input diya."
Seedhi baat: "woh ramp ki slope jo tum us exact jagah khade ho kar feel karte."
Picture: kisi bhi smooth curve mein itna zoom karo aur woh seedhi dikhne lagti hai; derivative us seedhe zoom-in ki slope hai. Figure dekho.
EKF ko kyun chahiye: derivative hi tangent line ki slope hai, aur tangent line hamari curve ki straightened stand-in hai.
Yeh page ka sabse zaroori formula hai — EKF har time step par ise apply karta hai. Gehri background Taylor Series & Linearization mein hai.
Common mistake Tangent sirf
paas mein kaam karta hai
x ^ se door, straight line aur real curve alag ho jaate hain. Exactly iseelie ek bura initial guess EKF ko diverge kara deta hai — tumne galat jagah linearize kiya. (Parent note, Steel-manned error 5.)
Definition Partial derivative
∂ x ∂ g
Jab ek function kaafi saare inputs khaata hai (maan lo x aur y ), to x ke saath partial derivative poochhta hai: "agar main sirf x ko nudge karun aur baaki sab freeze karun to output kaise badlega?"
Picture: ek pahadi par khade ho; x mein partial woh slope hai jo tum sirf east ki taraf chalne par feel karte; y mein partial woh slope hai sirf north chalne par.
Kyun: states mein kaafi components hote hain, to "the slope" actually ek-direction slopes ka collection hoti hai.
Curly ∂ (seedhe d ki jagah) ek flag hai jo kehta hai "kaafi saare inputs hain; main baaki ko fixed rakh raha hun."
$\partial r/\partial x$ ka matlab words mein kya hai? ::: Range $r$ kitna badlti hai jab sirf $x$ chalti hai, $y$ still rehti hai.
Definition Jacobian matrix
J
Har output ko line up karo; har ek ke liye, har input ke saath uski partial derivative list karo. Unhe ek grid mein arrange karo. Woh grid Jacobian hai.
Row i = "output g i har input par kaise react karta hai" (uski poori sensitivity).
Column j = "input x j har output ko kaise push karta hai."
Picture: sabse acha flat sheet (linear map) jo tumhare point par bent grid ko touch kare — "tangent line" ka multi-input version.
Kyun: Kalman equations ko ek constant matrix chahiye. Jacobian locally curve ko approximate karne wala sabse acha constant matrix hai — isliye exactly F aur H wahi hain.
J = ∂ x 1 ∂ g 1 ∂ x 1 ∂ g 2 ∂ x 2 ∂ g 1 ∂ x 2 ∂ g 2
EKF mein do Jacobians apne khud ke letters paate hain: F = ∂ f / ∂ x (motion) aur H = ∂ h / ∂ x (sensor). Machinery ke baare mein aur Jacobian Matrix & Multivariable Calculus mein hai.
Definition Covariance matrix
P
P measure karta hai ki tum kitne uncertain ho, aur kin directions mein uncertainty correlated hai.
Seedhi baat: "state-dot ki fuzziness" — chota P matlab tight confident guess, bada P matlab vague wala.
Picture: state-dot ke around ek ellipse (squashed circle); lambi axis = woh direction jisme tum sabse kam sure ho.
Kyun: filter sirf yeh nahi track karta ki vehicle kahan hai, balki kitna trust karna hai — aur woh trust ellipse bhi carry karni padti hai.
F P F ⊤ se kyun transform hoti hai, f se nahi
Uncertainty ellipse stretch hoti hai map ki jo bhi slope ho — yaani Jacobian F se, curve se nahi. Ek baar andar jaate waqt stretch karo (F ) aur ek baar bahar aate waqt (F ⊤ , transpose, jo doosri axis handle karta hai). Ellipse ko seedha f mein dalna meaningful nahi hai. (Parent note, Steel-manned error 1.)
Q aur R letters jo tum miloge woh random pushes w (process noise) aur v (sensor noise) ki covariances hain — "duniya kitni jittery hai" aur "sensor kitna noisy hai." Poora treatment Covariance Propagation mein.
atan2 ( y , x )
Ek point tak bearing angle. Plain arctan ( y / x ) front aur back mein fark nahi kar sakta (har 18 0 ∘ par repeat karta hai); atan2 x aur y ke signs alag-alag use karta hai angle ko sahi charon quadrants mein se ek mein rakhne ke liye.
Picture: ek poora 36 0 ∘ compass; atan2 sahi heading return karta hai, arctan sirf half-circle.
Kyun: radar bearing measurements ko sahi quadrant chahiye, aur angle differences ko ( − π , π ] par wrap karna padta hai (taaki 35 9 ∘ − 1 ∘ de − 2 ∘ , 35 8 ∘ nahi). Dekho atan2 & Angle Wrapping .
State vector x and measurement z
Tangent line = Taylor first order
Covariance P as an ellipse
Yeh map seedha parent mein jaati hai, the EKF topic note . Agar tangent-line idea abhi bhi shaky lagta hai, to simpler linear case Kalman Filter (linear) mein hai, aur jab linearization bahut crude ho to alternative Unscented Kalman Filter (UKF) hai. Bada picture wala role State Estimation in GNC mein baitha hai.
Reveal karne se pehle har jawab zor se bolo.
State vector x kya hai? ::: Numbers ki sabse choti list jo system ko abhi fully describe kare, column ki tarah stack ki hui.
⊤ ka matlab kya hai? ::: Transpose — ek row ko column ki tarah likho (ya ulta).
z aur x mein kya fark hai? ::: z hai (indirect, curved) sensor reading; x hai true internal state.
f aur h kya karte hain? ::: f state ko next state mein map karta hai (motion); h state ko measurement mein map karta hai (sensor).
Nonlinearity ordinary KF ko kyun tod deti hai? ::: Yeh ek Gaussian ko non-Gaussian shape mein skew kar deti hai jo KF carry nahi kar sakta.
Derivative ek phrase mein kya hai? ::: Local slope — tiny input nudge per output rise.
First-order Taylor line likho. ::: g ( x ) ≈ g ( x ^ ) + g ′ ( x ^ ) ( x − x ^ ) .
Partial derivative kya hai? ::: Slope jab tum ek input nudge karo aur baaki freeze karo.
Jacobian kya hai? ::: Saari partial derivatives ka grid — curve ka sabse acha local linear (constant-matrix) approximation.
F aur H kya hain? ::: f aur h ke Jacobians; woh constant matrices jo KF equations ko chahiye.
P kya represent karta hai, aur uski picture? ::: Uncertainty; state-dot ke around ek ellipse.
P F P F ⊤ ki tarah kyun transform hota hai, f ( P ) ki tarah nahi? ::: Covariance ek spread hai, map ki slope (Jacobian) se stretch hoti hai, curve se nahi.
atan2 kya fix karta hai jo arctan nahi kar sakta? ::: Bearing angle ka sahi quadrant poore 36 0 ∘ mein.