# The Implementation of Precise Point Positioning (PPP): A Comprehensive Review
## 2 Error Sources in PPP
### Tropospheric Delays  
The troposphere, situated directly above Earth's surface, predominantly comprises dry gases interspersed with water vapor. Distinct from the ionosphere's dispersive nature, the troposphere is nondispersive concerning GNSS frequencies. However, its refractive properties decelerate GNSS signal propagation, subsequently resulting in a delay [5]. This tropospheric delay encompasses dry and wet constituents, with a total delay ranging between 2 and 25 m, depending on the satellite's elevation angle and the atmospheric density profile. The dry segment contributes to approximately 90% of the tropospheric delay and is amenable to precise modeling.  
Conversely, the wet component, constituting roughly 10% of the tropospheric delay, poses modeling challenges due to the localized variance in water vapor content [31]. The total tropospheric delay can be accurately modeled for SPP using models such as the Saastamoinen model [32]. Still, these models fall short of the meticulous precision requisites of PPP.  
For precise positioning, each satellite's total tropospheric delay \(T\) can be expressed as [7]  
\[T=M_{h}(E)Z_{h}+M_{w}(E)Z_{w}+M_{g}(E)(G_{N}\cos(Az)+G_{E}\sin(Az)) \tag{3}\]  
where \(E\) and \(Az\) denote the satellite elevation and azimuth angles, respectively. The hydrostatic or dry component of the delay is characterized by the Zenith Hydrostatic Delay (ZHD), denoted as \(Z_{h}\), scaled by an elevation-dependent mapping function \(M_{h}\). Similarly, the Zenith Wet Delay (ZWD), denoted as \(Z_{w}\), is scaled by its corresponding mapping function \(M_{w}\). The third term in the equation accounts for the horizontal gradients in both north and east directions, scaled by a mapping function \(M_{g}\). However, the impact of this term is generally on the order of millimeters and can be ignored in most applications.  
The ZHD can be calculated using [PERSON]'s formula [32] as given by [33]  
\[Z_{h}=\frac{0.0022768P}{1-0.00266\cos(2\varphi)-2.8\times 10^{-7}h} \tag{4}\]  
where \(P\) represents the surface pressure expressed in hPa (One hPa (hectopascal) = 100 Pa = 1 millibar). The variable \(\varphi\) denotes the latitude, whereas \(h\) represents the height in meters. For achieving centimeter-level accuracy in PPP, the pressure (in hPa) can be approximated using [PERSON]'s formula \(P=1013.25(1-2.2557\times 10^{-5}h)^{5.2568}\)[34]. Conversely, the ZWD cannot be determined with the same level of precision. Therefore, the initial value of the ZWD is obtained from [PERSON]'s model, and the residual error is treated as an unknown parameter and estimated by the navigation filter.  
The mapping functions, \(M_{h}\) and \(M_{w}\), primarily depend on the satellite's elevation angle. All existing mapping functions are derived from the continued fractions introduced by [PERSON] [35] with normalization to unity at the zenith  
\[M(E)=\frac{1+\frac{a}{1+\frac{b}{1+c}}}{\sin E+\frac{a}{\sin E+\frac{b}{\sin E +c}}} \tag{5}\]  
where \(a\), \(b\), and \(c\) are constant coefficients with small values of much less than 1. These coefficients vary for the dry and wet delay components. The Vienna Mapping Function 1 (VMF1) [36] is currently recognized as the most accurate mapping function for precise geodetic PPP solutions [37]; however, its application necessitates supplementary data from numerical weather models. On the other hand, Neill Mapping Functions (NMF) [38] rely solely on the receiver's latitude, elevation, and the day of the year. Despite being less precise, the accuracy of NMF is adequate for various applications, such as vehicle navigation [9].