# A High-Precision Energy-Efficient GPS Time-Sync Method for High-Density Seismic Surveys
## 2 Development of the GPS Time-Synchronization Method
### Time-Synchronization Method
In the seismic survey, the frequency deviation is required to be as low as possible under the influence of temperature due to the complex environment. Of course, the start and stop operation of the instruments in the field needs a quick response of the crystal oscillator. In addition, the lower the power consumption of the crystal, the better the energy-efficient design. VCXO is a kind of crystal oscillator that can change the output frequency by adjusting the applied voltage. It is mainly used for phase-locked loop (PLL) or frequency trimming application [24]. However, its frequency shift is greatly affected by temperature; it is not suitable for the time service of this seismograph. The OCXO integrates a temperature control device. Thus, its power consumption is higher than that of VCXO and TCXO. Furthermore, the OCXO needs to be preheated. A large frequency offset will occur during the preheating process, which will cause a timing deviation. Therefore, we use the TCXO as the high-precision clock source for ADC and DAC. The working clock of ADC and DAC is 4.096 MHz. Due to the manufacturing process and other reasons, it is difficult to have a relatively low-frequency drift for a low-frequency crystal. In order to obtain a crystal with high reliability, low drift, and low power consumption, the XTAL OSC TCXO 16.3840 MHZ SNVV is selected as the time source. It has excellent frequency stability over temperature, low supply voltage, and highly reliable characteristics. In order to obtain an output of 4.096 MHz, we have designed a divide-by-four frequency divider for dividing the clock source. However, the signal output by the high-frequency crystal is a clipped sinewave. Thus, a circuit which performs clipped sinewave to CMOS signal is placed before the frequency divider. In the acquisition task, the MCU places the data collected by the AD into the FIFO, and whenever the FIFO is stored to a certain capacity, the MCU reads the seismic data from the FIFO and stores it into the SD card in the form of data block files. After obtaining valid GPS information for the first time after the instrument is turned on, the GPS time information obtained at this time is used as a file name to establish the folder name and the file name for the seismic data. The folder name and the file name format are shown in Figure 7. We can see that the time corresponding to the first seismic data point is the UTC time given by the seismic data file name. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Main Indicators/Type** & **VCXO** & **OCXO** & **TCXO** \\ \hline Frequency Shift by Temperature (ppm) & 15–25 & 0.0005–0.1000 & 0.1–5.0 \\ Frequency Aging (ppm/week) & 0.1 & (3\(\sim\)100) \(\times\) 10\({}^{-4}\) & 0.01 \\ Frequency Tolerance (ppm) & 1–25 & 0.5–5 & 0.5–5 \\ Power Consumption (mW) & 5–100 & (1\(\sim\)40) \(\times\) 10\({}^{3}\) & 15–200 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Main indicators of the crystal oscillator. Figure 7: Directory structure of seismic data files in the SD card. In this way, the first data of the first file is marked by the file name. The number of file blocks is increasing with the continuous collection of the sensor node. A new folder is created for data files only when one day has passed. Since the seismic data block size is set according to the specific data points, when collecting at a certain sampling rate, a data file index is established according to the folder directory and the file name. Thus, each seismic data point is time-stamped. For the synchronization of seismic data of multiple sensor nodes in a high-density seismic array, all the data can be aligned as long as searching the sampling point corresponding to the precise moment. However, due to the frequency tolerance of each crystal, frequency shift by temperature, and changes in different operating states, the crystal oscillator would have a frequency drift after a long period of operation. It has resulted in asynchrony between the multiple sensor nodes, which caused problems in data interpretation.