3.1. Problem Formulation
An aircraft moves in three-dimensional space and periodically transmits its altitude without providing information on when a message was sent. The position can be represented by a three-dimensional vector of latitude, longitude, and altitude. This coordinate system is not only more common in navigation than the Cartesian coordinate system but also allows us to separate the altitude from the other coordinates.
The signal is received by N ground stations that are in communication with each other. Their positions are known and can be represented by a three-dimensional vector , where i is the order number of the station.
Each time the aircraft sends information, a TOA measurement for each station is obtained, which is defined in (
1), where
is the timestamp when the message was sent,
is the noise of the i-th measurement, and
is the Euclidean distance operation. We assume that the noise is normally distributed with known variance for each station. In this paper, we consider three methods for solving this problem.
First, the TDOA is calculated by subtracting the TOA of the reference station from the other TOAs. This gives a set of measurements, described by (
2), in which the first station is the reference station. In this case,
is also normally distributed noise, but it has twice the variance of
. The TDOAs can then be used as input to the localization algorithm.
Second, we can treat the moment of sending a message as an additional unknown variable to be determined. Compared to the previous approach, we can directly use TOAs, which adds another equation to the system.
The last approach is to try to estimate
before optimization. This is possible if the aircraft responds to our query. We assume that the time taken to respond is equal to the sum of the known value
and the normally distributed noise
with known variance. If a response is received relatively quickly, we can assume that
is small enough to treat the distance traveled by the aircraft as being equal to 0.
can be estimated using (
3), where
is a known timestamp of sending a query, and the variance of
is equal to the sum of the variances of
and
. We call these measurements TOAq, i.e., TOA measurements with an additional query.
When using a presented algorithm, we often move between the east–north–up (ENU) coordinate system and the geographic (Geo) coordinate system, which uses latitude, longitude, and altitude based on equations from [
22]. Geo is the most commonly used system for localization in aerospace applications. However, it is not a Cartesian coordinate system, and most MLAT algorithms have been designed with this type of coordinate system in mind. The Earth-Centered, Earth-Fixed (ECEF) coordinate system is another commonly used system. It is a Cartesian coordinate system in which the origin is the center of the Earth, the z-axis passes through true north, and the x-axis intersects the Earth at 0° latitude and longitude. However, it does not allow us to represent an altitude simply because none of the coordinates are parallel to it.
In the ENU coordinate system, the origin is not specified and can be chosen according to the needs of the application. In order to switch from Geo to ENU, it is necessary to move to ECEF [
22] first. The ENU coordinate system allows us to display altitude as a z-coordinate, but only if the aircraft’s position is known. This is not a problem when trying to estimate the localization error after localizing an aircraft, but during the localization procedure, the position is unknown. If an open algorithm is used, we obtain a guess in each iteration. This guess can be used as the origin, and after each iteration, the ENU coordinates are updated accordingly. Converting coordinates between different systems can be achieved through the utilization of existing software packages, such as pymap3d (Version: 3.1.0) [
22].
Alternatively, it is possible to represent height as a nonlinear constraint instead of as a single variable. This can be done if the problem is solved using a general-purpose solver, but it is not easy to extend existing open algorithms.
3.2. Localization Algorithm
We decided to only implement open-form solutions because they are more accurate, and it is relatively easy to add additional constraints, which is not the case with closed-form algorithms. However, existing open-form algorithms have a crucial disadvantage. They are designed to operate within Cartesian coordinate space, and the incorporation of nonlinear constraints is a challenge. In this paper, we operate under the assumption of known altitude, which enables the incorporation of an additional constraint to enhance the accuracy of the localization algorithms. However, as previously stated, available algorithms are incapable of incorporating this information. Therefore, we investigate accuracy, and the localization problem is formulated as a standard nonlinear optimization problem. A general-purpose nonlinear solver is used to find a solution. Despite the fact that this paper utilizes only one additional constraint, the incorporation of additional measurements from different sensors is a straightforward process. This makes the method appealing for practical applications.
To localize the aircraft, we formulate nonlinear optimization problems for each case ((
4) and (
5)), where the goal is to find the lowest possible mean square error (MSE*). In these formulations,
and
represent the measurements,
and
represent the most likely measurements given a tuple of positions (with a timestamp while trying to localize directly with TOA measurements), alt is a measurement of altitude, and
returns an altitude in Geo given its position in ENU or ECEF coordinates. In both optimization formulations, it is possible to eliminate one decision variable by using an
constraint. This phenomenon can be attributed to the fact that a specific pair of
x and
y points always permits only one
z. In order to further simplify the optimization problem, the other constraint (i.e., the value of
or
) is also eliminated and inserted directly into the cost function.
It is important to note that knowledge of the altitude does not result in the transformation of a three-dimensional optimization problem into a two-dimensional one. The rationale behind this assertion is that the Earth is not a flat surface; thus, the same values of altitude may possess differing values on the Z-axis within the same Cartesian coordinate system.
As previously mentioned, it is possible to use a general-purpose nonlinear solver (which is convex in the case of three stations and non-convex in the case of more than three stations) to find an optimal tuple. Such solvers can be found in MATLAB’s Optimization and Global Optimization Toolboxes and Python’s SciPy package (Version: 1.0), among others.
Each of the implemented algorithms is treated as a nonlinear optimization problem, where the position of an aircraft is unknown, and the least-squares solver is used to find the global minimum. In each method, we start by transforming the position of each station in Geo coordinates to ECEF coordinates. A constraint is added to a set of equations to ensure the correct altitude. Once a solution is obtained, we transform it into Geo coordinates.
In the context of optimization problems, the objective is to identify a local minimum of a function. However, when the function is non-convex, it can possess multiple local minima, i.e., there exists an argument for which all values in a nearby region are higher than the found local minimum. Nevertheless, when viewed within the context of the entire environment, a global minimum exists, for which the function value is lower. Local minima may mislead optimization algorithms due to the absence of a mechanism to discern between local and global minima.
In the context of this particular problem, if the optimization problem identifies a global minimum, the location that is returned is the most probable, given the available measurements. In the presentation of the case study (see
Section 5 for more details), a comparison of the algorithms is made based on their frequency of reaching the global minimum, among others.
It should be noted that there are methodologies for increasing the probability of finding the global minimum, or at least a local minimum in its neighborhood. The most common methodologies are the multi-start [
23] and the initial guess [
24]. However, this paper’s objective is to evaluate optimization algorithms; therefore, these methodologies are not utilized.
3.3. Influence of the Arrangement of Stations on the Variance of Position Measurement
To compute the measurement error given the aircraft position found by the localization algorithm, we extend the method from [
3]. Jacobian (J) matrices are derived based on the chosen method, and (
6) is used to compute the GDOP (geometric DOP) value. The original approach from [
3] to derive
J was designed for three-dimensional problems in which the position is unknown in all three dimensions. However, given that the potential measurement error is typically negligible compared to the size of the environment, it is reasonable to assume that the altitude constraint
is equivalent to a constant value on the z-axis. In such a case, it is possible to employ the same procedure that results in a smaller number of columns, as there is one fewer decision variable.
We use the same equations for the covariance matrix (Q) as those derived in the original source. Note that, although the variance
appears in (
6), it does not affect the result because it is canceled out by the elements of the
Q matrix, which consist solely of constant multiples of
. The covariance matrix is used to show whether the measurements of different ground stations are correlated (TDOA) or not correlated (TOA). To compute the Jacobian given the aircraft position, we transform the position of all stations to ENU coordinates, where the aircraft position is the origin, i.e.,
. Also, in this coordinate system, z is parallel to the altitude, so it is possible to treat it as a constant instead of a variable, which means that the Jacobian has one fewer column.
The TDOA-based Jacobian is computed by differentiating (
2) with the same station as the reference. Different references would give different measurement errors, but for reasonably placed stations, the change is negligibly small. The Jacobian and covariance matrices can be computed using (
7) and (
8), respectively.
When using range measurements directly (
1), the Jacobian and covariance matrices can be computed using (
9) and (
10), respectively. This simplifies (
6) to (
11):
The TOAq-based method assumes that the aircraft has responded to our query so that we can estimate the time of sending a message. In this case, the Jacobian can be estimated using (
12) and the covariance can be estimated using (
10), but it is important to remember that the measurement variance is greater than in other methods due to the additional variance introduced by
.
Note that the GDOP used to calculate the variance of position measurement represents the minimum attainable measurement variance. Nonetheless, the findings may exhibit reduced precision in practical applications. One potential explanation pertains to physical phenomena, such as the reflection of electromagnetic waves. However, these considerations fall outside the scope of this particular study.
However, it should be noted that any findings related to the DOP are only useful under the assumption that the global minimum has been identified. In the event that the algorithm identifies a local minimum, it is not possible to establish an upper bound between the actual and estimated locations. It must be noted, however, that this phenomenon only occurs in the event that at least four stations are used.