A pseudo code tracking method and device, a terminal device and a storage medium
By using a pseudo-code processing module with N phase delay branches and a phase correction model in a satellite navigation and positioning receiver, a local pseudo-code consistent with the satellite signal is generated, solving the problem of low pseudo-code tracking accuracy and achieving higher-precision pseudo-code tracking and dynamic adaptation.
Patent Information
- Application Number
- CN202310998667.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-08
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2043-08-08
AI Technical Summary
Existing satellite navigation and positioning receivers have low pseudocode tracking accuracy, are susceptible to multipath effects, and cannot adapt to phase changes in satellite signals, resulting in low phase identification accuracy.
The pseudocode processing module with N phase delay branches generates N replicated pseudocodes with different phase delay values. The phase correction value is generated through relevant integral calculation and phase correction model. The local pseudocode generator is adjusted to achieve consistency with the pseudocode in the satellite signal.
It improves the pseudocode tracking accuracy of satellite signal receivers, enabling them to track satellite signals more accurately, adapt to phase changes in satellite signals, and enhance the dynamic tracking characteristics of the receiver.
Smart Images

Figure CN117214928B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The embodiment of the present application belongs to the technical field of receivers, and particularly relates to a pseudo-code tracking method and device, a terminal equipment and a storage medium. BACKGROUND
[0002] After receiving satellite signals, a satellite navigation positioning receiver on a mobile device needs to perform multiple processing steps such as radio frequency front-end processing, A / D analog-to-digital conversion, satellite signal acquisition, satellite tracking, ephemeris collection, satellite measurement value extraction and position solution, and can determine the current position of the mobile device according to the satellite signals. Among them, the satellite tracking step mainly refers to reducing the carrier frequency difference, carrier phase difference and code phase difference between the satellite signal and the local replica signal, so as to realize the accurate synchronization of the satellite signal and the local replica signal.
[0003] In the prior art, the satellite navigation positioning receiver mainly realizes satellite tracking through a baseband processing chip. In the satellite tracking link, the receiver can first generate a local pseudo-code through a pseudo-code generator. Then the receiver can input the local pseudo-code into three pseudo-code branches of the early phase branch, the late phase branch and the prompt phase branch respectively, and through the three pseudo-code branches, the receiver can generate different replica pseudo-codes by delaying the local pseudo-code by different degrees. By comparing the sizes of the correlation integrals of the replica pseudo-codes corresponding to the early phase branch, the late phase branch and the prompt phase branch respectively, the baseband processing chip can determine the phase deviation value between the local pseudo-code generated by the pseudo-code generator and the pseudo-code in the satellite signal, and adjust the pseudo-code generator according to the phase deviation value, so as to reduce the code phase difference between the satellite signal and the local replica signal. Thus, the satellite navigation positioning receiver can generate a local replica pseudo-code synchronized with the satellite signal. In the prior art, when the baseband processing chip needs to perform phase observation and phase identification on the local replica pseudo-code and the satellite signal, the baseband processing chip can perform phase observation by calculating the integral result between the local replica pseudo-code and the satellite signal, and perform phase identification according to the integral result. Since the baseband processing chip can only calculate the correlation integral result between the local replica pseudo-code and the satellite signal based on the three phase branches, and the phase delay of the late phase branch is fixed at-0.5 chip and the phase delay of the early phase branch is fixed at +0.5 chip. Therefore, the phase observation with a precision of 0.5 chip can only be performed by the prior art, and the precision of the original phase observation is low. Further, since the precision of the original phase observation of the baseband processing chip is low in the prior art, the baseband processing chip is easily affected by the multipath effect when performing phase identification based on the original phase observation result, thereby resulting in low accuracy of the phase identification. In addition, since the phase jumps of the two branches are ±0.5 pseudo-code chips, when the phase jump of the satellite signal exceeds ±0.5 pseudo-code chips, the baseband processing chip cannot accurately track the satellite signal. SUMMARY
[0004] Therefore, the embodiments of the present application provide a pseudo code tracking method and device, a terminal device and a storage medium, so as to improve the pseudo code tracking performance of a satellite signal receiver.
[0005] The first aspect of the embodiments of the present application provides a pseudo code tracking method, comprising:
[0006] inputting a local pseudo code into a pseudo code processing module comprising N phase delay branches, so as to generate N replicated pseudo codes with different phase delay values by phase delaying the local pseudo code; N is a positive integer greater than or equal to 4;
[0007] calculating the correlation integral results between each of the replicated pseudo codes and a satellite signal, respectively;
[0008] inputting all the correlation integral results and expected correlation values corresponding to all the phase delay branches into a preset phase correction model, to generate a phase correction value;
[0009] correcting the initial pseudo code in a local pseudo code generator based on the phase correction value, so that the local pseudo code generated by the local pseudo code generator is consistent with the pseudo code in the satellite signal.
[0010] The second aspect of the embodiments of the present application provides a pseudo code tracking device, comprising:
[0011] a replicated pseudo code generation module, configured to input a local pseudo code into a pseudo code processing module comprising N phase delay branches, so as to generate N replicated pseudo codes with different phase delay values by phase delaying the local pseudo code; N is a positive integer greater than or equal to 4;
[0012] a correlation integral calculation module, configured to calculate the correlation integral results between each of the replicated pseudo codes and a satellite signal, respectively;
[0013] a correction value calculation module, configured to input all the correlation integral results and expected correlation values corresponding to all the phase delay branches into a preset phase correction model, to generate a phase correction value;
[0014] a phase correction module, configured to correct the initial pseudo code in a local pseudo code generator based on the phase correction value, so that the local pseudo code generated by the local pseudo code generator is consistent with the pseudo code in the satellite signal.
[0015] The third aspect of the embodiments of the present application provides a terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the pseudo code tracking method of the first aspect as described above when executing the computer program.
[0016] The fourth aspect of the embodiments of the present application provides a computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement the pseudo code tracking method in the first aspect.
[0017] The fifth aspect of the embodiments of the present application provides a computer program product, which, when running on a computer, causes the computer to execute the pseudo code tracking method in the first aspect.
[0018] Compared with the prior art, the embodiments of the present application have the following advantages:
[0019] In the embodiments of the present application, after the receiver generates the local pseudo code by the local pseudo code generator, the receiver can input the local pseudo code into the pseudo code processing module. The N phase delay branch receivers in the pseudo code processing module can generate N replicated pseudo codes with different phase delay values. N is a positive integer greater than or equal to 4. The receiver can calculate the correlation integration results between each replicated pseudo code and the satellite signal respectively. Then, the receiver can input all the correlation integration results and the expected correlation values corresponding to each phase delay branch into the phase correction model to generate the phase correction value by the phase correction model. Finally, the receiver can correct the phase of the local pseudo code generator according to the phase correction value, so that the local pseudo code generator can generate the local pseudo code consistent with the pseudo code in the satellite signal, thereby achieving the purpose of pseudo code tracking of the satellite signal. By the method provided in the embodiments, the receiver can process no less than four correlation integration results by the phase correction model to generate the phase correction value, thereby improving the pseudo code tracking accuracy of the receiver. BRIEF DESCRIPTION OF DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0021] Figure 1 is a flowchart of signal processing when the receiver provided by the embodiments of the present application is positioned;
[0022] Figure 2 is a structural schematic diagram of a satellite signal tracking unit provided by the embodiments of the present application;
[0023] Figure 3 is a schematic diagram of code correlation results when pseudo code tracking is performed;
[0024] Figure 4is a schematic diagram of a pseudo code tracking method provided by an embodiment of the present application;
[0025] Figure 5 is a specific implementation flowchart of a pseudo code tracking method S403 provided by a second embodiment of the present application;
[0026] Figure 6 is a schematic diagram of an autocorrelation function provided by an embodiment of the present application;
[0027] Figure 7 is a specific implementation flowchart of a pseudo code tracking method S403 provided by a third embodiment of the present application;
[0028] Figure 8 is a specific implementation flowchart of a pseudo code tracking method S403 provided by a fourth embodiment of the present application;
[0029] Figure 9 is a specific implementation flowchart of a pseudo code tracking method S404 provided by a fifth embodiment of the present application;
[0030] Figure 10 is a specific implementation flowchart of a pseudo code tracking method S403 provided by a sixth embodiment of the present application;
[0031] Figure 11 is a specific implementation flowchart of a pseudo code tracking method S403 provided by a seventh embodiment of the present application
[0032] Figure 12 is a schematic diagram of a pseudo code tracking device provided by an embodiment of the present application;
[0033] Figure 13 is a schematic diagram of a terminal device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0034] In the following description, specific details are set forth such as particular system architectures, techniques etc. in order to provide a thorough understanding of the embodiments of the present application. However, persons skilled in the art will appreciate that the present application can be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well known methods, apparatuses, circuits, and
[0035] A satellite navigation positioning receiver on a mobile device can determine the current position of the mobile device by receiving satellite signals of a global navigation satellite system. Referring to Figure 1 , a flowchart of signal processing when a receiver is positioning is shown. As Figure 1As shown, after the receiver receives the satellite signal through the antenna, the satellite signal usually needs to be processed by the radio frequency front-end, digital baseband and positioning navigation calculation. Among them, the radio frequency front-end processing link mainly includes preamplifier, frequency converter and digital-to-analog converter (A / D converter). The receiver can generate a digital intermediate frequency digital signal after processing the satellite signal by the radio frequency front-end, and input the digital intermediate frequency digital signal into the baseband processing chip for baseband processing.
[0036] The baseband processing link mainly includes a digital signal processor and a signal tracking loop. The receiver can perform satellite signal acquisition through the digital signal processor, and can perform satellite signal tracking through the signal tracking loop. Through the baseband processing link, the receiver can generate satellite measurement values and navigation messages about the satellite signal, and perform positioning navigation calculation based on the satellite measurement values and the navigation messages. The positioning navigation calculation link mainly includes ephemeris collection, satellite measurement value extraction and position solution processing steps. In the receiver positioning process, the baseband processing link involves the largest amount of processing data in the entire processing flow, the most complex processing process, and the highest real-time requirement, so it must usually be realized by chip hardware, and often plays a decisive role in the performance of the entire receiver system.
[0037] The main purpose of satellite signal acquisition is to identify the satellite signal from the noise, determine the important information such as the number of the satellite signal, the rough Doppler frequency offset of the satellite signal and the code phase of the satellite signal. After the receiver completes the acquisition, the obtained information can be transmitted to the satellite signal tracking unit in the receiver. The satellite signal tracking unit can use the acquired information as the initial parameters to track the satellite signal, and compare the carrier frequency difference, carrier phase difference and code phase difference between the satellite signal and the local replica signal. According to the difference between the satellite signal and the local replica signal, the satellite signal tracking unit can continuously adjust the corresponding parameters of the local replica signal, and finally realize the accurate synchronization between the satellite signal and the local replica signal, and demodulate the message information modulated in the satellite signal, so that the positioning navigation calculation link can extract the ephemeris data and satellite measurement values according to the message information and the characteristics of the local replica signal, and then finally complete the positioning calculation.
[0038] Continuous tracking of the carrier component and the pseudo-code component in the satellite signal is the core function of the satellite signal tracking unit, because only in this way can the carrier and pseudo-code components in the satellite signal be completely stripped, and the message information modulated therein can be extracted. Therefore, the carrier tracking loop and the pseudo-code tracking loop (referred to as code tracking loop or code loop) are the core components in the satellite signal tracking unit.
[0039] Referring to Figure 2 , a structure diagram of a satellite signal tracking unit provided by an embodiment of the present application is shown. As Figure 2As shown, the carrier tracking loop in the satellite signal tracking unit is mainly composed of a carrier discriminator and a loop filter, and the code tracking loop is mainly composed of a code discriminator and a loop filter. Referring to Figure 2 , the receiver can input the generated digital intermediate frequency signal to the satellite signal tracking unit through the radio frequency front end link. After the digital intermediate frequency signal enters the satellite signal tracking unit, it can be multiplied by the replica carrier generated by the local carrier generator to realize carrier stripping. The digital intermediate frequency signal can enter the carrier in-phase branch (i branch) and the carrier quadrature branch (q branch) for carrier stripping. In the carrier in-phase branch, the digital intermediate frequency signal can be multiplied by the in-phase carrier for carrier stripping. In the carrier quadrature branch, the digital intermediate frequency signal can be multiplied by the quadrature carrier for carrier stripping. Then the carrier-stripped digital intermediate frequency signal can be multiplied by the replica code generated by the local code generator based on multiple different phase branches (Prompt immediate phase P, Early leading phase E, Late lagging phase L) to realize code stripping. Then the satellite signal tracking unit can integrate and accumulate the multiple data after stripping the carrier and the code to generate multiple correlation integral results.
[0040] As shown in Figure 2 , i E may represent the digital signal after the satellite digital intermediate frequency signal is carrier-stripped on the in-phase branch and multiplied by the replica code of the leading phase for code stripping. I E may represent the correlation integral value generated after the i E signal is integrated and accumulated. i P may represent the digital signal after the satellite digital intermediate frequency signal is carrier-stripped on the in-phase branch and multiplied by the replica code of the immediate phase for code stripping. I P may represent the correlation integral value generated after the i P signal is integrated and accumulated. i L may represent the digital signal after the satellite digital intermediate frequency signal is carrier-stripped on the in-phase branch and multiplied by the replica code of the lagging phase for code stripping. I L may represent the correlation integral value generated after the i L signal is integrated and accumulated. q E may represent the digital signal generated after the satellite digital intermediate frequency signal is carrier-stripped on the quadrature branch and multiplied by the replica code of the leading phase for code stripping. Q E may represent the correlation integral value generated after the q E signal is integrated and accumulated. q P may represent the digital signal after the satellite digital intermediate frequency signal is carrier-stripped on the quadrature branch and multiplied by the replica code of the immediate phase for code stripping. Q P may represent the correlation integral value generated after the q PThe correlation integral value generated after the signal is integrated and accumulated. L may represent the digital signal after the satellite digital intermediate frequency signal is carrier-stripped on the quadrature branch and multiplied by the replica pseudo code with a lagging phase for pseudo code stripping. L may represent q L The correlation integral value generated after the signal is integrated and accumulated.
[0041] By comparing the correlation integral results of the in-phase branch and the quadrature branch of the prompt phase branch (P branch), the carrier tracking loop can identify the frequency difference and the phase difference between the satellite signal and the local carrier, and update and adjust the frequency parameter and the phase parameter of the local carrier generator according to the frequency difference and the phase difference, wherein the part for adjusting the carrier frequency is also called frequency-locked loop FLL, and the part for adjusting the carrier phase is also called phase-locked loop PLL. The frequency-locked loop FLL and the phase-locked loop PLL can be realized by a circuit structure or by software. By comparing the integrated and accumulated results of the early phase branch (E branch), the lagging phase branch (L branch) and the prompt phase branch (P branch), the pseudo code tracking loop can identify the phase difference between the satellite signal and the local pseudo code, so as to update and adjust the phase parameter of the local pseudo code generator. Since the integrated and accumulated results of the replica pseudo code with different phase delays and the satellite signal are mainly used to observe and adjust the code phase, the pseudo code loop is also called delay-locked loop DLL. The above is the basic working principle of the satellite signal tracking unit.
[0042] In the prior art, the satellite signal tracking unit usually only uses the E, P and L three phase delay branches to realize the phase discrimination and phase adjustment of the pseudo code tracking loop. Referring to Figure 3 , a schematic diagram of the code correlation result of the pseudo code tracking is shown.
[0043] As shown in (a) in Figure 3 , when the local pseudo code is completely synchronized with the pseudo code in the satellite signal and the phase error between EPL does not exceed 0.5 chips, the relationship between the integrated results of the E branch, the P branch and the L branch should present a triangle shape with the middle large and the two ends small, that is, the integrated result of the E branch and the integrated result of the L branch should take the integrated result of the P branch as the center, and the integrated result of the E branch and the integrated result of the L branch present a left-right symmetric shape. Once there is a phase deviation between the local pseudo code and the pseudo code in the satellite signal, the above shape will be destroyed, resulting in that the integrated results of the L branch or the E branch are no longer balanced, and even the integrated result of one party exceeds the P branch. The code loop can adjust the phase of the local replica pseudo code according to the difference, so as to adjust the integrated value of the P branch to the maximum among the three, and at the same time make the integrated values of the L branch and the E branch balanced again.
[0044] like Figure 3 As shown in (b), when the local pseudocode phase leads, the integral result of the L branch should be greater than the integral results of the E branch and the P branch. Figure 3 As shown in (c), when the local pseudocode phase is only, the integral result of the E branch should be greater than the integral results of the L branch and the integral results of the P branch.
[0045] Current technology is effective with only three phase delay branches (E, L, and P), but in more advanced receivers, pseudocode tracking using only three phase delay branches cannot meet the receiver's high-performance requirements for the pseudocode tracking loop. This is because with only three phase delay branches (E, L, and P), the code loop can only observe the integration results of three pseudocode phases. In practice, the phase delay of the E branch is typically chosen to be -0.5 pseudocode chips, and the phase delay of the L branch is 0.5 pseudocode chips. Objectively, this design limits the phase observation accuracy of the code loop tracking to a level better than 0.5 pseudocode chips, and also limits the dynamic tracking characteristics of the code loop from adapting to phase changes exceeding ±0.5 pseudocode chips, thus restricting the receiver's tracking performance.
[0046] In more advanced receivers, to achieve phase observation accuracy better than 0.1 pseudocode chips, at least 5 E-splitters and 5 L-splitters, plus a P-splitter, are required to ensure that the phase delay difference between any two adjacent splitters is 0.1 pseudocode chips. However, in this case, the integral difference between any two adjacent splitters in the 11 phase delay splitters will be very small, making it very easy for the ideal triangular state to change into other irregular shapes due to noise. Therefore, existing judgment methods based on 11 phase delay splitters are prone to misjudgment. Alternatively, to accommodate phase abrupt changes in satellite signal pseudocode greater than 0.5 pseudocode chips, expanding the phase observation range to ±2.5 chips would require at least 5 E-splitters and 5 L-splitters, plus a P-splitter, for a total of 11 phase delay splitters. In the 11 phase delay branches, the phase delay difference between any two adjacent branches is 0.5 pseudocode chips. The phase difference between the E branch with the smallest delay and the L branch with the largest delay can reach 5 chips. However, in this case, the ideal autocorrelation integral result of the pseudocode is no longer a simple triangle, but presents various forms depending on the different pseudocode sequences corresponding to different satellites and the random changes in noise. Therefore, the above judgment method is not applicable to this situation.
[0047] In order to use more than three phase delay branches for pseudo code tracking in a receiver with high precision requirements, the prior art usually adopts two methods for phase discrimination. Method one is to take the phase delay value corresponding to the phase delay branch with the largest correlation integral result as the phase correction value of the local pseudo code. For example, E5~L5 correspond to phase differences of -2.5~2.5 respectively. If the correlation integral value corresponding to the E5 branch is the largest, it is determined that the phase correction value of the local pseudo code is -2.5. This method can only select the phase correction value from a few discrete values, and the flexibility is low. For example, there can be phase differences of -2.1~-2.4 between -2.5 and -2, but the phase correction values between -2.1 and -2.4 cannot be generated by the above method. Therefore, the phase discrimination by method one can cause a fixed error between the loop phase and the true phase. Method two is to select two phase delay branches with symmetrical phase delay values from N phase delay branches to calculate the phase error. For example, the E5 branch and the L5 branch are fixedly used to calculate the phase error, or the E3 branch and the L3 branch are fixedly used to calculate the phase error, or the E1 branch and the L1 branch are fixedly used to calculate the phase error. In this way, the same algorithm as when there are only three different phase delays can be used (E, P, L are changed to Ex, P, Lx) when calculating. This method needs to additionally develop a selection strategy for the phase delay branches. For example, when the phase change speed is relatively slow, a phase combination with a smaller delay is used, and when the phase change speed is relatively fast, a phase combination with a larger delay is used, so as to maximize the bandwidth of the loop while improving the ability to resist multipath interference. When the selection strategy is not properly designed, it is easy to cause a large phase discrimination error, and this method cannot be used when the phase observation range is expanded to more than ±1 chip.
[0048] The above phase discrimination methods only use part of the information in the code loop observation information, not all the information, so it is difficult to avoid large deviations in the calculated phase correction values in some cases.
[0049] Reference Figure 4 , a schematic diagram of a pseudo code tracking method provided by an embodiment of the present application is shown. The pseudo code tracking method can be applied to an electronic device that can receive satellite signals. Specifically, the electronic device can be a satellite signal receiver. In the embodiment, the positioning method provided by the present application is described by taking the receiver as an example. Specifically, it can include the following steps:
[0050] S401, inputting a local pseudo code into a pseudo code processing module including N phase delay branches to generate N replicated pseudo codes with different phase delay values for the local pseudo code; N is a positive integer greater than or equal to 4.
[0051] In the embodiment, after the receiver generates the local pseudo code based on the satellite signal, the generated local pseudo code can be input into the pseudo code processing module, which can contain N phase delay branches. Each phase delay branch corresponds to a different phase delay value, which is different from the prior art in which only a fixed value can be selected as the phase delay value. In the embodiment, each phase delay value can be an arbitrary value.
[0052] For example, the pseudo code processing module can contain 5 E branches, 5 L branches and 1 P branch. If the phase delay branches are sequentially numbered according to the absolute value of the phase delay value from small to large, the phase delay value corresponding to the E5 branch can be 2.5, the phase delay value corresponding to the E4 branch can be 2, the phase delay value corresponding to the E3 branch can be 1.5, the phase delay value corresponding to the E2 branch can be 1, the phase delay value corresponding to the E1 branch can be 0.5, the phase delay value corresponding to the P branch can be 0, the phase delay value corresponding to the L1 branch can be -0.5, the phase delay value corresponding to the L2 branch can be -1, the phase delay value corresponding to the L3 branch can be -1.5, the phase delay value corresponding to the L4 branch can be -2, and the phase delay value corresponding to the L5 branch can be -2.5. All the above phase delay values are in units of chips. Through the N phase delay branches, the receiver can generate N replicated pseudo codes with different phase delay values by phase delaying the local pseudo code to different degrees.
[0053] In a possible implementation, when the user starts the positioning function on the electronic device installed with the receiver, or the receiver receives a user-initiated starting instruction, the receiver can start receiving satellite signals through the antenna. Since the signal strength of the satellite signals received by the receiver through the antenna is very small and the satellite signals contain a large amount of noise, the receiver can first input the satellite signals to the radio frequency front-end processing module. The radio frequency front-end processing module can include a low-noise amplifier and a filter. In the radio frequency front-end processing module, the receiver can amplify the signal strength in the satellite signals through the low-noise amplifier, and filter the noise in the satellite signals through the filter. Then the radio frequency front-end processing module can perform digital-to-analog conversion on the satellite signals after amplification and noise filtering to obtain an analog signal, and finally the radio frequency front-end processing module can perform quadrature sampling on the analog signal to generate an intermediate frequency digital signal. The receiver can transmit the generated intermediate frequency digital signal to the digital baseband processing module. After receiving the intermediate frequency digital signal, the digital baseband processing module can first perform satellite acquisition based on the intermediate frequency digital signal. Through a preset search and acquisition algorithm, the baseband processing module can roughly estimate the first code phase of the pseudo code in the satellite signal and the first carrier frequency of the carrier in the satellite signal. The digital baseband processing module can generate a local pseudo code in the local pseudo code generator based on the first code phase. It should be noted that, in the present solution, the search and acquisition algorithm can be any search and acquisition algorithm known to those skilled in the art, and the present solution does not specifically limit the search and acquisition algorithm.
[0054] S402, respectively calculating the correlation integration results between each of the copied pseudo codes and the satellite signals.
[0055] In the present embodiment, after generating the N copied pseudo codes, the receiver can input each of the copied pseudo codes to the correlation integrator, and calculate the correlation integration results between each of the copied pseudo codes and the satellite signals in the correlation integrator. The correlation integration results between each of the copied pseudo codes and the satellite signals can be the coherent integration results between the copied pseudo codes and the satellite signals, or the non-coherent integration results between the copied pseudo codes and the satellite signals. The coherent integration results can be generated by the receiver through calculating the coherent integration of the copied pseudo codes and the satellite signals. The non-coherent integration results can be generated by the receiver through calculating the non-coherent integration of the copied pseudo codes and the satellite signals.
[0056] In a possible implementation, after the receiver inputs the intermediate frequency digital signal to the satellite signal tracking unit, the intermediate frequency digital signal can be input to the in-phase branch and the quadrature branch respectively, and multiplied by the in-phase carrier and the quadrature carrier generated by the local carrier generator respectively to perform carrier stripping. The receiver can multiply the intermediate frequency data on the in-phase branch with each copy pseudo code respectively to generate a first correlation integral result, and multiply the intermediate frequency data on the quadrature branch with each copy pseudo code respectively to generate a second correlation integral result, to realize pseudo code stripping. Then, the receiver can perform a modulo operation on the first correlation integral result of the same copy pseudo code on the in-phase branch and the second correlation integral result on the quadrature branch, to generate a correlation integral result between each copy pseudo code and the satellite signal.
[0057] S403, input all the correlation integral results and all the expected correlation values corresponding to the phase delay branches to a preset phase correction model to generate a phase correction value.
[0058] In this embodiment, after the receiver generates the correlation integral result between each copy pseudo code and the satellite signal, all the generated correlation integral results and the expected correlation values corresponding to each phase delay branch can be input to a preset phase correction model, and a phase correction value can be generated by the phase correction model. It should be noted that this embodiment does not limit the specific network structure of the phase correction model. The phase correction model can be a variety of machine learning models such as a common convolutional neural network, a residual neural network, a recurrent neural network, etc. In specific engineering practice, the simpler the structure of the phase correction model is, the better it is, as long as the bandwidth requirement and the accuracy requirement of the code tracking loop of the receiver are met.
[0059] In a possible implementation, the phase correction model in the receiver can be any learning model with memory, such as a recurrent neural network (RNN). After receiving all the input correlation integral results, the learning model with memory can generate a phase correction value in combination with the historical correction values generated in the past and all the correlation integral results.
[0060] S404, perform phase correction on the local pseudo code generator based on the phase correction value, so that the local pseudo code generated by the local pseudo code generator is consistent with the pseudo code in the satellite signal.
[0061] In this embodiment, after the receiver generates a phase correction value by the phase correction model, the receiver can perform phase correction on the local pseudo code generator based on the phase correction value, so that the local pseudo code generated by the local pseudo code generator is consistent with the pseudo code in the satellite signal.
[0062] In a possible implementation, after the phase correction value is used to correct the phase of the local pseudo-code generator, the receiver can generate a new local pseudo-code by using the phase-corrected local pseudo-code generator. Then, the receiver can input the phase-corrected local pseudo-code into a positioning and navigation operation unit of the receiver, and the positioning and navigation operation unit can perform positioning calculation by using the phase-corrected local pseudo-code to generate the positioning information of the receiver.
[0063] By the method provided in this embodiment, the receiver can generate a phase correction value according to no less than four correlation integral results, and therefore the method provided in this embodiment improves the pseudo-code tracking accuracy of the receiver, so that the receiver can perform more accurate pseudo-code tracking on the satellite signal.
[0064] Figure 5 A specific implementation flowchart of the pseudo-code tracking method S403 provided in the second embodiment of the present application is shown. Referring to Figure 5 , compared with Figure 4 the embodiments, the pseudo-code tracking method provided in this embodiment further includes S501-S502 before S403, which are specifically described as follows.
[0065] S501, if the integral value of any candidate pseudo-code and the satellite signal is greater than a preset acquisition threshold, it is determined that the candidate pseudo-code is a target pseudo-code corresponding to the satellite signal, and a target sequence number corresponding to the target pseudo-code is determined to determine a self-correlation function corresponding to the satellite signal.
[0066] In this embodiment, when the receiver acquires the satellite signal by using the satellite acquisition unit, the receiver can generate a plurality of candidate pseudo-codes according to the sequence numbers by using the candidate pseudo-code generator in the satellite acquisition unit, and calculate the integral values of the candidate pseudo-codes and the satellite signal in sequence. The receiver can determine whether the integral value of each candidate pseudo-code and the satellite signal is greater than a preset acquisition threshold. Since the code sequences of the candidate pseudo-codes are quite different, only when there is a part of the code sequence of the candidate pseudo-code in the satellite signal, a larger integral value can be obtained. If the integral value of any candidate pseudo-code and the satellite signal is greater than the acquisition threshold, the receiver can consider that the current satellite signal contains the same information as the candidate pseudo-code, and the current satellite signal has been acquired. The receiver can determine that the candidate pseudo-code is the target pseudo-code corresponding to the satellite signal. The receiver can determine the sequence number when the target pseudo-code is generated as the target sequence number corresponding to the target pseudo-code, and determine the self-correlation function corresponding to the satellite signal according to the target sequence number.
[0067] In a possible implementation, after the satellite acquisition unit of the receiver generates a candidate pseudo code through the candidate pseudo code generator, the satellite acquisition unit can multiply the candidate pseudo code with the digital intermediate frequency signal input to the satellite acquisition unit to obtain a de-pseudo code signal, and then the satellite acquisition unit can multiply the de-pseudo code signal with two mutually orthogonal carrier signals to obtain an in-phase signal and a quadrature signal. The receiver can integrate and accumulate the in-phase signal and the quadrature signal according to a preset integration time, respectively, to obtain an in-phase accumulation value and a quadrature accumulation value. After the receiver performs a square operation on the in-phase accumulation value and the quadrature accumulation value, respectively, and adds the in-phase accumulation value and the quadrature accumulation value, an integration value of the candidate pseudo code and the satellite signal is generated.
[0068] In this embodiment, since the autocorrelation function corresponding to each satellite signal is obtained by sliding calculation of the pseudo code sequence corresponding to the satellite signal as a unit of a pseudo code chip, the autocorrelation functions corresponding to each pseudo code sequence are different. Therefore, the receiver can determine the autocorrelation function of the satellite signal through the target sequence number corresponding to the target pseudo code.
[0069] Reference Figure 6 FIG. 1 shows a schematic diagram of an autocorrelation function provided by an embodiment of the present application. As shown in Figure 6 FIG. 1, the autocorrelation function corresponding to the pseudo code sequence with the number 37 of Beidou. The vertical coordinate represents the autocorrelation function value, and the horizontal coordinate represents the phase delay value. As shown in Figure 6 FIG. 1, the autocorrelation function corresponding to the pseudo code sequence with the number 37 of Beidou only has a larger autocorrelation function value at the phase delay value of 0, and the autocorrelation function values at other pseudo code phase differences present the characteristics of high and low interlaced forms, that is, the autocorrelation function presents different waveforms at different pseudo code phase differences. Therefore, the phase correction model can determine the phase correction value of the local pseudo code by judging whether the first waveform corresponding to the local pseudo code is consistent with the waveform of the autocorrelation function at which phase delay value.
[0070] S502, determining an ideal correlation value corresponding to each phase delay branch from the autocorrelation function according to the phase delay value corresponding to each phase delay branch.
[0071] In this embodiment, after the receiver determines the autocorrelation function corresponding to the satellite signal, the receiver can determine the ideal correlation value corresponding to each phase delay branch from the autocorrelation function according to the phase delay value corresponding to each delay branch.
[0072] In the embodiment, the autocorrelation functions corresponding to the respective satellite signals are unique, i.e., the waveforms of the autocorrelation functions corresponding to the respective satellite signals are different from each other. Therefore, the method provided in the embodiment can determine the phase correction value of the local pseudo code by judging whether the first waveform corresponding to the local pseudo code is consistent with the waveform of the autocorrelation function at a phase delay value, thereby ensuring the accuracy of the phase correction value generated by the phase correction model.
[0073] Figure 7 A specific implementation flowchart of the pseudo code tracking method S403 provided in the third embodiment of the application is shown. Referring to Figure 7 , compared with Figure 4 the embodiments, the method for tracking a pseudo code provided in the embodiment includes S4031-S4032, which are specifically described as follows.
[0074] S4031, determine the phase difference values between the respective phase delay branches.
[0075] In the embodiment, after the receiver calculates the correlation integral structures between the respective replica pseudo codes and the satellite signals, the receiver can also determine the phase difference values between the respective phase delay branches according to the phase delay values of the respective phase delay branches. For example, there are three E branches, three L branches and one P branch in the pseudo code processing module. The phase delay value corresponding to the E3 branch can be 3, the phase delay value corresponding to the E2 branch can be 1.5, the phase delay value corresponding to the E1 branch can be 1, the phase delay value corresponding to the P branch can be 0, the phase delay value corresponding to the L1 branch can be -1, the phase delay value corresponding to the L2 branch can be -1.5, and the phase delay value corresponding to the L3 branch can be -3. Then, the phase difference value between the E3 branch and the E2 branch can be 1.5, the phase difference value between the E2 branch and the E1 branch can be 0.5, the phase difference value between the E1 branch and the P branch can be 1, the phase difference value between the L1 branch and the P branch can be 1, the phase difference value between the L2 branch and the L1 branch can be 0.5, and the phase difference value between the L3 branch and the L2 branch can be 1.5.
[0076] S4032, input all the phase difference values, all the correlation integral results and all the expected correlation values into the phase correction model to generate the phase correction value; the all phase difference values and the all correlation integral results are used to generate a first waveform corresponding to the local pseudo code; the all expected correlation values are used to generate a second waveform corresponding to the satellite signal; and the phase correction model is used to generate the phase correction value based on the phase deviation relationship between the first waveform and the second waveform.
[0077] In this embodiment, after determining the phase difference between each phase delay branch, the receiver can input all phase difference values, all correlation integration results, and all expected correlation values into the phase correction model. The phase correction model can generate a first waveform corresponding to the local pseudocode based on all input phase difference values and all correlation integration results. The phase correction model can also generate a second waveform corresponding to the pseudocode in the satellite signal based on all input expected correlation values. Finally, the phase correction model generates a phase correction value based on the phase deviation relationship between the first and second waveforms.
[0078] In one possible implementation, the second waveform generated by the phase correction model based on all desired correlation values can be the waveform of the autocorrelation function corresponding to the satellite signal. For example... Figure 6 As shown, since the autocorrelation function exhibits different waveforms within different phase delay ranges, the phase correction model can identify similar waveforms in the second waveform that have the same shape as the first waveform through comparison. Then, based on the position of these similar waveforms in the second waveform, the phase correction model determines the phase deviation relationship between the first and second waveforms and generates a phase correction value. For example, if the phase correction model confirms that the first and second waveforms have the same waveform within the phase delay range of 0.6 to 1, and the center of the first waveform is located at a phase delay value of 0.8, then the phase correction model can determine that the local pseudocode is 0.8 phases ahead of the pseudocode chip, and can generate a phase correction value of -0.8.
[0079] In this embodiment, after calculating the correlation integral results between each replicated pseudocode and the satellite signal, the receiver can also determine the phase difference between each phase delay branch and input all phase difference values as one of the input data into the phase correction model to generate the phase correction value. Through the method provided in this embodiment, the phase difference values between the various phase delay branches in the receiver can be inconsistent; that is, the user can dynamically adjust the phase delay values corresponding to each phase delay branch according to their own needs. Therefore, the pseudocode tracking method provided in this embodiment can improve the generalization ability of the phase correction model.
[0080] Figure 8 A flowchart illustrating a specific implementation of a pseudocode tracing method S403 provided in the fourth embodiment of this application is shown. See also... Figure 8 Compared to Figure 4 In the embodiment provided, S403 of the pseudocode tracking method includes: S801 to S802, which are detailed below:
[0081] S801. Based on preset correction conditions, obtain the historical correction values generated by the phase correction model from the data storage module.
[0082] In the embodiment, if the phase correction model is a machine learning model without memory, such as a full connection network, in order to further improve the accuracy of the phase correction value output by the phase correction model, the receiver can also input the historical correction value into the phase correction model. The receiver can obtain the historical correction value generated by the phase correction model in the past from the data storage module according to a preset correction condition.
[0083] In a possible implementation, the phase correction model can also transmit the generated phase correction value to the data storage module after generating the phase correction value each time. The data storage module can sequentially store the received phase correction value as a historical correction value according to the receiving order. When the receiver needs to generate a phase correction value by the phase correction model, the receiver can obtain the required historical correction value from the data storage module according to the correction condition. For example, if the correction condition set by the user is to correct according to the phase correction values generated by the phase correction model for the last two times, the receiver can obtain the last two historical correction values stored in the data storage module.
[0084] S802, input the historical correction value, all correlation integral results and all expected correlation values into the phase correction model to generate the phase correction value; the all correlation integral results are used to generate a first waveform corresponding to the local pseudo code; the all expected correlation values are used to generate a second waveform corresponding to the satellite signal; and the phase correction model is used to generate the phase correction value based on a phase deviation relationship between the first waveform and the second waveform and the historical correction value.
[0085] In the embodiment, after the receiver obtains the historical correction value, the receiver can input the obtained historical correction value, the correlation integral results of the copied pseudo codes corresponding to all delay branches and the expected correlation values corresponding to all delay branches into the phase correction model, and generate the phase correction value by the phase correction model. The phase correction model can generate a first waveform of the local pseudo code according to all the input correlation integral results. The phase correction model can also generate a second waveform corresponding to the satellite signal according to all the input expected values. The phase correction model can generate an initial phase correction value according to the phase deviation relationship between the first waveform and the second waveform. Then, the phase correction model can correct the initial phase correction value according to the historical correction value, and generate a phase correction value linearly related to the historical phase correction value.
[0086] In the embodiment, the receiver can obtain the historical correction value from the data storage module according to the preset historical condition, and input the historical correction value as one of the input data into the phase correction model. Therefore, by the method provided in the embodiment, even if the phase correction model does not have memory, the phase correction model can generate the phase correction value linearly related to the historical correction value according to the input historical correction value. Therefore, by the method provided in the embodiment, the developer can select a machine learning model with a simpler network structure as the phase correction model, which is beneficial to the receiver to generate the phase correction value more quickly and efficiently.
[0087] Figure 9 A specific implementation flowchart of the pseudo code tracking method S404 provided in the fifth embodiment of the application is shown. Referring to Figure 9 , compared with Figure 4 the embodiment, the pseudo code tracking method provided in the embodiment includes S4041-S4042, which are specifically described as follows.
[0088] S4041, correcting the current phase correction value output by the phase correction model based on the first historical correction value by the loop filter module to generate a target correction value.
[0089] In the embodiment, if the phase correction model is a machine learning model without memory, such as a full connection network (Full Connection), in order to further improve the accuracy of pseudo code tracking of the receiver, the receiver can also input the phase correction value output by the phase correction model into the loop filter module. The receiver can correct the current phase correction value output by the phase correction model based on the first historical correction value by the loop filter, and generate a new target correction value.
[0090] In a possible implementation, the loop filter module in the receiver can be a proportional-integral-derivative controller. Since the proportional-integral-derivative controller can adjust the parameters in the controller according to the last generated control result, and generate a new control result according to the new input and the adjusted parameters in the controller. Therefore, the loop filter module can feed back the generated target correction value as feedback data to the loop filter module after generating the target correction value each time. After the receiver inputs the phase correction value into the loop filter module, the loop filter module can correct the current input phase correction value according to the last generated target correction value fed back, and generate a new target correction value.
[0091] S4042, correcting the next phase correction value output by the phase correction model with the target correction value as the second historical correction value.
[0092] In the embodiment, after the receiver generates the target correction value through the loop filter module, the receiver can input the target correction value generated by the loop filter module into the loop filter module as a second historical correction value, and correct the next phase correction value output by the phase correction model according to the second historical correction value through the loop filter module to generate a new target correction value.
[0093] In a possible implementation, after the receiver generates the target correction value through the loop filter module, the receiver can correct the code phase in the local pseudo code generator according to the target correction value, so that the local pseudo code generates a new local pseudo code according to the corrected code phase.
[0094] In the embodiment, the receiver can input the phase correction value output by the phase correction model into the loop filter for correction. Since the loop filter can correct the phase correction value in combination with the historical correction value, even when the pseudo code phase in the satellite signal accidentally mutates, the receiver can generate a target correction value closer to the true phase error through the loop filter module.
[0095] Figure 10 A specific implementation flowchart of a pseudo code tracking method S403 provided by the sixth embodiment of the application is shown. Referring to Figure 10 , compared with Figure 4 the embodiments, the pseudo code tracking method provided by the embodiment includes S1001-S1003, which are specifically described as follows.
[0096] S1001, input the all correlation integral results and the all expected correlation values into the first neural network to generate an initial correction value; the first neural network is trained based on expected initial correction N phase delay branch corresponding correlation integral results and N phase delay branch corresponding expected correlation values.
[0097] In the embodiment, the phase correction model of the receiver can include a first neural network and a second neural network. After the receiver calculates the correlation integral results between the copied pseudo codes and the satellite signals, the receiver can input all the integral results and all the expected correlation values into the first neural network of the phase correction model, and generate an initial correction value through the first neural network. The first neural network in the phase correction model can be trained based on expected initial correction values, N phase delay branch corresponding correlation integral results and N phase delay branch corresponding expected correlation values input by a user.
[0098] In a possible implementation, the first neural network can be any machine learning model. The user can input the first to-be-trained network into the receiver, and input the expected initial correction value, the correlation integration result corresponding to the N phase delay branches, and the expected correlation value corresponding to the N phase delay branches as training samples into the receiver to train the first to-be-trained network. In the training process, the receiver can calculate a second loss value by using a preset first loss function after generating each initial correction value. The receiver can calculate the mean square error value between the initial correction value and the expected initial correction value corresponding to the sample as the first loss value. The receiver can back-propagate the calculated first loss value to the first to-be-trained network, and update the parameters in the first to-be-trained network according to the first loss value. When the first loss value reaches the first stop condition set by the user, the receiver can take the current first to-be-trained network as the first neural network.
[0099] S1002, correcting, by the second neural network, the current initial correction value output by the first neural network based on the first historical correction value to generate a phase correction value; the second neural network is trained based on a plurality of initial correction values and expected phase correction values corresponding to each initial correction value.
[0100] In this embodiment, after the receiver generates the initial correction value by using the first neural network, the receiver can input the initial correction value generated by the first neural network into the second neural network. The second neural network can correct the current initial correction value output by the first neural network based on the first historical correction value, and generate a phase correction model. The second neural network can be trained based on a plurality of initial correction values input by the user and expected phase correction values corresponding to each initial correction value.
[0101] In a possible implementation, the second neural network can be any neural network capable of simulating the operation process of a proportional-integral-derivative controller. The user can input the second to-be-trained network capable of simulating the operation process of a proportional-integral-derivative controller into the receiver, and input a plurality of initial correction values and expected phase correction values corresponding to each initial correction value as training samples into the receiver to train the second to-be-trained network. In the training process, the receiver can calculate a second loss value by using a preset second loss function after generating each phase correction value. The receiver can calculate the mean square error value between the phase correction value and the expected phase correction value corresponding to the sample as the second loss value. The receiver can back-propagate the calculated second loss value to the second to-be-trained network, and update the parameters in the second to-be-trained network according to the second loss value. When the second loss value reaches the second stop condition set by the user, the receiver can take the current second to-be-trained network as the second neural network.
[0102] S1003. The phase correction value is used as the second historical correction value to correct the next initial correction value output by the first neural network.
[0103] In this embodiment, after the receiver generates a phase correction value through the second neural network, it can input the phase correction value generated by the second neural network as a second historical correction value into the second neural network, and then use the second neural network to correct the next initial correction value output by the first neural network according to the second historical correction value to generate a new phase correction value.
[0104] In this embodiment, developers can use a neural network capable of simulating the operation of a proportional-integral-derivative controller as a second neural network in the phase correction model to correct the initial correction value of the first neural network output based on historical correction values. Using the method provided in this embodiment, developers can replace the loop filter module in the receiver with a second neural network, thus reducing the hardware cost of the receiver and consequently its size.
[0105] Figure 11 A flowchart illustrating a specific implementation of a pseudocode tracking method S403 provided in the seventh embodiment of this application is shown. See also... Figure 11 Compared to Figure 4 In the embodiment provided, the pseudocode tracking method includes S1101 to S1103 before S403, which are detailed below:
[0106] S1101. Obtain the training model and training samples input by the user, process the training samples through the training model to generate an initial phase correction value; the training samples include the correlation integral results, ideal correlation values and expected phase correction values corresponding to N phase delay branches.
[0107] In this embodiment, before generating the phase correction value based on all relevant integration results and the expected correlation values corresponding to all phase delay branches, the receiver also needs to obtain the user-input model to be trained and training samples. The receiver can process the training samples using the model to be trained to generate initial phase correction values. Each training sample may contain the relevant integration results, ideal correlation values, and expected phase correction values corresponding to N phase delay branches.
[0108] S1102. Determine the error value of the initial phase correction value based on the initial phase correction value and the expected phase correction value.
[0109] In this embodiment, after the receiver generates the initial phase correction value by the to-be-trained model, the receiver can further determine an error value of the initial phase correction value according to the initial phase correction value and an expected phase correction value in the training sample corresponding to the initial phase correction value.
[0110] In a possible implementation, the receiver can calculate the error value corresponding to the initial phase correction value by using a preset loss function. In this embodiment, the loss function is not limited, and can be any function that can calculate the error value between the initial phase correction value and the expected phase correction value, such as a mean square error function.
[0111] S1003, updating the to-be-trained model based on the error value until the error value meets a preset training stop condition, and taking the to-be-trained model corresponding to the error value meeting the training stop condition as the phase correction model.
[0112] In this embodiment, after the receiver calculates the error value, the receiver can update the to-be-trained model according to the error value corresponding to each training sample, and process the training sample by using the updated to-be-trained model to generate a new error value. The receiver can continuously perform the training process of S1001 to S1003 until the error value generated by the to-be-trained model meets the training stop condition preset by the user. If the error value meets the training stop condition, the receiver can stop training the to-be-trained model, and take the to-be-trained model corresponding to the error value meeting the training stop condition as the phase correction model.
[0113] In a possible implementation, after the receiver generates the error value by using the to-be-trained model, the receiver can determine whether the error value meets the preset training stop condition by determining whether the error value is less than a preset error threshold. If the receiver determines that the error value is less than the error threshold, the receiver can determine that the error value meets the training stop condition, and the receiver stops training the to-be-trained model and takes the current to-be-trained model as the phase correction model. If the receiver determines that the error value is greater than or equal to the error threshold, the receiver can determine that the error value does not meet the training stop condition, and the receiver can update the parameters in the to-be-trained model according to the error value, and process the training sample by using the updated to-be-trained model to generate a new error value.
[0114] In this embodiment, the phase correction model in the receiver is generated by training the to-be-trained model according to the training stop condition, and therefore the accuracy of the phase correction value generated by the phase correction model can be ensured.
[0115] It should be noted that the size of the serial number of each step in the above embodiment does not mean the order of execution, the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiment of the application.
[0116] Referring to Figure 12 , a schematic diagram of a pseudo code tracking device provided by an embodiment of the application is shown, which can specifically include a copy pseudo code generation module 1201, a correlation integral calculation module 1202, a correction value calculation module 1203, and a phase correction module 1204, wherein:
[0117] The copy pseudo code generation module 1201 is configured to input a local pseudo code to a pseudo code processing module including N phase delay branches, so as to generate N copy pseudo codes with different phase delay values by performing phase delay on the local pseudo code; N is a positive integer greater than or equal to 4;
[0118] The correlation integral calculation module 1202 is configured to calculate correlation integral results between each of the copy pseudo codes and a satellite signal, respectively.
[0119] The correction value calculation module 1203 is configured to input all the correlation integral results and expected correlation values corresponding to all the phase delay branches into a preset phase correction model, to generate a phase correction value.
[0120] The phase correction module 1204 is configured to perform phase correction on an initial pseudo code in a local pseudo code generator based on the phase correction value, so that the local pseudo code generated by the local pseudo code generator is consistent with the pseudo code in the satellite signal.
[0121] The correction value calculation module 1203 can also be configured to determine phase difference values between each of the phase delay branches; input all the phase difference values, all the correlation integral results, and all the expected correlation values into the phase correction model, to generate the phase correction value; the all phase difference values and the all correlation integral results are used to generate a first waveform corresponding to the local pseudo code; the all expected correlation values are used to generate a second waveform corresponding to the satellite signal; and the phase correction model is used to generate the phase correction value based on a phase deviation relationship between the first waveform and the second waveform.
[0122] The correction value calculation module 1203 can also be configured to determine a candidate pseudo code as a target pseudo code corresponding to the satellite signal if an integral value of any candidate pseudo code and the satellite signal is greater than a preset capture threshold value, determine a self-correlation function corresponding to the satellite signal based on a target sequence number corresponding to the target pseudo code, and determine ideal correlation values corresponding to each phase delay branch from the self-correlation function according to phase delay values corresponding to each phase delay branch.
[0123] The correction value calculation module 1203 can also be configured to: obtain a historical correction value generated by the phase correction model from the data storage module based on a preset correction condition; input the historical correction value, all the correlation integral results and all the expected correlation values into the phase correction model to generate the phase correction value; the all correlation integral results are used to generate a first waveform corresponding to the local pseudo code; the all expected correlation values are used to generate a second waveform corresponding to the satellite signal; and the phase correction model is used to generate the phase correction value based on a phase deviation relationship between the first waveform and the second waveform and the historical correction value.
[0124] The phase correction module 1204 can also be configured to: correct a current phase correction value output by the phase correction model based on a first historical correction value by the loop filter module to generate a target correction value; and correct a next phase correction value output by the phase correction model based on the target correction value as a second historical correction value.
[0125] The correction value calculation module 1203 can also be configured to: input the all correlation integral results and the all expected correlation values into the first neural network to generate an initial correction value; the first neural network is trained based on an expected initial correction value, correlation integral results corresponding to N phase delay branches and expected correlation values corresponding to N phase delay branches; correct a current initial correction value output by the first neural network based on a first historical correction value by the second neural network to generate a phase correction value; the second neural network is trained based on a plurality of initial correction values and expected phase correction values corresponding to each of the initial correction values; and correct a next initial correction value output by the first neural network based on the phase correction value as a second historical correction value.
[0126] The pseudo code tracking device can further include a training module configured to: obtain a to-be-trained model and a training sample input by a user; process the training sample by the to-be-trained model to generate an initial phase correction value; the training sample includes correlation integral results corresponding to N phase delay branches, an ideal correlation value and an expected phase correction value; determine an error value of the initial phase correction value based on the initial phase correction value and the expected phase correction value; update the to-be-trained model based on the error value until the error value meets a preset training stop condition; and take the to-be-trained model corresponding to the error value meeting the training stop condition as the phase correction model.
[0127] For the device embodiment, it is basically similar to the method embodiment, so it is described more simply, and the related parts refer to the description in the method embodiment.
[0128] Reference Figure 13, a schematic diagram of a terminal device is shown. As shown in Figure 13 the terminal device 1300 in the embodiments of the present application includes a processor 1310, a memory 1320, and a computer program 1321 stored in the memory 1320 and executable on the processor 1310. The processor 1310 implements the steps in the pseudo code tracking method in each of the embodiments when executing the computer program 1321, such as Figure 4 steps S401 to S404 shown. Alternatively, the processor 1310 implements the functions of each module / unit in the above-mentioned various device embodiments when executing the computer program 1321, such as Figure 12 the functions of the modules 1201 to 1204 shown.
[0129] For example, the computer program 1321 can be divided into one or more modules / units, which are stored in the memory 1320 and executed by the processor 1310 to complete the present application. The one or more modules / units can be a series of computer program instruction segments capable of completing a specific function, which can be used to describe the execution process of the computer program 1321 in the terminal device 1300. For example, the computer program 1321 can be divided into a replica pseudo code generation module, a correlation integral calculation module, a correction value calculation module, and a phase correction module, and the specific functions of each module are as follows:
[0130] The replica pseudo code generation module is configured to input a local pseudo code into a pseudo code processing module including N phase delay branches, to generate N replica pseudo codes with different phase delay values by phase delaying the local pseudo code; N is a positive integer greater than or equal to 4;
[0131] The correlation integral calculation module is configured to calculate the correlation integral results between each of the replica pseudo codes and the satellite signal, respectively;
[0132] The correction value calculation module is configured to input all the correlation integral results and all the expected correlation values corresponding to the phase delay branches into a preset phase correction model to generate a phase correction value;
[0133] The phase correction module is configured to perform phase correction on an initial pseudo code in a local pseudo code generator based on the phase correction value, so that the local pseudo code generated by the local pseudo code generator is consistent with the pseudo code in the satellite signal.
[0134] The terminal device 1300 can be the receiver in the above-mentioned various embodiments. The terminal device 1300 can include, but is not limited to, the processor 1310, the memory 1320. Those skilled in the art can understand that Figure 13The terminal device 1300 is only an example of a terminal device and does not limit the terminal device 1300, which can include more or fewer components than shown, or have components in different configurations and / or have different components, such as input / output devices, network access devices, buses, etc.
[0135] The processor 1310 can be a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or the like. The general-purpose processor can be a microprocessor or the processor can be any conventional processor.
[0136] The memory 1320 can be an internal storage unit of the terminal device 1300, such as a hard disk or a memory of the terminal device 1300. The memory 1320 can also be an external storage device of the terminal device 1300, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, or the like. Further, the memory 1320 can include both an internal storage unit and an external storage device of the terminal device 1300. The memory 1320 is used to store the computer program 1321 and other programs and data required by the terminal device 1300. The memory 1320 can also be used to temporarily store data that has been output or will be output.
[0137] The embodiments of the present application also disclose a terminal device, which comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the pseudo code tracking method according to the foregoing embodiments when executing the computer program.
[0138] The embodiments of the present application also disclose a computer readable storage medium, which stores a computer program, and the computer program is executable on a processor to implement the pseudo code tracking method according to the foregoing embodiments.
[0139] The embodiment of the present application further discloses a computer program product, which, when running on a computer, enables the computer to execute the pseudo code tracking method of the foregoing various embodiments.
[0140] The foregoing embodiments are only used to illustrate the technical solutions of the present application, but not limit the same. Although the present application is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that the technical solutions recorded in the foregoing embodiments can be modified, or some technical features can be replaced equivalently; and the modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
Claims
1. A method of pseudo code tracking, characterized by, The method comprises the steps of: inputting a local pseudo-code into a pseudo-code processing module comprising N phase delay branches to generate N replicated pseudo-codes with different phase delay values by phase delay of the local pseudo-code; N is a positive integer greater than or equal to 4; calculating the correlation integral results between each of the replicated pseudo-codes and a satellite signal respectively; inputting all the correlation integral results and expected correlation values corresponding to all the phase delay branches into a preset phase correction model to generate a phase correction value; correcting the local pseudo-code generator based on the phase correction value to make the local pseudo-code generated by the local pseudo-code generator consistent with the pseudo-code in the satellite signal.
2. The method of claim 1, wherein, The step of inputting all the correlation integral results and expected correlation values corresponding to all the phase delay branches into a preset phase correction model to generate a phase correction value comprises the steps of: determining the phase difference values between each of the phase delay branches; inputting all the phase difference values, all the correlation integral results and all the expected correlation values into the phase correction model to generate the phase correction value; all the phase difference values and all the correlation integral results are used to generate a first waveform corresponding to the local pseudo-code; all the expected correlation values are used to generate a second waveform corresponding to the satellite signal; the phase correction model is used to generate the phase correction value based on the phase deviation relationship between the first waveform and the second waveform.
3. The method of claim 1, wherein, Before the step of inputting all the correlation integral results and expected correlation values corresponding to all the phase delay branches into a preset phase correction model to generate a phase correction value, the method comprises the steps of: if the integral value of any candidate pseudo-code and the satellite signal is greater than a preset acquisition threshold, determining the candidate pseudo-code as a target pseudo-code corresponding to the satellite signal, and determining a target autocorrelation function corresponding to the satellite signal based on a target sequence number corresponding to the target pseudo-code; determining ideal correlation values corresponding to each phase delay branch from the autocorrelation function according to the phase delay values corresponding to each phase delay branch.
4. The method of claim 1, wherein, The step of inputting all the correlation integral results and expected correlation values corresponding to all the phase delay branches into a preset phase correction model to generate a phase correction value comprises the steps of: acquiring a historical correction value generated by the phase correction model from a data storage module based on a preset correction condition; inputting the historical correction value, all the correlation integral results and all the expected correlation values into the phase correction model to generate the phase correction value; all the correlation integral results are used to generate a first waveform about the local pseudo-code; all the expected correlation values are used to generate a second waveform corresponding to the satellite signal; the phase correction model is used to generate the phase correction value based on the phase deviation relationship between the first waveform and the second waveform and the historical correction value.
5. The method of claim 1, wherein, The step of correcting the local pseudo-code generator based on the phase correction value to make the local pseudo-code generated by the local pseudo-code generator consistent with the pseudo-code in the satellite signal comprises the steps of: correcting the current phase correction value output by the phase correction model based on a first historical correction value by a loop filtering module to generate a target correction value; The target correction value is used as a second historical correction value to correct a next phase correction value output by the phase correction model.
6. The method of claim 1, wherein, The phase correction model comprises a first neural network and a second neural network, and the inputting of all the correlation integration results and all the expected correlation values corresponding to the N phase delay branches into the preset phase correction model to generate a phase correction value comprises: The first neural network is trained based on the expected initial correction value, the correlation integration results corresponding to the N phase delay branches, and the expected correlation values corresponding to the N phase delay branches; The second neural network is trained based on a plurality of initial correction values and expected phase correction values corresponding to each of the initial correction values; The phase correction value is used as a second historical correction value to correct a next initial correction value output by the first neural network.
7. The method according to any one of claims 1 to 6, characterized in that, Before the inputting of all the correlation integration results and all the expected correlation values corresponding to the N phase delay branches into the preset phase correction model to generate a phase correction value, the method comprises: An input user generates a to-be-trained model and a training sample, and processes the training sample through the to-be-trained model to generate an initial phase correction value; the training sample comprises correlation integration results corresponding to N phase delay branches, ideal correlation values, and expected phase correction values; An error value of the initial phase correction value is determined based on the initial phase correction value and the expected phase correction value; The to-be-trained model is updated based on the error value until the error value meets a preset training stop condition, and the to-be-trained model corresponding to the error value meeting the training stop condition is used as the phase correction model.
8. A pseudo code tracking device, characterized by The method comprises: A replica code generation module is configured to input a local replica code into a replica code processing module comprising N phase delay branches to generate N replica codes with different phase delay values by performing phase delay on the local replica code; N is a positive integer greater than or equal to 4; A correlation integration calculation module is configured to calculate correlation integration results between each replica code and a satellite signal respectively; A correction value calculation module is configured to input all the correlation integration results and all the expected correlation values corresponding to the N phase delay branches into a preset phase correction model to generate a phase correction value; A phase correction module is configured to perform phase correction on an initial replica code in a local replica code generator based on the phase correction value, so that the local replica code generator generates a local replica code consistent with a replica code in the satellite signal.
9. A terminal device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor executes the computer program to implement the pseudo code tracking method of any one of claims 1-7.
10. A computer-readable storage medium storing a computer program, the computer program comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1-9. The computer program is executed by the processor to implement the pseudo code tracking method of any one of claims 1-7.
Citation Information
Patent Citations
Multi-correlative value fixed width fitting pseudo-code tracing phase demodulation method
CN101247138A
Beidou B1C signal rapid capturing method and storage medium
CN114063124A