Keywords

1 Introduction

The traditional linear frequency search method is widely used in GNSS receivers because of the existence line-of-sight channels between the satellite and the receiver. However, in the Time & Code Division-Orthogonal Frequency Division Multiplexing (TC-OFDM) system, the channel from the base station to the receiver is a typical random access channel [1]. Compared with satellite channels, the variation of terrestrial channel parameters is larger, which leads to the failure of linear frequency search. Therefore, how to improve the success rate and efficiency of TC-OFDM receiver in frequency-capture on the ground-weak channel is an important research direction.

Compared with the GNSS, the residual carrier of the TC-OFDM receiver is mainly caused by the crystal error [2] and needs to be peeled off by the digital controlled oscillator and the digital mixer in the receiver baseband processor. The receiver must make the residual carrier less than a certain threshold before it enters the tracking loop. The process of acquiring residual carriers is called frequency capture or frequency search [1]. In the GNSS receivers, FFT search method and linear frequency search method are commonly used for frequency search [3,4,5]. Among them, the FFT search method requires a dedicated FFT module and amount of computation is large. And the linear frequency search method is greatly affected by the channel and is not suitable for TC-OFDM systems working on the terrestrial weak channel.

Aiming at the problem of TC-OFDM frequency acquisition on the weak ground channel, this paper presents a high-precision frequency estimation method. By using a plurality of parallel down-converters and integrator cleaners, the stored radio frequency signals are down converted and integrated with a plurality of local frequencies, then using the cubic spline interpolation algorithm to fit the integral result and finally the residual carrier frequency estimate is obtained. The simulation results show that in the terrestrial fading channels, compared with the traditional linear frequency search method, the proposed algorithm can improve the acquisition accuracy of TC-OFDM receiver, the mean value of the frequency estimation error is less than 1 Hz reaching the request of the receiver phase-locked loop.

2 Parallel Frequency Search Model

2.1 Ground Weak Channel

The traditional linear frequency search method is widely used in GNSS receivers because of the line-of-sight channels between the satellite and the receiver. According to literature [3], in TC-OFDM system, the channel from base station to receiver is a typical random channel, and the amplitude \( A_{IF} \) of the signal is a Rayleigh distribution random variable. Since \( A_{IF} \) fluctuates randomly and violently many times in one second, the non-related integral value \( P \) obtained from Eq. (10) also fluctuates violently, which resulting the failure of traditional linear frequency search.

2.2 Parallel Frequency Search Method

In order to adapt to the terrestrial fading channel and solve the influence of the rapid and random change of the signal amplitude on the frequency search, the TC-OFDM system adopts the parallel frequency search method, and the algorithm structure diagram is shown in Fig. 1.

Fig. 1
figure 1

Structure of parallel residual carrier frequency searching

In this architecture, there are multiple parallel down-converter & integration units that can down-convert and integrate with multiple local frequencies simultaneously. Each of these units is similar to the traditional linear search method.

IF signal can be obtained from the RF signal that received by the antenna through down-conversion at RF front-end and filter by low-pass filter. The IF signal is split into two channels I, Q into the baseband processor, namely:

$$ s_{IF,I}^{(i)} (t) = A_{IF}^{(i)} m^{(i)} (t - \tau^{(i)} )c^{(i)} (t - \tau^{(i)} )\cos [2\pi (f_{IF} + f_{d}^{(i)} )t + \theta_{IF}^{(i)} ] + n_{I} (t) $$
(1)
$$ s_{IF,Q}^{(i)} (t) = A_{IF}^{(i)} m^{(i)} (t - \tau^{(i)} )c^{(i)} (t - \tau^{(i)} )\sin [2\pi (f_{IF} + f_{d}^{(i)} )t + \theta_{IF}^{(i)} ] + n_{Q} (t) $$
(2)

In the formula, \( m^{(i)} \) is the navigation message, \( A_{IF}^{(i)} \) is the IF signal amplitude, \( c^{(i)} \) is the spreading code, \( \tau^{(i)} \) is the propagation delay of signal from base station to receiver antenna, \( f_{d}^{(i)} \) is the residual frequency caused by Doppler frequency and receiver crystal deviation, \( \theta_{IF}^{(i)} \) is the first phase of the IF, \( f_{IF} \) is the IF signal, \( n_{I} \),\( n_{Q} \) are the noise signal. Superscript \( (i) \) represents signals from different base stations. The signals of each base station are initially mixed at the receiver antenna and then down-converted via the RF front end. The signal received by the baseband processor is

