Satellite signal acquisition method, apparatus and electronic device

By searching the idle tracking channel of the receiver and performing correlation calculations, the problem of acquisition difficulties caused by the high code rate and long code period of modern GNSS signals was solved, and normal operation and resource optimization were achieved in the interference environment.

CN118746847BActive Publication Date: 2025-11-04TECHTOTOP MICROELECTRONICS
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411018525.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-26
Publication Date
2025-11-04
Estimated Expiration
2044-07-26

AI Technical Summary

Technical Problem

Modernized GNSS signals have higher code rates and longer code periods, which increases the computational load on receivers. Traditional receivers cannot effectively capture satellite signals, and in particular, they cannot work properly for a long time in interference environments, affecting positioning, navigation, and timing.

Method used

The system uses an idle tracking channel in the receiver to search for satellite signals, and identifies and tracks valid signals by controlling the code phase search and correlation calculation of the target tracking channel.

Benefits of technology

It reduces the resource requirements for acquiring satellite signals, ensures that the receiver can work normally in interference environments, reduces chip and logic operation resources and power consumption, and reduces chip size and cost.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118746847B_ABST
    Figure CN118746847B_ABST
Patent Text Reader

Abstract

The embodiment of the present application is suitable for the field of satellite navigation technology, and provides a satellite signal acquisition method, device and electronic equipment, the method comprises: determining a target tracking channel in a plurality of tracking channels which can be used for searching a satellite signal, the satellite signal comprising a long spread spectrum code signal; controlling the target tracking channel to search the code phase of the satellite signal; performing correlation operation on the input signal based on the local spread spectrum code generated by searching the code phase, to obtain a plurality of correlation peak values; identifying an effective signal according to the plurality of correlation peak values, and using the effective signal as an acquired satellite signal for signal tracking. By using the above method, the purpose of directly acquiring a long spread spectrum code signal with high code rate and long code period by the receiver can be achieved, and the acquisition capability of the receiver in a complex signal environment is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of satellite navigation technology, and in particular to a satellite signal acquisition method, apparatus, and electronic device. Background Technology

[0002] The modernization of GNSS (Global Navigation Satellite System) signals refers to their evolution compared to earlier, lower-rate, and shorter-cycle traditional GNSS signals. Modernized GNSS signals, with their higher code rates and longer code periods, not only improve ranging accuracy but also eliminate bit flips and enhance cross-correlation resistance. However, this modernization also alters the signal encoding method, requiring receivers to utilize significantly more computational and storage resources when acquiring these signals.

[0003] Modernized satellite signals with higher code rates (long spread spectrum code signals) have a code rate that is 10 times higher than traditional satellite signals with lower code rates (short spread spectrum code signals). The computational load on the receiver for searching and acquiring long spread spectrum code signals will increase by about 100 times. This makes it impossible for traditional receivers, especially chip-based receivers, to acquire satellite signals across all frequency ranges.

[0004] In existing technologies, the acquisition of long spreading code signals can be achieved by using short spreading code signals. Receivers that lack the ability to directly acquire long spreading code signals can use short spreading code signals to assist in acquiring long spreading code signals. However, in some application scenarios, short spreading code signals are easily interfered with, making them unacceptable to the receiver. For example, for signals with low code rates and short code periods, such as the L1 frequency point, the receiver can usually acquire them directly, and can use the acquisition of L1 frequency signals to assist in acquiring signals with high code rates and long code periods, such as the L5 frequency point. However, in some complex application scenarios, the harmonics of the mobile communication signal happen to coincide with the L1 frequency point, and the interference of harmonic components can prevent the receiver from properly acquiring the L1 frequency point signal. Since the receiver lacks the ability to directly acquire L5 frequency point signals, this can easily lead to the receiver being unable to acquire effective satellite signals for extended periods in interference environments, resulting in prolonged malfunctions and affecting the receiver's normal positioning, navigation, and timing functions. Summary of the Invention

[0005] In view of this, embodiments of this application provide a satellite signal acquisition method, apparatus, and electronic device to achieve the purpose of the receiver directly acquiring long spreading code signals with high code rate and long code period.

[0006] The first aspect of this application provides a satellite signal acquisition method, including:

[0007] Identify a target tracking channel from among multiple tracking channels that can be used to search for satellite signals, the satellite signals including long spreading code signals;

[0008] The target tracking channel is controlled to search for the code phase of the satellite signal;

[0009] The correlation calculation between the local spreading code generated based on the search code phase and the input signal is performed to obtain multiple correlation peak-to-peak values.

[0010] Valid signals are identified based on multiple related peak-to-peak values, and these valid signals are used as acquired satellite signals for signal tracking.

