# An Improved Predicted Model for BDS Ultra-Rapid Satellite Clock Offsets
## 4 Improved Algorithms
### Nonlinear Error Corrections by Using a BP Neural Network Model  
By using a quadratic polynomial plus periodic term corrections model, the fitting residuals of the BDS clock offset series still contain various nonlinear colored noise (see Figure 6). The power spectral density function of colored noise is not constant [27; 37]. However, the colored noise is irregular on the early performance and it is difficult to fit the conventional model effectively. There are five most significant noises, including random work frequency modulation (RWFM), flicker frequency modulation (FFM), white frequency modulation (WFM), flicker phase modulation (FPM), and white phase modulation (WPM) in the atomic clock offset sequences [23; 27], and they cannot be effectively eliminated by the conventional fitting model. Therefore, a neural network of higher sensitivity and nonlinearity should be adopted to further compensate for the residuals. BP neural networks (BPNN) have strong a non-linear fitting ability which can map complex non-linear relationships. The learning rules of the BPNN are simple and easy to implement by computer. It has strong robustness, memory ability, nonlinear mapping ability, and a strong self-learning ability [38; 39; 40]. BPNNs can learn and store a large number of input, output, and feedback information [41; 42; 43]. The learning rule is to use the steepest descent method to continuously adjust the weights of the network by back propagation values and thresholds, so that the sum of the squares of the error of the network are at a minimum. A single BPNN which contains two layers is shown in Figure 8[26; 44]. As shown in Figure 8, the model needs input and output data to train the BPNN. Two days' worth of clock offsets are used to fit and gain the BPNN model parameters. In this model, the input data is the first day residuals and the expectation output data is the second day residuals. The network process is mainly divided into two sections, the first one is the forward spread from the input layer through the hidden layer to the output layer; and the other is the error's back propagation, which  
Figure 8: The BP neuron network. is contrary to the forward transmission steps [45; 46; 47]. Adjusting the weights and offsets by the back propagation errors [26; 48], can be expressed by:  
\[S_{k}=\sum_{j=1}^{l}\omega_{jk}h\big{(}net_{j}\big{)}=\sum_{j=1}^{l}\omega_{jk}g \left(\frac{\sum_{i=1}^{n}\omega_{ij}x_{i}-c_{j}}{d_{j}}\right) \tag{6}\]  
where \(i=1\cdots n\), \(j=1\cdots l\), \(k=1\cdots m\); \(g(x)\) is the hidden layer driving function which adopt the sigmoid function and its expression is \(g(x)=1/1+\mathrm{e}^{-x}\)[49; 50; 51; 52]. \(x_{i}\) is the neural network input values, which are the fitting residuals of the clock offset sequences in this paper, \(x_{i}=[x_{0},x_{1},x_{2},\cdots,x_{n}]\). \(n\), \(l\), and \(m\) are the number of input, hidden, and output layer, respectively [53; 54; 55]. As for the number of hidden layer neurons, if the number is larger, the network shows greater expressive ability. One and six neurons are selected for input and hidden layers in this study [26; 54]. Since the output is the residual series of the clock offset, the output neuron is chosen as \(1\), using \(g(x)\) to train the residual data, the error of hidden layer is \(H_{j}\) and the error of output layer is \(O_{k}\), which shown as Equations (7) and (8):  
\[H_{j}=g(\sum_{i=1}^{n}\omega_{ij}x_{i}-c_{j}) \tag{7}\]  
\[O_{k}=\sum_{j=1}^{l}H_{j}\omega_{jk}-d_{j} \tag{8}\]  
where \(w_{ij}\) and \(w_{jk}\) are the weights of the input layer to the hidden layer and the hidden layer to the output layer. The parameters \(c_{j}\) and \(d_{j}\) are the dilation and the translation parameters of the node \(j\) in the hidden layer. The process of training a neural network involves tuning the values of the weights and biases of the network to optimize network performance, as defined by the network performance function [26; 55; 56].