3.5.18 · D3 · Physics › Guidance, Navigation & Control (GNC) › GPS — pseudorange, trilateration, dilution of precision
Yeh parent GPS note ka "har case grind karo" companion hai. Wahan humne ideas build kiye; yahan hum har tarah ke numbers hit karte hain jo yeh topic throw kar sakta hai — positive aur negative clock bias, degenerate geometry, limiting angles, ek word problem, aur ek exam twist.
Agar koi symbol neeche unfamiliar lage, toh woh parent note mein define kiya gaya tha. Teen jo tumhe paas rakhne chahiye:
Recall Quick symbol refresher (open if rusty)
ρ i ::: satellite i tak pseudorange = true distance r i plus clock error c b .
b ::: receiver clock bias, seconds mein. Positive matlab clock bahut aage hai (fast).
c ::: speed of light, ≈ 3 × 1 0 8 m/s. Ek time ko c se multiply karo taaki woh distance ban jaye.
G ::: geometry matrix — rows har satellite ki line-of-sight unit vectors hain, last column mein sab 1's.
Q = ( G ⊤ G ) − 1 ::: DOP matrix. Iska diagonal DOP numbers deta hai. Sirf geometry.
Is chapter mein har GPS problem neeche ke cells mein se ek hai. Jo examples follow karte hain woh us cell ke saath tagged hain jise woh cover karte hain.
Cell
Case class
Kya tricky banata hai
Example
C1
Bias positive (clock fast)
ρ se c b subtract karo
A
C2
Bias negative (clock slow)
add karo ∣ c b ∣ — sign flip hoti hai
B
C3
Bias zero (degenerate)
pseudorange = true range
B
C4
b solve karna (unknown clock)
4th equation kaam karti hai
C
C5
Achhi geometry (wide spread)
DOP apne floor ke paas
D
C6
Degenerate geometry (parallel LOS)
det ( G ⊤ G ) → 0 , DOP → ∞
E
C7
Limiting angle (spread → 0 ∘ ya → 9 0 ∘ )
extremes par DOP kaise behave karta hai
F
C8
Real-world word problem
UERE × PDOP budget
G
C9
Exam twist (5 satellites, over-determined)
least squares, exact solve nahi
H
Ek satellite tumse true distance r = 20 , 000 , 000 m par hai. Tumhara receiver clock 2 μ s fast hai , isliye b = + 2 × 1 0 − 6 s. Receiver kaun sa pseudorange ρ compute karta hai, aur woh truth se kitna door hai?
Forecast: Kya ρ , true 20 , 000 km se bada hoga ya chhota ? Padhne se pehle guess karo.
Step 1 — bias ko distance mein badlo.
c b = ( 3 × 1 0 8 ) ( 2 × 1 0 − 6 ) = 600 m .
Yeh step kyun? b ek time hai; position equation metres mein rehti hai. c se multiply karne ke baad hi bias ko range mein add kiya ja sakta hai.
Step 2 — pseudorange build karo.
ρ = r + c b = 20 , 000 , 000 + 600 = 20 , 000 , 600 m .
Yeh step kyun? Yeh definition ρ i = r i + c b hai jo seedha parent note se hai.
Step 3 — sign padho. Ek fast clock (b > 0 ) arrival time ko bahut bada dikhata hai, isliye naive distance bahut badi hoti hai — + 600 m ek surplus hai.
Verify: Bias hatao aur truth recover karo: ρ − c b = 20 , 000 , 600 − 600 = 20 , 000 , 000 m. ✓ r se match karta hai. Forecast answer: bada , 600 m se.
Wahi satellite, true distance r = 20 , 000 , 000 m. Ab clock 2 μ s slow hai : b = − 2 × 1 0 − 6 s. (a) ρ nikalo. (b) Agar clock perfect hai, b = 0 , toh ρ kya hai?
Forecast: Slow clock ke saath, kya ρ is baar truth se bada hoga ya chhota?
Step 1 — bias to distance (sign rakho!).
c b = ( 3 × 1 0 8 ) ( − 2 × 1 0 − 6 ) = − 600 m .
Yeh step kyun? b ka sign physics carry karta hai. Isse drop karna #1 arithmetic error hai.
Step 2 — pseudorange (a).
ρ = r + c b = 20 , 000 , 000 + ( − 600 ) = 19 , 999 , 400 m .
Yeh step kyun? Slow clock arrival bahut jaldi report karta hai ⇒ distance underestimate hoti hai ⇒ ρ truth se chhota hota hai.
Step 3 — degenerate case (b), b = 0 .
ρ = r + c ( 0 ) = r = 20 , 000 , 000 m .
Yeh step kyun? Jab bias khatam ho jata hai, "pseudo"-range true range mein collapse ho jata hai. Yeh woh boundary hai jo Cell C1 ko Cell C2 se alag karti hai.
Verify: (a) mein truth recover karo: ρ − c b = 19 , 999 , 400 − ( − 600 ) = 20 , 000 , 000 m ✓. (b) mein ρ = r exactly ✓. Forecast: slow clock ⇒ chhota ρ .
Common mistake "Slow clock hai, toh main subtract karunga."
Clock bias hamesha + c b ke roop mein enter hota hai. Jab b negative hota hai toh "+" naturally ρ reduce karta hai. Sign manually flip mat karo; algebra ko karne do.
Ek receiver 4 satellites ko pseudoranges report karta hai. Ek solve iteration ke baad woh paata hai ki raw pseudoranges sab common 900 m se bahut zyada hain. Kaun sa clock bias b yeh explain karta hai, aur 3 satellites yeh kyun nahi bata sakti thi?
Forecast: 900 m ke peeche kitne seconds ka clock error chhupa hai?
Step 1 — distance-to-time step invert karo.
b = c c b = 3 × 1 0 8 900 = 3 × 1 0 − 6 s = 3 μ s .
Yeh step kyun? Har satellite par wahi surplus shared clock bias ki fingerprint hai (parent note §1). Ek shared unknown, isliye ek number extract karna hai.
Step 2 — 3 satellites kyun fail karti hain. 4 unknowns ( x , y , z , b ) ke saath sirf 3 equations hain, toh system underdetermined hai. 4th satellite exactly woh equation provide karti hai jiska kaam b pin karna hai.
Verify: b ko wapas distance mein push karo: c b = ( 3 × 1 0 8 ) ( 3 × 1 0 − 6 ) = 900 m ✓. Yeh exactly wahi common surplus hai jisse humne shuru kiya tha.
Ek 2D toy: do satellites jinke line-of-sight unit vectors e 1 = ( 1 , 0 ) aur e 2 = ( 0 , 1 ) hain — ek clean 9 0 ∘ apart. DOP compute karo.
Forecast: Best possible 2-satellite geometry ke liye, DOP ka sabse chhota value kya ho sakta hai?
Step 1 — G likho.
G = [ 1 0 0 1 ] .
Yeh step kyun? Har row ek line-of-sight direction hai; yahan woh do axes hain.
Step 2 — G ⊤ G banao aur invert karo.
G ⊤ G = [ 1 0 0 1 ] = I , Q = ( G ⊤ G ) − 1 = I .
Yeh step kyun? DOP poori tarah Q = ( G ⊤ G ) − 1 mein rehta hai (parent §3).
Step 3 — DOP padho.
DOP = q xx + q y y = 1 + 1 = 2 ≈ 1.41.
Verify: Figure ke left panel dekho — do range rings ek sharp right angle par cross karti hain, isliye shaded error box ek tight square hai. 2 do orthogonal directions ke liye geometric floor hai. ✓
Ab do satellites sirf 1 0 ∘ apart hain: e 1 = ( 1 , 0 ) , e 2 = ( cos 1 0 ∘ , sin 1 0 ∘ ) . Dikhao ki DOP explode karta hai aur batao kyun.
Forecast: Kya DOP roughly double hoga, ya 10× se zyada badhega?
Step 1 — G ⊤ G build karo.
cos 1 0 ∘ ≈ 0.9848 , sin 1 0 ∘ ≈ 0.1736 ke saath,
G ⊤ G = [ 1 + cos 2 1 0 ∘ cos 1 0 ∘ sin 1 0 ∘ cos 1 0 ∘ sin 1 0 ∘ sin 2 1 0 ∘ ] = [ 1.9698 0.1710 0.1710 0.0302 ] .
Yeh step kyun? Yeh 2×2 encode karta hai ki directions kitni "spread out" hain.
Step 2 — determinant danger signal hai.
det ( G ⊤ G ) = sin 2 1 0 ∘ ≈ 0.0302.
Yeh step kyun? Q = ( G ⊤ G ) − 1 is determinant se divide karta hai. Near-zero determinant ⇒ giant Q ⇒ giant DOP. Tiny determinant matlab do line-of-sight vectors almost parallel hain.
Step 3 — actual DOP. Invert karne par q xx ≈ 1.00 , q y y ≈ 65.3 milta hai, isliye
DOP = q xx + q y y = 1.00 + 65.3 ≈ 8.14.
Verify: Figure ka right panel — rings ek shallow angle par graze karti hain aur error box ek lambi ellipse mein smear ho jaati hai. 8.14/1.41 ≈ 5.8 : geometry akele tumhara error measurement quality mein kisi bhi change ke bina almost 6× multiply kar deti hai. Forecast answer: 10× se zyada kharab area (length ~6×, isliye area ~34×). ✓
Angular spread θ ho, e 1 = ( 1 , 0 ) , e 2 = ( cos θ , sin θ ) ke saath. Clean 2-satellite result hai DOP ( θ ) = ∣ sin θ ∣ 2 . Do limits θ → 0 ∘ aur θ → 9 0 ∘ examine karo.
Forecast: Kis angle par DOP sabse chhota hai, aur kya hota hai jab spread zero ho jaata hai?
Step 1 — general formula. det ( G ⊤ G ) = sin 2 θ se milta hai ki q xx + q y y = 2/ sin 2 θ , isliye
DOP ( θ ) = ∣ s i n θ ∣ 2 .
Yeh step kyun? Ek single closed form matrices ko baar baar invert karne ki jagah clean limits lene deta hai.
Step 2 — limit θ → 9 0 ∘ . sin 9 0 ∘ = 1 , isliye
DOP → 2 ≈ 1.41.
Yeh step kyun? Yeh Example D ko best case confirm karta hai — DOP tab bottom out karta hai jab satellites orthogonal hoin.
Step 3 — limit θ → 0 ∘ . sin θ → 0 , isliye
DOP → + ∞.
Yeh step kyun? Perfectly parallel line-of-sight vectors doosri direction mein koi independent information nahi dete — fix unbounded ho jaati hai. Yeh Cell C6 ki singular boundary hai.
Verify: θ = 1 0 ∘ plug karo: 2 / sin 1 0 ∘ = 1.4142/0.17365 ≈ 8.14 ✓ — exactly Example E. Figure mein curve 9 0 ∘ par 1.41 tak dive karta hai aur θ → 0 par rocket ki tarah upar jaata hai. Forecast: 9 0 ∘ par sabse chhota; 0 ∘ par blow up.
Tumhare phone ke receiver ka User-Equivalent Range Error σ UERE = 6 m per satellite hai. Current satellite geometry PDOP = 2.5 deti hai. (a) Expected 3D position error kya hai? (b) Satellites drift karti hain aur PDOP 8 ho jaata hai. Naya error? (c) Kharab geometry mein error 18 m se neeche rakhne ke liye, UERE kitni acchi honi chahiye?
Forecast: Kya geometry quality ko roughly half karne par (PDOP 2.5 → 8 , roughly 3×) position error bhi roughly 3× ho jaati hai?
Step 1 — budget formula.
σ pos = PDOP × σ UERE .
Yeh step kyun? Covariance propagation se (parent §3), geometry aur measurement quality multiply hote hain — do independent knobs.
Step 2 — part (a).
σ pos = 2.5 × 6 = 15 m .
Step 3 — part (b).
σ pos = 8 × 6 = 48 m .
Yeh step kyun? Wahi UERE, kharab geometry — error PDOP ke saath linearly scale karta hai.
Step 4 — part (c), budget invert karo.
σ UERE = PDOP σ pos = 8 18 = 2.25 m .
Yeh step kyun? Geometry PDOP = 8 par fixed hai, toh bacha hua sirf measurement quality ka lever hai; formula ko iske liye solve karo.
Verify: (c) check karo: 8 × 2.25 = 18 m ✓. (b) vs (a) ka ratio: 48/15 = 3.2 , jo PDOP ratio 8/2.5 = 3.2 se match karta hai ✓. Forecast: haan, error exactly PDOP ke saath scale karta hai.
Ek receiver 5 satellites dekhta hai (4 unknowns), isliye system Δ ρ = G Δ x over-determined hai. Ek simple over-determined case diya gaya hai
G = 1 1 1 , Δ ρ = 2 4 6 ,
least-squares update Δ x nikalo aur explain karo ki hum isko exactly solve kyun nahi kar sakte.
Forecast: Kya answer 2 , 4 , 6 mein se ek hoga, ya beech mein kuch?
Step 1 — exactly kyun nahi? Teen equations Δ x = 2 , Δ x = 4 , Δ x = 6 ek doosre se contradict karti hain — measurement noise ne unhe inconsistent bana diya. Koi bhi single Δ x teeno satisfy nahi karta.
Yeh step kyun? Real GPS mein almost hamesha unknowns se zyada satellites hoti hain; fix best compromise hota hai, exact intersection nahi.
Step 2 — least-squares formula apply karo.
Δ x = ( G ⊤ G ) − 1 G ⊤ Δ ρ .
Yahan G ⊤ G = [ 1 + 1 + 1 ] = [ 3 ] aur G ⊤ Δ ρ = [ 2 + 4 + 6 ] = [ 12 ] , isliye
Δ x = 3 12 = 4.
Yeh step kyun? Is one-column G ke liye, least squares literally measurements ka average hai — woh point jo total squared residual minimize karta hai.
Step 3 — residuals padho. Residuals hain 2 − 4 = − 2 , 4 − 4 = 0 , 6 − 4 = + 2 ; woh zero tak sum karte hain, jo least-squares fit ki signature hai.
Verify: ( G ⊤ G ) − 1 G ⊤ Δ ρ = 3 1 ( 2 + 4 + 6 ) = 4 ✓, jo mean 3 2 + 4 + 6 = 4 ✓ ke barabar hai. Forecast: woh beech mein hai — average, 4.
Recall Self-test (open after trying)
Clock b > 0 se fast : kya ρ , r se bada hai ya chhota? ::: Bada — ρ = r + c b jahan c b > 0 .
Do satellites 9 0 ∘ apart DOP = ? deti hain ::: 2 ≈ 1.41 , floor.
Angular spread θ → 0 ∘ ke saath, DOP → ? ::: + ∞ — near-parallel LOS singular hai.
PDOP = 2.5 aur UERE = 6 m ke saath, position error = ? ::: 15 m.
Over-determined single-column G : least squares ? deta hai ::: measurements ka mean.
Error = Geometry × Measurement. DOP geometry knob hai (satellite spread), UERE measurement knob hai (signal quality). Apna fix sharpen karne ke liye koi bhi ek neeche karo.
See also: Trilateration and Multilateration · Least Squares Estimation · Covariance Propagation · Clock Bias and Atomic Clocks · Time of Flight and Ranging · Reference Frames — ECEF and WGS84 · Kalman Filter in GNC .