[0011] Optionally, controlling the target tracking channel to search for the code phase of the satellite signal includes:

[0012] Configure the search step of the target tracking channel;

[0013] The target tracking channel is controlled to search for the code phase of the satellite signal sequentially according to the search step.

[0014] Optionally, the number of target tracking channels may include multiple channels, and controlling the target tracking channels to sequentially search the code phase of the satellite signal according to the search step includes:

[0015] Determine the number of steps that can be searched for each target tracking channel in each iteration;

[0016] Based on the search step and the number of steps that each target tracking channel can search at one time, the code phase to be searched for each target tracking channel is determined;

[0017] Each target tracking channel is controlled to sequentially search for the code phases to be searched until the search for all code phases of the satellite signal is completed.

[0018] Optionally, controlling the target tracking channel to sequentially search the code phase of the satellite signal according to the search step includes:

[0019] Determine whether the status information of the satellite signal previously detected exists;

[0020] If the status information of the satellite signal that was previously searched exists, the target tracking channel is controlled to search for the code phase of the satellite signal sequentially, starting from the code phase corresponding to the time of the previously searched status information, according to the search step.

[0021] Optionally, the local spreading code generated based on the search code phase is correlated with the input signal to obtain multiple correlation peak-to-peak values, including:

[0022] The correlation calculation is performed between the local spreading code generated by the phase of the first search code and the input signal to obtain multiple correlation peak values ​​corresponding to this search.

[0023] Store at least three of the largest relevant peak values ​​from the multiple relevant peak values ​​obtained in this search;

[0024] After performing correlation calculations between the local spreading code generated based on the phase of each search code and the input signal to obtain multiple correlation peak-to-peak values ​​corresponding to the current search, the multiple correlation peak-to-peak values ​​obtained in the current search are compared with at least three stored maximum correlation peak-to-peak values, and the updated at least three maximum correlation peak-to-peak values ​​are stored.

[0025] Optionally, the step of identifying a valid signal based on the plurality of related peak-to-peak values ​​includes:

[0026] After completing the search for all code phases of the satellite signal, the peak-to-peak values ​​of multiple stored correlations are compared.

[0027] The code phase corresponding to the maximum value among multiple stored related peak-to-peak values ​​is identified as the code phase of the valid signal.

[0028] Optionally, the step of identifying a valid signal based on the plurality of related peak-to-peak values ​​includes:

[0029] The peak values ​​of the multiple related peaks are compared with a dynamic detection threshold, which is at least three times greater than the noise amplitude.

[0030] When there is a correlation peak value greater than the dynamic detection threshold, the code phase corresponding to the correlation peak value greater than the dynamic detection threshold is identified as the code phase of a valid signal.

[0031] Stop searching for the satellite signal at the current frequency.

[0032] A second aspect of this application provides a satellite signal acquisition device, comprising:

[0033] A determination module is used to determine a target tracking channel among multiple tracking channels that can be used to search for satellite signals, wherein the satellite signals include long spreading code signals;

[0034] The search module is used to control the target tracking channel to search for the code phase of the satellite signal;

[0035] The arithmetic module is used to perform correlation calculations between the local spreading code generated based on the search code phase and the input signal to obtain multiple correlation peak-to-peak values.

[0036] The identification module is used to identify valid signals based on multiple related peak-to-peak values, and to use the valid signals as captured satellite signals for signal tracking.

[0037] A third aspect of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the satellite signal acquisition method as described in the first aspect above.

[0038] A fourth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the satellite signal acquisition method as described in the first aspect above.

[0039] A fifth aspect of this application provides a computer program product that, when run on a computer, causes the computer to execute the satellite signal acquisition method described in the first aspect.

[0040] Compared with the prior art, the embodiments of this application have the following beneficial effects:

[0041] This application embodiment reduces the acquisition resources required for satellite signal acquisition by utilizing a tracking channel. The receiver module originally used for satellite signal acquisition no longer needs to acquire multiple frequency signals. Furthermore, the method provided in this application embodiment allows for the acquisition of different signals through software configuration, offering high flexibility and preventing interference with short spreading code signals that could prevent the acquisition of long spreading code signals. This ensures the receiver can operate normally even when some frequency signals are interfered with. Moreover, by implementing the acquisition process through a software module, this application embodiment effectively reduces chip and logic operation resources and power consumption while supporting the acquisition of signals at the same frequency, thereby reducing chip size, functionality, and cost. Attached Figure Description

[0042] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0043] Figure 1 This is a schematic diagram of a satellite signal acquisition method provided in an embodiment of this application;

[0044] Figure 2 This is a flowchart illustrating a satellite signal acquisition method provided in an embodiment of this application;

