250 likes | 296 Views
Learn how to improve radar tracking accuracy using Kalman Filter principles. Understand different tracking cases, prediction equations, update variables & program layout with Visual Basic .NET console application. Discover the KFilter class for effective tracking & performance improvement.
E N D
0 Principles of Radar Tracking Utilizing the Kalman Filter
0 Radars Aren’t Perfect • Radars give noisy data. • We need more accurate data. • Position • Velocity • Kalman Filter
0 Why Kalman? • Invented by Rudolf Kalman • Simple • Low Memory Requirement • Fast • Versatile
0 The Different Cases • Case 1: 1 Dimensional Cartesian • Case 2: 2 Dimensional Cartesian • Case 3: 2 Dimensional Polar • Case 4: Polar with 2 Radars • Case 5: Polar with maneuvering target
0 You like Linear Algebra?Then you’ll like Kalman Filters • Designed to track targets in a linear motion • Series of equations: Algorithm Measurement Simple Right? Predict Update
0 I take a look at my… • Initial Conditions • Initial Prediction • Initial State Covariance Matrix The Variable Matrices x(k) – State Vector Q – Driving Noise Covariance H – Observation Model Φ – State Transition Model P – State Covariance y(k) - Measurement
0 Prediction Equations • x(k+1|k) = Φx(k|k) • P(k+1|k) = ΦP(k|k)ΦT+ Q
0 Yet Two More Variables K - Kalman Gain Matrix R – Measurement Noise
0 Update Equations • K(k) = P(k|k-1)HT[HP(k|k-1)HT+ R]-1 • x(k|k) = x(k|k-1) + K(k)[y(k) – Hx(k|k-1)] • P(k|k) = [I – K(k)H]P(k|k-1)
Bicycle • Properties: • Color • Gear • Size • Methods: • setGear() • pedal() • brake() • steer() 0 Program Layout • Classes • Data • Operations • Inheritance • Visual Basic .NET console application
Datum • Properties: • time • coords 0 Datum • Holds two pieces of information: • time (Double) • coords (Matrix)
0 The KFilter Class • MatLib library • 2D arrays of doubles • predict(time) • update(y) • reset(initial, P)
0 File I/O • FileReader • hasNext() • nextDatum() • PolarFileReader • hasNext() • nextDatum() • PolarMultiReader • hasNext() • nextDatum() • CommaWriter • WriteLine() • Close()
0 Other Functions • Initialization Functions: • initialize() • makeP() • makeQ() • makeR() • Hmat() • PhiMat() • Nsig()
0 Putting It All Together Initialize Read data Predict Calculate R Update Write Output Check for more data Finish
0 Case 1 Results
0 Case 2 Results
0 Case 3 Results
0 Case 4 Results
0 Case 5 Results
0 Performance Improvement
0 Conclusion • Improved predictions over time • Adaptable • Successful project!
Team Project 6 0 Thank You! Mr. Heuer, Joe Kelly, Ankur Bakshi, Vikram Modi, Karl Strohmaier, Luke Anderson, David Kim, Kareem Elnahal, Alex Shnayder, Adam Pantel, Andrew “Tony” Weintraub, Alex Sood, and Joe Park