Optimal Divergence-Free Hatch Filter for GNSS Single-Frequency Measurement

The Hatch filter is a code-smoothing technique that uses the variation of the carrier phase. It can effectively reduce the noise of a pseudo-range with a very simple filter construction, but it occasionally causes an ionosphere-induced error for low-lying satellites. Herein, we propose an optimal single-frequency (SF) divergence-free Hatch filter that uses a satellite-based augmentation system (SBAS) message to reduce the ionospheric divergence and applies the optimal smoothing constant for its smoothing window width. According to the data-processing results, the overall performance of the proposed filter is comparable to that of the dual frequency (DF) divergence-free Hatch filter. Moreover, it can reduce the horizontal error of 57 cm to 37 cm and improve the vertical accuracy of the conventional Hatch filter by 25%. Considering that SF receivers dominate the global navigation satellite system (GNSS) market and that most of these receivers include the SBAS function, the filter suggested in this paper is of great value in that it can make the differential GPS (DGPS) performance of the low-cost SF receivers comparable to that of DF receivers.


Introduction
A global navigation satellite system (GNSS) provides two types of measurements, namely code and carrier-phase measurements. The measurement of the code observable is biased and coarse-ranged with a relatively large noise, while the carrier-phase measurement is indirect and ambiguous, but very precise [1]. The carrier phase is modulated by a chip sequence, which is composed of the data message modulated by the ranging code [2]. GNSS space vehicles transmit two or more carrier frequencies, including L1, the primary frequency, and L2, the secondary frequency [3,4]. The measurement errors are often categorized as noise or bias. A bias tends to persist over a period of time, which includes satellite-clock and ephemeris error, ionospheric delay, and tropospheric delay. Noise generally refers to a quickly varying error that averages out to zero over a short time interval [1].
To mitigate the bias error, differential GNSS (DGNSS) with the code or phase-range method is generally used, which improves the position accuracy with respect to the nearest base station [5,6]. The satellite-based augmentation system (SBAS) based on wide-area differential GPS (DGPS) is also an effective technique, which provides correction to users in the form of vectors parameterized by the error component on the L1 frequency [7].
where N is a finite number of samples, σ is the standard deviation of the Gaussian noise. The smoothing filter is optimal for reducing random noise, but it retains a sharp response, because of which it easily produces significant distortion with a large N.
To avoid large distortion, the moving average is generally used by averaging the same number (K) of neighboring samples (x). In equation form, the moving average (y) is expressed as follows: The moving-average filter is very common and is used for filtering GNSS pseudo-range measurements. GNSS measurements include high-dynamic terms, such as satellite-receiver range and clock bias, but most of them, except for ionospheric error, are common to the pseudo-range and carrier phase. If the ionospheric error of the carrier phase is corrected as that of the pseudo-range, as described in Equation (3), the pseudo-range of the k-epoch can be predicted without a serious bias by propagation using the carrier-phase variation and the observable from the i-epoch. This propagation process is expressed in Equation (4): where ρ(k) and φ(k) are the true pseudorange and carrier phase at the k-epoch, respectively. Here, the true value refers to the measurement, except for the user-side error, multi-path, and noise. I(k) is the ionospheric error in the pseudorange, Φ(k) is the iono-corrected carrier phase, and ρ i (k) is the pseudo-range prediction at the k-epoch, which propagated from the i-epoch. The measurement and propagated value from the observables include the multi-path and noise; thus, the measured pseudo-range at the k-epoch and the propagated pseudo-range from the i-epoch measurement are expressed by Equations (5) and (6), respectively: ρ k (k) = ρ(k) + υ ρ (k) (5) ρ i (k) = ρ(k) + υ φ (k) − υ φ (i) + υ ρ (i) (6) where υ ρ and υ φ are the user-side error in the pseudo-range and carrier phase, respectively. The moving average of ρ i (k), the smoothing window of which is K, is expressed as follows: Assuming that υ ρ and υ φ are Gaussian with zero mean and that υ φ is far smaller than υ ρ , the standard deviation of the smoothed pseudorange (ρ(k)), σρ (k) , is almost σ √ K , as expressed by Equation (8):