$$ s_{IF} (t) = \sum\limits_{i} {(s_{IF,I}^{(i)} + js_{IF,Q}^{(i)} ) + n(t)} $$
(3)

where \( n(t) \) the noise signal.

The digitally controlled oscillator in the baseband processor produces mutually orthogonal sine and cosine signals:

$$ u_{os} (t) = \sin (2\pi f_{NCO} t + \theta_{NCO} ) $$
(4)
$$ u_{oc} (t) = \cos (2\pi f_{NCO} t + \theta_{NCO} ) $$
(5)

Among them, \( f_{NCO} \) and \( \theta_{NCO} \) are respectively the numerical control oscillator frequency and initial phase. In order to further strip the carrier, the carrier striping module in the baseband processor performs the following operation:

$$ \begin{aligned} i = \,& s_{IF,I} \cdot u_{oc} + s_{IF,Q} \cdot u_{os} \\ = \, & A_{IF} m(t - \tau )c(t - \tau )\cos [2\pi (f_{d} - f_{NCO} )t + (\theta_{IF} - \theta_{NCO} )] \\ \end{aligned} $$
(6)
$$ \begin{aligned} q = \, & s_{IF,Q} \cdot u_{oc} - s_{IF,I} \cdot u_{os} \\ = \, & A_{IF} m(t - \tau )c(t - \tau )\sin [2\pi (f_{d} - f_{NCO} )t + (\theta_{IF} - \theta_{NCO} )] \\ \end{aligned} $$
(7)

In a zero IF receiver, \( f_{d} \) is zero. In order to facilitate the analysis, the noise and superscript \( (i) \) are ignored here.

In the capture process of the TC-OFDM system, the capture of the TXID portion has completed the pseudo-code synchronization. Therefore, the following content is carried out under the condition which the pseudo-code synchronization has been completed. The frequency capture is to find the frequency \( f_{L} \) of local numerically controlled oscillator, and make \( f_{L} \) approximately equal to \( f_{d} \). Since the period of the navigation message is much longer than the integration period, then assumed that \( m(t) \) is a constant value in one integration time. The integrator in the down-conversion & integral unit of Fig. 1 performs the integral operation as follows:

$$ \begin{aligned} I = & \int\limits_{0}^{{T_{s} }} {A_{IF} } c^{2} (t - \tau )\cos [2\pi (f_{d} - f_{NCO} )t + (\theta_{IF} - \theta_{NCO} )]dt \\ = \, & A_{IF} T_{s} {\text{sinc}}[(f_{d} - f_{NCO} )T_{s} ]\cos [\pi (f_{d} - f_{NCO} )T_{s} + (\theta_{IF} - \theta_{NCO} )] \\ \end{aligned} $$
(8)
$$ \begin{aligned} Q = & \int\limits_{0}^{{T_{s} }} {A_{IF} } c^{2} (t - \tau )\sin [2\pi (f_{d} - f_{NCO} )t + (\theta_{IF} - \theta_{NCO} )]dt \\ = \,& A_{IF} T_{s} {\text{sinc}}[(f_{d} - f_{NCO} )T_{s} ]\sin [\pi (f_{d} - f_{NCO} )T_{s} + (\theta_{IF} - \theta_{NCO} )] \\ \end{aligned} $$
(9)

Then the final non-coherent integration value is:

$$ P = I^{2} + Q^{2} = A_{IF}^{2} T_{s}^{2} {\text{sinc}}^{2} [(f_{d} - f_{NCO} )T_{s} ] $$
(10)

As can be seen from the above equation, when the integral time \( T_{s} \) and the intermediate frequency amplitude \( A_{IF} \) is a fixed value, the output of the non-coherent integration is a function of the difference between the numerically controlled oscillator frequency \( f_{NCO} \) and the residual carrier frequency \( f_{d} \), the image of which is shown in Fig. 2

Fig. 2
figure 2

Relationship between integral output and frequency difference

According to the nature of the sinc function, the maximum of the integral output \( P \) appears where the frequency offset is zero, the value of \( P \) is symmetric about \( f_{d} - f_{NCO} = 0 \), and the width of the main lobe is \( 2/T_{s} \). In the process of parallel frequency search, Multiple Carrier NCOs in different parallel down convertor and integrator (DC&INT) units generate multiple local frequencies \( f_{NCO1} ,f_{NCO2} , \ldots ,f_{NCOn} \) at the frequency interval \( \Delta f \), After the integration of interval \( T_{s} \), n results \( P_{1} ,P_{2} , \ldots ,P_{n} \) are obtained. Compared all P values to get the maximum value and the corresponding frequency is the closest to the real. In order to ensure that there is at least one search frequency within the width of the main lobe, the maximum frequency interval \( \Delta f \) can not exceed \( 1/T_{s} \).

