High-Accuracy Attitude Determination Using Single-Difference Observables Based on Multi-Antenna GNSS Receiver with a Common Clock

: A global navigation satellite system (GNSS) receiver with multi-antenna using clock synchronization technology is a powerful piece of equipment for precise attitude determination and reducing costs. The single-difference (SD) can eliminate both the satellites and receiver clock errors with the common clock between antennas, which beneﬁts the GNSS short-baseline attitude determination due to its lower noise, higher redundancy and stronger function model strength. However, the existence of uncalibrated phase delay (UPD) makes it difﬁcult to obtain ﬁxed SD attitude solutions. Therefore, the key problem for the ﬁxed SD attitude solutions is to separate the SD UPD and ﬁx the SD ambiguities into integers between antennas. This article introduces the one-step ambiguity substitution approach to separate the SD UPD, through which we merge the SD UPD parameter with the SD ambiguity of the reference satellite ambiguity as the new SD UPD parameter. Reconstructing the other SD ambiguities, the rank deﬁciency can be remedied by nature, and the new SD ambiguities can have a natural integer feature. Finally, the ﬁxed SD baseline and attitude solutions are obtained by combining the ambiguity substitution approach with integer ambiguity resolution (IAR). To verify the effect of the ambiguity substitution approach and the advantages of the SD observables with a common clock in practical applications, we conducted static, kinematic, and vehicle experiments. In static experiments, the root mean squared errors (RMSEs) of the yaw and pitch angles obtained by the SD observables with a common clock were improved by approximately 80% and 93%, respectively, compared to double-difference (DD) observables with a common clock in multi-day attitude solutions. The kinematic results show that the dispersion of the SD-Fix in the pitch angle is two times less that of the DD-Fix, and the standard deviations (STDs) of the pitch angle for SD-Fix can reach 0.02 ◦ . Based on the feasibility, ﬁve bridges with low pitch angles in the vehicle experiment environment, which the DD observables cannot detect, were detected by the SD observables with a common clock. The attitude angles obtained by the SD observables were also consistent with the ﬁber optic gyroscope (FOG) inertial navigation system (INS). This research on the SD observables with a common clock provides higher accuracy.


Introduction
Complementary to inertial navigation systems (INSs), attitude determination based on global navigation satellite system (GNSS) short-baseline technology demonstrates its advantages of low cost and immunity to error accumulations [1]. With studies on the ambiguity resolution success rate [2,3] and the improvement in complex environments [4], the GNSS short-baseline attitude determination has attracted more attention in the autopilot and marine industries.
With the new design from the normal receiver, the emergence of a multi-antenna receiver employs clock-synchronized technology and benefits the GNSS short-baseline attitude determination. Besides the saving of product cost and volume owing to sharing a common clock (also called "public clock") between two original equipment manufacturer (OEM) boards or between two antennas, its significant advantage is that using the convenience provided by a common clock the between-antenna (BA) single-difference (SD) observables can eliminate the errors of both the satellite and receiver clocks, thus improving the redundancy of the observation equation and the success rate of ambiguity resolution [5].
Theoretical studies indicated that the BA SD (hereafter SD) and double-difference (DD) observables were no longer equivalent for the multi-antenna receiver with a common clock. The horizontal components of their baseline solutions are still equivalent. For the vertical components of the baseline solutions, however, the variances of SD solutions were smaller than that of DD solutions [6]. The asymptotic analysis further demonstrated that using this multi-antenna GNSS receiver with a common clock, the pitch solutions of the SD algorithm were significantly superior to that of the DD algorithm. The dispersions of the pitch solutions from the SD algorithm were five times smaller than that from the DD algorithm [7]. These advantages allow using SD observables for attitude determination and research in other fields such as multipath [8] and stochastic models [9].
However, the current analysis software installed in the GNSS multi-antenna receiver with a common clock still uses DD observables and adopts the DD algorithm for two reasons. First, it has been proven that the positioning solutions of SD with non-common clock and DD observables are equivalent. The recent discovery that the SD with common clock and DD observables and their attitude solutions are no longer equivalent has not been implemented. Second, the existence of SD uncalibrated phase delay (UPD) (which is the sum of initial phase biases and hardware delays, also called the line bias [10]) makes all SD ambiguities no longer integers due to the high correlations between SD UPD and SD ambiguities. Traditionally, only the DD observables of carrier phase observations can simultaneously eliminate the SD UPD, satellite, and receiver clock errors, and the DD ambiguities are integers by nature. Most integer ambiguity resolution (IAR) algorithms are based on DD observables, such as least-squares ambiguity decorrelation adjustment (LAMBDA) [11,12], CLAMBDA [13][14][15], bootstrapping [16,17], and partial ambiguity resolution (PAR). If we simply adopt the DD scheme to the receiver with a common clock, the SD accuracy advantage of attitude solutions will be removed. Therefore, it appears critical to resolve SD UPD and fix SD ambiguities without forming DD observables directly for high-accuracy attitude determination.
According to past research, the UPD of a receiver can be regarded as a constant in a short period, and this conclusion enlightens studies on SD observables. One method ignores the SD UPD and estimates the SD ambiguities directly [18]. Such an approach is not rigorous, and the unassimilated SD UPD will contaminate the baseline estimation. Another two-step method obtains integer SD ambiguities by estimating the SD UPD. To estimate SD UPD, Li et al. (2004) first used multiple epochs to obtain coarse DD ambiguity-fixed baseline components and then estimate the SD UPD using the baseline components. Then they subtracted the estimated SD UPD from SD phase observables to resolve the integer SD ambiguities. This standalone approach adopts constant SD UPD for each session and seems complex for real-time applications [19]. We aim to develop an algorithm for real-time attitude applications. It is based on SD observables to take advantage of the common clock Remote Sens. 2021, 13, 3977 3 of 20 multi-antenna receivers. Meanwhile, it can implement the mature DD integer ambiguity resolution algorithm for SD observables.
This paper is organized as follows: Section 2 reviews the algorithm and advantages of SD with a common clock, formulates the separation method between SD UPD and ambiguities and describes the total single-epoch Kalman Filter (KF) model based on SD observables. Section 3 analyzes and evaluates the feasibilities and advantages of the SD observables with a common clock in static and kinematic attitude determination. Section 4 presents the real vehicle experiment and the results. Section 5 presents the conclusions and perspectives.

