## 2 Development of the Positioning Procedure  
Custom positioning procedures can be developed only by processing raw observation data. Therefore, only GPS receivers with raw data output were considered for the survey tests. Two u-blox evaluation kits with a raw data output option were used in the tests, namely the AEK-4T and EVK-5T. The AEK-4T employs the Antaris GPS chip and offers rates of up to 10 Hz for raw data, whilst the EVK-5T relies on the u-blox 5 Positioning Engine which supports a 2 Hz raw data update rate. Both receivers are able to determine and output the following data: code pseudoranges; carrier-phase measurements; Doppler measurements and SNR values. However, the AEK-4T receiver is able to output carrier-phase observables only for signals with a SNR over 30 dBHz, meaning that there is no carrier-phase data for the attenuated signals. On the other hand, carrier-phase measurements from the EVK-5T are available even for the weakest signals. Owing to the limitations of one of the receivers, the custom positioning solution depends on code pseudoranges and Doppler observables only. Basic autonomous positioning is based on processing the code pseudoranges in the least squares adjustment. Four unknowns have to be determined in the process: the 3D position coordinates of the receiver and the receiver clock offset. A pseudorange is affected by a number of biases and possible errors: the satellite position; the satellite clock offsets; the ionosphere bias; the troposphere bias; multipath and noise. All biases have to be modelled to obtain the estimated unknowns to the highest possible degree of accuracy and reliability. Multipath is a phenomenon whereby the receiver's antenna receives a GPS signal from different paths. This is caused by the reflection of the signal off reflective surfaces near the receiver. Multipath depends entirely on the local environment and is therefore nearly impossible to model. Theoretically, multipath can reach up to one half of a wavelength of a pseudorange (up to 150 m for code observations) and up to one quarter of a wavelength of the carrier phase (a few cm) [4]. Since Doppler measurements are affected by the bias rates only [5], the multipath effect on Doppler observations should be on the level of the carrier phase multipath effects. Multipath is undoubtedly the most significant bias in code pseudoranges observed in \"indoor\" positioning. Atmospheric biases can be mitigated with ionosphere and troposphere models. An ionosphere bias can be cancelled out by applying dual frequency observations. However, HS GPS receivers are single frequency receivers and for such observations an ionosphere model has to be used, e.g., the Klobuchar model. A troposphere bias can be mitigated via a combination of a tropospheric zenith delay and a mapping function. More on the topic can be found in [4]. Some additional methods are used in classical GPS positioning procedures to attempt to enhance the accuracy of the results achieved. Signals with low elevation angles are affected to a greater degree with atmospheric refraction than signals at high elevation angles. Elevation angle weighting can be used to compensate for the different quality of the signals. Signals with lower SNR values are generally assumed to be of a lesser quality than those with high SNR values. Some authors suggest using SNR weighting [6]. If carrier-phase or Doppler observations are available, then errors in code-based observations can be mitigated by smoothing code-based observations. This smoothing technique is achieved using a so-called Hatch filter [7]. Outliers are common in observations that take place in multipath and attenuated environments. The first option is to try to eliminate outliers from the mathematical model. However, based on our experience, it is difficult to accurately detect and eliminate outliers in such conditions. The second option is to minimise the effect of gross errors on the final solution. This can be achieved by robust estimation.