[0045] Figure 3 This is a schematic diagram of a satellite signal acquisition device provided in an embodiment of this application;

[0046] Figure 4 This is a schematic diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0047] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0048] As mentioned earlier, traditional GNSS signals with lower code rates and shorter code periods have relatively poor code characteristics. GNSS signal modernization has improved the code characteristics of traditional signals. Applying modernized GNSS signals can not only improve ranging accuracy but also eliminate bit flips and improve anti-cross-correlation performance. However, GNSS signal modernization also changes the signal coding method, requiring receivers to use more correlation resources when acquiring such signals. For example, the code period of the L1 C / A signal at the L1 frequency is 1023 code phases, while the code period of the modernized L5 C / A signal at the L5 frequency is 10230 code phases, meaning the code period of the long spreading code signal is 10 times that of the short spreading code signal. For searching and acquiring long spreading code signals, the computational load on the receiver will increase by approximately 100 times. For example, if a receiver originally needed 10 milliseconds to capture a short spreading code signal, the computational load for capturing a long spreading code signal will now increase to 100 milliseconds. This makes it impossible for traditional receivers, especially chip-based receivers, to capture satellite signals across all frequencies.

[0049] The receiver's normal positioning, navigation, and timing functions are achieved by tracking satellite signals. Before tracking satellite signals, the receiver needs to acquire them. That is, after powering on, the receiver first needs to acquire the satellite signal through a search, and then continuously track it. Acquiring the satellite signal involves searching for reliable or valid state information from an unknown state. This acquisition phase is mainly achieved through two dimensions: the Doppler effect of the satellite signal and its code phase. The purpose of acquisition is to move from the satellite signal's position state to a known state. By acquiring the satellite signal, we can accurately determine the Doppler effect and code phase at a specific point in time. After acquiring the satellite signal, the receiver can track it based on reliable Doppler or code phase. During the tracking phase, the receiver can perform correlation calculations using the satellite signal's code phase and locally generated spreading codes. Therefore, the acquisition and tracking of satellite signals by a receiver are essentially the same. The difference lies in the fact that the acquisition phase involves the development of a hardware accelerator from scratch, while tracking is based on a precise code phase or a precise Doppler, performing correlation calculations with the local spreading code. During acquisition, the receiver also needs to perform correlation calculations, but in the acquisition phase, the receiver searches for the code phase of the satellite signal one by one through enumeration or polling. In the tracking phase, since the receiver has already obtained the known signal provided in the acquisition phase, the satellite signal is already known, and the receiver no longer needs to perform a large-scale search.

[0050] Typically, receivers track satellite signals through a tracking channel. This tracking channel is generally inactive until the receiver has acquired the satellite signal. Therefore, to address the problems in existing technologies, this embodiment utilizes an idle tracking channel of the receiver to search for satellite signals and achieve signal acquisition. For example, assuming one tracking channel of the receiver can search for 10 code phases at a time, if 100 tracking channels exist, the receiver can complete a search for 1000 code phases at once. For modernized long spread spectrum code signals, since their code period is 10230 code phases, only 11 searches are needed to complete a search for 10230 code phases. Using the tracking channel to search for satellite signals can achieve a preliminary acquisition effect.

[0051] The technical solution of this application will be described below through specific embodiments.

[0052] Reference Figure 1 The diagram illustrates a satellite signal acquisition method provided in an embodiment of this application, which may specifically include the following steps:

[0053] S101. Determine a target tracking channel among multiple tracking channels that can be used to search for satellite signals, wherein the satellite signals include long spreading code signals.

[0054] It should be noted that this method can be applied to a receiver or other electronic devices with receiver-related functions, and this application embodiment does not limit it. For ease of understanding, this application embodiment uses a receiver as an example for subsequent description, that is, the execution subject of this application embodiment is the receiver. By executing the various steps of the method provided in this application embodiment, the receiver can achieve the purpose of directly capturing long spreading code signals with high code rate and long code period.

[0055] In this embodiment, the receiver includes multiple tracking channels, which can be used to track satellite signals. The target tracking channel can be an idle tracking channel, that is, a tracking channel that is not currently in operation. The target tracking channel can be all or some of the multiple tracking channels.

[0056] In one possible implementation of this application, the receiver can control the shutdown of each tracking channel via instructions. For example, the receiver can shut down a tracking channel that is currently tracking a satellite signal, thus ceasing tracking of that satellite signal. In this way, the tracking channel can serve as a target tracking channel for searching for another satellite signal.

[0057] In this embodiment, the satellite signal searched using the tracking channel may include a long spreading code signal. Typically, long spreading code signals have a high code rate and a long code period. Traditional receivers often require more computational and storage resources to acquire such long spreading code signals.