Hatch Filter
In a typical smoothing technique, the noise decreases as the measured value increases, and the Hatch filter expressed by Equation (9), which is a kind of smoothing filter, has the same characteristics. It is a type of recursive filter that uses the current measurement and previous estimate [14] without any dynamic model or additional sensors, and it can be implemented for a real-time operation in a low-cost SF GNSS receiver.
A discontinuity in the phase measurement is a significant threat to the Equation (4), which is an important basis of the Hatch filter. Thus, we should consider a cycle-slip detection when constructing the filter. Forming the code and phase combination (ρ − φ) cancels the non-dispersive delay such as geometry, clocks, and troposphere, and the remaining variables in the combination represent the phase ambiguity, instrumental delays, ionospheric refraction, and measurement noise. To monitor the cycle-slip using the time-difference of the code-minus-carrier, the ionospheric variation and measurement noise level should be considered. The ionospheric term varies slowly with time, far less than 2 cm/s [15] and, thus, only a small fraction of the cycle changes between consecutive epochs due to the ionosphere. On the other hand, the original code measurement noise may reach several cycles and may need to be smoothed. Since the code noise of the Hatch filter is already smoothed, the filtered pseudo-range and carrier phase combination (ρ Hatch − φ) is a good indicator for the cycle-slip detector. Once the cycle slip is detected, the filter is reset without any repair because the performance of the single frequency detector is not as good as that of the dual frequency.
Even if the cycle-slip does not occur, a bias error inevitably occurs as the averaging constant increases because the change in the pseudo-range is not exactly the same as the change in the carrier phase. The propagated pseudo-range of the Hatch filter from the measurement before the j-epoch, ρ Hatch,k−j+1 (k), is expressed as follows [9]: Unlike Equation (4), Equation (10) uses a pure carrier phase, rather than an iono-corrected carrier phase. Thus, the error equation of ρ Hatch,k−j+1 (k) is: From Equation (11), a bias component, {2 .
I·j}, increases as measurements for the filter are accumulated, while a noise component, . I is the temporal gradient of the ionospheric delays in the code and carrier measurements. Equation (11) indicates that the gradient is the only type of temporal correlation that would induce an undesired bias in the filtered measurements at the cost of noise reduction. Considering the size of υ φ is negligibly small compared to that of υ ρ [1], the root mean square (RMS) error of the smoothed pseudo-range by the Hatch filter, the smoothing window width of which is K, can be described as follows [9]: where υ ρ (k) ∼ N(0, σ 2 ρ(k) ).

Divergence-Free Hatch Filter for GNSS Dual-Frequency Measurement
Although the Hatch filter offers excellent noise reduction and ease of implementation under normal conditions, the filter amplifies ionosphere errors under rare, anomalous storm conditions or with a large smoothing window width. To overcome this problem, a divergence-free Hatch filter was introduced. Recalling Equation (4), the ionosphere-related term (−{2 . I·j}) in the propagated measurement of the Hatch filter in Equation (11) should be compensated by the estimation of ionospheric delay, as described in Equation (13): where ∆ is the time difference andÎ. is the estimation of the ionospheric delay. The ionospheric delay can be estimated using the dual-frequency (DF) GNSS observable, and the time difference ofÎ. is calculated using Equation (14) under the condition that no cycle slip occurs: whereÎ DF is the ionospheric delay estimation from the DF measurement; φ L1 and φ L2 are carrier-phase measurements for the frequencies L1 and L2, respectively; and γ is the squared ratio of the frequencies L1 and L2, Equation (10) is corrected usingÎ DF as follows: ρ DF−div f ree,k−j+1 includes only noise error, υ ρ (k − j + 1), and does not contain a serious bias error, as shown in Equation (16). Therefore, the more the number of measurements used for the DF divergence-free Hatch filter of Equation (17), the better is the theoretical performance. However, this

Divergence Reduction Using Ionospheric Correction of SBAS
As described previously, it is difficult to estimate the ionospheric-error by SF measurement for a single epoch, and the recently proposed methods focus on bounding the divergence due to the ionospheric error, rather than on reducing it. The present paper proposes the ionospheric correction of SBAS to mitigate the ionospheric divergence of the conventional Hatch filter, as described in Equation (18): Most of the low-cost SF GNSS receivers include the SBAS function, which provides the ionosphere-related term in the correction message. Therefore, the SF divergence-free Hatch filter suggested in this paper is plausible, even though its estimation performance of the ionospheric error is not as good as that of the DF divergence-free Hatch filter.
The MT 26 ionospheric delay correction message of the SBAS provides the users with vertical delay (relative to an L1 signal) at geographically defined ionospheric grid points (IGPs). The SBAS user needs to interpolate from the broadcast IGP delays to calculate the ionospheric vertical delay at its computed ionospheric pierce point (IPP), as shown in Figure 1.

Divergence Reduction Using Ionospheric Correction of SBAS
As described previously, it is difficult to estimate the ionospheric-error by SF measurement for a single epoch, and the recently proposed methods focus on bounding the divergence due to the ionospheric error, rather than on reducing it. The present paper proposes the ionospheric correction of SBAS to mitigate the ionospheric divergence of the conventional Hatch filter, as described in Equation (18): Most of the low-cost SF GNSS receivers include the SBAS function, which provides the ionosphere-related term in the correction message. Therefore, the SF divergence-free Hatch filter suggested in this paper is plausible, even though its estimation performance of the ionospheric error is not as good as that of the DF divergence-free Hatch filter.
The MT 26 ionospheric delay correction message of the SBAS provides the users with vertical delay (relative to an L1 signal) at geographically defined ionospheric grid points (IGPs). The SBAS user needs to interpolate from the broadcast IGP delays to calculate the ionospheric vertical delay at its computed ionospheric pierce point (IPP), as shown in Figure 1. Once the user establishes the vertical delay at the IPP, the user can multiply it by the obliquity factor ( ) [16] to obtain the ionospheric slant delay : where and ℎ are the approximate radius of Earth (6378.1363 km) and the height of the maximum electron density (350 km), respectively, and El is the elevation angle of the satellite from the user's location.
Therefore, the SF divergence-free Hatch filter is proposed as follows: Once the user establishes the vertical delay I v at the IPP, the user can multiply it by the obliquity factor F pp (El) [16] to obtain the ionospheric slant delay I s :  (20) where R e and h are the approximate radius of Earth (6378.1363 km) and the height of the maximum electron density (350 km), respectively, and El is the elevation angle of the satellite from the user's location. Therefore, the SF divergence-free Hatch filter is proposed as follows:

Error Analysis of the SF Divergence-Free Hatch Filter
Even though we assume that the SBAS has modelled current ionospheric delay sufficiently to ignore the bias error between I and I s , it is necessary to consider the residual error due to the coarse resolution (q I v ) of the IGP vertical delay, 0.125 m.
I v is regard as 0 because I v is constant until a new MT 26 is updated.

El
(26) Assume that δ . I s (k) is not changed during the last j-epoch, since I s (k) slowly changes (<0.02 m/s) [15] so that the quantization error can be regarded as the same for a while.
where ∆ t is the sampling time and is set as 1 s in this paper. Thus, the error equations of the propagated value of ρ SF−div f ree,k−j+1 (k) are expressed as Equations (28) and (29): Therefore, the variance (V) of the estimation error is obtained as Equation (32) from Equations (29) and (31), assuming that both δ . I s and υ ρ are zero-mean, independent, and identically distributed: δI v (k) is a quantization error, the variance of which is q Iv 12 [17], and the variance of υ ρ is σ 2 ρ(k) . Suppose that . F pp (El) and σ 2 ρ(k) are constant during the recent k-epochs; then, Equation (32) is simplified as follows: Therefore, the performance of the SF divergence-free Hatch filter is optimized when:

Configuration of Field Test
To verify the suggested SF divergence-free Hatch filter algorithm and to evaluate its performance, we applied wide-area augmentation system (WAAS) correction to the Universal NAVSTAR Consortium (UNAVCO) P057 site, which is located in Snowville, UT, USA. Twenty-four hour observable data and navigation data logged on the day of year (DOY) 265 at 1-s intervals were obtained in the format of receiver independent exchange (RINEX), and the SBAS message from the pseudo-random noise (PRN) 135 GEO satellite was selected for data processing.
Since a NetRS receiver (Trimble, Sunnyvale, CA, USA) which provides DF observables, is implemented in the P057 reference station, the DF divergence-free Hatch filter can be applied to the measurement, as well as the conventional Hatch filter and SF divergence-free Hatch filter. It is expected that there will be no serious multi-path error, since there is no obstacle near the station, as shown in Figure 2.
pseudo-random noise (PRN) 135 GEO satellite was selected for data processing.
Since a NetRS receiver (Trimble, Sunnyvale, CA, USA) which provides DF observables, is implemented in the P057 reference station, the DF divergence-free Hatch filter can be applied to the measurement, as well as the conventional Hatch filter and SF divergence-free Hatch filter. It is expected that there will be no serious multi-path error, since there is no obstacle near the station, as shown in Figure 2.

Algorithm Development and Verification
Before implementing the suggested algorithm to the real data, we need to develop it specifically and verify its important assumption. In the SF divergence-free Hatch filter expressed by Equations (21) and (35), the standard-deviation function of the code noise and multipath for the elevation angle, ( ), is not yet defined. We also need to verify the important assumption that the ionospheric variation is estimated by the SBAS MT26 as well as by the linear combination of the L1/L2 carrier phase.

Pseudo-range Noise and Multi-Path Model Estimation
The measurement noise and multi-path depend on the elevation angle, resulting primarily from the antenna gain pattern and signal attenuation due to atmospheric effects. Lower satellites are

Algorithm Development and Verification
Before implementing the suggested algorithm to the real data, we need to develop it specifically and verify its important assumption. In the SF divergence-free Hatch filter expressed by Equations (21) and (35), the standard-deviation function of the code noise and multipath for the elevation angle, σ ρ (El), is not yet defined. We also need to verify the important assumption that the ionospheric variation is estimated by the SBAS MT26 as well as by the linear combination of the L1/L2 carrier phase.

Pseudo-range Noise and Multi-Path Model Estimation
The measurement noise and multi-path depend on the elevation angle, resulting primarily from the antenna gain pattern and signal attenuation due to atmospheric effects. Lower satellites are subject to substantially higher noise; however, different hardware might produce different noise, depending on the elevation angle.
In this paper, we used the receiver model introduced by Kee [18] for this algorithm, as expressed by Equation (36): To fit the real code noise and multi-path (CNMP) to the model described in (36), the CNMP errors included in the code measurement are calculated by the difference between the leveled iono-corrected carrier phase after a post-processing and the pseudorange. Then, the parameters x 0 , x 1 , x 2 of Equation (36) are estimated using the fminsearch function of MATLAB as listed in Table 1.  Figure 3 shows the CNMP distribution for the elevation angle and the 3-sigma line estimated by the model from Equation (36) and Table 1. The figure shows that the number of samples exceeding the 3-sigma line is 6942 among 764,429 data; that is, the red line bounds 99.09% of the CNMP error. This means that the model described above reflects the Gaussian property of CNMP. 0.1420 1.6309 9.9000 Figure 3 shows the CNMP distribution for the elevation angle and the 3-sigma line estimated by the model from Equation (36) and Table 1. The figure shows that the number of samples exceeding the 3-sigma line is 6942 among 764,429 data; that is, the red line bounds 99.09% of the CNMP error. This means that the model described above reflects the Gaussian property of CNMP.