In the parallel frequency search method, the frequency search accuracy depends on the size of the preset frequency interval \( \Delta f \), and the maximum error is \( \Delta f/2 \). In a certain frequency band, the smaller the frequency interval \( \Delta f \) is, the more accurate the frequency search result is. However, the more the preset frequency points are, the more the number of cells is and the more computation is required, which is hard to implement in hardware. The residual carrier estimation method can greatly improve the accuracy of frequency search with only a small amount of computation added.

3 Non-coherent Early Mix Late Method

3.1 Least Squares Fitting Algorithm

According to the nature of the function, in the field of the main lobe width, chose multiple frequency points integral results to perform quadratic fitting algorithm. The mathematical model is

$$ Y = ax^{2} + bx + c $$
(11)

Select the three largest \( n \) results of the integration of the three results \( p_{j} \), \( p_{k} \), \( p_{l} \), then make up the array \( p_{j} \), \( p_{k} \), \( p_{l} \), which corresponding local frequency \( f_{NCOj}^{2} \), \( f_{NCOk} \), \( f_{NCOl} \). According to the above Eq. (11), three equations are established. Write it as a matrix:

$$ Hu = Y $$
(12)

Among them:

$$ H = \left[ {\begin{array}{*{20}c} {f_{NCOj}^{2} } & {f_{NCOj} } & 1 \\ {f_{NCOk}^{2} } & {f_{NCOk} } & 1 \\ {f_{NCOl}^{2} } & {f_{NCOl} } & 1 \\ \end{array} } \right],\quad u = \left[ {\begin{array}{*{20}c} a \\ b \\ c \\ \end{array} } \right],\quad Y = \left[ {\begin{array}{*{20}c} {P_{j} } \\ {P_{k} } \\ {P_{l} } \\ \end{array} } \right] $$

where \( u = \left[ {\begin{array}{*{20}c} a & b & c \\ \end{array} } \right]^{T} \) is the coefficient of the quadratic curve and can be found from the above equation:

$$ u = (H^{T} H)^{ - 1} H^{T} Y = H^{ - 1} Y $$
(13)

Finally, according to the vertex formula of the quadratic curve, the corresponding frequency of the vertex fitting is taken as the result of the parallel frequency acquisition:

$$ f_{d} = - \frac{b}{2a} $$
(14)

3.2 Cubic Spline Interpolation

The cubic spline interpolation uses the special piecewise polynomial interpolation, which not only guarantees the sub-order low-order interpolation polynomial, but also improves the smoothness of the interpolation function. Using cubic spline interpolation can not only achieve smaller interpolation error but also avoid the Runge phenomenon which occurs when using higher order polynomials.

Let \( [a,b] \) be an interpolated node, \( a = x_{0} < x_{1} < \cdots < x_{n} < b \), given the function \( y_{i} = f(x_{i} ) \), \( i = 0,1, \ldots ,n \) at each node \( x_{i} \). If function \( S(x) \) satisfies the conditions that \( S(x) = y_{i} (i = 0,1, \ldots ,n) \), \( S(x) \) are all the polynomial which order is three times and below three times. When \( S(x) \) has a second-order continuous derivative at \( [a,b] \). \( S(x) \) is called cubic spline interpolation function.

In a cubic spline interpolation function, it is required that \( S(x) \) only need to determine one polynomial in each subinterval \( [x_{i} ,x_{i + 1} ] \).

$$ S_{i} (x) = a_{i} x^{3} + b_{i} x^{2} + c_{i} x + d_{i} ,(i = 0,2, \ldots ,n - 1) $$
(15)

where \( a_{i} ,b_{i} ,c_{i} ,d_{i} \) is to be determined and the following continuity conditions are to be satisfied:

$$ S(x_{i} - 0) = S(x_{i} + 0), $$
$$ S'(x_{i} - 0) = S'(x_{i} + 0), $$
$$ S''(x_{i} - 0) = S''(x_{i} + 0). $$

In this case, there are \( 3n - 3 \) conditions in total. When \( S(x) \) satisfies the interpolation condition \( S(x) = y_{i} (i = 0,1, \ldots ,n) \), there are \( 4n - 2 \) conditions. \( S(x) \) needs to determine 4 undetermined coefficient on each small inter-cell \( [x_{i} ,x_{i + 1} ] \) and there has a total of n small inter-cells. Therefore, there are 4n parameter need to be determined. In order to uniquely identify cubic spline interpolation functions, two additional boundary conditions are added. Common boundary conditions are: first-order boundary conditions, second-order boundary conditions, periodic boundary conditions. The actual problem is usually given by the state requirements of the cubic spline interpolation at the endpoints.

