GNSS Single Frequency, Single Epoch Reliable Attitude Determination Method with Baseline Vector Constraint

For Global Navigation Satellite System (GNSS) single frequency, single epoch attitude determination, this paper proposes a new reliable method with baseline vector constraint. First, prior knowledge of baseline length, heading, and pitch obtained from other navigation equipment or sensors are used to reconstruct objective function rigorously. Then, searching strategy is improved. It substitutes gradually Enlarged ellipsoidal search space for non-ellipsoidal search space to ensure correct ambiguity candidates are within it and make the searching process directly be carried out by least squares ambiguity decorrelation algorithm (LAMBDA) method. For all vector candidates, some ones are further eliminated by derived approximate inequality, which accelerates the searching process. Experimental results show that compared to traditional method with only baseline length constraint, this new method can utilize a priori baseline three-dimensional knowledge to fix ambiguity reliably and achieve a high success rate. Experimental tests also verify it is not very sensitive to baseline vector error and can perform robustly when angular error is not great.

Standard LAMBDA method can be only used for unconstrained and/or linearly constrained GNSS models, but baseline constraint is nonlinear. So, most of them make use of this additional information by optimizing searching space and checking whether or not the candidate ambiguities satisfy the given baseline. Although this kind of process improves the performance of ambiguity resolution, they are still unable to reach a very high reliability, as prior information is not fully integrated in the ambiguity resolution process. Especially when used for single frequency, single epoch attitude determination success rate of ambiguity fixing decreases dramatically [8,9].
For single epoch attitude determination, Chansik Park and Teunissen propose their own nonlinear constrained integer least square method and relevant searching strategy [10,11]. Both methods integrate nonlinear constraints into ambiguity objective function, the former is based on LAMBDA ellipsoidal search space, and the latter is based on a more rigorous but complex non-ellipsoidal search space. Although they improve the success rate to a high degree compared with unconstrained issues, it is not high enough for reliable application. As the same with most methods before, they only concern the baseline length as prior information. Concerning baseline length as well as angular information, Henkel extends baseline constraints to three-dimensions, makes use of baseline length and orientation for ambiguity maximum posterior estimation, and an estimator is designed [12,13]. Although it is very innovative in utilizing length and angular information of baseline vector, prior information is not fully integrated into ambiguity objective function, and it is used for application with multi-epoch and dual-frequency. In recent years, other research on GNSS attitude determination methods without combination mainly focuses on misaligned baselines [14], instantaneous ambiguity resolution and attitude determination [15], and medium-length baselines and multi-frequency single epoch attitude determination [16,17]. However these methods do not accommodate whole prior baseline vector information into constraint and only take baseline length into consideration.
In this contribution, we emphasize the real-time requirement of aircraft attitude determination and propose a reliable single frequency, single epoch attitude determination method with baseline vector constraints. This method utilizes baseline rough three-dimensional prior information obtained by other airborne equipment such as compass and inertial navigation system. The contribution is organized as follows: First, we reconstruct ambiguity objective function with baseline length and angular information. Then, constrained integer least square resolution is proposed based on the function above, relevant ambiguity searching strategy is proposed too. Finally, we report the static experiment and dynamic test and verify, both indicate the good performance of our proposed new method, with success rates achieving 100% in the model experiment.

GNSS double differenced linearized observation equation:
y " Aa`Bb`e (1) where y is the data vector of order m, consists of carrier phase and code observations and a is integer ambiguity of order n, b is unknown parameter vector of order p consists of three-dimensional baseline coordinates and atmosphere delay parameter. In the GNSS attitude model, the baseline is generally very short in order to eliminate atmosphere delay and meet the requirement of real-time computation [18], thus p " 3. Two antennas are used for attitude determination, one is placed in the middle of the carrier body central axis, located at " 0 0 0 ı , and the other one is located at " l 0 0 ı . Heading and pitch are derived by baseline vector according to following equation: where b 1 , b 2 , b 3 are the three coordinates of baseline vector. In order to reach a very high precision, integer ambiguity must be correctly resolved. Ambiguity integer least square solution without constraint is given as [19]: whereâ is float solution, Qââ is variance matrix. As no prior information exists, there is any baseline related items in objective function.