[0058] In one possible implementation of this application, the satellite signal searched using the tracking channel may also include a short spreading code signal. Since acquiring short spreading code signals is generally easier, the method provided in this application is mainly used for acquiring long spreading code signals. Thus, for receivers that require the acquisition of short spreading code signals to acquire long spreading code signals, the method provided in this application can be used to directly acquire long spreading code signals without relying on short spreading code signals.

[0059] S102. Control the target tracking channel to search for the code phase of the satellite signal.

[0060] Typically, receivers search for satellite signals primarily through Doppler and code phase analysis. In this embodiment, the receiver can control a currently idle target tracking channel to search for the code phase of the satellite signal.

[0061] The receiver typically searches for the code phase of a satellite signal using a set search step. Therefore, when controlling the target tracking channel to search for the code phase of the satellite signal, the receiver can first configure the search step size for the target tracking channel. For example, the receiver can configure the search step size for each target tracking channel to be 1 / 8 of a code phase. In this way, the receiver can control the target tracking channel to search for the code phase of the satellite signal sequentially according to the aforementioned search step size. Assuming each target tracking channel can search for 10 steps at a time, then each target tracking channel can search for 10 / 8, or 1.25, of the code phase each time.

[0062] Of course, the receiver can also configure search step lengths for each target tracking channel according to actual needs or its own hardware conditions. For example, the receiver can also configure the search step for each target tracking channel to be 1 / 4 code phase or 1 / 2 code phase, and this embodiment does not limit this. Generally, a smaller search step will increase the number of code phases searched by a factor of two, but correspondingly, a smaller search step can also obtain a higher correlation peak-to-peak value, making the receiver more sensitive to satellite signal acquisition. For example, in the above example, when 1 / 8 code phase is used as the search step, the receiver needs to use more correlation resources than when 1 / 4 code phase is used as the search step; however, using 1 / 8 code phase as the search step can also make the acquisition sensitivity higher.

[0063] In one possible implementation of this application, the number of target tracking channels includes multiple channels. When the receiver controls multiple target tracking channels to sequentially search for the code phases of the satellite signal according to the search step, it can first determine the number of search steps that each target tracking channel can perform at each step. Then, based on the search step and the number of search steps that each target tracking channel can perform at each step, it determines the code phase to be searched for each target tracking channel, and controls each target tracking channel to sequentially search for the code phase to be searched until the search for all code phases of the satellite signal at that frequency point is completed.

[0064] For example, the target tracking channels of the receiver are all the tracking channels in the receiver. Assuming there are 100 target tracking channels, the receiver can determine the number of steps that can be searched for each target tracking channel in each iteration. For instance, assuming each target tracking channel can be searched for 10 steps in each iteration, that is, each target tracking channel can be searched for 10 steps at a time. With a search step size of 1 / 8, each target tracking channel can search for 10 / 8 code phases in each iteration.

[0065] When determining the code phase to be searched for each target tracking channel, the search can begin from zero phase. That is, the code phase to be searched for the first target tracking channel is from zero to 1.25 code phases, the code phase to be searched for the second target tracking channel is from 1.25 to 2.5 code phases, the code phase to be searched for the third target tracking channel is from 2.5 to 3.75 code phases, and so on. In this way, the code phase to be searched for each target tracking channel is determined. The receiver can then control each target tracking channel to search according to the determined code phase until the search for all code phases of the satellite signal at the current frequency is completed. With a long spread spectrum code signal having a code period of 10230 code phases, each target tracking channel can complete the search for the code phases of the long spread spectrum code signal in a maximum of 11 searches.

[0066] In this embodiment, when the receiver is in an unknown state, it can use the tracking channel to search for satellite signals starting from zero phase. In some cases, if the receiver has already obtained some known information, such as information about the previous state, the receiver can start the search from a certain moment in the previous state instead of starting from zero phase when using the tracking channel.

[0067] Therefore, in another possible implementation of this application embodiment, when the receiver controls the target tracking channel to search for the code phase of the satellite signal in sequence according to the search step, it can first determine whether there is state information of the previously searched satellite signal. If there is state information of the previously searched satellite signal, the receiver can control the target tracking channel to search for the code phase of the satellite signal in sequence, starting from the code phase at the time corresponding to the previously searched state information.

[0068] For example, a receiver might receive the ephemeris of a navigation satellite. If the receiver knows its current position, it can calculate the Doppler of the navigation satellite relative to the receiver at the current moment. The velocity of the navigation satellite can be calculated from the ephemeris at a given moment; with the receiver stationary, it can calculate the Doppler of the navigation satellite. Alternatively, the receiver may have tracked the satellite's signal at a previous moment, but has lost track of the satellite signal due to obstruction or other reasons. Since the receiver is near a known state, it can calculate some information as the state information of the previously searched satellite signal. In this way, the receiver's target tracking channel can start searching not from zero phase, but from the code phase corresponding to a certain moment determined based on the state information of the previously searched satellite signal.