Temporal Correlation Property of the Ionospheric Error
As shown in Equation (12), the performance of the typical Hatch filter depends on the noise size of the code measurement and the temporal correlation of the ionospheric error. Equation (18) indicates that the suggested Optimal SF divergence-free Hatch filter adjusts the ionospheric divergence under the assumption that the ionospheric vertical delay is same for all the time shifts. Thus, we need to analyze the temporal correlation property of the ionospheric error using the 24-h observables from the P057 site.
Once the ambiguity of the carrier phase has been determined during the cycle-slip free session, the ionospheric error can be obtained. We analyzed the temporal correlation of the calculated 24-h ionospheric error for all the satellites to various time shifts, 10, 30, 50, 100, 300, 500, 1000, and 2000 s. As shown in Figure 4, it is obvious that the larger the time shift, the smaller the temporal correlation

Temporal Correlation Property of the Ionospheric Error
As shown in Equation (12), the performance of the typical Hatch filter depends on the noise size of the code measurement and the temporal correlation of the ionospheric error. Equation (18) indicates that the suggested Optimal SF divergence-free Hatch filter adjusts the ionospheric divergence under the assumption that the ionospheric vertical delay is same for all the time shifts. Thus, we need to analyze the temporal correlation property of the ionospheric error using the 24-h observables from the P057 site.
Once the ambiguity of the carrier phase has been determined during the cycle-slip free session, the ionospheric error can be obtained. We analyzed the temporal correlation of the calculated 24-h ionospheric error for all the satellites to various time shifts, 10, 30, 50, 100, 300, 500, 1000, and 2000 s. As shown in Figure 4, it is obvious that the larger the time shift, the smaller the temporal correlation coefficient of the ionospheric delay. While the coefficient is almost 1.00 for a time shift less than 100, the time interval of 3000 s reduces it to 0.95. It is important that the time constant of the Hatch filter in GBAS (ground based augmentation system) Approach Service Type C (GAST C) is 100 s and 30 s for GAST D [19].  Generally, the variation of the ionospheric delay for low-elevation satellites in the afternoon is relatively high; thus, we further study the effect of the elevation angle and local time on the ionospheric temporal coefficient. As expected, Figure 5 shows that the temporal correlation of highelevation satellites during the night is strong. The coefficient for the elevation angle at 15° with a time constant of 100 s is 0.9998, which is the same as the value of the elevation angle at 85° with a time  Generally, the variation of the ionospheric delay for low-elevation satellites in the afternoon is relatively high; thus, we further study the effect of the elevation angle and local time on the ionospheric temporal coefficient. As expected, Figure 5 shows that the temporal correlation of high-elevation satellites during the night is strong. The coefficient for the elevation angle at 15 • with a time constant of 100 s is 0.9998, which is the same as the value of the elevation angle at 85 • with a time constant of 1000 s. The temporal correlation coefficient with 100 s time shift is also 0.9998 at 2 p.m., which can be obtained when the time constant is increased to 300 s at 10 p.m. Generally, the variation of the ionospheric delay for low-elevation satellites in the afternoon is relatively high; thus, we further study the effect of the elevation angle and local time on the ionospheric temporal coefficient. As expected, Figure 5 shows that the temporal correlation of highelevation satellites during the night is strong. The coefficient for the elevation angle at 15° with a time constant of 100 s is 0.9998, which is the same as the value of the elevation angle at 85° with a time constant of 1000 s. The temporal correlation coefficient with 100 s time shift is also 0.9998 at 2 p.m., which can be obtained when the time constant is increased to 300 s at 10 p.m. Since temporal correlation properties are similar for all elevation angles and local times, when the smoothing window width is assigned narrower than 100 s, the fixed small smoothing constant of the typical Hatch filter prevents the undesired divergence due to the highly correlated ionospheric error instead of the noise reduction. On the other hand, a fixed wide smoothing window of the SF divergence-free Hatch filter may put an overweight on the less-correlated ionospheric variation; the assumption of = 0 in Equation (25) during the day is not entirely valid as during the night. Since temporal correlation properties are similar for all elevation angles and local times, when the smoothing window width is assigned narrower than 100 s, the fixed small smoothing constant of the typical Hatch filter prevents the undesired divergence due to the highly correlated ionospheric error instead of the noise reduction. On the other hand, a fixed wide smoothing window of the SF divergence-free Hatch filter may put an overweight on the less-correlated ionospheric variation; the assumption of δ . I v = 0 in Equation (25) during the day is not entirely valid as during the night. Therefore, the adaptive smoothing constant described in Equation (35) is effective in reducing the code noise when ionospheric activity is not active and in preventing the filter divergence due to the less-correlated ionospheric error during the afternoon.

