A GNSS signal acquisition method, device and computer storage medium
By sampling code rate of the spread spectrum code in the GNSS signal and stripping NH code, combined with coherent integration and cyclic correlation operations, the capture problem of modulating NH code signals in the GNSS receiver is solved, and hardware resource saving and capture accuracy are achieved.
Patent Information
- Application Number
- CN202011621029.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-31
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2040-12-31
AI Technical Summary
In GNSS receivers, it is difficult to achieve multiple signal acquisition compatibility, reduce hardware resource costs, improve capture sensitivity and obtain higher code phase accuracy during the capture process of modulating satellite signals with NH codes.
By sampling the spread spectrum code with a code length M 1/N multiple code rate, compressing the chip length; performing intermediate frequency downconversion, resampling and segmentation processing on satellite data; stripping the NH code and performing coherent integration; then FFT operation, complex multiplication and IFFT operation of the processed spread spectrum code and satellite data, realizing the modulus and maximum value search of the cycle-related results to judge the success of coarse capture and performing accurate code phase search.
The number of FFT points is reduced, the hardware resource requirements are reduced, the capture signal-to-noise ratio is improved, and more accurate code phase is obtained, achieving efficient capture of satellite signals with NH codes.
Smart Images

Figure CN114690214B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of satellite navigation technology, and in particular to a GNSS signal capture method and device when a spread spectrum code has a large number of chips and carries NH code modulation. Background Art
[0002] In the design of GNSS receiver chips, the control of hardware resource usage not only involves cost control, but also affects the chip area and power consumption; in general, the part that consumes the most resources is the capture module. Usually, GNSS receiver hardware uses code phase parallel frequency serial search (i.e., cyclic correlation algorithm) to achieve satellite signal capture. Its fast algorithm requires FFT-IFFT operation. The length of FFT will determine the number of registers required for the hardware and the hardware area and cost, so it is necessary to select the appropriate number of FFT operation points. However, cyclic correlation is a correlation search for one period of the spread spectrum code. When the number of code chips in one period of the spread spectrum code is large, a larger number of FFT points is inevitably required.
[0003] At the same time, the methods to improve the sensitivity and capture sensitivity usually include coherent integration, incoherent integration and differential coherence. Among them, the most effective method is coherent integration, which can provide higher signal-to-noise ratio gain than the other two methods under the same integration length; but for satellite signals modulated with NH codes, coherent accumulation cannot be performed directly, and the NH codes need to be stripped.
[0004] During the receiver capture and tracking process, the accuracy of the code phase will determine the code loop pulling time and whether it can be pulled to the correct phase; the higher the accuracy of the captured code phase, the more conducive it will be for the code loop to be pulled to the correct code phase quickly, which will be beneficial to the subsequent work of the receiver.
[0005] The above problems are unavoidable in the process of capturing some satellite signals, such as Beidou B3I (GPS L5 and Galileo E5A, etc.), which has a code length of 10230 and NH code modulation. How to achieve multiple signal capture compatibility and reduce hardware resource costs, improve capture sensitivity, and capture a more accurate code phase for satellite signals modulated with NH codes is a problem that needs to be solved in hardware implementation. Summary of the invention
[0006] In view of this, the present invention provides a GNSS signal acquisition method, device and computer storage medium to solve the deficiencies of the prior art.
[0007] To achieve the above object, an embodiment of the present invention provides a GNSS signal acquisition method, comprising:
[0008] After the spreading code with a code length of M is sampled at 1 / N times the code rate, the chip length is compressed to L, and M = N × L;
[0009] The satellite data is down-converted to intermediate frequency, resampled and segmented;
[0010] The processed satellite data is mixed with a local carrier of a preset Doppler frequency to complete Doppler down-conversion to obtain zero Doppler satellite data;
[0011] Search the satellite data NH code phase, strip off the NH code, and perform coherent integration on the signal within a bit range to obtain a compressed satellite signal with a length of 2 spread spectrum cycles;
[0012] Perform FFT operation, complex multiplication and IFFT operation on the processed spread spectrum code and satellite data respectively to obtain cyclic correlation results;
[0013] The cyclic correlation result is modulo-calculated and the maximum value is searched therein. If the maximum value exceeds the preset first threshold, the coarse capture is judged to be successful, and the corresponding satellite signal code phase, Doppler value and NH code phase are calculated at this time;
[0014] Based on the coarsely captured NH code phase, coarsely captured satellite signal code phase and Doppler value, a precise code phase search is performed at 1 / 2 chip intervals within a range of N / 2 chips around the coarsely captured satellite signal code phase.
[0015] Furthermore, the satellite data is subjected to intermediate frequency down-conversion, resampling and segmentation processing, specifically including:
[0016] Mixing satellite data with a local intermediate frequency carrier to obtain zero intermediate frequency data;
[0017] Accumulating zero intermediate frequency data belonging to N chips according to the spread spectrum code rate to generate N chip resampled data;
[0018] Then the N-chip resampled data is segmented into segments of L data (ie, one spread spectrum period).
[0019] Furthermore, the NH code phase of the satellite data is searched, the NH code is stripped, and the signal is coherently integrated within a bit range to obtain a compressed satellite signal with a length of two spread spectrum cycles. Specifically, the following steps are performed:
[0020] The NH code sequence is expressed as Where L NH represents the NH code length; the number of spread spectrum code cycles required for coherent integration is L coh , and there is L coh ≤L NH ; Take 2L NH L length data (i.e. 2L NH segment data or 2 NH code cycle data), perform L NHSearch times; the i-th search is to take data starting from the i-th data segment, and the length of the data is L coh L (one NH code cycle), strip the NH code, and then L coh By accumulating the segment data, a spread spectrum code period data with a length of L can be obtained; at the same time, starting from the i+1th segment data, the above operation is repeated to obtain a spread spectrum period length data again, and the data obtained twice are arranged and combined in order to obtain 2 spread spectrum period length data.
[0021] Furthermore, the i NH (values are 1, 2, 3, ..., L NH ) The NH code phase search and NH code stripping include:
[0022] Take L coh The segment compressed data is Multiply and add the compressed data and the corresponding NH code to get
[0023] Further, performing FFT operation, complex multiplication and IFFT operation on the processed spread spectrum code and satellite data respectively specifically includes:
[0024] The compressed spread spectrum code is padded with 0 to a length of N fft , perform N fft Calculate the point FFT and take the conjugate to get S P ;
[0025] Fill the satellite data with 0 to a length of N fft , perform N fft Point FFT calculation, get S D ;
[0026] S P and S D Perform complex multiplication and IFFT calculation.
[0027] Further, based on the coarsely captured NH code phase, the coarsely captured satellite signal code phase and the Doppler value, the code phase precise search is performed at 1 / 2 chip intervals within a range of N / 2 around the coarsely captured satellite signal code phase, specifically including:
[0028] According to the Doppler value f obtained by coarse capture d The generated frequency is f = f i +f d The local carrier s;
[0029] Calculate the number of data sampling points that need to be offset according to the NH code phase n1=n p *(p NH -1)+(M-p0)*nc *2; where n p is the number of sampling points in a spreading code cycle; p NH is the NH code phase corresponding to the coarse capture; p0 is the code phase, and its corresponding interval is [p0N+p0], where p c is the code phase corresponding to the coarse capture success (p c The unit is chip); n c The number of sampling points corresponding to half a chip;
[0030] Use the local carrier s to strip the satellite signal data, strip the NH code in units of the spread spectrum code period, strip the spread spectrum code in units of chips, and then accumulate the processed data;
[0031] The accumulated result is modulo-ed and compared with the preset second threshold. If it exceeds the preset second threshold, it is considered that the precise capture is successful. Otherwise, the code phase p0 steps half a code chip length data and repeats the above operation.
[0032] The embodiment of the present invention further provides a GNSS signal acquisition device, comprising: a spread spectrum code preprocessing module, a data preprocessing module, a Doppler stripping module, a coherent accumulation module, an FFT module, a spectrum shift module, a multiplication module, an IFFT module, a capture decision module, a Doppler calculation module, and a precision capture module;
[0033] The spread spectrum code preprocessing module is used to sample the spread spectrum code with a code length of M at 1 / N times the code rate, compress the code chip length to L and output it to the FFT module, where M=N×L;
[0034] The data preprocessing module is used to perform intermediate frequency down-conversion, resampling and segment processing on the satellite data and output it to the Doppler stripping module; when segmenting, the length of each segment is controlled to be L;
[0035] The Doppler stripping module is used to mix the processed satellite data with a local carrier of a preset Doppler frequency to complete Doppler down-conversion to obtain zero-Doppler satellite data and output it to the coherent accumulation module;
[0036] The coherent accumulation module is used to search the NH code phase of the satellite data, strip the NH code, perform coherent integration on the signal within a bit range to obtain a compressed satellite signal with a length of 2 spread spectrum cycles and output it to the FFT module;
[0037] The FFT module is used to perform N fft Point FFT; if the input data length is less than N fft , then fill 0 to N fft point; the input data includes two types: spread spectrum code and satellite data. The satellite data spectrum is output to the spectrum shift module, and the spread spectrum code spectrum is output to the multiplication module;
[0038] The spectrum shift module is used to cyclically shift the satellite data spectrum according to the input spectrum line shift quantity value and output it to the multiplication module;
[0039] The multiplication module is used to first conjugate the spectrum of the spread spectrum code, then perform complex multiplication of the conjugate data and the shifted satellite data spectrum, and output it to the IFFT module;
[0040] The IFFT module is used to perform inverse FFT transformation on the input data, and the result is output to the capture decision module;
[0041] The capture judgment module is used to find the modulus of the input data and search for the maximum value therein. If the maximum value exceeds the preset first threshold, it is judged that the capture is successful, and the corresponding satellite signal code phase, Doppler value and NH code phase are calculated at this time, and the coarse capture is ended, and the coarse capture result is output to the fine capture module; if the maximum value does not exceed the preset first threshold, it is judged that the current Doppler value capture fails, and a failure flag is output to the Doppler calculation module;
[0042] The Doppler calculation module is used to calculate the Doppler value, and output it to the Doppler stripping module to generate a local carrier or output it to the spectrum shifting module to shift the spectrum;
[0043] The fine capture module is used to perform precise code phase search at 1 / 2 chip intervals within a range of N / 2 to the left and right of the satellite signal code phase during coarse capture.
[0044] Furthermore, an initialization module is also included:
[0045] The initialization module is used to complete the initialization setting of the required capture parameters according to the satellite signal type during the capture process, including the Doppler search step and search range, the number of spectral lines when performing Doppler frequency search by implementing cyclic shift on the spectrum, the initial search Doppler value, and the length of the coherent integration.
[0046] An embodiment of the present invention provides a computer storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the above-mentioned GNSS signal acquisition method are implemented.
[0047] The technical solution provided by the present invention realizes the search for the satellite signal code phase, Doppler and NH code phase by performing compression coherence and cyclic correlation calculations on the spread spectrum code; the compression processing reduces the number of FFT points, thereby reducing the requirement for hardware resources, and its capture resource requirement is approximately 1 / N of that before compression; the coherence processing can improve the capture signal-to-noise ratio; and at the same time, precise capture can obtain a more accurate code phase. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0049] Figure 1 A schematic diagram of a flow chart of a GNSS signal acquisition method provided by an embodiment of the present invention;
[0050] Figure 2 A schematic diagram of NH code stripping and coherent integration provided by an embodiment of the present invention;
[0051] Figure 3 A schematic diagram of the structure of a GNSS signal acquisition device provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0052] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0053] Figure 1 The figure is a flow chart of a GNSS signal acquisition method provided by an embodiment of the present invention. The method comprises the following steps:
[0054] S10: Data initialization.
[0055] Initialization parameters include: Let the spreading code length be M, and its sequence be c1, c2, …, c M , the compression multiple is N; in spectrum processing, the spectrum line movement counter variable is n s , the maximum number of spectral lines in the spectrum cyclic shift process is N m , let the number of spectral lines shifted each time be N s ; NH code length is L NH , whose sequence is The satellite data sampling rate is f s , the number of FFT points is N fft , the coherent integration length is L coh Spread spectrum code period, and there are L coh ≤L NH ; Doppler maximum value f M , the Doppler initial value is f0, and the maximum value of f0 is f 0M , the step value of f0 is f step.
[0056] From this, we can calculate that the length of the spread spectrum code after compression is L (M = N × L), and the data spectrum resolution is f d0 =L / N fft *1000, the number of spectrum shifts is N N =2N m / N s , a spreading code period contains n sampling points p =f s / 1000.
[0057] The satellite signal sampling data is obtained as a sequence D = {d1, d2, ... d n}, where n = 2*L NH *n p .
[0058] The precise capture parameters are set as follows: the code phase search interval is 1 / 2 code chip, and the number of sampling points corresponding to half a code chip is: n c =n p / 2M.
[0059] S11, sampling the spread spectrum code with a code length of M at a code rate of 1 / N.
[0060] Accumulate the spread spectrum code every N chips Perform 1 / N times code rate sampling. The chip length changes from M chips to L; after sampling, each data represents N chips.
[0061] S12, performing intermediate frequency down-conversion, resampling and segmentation processing on the satellite data.
[0062] The satellite data is combined with the frequency f i The local carrier is mixed to obtain zero intermediate frequency data; the zero intermediate frequency data belonging to N chips are accumulated according to the spread spectrum code rate to generate N chip resampled data; and the N chip resampled data is segmented according to L data as a segment to generate data S1.
[0063] S13, mixing the processed satellite data with a local carrier of a preset Doppler frequency to complete Doppler down-conversion to obtain zero Doppler satellite data.
[0064] According to the given preset Doppler frequency, a local complex signal carrier is generated, multiplied by S1, and the Doppler value in the signal is stripped. If the given Doppler is exactly the real Doppler value of the signal, then after multiplication, the satellite signal Doppler will become 0, generating signal S2. Let S2 contain data segments DI1,…,DI i ,…, where DI i L data is one spreading cycle.
[0065] Set NH code phase i NH =1.
[0066] S14, stripping the NH code from the satellite data and performing coherent integration.
[0067] Take L coh Segment compressed data Multiply each segment of data and the corresponding spreading code and add them together to get: The same result can be obtained by delaying the data by one spreading code period: The two segments of data are combined to obtain: ND = {ND1ND2}, whose length is 2L.
[0068] S15, performing cyclic correlation operations.
[0069] It specifically includes the following steps:
[0070] S105, performing FFT operations on the compression and spread spectrum code and the satellite data respectively.
[0071] First, the compressed spread spectrum code obtained in step S11 is padded with zeros to a length equal to the number of FFT points N. fft , then perform FFT, and finally take the conjugate of the FFT result to generate FP; since the spread spectrum code only needs to perform FFT once, the FFT operation of the spread spectrum code can be processed in advance.
[0072] Pad the satellite data ND to length N fft , perform FFT calculation, and the result is FD. Shift FD to the left circularly by N m spectral lines, and set the spectrum shift count n s = 0, calculate the Doppler value as f d =f0-f d0 *N m .
[0073] S106, multiply FP and FD by complex numbers to obtain FDP; perform IFFT operation on FDP to obtain a circular correlation result R.
[0074] S16: Capture decision.
[0075] Find the modulus of R and search for the maximum value in it. If the maximum value exceeds the preset first threshold, it is judged as a coarse capture success and the Doppler value f at this time is recorded. d , satellite signal code phase p0 (in chips), NH code phase p NH =i NH , update p0 = p0-N / 2, set the line movement counter variable n in the exact search k =0, go to step S17 to perform precise code phase search.
[0076] When the maximum value does not exceed the preset first threshold, it is determined that the coarse capture fails under the current Doppler value, and n is updated. s n s =n s +1, and judge n s >N N Is it true: If n s >N N Not true, update the Doppler value f d f d =f d +f d0 *N s , circularly shift FD to the right by N s spectral line, jump to step S106. s >N N If true, update the NH code phase i NH =i NH +1, and judge i NH >L NH Is it true: If i NH >L NH If not, jump to step S14; if i NH >L NH If the condition holds, the Doppler initial value is updated to f0=f0+f step , judge f0>f 0M Is it true: If f0>f 0M Not true, jump to step S13. 0M If it is established, it is determined that the capture has failed and the coarse capture ends.
[0077] S17. Based on the coarsely captured NH code phase, the coarsely captured satellite signal code phase and the Doppler value, a precise code phase search is performed at 1 / 2 chip intervals within a range of N / 2 to the left and right of the coarsely captured satellite signal code phase.
[0078] Specifically include:
[0079] S107, based on the Doppler value f obtained by coarse capture d The generated frequency is f = f i +f d The local carrier s.
[0080] S108, calculating the number of data sampling points that need to be offset according to the NH code phase and the spread spectrum code phase n1=n p *(p NH -1)+(M-p0)*n c *2; where n p The number of sampling points in a spread spectrum code cycle; n cThe number of sampling points corresponding to half a code chip.
[0081] S109, use the local carrier s to perform carrier stripping on the satellite signal data, perform NH code stripping in units of spread spectrum code cycles, perform spread spectrum code stripping in units of chips, and then accumulate the processed data.
[0082] According to the calculated offset data cycle number n1, take the satellite data D d ={d n1 ,d n1+1 ,…}, the data length is L coh *n p ; Use local carrier s and data D d Multiply by NH code to complete carrier stripping; multiply the sampled data in each spread spectrum code by the corresponding spread spectrum code, strip the spread spectrum code, and accumulate the stripped spread spectrum code data in each cycle to complete despreading; multiply the accumulated results of each cycle by the corresponding NH code in order, accumulate, complete coherent integration, and obtain R f .
[0083] S110: Make an accurate capture decision.
[0084] The accumulated result R f Take the modulus, search for the maximum value of the modulus value, and compare the maximum value with the preset second threshold to make an accurate capture decision: if the maximum value exceeds the preset second threshold, it is judged as a successful capture and the corresponding p is output NH , p0 and f d , the capture is finished.
[0085] If the maximum value does not exceed the preset second threshold, update n k =n k +1, judge n k >2N is true: if n k >2N does not hold, then update p0 to p0=p0+1 / 2 and jump to step S108 to continue; if n k If >2N is established, the precise capture is considered to have failed and the capture is terminated.
[0086] The following takes M=8, N=4 as an example to illustrate the effectiveness of the above correlation and coherent integration based on compression from the perspective of spread spectrum code correlation.
[0087] Before compression, the result of the cyclic correlation between the local spreading code and the satellite spreading code can be expressed as (for the convenience of expression, c is used in the following formula m =c m+M = ±1):
[0088]
[0089] From the pseudo-random characteristics of the spread spectrum code, it can be seen that only when i = 1 (that is, the local spread spectrum code and the satellite spread spectrum code are phase-aligned), that is, only c m *c m Only then will it contribute effective gain to the correlation result, and the correlation result will reach the maximum value, and its correlation result is M=8, while in other cases, the correlation result is close to 0.
[0090] The local spreading code sequence is C1=c1+c2+c3+c4 and C2=c5+c6+c7+c8 after compression. Assuming the real code phase j of the satellite data, for the convenience of analysis, assuming that the NH code of two consecutive spreading cycles has been stripped (that is, there is no symbol flip between spreading cycles), the spreading code after the satellite data is compressed can be expressed as E1=c j +c j+1 +c j+2 +c j+3 , E2=c j+4 +c j+5 +c j+6 +c j+7 .
[0091] The circular correlation will complete two correlation operations, and the first result is: rc1 = C1*E1+C2*E2, that is
[0092] rc1=(c1+c2+c3+c4)(c j +c j+1 +c j+2 +c j+3 )+(c5+c6+c7+c8)(c j+4 +c j+5 +c j+6 +c j+7 )
[0093] When j=1, the first multiplication formula will appear with 4 forms like c m *c m The product of phase-aligned items is 3, while the rest are products of misaligned items. When j=2 or j=0, the product of aligned items is 3; when j=3 or j=-1, the product of aligned items is 2; when j=4 or j=-2, the product of aligned items is 1. It can be seen that when the compressed phase is aligned (the condition can be met through circular correlation), the peak effective accumulation result becomes It can be seen that after compression, the alignment of the N code pieces will affect the size of the peak of the correlation result. When the value of |j| is large (such as |j| is close to N / 2), the threshold detection may fail. At the same time, noise terms are introduced into the accumulated result of rc1, and as N increases, more noise terms are introduced, causing the signal-to-noise ratio of the correlation result to drop further.
[0094] It can be seen that the peak value of the correlation result will not be affected when the compression cycle correlation is compared with that before compression, but the noise level will be increased and the detection signal-to-noise ratio will decrease. The detection signal-to-noise ratio can be improved by multi-cycle coherent integration or incoherent method.
[0095] The following is L NH =2, assuming that the NH sequence is {1, -1} to illustrate the effectiveness of NH code stripping in the present invention, in the actual satellite data L NH Usually one bit, also modulated with navigation data, but in one NH cycle (L NH The same navigation data is modulated in a spread spectrum cycle. Figure 2 As shown in the figure, the horizontal axis represents satellite data, A0 represents the starting point of capturing and collecting data, A1, A2, ... represent the 1st, 2nd, ... cycle data boundaries starting from A0; B0, B1, ... represent the real starting point of the satellite data spread spectrum code cycle, that is, B0B1 (referring to the data segment starting from B0 and ending at B1) just contains a complete spread spectrum cycle; assuming that B0B1 modulates NH1, B1B2 modulates NH2, and NH 1x It means that other modulations (such as navigation data) are also included, that is, its modulation symbols are unknown.
[0096] Take the A0A1 data multiplied by NH1, then the B0A1 segment data is correctly stripped of the NH code, and A1A2 multiplied by NH2, then the B1A2 segment data is correctly stripped of the NH code. Add A0A1 and A1A2 after stripping the NH code to get C0C1, which is the first spread spectrum code period after coherent integration, such as Figure 2 As shown; the F0C1 data segment in the figure is the coherent integration result after the NH code is correctly stripped.
[0097] Take the A1A2 data multiplied by NH1, then the A1B1 segment data is correctly stripped of the NH code, and A2A3 multiplied by NH2, then the A2B2 segment data is correctly stripped of the NH code. Add A1A2 and A2A3 after stripping the NH code to get C1C2, which is the second spread spectrum code period after coherent integration, such as Figure 2 As shown; the C1F1 data segment in the figure is the coherent integration result after the NH code is correctly stripped.
[0098] The results of the two coherent integrations are combined to form data of two cycle lengths, in which the F0F1 data segment is correctly stripped of the NH code and coherent integration is achieved, forming a complete spread spectrum cycle.
[0099] If the data starts at A1, that is, the first cycle NH code is not NH1, then NH code phase search is required. At this time, the first NH code search takes data A1A4, the second takes A2A5, ..., and so on. L NHIn the code phase search, a correct NH code phase will be obtained to complete L coh The coherent integral of the length.
[0100] From the perspective of the entire search process, the M spread spectrum codes of one period are compressed into L, so that the number of FFT and IFFT points during cyclic correlation becomes 1 / N of that before compression, which can reduce the requirements for hardware resources; the peak energy of the cyclic correlation result is consistent with that before compression, so effective detection can be achieved when the threshold is specified for detection, but noise is introduced during the compression process, increasing the probability of false alarm.
[0101] At the same time, NH code stripping and coherent integration are performed during the search, which can improve the detection signal-to-noise ratio and reduce the probability of false alarms. This can ensure reliable capture of signals under normal signal strength.
[0102] After completing the coarse capture, further precise capture of the code phase can reduce the code phase error during capture, which is beneficial to the rapid pulling and stable tracking of the receiver loop.
[0103] The cyclic correlation method based on compressed coherence compresses data and spread spectrum codes, reduces the number of FFT points, and reduces hardware resources, but there will be capture phase ambiguity and reduced capture signal-to-noise ratio; through effective NH code stripping and coherent integration, the capture signal-to-noise ratio can be improved; at the same time, the satellite signal spread spectrum code phase can be accurately obtained through precise capture.
[0104] like Figure 3 As shown, an embodiment of the present invention provides a GNSS signal acquisition device, including: an initialization module 101, a spread spectrum code preprocessing module 102, a data preprocessing module 103, a Doppler stripping module 104, a coherent accumulation module 105, an FFT module 106, a spectrum shift module 107, a multiplication module 108, an IFFT module 109, a capture decision module 110, a Doppler calculation module 111 and a fine capture module 112.
[0105] The capture initialization module 101 is used to complete the initialization setting of the required capture parameters according to the satellite signal type during the capture process, including the Doppler search step and search range, the number of spectral lines when performing Doppler frequency search by implementing cyclic shift on the spectrum, the initial search Doppler value, the length of the coherent integration, etc.
[0106] The spread spectrum code preprocessing module 102 is used to sample the spread spectrum code with a code length of M at 1 / N times the code rate, compress the code chip length to L, and output it to the FFT module 106.
[0107] The data preprocessing module 103 is used to perform intermediate frequency down-conversion, resampling and segment processing on the satellite data and output it to the Doppler stripping module 104; when segmenting, the length of each segment is controlled to be L.
[0108] The Doppler stripping module 104 is used to mix the processed satellite data with a local carrier of a preset Doppler frequency to complete Doppler down-conversion to obtain zero-Doppler satellite data and output it to the coherent accumulation module 105 .
[0109] The coherent accumulation module 105 is used to search for the NH code phase of the satellite data, strip off the NH code, and perform coherent integration on the signal within a bit range to obtain a compressed satellite signal with a length of two spread spectrum cycles and output it to the FFT module. NH Strip NH code and use the first L coh NH chips are stripped, and then L coh The signals of the spreading cycles are accumulated to obtain an accumulated result with a length of L; the NH code is stripped again, and the data is delayed by one spreading code cycle to obtain an accumulated result with a length of L; the two results are combined into two spreading cycle data and output to the FFT module 106.
[0110] The FFT module 106 performs N operations on the input data. fft Point FFT. If the input data length is less than N fft , then fill 0 to N fft The satellite data spectrum is output to the spectrum shift module 107, and the spread spectrum code spectrum is output to the multiplication module 108.
[0111] The spectrum shift module 107 is used to cyclically shift the satellite data spectrum according to the input spectrum line shift quantity value, shifting to the left when the shifted spectrum line number is negative, and shifting to the right otherwise, and outputting it to the multiplication module 108.
[0112] The multiplication module 108 first conjugates the spectrum of the spread spectrum code, then performs complex multiplication on the conjugate data and the shifted spectrum, and outputs the result to the IFFT module 109 .
[0113] The IFFT module 109 performs an inverse FFT transform on the input data and outputs the result to the capture decision module 110 .
[0114] The capture decision module 110 is used to find the modulus of the input data and search for the maximum value therein. If the maximum value exceeds the preset first threshold, it is judged that the capture is successful, and the corresponding satellite signal code phase, Doppler value and NH code phase captured at this time are calculated, the coarse capture is ended, and the capture result is output to the fine capture module 112; if the maximum value does not exceed the preset first threshold, it is judged that the current Doppler value capture has failed, and a failure flag is output to the Doppler calculation module 111.
[0115] The Doppler calculation module 111 calculates the Doppler value and outputs it to the Doppler stripping module 104 to generate a local carrier or to the spectrum shifting module 107 to shift the spectrum. s and the current Doppler value f d Calculate the next Doppler value f d =f d +f d0 *N s , and judge f d >f M Is it true? If not, output the number of shifted spectral lines N s To the spectrum shift module 107; if established, update i NH =i NH +1, judgement i NH >L NH Is it true? If not, jump to module 105; if true, update f0=f0+f step , check f0>f 0M Whether the specified range is satisfied: if not, f0 is output to the Doppler stripping module 104; if satisfied, the coarse capture is terminated and the capture fails.
[0116] The fine acquisition module 112 performs precise code phase search at 1 / 2 chip intervals within a range of N / 2 to the left and right of the coarse acquisition phase.
[0117] It should be noted that: the GNSS signal acquisition device provided in the above embodiment only uses the division of the above program modules as an example when performing acquisition. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the GNSS signal acquisition device provided in the above embodiment and the GNSS signal acquisition method embodiment belong to the same concept. The specific implementation process is detailed in the method embodiment. The beneficial effects are the same as the method embodiment and will not be repeated here.
[0118] The embodiment of the present invention further provides a computer storage medium, which is a computer-readable storage medium, on which a computer program is stored, and the computer program can be executed by a processor of a GNSS signal acquisition device to complete the steps of the aforementioned GNSS signal acquisition method. The computer-readable storage medium can be a magnetic random access memory (FRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic surface memory, an optical disk, or a compact disc read-only memory (CD-ROM) and the like.
[0119] In the embodiments provided by the present invention, it should be understood that the disclosed methods and intelligent devices can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the modules is only a logical function division. There may be other division methods in actual implementation, such as: multiple modules or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0120] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0121] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. A GNSS signal acquisition method, characterized in that: include: After the spreading code with a code length of M is sampled at 1 / N times the code rate, the chip length is compressed to L, and M = N × L; The satellite data is down-converted to intermediate frequency, resampled and segmented; When segmenting, control the length of each segment to be L; The processed satellite data is mixed with a local carrier of a preset Doppler frequency to complete Doppler down-conversion to obtain zero Doppler satellite data; Search the NH code phase of satellite data, remove the NH code from each segment of data, and perform coherent integration on the signal within a bit range to obtain a compressed satellite signal with a length of 2 spread spectrum cycles; Specifically, the length of one cycle of the compressed satellite data is L, and the NH code sequence is expressed as Where L NH represents the NH code length; the number of spread spectrum code cycles required for coherent integration is L coh , and there is L coh ≤L NH ; Take 2L NH L length data, L NH Search times; the i-th search is to take data starting from the i-th data segment, and the length of the data is L coh L, strip off the NH code, and then replace L coh By accumulating the segment data, data with a length of L can be obtained; at the same time, data is taken starting from the i+1th segment data, and the above operation is repeated to obtain L-length data again, and the data obtained twice are arranged and merged in order; Perform FFT operation, complex multiplication and IFFT operation on the processed spread spectrum code and satellite data respectively to obtain cyclic correlation results; The cyclic correlation result is modulo-calculated and the maximum value is searched therein. If the maximum value exceeds the preset first threshold, the coarse capture is judged to be successful, and the corresponding satellite signal code phase, Doppler value and NH code phase are calculated at this time; Based on the coarsely captured NH code phase, coarsely captured satellite signal code phase and Doppler value, a precise code phase search is performed at 1 / 2 chip intervals within a range of N / 2 to the left and right of the coarsely captured satellite signal code phase.
2. The method according to claim 1, characterized in that The satellite data is processed by down-converting, resampling and segmenting the intermediate frequency, including: Mixing satellite data with a local intermediate frequency carrier to obtain zero intermediate frequency data; Accumulating zero intermediate frequency data belonging to N chips according to the spread spectrum code rate to generate N chip resampled data; Then the N-chip resampled data is segmented into segments of L data each.
3. The method according to claim 1, characterized in that Take L coh Segment compressed data Multiply each compressed data segment and the corresponding NH code and add them together to get where i NH is the NH code phase, with values of 1, 2, 3, ..., L NH .
4. The method according to claim 1, characterized in that The FFT operation, complex multiplication and IFFT operation are performed on the processed spread spectrum code and satellite data respectively, specifically including: The compressed spread spectrum code is padded with 0 to a length of N fft , perform N fft Calculate the point FFT and take the conjugate to get S P ; Fill the satellite data with 0 to a length of N fft , perform N fft Point FFT calculation, get S D ; S P and S D Perform complex multiplication and IFFT calculation.
5. The method according to claim 1, characterized in that According to the coarsely captured NH code phase, coarsely captured satellite signal code phase and Doppler value, the code phase is precisely searched at 1 / 2 chip interval within a range of N / 2 around the coarsely captured satellite signal code phase, specifically including: According to the Doppler value f obtained by coarse capture d The generated frequency is f = f i +f d The local carrier s; Calculate the number of data sampling points that need to be offset according to the NH code phase n1=n p *(p NH -1)+(M-p0)*n c *2; where n p is the number of sampling points in a spreading code cycle; p NH is the NH code phase corresponding to the coarse capture; p0 is the code phase, and its corresponding interval is [p0N+p0], where p c is the code phase corresponding to the successful coarse capture; n c is the number of sampling points corresponding to half a chip; Use the local carrier s to strip the satellite signal data, strip the NH code in units of the spread spectrum code period, strip the spread spectrum code in units of chips, and then accumulate the processed data; The accumulated result is modulo-ed and compared with the preset second threshold. If it exceeds the preset second threshold, it is considered that the precise capture is successful. Otherwise, the code phase p0 steps half a code chip length data and repeats the above operation.
6. A GNSS signal acquisition device, characterized in that: include: Spread spectrum code preprocessing module, data preprocessing module, Doppler stripping module, coherent accumulation module, FFT module, spectrum shift module, multiplication module, IFFT module, capture decision module, Doppler calculation module, precision capture module; The spread spectrum code preprocessing module is used to sample the spread spectrum code with a code length of M at 1 / N times the code rate, compress the code chip length to L and output it to the FFT module, where M=N×L; The data preprocessing module is used to perform intermediate frequency down-conversion, resampling and segment processing on the satellite data and output it to the Doppler stripping module; When segmenting, control the length of each segment to be L; The Doppler stripping module is used to mix the processed satellite data with a local carrier of a preset Doppler frequency to complete Doppler down-conversion to obtain zero-Doppler satellite data and output it to the coherent accumulation module; The coherent accumulation module is used to search the NH code phase of the satellite data, strip the NH code, and perform coherent integration on the signal within a bit range to obtain a compressed satellite signal with a length of 2 spread spectrum cycles and output it to the FFT module; assuming that the length of one cycle of the compressed satellite data is L, the NH code sequence is expressed as Where L NH represents the NH code length; the number of spread spectrum code cycles required for coherent integration is L coh , and there is L coh ≤L NH ; The coherent accumulation module is specifically used in the following process: take 2L NH L length data, L NH Search times; the i-th search is to take data starting from the i-th data segment, and the length of the data is L coh L, strip off the NH code, and then replace L coh The data of the first and second segments are accumulated to obtain data of length L; at the same time, data is taken starting from the i+1th segment data, and the above operation is repeated to obtain data of length L again, and the data obtained twice are arranged and combined in order to obtain data of the length of two spread spectrum cycles; The FFT module is used to perform N fft Point FFT; if the input data length is less than N fft , then fill 0 to N fft point; the input data includes two types: spread spectrum code and satellite data. The satellite data spectrum is output to the spectrum shift module, and the spread spectrum code spectrum is output to the multiplication module; The spectrum shift module is used to perform cyclic shift on the satellite data spectrum according to the input spectrum line shift quantity value and output it to the multiplication module; The multiplication module is used to first conjugate the spectrum of the spread spectrum code, then perform complex multiplication of the conjugate data and the shifted satellite data spectrum, and output it to the IFFT module; The IFFT module is used to perform inverse FFT transformation on the input data, and the result is output to the capture decision module; The capture judgment module is used to find the modulus of the input data and search for the maximum value therein. If the maximum value exceeds the preset first threshold, the coarse capture is judged to be successful, and the satellite signal code phase, Doppler value and NH code phase corresponding to the capture at this time are calculated, the coarse capture is ended, and the coarse capture result is output to the fine capture module; If the maximum value does not exceed the preset first threshold, it is determined that the current Doppler value capture fails, and a failure flag is output to the Doppler calculation module; The Doppler calculation module is used to calculate the Doppler value, and output it to the Doppler stripping module to generate a local carrier or output it to the spectrum shifting module to shift the spectrum; The fine capture module is used to perform precise code phase search at 1 / 2 chip intervals within a range of N / 2 to the left and right of the satellite signal code phase during coarse capture.
7. The device according to claim 6, characterized in that Also includes: Initialize the module; The initialization module is used to complete the initialization setting of the required capture parameters according to the satellite signal type during the capture process, including the Doppler search step and search range, the number of spectral lines when performing Doppler frequency search by implementing cyclic shift on the spectrum, the initial search Doppler value, and the length of the coherent integration.
8. A computer storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.
Citation Information
Patent Citations
Method for reducing capturing time of spreading code in large dynamic range
CN103078660A
High-sensitivity Beidou satellite B1I signal capturing method
CN104765048A