AC_PrecLand Outlier Rejection Query

Hi,

I am developing a precision landing sensor for use with ArduPilot. My implementation using LANDING_TARGET MavLink messages is working, although during log review I see lots of EKF outliers due to my measurements failing the NIS test.

My sensor is not camera based like alot of the other products available on the market, and as such, it has a different x/y noise variance. It seems as if the x/y position variance is calculated as follows:

float xy_pos_var = sq(_target_pos_rel_meas_ned_m.z*(0.01f + 0.01f*AP::ahrs().get_gyro().length()) + 0.02f);

https://github.com/ArduPilot/ardupilot/blob/master/libraries/AC_PrecLand/AC_PrecLand.cpp#L554

Does anyone have any information around where this formula came about? My feeling is that this should be exposed as a parameter, allowing users to tune performance for different precision landing sensors with different x/y variances.

Thanks,

Henry Hutchison