Ionospheric Error Rate Estimation by SBAS Correction
The most important assumption of the proposed SF divergence-free Hatch filter is that the rate of ionospheric error estimated by SBAS MT26 provides sufficiently good performance that does not degrade the filter performance. Figure 6 shows the estimation result with the combination of SBAS MT26 and DF carrier phase for the measurement of PRN 20. Based on the result that the rate calculated by MT26 passes through the center of the estimation by the DF measurement, we can verify that the estimator for the SF measurement and SBAS works well. There was no serious discontinuity in the estimates; therefore, the filter performance seems to be well maintained after the replacement of the DF into the SF.
It is interesting to note here that the noise of the estimation by DF is much larger than that by SF. From Equation (14), the estimation of the ionospheric variation by the DF measurements include error due to the carrier-phase noise, as expressed by Equation (37), while Equation (25) includes no noise-related term: degrade the filter performance. Figure 6 shows the estimation result with the combination of SBAS MT26 and DF carrier phase for the measurement of PRN 20. Based on the result that the rate calculated by MT26 passes through the center of the estimation by the DF measurement, we can verify that the estimator for the SF measurement and SBAS works well. There was no serious discontinuity in the estimates; therefore, the filter performance seems to be well maintained after the replacement of the DF into the SF. It is interesting to note here that the noise of the estimation by DF is much larger than that by SF. From Equation (14), the estimation of the ionospheric variation by the DF measurements include error due to the carrier-phase noise, as expressed by Equation (37), while Equation (25) includes no noise-related term: IONEX (ionospheric exchange) data and the Klobuchar model can be used to calculate the rate of the ionospheric delay, and we need to prove that the SBAS MT 26 provides better performance or a more practical method than these alternatives, the Klobuchar model and the IONEX data. IONEX data containing vertical total electron content (TEC) is provided by the IGS (international GNSS service) global network with a latency of 24 h to 11 days. The estimation performance of the IONEX is excellent enough to be usually used as a true reference of the global TEC, but it cannot be used in a real-time process because of the latency. Several service providers offer real-time TEC data in a suitable format such as SSR (state space representative), but an additional data channel is required to implement it for the local DGNSS or SBAS DGPS. In this sense, IONEX data is not a practical option to be used in the legacy DGNSS despite its superior performance. On the other hand, the Klobuchar IONEX (ionospheric exchange) data and the Klobuchar model can be used to calculate the rate of the ionospheric delay, and we need to prove that the SBAS MT 26 provides better performance or a more practical method than these alternatives, the Klobuchar model and the IONEX data. IONEX data containing vertical total electron content (TEC) is provided by the IGS (international GNSS service) global network with a latency of 24 h to 11 days. The estimation performance of the IONEX is excellent enough to be usually used as a true reference of the global TEC, but it cannot be used in a real-time process because of the latency. Several service providers offer real-time TEC data in a suitable format such as SSR (state space representative), but an additional data channel is required to implement it for the local DGNSS or SBAS DGPS. In this sense, IONEX data is not a practical option to be used in the legacy DGNSS despite its superior performance. On the other hand, the Klobuchar model is an effective approach to mitigate the ionospheric delay for GPS single-frequency users [20]; however, it cannot follow the real-time ionospheric variation as shown in the upper graph of Figure 7 because it introduces a simplified model and many geometric approximations represented by four pre-defined broadcast coefficients. Although the estimation of the ionospheric delay rate by the broadcast model looks relatively better (middle of the Figure 7) than that of the ionospheric delay, the errors accumulated for the smoothing time by the Klobuchar model is larger than those by the SBAS MT 26. According to Equation (35), the time constant calculated by our suggested algorithm is up to 1000 s or more, thus the residual errors of the suggested SF divergence-free Hatch filter need to be compared to those of other methods after being accumulated for the last 1000 epochs. The RMS of the accumulated ionospheric residual errors, the 0.26 m, which is far larger than 0.10 m of the SBAS MT 26 and 0.06 m of the IONEX. Therefore, the estimation of the ionospheric variation by the SBAS MT 26 is a practical and accurate solution for the divergence compensation of the SF Hatch filter. SBAS MT 26. According to Equation (35), the time constant calculated by our suggested algorithm is up to 1000 s or more, thus the residual errors of the suggested SF divergence-free Hatch filter need to be compared to those of other methods after being accumulated for the last 1000 epochs. The RMS of the accumulated ionospheric residual errors, the 0.26 m, which is far larger than 0.10 m of the SBAS MT 26 and 0.06 m of the IONEX. Therefore, the estimation of the ionospheric variation by the SBAS MT 26 is a practical and accurate solution for the divergence compensation of the SF Hatch filter.

Performance Analysis in Range Domain
To compare the general characteristics of the conventional Hatch filter, DF divergence-free Hatch filter, and the suggested SF divergence-free Hatch filter, we applied three kinds of filters to the P057 data for various smoothing window widths of 25, 50, 100, 300, 500, and 1000, and then analyzed the performance of each filter in a range domain. To evaluate the filter performance, we calculated the residual error by the difference between the filtered pseudo-range and the true observable, which had been obtained by post-processing the carrier phase. Figure 8 shows the smoothing performances of each filter for the PRN 12 satellite, the elevation of which varies from 5° to 86°. In the case of the conventional Hatch filter, a smoothing window of width greater than 100 reduced the noise level but caused a large divergence error, while the DF divergence-free Hatch filter, even with a smoothing window width of 1000, was effective for noise reduction without a significant ionospheric-induced divergence. On the other hand, the SF

