The present invention relates to a GNSS (Global Navigation Satellite System) receiver, more particularly, to a post correlation system for a GNSS receiver using FFT (Fast Fourier Transform) techniques.
Fast Fourier Transform (FFT), which is well known in digital signal processing, has been applied in satellite communication, such as GNSS (Global Navigation Satellite System). For a GNSS receiver, TTFF (Time to First Fix), which generally means that at least four satellite are found for 3D positioning, is always a key issue for a user. To improve the performance of TTFF, a long period of integration for acquiring a satellite signal is undesirable. FFT solution provides powerful ability to improve correlation speed and signal acquisition and tracking performances.
To acquire a satellite, at least three domains must be considered. The three domains include visible satellites, code phases and Doppler frequency bins. A set of a specific satellite, a specific code phase and a specific Doppler frequency bin is called a hypothesis. The receiver detects the signal, which is spread-spectrum coded, from a specific satellite by correlating the signal with delayed versions of a spreading code (e.g. PRN (Pseudo Random Noise) code). If the correlation result is sufficiently high, it means that the receiver hits the satellite. This is called “acquisition”. After that, the receiver uses the delayed spreading code to achieve synchronization with the signal transmission from the satellite. This is called “tracking”. For a specific satellite and a specific Doppler frequency bin, a GPS receiver needs to search 1023 code phases, for example. Conventionally, correlations for the 1023 code phases are done in a TDM (Time Division Multiplexing) manner. As can be known, it will take a long time. In addition, due to noises and other interference, the accuracy and sensitivity of the receiver are influenced. It will be desirable if an additional process is provided after correlation to promote the receiver performances. FFT is a suitable solution to satisfy these requirements. FFT solution provides powerful correlating capability which is helpful in quick signal acquisition, but the huge memory requirement for post processing is a real burden in hardware cost.
The present invention is to provide a post correlation system for GNSS receiver. The post correlation system comprises an FFT engine to conduct post-correlation FFT for selected hypotheses, so as to obtain spectrum data. The post correlation system has a magnitude calculation unit for calculating magnitude results of the spectrum data. Rather than storing all the magnitude results, the post correlation system has a contender selector for sieving specific magnitude results according to predetermined conditions. For example, the contender selector sieves the greatest ones of the magnitude results. Alternatively, the contender selector sieves the greatest one of the magnitudes results and the magnitude results of some points around the point corresponding to the greatest magnitude result.
By the present invention, requirement for memory capacity to store the magnitude results of the post-correlation FFT spectrums is reduced. Accordingly, the cost of memory can be greatly decreased.
The present invention will be described in detail in conjunction with the appending drawings.
If sampling frequency for input data is 1.023 MHz, then 1023 data points are obtained every millisecond (ms). For a specific satellite and specific Doppler frequency bin, the signal data stream is transformed into frequency domain (FFT), correlations (multiplying and adding operations) for 1023 code phases are done at the same time, then the correlation results are converted back to time domain, which is known as IFFT (Inverse FFT). The effects of FFT correlation, which is referred to as pre-correlation FFT, and time domain correlation are equivalent. The time period for correlation is much shorter for pre-correlation FFT with the price of more power consumption in comparison with time-domain correlation. However, since rapid acquisition is essential for a GNSS receiver, pre-correlation FFT can be a desirable choice.
The resultant IFFT data (i.e. the post correlation data) is stored in a coherent integration memory 60 via the router 50. A magnitude calculation unit 65 is used for incoherent integration of the coherent integration results. After hypotheses of one millisecond have been completely collected, a post-correlation FFT is triggered (step S60).
If the hypothesis, of which the post correlation data is calculated and stored into the coherent integration memory 60, is selected, the post correlation data thereof is also sent to the hypothesis buffer region 306 of the data buffer 30 via the router 50 and a hypothesis selector 80, which will be further described later. Preferably, the hypotheses around the correlation peak are considered to be collected. The code phase range and point number for post-correlation FFT depends on correlation magnitude distribution, frequency search range, resolution requirement and the like. The router 50 is used to arrange a route for the data stream so as to direct the data stream to the proper successive component, such as the mixer 52, coherent integration memory 60, magnitude calculation unit 65 or hypothesis selector 80. The router 50 and the selectors 35, 80 can be implemented by hardware or software controlled blocks. The router 50 and selectors 35, 80 are respectively controlled by hardware logic or a processor (not shown) of the receiver for the data paths according to time and channel multiplexing arrangements, for example.
If there are 1023 code phases to be tried for 1 ms, then correlation data for 1023 code phases are calculated for each ms. To promote receiver performance, it is preferred that points with the same code phase at different frequencies are collected to be analyzed. The code phase and the frequency construct a two dimensional hypothesis distribution. In frequency domain, 32 or 64 points of the same code phase are collected, for example. That is, those 32 or 64 hypotheses are selected. The post correlation data of the selected hypotheses is sent to be stored in the hypothesis buffer region 306 via the hypothesis selector 80. If the signal strength is weak, or the interested frequency range is narrow but frequency resolution requirement is high, it is preferred to collect the coherent integration result of the correlation data. That is, coherent integration of the hypotheses stored in the coherent integration memory 60 is used. For example, coherent integration results of every two ms for the same code phase are picked from the coherent integration memory 60 to be stored into the hypothesis buffer region 306 via the hypothesis selector 80. The hypothesis selector 80 selects to feed the post correlation data or the coherent integration result of the post correlation data to the hypothesis buffer 306.
The data of the selected hypotheses is then sent to the FFT engine 40 through the selector 35 to be processed with FFT operation, which is referred to as “post-correlation FFT”. The frequency spectrum of the data obtained by the post-correlation FFT is stored into a memory 70. The memory is used as a spectrum memory for storing the spectrum and as an incoherent integration memory. Alternatively, the memory 70 is used only as a spectrum memory. In some circumstances, the memory 70 can store only the post-correlation spectrums, since the correlation peak and correct code phase can be derived from the spectrums. However, the spectrum (i.e. FFT result) is quite huge data, which occupies a great capacity of memory. The required memory size is derived as selected hypothesis number×point number×data bit length. As described, a two dimensional search is needed to search for the peak value to determined the correct code phase and Doppler frequency. In accordance with the present invention, to reduce the requirement of the memory capacity, only the spectrum results of the top N results of the spectrum magnitudes calculated by the magnitude calculation unit 65 are stored in the memory 70 rather than all the data. Alternatively, in addition to the peak result, only N-1 results around the peak result are stored. If the FFT point number is M, then the memory requirement is reduced to N/M. In addition, the search can be mainly focus on code-phase dimension, so as to improve searching efficiency. For example, as the post-correlation FFT outputs are generated, only the top two or three spectrum results are stored with the frequency bin indices thereof. By doing so, the memory capacity requirement is reduce, while information for handling multi-tone jammer, for example, still remains. Further more, successive processing load is reduced, since the data range to be processed is narrowed. Accordingly, power consumption can be decreased. The sieving of the top N results is executed by a contender selector 67, which is connected between the magnitude calculation unit 65 and the memory 70. That is, the magnitude calculation unit 65 calculates a magnitude for the post-correlation FFT result (step S70), and the contender selector 67 sieves a predetermined number of magnitude results calculated by the magnitude calculation unit 65 (step S80), as described above. As mentioned, the magnitude calculation unit 65 is used to calculate a magnitude from the spectrum, so that a peak can be found to determine whether signal acquisition is achieved, for example. The magnitude calculation unit 65 calculates the magnitudes for the coherent integration result from the coherent integration memory 60 for incoherent integration and the spectrum obtained by the post-FFT in a TDM manner.
As described above, the FFT engine 40 is shared for pre-correlation FFT/IFFT and the post-correlation FFT. In addition, different channels can share the same FFT engine 40. The sharing scheme can be implemented in a time multiplexing manner (e.g. TDM). The TDM sequence for the pre-correlation FFT, IFFT and post-FFT is adjustable to optimize the performance or as required. If the FFT engine 40 is shared between acquisition mode and tracking mode, the collection trends, especially for the post-correlation FFT, are different. In acquisition mode, it is necessary to search a wide code phase range, but for a specific code phase, the collected points can be less. In tracking mode, the code phase is substantially determined, so there is no need to search a wide code phase range. For the determined small code phase range, more points can be collected to achieve a better performance.
The post-correlation FFT can also cooperate with time-domain correlation.
The data stored in the hypothesis buffer 130 is sent to an FFT engine 140, which can be implemented by an FFT kernel. The FFT engine 140 executes FFT operation to the data so as to generate post-correlation FFT data, that is, spectrums of the hypotheses, which can be referred to as post-correlation spectrums. To determine a correlation peak, it is necessary to calculate magnitudes of the spectrums by a magnitude calculation unit 150, which is also shared to calculate magnitudes of the coherent integration results from the coherent integration memory 115 for incoherent integration. The spectrums obtained from the FFT engine 140 and the calculated magnitudes thereof are stored in a memory 160, which is used as a spectrum memory. The memory 160 can also be used as an incoherent integration memory for accumulating coherent integration results at the same time. Information for signal acquisition and tracking can be derived from the post-correlation spectrum. Therefore, the post-FFT provides the benefits to promote the receiver performance. As the first embodiment, a contender selector 157, which is the same as the contender selector 67 is
An example of implementation of the contender selector 157 (or 67) is shown in
The contender selector can also be implemented as a contender selector 157′ shown in
While the preferred embodiments of the present invention have been illustrated and described in detail, various modifications and alterations can be made by persons skilled in this art. The embodiment of the present invention is therefore described in an illustrative but not restrictive sense. It is intended that the present invention should not be limited to the particular forms as illustrated, and that all modifications and alterations which maintain the spirit and realm of the present invention are within the scope as defined in the appended claims.