State Vector ()
- : Position in North, East, and Up
- : Velocity, or speed in each direction
- The radar usually only measures position,
- It does not directly measure the velocity vector, . It only measures radial Doppler
- The Kalman Filter infers the velocity, , over time by observing changes in
The Kalman Filter operates in a recursive loop: Time Update, or Predict, and Measurement Update, or Correct.
Phase A: Physics Model
I have not checked the sensor yet, but based on Newton's Law, the drone should be here.
- is the State Transition Matrix. If velocity is 10 m/s and is 0.1 s, position moves by 1 m
- is the Covariance Matrix, or the "Uncertainty Bubble"
- Every time we predict, the bubble gets bigger because uncertainty grows. We assume that wind might have pushed the drone
Drone Context
If the radar misses a scan because the drone flies behind a billboard, the Predict step keeps running. The system "hallucinates" the drone continuing on its path. This is called "Coasting."
Phase B: Measurement
- The radar returns a raw detection
- is the actual coordinate from the radar, such as Range: 1000 m and Azimuth: 45 degrees
- is the Measurement Noise from the manufacturer specifications: "This radar is accurate to"
Phase C: Updating Using the Kalman Filter
- The filter compares the prediction with the measurement
- If they do not match, the Kalman Filter decides which one to trust
- If measurement noise is small and is high, the filter chooses the radar, or Good Radar
- If radar noise is high and is low, the filter ignores the radar and trusts the physics model, or Bad Radar
Q vs R
- This is the hardest part of C-UAS tracking
- in Kalman Filter code is a parameter that tells the filter, "How much wind or unpredictability should I expect?"
- The prediction step in the Kalman Filtering process has an added at every time step
Increasing Q
- Prediction covariance, , becomes huge
- The output tracks raw sensor measurements closely, with fast response and high jitter
Decreasing Q
- Prediction covariance, , is small
- The output ignores sensor spikes, with a smooth track and slow response or lag
The reason this is hard is that you do not know who the enemy is.
- If you tune for a DJI Phantom, with low and a smooth flyer, and an FPV Racing Drone attacks you:
- The Racing Drone zigs left
- Your filter, which expects smooth motion, thinks the "zig" is only radar noise and ignores it
- Result: Your jammer shoots at where the drone was, instead of where it is. You miss
- If you tune for a Racing Drone, with high and erratic movement, and a bird flies by:
- The bird flutters slightly
- Your filter reacts to every flutter
- Result: The track on the screen looks like a mess of scribbles, making the operator dizzy
Importance of choosing Q
- State estimation of the drone, or predictive capability, is important to jam the drone
- If the drone is traveling in a certain direction, we cannot simply jam it at its current location
- The time lag from radar processing, network transmission, and motor movement results in a miss