First-order boundary conditions: the first derivative value at the given endpoint, \( S'(x_{1} ) = y_{1} ' \), \( S'(x_{n} ) = y_{n} ' \).

Second-order boundary conditions: the second derivative value at the given endpoint, \( S''(x_{1} ) = y_{1} '' \), \( S''(x_{n} ) = y_{n} '' \).

Periodic boundary conditions: If \( {\text{y}} = f(x) \) it is a periodic function with period of \( b - a \), then \( S(x) \) satisfies the conditions at the endpoints that

$$ S^{\prime}(x_{1} + 0) = S^{\prime}(x_{n} - 0),\quad S^{\prime\prime}(x_{1} + 0) = S^{\prime\prime}(x_{n} - 0) $$

In this paper, using the first-order boundary conditions, the second-order derivative at the node is used to represent the cubic spline interpolation function.

Let \( h_{i} = x_{i} - x_{i - 1} \), \( S''(x_{i} ) = M_{i} (i = 0,1, \ldots ,n) \), obtained by cubic Hermite interpolation, n-1 equations with n pending parameters \( M_{i} \):

$$ \mu_{j} M_{j - 1} + 2M_{j} + \lambda_{j} M_{j + 1} = g_{j} (j = 2,3, \ldots ,n - 1) $$
(16)