[0069] S103. The local spreading code generated based on the search code phase is correlated with the input signal to obtain multiple correlation peak-to-peak values.

[0070] In this embodiment, correlation calculations can be performed between the local spreading code generated based on the receiver's search code phase and the input signal. The result of the correlation calculation may include multiple correlation peak-to-peak values, and the code phases corresponding to these correlation peak-to-peak values ​​may be the code phases of the valid signal.

[0071] In one possible implementation of this application embodiment, the receiver can perform correlation calculations between the local spreading code generated by the search code phase and the input signal to obtain multiple correlation peak-to-peak values ​​corresponding to this search. The receiver can store at least three of the largest correlation peak-to-peak values ​​among the multiple correlation peak-to-peak values ​​obtained in this search. That is, after completing a search, each target tracking channel of the receiver can perform correlation calculations between the local spreading code generated by the search code phase and the input signal to obtain multiple correlation peak-to-peak values. Then, the receiver can identify several of the highest correlation peak-to-peak values. For example, the receiver can identify and store the three largest correlation peak-to-peak values.

[0072] After performing correlation calculations between the local spreading code generated based on the phase of each search code and the input signal to obtain multiple correlation peak-to-peak values ​​corresponding to the current search, the receiver can compare the multiple correlation peak-to-peak values ​​obtained in the current search with at least three stored maximum correlation peak-to-peak values, and store the updated at least three maximum correlation peak-to-peak values.

[0073] For example, after completing a search, the receiver can store the three largest correlation peak values. For instance, if the three largest correlation peak values ​​obtained in this search are p11 / p12 / p13, the receiver can store these three values ​​and then perform a second search. Assuming the three largest correlation peak values ​​obtained in the second search are p21 / p22 / p23, the receiver can compare these three values ​​with the three already stored values. That is, it compares the correlation peak values ​​p11 / p12 / p13 with p21 / p22 / p23 to determine the three largest values, let's say p11 / p12 / p23. The receiver can then store these updated values. After the next search, the receiver can update the stored correlation peak values ​​again.

[0074] S104. Identify valid signals based on multiple related peak-to-peak values, and use the valid signals as captured satellite signals for signal tracking.

[0075] In this embodiment, after obtaining multiple correlation peak-to-peak values, the receiver can identify the valid signal based on the largest correlation peak-to-peak value, thus completing the acquisition of the satellite signal at the current frequency. The receiver can track the acquired satellite signal to achieve functions such as positioning, navigation, and timing.

[0076] In one possible implementation of this application embodiment, taking the aforementioned example, since the receiver updates and stores the largest few correlation peak values ​​after each search, after completing the search for all code phases of the satellite signal, the receiver can compare the stored multiple correlation peak values ​​and identify the code phase corresponding to the maximum value among the stored multiple correlation peak values ​​as the code phase of the valid signal.

[0077] For example, suppose that after the receiver in the above example completes the search for all code phases of the satellite signal, the three largest correlation peak values ​​stored are p11 / p32 / p53. If the maximum value of these three correlation peak values ​​is p53, then the receiver can identify the code phase corresponding to the correlation peak value p53 as the code phase of the valid signal.

[0078] The above example illustrates the identification of valid signals after the entire code phase search is completed. In some cases, the receiver can also identify valid signals before the entire search is completed.

[0079] For example, the receiver can determine whether to continue the search or directly identify a found code phase as a valid signal code phase based on a comparison between the obtained correlation peak-to-peak value and the dynamic detection threshold. The dynamic detection threshold can be determined based on the noise amplitude. For instance, the dynamic detection threshold can be at least three times greater than the noise amplitude.

[0080] Therefore, after each search and correlation calculation, the receiver can compare the multiple correlation peak-to-peak values ​​obtained in this search with the dynamic detection threshold. If there are correlation peak-to-peak values ​​greater than the dynamic detection threshold, the receiver can identify the code phase corresponding to the correlation peak-to-peak values ​​greater than the dynamic detection threshold as the code phase of a valid signal. Then, the search for satellite signals at the current frequency point is stopped.

[0081] This application embodiment reduces the acquisition resources required for satellite signal acquisition by utilizing a tracking channel. The receiver module originally used for satellite signal acquisition no longer needs to acquire multiple frequency signals. Furthermore, the method provided in this application embodiment allows for the acquisition of different signals through software configuration, offering high flexibility and preventing interference with short spreading code signals that could prevent the acquisition of long spreading code signals. This ensures the receiver can operate normally even when some frequency signals are interfered with. Moreover, by implementing the acquisition process through a software module, this application embodiment effectively reduces chip and logic operation resources and power consumption while supporting the acquisition of signals at the same frequency, thereby reducing chip size, functionality, and cost.