30094
Sensors 2015, 15,[30093][30094][30095][30096][30097][30098][30099][30100][30101][30102][30103] When baseline vector prior information with length, heading, and pitch is taken into consideration, one can write Equation (3) as [20]: Hpa, bq The objective function is very different from any other methods before as it integrates angular information into the function, see Equation (5), where θ, β, l are the components of baseline vector in sphere coordinate system, namely heading, pitch, and length. θ, β, l stand for true value, in the computation we use prior measurement as substitution. δ 2 θ , δ 2 β , δ 2 l is the variance of θ, β, l, respectively. Generally, l can be measured very precisely, and δ 2 l is very small. θ and β are measured by other airborne navigation systems and sensors with rough precision and bigger variance.

Search Space Determination
Assuming a known, then the minimizer of Hpa, bq in Equation (5) is given as: This nonlinear LS solution is calculated iteratively as follows: It can be initialized bybpaq " pB T Q´1 yy Bq´1B T Q´1 yy py´Aaq. Combining Equations (7) and (4) then gives: ! a CILS is computed by search, the searching space Ω Ă Z n is defined as: Different from standard LAMBDA method, Fpaq is not a quadratic form of a, and it cannot be formulated as weighted square sum. Thus, it is difficult to determine the ambiguities search scope sequentially as standard LAMBDA method does, but from Equation (9) we know that for a given χ 2 , Fpaq ď χ 2 , there must exist ||â´a || 2 Qââ ď χ 2 , and Ω pEq " is just an ellipsoidal search space. So, for a given value χ 2 , Ω pFq Ă Ω pEq , enumerates all the candidate vectors in Ω pEq then one can find the minimizer of Fpaq. Although it is somehow exhaustive of substituting Ω pEq for Ω pFq during the search process, it is feasible and applicable. The only problem is that the search space is possibly expanded to a much bigger one than the actual non-ellipsoidal one, due to the following reason.
When using single frequency, single epoch data, in Equation (1) A " rλI n , 0s , B " Let σ 2 φ Q and σ 2 ρ Q stands for phase and code measurement variance matrix respectively [11], then ambiguity variance matrix and conditional baseline variance matrix are as follow respectively: Generally, σ 2 φ ! σ 2 ρ . Thus, for most ambiguity candidates a, the first item ||â´a|| 2 Qââ is much smaller than ||bpaq´b|| 2 Qb paqbpaq in Equation (9), i.e., ||â´a|| 2 Qââ ! Fpaq. If the size of search space Ω E pχ 2 q is set by χ 2 " Fpaq, it will be expanded too much and contains too many candidate vectors, which makes the search tend to become inefficient or interrupted.
In order to avoid a too large a search space, we can use ||â´a|| 2 Qââ to set a smaller χ 2 E at first as it does in [10], but this operation probably makes it too small to encompass Ω pFq . So, the best way is to find a proper Ω pEq that encompass Ω pFq and is as small as possible as Figure 1 shows.

Sensors 2015, 15 5
In order to avoid a too large a search space, we can use ˆ2 aa Q a -a to set a smaller 2 E χ at first as it does in [10], but this operation probably makes it too small to encompass ( ) F Ω . So, the best way is to find a proper ( ) E Ω that encompass ( ) F Ω and is as small as possible as Figure 1 shows. In this contribution, we first set a smaller 2 1 χ as initial value. If there are no candidates in the search space, then 2 χ increases. Repeat this operation until the increased search space contains at least one candidate. Although this operation is simple, it can avoid exhaustive searching efficiently. As correct ambiguity can minimize ( ) F a , we can set 2 with the solution of standard LAMBDA method.