Methods
For SD observables the SD UPD is highly correlated with the SD ambiguities, so that we cannot estimate both SD UPD and ambiguities together due to the rank deficiency. If only SD ambiguities are estimated, all SD ambiguities are no longer integers due to the existence of SD UPD. However, the high correlation is not always problematic. Sometimes it is beneficial if we treat it properly. Because the high correlation ties the parameters together, changing the definition of one parameter will change the definitions of all other parameters automatically. In this paper, we merge the SD UPD parameter with one SD ambiguity of reference satellite as the new SD UPD parameter. The concept of reference ambiguity is the legacy of previous ambiguity resolution approaches for precise point positioning (PPP) [20,21]. However, in our case, there is no time-varying receiver clock parameter, and the nearly constant SD parameter can be merged with a SD ambiguity parameter. It can be proved theoretically that the definitions of the new SD ambiguities become the DD ambiguities between the remaining SD ambiguities and the SD ambiguity of a reference satellite automatically. We call such a parameterization the ambiguity substitution approach. This approach solves the rank deficiency; meanwhile, all SD ambiguities become DD ambiguities implicitly. The integer nature of new SD ambiguities makes it easy to implement the IAR algorithms directly, such as LAMBDA and bootstrapping. In particular, it maintains the SD observables; therefore, the accuracy advantages of the SD observables are fully utilized.
This section first briefly reviews the algorithm and advantages of the SD model with common clock. Then it establishes the formulation of ambiguity substitution approach based on BA SD observables with a common clock. It then forms the total single-frequency and single-epoch KF model in different states of motion.

Global Navigation Satellite System (GNSS) Short Baseline Attitude Determination Using Multi-Antenna Receiver with Common Clock
Before employing ambiguity substitution approach in SD observables with common clock, it is necessary to introduce the non-equivalence between SD with common clock and DD to help scrutinize the relationship between UPD, receiver clock and ambiguities.
The basic model for undifferenced GNSS carrier phase observations from receiver r to satellite s at frequency i, in units of length, is: where the frequency band i takes a value of 1 or 2, φ s r,i is the original phase observation in meters, ρ s r is the geometric distance between receiver r and satellite s, c is the speed of light in a vacuum, dt r is the receiver clock error, dt s is the satellite clock error, d ion,i is the first-order ionospheric delay in the frequency band i, d trop is the tropospheric delay, λ i is the wavelength, N s r,i is the integer ambiguity between receiver r and satellite s, b r,L i and b s L i are the sums of receiver and satellite initial phase biases and hardware delays in cycles, respectively, including the transmission delay associated with the cable length between antennas and receiver, d mdl are various analysis modeling errors, including satellite orbits, earth tide and ocean tide, carrier phase wind-up, corrections for phase center offsets (PCOs) and phase center variations (PCVs), and multipath effect; ε s r,i is the phase observation noise. For the short baseline observations between antennas (usually < 20 km), the distancedependent errors, such as the tropospheric delay, ionospheric delay, tide effects, orbital error, and the carrier phase wind-up effect, are virtually eliminated [22,23]. Additionally, the satellite clock and satellite initial phase biases terms cancel out. If we orient the two antennas in the same direction, the PCOs and PCVs of the receiver antennas also cancel out each other. Thus, the SD observation equation with non-common clock becomes: where ∆ denotes the SD across-receiver operator, ∆dt r represents the difference of clock errors between the two antennas, ∆b r,L i is the differential initial phase biases and transmission delay associated with the two antennas. For simplicity, we ignore the un-eliminated modeling errors, such as the multipath effects. For the SD observation equation with common clock, the ∆dt r term is eliminated, but the ∆b r,L i term remains. The observation equation becomes: Both models (Equations (2) and (3)) are singular, where ∆b r,L i is functionally similar to a common time delay, which varies slowly with limited amplitude. So that ∆dt r and ∆b r,L i in Equation (2) are inseparable, ∆b r,L i and ∆N s r,i in Equation (3) are also highly correlated. Assuming ∆b r,L i had been calibrated and hence was omitted in Equations (2) and (3), theoretical study proved that the SD model with non-common clock (Equation (2)) and DD model were equivalent if the same data were used [6]. Sometimes the SD model used more data including that it was unable to form DD combinations; in this case, SD the model had slightly more redundancy. However, the SD model with common clock (Equation (3)) and DD model were no longer equivalent. Their horizontal components of baseline solutions were still equivalent. For the vertical components of the baseline solutions, the variances of SD solutions were significantly smaller than that of DD solutions [6]. Such differences stem from the satellite distribution. The satellite traces can cover all 360 degrees on the horizontal direction while they can be seen only on the vertical direction. Assuming that all SD integer ambiguities were resolved and all SD observations had the same accuracy with uniform distribution on the sky, the asymptotic analysis demonstrated that the covariance matrices Q of single-epoch baseline vector solutions under non-common clock model (Equation (2)) and common clock model (Equation (3)) were [7]: where the parameter order is for east, north, vertical baseline components and clock term, n is the satellite number, σ is the observation noise. While the variances V of solution dispersions for non-common clock and common clock models are [7]: Equations (4) and (5) indicate that the solutions of horizontal baseline components are equivalent between non-common clock and common clock SD models. However, the solutions of vertical baseline components from the common clock SD model are better than the solutions of non-common clock SD model (or the DD model). In particular, the solution dispersions of vertical baseline components under common clock SD model reach 5.3 times smaller than the DD approach. The asymptotic analysis further demonstrated Remote Sens. 2021, 13, 3977 5 of 20 that when the ∆b r,L i parameter was estimated in the common clock scheme, it could be tightly constrained as a time invariant parameter due to its nearly constant nature. The baseline solutions of the common clock SD model are close to the non-common clock SD model at the first epoch. Then the baseline solutions of the common clock SD model rapidly approach the solutions of the common clock SD model without estimating ∆b r,L i [7]. Thus, the SD model with common clock is able to break the accuracy limit of traditional DD model or SD model with non-common clock for GNSS attitude determination. In particular, its pitch solutions are significantly superior to the DD scheme if we can resolve the SD integer ambiguities efficiently.

