Friday, September 25, 2015

BFO Errors (again)

Note: The original post contained errors in the M matrix (NEU to ECEF conversion). The matrix has been corrected as of 25 September 2015)

There are many ways for errors to creep into the BFO data:

- Drift in the AES, satellite, and ground station oscillator chain (my estimate +/- 5Hz).

- Unknowable rates of climb/descent which are not included in the AES Doppler compensation algorithm (~  +/- 4Hz/m/sec).

- Heading errors (the subject of this post) - caused by sensor lag and sensor drift.

Sensor lag refers to the fact that the heading sensors, GPS or gyro, have a fixed update rate. The heading values which the AES uses to pre-compensate Doppler are never current. They will always lag the current heading by some amount depending on rate of turn (if any) and the sensor update rate.

The BFO graphic below serves as a useful starting point.













The BFO graphic includes a number of vectors associated with the locations and velocities of the aircraft, the satellite, and the ground station. These vectors are directly coupled to the problem physics. Some are known, such as the location of the LES, and some are unknown, such as the location and velocity of the aircraft. One vector, however, is estimated from sensors on the aircraft - V_pt, the velocity of the aircraft in the local tangent plane. The AES pre-compensates the L-band signal sent to the satellite by subtracting the Doppler associated with V_pt relative to the nominal position of the satellite over the equator. Vertical aircraft velocity is not included in V_pt.  Clearly, any errors associated with the estimate of V_pt will find their way into the Doppler compensation, D1. The purpose of this post is to estimate D1 errors associated with an incorrect heading.

Parameters and relationships are defined below:


The error vector contained in V_pt is quantified above. Matrix M is simply a conversion matrix used to generate velocities in the ECEF coordinate system when the NEU velocities are known. Note that most people use ENU rather than NEU. The matrix above is anticipating a velocity vector in the NEU format. 

Continuing using the D1 equation from the BFO graphic:

Note: A heading error of +1 degree corresponds to an actual heading of 179 degrees. 

The values used in the example should be familiar. The location, speed, and heading were selected to be in approximate conformity to a location and speed in the SIO favored by the ATSB and IG.

The D1 compensation is clearly quite sensitive to heading. More sensitive than I would have guessed before attempting to quantify it.  So, in addition to ROC, the BFO values will be corrupted by rate of turn (sensor lag) and sensor drift. In the ATSB and IG models the aircraft never turns (after the "Final Major Turn"), so drift is the primary consideration. 

It might be that heading errors (along with oscillator chain drift) are the major sources of error in the tracking examples in the ATSB report. 

Edit 3 February 2017

Graphic below added at request of a collaborator. It allows the effect of tracking and speed errors in the vicinity of an assumed FMT to be estimated.

Added graphic below is the "Doppler Residual", the sum of D1 + D2 in the BFO graphic above at the time 19:41 UTC. The Doppler Residual is the total Doppler due to aircraft motion relative to the satellite and the Doppler Compensation applied by the AES. It includes motion of the aircraft relative to the actual satellite position (aircraft and satellite motion), D2, and the Doppler Compensation applied by the AES for aircraft motion relative to the nominal satellite position over the equator, D1. Note longitude change to 93E.

The dashed line in the graphic above is the Doppler Residual measured by the ground station in Perth after all other sources of frequency variations have been  accounted for (AES offset, satellite motion relative to Perth, and GES correction term). The residual shown by the dashed line was derived at 19:41 UTC