Performance Analysis in Range Domain
To compare the general characteristics of the conventional Hatch filter, DF divergence-free Hatch filter, and the suggested SF divergence-free Hatch filter, we applied three kinds of filters to the P057 data for various smoothing window widths of 25, 50, 100, 300, 500, and 1000, and then analyzed the performance of each filter in a range domain. To evaluate the filter performance, we calculated the residual error by the difference between the filtered pseudo-range and the true observable, which had been obtained by post-processing the carrier phase. Figure 8 shows the smoothing performances of each filter for the PRN 12 satellite, the elevation of which varies from 5 • to 86 • . In the case of the conventional Hatch filter, a smoothing window of width greater than 100 reduced the noise level but caused a large divergence error, while the DF divergence-free Hatch filter, even with a smoothing window width of 1000, was effective for noise reduction without a significant ionospheric-induced divergence. On the other hand, the SF divergence-free Hatch filter can reduce the measurement noise without a severe bias even when the smoothing time constant is as large as 1000. divergence-free Hatch filter can reduce the measurement noise without a severe bias even when the smoothing time constant is as large as 1000.  Figure 9 describes the variation of the optimal smoothing constant and the resulting residual error of the optimal SF divergence-free Hatch filter, and the results of the conventional Hatch filter (K = 100) and DF divergence-free Hatch filter (K = 1000) are shown for reference. The averaging constant varies from 245 to 1345 as the elevation angle changes. Throughout the session, the residual error of the optimal SF divergence-free Hatch filter is well bound within 0.2 m, which is not as small as the value of 0.15 of the DF divergence-free Hatch filter but better than that of the conventional Hatch filter. In particular, the error of the optimal SF divergence-free Hatch filter at a GPSTime of 325,717 s is 0.01 m, while that of the conventional Hatch filter is −0.67 m. The range-domain error analysis results for all the satellites are summarized in Figure 10 and Table 2. For 25-s averaging, the performances of all the filters are almost the same. The RMS error of  Figure 9 describes the variation of the optimal smoothing constant and the resulting residual error of the optimal SF divergence-free Hatch filter, and the results of the conventional Hatch filter (K = 100) and DF divergence-free Hatch filter (K = 1000) are shown for reference. The averaging constant varies from 245 to 1345 as the elevation angle changes. Throughout the session, the residual error of the optimal SF divergence-free Hatch filter is well bound within 0.2 m, which is not as small as the value of 0.15 of the DF divergence-free Hatch filter but better than that of the conventional Hatch filter. In particular, the error of the optimal SF divergence-free Hatch filter at a GPSTime of 325,717 s is 0.01 m, while that of the conventional Hatch filter is −0.67 m.  Figure 9 describes the variation of the optimal smoothing constant and the resulting residual error of the optimal SF divergence-free Hatch filter, and the results of the conventional Hatch filter (K = 100) and DF divergence-free Hatch filter (K = 1000) are shown for reference. The averaging constant varies from 245 to 1345 as the elevation angle changes. Throughout the session, the residual error of the optimal SF divergence-free Hatch filter is well bound within 0.2 m, which is not as small as the value of 0.15 of the DF divergence-free Hatch filter but better than that of the conventional Hatch filter. In particular, the error of the optimal SF divergence-free Hatch filter at a GPSTime of 325,717 s is 0.01 m, while that of the conventional Hatch filter is −0.67 m. The range-domain error analysis results for all the satellites are summarized in Figure 10 and Table 2. For 25-s averaging, the performances of all the filters are almost the same. The RMS error of The range-domain error analysis results for all the satellites are summarized in Figure 10 and Table 2. For 25-s averaging, the performances of all the filters are almost the same. The RMS error of the DF divergence-free Hatch filter decreases as its smoothing constant increases, while that of the conventional Hatch filter increases sharply, especially when the width is greater than 100. The error of the SF divergence-free Hatch filter also increases if the averaging constant is greater than 300; however, the rate of increase is much less than that of the conventional Hatch filter. Figure 10 and Table 2 also compares the performance of the optimal SF divergence-free Hatch filter with those of the filters with a fixed smoothing window. As described above, the smoothing window width can be as large as 1000 or more depending on the elevation angle, but its RMS error in the range domain remains at the smallest level among all fixed-width trials. the DF divergence-free Hatch filter decreases as its smoothing constant increases, while that of the conventional Hatch filter increases sharply, especially when the width is greater than 100. The error of the SF divergence-free Hatch filter also increases if the averaging constant is greater than 300; however, the rate of increase is much less than that of the conventional Hatch filter. Figure 10 and Table 2 also compares the performance of the optimal SF divergence-free Hatch filter with those of the filters with a fixed smoothing window. As described above, the smoothing window width can be as large as 1000 or more depending on the elevation angle, but its RMS error in the range domain remains at the smallest level among all fixed-width trials.

Performance Analysis in Position Domain
From the previous results, we determined that the best performance can be obtained when the smoothing constants of the conventional, DF divergence-free, and SF divergence-free Hatch filter are 100, 1000, and 300, respectively. Thus, we computed the SBAS positions after setting the smoothing window width for each filter technique as the value yielding the best performance, and then compared the result with that obtained from the optimal SF divergence-free Hatch filter.
As is evident from Figure 11 and Table 3, the optimal SF divergence-free Hatch filter can reduce the RMS error of the conventional Hatch filter by 2 cm (horizontally) and 4 cm (vertically). From the statistical point of view, the position accuracy is not significantly improved, and the suggested filter is effective in bounding error divergence during the daytime.

