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