[0082] It should be noted that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0083] To facilitate understanding, a specific example will be used to introduce the satellite signal acquisition method provided in the embodiments of this application.

[0084] like Figure 2 The diagram shown is a flowchart illustrating a satellite signal acquisition method provided in an embodiment of this application. According to... Figure 2 As shown in the process, the receiver should acquire satellite signals using the method provided in this application embodiment, with the tracking channel search function enabled. The tracking channel search function is used during the receiver's acquisition phase to acquire satellite signals using a tracking channel. This function is implemented based on a software module in the receiver.

[0085] In the specific process, such as Figure 2 As shown, the receiver can acquire the code phase search range of the signal to be captured. This step can be performed based on the existence of previously searched state information in the aforementioned embodiments. That is, when previously searched state information exists, the receiver can determine the code phase search range based on the previously searched state information and set search parameters according to the code phase search range. The aforementioned search parameters may include the search step size for each tracking channel and the number of searchable steps, etc. After determining the code phase search range and setting the corresponding search parameters, the receiver can update the search parameters sequentially according to the tracking channels and perform the corresponding search.

[0086] In another example, if the receiver does not have the previously searched state information, it can start searching from zero phase. In this case, the receiver does not need to obtain the code phase search range; it can directly configure the search parameters for each tracking channel to perform the search.

[0087] like Figure 2 As shown, after completing the search for the currently configured phase, the receiver can perform correlation calculations between the local spreading code generated by the search code phase and the input signal to obtain multiple correlation peak-to-peak values. For the multiple correlation peak-to-peak values ​​obtained from this search and correlation calculation, the receiver can determine if any exceed a threshold value. If so, the peak value exceeding the threshold value can be stored. By setting the aforementioned threshold value, information whose correlation peak-to-peak values ​​clearly do not belong to the valid signal can be filtered out. In another example, the receiver can also choose not to set a threshold value and directly store the maximum three or five sets of correlation peak-to-peak values ​​obtained from this search.

[0088] After completing the search of all code phases, the receiver can compare the stored correlation peak-to-peak values ​​and select the groups with the highest peak values, such as the three or five groups with the highest peak values. In another example, the receiver can also compare the highest-value correlation peak-to-peak values ​​found in each search with the stored correlation peak-to-peak values ​​after each search, thereby updating the stored correlation peak-to-peak values.

[0089] For the highest selected peak-to-peak sets, the receiver can determine if any peak exists that is greater than three times the noise amplitude. If such a peak exists, the receiver can identify its corresponding code phase as the code phase of a valid signal. This completes signal acquisition. The receiver can then track the acquired signal to perform functions such as positioning, navigation, and timing.

[0090] If none of the highest peak values ​​selected in the final search do not contain a peak value greater than three times the noise amplitude, the receiver can switch to the next frequency point to continue the search until all frequency points have been searched, and then switch to the next satellite to search.

[0091] The process of the receiver searching for the next frequency or the next satellite is the same as described above, and will not be repeated here.

[0092] Reference Figure 3 The diagram illustrates a satellite signal acquisition device according to an embodiment of this application, which may specifically include a determining module 301, a searching module 302, a calculation module 303, and an identification module 304, wherein:

[0093] The determination module 301 is used to determine a target tracking channel among multiple tracking channels that can be used to search for satellite signals, wherein the satellite signals include long spreading code signals;

[0094] The search module 302 is used to control the target tracking channel to search for the code phase of the satellite signal;

[0095] The arithmetic module 303 is used to perform correlation calculations between the local spreading code generated based on the search code phase and the input signal to obtain multiple correlation peak-to-peak values;

[0096] The identification module 304 is used to identify valid signals based on multiple related peak-to-peak values, and to use the valid signals as captured satellite signals for signal tracking.

[0097] In one possible implementation of this application embodiment, the search module 302 may specifically be used for:

[0098] Configure the search step of the target tracking channel;

[0099] The target tracking channel is controlled to search for the code phase of the satellite signal sequentially according to the search step.

[0100] In one possible implementation of this application embodiment, the number of target tracking channels may include multiple channels, and the search module 302 may also be used for:

[0101] Determine the number of steps that can be searched for each target tracking channel in each iteration;

[0102] Based on the search step and the number of steps that each target tracking channel can search at one time, the code phase to be searched for each target tracking channel is determined;

[0103] Each target tracking channel is controlled to sequentially search for the code phases to be searched until the search for all code phases of the satellite signal is completed.