Modified Search Strategy
One needs to enumerate all the candidate vectors in ( ) E Ω and calculate the corresponding ( ) as many as possible. For a given 2 χ that guarantees the search space ( ) E Ω is nonempty, there is at least one candidate In this contribution, we first set a smaller χ 2 1 as initial value. If there are no candidates in the search space, then χ 2 increases. Repeat this operation until the increased search space contains at least one candidate. Although this operation is simple, it can avoid exhaustive searching efficiently. As correct ambiguity can minimize Fpaq, we can set χ 2 1 by χ 2 1 " ||â´a ILS || 2 Qââ with the solution of standard LAMBDA method.

Modified Search Strategy
One needs to enumerate all the candidate vectors in Ω pEq and calculate the corresponding Hpa, bq, i.e., Hˆa, ! b paq˙. From Equation (8), it is nonlinear least square computation and complex. In order to accelerate the search process, one must reduce the calculation times of min bPR 3 Hpa, bq as many as possible.
For a given χ 2 that guarantees the search space Ω pEq is nonempty, there is at least one candidate vector a i in search space that satisfies the following inequality: This inequality is used to check whether χ 2 is of proper value that guarantee the search space is nonempty. And when χ 2 is of proper value, it is further used to check whether other candidate vectors in Ω pEq is contained in Ω pFq as well. Only if min Qââ , then could the corresponding a probably be the correct solution of integer ambiguity. As it is very complex to calculate min bPR 3 Hpa, bq, we can compute a tight or an approximately tight lower bound of min Hpa, bq itself to utilize inequality Equation (13). The detail of this process is as follows: For simplifying, we only concern the baseline length when compute the lower bound, i.e., l " ||bpaq||. Then Equation (5) is rewritten as: paq " µbpaq{||bpaq||, 0 ď µ ď ||bpaq||, plugging this into Equation (14), then we get the valueμ " l`σ 2 l λ||bpaq|| 1`σ 2 l λ that minimizes H 1 pa, bq. It is actually the weighted mean value of ||bpaq|| and l, then we get a proximate value of ! b paq, that is: Turn it back to Equation (14): Generally, Qb paqbpaq is not a diagonal matrix, but the following inequality holds: where, λ min denotes the minimum eigenvalue of Qb paqbpaq . λ max denotes the maximum. Then we get: Hpa, bq so as to make search more efficient. Although minH 1 pa, bq ă minHpa, bq is not a tight inequality, the two items are actually very approximate as baseline length is much more accurately measured than angle. So, ignoring angular information seldom adds candidate vectors. For computation, it is much easier to calculate minH 1 pa, bq than minHpa, bq.
The steps for computing ! a are then as follows: Step 1: With float solutionâ,b and relevant variance and covariance matrixes.
Compute a ILS with unconstrained LAMBDA; 3.
Step 3: If the search space is empty i.e., no a satisfies the above inequality, expand the search space as χ 2 " χ 2`χ2 ILS , and then repeat step2 till Ω is nonempty. Select one a that returns the smallest value for Fpaq as fixed solution.
As long as the ambiguity is fixed, b " bpaq is the final high precise baseline solution to determine the attitude.

Test Verification and Analyses
In order to test the performance of proposed method, static and dynamic experiments are carried out on 23 April and 2 May 2015 respectively in Xi'an, China. With a 10˝cut off elevation angle, seven and eight satellites are tracked. PDOP value is between about 1.5 and 2.1 during the static as well as dynamic experiments, which means good measuring environment.

Static Experiment
In the static experiment, two antennas of GPS-702-GG are located at both ends and connected to two receivers of NovAtel OEM628 (NovAtel Inc, Calgary, AL. Canada), which can provide measurement precision about L1 carrier phase 2 mm (1σ) and C/A code measurement 20 cm (1σ). Carrier phase data of frequency L1 and C/A code data are both collected. Experiments are carried out two times with different baselines. In the first experiment, the baseline is of length 3.145 m, heading 25.025˝, pitch 11.208˝. In the second experiment, the baseline is of length 8.343 m, heading 49.402˝, pitch´16.137˝. The baseline length is measured by millimeter ruler with a standard deviation 0.5 mm. Angular prior information is obtained by the Inertial Navigation System coarse alignment, a type of Novatel SPAN-CPT(Synchronized Position Attitude Navigation-Compact, Portable, and Tightly Coupled, NovAtel Inc, Calgary, AL, Canada), and the standard deviation is heading 0.8˝and pitch 0.6˝. ambiguity with one epoch and another. Multi-epoch solution is regarded as true ambiguity. Compare the proposed method in this paper with BC-LAMBDA (BC stands for Baseline Constraint) method in [10] and BC-LAMBDA of rigorous non-ellipsoidal search strategy is proposed in [11]. The success rates and average computation time of each method are as shown in Table 1.
Both methods in [10,11] only concern baseline length constraint. As it shown in Table 1, method in [11] performs better, achieving a higher success rate, but it still gets ambiguity resolution wrong at over 10 epochs. Different from the tow methods above, this paper's new method concerns not only baseline length but also angular constraint, thus to strengthen the model of GNSS attitude determination and achieve a success rate of 100% in two experiments of different baselines.
The whole time that was required for resolving integer ambiguity at every epoch was measured using Matlab. Then we divided the whole computation time by number of epochs to obtain the average computation time per epoch. The PC is of Pentium(R) Dual-Core CPU E5500+2.80 GHz, 2.79 GHz and 1.96 G RAM. As is shown in Table 1, this paper new method is a little slower than methods in [10,11], it is still very fast and very close to reference methods. The average computation time is much shorter than 1 s (1 epoch). Compared to method in [11], it performs better than ambiguity resolution, and the computation time does not increase because of the modified search strategy. With single epoch measurement, short computation time, and a very high ambiguity fix success rate, this new method can be expected for airborne application reliably.
In the first experiment, the attitude of baseline is determined with the first 1000 epochs, computing one by one. This paper's proposed method is compared with method in [11], and the result is shown in Figure 2.
Sensors 2015, 15 8 baseline length but also angular constraint, thus to strengthen the model of GNSS attitude determination and achieve a success rate of 100% in two experiments of different baselines. The whole time that was required for resolving integer ambiguity at every epoch was measured using Matlab. Then we divided the whole computation time by number of epochs to obtain the average computation time per epoch. The PC is of Pentium(R) Dual-Core CPU E5500+2.80 GHz, 2.79 GHz and 1.96 G RAM. As is shown in Table 1, this paper new method is a little slower than methods in [10,11], it is still very fast and very close to reference methods. The average computation time is much shorter than 1 s (1 epoch). Compared to method in [11], it performs better than ambiguity resolution, and the computation time does not increase because of the modified search strategy. With single epoch measurement, short computation time, and a very high ambiguity fix success rate, this new method can be expected for airborne application reliably.
In the first experiment, the attitude of baseline is determined with the first 1000 epochs, computing one by one. This paper's proposed method is compared with method in [11], and the result is shown in Figure 2.  Figure 2 shows that the solution of heading and pitch are probably far from true value and shake severely at a few epochs when using method in [11]. This is actually due to the wrong fixed ambiguity.  Figure 2 shows that the solution of heading and pitch are probably far from true value and shake severely at a few epochs when using method in [11]. This is actually due to the wrong fixed ambiguity. Although the baseline length holds still close to the true value, the heading and pitch deviated. When using baseline vector constraint of three-dimensions, we integrate heading and pitch constraint information into objective function. If the heading or pitch deviates from prior information to some extent, objective function increases dramatically, the relevant ambiguity candidate will not be chosen as fixed right one. This is why this paper proposed method performs better and achieves a higher success rate. Figure 2 also shows that after integer ambiguity is correctly fixed, the result of attitude determination in the experiment is heading 23.5˝, about 1.5˝deviation from prior information; pitch 10.2˝, about 1.0˝deviation from prior information. The max error of heading is about 0.1˝, standard deviation 0.05˝; the max error of pitch is about 0.2˝, standard deviation 0.08˝.
In fact, prior information is not exactly correct and always has a measurement error. Baseline length error is very small and can sometimes be ignored, but angular error cannot be ignored for its inaccurate measurement of other navigation systems or sensors. In the computation of this proposed new method, we substitute angular prior information for the true value. It affects the ambiguity solution and decrease success rate.
In the first static experiment, the true value of the heading is known as 23.5˝. In order to test how the angular prior information error affects ambiguity solution, we add some error to the true value and set its standard deviation as real measured prior information for simulation. As Figure 3 shows, with a given standard deviation, the bigger the error is the lower the success rate is. The proposed method is sensitive to the error when standard deviation becomes smaller. With small standard deviation, the success rate can achieve a very high level when angular prior information error is small, but will decrease rapidly when errors increase. On the contrary, when standard deviation is big, the new method does not become too sensitive to prior information error, but at the same time the performance of constraint becomes worse. Figure 3 also shows that, set standard deviation of 0.8˝as example, success rate decreases along with prior information error increases, but when error is within 2˝, the new method still performs better than that without angular constraint. Pitch is similar to heading, no need to test again.

Sensors 2015, 15 9
Although the baseline length holds still close to the true value, the heading and pitch deviated. When using baseline vector constraint of three-dimensions, we integrate heading and pitch constraint information into objective function. If the heading or pitch deviates from prior information to some extent, objective function increases dramatically, the relevant ambiguity candidate will not be chosen as fixed right one. This is why this paper proposed method performs better and achieves a higher success rate. Figure 2 also shows that after integer ambiguity is correctly fixed, the result of attitude determination in the experiment is heading 23.5°, about 1.5° deviation from prior information; pitch 10.2°, about 1.0° deviation from prior information. The max error of heading is about 0.1°, standard deviation 0.05°; the max error of pitch is about 0.2°, standard deviation 0.08°. In fact, prior information is not exactly correct and always has a measurement error. Baseline length error is very small and can sometimes be ignored, but angular error cannot be ignored for its inaccurate measurement of other navigation systems or sensors. In the computation of this proposed new method, we substitute angular prior information for the true value. It affects the ambiguity solution and decrease success rate.
In the first static experiment, the true value of the heading is known as 23.5°. In order to test how the angular prior information error affects ambiguity solution, we add some error to the true value and set its standard deviation as real measured prior information for simulation. As Figure 3 shows, with a given standard deviation, the bigger the error is the lower the success rate is. The proposed method is sensitive to the error when standard deviation becomes smaller. With small standard deviation, the success rate can achieve a very high level when angular prior information error is small, but will decrease rapidly when errors increase. On the contrary, when standard deviation is big, the new method does not become too sensitive to prior information error, but at the same time the performance of constraint becomes worse. Figure 3 also shows that, set standard deviation of 0.8° as example, success rate decreases along with prior information error increases, but when error is within 2°, the new method still performs better than that without angular constraint. Pitch is similar to heading, no need to test again.  According to the simulation result, we can reconstruct the objective function to achieve a better performance of baseline vector constraint. When prior information is not much reliable, we set a bigger standard deviation or even eliminate the relevant angular constraint items in objective function. When prior information is reliable with a higher precision, we set a smaller standard deviation to make a tight According to the simulation result, we can reconstruct the objective function to achieve a better performance of baseline vector constraint. When prior information is not much reliable, we set a bigger standard deviation or even eliminate the relevant angular constraint items in objective function. When prior information is reliable with a higher precision, we set a smaller standard deviation to make a tight constraint. Using the inverse of variance of each item as weight value in Equation (5) is just in according with that idea, i.e., smaller standard deviation means reliable prior information and thus has a bigger weight value.

Dynamic Test
Fasten two antennas along the axis of experiment vehicle, drive it along 400 m sports track one lap and a half, and determine attitude continuously. Before it moves, prior baseline information is measured as length 2.353 m, heading 0.253˝, pitch 1.837˝, set the standard deviation of baseline, heading, and pitch are 0.5 mm, 0.8˝, 0.6˝, respectively. The vehicle movement path is as shown in Figure 4. GNSS determined baseline length and attitude are shown in Figure 5. constraint. Using the inverse of variance of each item as weight value in Equation (5) is just in according with that idea, i.e., smaller standard deviation means reliable prior information and thus has a bigger weight value.

Dynamic Test
Fasten two antennas along the axis of experiment vehicle, drive it along 400 m sports track one lap and a half, and determine attitude continuously. Before it moves, prior baseline information is measured as length 2.353 m, heading 0.253°, pitch 1.837°, set the standard deviation of baseline, heading, and pitch are 0.5 mm, 0.8°, 0.6°, respectively. The vehicle movement path is as shown in Figure 4. GNSS determined baseline length and attitude are shown in Figure 5  From Equation (6), heading is defined as the angle between east and the horizontal project of baseline, increases from zero to 360° counterclockwise. Pitch is defined as the angle between baseline and horizontal plane. During the first 30 s, the vehicle stands still, heading and pitch remain unchanged, the integer ambiguity is resolved by new method with single frequency, single epoch. Figure 5 shows that during the move, baseline length is measured as 2.35 m which corresponds to prior information; heading is changing corresponding to the vehicle moving track; pitch is about 1.3°, maximum floating value is about 1° corresponding to the flat track of ground. The vehicle movement constraint. Using the inverse of variance of each item as weight value in Equation (5) is just in according with that idea, i.e., smaller standard deviation means reliable prior information and thus has a bigger weight value.

Dynamic Test
Fasten two antennas along the axis of experiment vehicle, drive it along 400 m sports track one lap and a half, and determine attitude continuously. Before it moves, prior baseline information is measured as length 2.353 m, heading 0.253°, pitch 1.837°, set the standard deviation of baseline, heading, and pitch are 0.5 mm, 0.8°, 0.6°, respectively. The vehicle movement path is as shown in Figure 4. GNSS determined baseline length and attitude are shown in Figure 5  From Equation (6), heading is defined as the angle between east and the horizontal project of baseline, increases from zero to 360° counterclockwise. Pitch is defined as the angle between baseline and horizontal plane. During the first 30 s, the vehicle stands still, heading and pitch remain unchanged, the integer ambiguity is resolved by new method with single frequency, single epoch. Figure 5 shows that during the move, baseline length is measured as 2.35 m which corresponds to prior information; heading is changing corresponding to the vehicle moving track; pitch is about 1.3°, maximum floating value is about 1° corresponding to the flat track of ground. The vehicle movement From Equation (6), heading is defined as the angle between east and the horizontal project of baseline, increases from zero to 360˝counterclockwise. Pitch is defined as the angle between baseline and horizontal plane. During the first 30 s, the vehicle stands still, heading and pitch remain unchanged, the integer ambiguity is resolved by new method with single frequency, single epoch. Figure 5 shows that during the move, baseline length is measured as 2.35 m which corresponds to prior information; heading is changing corresponding to the vehicle moving track; pitch is about 1.3˝, maximum floating value is about 1˝corresponding to the flat track of ground. The vehicle movement track is obtained by reference antenna pseudorange positioning. The experiment result indicates that baseline length, heading, and pitch are all measured correctly, which is owing to the correctly fixed ambiguity.