Performance Analysis in Position Domain
From the previous results, we determined that the best performance can be obtained when the smoothing constants of the conventional, DF divergence-free, and SF divergence-free Hatch filter are 100, 1000, and 300, respectively. Thus, we computed the SBAS positions after setting the smoothing window width for each filter technique as the value yielding the best performance, and then compared the result with that obtained from the optimal SF divergence-free Hatch filter.
As is evident from Figure 11 and Table 3, the optimal SF divergence-free Hatch filter can reduce the RMS error of the conventional Hatch filter by 2 cm (horizontally) and 4 cm (vertically). From the statistical point of view, the position accuracy is not significantly improved, and the suggested filter is effective in bounding error divergence during the daytime.    Figure 12 zooms in the Figure 11 and shows the results for the daytime. Ionospheric activity is high during the afternoon (12:00-17:00), thus, ionosphere-induced error included in the Hatch filter is clearly visible. The SBAS position errors of the SF and DF divergence-free Hatch filters are normally distributed relative to those of the conventional Hatch filter, while the residual errors of the Hatch filter are located in the southeast direction. In particular for 329,011~331,235 s and for 339,151~345,052 s, the biggest error of the conventional Hatch filter is 57 cm and is biased, however, the DF divergence-free Hatch filter and the suggested algorithm bind the errors within 37 cm and do not cause a noticeable ionosphere-induced error in the horizontal plane. The residual error variations of several satellites during these periods are shown in Figure 13. All the filters can smooth the measurements for the highly-elevated satellites sufficiently, thus, their residual errors are almost zero for the high elevation angle cases having negligible temporal     Figure 12 zooms in the Figure 11 and shows the results for the daytime. Ionospheric activity is high during the afternoon (12:00-17:00), thus, ionosphere-induced error included in the Hatch filter is clearly visible. The SBAS position errors of the SF and DF divergence-free Hatch filters are normally distributed relative to those of the conventional Hatch filter, while the residual errors of the Hatch filter are located in the southeast direction. In particular for 329,011~331,235 s and for 339,151~345,052 s, the biggest error of the conventional Hatch filter is 57 cm and is biased, however, the DF divergence-free Hatch filter and the suggested algorithm bind the errors within 37 cm and do not cause a noticeable ionosphere-induced error in the horizontal plane.   Figure 12 zooms in the Figure 11 and shows the results for the daytime. Ionospheric activity is high during the afternoon (12:00-17:00), thus, ionosphere-induced error included in the Hatch filter is clearly visible. The SBAS position errors of the SF and DF divergence-free Hatch filters are normally distributed relative to those of the conventional Hatch filter, while the residual errors of the Hatch filter are located in the southeast direction. In particular for 329,011~331,235 s and for 339,151~345,052 s, the biggest error of the conventional Hatch filter is 57 cm and is biased, however, the DF divergence-free Hatch filter and the suggested algorithm bind the errors within 37 cm and do not cause a noticeable ionosphere-induced error in the horizontal plane. The residual error variations of several satellites during these periods are shown in Figure 13. All the filters can smooth the measurements for the highly-elevated satellites sufficiently, thus, their residual errors are almost zero for the high elevation angle cases having negligible temporal   The residual error variations of several satellites during these periods are shown in Figure 13. All the filters can smooth the measurements for the highly-elevated satellites sufficiently, thus, their residual errors are almost zero for the high elevation angle cases having negligible temporal ionospheric delay gradients. Each filter, however, shows different tendency to each other for the measurements from low elevation satellites, often having large temporal ionospheric delay gradients. The DF divergence-free Hatch filter does not allow a large residual error even when the PRN 25 and 29 satellite is almost setting down. Although the low elevation satellite errors become fluctuated after smoothed by the SF divergence-free Hatch filter, the errors are still near to zero and placed on the overall tendency of that of DF divergence-free Hatch filter. On the other hand, the residual errors of the conventional Hatch filter grow up slowly as the elevation of the satellite decreases. Its errors for the new satellite (PRN 18) also gradually increases after the filter initialization, while the errors of other filters stay near to zero, with only a slight fluctuation after a convergence.  We also analyzed the effect on the position domain due to the variation in the temporal correlation of the ionospheric error throughout the day. For analysis, the accuracy improvement, by applying each filter to the raw GNSS code measurement in local time, was calculated. As shown in Figure 14, the performance of the optimal SF divergence-free Hatch filter is superior to that of the Hatch filter for most of the day. The typical Hatch filter provides a comparable or slightly better performance than the suggested algorithm only just before noon, when ionospheric activity becomes more active so that is a little larger to be assumed as 0 for the assigned smoothing time constant. However, the suggested adaptive smoothing window contributes to a larger accuracy improvement throughout the day and it even provides better performance than the DF filter at night.