[0104] In one possible implementation of this application embodiment, the search module 302 may also be used for:

[0105] Determine whether the status information of the satellite signal previously detected exists;

[0106] If the status information of the satellite signal that was previously searched exists, the target tracking channel is controlled to search for the code phase of the satellite signal sequentially, starting from the code phase corresponding to the time of the previously searched status information, according to the search step.

[0107] In one possible implementation of this application embodiment, the calculation module 303 may specifically be used for:

[0108] The correlation calculation is performed between the local spreading code generated by the phase of the first search code and the input signal to obtain multiple correlation peak values ​​corresponding to this search.

[0109] Store at least three of the largest relevant peak values ​​from the multiple relevant peak values ​​obtained in this search;

[0110] After performing correlation calculations between the local spreading code generated based on the phase of each search code and the input signal to obtain multiple correlation peak-to-peak values ​​corresponding to the current search, the multiple correlation peak-to-peak values ​​obtained in the current search are compared with at least three stored maximum correlation peak-to-peak values, and the updated at least three maximum correlation peak-to-peak values ​​are stored.

[0111] In one possible implementation of this application embodiment, the identification module 304 may specifically be used for:

[0112] After completing the search for all code phases of the satellite signal, the peak-to-peak values ​​of multiple stored correlations are compared.

[0113] The code phase corresponding to the maximum value among multiple stored related peak-to-peak values ​​is identified as the code phase of the valid signal.

[0114] In one possible implementation of this application embodiment, the identification module 304 may also be used for:

[0115] The peak values ​​of the multiple related peaks are compared with a dynamic detection threshold, which is at least three times greater than the noise amplitude.

[0116] When there is a correlation peak value greater than the dynamic detection threshold, the code phase corresponding to the correlation peak value greater than the dynamic detection threshold is identified as the code phase of a valid signal.

[0117] Stop searching for the satellite signal at the current frequency.

[0118] This application also provides a satellite signal acquisition device, which can be a receiver, a related functional module within a receiver, or another electronic device or a functional module within an electronic device. By applying the device provided in this application, the steps in the foregoing method embodiments can be implemented.

[0119] As the apparatus embodiments are basically similar to the method embodiments, they are described in a relatively simple manner. For relevant details, please refer to the description in the method embodiment section.

[0120] Reference Figure 4 The diagram illustrates an electronic device according to an embodiment of this application. Figure 4 As shown, the electronic device 400 in this embodiment includes: a processor 410, a memory 420, and a computer program 421 stored in the memory 420 and executable on the processor 410. When the processor 410 executes the computer program 421, it implements the steps in the various embodiments of the satellite signal acquisition method described above, for example... Figure 1Steps S101 to S104 are shown. Alternatively, when the processor 410 executes the computer program 421, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 3 The functions of modules 301 to 304 are shown.

[0121] For example, the computer program 421 can be divided into one or more modules / units, which are stored in the memory 420 and executed by the processor 410 to complete this application. The one or more modules / units can be a series of computer program instruction segments capable of performing specific functions, which can be used to describe the execution process of the computer program 421 in the electronic device 400. For example, the computer program 421 can be divided into a determination module, a search module, a calculation module, and a recognition module, with the specific functions of each module as follows:

[0122] A determination module is used to determine a target tracking channel among multiple tracking channels that can be used to search for satellite signals, wherein the satellite signals include long spreading code signals;

[0123] The search module is used to control the target tracking channel to search for the code phase of the satellite signal;

[0124] The arithmetic module is used to perform correlation calculations between the local spreading code generated based on the search code phase and the input signal to obtain multiple correlation peak-to-peak values.

[0125] The identification module is used to identify valid signals based on multiple related peak-to-peak values, and to use the valid signals as captured satellite signals for signal tracking.

[0126] The electronic device 400 may be a receiver or other device with related functions as described in the foregoing embodiments. The electronic device 400 may include, but is not limited to, a processor 410 and a memory 420. Those skilled in the art will understand that... Figure 4 This is merely one example of electronic device 400 and does not constitute a limitation on electronic device 400. It may include more or fewer components than shown, or combine certain components, or different components. For example, electronic device 400 may also include input / output devices, network access devices, buses, etc.

[0127] The processor 410 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0128] The memory 420 can be an internal storage unit of the electronic device 400, such as a hard disk or memory of the electronic device 400. The memory 420 can also be an external storage device of the electronic device 400, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, etc., equipped on the electronic device 400. Furthermore, the memory 420 can include both internal and external storage units of the electronic device 400. The memory 420 is used to store the computer program 421 and other programs and data required by the electronic device 400. The memory 420 can also be used to temporarily store data that has been output or will be output.

