250 likes | 285 Vues
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.
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