RMS (m) Max (m) RMS (m) Max (m)
The RMS value of the Hatch filter horizontal position error is 26 cm during the daytime (12:00~18:00), while those of the DF and optimal SF filters are 21 cm and 22 cm. The vertical error RMS of 32 cm also has been reduced to 24 cm and 28 cm by replacing the Hatch filter into DF and optimal SF Hatch filter as summarized in Table 4. Ninety-five percent of the errors have been distributed horizontally by 28 cm and vertically by 36 cm from the true position by the suggested algorithm, which were over 31 cm and 42 cm apart when smoothed by the Hatch filter. The accuracy improvement of the 95% error distribution is 34% and 42%, which are comparable to the DF filter.  We also analyzed the effect on the position domain due to the variation in the temporal correlation of the ionospheric error throughout the day. For analysis, the accuracy improvement, by applying each filter to the raw GNSS code measurement in local time, was calculated. As shown in Figure 14, the performance of the optimal SF divergence-free Hatch filter is superior to that of the Hatch filter for most of the day. The typical Hatch filter provides a comparable or slightly better performance than the suggested algorithm only just before noon, when ionospheric activity becomes more active so that δ . I v is a little larger to be assumed as 0 for the assigned smoothing time constant. However, the suggested adaptive smoothing window contributes to a larger accuracy improvement throughout the day and it even provides better performance than the DF filter at night.
The RMS value of the Hatch filter horizontal position error is 26 cm during the daytime (12:00~18:00), while those of the DF and optimal SF filters are 21 cm and 22 cm. The vertical error RMS of 32 cm also has been reduced to 24 cm and 28 cm by replacing the Hatch filter into DF and optimal SF Hatch filter as summarized in Table 4. Ninety-five percent of the errors have been distributed horizontally by 28 cm and vertically by 36 cm from the true position by the suggested algorithm, which were over 31 cm and 42 cm apart when smoothed by the Hatch filter. The accuracy improvement of the 95% error distribution is 34% and 42%, which are comparable to the DF filter.  Lastly, we selected nine stations that can provide GNSS observables every second as shown in Figure 15 in order to analyze the spatial effect of the site on the position accuracy and to verify the generic applicability of the suggested algorithm. We collected the code and carrier measurements of each site from 13:00 to 15:00 local time, which includes the time of the strongest ionospheric activity, 14:00. The Hatch filter with a fixed time constant of 100 s and the optimal SF divergence-free Hatch filter were applied to the 2-h data.   Lastly, we selected nine stations that can provide GNSS observables every second as shown in Figure 15 in order to analyze the spatial effect of the site on the position accuracy and to verify the generic applicability of the suggested algorithm. We collected the code and carrier measurements of each site from 13:00 to 15:00 local time, which includes the time of the strongest ionospheric activity, 14:00. The Hatch filter with a fixed time constant of 100 s and the optimal SF divergence-free Hatch filter were applied to the 2-h data.  Lastly, we selected nine stations that can provide GNSS observables every second as shown in Figure 15 in order to analyze the spatial effect of the site on the position accuracy and to verify the generic applicability of the suggested algorithm. We collected the code and carrier measurements of each site from 13:00 to 15:00 local time, which includes the time of the strongest ionospheric activity, 14:00. The Hatch filter with a fixed time constant of 100 s and the optimal SF divergence-free Hatch filter were applied to the 2-h data.  As summarized in Table 5, the overall performance has been improved by adjusting the ionospheric divergence and applying the adaptive smoothing window to the typical filter. The horizontal and vertical error RMS decreased by 2.5~5.3 cm and 0.8~11.7 cm, respectively, and the 95% error was also reduced by up to 15.3 cm and 18.8 cm. Therefore, we conclude that the proposed optimal SF divergence-free Hatch filter can improve the accuracy of the filter, as well as bind the divergence error.

Conclusions
The Hatch filter is one of the most commonly used smoothing filters, and it can reduce the pseudo-range noise of an SF receiver very effectively. Due to the simplicity of constructing a Hatch filter and its effectiveness in reducing the measurement noise, it is more widely used than other sophisticated filters, such as the DF divergence-free Hatch filter and Kalman filter. The performance of the Hatch filter is profoundly coupled to the averaging constant, and previous studies had focused on minimizing the divergence-induced error.
In this paper, we proposed the use of the ionospheric correction message of SBAS in order to reduce the ionospheric-induced divergence of the conventional Hatch filter, and we showed how to calculate the optimal smoothing constant to minimize the residual error. By analyzing 24-h measurement in the range and position domain, we validated the proposed algorithm and its effectiveness to reduce noise without severe divergence. The error statistics of the proposed optimal SF divergence-free Hatch filter is found to be similar to those of the DF divergence-free Hatch filter. Moreover, the proposed adaptive smoothing window can prevent users from experiencing a severe bias due to a steep ionospheric delay variation for a low elevation satellite during daytime; it can reduce the 32 cm vertical error RMS of the conventional Hatch filter by 8 cm, vertical accuracy improvement of 25%. It can also bind the 95% error within 27 cm horizontally, and 35 cm vertically, which were 32 cm and 42 cm by the Hatch filter.
Considering that SF receivers dominate the GNSS market and that most of these receivers include the SBAS function, the filter suggested in this paper is very practical to improve the performance of most receivers while maintaining the recursive and simple form of the conventional Hatch filter. It is also of great value in that it can make the DGPS performance of the low-cost SF receivers comparable to that of DF receivers.