Theoretical Basis of Ambiguity Substitution Approach
In practical applications, the ∆b r,L i term, called as ∆UPD, is non-zero and should be estimated. Thus, Equation (3) is taken as the standard SD observation equation with the common clock while the ∆UPD parameter is treated as a nearly time invariant parameter applicable to all satellites. For simplicity, we discuss single-frequency phase data for a single baseline with total m SD phase observations and n satellites in view. The linearized equation of SD observations is expressed as: where ∆Φ is an (m × 1) observed minus computed SD phase observation vector, A is a (m × 3) cosine vector for the direction from the satellites to the receivers; δX denotes the three-dimensional baseline unknowns, ∆b is SD UPD, ∆N is the (n × 1) SD ambiguity, B= [ λe λM , λ is the wavelength, e is the (m × 1) unit column vector, M is an (m × n) ambiguity mapping matrix at this moment.
Since ∆b and ∆N are highly correlated, the challenge is how to separate ∆b and ∆N, and how to resolve integer biases efficiently without sacrificing the accuracy advantage of the SD scheme. Taking between-satellite differences [19] can easily eliminate ∆b and the differenced ∆N are all integers by nature, but this resulting DD scheme lost the accuracy advantage of the SD scheme [7]. Imitating the phase fractional cycle bias model [24], we can ignore ∆b and only estimate ∆N in Equation (6), then take the average of the fractional parts of the estimated ∆N as SD UPD and fix the integer SD ambiguities. This approach is similar to the two-step approach [19], which is most suitable for post-processing rather than real-time processing [25]. Imitating the integer phase clock model and decoupled clock model [21,22], we can form the ∆Φ − ∆ρ combinations with the aid of SD pseudorange observations ∆ρ, a subset of integer SD ambiguities can be derived by taking the integer part of the observations theoretically. This approach solves the singular problem, due to the high noise level of the pseudorange observations; however, it is successful for long-wavelength wide-lane ambiguities, but not for narrow-lane or L1 ambiguities.
The high correlation between SD UPD and SD ambiguities creates an opportunity for SD AR. Owing to the high correlation, if we modify the definition of SD UPD, it will automatically change the definitions of all SD ambiguities. If we modify the definition of SD UPD, it will automatically change all SD ambiguities' definitions. Designing a mapping matrix is the important step for an ambiguity substitution approach. We select one ambiguity (for example ∆N 1 ) as the reference ambiguity and merge it with the SD UPD as the new SD UPD parameter. Then, the rank deficiency is removed by nature. In each row of the mapping matrix M after the ambiguity substitution approach, only the element matching the ambiguity with the observed satellite is 1, and the remaining elements are 0. There is no ambiguity mapping for the reference satellite and there is also no room for ∆N 1 in ∆N i : where a i is a (1 × 3) cosine vector for the direction from the satellite of the ith observation to the antennas, ∆N i is the SD integer ambiguity associated with the ith satellite. In an ideal situation, when there is no observation error, and the baseline solution is fixed, the least square solution of SD UPD parameter and ambiguities can be obtained as follow: where ∆N i is the estimated ith SD ambiguity and ∆N i is the ith true SD ambiguity. The Equation (8) indicates that the estimated parameter ∆b is the sum of the ∆b and the ∆N 1 , and the estimated (n − 1) ambiguity parameters ∆N i are the differences between the ∆N i and the ∆N 1 , which by nature are all integers. Usually, we select the integer part of the SD ambiguity whose elevation is the highest as the initial reference integer ambiguity value ∆N 1 . Such a selection reduces the range of ∆b to be within a few cycles if the satellite has a better observation quality.
With this substitution, the ambiguity substitution approach not only retains the integer characteristics of DD ambiguity but also removes the rank deficiency caused by the estimation of SD UPD. More importantly, this method helps the SD observables have a higher redundancy than DD observables, which benefits the high accuracy for the baseline and attitude solutions.

Single-Difference (SD) Observables with Single-Epoch Kalman Filter (KF) Model
Because the attitude determination systems are mainly applied to a dynamic situation, the parameters estimation for SD observables with a common clock employs the KF model to combine with the ambiguity substitution approach and obtain the final static, kinematic, and dynamic solutions. The state and observation equation of KF at epoch k are expressed in the forms of vector and matrix: where X k is the state vector,Z k is the SD observation vector, A k and H k is the state transfer matrix and design matrix, respectively. Γ k is the matrix of the state noise, w ∼ N(0, Q) is the noise for the state vector, ε ∼ N(0, R) is the observation noise. w k and ε k are assumed to be white noise with zero means. The process of state transfer can be expressed as: whereX k,k−1 and C are the prediction of the state parameters and covariance. With the time update from k − 1 to k, the updated equations of the state vectorX k and its covariance matrix C k are:X Remote Sens. 2021, 13, 3977 7 of 20 where K k is the matrix of KF gain. After combining KF with the ambiguity substitution approach in SD observables, the speed parameters need to be added to the state vector.
Taking the constant speed model as an example and assuming that n satellites are observed at this epoch, the single-frequency state vector and design matrix change into: T is the velocity vector, ∆b upd is the SD UPD, and ∆N i is the SD ambiguity. l x ,l y ,l z are the cosine vector for the direction from the satellite of the ith observation to the antennas. With the speed model taken into consideration, the process of state transfer will also change. For a real kinematic with antenna dynamic, the state transfer can be expressed as: where I 3 is the (3 × 3) unit matrix, ∆t is the observation interval, b ax b ay b az T is the acceleration vector which is set as the disturbance for the baseline vector, and the values of the acceleration disturbance depend on the actual state of the vehicle.
δb upd δN 2 · · · δN n T is the disturbance of SD UPD and ambiguities. During the data processing, δN i = 0 when there is no cycle slip for satellite i or δN i = ∞ to assimilate the cycle slip. The disturbance of SD UPD is set as 1 × 10 −4 cycle by experience, or it can be increased appropriately to absorb the environmental temperature variation and the receiver-self inner circuit transmitting delay [10]. Moreover, these disturbances obey the process of statistical Markov; their variances are related to the time interval and their covariance matrix Q k = E{w k w k } = q 2 ∆t where q is given by experience.
There is also another observation mode which is the pure kinematic without antenna dynamic, in which the state transfer can be replaced by: After the above estimation process of KF with the ambiguity substitution approach, the float baseline vector and SD ambiguities with integer characteristics can be exported. Then, LAMBDA or bootstrapping can be used to obtain the fixed ambiguities and baseline vector. Finally, converting the baseline vector to the local East-North-Up frame, we compute the yaw angle ψ and pitch angle θ from the baseline coordinates b E , b N , b U as [26]:

The Assessment of SD Observables with a Common Clock in Static and Kinematic Mode
Static and kinematic experiments are carried out in this section; we first verify the feasibility of ambiguity substitution approach by comparing the SD-Fix with SD-Float solutions and then evaluate the accuracy for the fixed solutions between SD observables and DD observables.

Static Data Collection
Prior to practical application, we utilized a static experiment to verify the feasibility of the ambiguity substitution approach and SD observables with a common clock. Two Zephyr-Model 2 antennas were placed on the rooftop of the Estuary and Coast building at East China Normal University. Static GNSS observations were collected using a Trimble BD982 dual-antenna GNSS receiver with a baseline length of approximately 6.44 m. The static observations spanned from 3-8 July 2021 (DOY 184-189) and had a sampling rate of 1 Hz. Figure 1 shows a photograph of the antennas used in the experiment.
The ambiguity substitution approach was implemented for the Positioning and Attitude Determination Software (PADS) procedure. PADS is designed for short-baseline data processing and attitude determination in the SD form with a common clock, and it can be operated in both real-time and post-processing modes. In this static experiment, the postprocessing mode and global positioning system (GPS) L1 carrier phase observations were used. Elevation-dependent weighting was selected in the data processing, and this static experiment set the cutoff elevation to 10 • . LAMBDA and bootstrapping both exist in PADS. As a widely used AR, LAMBDA was chosen to fix SD ambiguities in this study because it can find the most reliable integer ambiguity values in the ambiguity space [11,12].
Prior to practical application, we utilized a static experiment to verify the feasibility of the ambiguity substitution approach and SD observables with a common clock. Two Zephyr-Model 2 antennas were placed on the rooftop of the Estuary and Coast building at East China Normal University. Static GNSS observations were collected using a Trimble BD982 dual-antenna GNSS receiver with a baseline length of approximately 6.44 m. The static observations spanned from 3-8 July 2021 (DOY 184-189) and had a sampling rate of 1 Hz. Figure 1 shows a photograph of the antennas used in the experiment. The ambiguity substitution approach was implemented for the Positioning and Attitude Determination Software (PADS) procedure. PADS is designed for short-baseline data processing and attitude determination in the SD form with a common clock, and it can be operated in both real-time and post-processing modes. In this static experiment, the postprocessing mode and global positioning system (GPS) L1 carrier phase observations were used. Elevation-dependent weighting was selected in the data processing, and this static experiment set the cutoff elevation to 10°. LAMBDA and bootstrapping both exist in PADS. As a widely used AR, LAMBDA was chosen to fix SD ambiguities in this study because it can find the most reliable integer ambiguity values in the ambiguity space [11,12].

The Validation of Ambiguity Substitution Approach with a Common Clock
Before evaluating the accuracy of baseline and attitude solutions based on SD observables, we need to verify whether the SD-Float ambiguities can be fixed correctly and the accuracy of the SD-Fix baseline and attitude solutions be improved by the ambiguity substitution approach.

The Validation of Ambiguity Substitution Approach with a Common Clock
Before evaluating the accuracy of baseline and attitude solutions based on SD observables, we need to verify whether the SD-Float ambiguities can be fixed correctly and the accuracy of the SD-Fix baseline and attitude solutions be improved by the ambiguity substitution approach.
The SD-Float ambiguities should have integer characteristics after recombining with the ambiguity substitution approach. Ambiguity biases are the differences between float and fixed ambiguities; they can be used as an indicator to check whether the float ambiguity is close to an integer. Due to the real value SD UPD, this difference is assimilated by all SD ambiguity parameters if the SD UPD is not estimated. This causes systematic deviations from integers of the estimated SD ambiguities. When we introduce the SD UPD parameter and merge it with a reference ambiguity, all the remaining SD ambiguities are distributed close to integers after the real value of their common systematic deviations from integers is assimilated by the SD UPD parameter, as shown in Figure 2. The SD-Float ambiguities should have integer characteristics after recombining with the ambiguity substitution approach. Ambiguity biases are the differences between float and fixed ambiguities; they can be used as an indicator to check whether the float ambiguity is close to an integer. Due to the real value SD UPD, this difference is assimilated by all SD ambiguity parameters if the SD UPD is not estimated. This causes systematic deviations from integers of the estimated SD ambiguities. When we introduce the SD UPD parameter and merge it with a reference ambiguity, all the remaining SD ambiguities are distributed close to integers after the real value of their common systematic deviations from integers is assimilated by the SD UPD parameter, as shown in Figure 2. As shown in Figure 2, more than 95% of SD-Float for the ambiguity substitution approach ambiguities are closer to an integer within 0.15 cycles. This ambiguity bias indicates that the ambiguity substitution approach can separate the SD UPD and retain the integer characteristics of SD-Float ambiguities.
After verifying the integer characteristics of the SD-Float ambiguities, the absolute biases and baseline repeatability are used to indicate the improvement of baseline preci- As shown in Figure 2, more than 95% of SD-Float for the ambiguity substitution approach ambiguities are closer to an integer within 0.15 cycles. This ambiguity bias indicates that the ambiguity substitution approach can separate the SD UPD and retain the integer characteristics of SD-Float ambiguities.
After verifying the integer characteristics of the SD-Float ambiguities, the absolute biases and baseline repeatability are used to indicate the improvement of baseline precision between SD-Float and SD-Fix solutions. We used the absolute biases to compare the SD-Float and SD-Fix solutions with the reference baseline value to indicate the baseline precision. The reference baseline value is the average of multi-day solutions handled by GAMIT in static mode. The comparison of the baseline precision of the SD-Float and SD-Fix solutions for 6 days is plotted in Figure 3.  Although the SD-Fix baseline solutions have smaller STDs than SD-Float baseline solutions, we still need a repeatability index to reflect the degree of dispersion for the observation data. For multi-day baseline observations, after deducting the SD UPD, the baseline repeatability index should theoretically improve significantly. The daily repeatability of baselines is defined as follows [27]: where n is the number of days, i C and i C σ are the estimated and formal errors of the baseline component on the i th day, and m C is a weighted mean given by: The daily repeatability values of SD-Float solutions, shown in Figure 4, are 1.44, 1.06, and 0.90 mm in the east, north, and up directions, respectively, while those of SD-Fix solutions are 0.73, 0.58, and 0.73 mm, respectively. Compared with SD-Float solutions, the daily repeatability improves by approximately 49%, 45%, and 19% for SD-Fix solutions in the east, north, and up directions, respectively. Although the SD-Fix baseline solutions have smaller STDs than SD-Float baseline solutions, we still need a repeatability index to reflect the degree of dispersion for the observation data. For multi-day baseline observations, after deducting the SD UPD, the baseline repeatability index should theoretically improve significantly. The daily repeatability of baselines is defined as follows [27]: where n is the number of days, i C and i C σ are the estimated and formal errors of the baseline component on the i th day, and m C is a weighted mean given by: The daily repeatability values of SD-Float solutions, shown in Figure 4, are 1.44, 1.06, and 0.90 mm in the east, north, and up directions, respectively, while those of SD-Fix solutions are 0.73, 0.58, and 0.73 mm, respectively. Compared with SD-Float solutions, the daily repeatability improves by approximately 49%, 45%, and 19% for SD-Fix solutions in the east, north, and up directions, respectively.
where n is the number of days, C i and σ C i are the estimated and formal errors of the baseline component on the ith day, and C m is a weighted mean given by: where n is the number of days, The daily repeatability values of SD-Float solutions, shown in Figure 4, are 1.44, 1.06, and 0.90 mm in the east, north, and up directions, respectively, while those of SD-Fix solutions are 0.73, 0.58, and 0.73 mm, respectively. Compared with SD-Float solutions, the daily repeatability improves by approximately 49%, 45%, and 19% for SD-Fix solutions in the east, north, and up directions, respectively.
The daily repeatability values of SD-Float solutions, shown in Figure 4, are 1.44, 1.06, and 0.90 mm in the east, north, and up directions, respectively, while those of SD-Fix solutions are 0.73, 0.58, and 0.73 mm, respectively. Compared with SD-Float solutions, the daily repeatability improves by approximately 49%, 45%, and 19% for SD-Fix solutions in the east, north, and up directions, respectively.
The daily repeatability values of SD-Float solutions, shown in Figure 4, are 1.44, 1.06, and 0.90 mm in the east, north, and up directions, respectively, while those of SD-Fix solutions are 0.73, 0.58, and 0.73 mm, respectively. Compared with SD-Float solutions, the daily repeatability improves by approximately 49%, 45%, and 19% for SD-Fix solutions in the east, north, and up directions, respectively.

Comparison of Single-Difference (SD) and Double-Difference (DD) Observables with a Common Clock in Static Mode
After comparing the SD-Fix with the SD-Float in baseline solutions and confirming the feasibility and accuracy of ambiguity substitution approach, we continue to evaluate the improvement of using BA SD observables to obtain the SD-Fix compared to DD-Fix from the perspective of practical applications. Here, the SD-Fix solutions are still obtained by PADS, based on the multi-day static observations collected in Section 3.1. We take the solutions automatically output by Trimble BD982 as the DD-Fix solutions. The baseline and attitude obtained by GAMIT in Section 3.2 are set as the truth-value to calculate the STDs and root mean squared errors (RMSEs) of the SD-Fix and DD-Fix. The data processing strategy of PADS and Trimble is given in Table 1. We try to make sure all the solutions use the same strategy in processing. Additionally, there is no information about Trimble's methods of adjustment and AR, and we thus describe these settings as unknown. Limited by authority, our Trimble BD982 cannot output the baseline vector; we only chose the baseline attitude and length as the comparison options.
From the trend in Figure 5, the dispersions of attitude and baseline length in SD-Fix are more concentrated than DD-Fix. The STDs in Table 2 can also prove the advantage of the dispersion in SD-Fix. Compared with DD-Fix solutions, the STDs of attitude and baseline length improve by approximately 80%, 93%, and 88%, and the RMSEs of attitude and baseline length improve by approximately 80%, 93%, and 78%, respectively. These multi-day static results prove the SD observables with a common clock offer another better option for baseline and attitude solutions. It should be noted that although this trend of DD-Fix seems that Trimble has a lower attitude accuracy, nevertheless, combining with the STDs and RMSEs of DD-Fix in Table 2, both of them are lower than 0.1 • for Trimble BD982. It is still a precise attitude solution for a practical application. Remote Sens. 2021, 13, x FOR PEER REVIEW 13 of 22

Comparison of Single-difference (SD) Observables and Double-difference (DD) Observables with a Common Clock in Kinematic Mode
The multi-day static solutions in Section 3.2 show that the SD observables with a common clock have improved baseline and attitude solutions compared with that of the DD observables. According to Chen's theoretical derivation, under ideal conditions without multipath, the dispersion in the horizontal direction for the SD observables is equal to that of the DD observables with a common clock. The dispersion of the vertical direction for the SD observables is twice less than that of the DD observables with a common clock [6].

Comparison of Single-Difference (SD) Observables and Double-Difference (DD) Observables with a Common Clock in Kinematic Mode
The multi-day static solutions in Section 3.2 show that the SD observables with a common clock have improved baseline and attitude solutions compared with that of the DD observables. According to Chen's theoretical derivation, under ideal conditions without multipath, the dispersion in the horizontal direction for the SD observables is equal to that of the DD observables with a common clock. The dispersion of the vertical direction for the SD observables is twice less than that of the DD observables with a common clock [6].
To prove the dispersion advantage of SD-Fix in one day, we selected the 5th day of the year 2021 to obtain the single-epoch kinematic attitude solution. In addition to the inconsistent baseline length, the environment and process of original observation collection are the same as the static experiment. However, for the data processing, we changed the static mode into the kinematic mode for Trimble BD982 to output the attitude solutions. In PADS, we chose the kinematic without dynamic antenna mode for state update and obtained the single-frequency and single-epoch SD-Fix attitude solutions. Other processing strategies were the same as those in Table 1. Figure 6 and Table 3 show the single-frequency and single-epoch kinematic attitude solutions without multipath mitigation. To prove the dispersion advantage of SD-Fix in one day, we selected the 5 th day of the year 2021 to obtain the single-epoch kinematic attitude solution. In addition to the inconsistent baseline length, the environment and process of original observation collection are the same as the static experiment. However, for the data processing, we changed the static mode into the kinematic mode for Trimble BD982 to output the attitude solutions. In PADS, we chose the kinematic without dynamic antenna mode for state update and obtained the single-frequency and single-epoch SD-Fix attitude solutions. Other processing strategies were the same as those in Table 1. Figure 6 and Table 3 show the singlefrequency and single-epoch kinematic attitude solutions without multipath mitigation.  Table 3. STDs of yaw and pitch angles between DD-Fix and SD-Fix before multipath mitigation /°.

Solution
Yaw Pitch DD-Fix 0.04 0.06 SD-Fix 0.04 0.05 The dispersion of yaw angle for SD-Fix in Figure 6 seems the same as DD-Fix; this is consistent with most studies. However, due to the existence of multipath, the STDs of pitch angles in Table 3 are not two-fold less than that of DD-Fix. As shown in Figure 7, after extracting and eliminating the multipath in attitude solution by empirical mode decomposition (EMD) [28], the dispersion of SD-Fix is as expected smaller than that of DD-Fix. Combining with the STDs in Table 4, the STDs of pitch angles for SD-Fix can reach 0.2°, which is twice less than DD-Fix, and consistent with previous research [6].  The dispersion of yaw angle for SD-Fix in Figure 6 seems the same as DD-Fix; this is consistent with most studies. However, due to the existence of multipath, the STDs of pitch angles in Table 3 are not two-fold less than that of DD-Fix. As shown in Figure 7, after extracting and eliminating the multipath in attitude solution by empirical mode decomposition (EMD) [28], the dispersion of SD-Fix is as expected smaller than that of DD-Fix. Combining with the STDs in Table 4, the STDs of pitch angles for SD-Fix can reach 0.2 • , which is twice less than DD-Fix, and consistent with previous research [6]. Moreover, the attitude angles in Figures 6 and 7 prove one limitation is that the DD observables introduce more multipath and noise than SD observables. This limitation is one of the reasons for the large dispersion of DD-Fix. On the contrary, the residuals with lower noise obtained by the SD observables are more convenient for analyzing the spatial correlation between individual satellites and satellite-elevation-dependent effects, such as in the case of GNSS stochastic models [9] and GNSS absolute antenna calibration [29].  Table 4. STDs of yaw and pitch angles between DD-Fix and SD-Fix after multipath mitigation /°.

Solution
Yaw Pitch DD-Fix 0.02 0.04 SD-Fix 0.02 0.02 Moreover, the attitude angles in Figures 6 and 7 prove one limitation is that the DD observables introduce more multipath and noise than SD observables. This limitation is one of the reasons for the large dispersion of DD-Fix. On the contrary, the residuals with lower noise obtained by the SD observables are more convenient for analyzing the spatial correlation between individual satellites and satellite-elevation-dependent effects, such as in the case of GNSS stochastic models [9] and GNSS absolute antenna calibration [29].

The Assessment of SD Observables with a Common Clock in a Vehicle Experiment
Since the multi-antenna GNSS receiver is mostly used in dynamic scenarios, it is necessary to evaluate the performance of the SD observables in real dynamic scenarios. The vehicle experiment was carried out on the East China Normal University campus, comprising five bridges with a low pitch angle of approximately 2° to 4°, on 23 March 2015. We used a Trimble BD982 MS receiver with two Zephyr-Model 2 antennas for dynamic data collection, and the true length of the baseline was 1.75 m. As shown in Figure 8, the two antennas were parallel to the main axis of the vehicle, ensuring that the obtained attitude angles are consistent with the driving of the vehicle.

The Assessment of SD Observables with a Common Clock in a Vehicle Experiment
Since the multi-antenna GNSS receiver is mostly used in dynamic scenarios, it is necessary to evaluate the performance of the SD observables in real dynamic scenarios. The vehicle experiment was carried out on the East China Normal University campus, comprising five bridges with a low pitch angle of approximately 2 • to 4 • , on 23 March 2015. We used a Trimble BD982 MS receiver with two Zephyr-Model 2 antennas for dynamic data collection, and the true length of the baseline was 1.75 m. As shown in Figure 8, the two antennas were parallel to the main axis of the vehicle, ensuring that the obtained attitude angles are consistent with the driving of the vehicle.
In the process of observation collection, no threshold value for the cutoff angle was set, and the sampling frequency was 10 Hz. Additionally, we used a fiber optic gyroscope (FOG) INS KY-INS300 as a high-precision reference produced by the BDStar Navigation Company. The FOG-INS outputs a sampling frequency of 100 Hz. The car drove along the school road twice during the experiment, which was convenient for repeated verification. As for the post-processing mode, the GPS L1 carrier phase and pseudorange observations were used by PADS for the vehicle data processing, the KF with constant velocity model was used for parameters estimation, and LAMBDA was still selected as the IAR. In order to ensure the consistency of the dynamic model and other empirical disturbances, we obtained DD-Fix by estimating stochastic SD UPD every epoch. Theoretical research shows that this type of solution can be regarded as a DD solution when estimating stochastic SD UPD in every epoch.
Owing to the severe blocking from nearby buildings, satellite visibility was relatively poor. On most routes, the visible satellite number was approximately 8 or less. The phase observables of all satellites were missing for a few short intervals, and only range observables were available within these intervals (Figure 9). Such an environment provides an ideal extreme experiment to examine the limitations of the SD algorithm with a common clock. In the process of observation collection, no threshold value for the cutoff angle was set, and the sampling frequency was 10 Hz. Additionally, we used a fiber optic gyroscope (FOG) INS KY-INS300 as a high-precision reference produced by the BDStar Navigation Company. The FOG-INS outputs a sampling frequency of 100 Hz. The car drove along the school road twice during the experiment, which was convenient for repeated verification. As for the post-processing mode, the GPS L1 carrier phase and pseudorange observations were used by PADS for the vehicle data processing, the KF with constant velocity model was used for parameters estimation, and LAMBDA was still selected as the IAR. In order to ensure the consistency of the dynamic model and other empirical disturbances, we obtained DD-Fix by estimating stochastic SD UPD every epoch. Theoretical research shows that this type of solution can be regarded as a DD solution when estimating stochastic SD UPD in every epoch.
Owing to the severe blocking from nearby buildings, satellite visibility was relatively poor. On most routes, the visible satellite number was approximately 8 or less. The phase observables of all satellites were missing for a few short intervals, and only range observables were available within these intervals (Figure 9). Such an environment provides an ideal extreme experiment to examine the limitations of the SD algorithm with a common clock. As seen from Figure 10 (top), when the number of satellites is sufficient, the performance of the yaw angle is identical between SD-Fix and DD-Fix. The number of satellites is only three, and the yaw angle diverges from the DD-Fix while the SD-Fix is still stable. This divergence is more evident in the pitch angle result in Figure 10 (bottom), and the DD-Fix cannot obtain reliable results for the pitch angle. As seen from Figure 10 (top), when the number of satellites is sufficient, the performance of the yaw angle is identical between SD-Fix and DD-Fix. The number of satellites is only three, and the yaw angle diverges from the DD-Fix while the SD-Fix is still stable.
This divergence is more evident in the pitch angle result in Figure 10 (bottom), and the DD-Fix cannot obtain reliable results for the pitch angle. As seen from Figure 10 (top), when the number of satellites is sufficient, the performance of the yaw angle is identical between SD-Fix and DD-Fix. The number of satellites is only three, and the yaw angle diverges from the DD-Fix while the SD-Fix is still stable. This divergence is more evident in the pitch angle result in Figure 10 (bottom), and the DD-Fix cannot obtain reliable results for the pitch angle. The attitude angles in Figure 10 prove another limitation for DD observables. DD observables require at least four satellites, while SD observables only require three. This advantage allows SD observables with a common clock to have higher redundancy and more applications. Furthermore, the changeable nature of the reference satellite makes the DD data processing complicated [30]. It is easy to constitute SD observations from GNSS raw data without requiring the specification of the reference satellite, and no mathematical correlation is introduced into the observation equations [26].
To test whether the SD observables with a common clock can detect five bridges passing along the entire route, we use the FOG-INS as a high-precision reference and ground truth. The comparison results show that the SD-Fix can still provide a stable output of the attitude solution with only three satellites. Simultaneously, it can detect five bridges with The attitude angles in Figure 10 prove another limitation for DD observables. DD observables require at least four satellites, while SD observables only require three. This advantage allows SD observables with a common clock to have higher redundancy and more applications. Furthermore, the changeable nature of the reference satellite makes the DD data processing complicated [30]. It is easy to constitute SD observations from GNSS raw data without requiring the specification of the reference satellite, and no mathematical correlation is introduced into the observation equations [26].
To test whether the SD observables with a common clock can detect five bridges passing along the entire route, we use the FOG-INS as a high-precision reference and ground truth. The comparison results show that the SD-Fix can still provide a stable output of the attitude solution with only three satellites. Simultaneously, it can detect five bridges with low pitch angles in the experimental route like the FOG-SINS, as shown in Figure 11, which is a task that the DD algorithm cannot perform. Table 5 evaluates the attitude angle obtained by the SD-Fix with the common clock based on the RMSEs. Considering that some of the results of DD-Fix have diverged, the RMSEs of DD-Fix are no longer given here. The RMSEs of SD-Fix in Table 5 may not seem to be particularly accurate; however, compared with the diverging DD-Fix, significant progress has been made in SD-Fix. Additionally, although the vehicle is moving, the antenna fixed on the roof of the vehicle is stationary, so the performance of SD-Fix can also be measured by the change in the baseline length. As shown in Figure 12, the true value of the baseline length was 1.75 m. The RMSE of the baseline length sequence obtained by the SD-Fix was approximately 0.0015 m. This result also proves the reliability and stability of the SD observables. Furthermore, actual road conditions are complicated, and the environment is prominently blocked. The SD observables can still maintain good stability, demonstrating good robustness and less satellite dependence. low pitch angles in the experimental route like the FOG-SINS, as shown in Figure 11, which is a task that the DD algorithm cannot perform. Figure 11. Comparison of attitude between fiber optic gyroscope inertial navigation system (FOG-INS) and SD-Fix. Table 5 evaluates the attitude angle obtained by the SD-Fix with the common clock based on the RMSEs. Considering that some of the results of DD-Fix have diverged, the RMSEs of DD-Fix are no longer given here. The RMSEs of SD-Fix in Table 5 may not seem to be particularly accurate; however, compared with the diverging DD-Fix, significant progress has been made in SD-Fix. Additionally, although the vehicle is moving, the antenna fixed on the roof of the vehicle is stationary, so the performance of SD-Fix can also be measured by the change in the baseline length. As shown in Figure 12, the true value of the baseline length was 1.75 m. The RMSE of the baseline length sequence obtained by the SD-Fix was approximately 0.0015 m. This result also proves the reliability and stability of the SD observables. Furthermore, actual road conditions are complicated, and the environment is prominently blocked. The SD observables can still maintain good stability, demonstrating good robustness and less satellite dependence. According to Table 5 and the residual histogram in Figure 13, there is still room for improvement in the attitude measurement performance of SD-Fix. There are several reasons for this phenomenon. First, satellite signals are blocked by many buildings in the experimental route, i.e., there are only three visible satellites in some areas. Severe multipath reduces the accuracy and stability of SD-Fix solutions, although there is no better way to eliminate this phenomenon in dynamic environments. Second, FOG-INS provides its GNSS for obtaining the initial value and then the attitude solutions by integrating, which deviates from the initial value calculated by the GNSS receiver. This result also explains why the distribution of the residual histogram in Figure 13 is symmetrical. According to Table 5 and the residual histogram in Figure 13, there is still room for improvement in the attitude measurement performance of SD-Fix. There are several reasons for this phenomenon. First, satellite signals are blocked by many buildings in the experimental route, i.e., there are only three visible satellites in some areas. Severe multipath reduces the accuracy and stability of SD-Fix solutions, although there is no better way to eliminate this phenomenon in dynamic environments. Second, FOG-INS provides its GNSS for obtaining the initial value and then the attitude solutions by integrating, which deviates from the initial value calculated by the GNSS receiver. This result also explains why the distribution of the residual histogram in Figure 13 is symmetrical. experimental route, i.e., there are only three visible satellites in some areas. Severe multipath reduces the accuracy and stability of SD-Fix solutions, although there is no better way to eliminate this phenomenon in dynamic environments. Second, FOG-INS provides its GNSS for obtaining the initial value and then the attitude solutions by integrating, which deviates from the initial value calculated by the GNSS receiver. This result also explains why the distribution of the residual histogram in Figure 13 is symmetrical.

Discussion
There are some reasons for the higher accuracy of SD observables with a common clock. On the one hand, SD observables with a common clock have stronger model strength, lower noise and ambiguity resolution success rate [6]. On the other hand, the satellite signals can be received within 360° in the horizontal direction during the observation. However, in the vertical direction satellites signals can only be received from the upper hemisphere [7]. However, problems and shortcomings still exist in SD observables with a common clock. Due to the imprecise treatment for the reference satellite, the

Discussion
There are some reasons for the higher accuracy of SD observables with a common clock. On the one hand, SD observables with a common clock have stronger model strength, lower noise and ambiguity resolution success rate [6]. On the other hand, the satellite signals can be received within 360 • in the horizontal direction during the observation. However, in the vertical direction satellites signals can only be received from the upper hemisphere [7]. However, problems and shortcomings still exist in SD observables with a common clock. Due to the imprecise treatment for the reference satellite, the improvement of the repeatability for the vertical direction is lower than that of horizontal direction in Figure 4. More rigorous treatments need to be output for the reference satellite. Moreover, affected by the multipath, GNSS short-baseline attitude determination still behind INS in accuracy and stability which can be seen in Figure 11 and Table 5. To further eliminate multipath and improve the accuracy and stability of the SD observables with a common clock in dynamic and complex environments will be the main work in the next stage.

Conclusions
The multi-antenna GNSS receiver with a common clock provides another option for high-accuracy attitude determination. Theoretical studies show that for this type of receiver, the SD and DD observable are no longer equivalent [6]. Using SD observables, the dispersion of pitch solutions is five times smaller than that using DD observables [7]. Thus, the attitude determination of the GNSS short-baseline approach can reach closer accuracy to INS in short time and greatly extend its applications if using this type of receiver and SD observables. To realize such a goal, however, the critical issue of non-zero SD UPD-caused non-integer SD ambiguities must be resolved. Since the SD UPD and ambiguities are highly correlated, direct estimating SD UPD and ambiguities becomes impossible due to rank deficiency. Past studies focused on the two-step approach, i.e., obtaining approximate SD UPD first through averaging the fractional parts for all related SD ambiguities. Then SD ambiguities are estimated by subtracting the derived SD UPD from first stage and perform integer ambiguity fixing. Our ambiguity substitution approach takes advantage of the high correlation between SD UPD and ambiguities. Owing to the high correlation, merging SD UPD with the reference satellite SD ambiguity renders all other SD ambiguities implicitly DD ambiguities, which by nature are integers and can directly utilize the DD integer resolution algorithm. Besides maintaining SD observables and removing rank deficiency, the ambiguity substitution approach also has several advantages. First, it is a one-stage approach, which is more efficient and easier to implement in real-time attitude determination. Second, it estimates redefined SD UPD with ambiguities simultaneously. There is no approximation. Third, the estimated UPD parameter can absorb time-varying perturbation due to temperature variations or rain [10]. Therefore, the solutions are more accurate and stable.
Static experiments demonstrate the effectiveness of the ambiguity substitution approach with a common clock in terms of ambiguity bias and RMSEs of multi-day baseline and attitude solutions. The RMSEs of the yaw and pitch angles obtained by the SD observables with a common clock can be improved by approximately 80% and 93%, respectively, compared to the DD observables with a common clock in multi-day attitude solutions. Additionally, the dispersion results of the kinematic attitude solution proved that the accuracy of SD observables with a common clock is higher than the DD observables with a common clock in the vertical direction of the attitude solution. The results of the static and kinematic experiments support the vehicle experiment. In the vehicle experiment, the SD observables with a common clock successfully detected five bridges with small pitch angles like the FOG-INS, which the DD observables were unable to do. This high sensitivity in pitch angle can be combined with INS and used in attitude determination of ships, missiles, autopilots, etc. Thus, attention should be given to a multi-antenna GNSS receiver that uses the SD observables with a common clock.