[0129] This application also discloses an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the satellite signal acquisition method as described in the foregoing embodiments.

[0130] This application also discloses a computer-readable storage medium storing a computer program that, when executed by a processor, implements the satellite signal acquisition method as described in the foregoing embodiments.

[0131] This application also discloses a computer program product that, when run on a computer, causes the computer to execute the satellite signal acquisition method described in the foregoing embodiments.

[0132] The embodiments described above are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A satellite signal acquisition method, characterized in that, include: Identify a target tracking channel from among multiple tracking channels that can be used to search for satellite signals, the satellite signals including long spreading code signals; Configure the search step of the target tracking channel, and control the target tracking channel to search for the code phase of the satellite signal sequentially according to the search step; The correlation calculation between the local spreading code generated based on the search code phase and the input signal is performed to obtain multiple correlation peak-to-peak values. Valid signals are identified based on multiple related peak-to-peak values, and these valid signals are used as acquired satellite signals for signal tracking. The number of target tracking channels includes multiple channels, and controlling the target tracking channels to sequentially search the code phase of the satellite signal according to the search step includes: Determine the number of steps that can be searched for each target tracking channel in each iteration; Based on the search step and the number of steps that each target tracking channel can search at one time, the code phase to be searched for each target tracking channel is determined; Each target tracking channel is controlled to sequentially search for the code phases to be searched until the search for all code phases of the satellite signal is completed.

2. The method according to claim 1, characterized in that, The control of the target tracking channel to sequentially search the code phase of the satellite signal according to the search step includes: Determine whether the status information of the satellite signal previously detected exists; If the status information of the satellite signal that was previously searched exists, the target tracking channel is controlled to search for the code phase of the satellite signal sequentially, starting from the code phase corresponding to the time of the previously searched status information, according to the search step.

3. The method according to claim 1 or 2, characterized in that, The local spreading code generated based on the search code phase is correlated with the input signal to obtain multiple correlation peak-to-peak values, including: The correlation calculation is performed between the local spreading code generated by the phase of the first search code and the input signal to obtain multiple correlation peak values ​​corresponding to this search. Store at least three of the largest relevant peak values ​​from the multiple relevant peak values ​​obtained in this search; After performing correlation calculations between the local spreading code generated based on the phase of each search code and the input signal to obtain multiple correlation peak-to-peak values ​​corresponding to the current search, the multiple correlation peak-to-peak values ​​obtained in the current search are compared with at least three stored maximum correlation peak-to-peak values, and the updated at least three maximum correlation peak-to-peak values ​​are stored.

4. The method according to claim 3, characterized in that, The step of identifying valid signals based on multiple related peak-to-peak values ​​includes: After completing the search for all code phases of the satellite signal, the peak-to-peak values ​​of multiple stored correlations are compared. The code phase corresponding to the maximum value among multiple stored related peak-to-peak values ​​is identified as the code phase of the valid signal.

5. The method according to claim 1, characterized in that, The step of identifying valid signals based on multiple related peak-to-peak values ​​includes: The peak values ​​of the multiple related peaks are compared with a dynamic detection threshold, which is at least three times greater than the noise amplitude. When there is a correlation peak value greater than the dynamic detection threshold, the code phase corresponding to the correlation peak value greater than the dynamic detection threshold is identified as the code phase of a valid signal. Stop searching for the satellite signal at the current frequency.

6. A satellite signal acquisition device, characterized in that, include: A determination module is used to determine a target tracking channel among multiple tracking channels that can be used to search for satellite signals, wherein the satellite signals include long spreading code signals; The search module is used to configure the search step of the target tracking channel and control the target tracking channel to search for the code phase of the satellite signal sequentially according to the search step; The arithmetic module is used to perform correlation calculations between the local spreading code generated based on the phase of the search code and the input signal to obtain multiple correlation peak-to-peak values. The identification module is used to identify valid signals based on multiple related peak-to-peak values, and to use the valid signals as acquired satellite signals for signal tracking; The number of target tracking channels includes multiple channels, and the search module is specifically used to: determine the number of steps that can be searched for each target tracking channel at one time; and determine the code phase to be searched for each target tracking channel based on the search steps and the number of steps that can be searched for each target tracking channel at one time. Each target tracking channel is controlled to sequentially search for the code phases to be searched until the search for all code phases of the satellite signal is completed.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the satellite signal acquisition method as described in any one of claims 1-5.

8. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the satellite signal acquisition method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Avoiding and stripping method for Neumann-Hoffman codes in navigation messages of Beidou navigation satellite system D1

    CN104570017A

  • Method for identifying and eliminating GNSS (Global Navigation Satellite System) forwarding deception interference in real time

    CN114325769A