1 Introduction

In recent years, the GNSS receiver and antenna technologies have advanced considerably. One such development is that it is now normal to sample GNSS data at 1 sample per second (sps), and it is possible to push the sampling up to 100 sps. These considerable improvements have the potential of measuring earthquake ground motions. Large and moderate earthquakes were successfully observed by permanent 1 sps GPS stations: 1999 M7.1 Hector Mine (Nikolaidis et al. 2001), 2002 M7.9 Denali (Larson et al. 2003; Bock et al. 2004; Kouba 2003; Bilich et al. 2008), 2003 M8.0 Tokachi-Oki (Clinton 2004; Miyazaki et al. 2004; Emore et al. 2007; Larson and Miyazaki 2008), 2004 M9.0 Sumatra Andaman (Kouba 2005; Ohta et al. 2006), 2005 M8.7 Nias (Kreemer et al. 2006), 2008 M8.0 Wenchuan (Shi et al. 2010; Yin et al. 2013), 2010 M8.8 Chile (Wang et al. 2012), and 2011 M9.0 Tohoku-Oki (Munakane 2012; Zhou et al. 2012; Hung and Ruey-Juin 2013). Beside these significant global events, moderate earthquakes have produced seismic displacements also observable by GPS: 2003 M6.5 San Simeon (Ji et al. 2004; Wang et al. 2007) and 2004 M6.0 Parkfield (Langbein and Bock 2004; Langbein 2006). However, unless GNSS is combined with more sensitive seismic instruments, Larson (2009) acknowledges that the sampling rate of GPS records has to be greater than 1 sps if GPS is to routinely play a role for measuring dynamic seismic displacements.

One of the first earthquakes to be recorded in the near field by GPS with a higher sampling rate (10 sps) was the M6.3 L’Aquila earthquake in 2009 (Avallone et al. 2011). However, if GNSS data are to be used at high sampling rates to interpret ground motions, more detailed studies on high-rate GPS receiver performances are required. The major GPS error sources in the frequency range between months and several seconds (e.g. ionosphere, troposhere, and multipath) have thoroughly been studied in the last decades. In contrast, the errors in the frequency range above 1 Hz, mainly receiver-induced errors such as thermal noise and dynamic stress errors, have not been studied in detail. An accurate empirical determination of deviations in high-frequency GNSS recordings can only be achieved with a very accurately known ground truth at hand. Elósegui et al. (2006) published tests with a single-axis shake table and 1 sps GPS measurements. Wang et al. (2012) extended the investigations by a six-degree-of-freedom shake table and sampling rates up to 10 sps. They showed large GPS measurement errors resulting from large accelerations and jerks in the generated motions.

Our study focuses on the empirical quantification and modeling of GPS receiver-induced errors dependent on different receiver parameters. For the empirical tests we used a single-axis shake table with a mounted GPS antenna and a broadband strong motion seismometer. The GNSS experiments mainly used Javad receivers (Javad Sigma-G3TAJ) recording at 100 sps. The investigations were complemented by Leica 1200 and NovAtel DL-4plus receivers with sampling rates of 20 sps. It is our goal to demonstrate the characteristics of the retrieved GPS carrier phase measurements in the frequency band above 1 Hz and to discuss the consequences for “GPS seismology” while going to the limit of the currently available receiver technology. The presented results are not only relevant to seismological applications, but are also important for other applications that may potentially use high-rate GPS such as navigation, machine guidance, structural monitoring, and ionospheric scintillation studies.

This paper can be split into three main parts. Section 2 describes the high-rate (100 and 20 sps) GPS measurements with a static antenna in a zero-baseline configuration to analyse the noise behaviour (magnitude and correlations) for different GPS carrier signals while changing the phase-locked loop noise bandwidth \(B_{\text {L}}\). Section 3 deals with the shake table experiment which demonstrates the stress error in the frequency band above 1 Hz for different GNSS receivers dependent on their baseband function parameters. The implications of these two dominant measurement errors to seismology are discussed in Sect. 4.

2 Static GPS antenna tests

2.1 Receiver system noise

The performance of a modern high-rate GNSS receiver is mainly defined by an accurate and reliable code and carrier tracking. The receiver has to be able to track the dynamics of the received signal such as space vehicle (SV) orbit dynamics, ionospheric scintillations, and the antenna motion. Additionally, the tracking has to work under weak and interfered conditions and keeping the carrier phase jitter to a low level. To meet all these requirements, a compromise is required for the parameter settings of the baseband functions in the receiver firmware.

The baseband processes can be split into the predetection integrators, loop discriminators, and loop filter which mainly describe the tracking loops and determine the tracking performance by their parameters (Ward et al. 2006). The predetection occurs after the downconversion of the intermediate frequency signal to baseband and provides the integrated signals to the discriminator. The key parameter of the predetection integration is the integration time \(T\) which is usually between 1 and 20 ms (navigation data bit length) and defines the rate of the tracking loop. Due to the required accuracy of geodetic GNSS receivers, the tracking discriminators generally used are Costas-type phase-locked loops (PLL) for the carrier-tracking loops or delay-locked loops (DLL) for code-tracking loops. The tracking loop filter reduces the noise of the error signal to steer the numerically controlled oscillator (NCO) for generating a new replica signal. The loop filter works as lowpass filter with a specific bandwidth \(B_{\text {L}}\) (single-sided noise bandwidth) and filter order.

