I’m programming in Python, for a research project I’m trying to track an aircraft trajectory based on ADS-B data that I get from opensky-network.org. Because of the nature of ADS-B data there are is some missing timestamp that occurs periodically. Example:
time,lat,long 2020-03-09 01:09:50,39.29488359871557,-94.729248046875 2020-03-09 01:10:00,39.28873870332362,-94.729736328125 2020-03-09 01:10:10,39.28216552734375,-94.728479800017 2020-03-09 01:10:20,39.27557373046875,-94.7266885508662 2020-03-09 01:10:30,39.268116061970346,-94.72454833984376
My goal is to estimate the condition of the aircraft (position and speed) during the interruption period (missing timestamp). In order to do that, I planned to use the Kalman filter. In kalman filter the value of measured parameters that I have needs to be converted to a cartesian format. So I manage to convert the data into cartesian form:
time,X_position,Y_position,Z_position,Velocity,velocity_x,velocity_y,velocity_z,Acceleration,acceleration_x,acceleration_y,acceleration_z,Delta_time 2020-03-09 01:09:50,-407542.7557490199,-4926243.355891898,4018043.497980225,70.7561572258253,-68.93549599999999,-15.947764000000017,16.90624,0.0,0.0,0.0,0.0,0.0 2020-03-09 01:10:00,-407631.54840079864,-4926805.655733497,4017626.447953463,70.05699827516962,-69.964384,3.6011080000000137,13.32992,-0.06991589506556864,0.0698234673266738,-0.003593854935931754,-0.35763200000000006,10.0 2020-03-09 01:10:10,-407567.9161406082,-4927351.560671127,4017124.268793508,75.46737426866473,-74.07993599999999,14.404431999999998,9.10336,0.5410375993495109,-0.5310908339108239,0.10326766214932687,-0.4226559999999999,10.0 2020-03-09 01:10:20,-407458.85953741614,-4927908.400397506,4016625.242964065,81.02288852983754,-79.22437599999999,16.976652000000023,11.70432,0.5555514261172817,-0.5432195256016256,0.11640418405749135,0.2600959999999999,10.0 2020-03-09 01:10:30,-407324.27388949855,-4928522.438497869,4016046.8880836726,87.22215588451971,-84.88325999999999,20.06331600000003,6.1772800000000005,0.6199267354682163,-0.6033031600063801,0.14259892872878097,-0.5527039999999999,10.0
Based on what learned from kalmanfilter.net I need to determine several equations:
From what I find this calculation can be solved by using pykalman library, but in the I’m really lost in how I should apply it to my code. On the website, there is an indication that I could enter the other matrix variable that I need in order to calculate the Kalman filter equation. However, there is no other explanation about how I can adjust the code.
My question is how should I adjust the code so my calculation is in accordance with the Kalman filter equation