where, \( \left\{ {\begin{array}{*{20}l} {\mu_{j} = h_{j - 1} /(h_{j - 1} + h_{j} )} \hfill \\ {\lambda_{j} = 1 - \mu_{j} } \hfill \\ {g_{j} = 6\left( {\frac{{y_{j + 1} - y_{j} }}{{h_{j} }} - \frac{{y_{j} - y_{j - 1} }}{{h_{j - 1} }}} \right)\frac{1}{{h_{j - 1} + h_{j} }}} \hfill \\ \end{array} } \right. \)

Bring the boundary conditions \( S'(x_{1} ) = y'_{1} \), \( S'(x_{n} ) = y'_{n} \), Write the system of equations in matrix form:

$$ \begin{aligned} \left[ {\begin{array}{*{20}c} 2 & {\alpha_{1} } & {} & {} & {} \\ {\lambda_{1} } & 2 & {\alpha_{2} } & {} & {} \\ {} & \ddots & \ddots & \ddots & {} \\ {} & {} & {\lambda_{n - 1} } & 2 & {\alpha_{n - 1} } \\ {} & {} & {} & {\lambda_{n} } & 2 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {M_{1} } \\ {M_{2} } \\ \vdots \\ {M_{{n{ - 1}}} } \\ {M_{n} } \\ \end{array} } \right]{ = }\left[ {\begin{array}{*{20}c} {{\text{g}}_{1} } \\ {{\text{g}}_{2} } \\ \vdots \\ {{\text{g}}_{n - 1} } \\ {g_{n} } \\ \end{array} } \right] \hfill \\ \hfill \\ \end{aligned} $$
(17)

where \( \alpha_{1} = 1 \), \( \lambda_{n} = 1 \), \( g_{1} = \frac{6}{{h_{1} }}\left( {\frac{{y_{2} - y_{1} }}{{h_{1} }} - y^{\prime}_{1} } \right) \), \( g_{n} = \frac{6}{{h_{n - 1} }}\left( {y^{\prime}_{n} - \frac{{y_{n} - y_{n - 1} }}{{h_{n - 1} }}} \right) \).

The coefficient matrix of the system of equation set (17) is tridiagonal and diagonally dominant. Therefore, there is a unique solution and then take the M into Eq. (16). Finally, we can construct the interpolation function \( S(x) \) in the interval of \( [a,b] \).

4 Algorithm Simulation and Analysis

By establishing the parallel frequency search model, this experiment simulates and analysis not only the cubic spline interpolation performance but also the performance of least squares fitting as compared. In MATLAB platform, this paper uses TC-OFDM system 8191 Code as a pseudo-random code, the integration time is 1.6382 ms, the signal center frequency is 754 MHz, the signal to noise ratio is −20 dB, the number of simulation is 100 and each simulation have 500–599 Hz different residual carrier RF signal data. The following uses the RF signal data with residual carrier at 502 Hz as an example for simulation analysis.

4.1 Algorithm Steps

  1. (1)

    The signal data is multiplied with the locally generated local code to align the spreading code with the local code.

  2. (2)

    Using 17 down-conversion & integration units to search the parallel frequency in the upper and lower 1600 Hz bands at 200 Hz intervals and then calculate seventeen related results. The \( f_{NCO} \) corresponding to the maximum correlation value is the residual carrier value obtained by the parallel frequency search.

  3. (3)

    Select three largest related results from the maximum of the 17 largest correlation values \( P_{i} \), \( i = 1,2, \ldots ,15 \) of parallel search to calculate the least squares fit curve and the maximum value of the curve is the residual carrier frequency value of the fine parallel frequency search.

  4. (4)

    Select the maximum correlation value of the maximum correlation value \( P_{i} \), \( i = 1,2, \ldots ,15 \) and the two sides of each of the two correlation results, a total of five, and calculate the cubic spline interpolation curve. The maximum value of the curve is the residual carrier frequency value of the fine parallel frequency search.

4.2 Experimental Results

In Fig. 3, using an integration time of 1.6382 ms, 1 Hz for the frequency interval, and the results obtained are shown in solid lines in the figure. As can be seen from the figure, the maximum of the solid line appears at 502 Hz. Therefore, we can see that the residual frequency of the collected IF data is 502 Hz.

Fig. 3
figure 3

Results of parallel frequency search

In actual receivers, the hardware resources are not sufficient to support parallel frequency search at 1 Hz intervals. The experiment uses 17 down-conversion & integral units to calculate the correlation results at intervals of 200 Hz. These results are marked with open squares in Fig. 3. It can be seen that 600 Hz frequency corresponding to the most relevant value and the result is shown in Fig. 3 as a solid square. In this case, the residual carrier frequency is considered as 600 Hz which the actual situation is quite different. In contrast, the result of the conventional linear frequency search is indicated by an asterisk in Fig. 3. It can be seen from the figure that the traditional linear frequency search has the largest correlation value at −200 Hz and does not match with the result of the solid line, so that the correct frequency search result can not be obtained.

In Fig. 4, under the same conditions, take three of the maximum correlation results of parallel frequency search, after using the least squares fitting method, using the maximum value of the curve at the frequency of 511 Hz as the parallel frequency search residual carrier frequency values. It can be seen that the error is 9 Hz compared with the actual residual frequency, which greatly improving the frequency search accuracy.

Fig. 4
figure 4

Least squares fitting curve figure

In Fig. 5, under the same conditions, the correlation results of the maximum parallel frequency search and two correlation results of both sides are selected, for a total of five. Then use the cubic spline interpolation and the adopt the value of the curve at the maximum value of 501 Hz as the parallel frequency search residual carrier frequency value. As can be seen, the error from the actual residual frequency is 1 Hz, which is higher than that of the least squares method.

Fig. 5
figure 5

Cubic spline interpolation curve

In Table 1, the accuracy of parallel frequency search results depends on the set frequency interval \( \Delta f \), the maximum error of \( \Delta f/2 \). After least-squares fitting, the error is less than the parallel frequency search, and the average error is about 1/6 of the parallel frequency search. After cubic spline interpolation, the mean error is about 1/11 of the least squares fit. The results show that cubic spline interpolation has higher fitting accuracy. Meanwhile, the variance of the capture error of the cubic spline interpolation is also smaller than that of the least square fitting. This shows that the error caused by the cubic spline interpolation on the variation of the residual carrier changes little when capturing signals containing different residual carriers.

Table 1 Statistical property of outcome under different acquisition methods

5 Conclusions

Based on the analysis of the traditional linear frequency search method, a high-precision frequency estimation method is proposed and simulated. Using multiple parallel downconverters and integral unit cleaner to down convert and integrate the stored RF signals and multiple local frequencies, using cubic spline interpolation algorithm to fit the integral result to finally obtain the residual carrier frequency estimation value. By comparing and analyzing the parallel frequency estimation algorithm of cubic spline interpolation with the traditional linear frequency search algorithm and the least square fitting algorithm, we can draw the conclusion that first of all the parallel frequency search method has the advantages of high frequency acquisition success rate and high frequency estimation accuracy under the weak terrestrial channel compared with the traditional linear frequency search method, secondly the fitting frequency estimation accuracy of cubic spline interpolation is higher than that of least square fitting frequency estimation, thirdly, the frequency estimation error of the parallel frequency estimation method including cubic spline interpolation is less than 1 Hz and the error variance is less than 0.5 Hz2 which fully meets the request of loop pull-in requirement of the phase-locked loop.