The described baseband functions produce two dominant error sources, the carrier phase jitter mainly caused by thermal noise and the dynamic stress error caused by the dynamics with respect to the line of sight (LOS). For a low carrier phase jitter, a long integration time and a narrow loop filter bandwidth are required. In contrast, for a wide range of acceptable LOS dynamics, \(T\) has to be short and \(B_{\text {L}}\) wide. An important value for the investigation of the receiver performance is the carrier-to-noise density ratio \(C/N_{0}\) (dB-Hz). It corresponds to the ratio of the power level of the carrier signal and the noise level in a 1 Hz bandwidth (Langley 1997). The theoretical carrier phase jitter \(\sigma _{\text {PLL}}\) (m) can be approximated by Hemesath (1980)

$$\begin{aligned} \sigma _{\text {PLL}}=\frac{\lambda }{2\uppi }\sqrt{\frac{B_{\text {L}}}{C/N_{0}}\left( 1+\frac{1}{2TC/N_{0}}\right) }, \end{aligned}$$
(1)

where \(\lambda \) (m) represents the wavelength of the carrier, \(B_{\text {L}}\) (Hz) is the one-sided noise bandwidth, and \(T\) (s) the predetection integration time. It can be seen that a long predetection integration time reduces the jitter; further, it increases the acquisition gain and helps operation under weak and interfered conditions (Deshpande and Cannon 2004). Conversely, an excessively long integration time produces a strong sensitivity to dynamics. As already mentioned, the length of the predetection integration time is commonly between 1 and 20 ms. Javad (e.g. Sigma-G3TAJ receiver) uses an integration time of 5 ms. The GNSS receivers based on the NovAtel OEM board (e.g. NovAtel DL-4plus and Leica 1200) have an implemented integration time of 10 ms. Apart from a potentially false lock, the integration time \(T\) has much less impact on the carrier phase jitter \(\sigma _{\text {PLL}}\) and the dynamic behaviour than the bandwidth \(B_{\text {L}}\) and the carrier-to-noise density ratio \(C/N_{0}\) (see Eq. 1). Therefore, the following sections concentrate on the analysis of the system noise dependent on different PLL bandwidths and signal strengths.

2.2 Zero-baseline measurement setup

To analyse the system noise above 1 Hz of high-rate GNSS receivers, zero-baseline measurements with a static antenna were performed. For this experiment, two different receiver types were used, two Javad Sigma-G3TAJ receivers with 100 sps and two Leica 1200 GNSS receivers with 20 sps. Both receiver pairs were connected to a Javad GrAnt-G3T GNSS antenna. The high-rate GPS measurements were processed in a kinematic mode (epoch by epoch) on the double-difference level. This configuration allowed a detailed study of receiver-induced errors because all other external error sources were eliminated or minimized. The double-difference residuals measured with different tracking loop bandwidths were averaged over a time window of 300 s. The chosen CA/L1 (L1 carrier phase derived from the CA-component) \(B_{\text {L}}\) of 10 and 50 Hz for the Javad receivers defines the stable range for our experiments. Under good conditions (high signal strength), also higher bandwidths up to 100 Hz (Moschas and Stiros 2014) allow a reliable phase tracking. The lower limit for the CA/L1 PLL bandwidth of about 5 Hz is mainly defined by the oscillator noise (in case of a static antenna). The Leica 1200 receivers have a fixed CA/L1 PLL \(B_{\text {L}}\) of 15 Hz. This analysis focuses on the carrier phase jitter \(\sigma _{\text {PLL}}\) mainly induced by thermal noise and on the correlations between subsequent epochs.

2.3 CA/L1 tracking

Figure 1 shows the double-difference carrier phase jitter of 100 sps CA/L1 measurements with a \(B_{\text {L}}\) of 10 Hz (blue) and 50 Hz (red) dependent on the carrier-to-noise density ratio \(C/N_{0}\) for each 300 s window. The pseudo double-difference \(C/N_{0}\) is computed as the mean of the reciprocal sum of the four zero-difference \(C/N_{0}\). The two lines show the theoretical jitter determined by Eq. (1) for the double-difference case. The deviations of the estimated \(\sigma _{\text {PLL}}\) from the theoretical value can be explained by the oscillator jitter, uncertainties in the \(C/N_{0}\) measurements, and a slight adjustment of the tracking loop bandwidth at low signal strength by the receiver.

Fig. 1
figure 1

The squares show the 100 sps double-difference carrier phase jitter during a 300 s time window measured with Javad receivers with a CA/L1 \(B_{\text {L}}\) of 10 Hz (blue) and 50 Hz (red). The solid lines represent the theoretical \(\sigma _{\text {PLL}}\) calculated by Eq. (1) for double-differences. The decreased carrier phase jitter as a consequence of a narrow bandwidth is well visible

Performing the autocorrelation of the L1 zero-baseline measurements, the bandwidths \(B_{\text {L}}\) of the CA/L1 PLL are directly visible (see Fig. 2) as the zero crossing of the autocorrelation function. The setup of the bandwidth for the Javad receiver only defines the upper limit. The receiver is able to reduce its PLL bandwidth automatically to improve the tracking capability under weak conditions. However, the CA/L1 loops with a nominal signal strength of more than 45 dB-Hz generally work with stable bandwidths. The impact of the correlations induced by the loop filter on dynamic applications is demonstrated by the shake table experiments in Sect. 3.3. Additionally, these CA/L1 tracking loops with relatively wide bandwidths support the narrow loop bandwidth for code tracking and weak carrier phase tracking such as P1/L1 and P2/L2 (see Sect. 2.4).

Fig. 2
figure 2

Correlations between subsequent epochs for a CA/L1 \(B_{\text {L}}\) of 10 Hz (top) and 50 Hz (bottom). The vertical dashed lines mark the bandwidths which exactly correspond to the zero crossing of the autocorrelation function

2.4 P-code tracking

For geodetic applications, the utilization of an additional carrier phase with a different frequency is essential while processing long baselines. The building of the ionosphere-free linear combination of L1 and L2 allows the reduction of the influence of the dispersive ionosphere. The L1 and L2 carriers are modulated by the P-code which is generally known for civilian users. To prevent spoofing of the P-code, the Department of Defense modulates an encrypted W-code onto the P-code. The resulting antispoofing P(Y)-code, still with the same chipping rate as the original P-code, is not available to civilian users. The received minimum signal power of the P(Y) component on L2 (P2/L2) at the user antenna is 3 dB lower than the received signal power of CA/L1 (for SV Blocks IIR-M, IIF, and III). Contrary to L1, L2 has no additional CA-code and the reconstruction of the L2 carrier phase has to be performed without the knowledge of the modulated P(Y)-code. For this purpose, several codeless or semi-codeless methods for carrier tracking of L2 were developed (Woo 2000). However, all the demodulation methods produce an additional squaring loss. Due to the significantly reduced \(C/N_{0},\) the P2/L2 PLL requires a much narrower bandwidth than the CA/L1 PLL. The higher carrier phase jitter of L2 compared to L1 (shown in Fig. 3) mainly results from the lower \(C/N_{0}\), although the P2/L2 loop bandwidth of 3 Hz is significantly lower than the 50 Hz of the CA/L1 PLL. To ensure the dynamic tracking ability, the CA/L1 PLL aids in the tracking of L2. The impact of the CA/L1 PLL aiding on the L2 is shown in Fig. 4, marked as vertical dashed lines.

Fig. 3
figure 3

The squares show the 100 sps double-difference carrier phase jitter for 300 s time windows measured with Javad receivers for the CA/L1 carrier phase with a \(B_{\text {L}}\) of 50 Hz (red) and for the P2/L2 signal with a \(B_{\text {L}}\) of 3 Hz (black). The solid lines represent the theoretical \(\sigma _{\text {PLL}}\) calculated by Eq. (1) for double-differences. The dashed line denotes \(\sigma _{\text {PLL}}\) based on a linearly decreasing bandwidth of 1.5 Hz. Even with a narrower bandwidth than the CA/L1, the P2/L2 has a higher jitter due to the significant lower signal strength

Fig. 4
figure 4

Correlations between subsequent epochs for a 3 Hz P2/L2 \(B_{\text {L}}\) guided by a 10 Hz CA/L1 \(B_{\text {L}}\) (top) and a 3 Hz P2/L2 \(B_{\text {L}}\) guided by a 50 Hz CA/L1 \(B_{\text {L}}\) (bottom). The vertical dashed lines mark the loop bandwidths set for the CA/L1 and P2/L2 carrier tracking

There are GPS receivers which allow the retrieval of the L1 carrier phase from the P(Y) component (P1/L1). The tracking requirements and the resulting signal characteristics are almost identical to P2/L2. Some receivers take advantage of changeable weak loop bandwidths for P1/L1 and P2/L2 to allow a reliable tracking of signals with an extremely low signal strength at low elevation angles. This strategy of a decreased P2/L2 loop bandwidth for low \(C/N_{0}\) (see Fig. 5) is also visible in Fig. 3 as a lower carrier jitter than theoretically expected. The dashed line corresponds to the theoretical jitter induced by a loop filter bandwidth linearly reduced from 3 to 1.5 Hz.

Fig. 5
figure 5

The change of the CA/L1 \(B_{\text {L}}\) of 10 Hz (blue) and the P2/L2 \(B_{\text {L}}\) of 3 Hz (black) is demonstrated to be dependent on carrier-to-noise density ratio \(C/N_{0}\). The \(B_{\text {L}}\) was calculated by the zero crossing of the autocorrelation function for each 300 s window. For a high signal strength above 40 dB-Hz, the receiver operates with a stable \(B_{\text {L}}\) (see 10 Hz \(B_{\text {L}}\)). To ensure the tracking of extremely weak signals, the already narrow bandwidth is additionally reduced

In the course of GPS modernization, several additional civil signals, such as C1/L1, C2/L2 and the new frequency L5, are available and will enhance the tracking capabilities. The modulated code on L5 has the same chip rate as the P(Y)-code and is modulated on both phase components. Especially the mimimum received power, which is about 4 dB higher than that of the P2/L2 signal, and the dataless pilot channel improve the tracking capabilities and make L5 extremely interesting for a tracking combination with CA/L1 (Salem 2010). Finally, the resulting characteristics of carrier phase measurements of C5/L5 are very similar to CA/L1. In Fig. 6, it can be seen that the loop filter bandwidth of C5/L5 directly corresponds to the 50 Hz bandwidth setting of the CA/L1 signal.

Fig. 6
figure 6

Correlations between subsequent epochs for C5/L5 which directly corresponds to the CA/L1 PLL with its 50 Hz \(B_{\text {L}}\) setting (see Fig. 2, bottom)

2.5 General GNSS receiver tracking performance

The majority of GNSS receivers have fixed tracking loop parameters or the values are not made known to the user. Therefore, there is no possibility to optimize them for the desired application. The tracking loop bandwidths of these receivers are usually set close to the maximum sampling rate. As an additional example the zero-baseline measurements of a Leica 1200 GNSS receiver are presented. This receiver is based on a NovAtel OEM board. The value of the loop filter bandwidth is only available on request. NovAtel uses a fixed \(B_{\text {L}}\) of 15 Hz for the CA/L1 tracking loop and 0.2 Hz for the P2/L2 tracking loop. Figure 7 shows the correlation of subsequent epochs of 20 sps data with the corresponding bandwidths marked as dashed lines. The guiding of the P2/L2 PLL with its extremely narrow bandwidth of 0.2 Hz by the CA/L1 tracking loops is visible as well and determines the dynamic behaviour in the frequency band above 1 Hz.

Fig. 7
figure 7

Correlations between subsequent epochs for CA/L1 and P2/L2 signals from 20 sps Leica 1200 measurements with their corresponding \(B_{\text {L}}\) marked as vertical dashed lines

For an accurate empirical determination of the CA/L1 loop filter bandwidth, the maximum available sampling rate of 20 sps is not sufficient. The loop filter bandwidth visible in Fig. 7 (top) rather corresponds to a bandwidth of 20 Hz. That the carrier phase jitter is higher than theoretically expected (see Fig. 8) might be explained by this higher nominal bandwidth or by a significantly higher oscillator phase jitter compared to that of Javad. An additional explanation could be the non-standardized output of the \(C/N_{0}\) which is differently calculated and corrected by the receiver manufacturers.

Fig. 8
figure 8

The squares show the 20 sps double-difference \(\sigma _{\text {PLL}}\) measured with the Leica 1200 receivers (blue) compared to the 100 sps CA/L1 \(\sigma _{\text {PLL}}\) of a Javad Sigma-G3TAJ with a \(B_{\text {L}}\) of 50 Hz (red). The continuous lines represent the theoretical \(\sigma _{\text {PLL}}\) calculated by Eq. (1) for double-differences

3 Dynamic GPS measurements and error analysis

3.1 Shake table setup

Key factors for the assessment of GPS ground motion measurements are a programmable motion generator and a reliable ground truth. In our experiments, we generated motions using a Quanser single-axis shake table (Quanser 2008). The top platform of \(45.7\times 45.7\) cm is moved by a brushless DC motor and a ball screw. For a maximum payload of 7.5 kg, an acceleration up to 2.5 g can be achieved. The maximum travel distance is 15.24 cm with a maximum linear velocity of 0.66 m/s. The position of the platform is given by the encoder of the motor with a resolution of 3 \(\upmu \)m. In particular, the constraint in displacement limits the simulation of real earthquake ground motions.

Due to mechanical uncertainties of the shake table, especially during high accelerations, an independent measurement system is necessary to establish an accurate and reliable ground truth. For this purpose, two HBM WA200 inductive displacement transducers (http://www.hbm.com) were mounted on both sides of the shake table while measuring the motion of the top platform relative to the bottom plate. The measurement output of the inductive sensors was collected by the data acquisition system HBM Spider8 (http://www.hbm.com) and digitized with a rate of 2.4 kHz. The metric resolution of the digitized displacements is 6 \({\upmu }\)m. In nominal temperature range (\(-\)20 to +80 \(^\circ \)C), the effects of temperature on the output signal of the inductive transducers can be neglected. In principle, high temperature gradients can induce a dilatation of the shake table which affects the determination of the ground truth. During tests in a climatic chamber and outdoors at the location of our experiments only extremely small and long-periodic drifts of 2 \(\upmu \)m/min could be detected.

The establishment of an accurate and reliable time synchronization between all the sensors is a crucial part of each experimental setup (see Fig. 9). The GNSS receiver sends a PPS (pulse-per-second) signal to Spider8 based on the low-voltage TTL standard. Each rising edge of the TTL signal corresponds to a measured epoch of the GPS receiver. The Spider8 acquires the TTL as an analog signal and allocates the voltage status to its corresponding displacement measurement with a sampling rate of 2.4 kHz. After a postprocessing step the inductive transducers were synchronized to the GPS receiver time with a time resolution of 0.4 ms. This small synchronization uncertainty produces a maximum phase shift of 1.4 degrees during the highest velocities generated by the shake table. For the comparison with the GPS measurements, the mean of both inductive transducer measurements was obtained and presented with a sampling rate of 100 sps.

Fig. 9
figure 9

Schematic overview of the shake table experiment with the measurement systems used

The single-axis shake table was used to generate a large set of different motions. To cover a wide range of ground motion accelerations and jerks, sine waves with amplitudes from 1 to 50 mm and frequencies between 1 and 20 Hz were produced for the dynamic stress analysis (see Table 1). Further, step functions and ground motions from synthetic and real earthquakes were generated on the shake table.

Table 1 This table shows the frequencies and amplitudes with peak accelerations (brackets) of the sine oscillations generated by the shake table

For an optimal investigation and quantification of the PLL-induced stress error, only very short baselines of about 5 m were measured by GPS. The processing was performed with the Bernese 5.1 GPS sofware modified to allow for the processing of 100 sps data. Due to the short baseline and the processing strategy based on double differences, most of the existing external perturbations were eliminated or strongly reduced. Afterwards, the kinematic GPS coordinates were projected onto the movement direction NE–SW of the shake table. Additionally, each specific motion from Table 1 was acquired over at least 10 min (several hundred cycles).

3.2 Ground-truth validation

As discussed above, the inductive transducers are able to determine the ground truth with a sufficient accuracy for the assessment of the GPS measurements. However, the entire setup had to be validated under real conditions at the location of our experiments. For this purpose, two broadband strong motion seismometers were additionally mounted on the shake table as independent measurement systems to validate the inductive transducers during highly accelerated motions.

The equipment used was a Kinemetrics EpiSensor recording on a Nanometrics Taurus, a system with peak ground motion of 2 g, with a flat frequency response in acceleration from 200 Hz - DC, and a dynamic range of over 140 dB. A clock synchronized by GPS provided independent timing. This accelerometer has a well-known transfer function that has zero-phase shift and a constant amplitude between 200 Hz and DC. Using two sensors, we were confident that the recorded response was accurate.

Figure 10 shows the similarity between the averaged inductive sensors and the averaged seismometer signal across all frequencies/amplitudes tested. We processed the raw recorded seismic accelerations by removing the sensor gain and applying a third-order bandpass butterworth filter, followed by a double integration to obtain displacements. The bandpass filtering is required to remove long-period tilting and high-frequency spikes, both induced by the shake table. These same filters were applied also to all subsequent GPS time series derived from the shake table sine tests. In Fig. 10, we see that there is no shift in amplitude, frequency or phase between the seismic displacement waveforms and the inductive transducer measurements in a broadband frequency range, even at highest 20 Hz. The seismic sensor even tracks the nonlinear performance of the shake table at high frequencies, where it cannot exactly produce the input sine wave. This level of performance is what we expect from high-quality seismic instrumentation.

Fig. 10
figure 10

Comparison between seismometer (red) and inductive transducer (black) measurements for a set of different sine oscillations. There is no significant variation in the signals. This demonstrates that the displacement transducer accurately records the ground motion of the shake table, and the accelerometer response in the frequencies tested has no frequency, phase or amplitude error

3.3 Dynamic stress error analysis

As described in Sect. 2.1, the loop filter is a crucial tool for reducing the thermal noise to ensure reliable tracking. The impact of different bandwidths on the system noise (magnitude and correlations) has been demonstrated in Sect. 2 for different incoming carriers with their specific signal strengths. The filter design, mainly described by the order and bandwidth, directly determines the response to dynamics. Figure 11 (top) shows the effect of the PLL-induced error on sine oscillations with frequencies of 1 Hz and 10 Hz, measured with a CA/L1 third-order \(B_{\text {L}}\) of 10 Hz (blue) and 50 Hz (red). The deviation of the GPS measurements from the ground truth (black) is dependent on the acceleration (or jerk) as well as on the loop filter bandwidth \(B_{\text {L}}\) used. Independent of the \(B_{\text {L}},\) the main frequencies of the motions are perfectly determined (see Fig. 11 bottom).

Fig. 11
figure 11

100 sps GPS measurements of a 1 Hz (top left) and a 10 Hz (top right) sine oscillation generated by the shake table. The blue coordinates are derived from CA/L1 measurements with a third-order PLL and a \(B_{\text {L}}\) of 10 Hz compared to a \(B_{\text {L}}\) of 50 Hz (red) and the ground truth (black). For the 1 Hz signal, amplitude and phase match well, though there is a degradation for the 10 Hz \(B_{\text {L}}\). In the case of the 10 Hz signal, neither \(B_{\text {L}}\) matches phase or amplitude. At the bottom, we show amplitude spectra for these motions showing that the actual frequency is tracked in all cases

For the analysis of these tracking errors in the frequency range above 1 Hz, a simplified PLL model has to be introduced. Due to the consideration of only stable tracking processes, the phase error estimated by the discriminator is small and can be assumed as linear around zero phase (Curran et al. 2012). This allows the representation of the digital PLL baseband functions (see Sect. 2.1) by a linear \(z\)-domain model with its update rate \(T\) (see Fig. 12). The multiplication with \(z^{-1}\) in the \(z\)-domain corresponds to a time shift by one sampling interval in the time domain.

Fig. 12
figure 12

Simplified z-domain model of a digital PLL

The transfer function \(F(z)\) for the loop filter can be expressed by the parameters \(\alpha , \beta , \gamma \) as simple rectangular integrators with the corresponding integration time \(T\) as follows:

$$\begin{aligned} F(z)= & {} \alpha + T\frac{\beta }{1-z^{-1}} + T^{2}\frac{\gamma }{(1-z^{-1})^2} \nonumber \\= & {} \frac{k_{1}+k_{2}z^{-1}+k_{3}z^{-2}}{1-2z^{-1}+z^{-2}} \end{aligned}$$
(2)

with

$$\begin{aligned}&k_{1} = \alpha + {T}\beta + {T^2}\gamma \\&k_{2} = -2\alpha -{T}\beta \\&k_{3} = \alpha . \end{aligned}$$

The transfer function \(N(z)\) of the numerically controlled oscillator (NCO) is modeled as an ideal integrator with a reference delay

$$\begin{aligned} N(z)=T\frac{z^{-1}}{1-z^{-1}}. \end{aligned}$$
(3)

Due to the linearity of the discriminator output \(E(z)\) around zero phase, the transfer function \(H(z)\) of a closed loop (\(E(z)= X(z)-Y(z)\)) with its input \(X(z)\) and output signal \(Y(z)\) can be written as follows:

$$\begin{aligned} H(z)= & {} \frac{Y(z)}{X(z)} = \frac{F(z)N(z)}{1+F(z)N(z)}\nonumber \\= & {} \frac{a_{1}z^{-1}+a_{2}z^{-2}+a_{3}z^{-3}}{1+b_{1}z^{-1}+b_{2}z^{-2}+b_{3}z^{-3}} \end{aligned}$$
(4)

with

$$\begin{aligned}&a_{1} = k_{1}T,\ a_{2} = k_{2}T,\ a_{3} = k_{3}T,\ b_{1} = a_{1}-3,\\&b_{2} = a_{2}+3,\ \text {and}\ b_{3} = a_{3}-1. \end{aligned}$$

The parameters of a second-order PLL (\(\gamma = 0\)) can directly be derived from the corresponding analog filter implementation. The standardized parameters \(\alpha \) and \(\beta \) are expressed by the natural frequency \(\omega _{0}\) and the damping factor \(\zeta \) which is usually set to 0.707:

$$\begin{aligned} \alpha = 2\zeta \omega _{0}, \quad \beta = \omega _{0}^2. \end{aligned}$$
(5)

The relation between \(\omega _{0}\) and the single-sided noise bandwidth \(B_{\text {L}}\) is given by Karras (1965)

$$\begin{aligned} B_{\text {L}} = \frac{4\zeta ^2+1}{8\zeta }\omega _{0}. \end{aligned}$$
(6)

For the modeling of the expected dynamic GPS behaviour, the given ground truth (inductive transducers) as the input \(X(z)\) can directly be multiplied with the theoretical transfer function \(H(z)\) with its specific parameters:

$$\begin{aligned} Y(z) = X(z)H(z). \end{aligned}$$
(7)

Figure 13 shows the comparison of a 1 cm step generated by the shake table (max. acceleration of 2 g) between 100 sps GPS measurements (blue) and the inductive transducers (black). This step derived from CA/L1 GPS measurements of a Javad Sigma-G3TAJ (\(B_{\text {L}}\) = 10 Hz, 2nd order) has been stacked several hundred times to reduce noise and multipath effects for better visualization. The stress error (impulse response) is well visible as a delay (phase shift) at the beginning of the acceleration and as overshooting and settling characteristics after the step. The black diamonds represent the predicted GPS signal \(Y(z)\) (Eq. 7) with the second-order parameter set given by Eq. (5) which perfectly corresponds to the GPS measurements \(\tilde{Y}(z)\).

Fig. 13
figure 13

A 1 cm step in the displacements derived from 100 sps GPS data (blue) measured by a Javad Sigma-G3TAJ based on a second-order CA/L1 \(B_{\text {L}}\) of 10 Hz. Compared with the inductive transducers (black), the influence of the receiver transfer function can be seen by a delay and an overshooting. The simulated GPS (black diamonds) computed with Eq. (7) and the 100 sps CA/L1 GPS measurements (blue), both with the same PLL parameters, perfectly match \(Y(z) \approx \tilde{Y}(z)\)

To prevent possible cycle slips and loss of lock due to existing dynamics such as SV Doppler drift and oscillator frequency drift, the unguided CA/L1 PLL in GNSS receivers is generally designed as third-order. For the filter parameters \(\alpha \), \(\beta \), and \(\gamma \) of a third-order PLL, different settings exist that can yield diverging corner frequencies. Additionally, the implementation of third-order PLLs is more critical due to the stability of the poles and zeros. Therefore, a reliable prediction for these errors induced by the PLL can only be achieved by the provided parameters from the GNSS receiver manufacturers.

For the following representation of the stress error determined by the shake table experiment and the comparison with the theoretical values \(Y(z)\), the total error is split into a relative amplitude error \(\eta \) and a phase shift \(\Delta \phi \):

$$\begin{aligned} \eta = \frac{A_{\text {GPS}}}{A_{\text {ind}}}, \quad \Delta \phi = \phi _{\text {GPS}}-\phi _{\text {ind}}, \end{aligned}$$
(8)

where amplitude \(A\) and the phase \(\phi \) were estimated by a discrete Fourier transform (DFT) for GPS and inductive transducer measurements. The frequencies determined by GPS and the inductive transducers perfectly match for all generated oscillations (see also Fig. 11).

The amplitude of the error \(\eta \) is normed (see Eq. 8) and only dependent on the unit acceleration and jerk which are defined by the frequency. The \(\eta \) determined for sine oscillations with different amplitudes and frequencies from 1 to 20 Hz is summarized in Fig. 14 with loop filter bandwidths of 10 Hz (blue), 25 Hz (green), and 50 Hz (red). The uncertainties in the amplitude determination are slightly higher than for the phase differences shown in Fig. 15. It can be seen that the relative amplitude errors \(\eta \) are not fully identical for sine oscillations with a specific frequency, but different amplitudes. But the agreement with the simulated errors based on the provided filter parameters from Javad is extremely good. Only the phase error at 20 Hz slightly differs from the theoretical model.

Fig. 14
figure 14

The relative amplitude error \(\eta \) dependent on the motion frequency for CA/L1 \(B_{\text {L}}\) of 10 Hz (blue), 25 Hz (green), and 50 Hz (red) measured by a Javad Sigma-G3TAJ. The solid lines represent the error \(\eta \) simulated by Eq. (7) and the parameter set provided by Javad. The dashed line marks the response of the broadband seismometer compared to the inductive transducer

Fig. 15
figure 15

The relative phase error \(\Delta \phi \) dependent on the motion frequency for CA/L1 \(B_{\text {L}}\) of 10 Hz (blue), 25 Hz (green), and 50 Hz (red) measured by a Javad Sigma-G3TAJ. The solid lines represent the error \(\Delta \phi \) simulated by Eq. (7) and the parameter set provided by Javad. The dashed line marks the response of the broadband seismometer compared to the inductive transducer

The relative amplitude error reaches up to 40 % independent of the loop filter bandwidth used. A wider bandwidth helps to suppress the amplitude error only for frequencies below 5 Hz. At least the phase error for 10 Hz motions using a 50 Hz bandwidth does not exceed 10 degrees. Without the knowledge of the exact tracking loop parameters, it is extremely hard to propagate the error over the frequency spectrum (see also Fig. 18).

As demonstrated in Sect. 2.4, the P2/L2 signal with its narrow bandwidth is guided by the CA/L1 loops (especially visible in Fig. 4) to improve the dynamic behaviour. Therefore, the resulting stress errors of P2/L2 carrier phase measurements are mainly determined by the CA/L1 PLL parameters; see Figs. 16 and 17. The relative amplitude error \(\eta \) of P2/L2 measurements are bigger than the errors retrieved from the CA/L1 carrier phase measurements. But both transfer functions show the same natural frequency and the phase errors are almost identical.

Fig. 16
figure 16

The relative amplitude error \(\eta \) of CA/L1 (squares) and P2/L2 (diamonds) measurements dependent on the motion frequency for a CA/L1 \(B_{\text {L}}\) of 10 Hz. The guided P2/L2 has a \(B_{\text {L}}\) of 3 Hz and shows slightly higher amplitude errors, but the same natural frequency

Fig. 17
figure 17

The phase error \(\Delta \phi \) of CA/L1 (squares) and P2/L2 (diamonds) measurements dependent on the motion frequency for a CA/L1 PLL \(B_{\text {L}}\) of 10 Hz. The guided P2/L2 PLL has a \(B_{\text {L}}\) of 3 Hz and shows almost identical phase errors

Figure 18 shows the relative amplitude error \(\eta \) for the two additional receivers, Leica 1200 (black squares) and NovAtel DL-4plus (diamonds), both with a third-order CA/L1 \(B_{\text {L}}\) of 15 Hz. An accurate and reliable determination of the amplitudes of the 7 and 10 Hz sine oscillations was not possible anymore due to the maximum sampling rate of 20 sps. The parameters of the loop filter are unknown. The transfer function based on the Javad parameter setting (black thick line) corresponds much better to the measured values than the function calculated with the parameters from Ward et al. (2006) (dashed line). The different shape and natural frequency of the transfer functions demonstrate the necessity to know the exact parameters from the manufacturers. The knowledge of the transfer function can be used for error prediction without extensive measurement experiments on the one hand and for the correction of these errors by inverse filtering on the other (see Sect. 3.4).

Fig. 18
figure 18

The relative amplitude errors dependent on the motion frequency for different receivers: Leica 1200 (black squares), NovAtel DL-4plus (diamonds) both with a loop filter bandwidth of 15 Hz, and Javad Sigma-G3TAJ with a bandwidth of 25 Hz (green). The thick lines correspond to third-order transfer functions with the parameter setting of Javad for a \(B_{\text {L}}\) of 15 Hz (black) and 25 Hz (green). The dashed line marks the transfer function with the third-order parameters defined by Ward et al. (2006) for a \(B_{\text {L}}\) of 15 Hz

3.4 Inverse filtering

Due to the large errors, even for a wide bandwidth of 50 Hz, a minimization of the amplitude and phase errors can only be achieved by inverse filtering. The measured values and the modelled transfer function for the Javad Sigma-G3TAJ match very well (see Figs. 14 and 15). This allows the direct usage of the inverted transfer function from Eq. (4)

$$\begin{aligned} H(z)^{-1}=\frac{1+b_{1}z^{-1}+b_{2}z^{-2}+b_{3}z^{-3}}{a_{1}z^{-1}+a_{2}z^{-2}+a_{3}z^{-3}}. \end{aligned}$$
(9)

The corrected signal \(\tilde{X}(z)\) can easily be calculated by the displacements \(\tilde{Y}(z)\) measured by GPS and the known transfer function \(H(z)\)

$$\begin{aligned} \tilde{X}(z) = H(z)^{-1}\tilde{Y}(z). \end{aligned}$$
(10)

The application of the inverse filtering to a 5 Hz sine oscillation of 100 sps GPS measurements (green) is demonstrated in Fig. 19. The Javad Sigma-G3TAJ CA/L1 measurements \(\tilde{Y}(z)\) with a third-order PLL and a \(B_{\text {L}}\) of 25 Hz (green) are filtered with the known transfer function \(H(z)\) with the provided parameters from Javad. The resulting signal \(\tilde{X}(z)\) (blue) is in good agreement with the ground truth \(X(z)\) (black) apart from additional measurement noise.

Fig. 19
figure 19

A 5 Hz sine oscillation measured by GPS with a CA/L1 third-order \(B_{\text {L}}\) of 25 Hz (green) and inductive displacement transducers (ground truth) \(X(z)\) (black). The blue signal shows the inverse-filtered GPS ground motion \(\tilde{X}(z)\)

4 Discussion and conclusions

In traditional seismology practice, researchers expect that instrument providers deliver sensors with known response. Indeed, modern broadband instrumentation behaves in such a way that across very wide frequency bands, from 100 Hz–100 s (broadband high gain velocity sensors) or even 200 Hz–DC (broadband strong motion accelerometers), the nominal sensor response to input ground motions is directly proportional to velocity and acceleration, respectively. When working within these wide frequency bands, researchers do not even need to know the sensor response and can simply remove a gain factor. When they do need to know the response, instrument manufacturers provide response information in standard formats (see for example the IRIS Nominal Response Library, NRL (http://www.iris.edu/NRL/) that can be easy used. In many cases, nominal responses are sufficient as instruments are manufactured with little response variation. Nevertheless, it is typical for instrument manufacturers to deliver instruments with calibrated response information.

For GNSS seismology, the response of the instrument has hitherto been ignored—it is assumed from the Nyquist frequency to DC that the ground motion derived from data processing routines is displacement. We show in this paper that for a suite of different GNSS receivers, this approximation is satisfactory for motions up to 1 Hz (as has also been shown by various studies comparing earthquake recordings from 1 sps GNSS and co-located seismic data), but breaks down at higher sampling rates. Depending on the frequency of the input motion and the receiver settings, higher frequency ground motions estimated from GNSS receivers differ significantly from the input motion. We argue that when GNSS data are recorded and interpreted above 1 Hz, the response of the receiver needs to be known and taken into account. Users should also be aware that changing simple phase-locked loop settings can have dramatic impacts on the response of the sensor at high frequencies and the data recorded are not corrected for this effect. The problem is not insignificant. For the three cases of different instruments and settings investigated in this experiment, we show in Fig. 14 that amplitudes even at 3 Hz can be overestimated by 50 %, and between 10 and 20 Hz amplitudes can also be overestimated by 50 % or reduced by well over half. Phase errors between 30 and 90 degrees can be expected. On a positive note, across the amplitudes (with produced peak accelerations up to 1.28 g, see Table 1) tested in this paper, we do not observe any nonlinear behaviour related to changing amplitudes. It has been shown that the correction of the receiver response is possible if the exact baseband parameters are known. Due to the linear amplitude factor, the inverse transfer function can directly be applied to the final coordinates. This is a big advantage because the presence of high and correlated noise on the raw slant range measurements would make the inverse filtering extremely difficult. Another positive aspect for the applicability in large geodetic networks is the guiding of the L2 signal by the CA/L1 PLL (see Figs. 4 and 7) which yields a very similar behaviour across high frequencies for L1 and L2 measurements (see Figs. 16 and 17). The receiver response is a single receiver problem and as such baseline independent; therefore, it can be applied to receivers separated by arbitrary baseline lengths.

In contrast to the performance of the GNSS at high frequencies, Figs. 10, 14 and 15 demonstrate that the accelerometer response with a constant amplitude gain and no frequency or phase variation across these frequencies is simple.