Clock drift determination method of satellite navigation receiver and related device
By obtaining the chip junction temperature difference value in the satellite navigation receiver and determining the clock float using the target fitting function, the frequency deviation problem caused by temperature changes caused by low-cost crystal oscillator is solved, and the accurate clock float determination and stable start of the receiver are achieved during temperature changes.
Patent Information
- Application Number
- CN202411933768.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-25
- Publication Date
- 2025-04-18
AI Technical Summary
In satellite navigation receivers, the low-cost TCXO crystal oscillator has poor temperature characteristics, resulting in large frequency deviations when the temperature changes dramatically, causing clock drift errors, which in turn affects the receiver's hot start and cold start success rates.
By obtaining the chip junction temperature difference value of the satellite navigation receiver, if it is greater than the preset threshold, the target fitting function is obtained to represent the functional relationship between the clock float and the chip junction temperature, and then the clock float positioned this time is determined based on the second chip junction temperature and the target fitting function.
When the working environment temperature of the satellite navigation receiver changes, the current clock float value can be accurately determined to avoid errors caused by temperature changes, ensure the accuracy of positioning and effectively correct the local clock float value.
Smart Images

Figure CN119846667A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of satellite navigation, and in particular, relates to a method for determining clock drift of a satellite navigation receiver and a related device. Background Art
[0002] In the mass consumer field, the crystal oscillator used in satellite navigation receivers is a low-performance, low-cost TCXO crystal oscillator with poor temperature characteristics. When the temperature changes drastically, it will generally produce a frequency deviation of 5ppm or even greater. If this crystal oscillator is used as the clock of the satellite navigation receiver, and then the clock generates a local oscillator, it will cause a Doppler frequency deviation of at least ±7.87KHz in the satellite navigation reception frequency band (such as the L1 band).
[0003] The receiver uses this crystal as the local oscillator. When the temperature changes drastically, the locally stored clock drift (the frequency deviation of the receiver's local oscillator) and the actual clock drift will produce a large error. If the locally stored clock drift is directly used as the actual clock drift value, the receiver will fail to hot start and enter the cold start mode, and may even cause cold start failure, a serious problem of receiver failure. Summary of the invention
[0004] The embodiments of the present application provide a method for determining the clock drift of a satellite navigation receiver and a related device, which can accurately determine the clock drift of the satellite navigation receiver when the working environment temperature of the satellite navigation receiver changes.
[0005] In a first aspect, an embodiment of the present application provides a method for determining clock drift of a satellite navigation receiver, the method comprising:
[0006] Obtaining the first chip junction temperature of the satellite navigation receiver at the time of the last valid positioning;
[0007] Obtaining the junction temperature of a second chip of the satellite navigation receiver for this positioning;
[0008] In response to determining that the difference between the first chip junction temperature and the second chip junction temperature is greater than a preset threshold, acquiring a target fitting function corresponding to the satellite navigation receiver; the target fitting function is used to represent a functional relationship between clock drift and chip junction temperature;
[0009] The clock drift of the current positioning of the satellite navigation receiver is determined based on the second chip junction temperature and the target fitting function.
[0010] In a second aspect, an embodiment of the present application provides a clock drift determination device for a satellite navigation receiver, the device comprising:
[0011] A first acquisition module is used to acquire a first chip junction temperature of a satellite navigation receiver during the last effective positioning, and to acquire a second chip junction temperature of the satellite navigation receiver during the current positioning;
[0012] a second acquisition module, in response to determining that the difference between the first chip junction temperature and the second chip junction temperature is greater than a preset threshold, acquiring a target fitting function corresponding to the satellite navigation receiver; the target fitting function is used to represent a functional relationship between clock drift and chip junction temperature;
[0013] A determination module is provided for determining a clock drift of the satellite navigation receiver for this positioning based on the junction temperature of the second chip and the target fitting function.
[0014] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the method for determining the clock drift of the satellite navigation receiver as described in the first aspect is implemented.
[0015] In a fourth aspect, an embodiment of the present application provides a computer storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the method for determining clock drift of a satellite navigation receiver as described in the first aspect is implemented.
[0016] In a fifth aspect, an embodiment of the present application provides a computer program product. When instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the method for determining clock drift of a satellite navigation receiver as described in the first aspect.
[0017] The clock drift determination method and related device of the satellite navigation receiver of the embodiment of the present application first determine whether the difference between the junction temperature of the second chip in the current positioning and the junction temperature of the first chip in the last effective positioning is greater than a preset threshold value when performing the current positioning, and when the difference is greater than the preset threshold value, accurately determine the clock drift of the current positioning of the satellite navigation receiver through the target fitting function corresponding to the satellite navigation receiver and the second chip junction temperature, and determine the clock drift corresponding to the second chip junction temperature through the target fitting function. When the working environment temperature of the satellite navigation receiver changes significantly, the current clock drift value can still be accurately determined, avoiding the error caused by directly determining the current clock drift through the local clock drift value when the temperature changes, ensuring the accuracy of the clock drift of the current positioning, and effectively correcting the local clock drift value. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0019] Figure 1 It is a flowchart of a method for determining clock drift of a satellite navigation receiver provided by an embodiment of the present application;
[0020] Figure 2 This is a schematic diagram of the corresponding relationship between a chip junction temperature and an operating environment temperature provided by an embodiment of the present application;
[0021] Figure 3 This is a schematic diagram of the corresponding relationship between a local clock drift and a working environment temperature provided by an embodiment of the present application;
[0022] Figure 4 This is a schematic diagram of a discontinuity point in a fitting function provided by an embodiment of the present application;
[0023] Figure 5 It is a schematic diagram of splitting a fitting function into two linear functions provided by an embodiment of the present application;
[0024] Figure 6 It is a schematic diagram of a flow chart of generating a fitting function and modifying its parameters provided by an embodiment of the present application;
[0025] Figure 7 It is a schematic diagram of adjusting a frequency search interval for a satellite navigation receiver to capture satellite signals provided by an embodiment of the present application;
[0026] Figure 8 It is a flowchart of another method for determining clock drift of a satellite navigation receiver provided by an embodiment of the present application;
[0027] Fig. 9 It is a structural schematic diagram of a clock drift determination device for a satellite navigation receiver provided by an embodiment of the present application;
[0028] Fig.10 It is a structural schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0029] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.
[0030] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0031] As described in the background technology, the application of satellite navigation has penetrated into all aspects of social production and life, including national defense, various industries, and various fields of mass consumption. In the field of mass consumption, the integration of satellite navigation receiver chips into mass consumer devices is limited by volume, power consumption, cost, etc., especially the requirement of low cost, which leads to various chip module manufacturers using various low-priced components.
[0032] In particular, the crystal oscillator currently used in mass consumer terminals such as shared bicycles, wearable devices, and Internet of Things terminals is a low-performance, low-cost TCXO crystal oscillator (Temperature Compensated Crystal Oscillator). Its temperature characteristics are poor. When the temperature changes drastically, it will generally produce a frequency deviation of 5ppm or even greater. If this crystal oscillator is used as the clock of a satellite navigation receiver, and then the clock generates a local oscillator, it will cause a Doppler frequency deviation of at least ±7.87KHz in the satellite navigation reception frequency band (such as the L1 band).
[0033] The receiver uses this crystal as the local oscillator. When the temperature changes drastically, it performs a hot start or cold start. Since there is a large error between the locally stored clock drift and the actual clock drift, the receiver will fail to hot start and enter the cold start mode, which may even cause a serious problem of cold start failure and receiver failure.
[0034] In order to solve the problems of the prior art, the embodiments of the present application provide a method, device, equipment, computer storage medium and computer program product for determining clock drift of a satellite navigation receiver. The method for determining clock drift of a satellite navigation receiver provided by the embodiments of the present application is first introduced below.
[0035] Figure 1 FIG. 1 is a flow chart showing a first method for determining clock drift of a satellite navigation receiver provided by an embodiment of the present application. Figure 1As shown, the method comprises the following steps:
[0036] S101, obtaining a first chip junction temperature of a satellite navigation receiver during the last effective positioning, and obtaining a second chip junction temperature of the satellite navigation receiver during the current positioning.
[0037] In specific implementation, after normal positioning (effective positioning), the satellite navigation receiver will save the clock error, clock drift, system time, satellite almanac and other information of each effective positioning for hot start, cold start and other operations after shutdown. This is usually no problem, but when the working environment temperature of the receiver changes drastically, and the temperature characteristics of the crystal oscillator of the receiver are relatively poor, such as when it is greater than 5ppm, the difference between the saved clock drift and the actual clock drift after restarting is too large, resulting in the failure of the receiver hot start, or even cold start failure, and the receiver fails. In order to avoid this situation, the embodiment of the present application will save the chip junction temperature every time the satellite navigation receiver effectively locates, and the chip junction temperature is a measurement of the working environment temperature, so that the chip junction temperature can be used to accurately determine the clock drift value when the temperature changes drastically. In one example, the chip junction temperature can be obtained by a temperature sensor and then saved locally in the satellite navigation receiver. For the convenience of distinction, the chip junction temperature at the last effective positioning can be called the first chip junction temperature, and the chip junction temperature at this positioning can be called the second chip junction temperature. When each effective positioning is performed, after the chip junction temperature is saved locally in the satellite navigation receiver, the first chip junction temperature during the last effective positioning can be obtained locally, and the second chip junction temperature of the current positioning of the satellite navigation receiver can be obtained through the temperature sensor.
[0038] S102, in response to determining that the difference between the first chip junction temperature and the second chip junction temperature is greater than a preset threshold, obtaining a target fitting function corresponding to the satellite navigation receiver; the target fitting function is used to represent the functional relationship between the clock drift change and the chip junction temperature.
[0039] In specific implementation, after obtaining the junction temperature of the first chip at the last effective positioning and the junction temperature of the second chip at this positioning, the difference between the junction temperature of the first chip and the junction temperature of the second chip can be determined. When it is determined that the difference between the junction temperature of the first chip and the junction temperature of the second chip is greater than the preset threshold, it means that the working environment temperature at this time has changed significantly, and the difference between the current actual clock drift value and the locally saved clock drift value is large. Therefore, the locally saved clock drift value cannot be used directly, but the target fitting function corresponding to the satellite navigation receiver is first obtained. The target fitting function is used to represent the functional relationship between the clock drift change and the chip junction temperature. Through the target fitting function, when the junction temperature of the second chip at this positioning is known, the clock drift of this positioning can be obtained more accurately. In one example, the above preset threshold can be set as needed, and there is no limitation on this.
[0040] It should be noted that the target fitting function can be fitted in advance based on experiments. In some embodiments, when fitting the target function, the range of the operating environment temperature of the satellite navigation receiver can be defined first. In one example, the range can be [-40, +105] ° C, which has met the automotive-grade application requirements in the consumer field.
[0041] Secondly, for chips in the same batch, the relationship between their junction temperature and the working environment temperature is consistent, that is, the chip junction temperature can be used to reflect the current working environment temperature of the receiver module, such as Figure 2 The figure shows the corresponding relationship between the junction temperature T2 and the working environment temperature T1 of a receiver chip. Each curve represents a test. Figure 2 It can be seen that the two are basically in a linear relationship, which can be represented by a linear function in the form of formula (1):
[0042] T j =f(T A )=a0·T A +b0 formula (1);
[0043] Among them, T j Indicates the chip junction temperature, T A represents the working environment temperature, a0 and b0 are the unknown parameters of the function. Figure 2 The temperature interval used in the figure is 5°C. Of course, other temperature intervals can be used as needed, and there is no limitation on this.
[0044] After the satellite navigation receiver is positioned normally, the local clock error and clock drift of the satellite navigation receiver can be calculated through the PVT solution unit. In the working environment temperature range of [-40, +105] ℃, the corresponding relationship between the local clock drift of the satellite navigation receiver and the ambient temperature is measured, such as Figure 3 The figure shows the relationship between the local clock drift of a certain satellite navigation receiver and the working environment temperature. Figure 3 The following conclusions can be drawn:
[0045] The corresponding relationship between the local clock drift and the ambient temperature can be represented by a piecewise function, and each piece of the function is basically a linear relationship, which can be represented by a group of piecewise linear functions in the form of formula (2):
[0046]
[0047] Where Δf clk Indicates the local clock drift value, T A Indicates the working environment temperature, a i and b i are the unknown parameters of each piecewise function, i=1~5. Figure 3The temperature interval used in the figure is 5°C. Of course, other temperature intervals can be used as needed, and there is no limitation on this.
[0048] It should be noted that the above correspondence between the local clock drift and the ambient temperature conforms to the physical characteristics of the crystal oscillator. The segmentation between the clock drift and the ambient temperature of the crystal oscillators in the same batch is also the same. Figure 3 It can be seen that the correspondence between this crystal oscillator and the ambient temperature can be divided into 5 sections (most crystal oscillators can be represented by a 5-section piecewise function).
[0049] In addition, if Figure 3 As shown, Figure 3 Each curve in the figure corresponds to a crystal oscillator. It can be seen that the clock drift of the crystal oscillator is basically unchanged at room temperature, but the clock drift values of different crystal oscillators at the same temperature are different. This is because the crystal oscillator has two key indicators: frequency accuracy and frequency stability. All crystal oscillators have a nominal frequency when they leave the factory, and due to individual differences, there will always be a certain frequency deviation. This deviation is Δf0, and its size reflects the frequency accuracy. The frequency of the crystal oscillator changes with temperature, which reflects the frequency stability of the crystal oscillator over temperature. This change is Δf, and its size reflects the temperature characteristics of the crystal oscillator.
[0050] The crystal oscillator clock drift at room temperature is set to Δf0, and the clock drift values at other temperatures are subtracted from it to obtain the local clock drift change at different temperatures, which is set to Δf. Specifically, it can be expressed by formula (3):
[0051] Δf=Δf clk -Δf0 formula (3);
[0052] Among them, Δf0 represents the crystal oscillator clock drift at room temperature, Δf represents the change of local clock drift at different temperatures, and Δf clk Indicates the clock drift value at different temperatures.
[0053] In some embodiments, substituting formula (3) into formula (2) can obtain the following formula (4):
[0054]
[0055] Where Δf0 represents the crystal oscillator drift at room temperature, Δf represents the change in local clock drift at different temperatures, and T A Indicates the working environment temperature, a i and b i are the unknown parameters of each piecewise function, i=1~5.
[0056] In some embodiments, formula (1) can be rewritten as formula (5):
[0057]
[0058] Then substitute the rewritten formula (5) into formula (4) to obtain formula (6):
[0059]
[0060] It should be noted that formula (6) is the functional relationship between the local clock drift change and the chip junction temperature, where Δf0 represents the crystal clock drift at room temperature, Δf represents the local clock drift change at different temperatures, and T A Indicates the working environment temperature, a i and b i is the undetermined parameter of each piecewise function, i = 1 to 5. That is, formula (6) is also a piecewise function.
[0061] In some embodiments, formula (6) is simplified to We can get formula (7):
[0062] Δf=h(T j )=A i ·T j +B i Formula (7);
[0063] It should be noted that formula (7) is the target fitting function corresponding to the clock drift-chip junction temperature that needs to be constructed, where A i and B i These are all undetermined coefficients, which can be obtained through testing for crystal oscillators and receiver chips from the same batch. In an example, these two undetermined coefficients can be written into the Flash (flash memory) of the chip through an external interface.
[0064] It should be noted that in the embodiment of the present application, the clock drift-chip junction temperature fitting function (target fitting function) of the satellite navigation receiver module can be fitted through small batch testing. This method has practical application value, because when the receiver module is produced and finalized, the receiver chip and the local crystal oscillator used in the module are both components of a certain model, and the temperature characteristics of the crystal oscillators of the same batch are consistent and aggregated, so the same clock drift-chip junction temperature fitting function can be used, instead of fitting the fitting function corresponding to each crystal oscillator separately. In addition, when different batches of crystal oscillators are used to produce satellite navigation receivers, the clock drift-chip junction temperature function of the receiver module can be fitted again through small batch testing. Although they are crystal oscillators of different batches, their functional relationship is unchanged. What may change is the pending parameters of the function, and the change is not large, then the same clock drift-chip junction temperature fitting function can continue to be used; if there is a change, the pending parameters of the fitting function can be changed through instructions, or it can be corrected by relying on the method of local clock drift self-learning correction proposed in the embodiment of the present application, which can also meet the performance requirements of the receiver cold start.
[0065] S103, determining a clock drift of the current positioning of the satellite navigation receiver based on the second chip junction temperature and the target fitting function.
[0066] In specific implementation, after obtaining the second chip junction temperature and the target fitting function, the second chip junction temperature can be input into the target fitting function to obtain the clock drift change corresponding to the second chip junction temperature, and then the clock drift of the satellite navigation receiver for this positioning can be determined by the clock drift change.
[0067] In order to accurately determine the clock drift of the current positioning, in some embodiments, determining the clock drift of the current positioning of the satellite navigation receiver based on the second chip junction temperature and the target fitting function specifically includes:
[0068] Obtaining the clock drift of the satellite navigation receiver at the time of the last valid positioning;
[0069] Determine a first clock drift variation corresponding to the first chip junction temperature based on the first chip junction temperature and the target fitting function;
[0070] Determine a second clock drift variation corresponding to the second chip junction temperature based on the second chip junction temperature and the target fitting function;
[0071] Determining a target difference between the first clock drift variation and the second clock drift variation;
[0072] The clock drift of the satellite navigation receiver for this positioning is determined based on the clock drift of the satellite navigation receiver during the last effective positioning and the target difference.
[0073] In specific implementation, when determining the clock drift of the satellite navigation receiver for this positioning, the first clock drift change corresponding to the first chip junction temperature can be determined based on the first chip junction temperature and the target fitting function, that is, the first chip junction temperature can be input into the target fitting function to obtain the above-mentioned first clock drift change. Then, the second clock drift change corresponding to the second chip junction temperature is determined based on the second chip junction temperature and the target fitting function. Then, the target difference between the above-mentioned first clock drift change and the above-mentioned second clock drift change is determined, and the target difference can represent the difference between the clock drift at the last effective positioning and the clock drift at the current positioning. By combining the target difference with the clock drift of the satellite navigation receiver at the last effective positioning, the clock drift of the satellite navigation receiver for this positioning can be determined.
[0074] In order to further improve the efficiency of determining the clock drift of the current positioning, in some embodiments, determining the clock drift of the current positioning of the satellite navigation receiver based on the second chip junction temperature and the target fitting function specifically includes:
[0075] Determine a second clock drift variation corresponding to the second chip junction temperature based on the second chip junction temperature and the target fitting function;
[0076] Obtaining the initial clock drift of the satellite navigation receiver at a preset chip junction temperature;
[0077] The clock drift of the satellite navigation receiver for this positioning is determined based on the initial clock drift and the second clock drift variation.
[0078] In a specific implementation, after respectively obtaining the second chip junction temperature and the target fitting function, the second chip junction temperature can be input into the target fitting function to obtain the second clock drift variation corresponding to the second chip junction temperature. Then, the initial clock drift of the satellite navigation receiver at the preset chip junction temperature is obtained. In one embodiment, the initial clock drift can be pre-stored locally in the satellite navigation receiver. After adding the initial clock drift and the second clock drift variation, the clock drift of the satellite navigation receiver for this positioning can be determined.
[0079] In some embodiments, before determining the clock drift of the satellite navigation receiver for this positioning based on the second chip junction temperature and the target fitting function, the method further includes:
[0080] Obtaining historical clock drift and historical chip junction temperature of the satellite navigation receiver during multiple historical effective positioning;
[0081] The parameters of the target fitting function are adjusted based on the historical clock drift and the historical chip junction temperature.
[0082] In the specific implementation, it is considered that the target fitting function generally directly obtained is obtained by fitting the crystal oscillator of the same batch as the crystal oscillator of the current satellite navigation receiver through multiple tests in advance. Therefore, there is still a certain difference between the directly obtained target fitting function and the real fitting function corresponding to the individual satellite navigation receiver. In order to eliminate this difference, after obtaining the historical clock drift and historical chip junction temperature of the satellite navigation receiver during multiple historical effective positioning, the parameters of the above target fitting function can be adjusted according to the historical clock drift and historical chip junction temperature actually collected by these satellite navigation receivers, so that the adjusted target fitting function is closer to the real fitting function corresponding to the satellite navigation receiver, that is, the self-learning function of the target fitting function is realized.
[0083] In some embodiments, the target fitting function is a piecewise function, and each piece of the function is a linear function; the method further includes:
[0084] acquiring a first temperature range of a chip junction temperature of the satellite navigation receiver when the satellite navigation receiver is working;
[0085] Obtaining a second temperature range of the chip junction temperature when the above target fitting function is used;
[0086] In response to determining that the first temperature interval is smaller than the second temperature interval, the parameters of the target part in the target fitting function are adjusted based on the historical clock drift and the historical chip junction temperature; wherein the target part is the part of the target fitting function that is in the first temperature interval; for the discontinuity point where the target part appears, the slope of the linear function on both sides of the discontinuity point is determined, and the function value on the side with the larger slope is used as the output value of the discontinuity point.
[0087] In specific implementation, although the satellite navigation receiver will construct a target fitting function within the full temperature operating range when it leaves the factory, in actual use, especially in the consumer field, the satellite navigation receiver often works for a long time within a specific sub-interval within the full temperature operating range. Therefore, in an embodiment of the present application, the target function is self-learned and corrected within the specific sub-interval, rather than being corrected within the full temperature operating range of the satellite navigation receiver, which can further improve the efficiency of the self-learning correction of the target function. The target part in the above-mentioned target fitting function is the part of the target fitting function that is in the first temperature interval.
[0088] It should be noted that the inventor of the present application has found that when the historical data actually obtained by the satellite navigation receiver is self-learned and corrected in a certain sub-interval, although a linear function is still obtained, the endpoints at both ends are different from the original fitting function, which makes the piecewise function after the sub-interval correction appear discontinuity. In order to accurately determine the change of the clock drift at these discontinuity points, the slopes of the linear functions on the left and right sides can be calculated at these discontinuity points, and their absolute values can be compared. The final clock drift value should take the function value on the side with the larger absolute value of the slope. Due to the physical properties of the crystal oscillator, the crystal oscillator should have a more obvious change in clock drift at the temperature corresponding to these discontinuity points, so the function value on the side with a larger absolute value of the slope can better represent the change of the clock drift at this time.
[0089] refer to Figure 4 It can be seen that although the satellite navigation receiver fits the target junction temperature function within the full temperature working range, the receiver works in the range of [-20, +40] ℃ for a long time. P and Q are both corrected discontinuity points. Obviously, the slope of line segment JP is greater than that of line segment P'Q'. Therefore, for the target fitting function after self-learning, the clock drift value at the discontinuity point on the left is the value of point P; by the same token, the slope of line segment QK is greater than that of line segment P'Q'. Therefore, for the target fitting function after self-learning, the clock drift value at the discontinuity point on the right is the value of point Q.
[0090] In some embodiments, before determining the clock drift of the satellite navigation receiver for this positioning based on the second chip junction temperature and the target fitting function, the method further includes:
[0091] For each target linear function of the target fitting function, a historical clock drift and a historical chip junction temperature of the satellite navigation receiver during multiple historical effective positioning are obtained; the target fitting function is a piecewise function, and each segment of the function is a linear function, and the target linear function is any segment of the multiple segments of the linear function included in the target fitting function;
[0092] Based on the historical clock drift and the historical chip junction temperature, the target linear function is refitted into two sub-functions; each of the sub-functions is a linear function;
[0093] Determine the target historical chip junction temperature from the historical clock drift of the satellite navigation receiver during multiple historical valid positioning;
[0094] Inputting the target historical chip junction temperature into the target linear function to obtain a first predicted clock drift corresponding to the target linear function;
[0095] Input the above target historical chip junction temperature into the two above sub-functions to obtain the second predicted clock drift corresponding to the two above sub-functions;
[0096] Based on the first predicted clock drift and the second predicted clock drift, determine whether to replace the target linear function with the two segments of the sub-functions.
[0097] In specific implementation, in order to further improve the accuracy of the target fitting function, in the embodiment of the present application, a segment of the linear function in the original target fitting function can be split into two segments of linear functions (sub-functions) through self-learning of the target fitting function. It should be noted that the connection point of the two segments of sub-functions after fission can be set as needed. For example, in some embodiments, the connection point of the two segments of sub-functions is the midpoint of the above-mentioned target linear function. Figure 5 , we can see that the target linear function of the original target fitting function is the line segment PQ on a specific subinterval, and after fission it becomes the line segment P'K and the line segment KQ'.
[0098] In order to accurately determine the optimal solution of the target fitting function, after the target linear function is refitted into two sub-functions according to the historical clock drift and historical chip junction temperature of the satellite navigation receiver during multiple historical effective positioning, the target historical chip junction temperature can be determined from the historical clock drift of the satellite navigation receiver during multiple historical effective positioning, and the target historical chip junction temperature can be determined randomly. Then the target historical chip junction temperature is respectively input into the target linear function and the two sub-functions to obtain the first predicted clock drift corresponding to the target linear function and the second predicted clock drift corresponding to the two sub-functions. By comparing the first predicted clock drift with the second predicted clock drift, it is determined whether to replace the target linear function with the two sub-functions. In one example, the real target historical clock drift corresponding to the first predicted clock drift and the target historical chip junction temperature can be determined first, and then the first difference between the first predicted clock drift and the target historical clock drift and the second difference between the second predicted clock drift and the target historical clock drift are determined. By comparing the first difference and the second difference, it is determined whether to replace the target linear function with the two sub-functions. When the second difference is less than the first difference, the target linear function is replaced with the two sub-functions.
[0099] It should be noted that the above-mentioned target linear function can be a section of a linear function of the original target fitting function, or can be a section of a linear function of the target fitting function after self-learning, and there is no limitation on this.
[0100] In some embodiments, the target historical chip junction temperature is multiple; based on the first predicted clock drift and the second predicted clock drift, determining whether to replace the target linear function with the two segments of the sub-functions specifically includes:
[0101] Determine a target historical clock drift corresponding to each of the target historical chip junction temperatures in the plurality of target historical chip junction temperatures to obtain the plurality of target historical clock drifts;
[0102] Calculate a first mean square error between a plurality of the first predicted clock drifts and a plurality of the target historical clock drifts;
[0103] Calculate a second mean square error between the plurality of second predicted clock drifts and the plurality of target historical clock drifts;
[0104] In response to determining that the second mean square error is less than the first mean square error, replacing the target linear function with two segments of the sub-functions;
[0105] In response to determining that the second mean square error is not less than the first mean square error, the target linear function is not replaced by the two segments of the sub-functions.
[0106] In specific implementation, in order to more accurately determine whether to replace the above-mentioned target linear function with the two-segment sub-function, the target historical chip junction temperature can be set to multiple, and then the target historical clock drift corresponding to each target historical chip junction temperature in the multiple target historical chip junction temperatures can be first determined by PVT solution. Then, the first mean square error of the multiple first predicted clock drifts and the multiple target historical clock drifts is calculated respectively, and the second mean square error of the multiple second predicted clock drifts and the multiple target historical clock drifts is calculated. When it is determined that the second mean square error is less than the first mean square error, the target linear function is replaced with the two-segment sub-function. When it is determined that the second mean square error is not less than the first mean square error, the target linear function is not replaced with the two-segment sub-function.
[0107] refer to Figure 6 , is a schematic diagram of a flow chart of generating a fitting function and modifying its parameters provided by an embodiment of the present application, the method comprising the following steps:
[0108] S201, acquiring a corresponding relationship between a chip junction temperature and an operating environment temperature according to an operating environment temperature of a satellite navigation receiver.
[0109] S202, after the satellite navigation receiver is effectively positioned, obtaining a corresponding relationship between a local crystal oscillator clock drift change value and a working environment temperature.
[0110] S203, constructing a fitting function of the satellite navigation receiver, obtaining the undetermined coefficients of the fitting function through testing, and writing the two undetermined coefficients into the Flash of the chip through an external interface.
[0111] S204, within the normal operating temperature range of the satellite navigation receiver (within a specific sub-range), after the receiver is effectively positioned, a self-learning correction method is used to re-determine the undetermined coefficients of the fitting function of the specific receiver, and the corrected undetermined coefficients are stored in the chip's Flash.
[0112] S205, determining the clock drift change value at the end point of the piecewise function according to the characteristics of the piecewise function of the fitting function and the slopes of the left and right pieces of the function.
[0113] S206, using an optimal estimation method with minimum mean square error, according to the clock drift sampling points after the receiver is effectively positioned, determining whether a certain fitting function needs to be split into two piecewise functions.
[0114] S207, write the above parameters into the Flash of the receiver, and solidify the program.
[0115] The clock drift determination method of the satellite navigation receiver of the embodiment of the present application, before the receiver leaves the factory, obtains the clock drift-chip junction temperature fitting function of the receiver by sampling the same batch, which has the universality of the same batch, but for a specific receiver, the precision fitting of the clock drift is not accurate enough, so each receiver program has a self-learning correction algorithm, and the method of the present invention proposes a self-learning correction algorithm, which fits a section of function (a specific temperature sub-interval) into one or two sections of linear functions, and also determines the clock drift change at the end point of the piecewise function according to the characteristics of the piecewise function of the fitting function and the slopes of the left and right two sections of the function. At the same time, the optimal estimate with the minimum mean square error is used as the correction standard for the self-learning correction of the fitting function.
[0116] In some embodiments, after determining the clock drift of the satellite navigation receiver for this positioning based on the second chip junction temperature and the target fitting function, the method further includes:
[0117] The frequency search interval for the satellite navigation receiver to capture satellite signals is adjusted based on the clock drift of the satellite navigation receiver for this positioning.
[0118] In specific implementation, in an embodiment of the present application, after determining the clock drift of the satellite navigation receiver for this positioning, the frequency search interval for the satellite navigation receiver to capture satellite signals can be adjusted according to the clock drift of the satellite navigation receiver for this positioning.
[0119] It should be noted that in the face of numerous global satellite navigation systems, regional satellite navigation systems, augmentation systems, and their multi-frequency satellite signals, modern satellite navigation receivers, in order to capture as many satellite signals as possible under the requirements of the first positioning time, will not only put forward performance requirements for the local oscillator, but also try to compress the frequency uncertainty search range as much as possible under the premise of meeting the technical indicators, so as to achieve the purpose of accelerating the capture. Therefore, when designing a satellite navigation receiver, it is generally necessary to first set the frequency uncertainty search range of the satellite navigation receiver capture engine. When starting the capture engine, the frequency search interval is slid on the frequency axis according to the local clock drift value, which can not only meet the technical indicators of the first positioning time, but also capture all visible satellites.
[0120] In some embodiments, it is assumed that the frequency uncertainty search range set when the satellite navigation receiver is designed is [-6, +6] kHz, and the local clock drift at this time is Δf d,clk .like Figure 7 As shown in the figure, when the local clock drifts Δf d,clk =0 and Δf d,clk ≠0, the position of the search interval on the frequency axis, from Figure 7 It can be seen that when the receiver is cold started, the local clock drift value is read and the position of the search interval on the frequency axis is adjusted to achieve the purpose of searching for visible satellites.
[0121] It should be noted that in some embodiments, the frequency deviation caused by the frequency accuracy of the local crystal oscillator at normal temperature is defined as Δf0. When the working environment temperature of the receiver changes drastically, the effective local clock drift change saved when the receiver was last shut down is defined as Δf M , the corresponding operating temperature is T A,M , the chip junction temperature at this operating temperature is T j,M When the receiver is turned on again, the working environment temperature becomes T A,N , and the chip junction temperature at this operating temperature is T j,N , the actual local clock drift change of the receiver at this time is Δf N When the receiver's working environment temperature changes dramatically, the temperature change difference is ΔT A =T A,N -T A,M , the difference in chip junction temperature change is ΔT j =T j,N -T j,M .
[0122] according to Figure 7 Description, when Δf M With Δf N When the difference is too large, the frequency interval actually searched by the receiver's capture engine will have very little overlap with the current receiver's true Doppler frequency uncertainty interval, or even no intersection. This will result in the capture engine capturing fewer satellite signals or even failing to capture satellite signals when the receiver's working environment temperature changes drastically.
[0123] The clock drift-chip junction temperature fitting function proposed by the clock drift determination method of the satellite navigation receiver in the embodiment of the present application can solve this problem. When the receiver is turned on for cold start, the (Δf M , T j,M ) data pair, and read the current chip junction temperature is T j,N , when ΔT j When it is less than or equal to the threshold value (TH), it is considered that although the current operating temperature has changed, the local clock drift has not changed much, and Δf can be used for this cold start. M , that is, according to the clock drift-chip junction temperature fitting function, at this time Δf N ≈Δf M .
[0124] When ΔT j When it is greater than the threshold value (TH), it is considered that the local clock drift has changed greatly due to temperature changes, and the clock drift value Δf at the last shutdown cannot be trusted. M, then the clock drift-chip junction temperature fitting function can be used to calculate the relationship with T j,N The corresponding Δf N , and the position of the frequency search interval on the frequency axis is adjusted by using this value. It should be noted that: the threshold value (TH) can be obtained by a test method and written into the Flash when the satellite navigation receiver leaves the factory.
[0125] refer to Figure 8 , is a flow chart of another method for determining clock drift of a satellite navigation receiver provided by an embodiment of the present application, the method comprising the following steps:
[0126] S301, the satellite navigation receiver is powered on and initialized, and the local clock drift and chip junction temperature stored in the Flash are read, and the current chip junction temperature is read.
[0127] S302, calculating the current clock drift change value according to the clock drift-chip junction temperature fitting function.
[0128] S303: Adjust the position of the frequency search interval on the frequency axis according to the current clock drift change value.
[0129] S304, determining the revelation mode of the satellite navigation receiver.
[0130] In specific implementation, when determining the startup mode of the satellite navigation receiver, it can be determined whether to use a hot start or a cold start based on the current time information, ephemeris (almanac) information and other conditions of the satellite navigation receiver. If the conditions for hot start are met, and the clock drift-chip junction temperature fitting function at this time has been self-learned and corrected for the receiver, the probability of a hot start success in a scenario with drastic temperature changes can be greatly improved. If the conditions for hot start are not met, a cold start is performed. If the clock drift-chip junction temperature fitting function at this time has been self-learned and corrected for the receiver, the cold start performance is not affected in a scenario with drastic temperature changes; if the receiver has not yet performed self-learning correction on this specific sub-interval, the receiver's cold start performance can also be greatly improved.
[0131] The clock drift determination method of the satellite navigation receiver of the embodiment of the present application, when performing the current positioning, first determine whether the difference between the junction temperature of the second chip of the current positioning and the junction temperature of the first chip during the last effective positioning is greater than a preset threshold, and when the difference is greater than the preset threshold, accurately determine the clock drift of the satellite navigation receiver for the current positioning through the target fitting function corresponding to the satellite navigation receiver and the junction temperature of the second chip, and determine the clock drift corresponding to the junction temperature of the second chip through the target fitting function. When the working environment temperature of the satellite navigation receiver changes greatly, the current clock drift value can still be accurately determined, avoiding the error caused by directly determining the current clock drift through the local clock drift value when the temperature changes, ensuring the accuracy of the clock drift of the current positioning, and effectively correcting the local clock drift value. In addition, according to the position of the current clock drift adjustment frequency search interval on the frequency axis determined by the embodiment of the present application, when the temperature changes drastically, the search range of the capture engine can be made consistent with the actual Doppler frequency range, thereby improving the performance of the cold start of the receiver and the success probability of the hot start of the receiver.
[0132] Based on the same inventive concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a clock drift determination device for a satellite navigation receiver.
[0133] refer to Fig. 9 , the clock drift determination device of the satellite navigation receiver comprises:
[0134] A first acquisition module is used to acquire a first chip junction temperature of the satellite navigation receiver during the last effective positioning, and to acquire a second chip junction temperature of the satellite navigation receiver during the current positioning;
[0135] A second acquisition module, in response to determining that the difference between the first chip junction temperature and the second chip junction temperature is greater than a preset threshold, acquires a target fitting function corresponding to the satellite navigation receiver; the target fitting function is used to represent the functional relationship between the clock drift and the chip junction temperature;
[0136] The determination module determines the clock drift of the current positioning of the satellite navigation receiver based on the junction temperature of the second chip and the target fitting function.
[0137] In some embodiments, the determination module is specifically configured to:
[0138] Obtaining the clock drift of the satellite navigation receiver at the time of the last valid positioning;
[0139] Determine a first clock drift variation corresponding to the first chip junction temperature based on the first chip junction temperature and the target fitting function;
[0140] Determine a second clock drift variation corresponding to the second chip junction temperature based on the second chip junction temperature and the target fitting function;
[0141] Determining a target difference between the first clock drift variation and the second clock drift variation;
[0142] The clock drift of the satellite navigation receiver for this positioning is determined based on the clock drift of the satellite navigation receiver during the last effective positioning and the target difference.
[0143] In some embodiments, the determination module is specifically configured to:
[0144] Determine a second clock drift variation corresponding to the second chip junction temperature based on the second chip junction temperature and the target fitting function;
[0145] Obtaining the initial clock drift of the satellite navigation receiver at a preset chip junction temperature;
[0146] The clock drift of the satellite navigation receiver for this positioning is determined based on the initial clock drift and the second clock drift variation.
[0147] In some embodiments, the clock drift determination device of the satellite navigation receiver in the embodiment of the present application further includes a first adjustment module, which is used to:
[0148] Obtaining historical clock drift and historical chip junction temperature of the satellite navigation receiver during multiple historical effective positioning;
[0149] The parameters of the target fitting function are adjusted based on the historical clock drift and the historical chip junction temperature.
[0150] In some embodiments, the target fitting function is a piecewise function, and each piece of the function is a linear function; the clock drift determination device of the satellite navigation receiver in the embodiment of the present application further includes a second adjustment module, which is used to:
[0151] acquiring a first temperature range of a chip junction temperature of the satellite navigation receiver when the satellite navigation receiver is working;
[0152] Obtaining a second temperature range of the chip junction temperature when the above target fitting function is used;
[0153] In response to determining that the first temperature interval is smaller than the second temperature interval, the parameters of the target part in the target fitting function are adjusted based on the historical clock drift and the historical chip junction temperature; wherein the target part is the part of the target fitting function that is in the first temperature interval; for the discontinuity point where the target part appears, the slope of the linear function on both sides of the discontinuity point is determined, and the function value on the side with the larger slope is used as the output value of the discontinuity point.
[0154] In some embodiments, the clock drift determination device of the satellite navigation receiver in the embodiment of the present application further includes a third adjustment module, and the third adjustment module includes:
[0155] an acquisition unit, for each segment of the target linear function of the target fitting function, acquiring a historical clock drift and a historical chip junction temperature of the satellite navigation receiver during multiple historical effective positioning; the target fitting function is a piecewise function, and each segment of the function is a linear function, and the target linear function is any segment of the multiple segments of the linear function included in the target fitting function;
[0156] A fitting unit, based on the historical clock drift and the historical chip junction temperature, refits the target linear function into two sub-functions; each of the sub-functions is a linear function;
[0157] A first determination unit determines a target historical chip junction temperature from historical clock drifts of the satellite navigation receiver during multiple historical effective positioning operations;
[0158] A first calculation unit inputs the target historical chip junction temperature into the target linear function to obtain a first predicted clock drift corresponding to the target linear function;
[0159] A second calculation unit inputs the target historical chip junction temperature into the two sub-functions to obtain a second predicted clock drift corresponding to the two sub-functions;
[0160] The second determination unit determines whether to replace the target linear function with the two segments of the sub-functions based on the first predicted clock drift and the second predicted clock drift.
[0161] In some embodiments, the target historical chip junction temperature is multiple; the second determining unit is specifically used to:
[0162] Determine a target historical clock drift corresponding to each of the target historical chip junction temperatures in the plurality of target historical chip junction temperatures to obtain the plurality of target historical clock drifts;
[0163] Calculate a first mean square error between a plurality of the first predicted clock drifts and a plurality of the target historical clock drifts;
[0164] Calculate a second mean square error between the plurality of second predicted clock drifts and the plurality of target historical clock drifts;
[0165] In response to determining that the second mean square error is less than the first mean square error, replacing the target linear function with two segments of the sub-functions;
[0166] In response to determining that the second mean square error is not less than the first mean square error, the target linear function is not replaced by the two segments of the sub-functions.
[0167] In some embodiments, the connection point of the two segments of the above sub-functions is the midpoint of the above target linear function.
[0168] In some embodiments, the clock drift determination device of the satellite navigation receiver in the embodiment of the present application further includes a fourth adjustment module, which is used to:
[0169] The frequency search interval for the satellite navigation receiver to capture satellite signals is adjusted based on the clock drift of the satellite navigation receiver for this positioning.
[0170] For the convenience of description, the above device is described in terms of functions divided into various modules. Of course, when implementing the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.
[0171] The clock drift determination device for a satellite navigation receiver in the above embodiment is used to implement the corresponding clock drift determination method for a satellite navigation receiver in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be described in detail herein.
[0172] Fig.10 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application is shown.
[0173] In some embodiments the electronic device may include a processor 301 and a memory 302 storing computer program instructions.
[0174] Specifically, the processor 301 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0175] The memory 302 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 302 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 302 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 302 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 302 is a non-volatile solid-state memory.
[0176] In certain embodiments, memory 302 includes a read-only memory (ROM). The ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically alterable ROM (EAROM), or flash memory, or a combination of two or more of the above, where appropriate.
[0177] The memory may include read-only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical or other physical / tangible memory storage devices. Thus, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to an aspect of the present disclosure.
[0178] The processor 301 reads and executes the computer program instructions stored in the memory 302 to implement any one of the clock drift determination methods for a satellite navigation receiver in the above embodiments.
[0179] In one example, the electronic device may further include a communication interface 303 and a bus 310. Fig.10 As shown, the processor 301, the memory 302, and the communication interface 303 are connected via a bus 310 and communicate with each other.
[0180] The communication interface 303 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0181] Bus 310 includes hardware, software or both, and the parts of online data flow billing equipment are coupled to each other. For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front-end bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 310 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the present application considers any suitable bus or interconnection.
[0182] The electronic device of the above embodiment is used to implement the clock drift determination method of the satellite navigation receiver corresponding to any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be described in detail here.
[0183] In addition, in combination with the method for determining the clock drift of a satellite navigation receiver in the above embodiments, the present application embodiment may provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any one of the methods for determining the clock drift of a satellite navigation receiver in the above embodiments is implemented.
[0184] The computer instructions stored in the storage medium of the above embodiment are used to enable the computer to execute the clock drift determination method of the satellite navigation receiver as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0185] An embodiment of the present application further provides a computer program product, including a computer program, which, when executed, implements any one of the methods for determining clock drift of a satellite navigation receiver in the above embodiments.
[0186] In some embodiments, the computer program instructions may be executed by one or more processors of a computer so that the computer and / or the processor execute the method for determining a clock drift of a satellite navigation receiver described in the above embodiments. Corresponding to the execution subject corresponding to each step in each embodiment of the method for determining a clock drift of a satellite navigation receiver, the processor executing the corresponding step may belong to the corresponding execution subject.
[0187] The computer program product of the above embodiment is used to enable the computer and / or the processor to execute the clock drift determination method of the satellite navigation receiver as described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0188] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0189] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0190] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0191] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.
[0192] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A method for determining clock drift of a satellite navigation receiver, characterized in that: include: Acquiring a first chip junction temperature of the satellite navigation receiver during the last effective positioning, and acquiring a second chip junction temperature of the satellite navigation receiver during the current positioning; In response to determining that the difference between the first chip junction temperature and the second chip junction temperature is greater than a preset threshold, acquiring a target fitting function corresponding to the satellite navigation receiver; the target fitting function is used to represent a functional relationship between a clock drift variation and a chip junction temperature; The clock drift of the current positioning of the satellite navigation receiver is determined based on the second chip junction temperature and the target fitting function.
2. The method according to claim 1, determining the clock drift of the current positioning of the satellite navigation receiver based on the second chip junction temperature and the target fitting function, specifically comprising: Obtaining the clock drift of the satellite navigation receiver at the last valid positioning; determining a first clock drift change amount corresponding to the first chip junction temperature based on the first chip junction temperature and the target fitting function; determining a second clock drift variation corresponding to the second chip junction temperature based on the second chip junction temperature and the target fitting function; determining a target difference between the first clock drift change and the second clock drift change; The clock drift of the satellite navigation receiver in this positioning is determined based on the clock drift of the satellite navigation receiver in the last effective positioning and the target difference.
3. The method according to claim 1, determining the clock drift of the satellite navigation receiver for current positioning based on the second chip junction temperature and the target fitting function, specifically comprising: determining a second clock drift variation corresponding to the second chip junction temperature based on the second chip junction temperature and the target fitting function; Obtaining an initial clock drift of the satellite navigation receiver at a preset chip junction temperature; The clock drift of the satellite navigation receiver for current positioning is determined based on the initial clock drift and the second clock drift variation.
4. The method according to claim 1, characterized in that Before determining the clock drift of the satellite navigation receiver for current positioning based on the second chip junction temperature and the target fitting function, the method further includes: Obtaining historical clock drift and historical chip junction temperature of the satellite navigation receiver during multiple historical effective positioning; Parameters of the target fitting function are adjusted based on the historical clock drift and the historical chip junction temperature.
5. The method according to claim 4, characterized in that The target fitting function is a piecewise function, and each piece of the function is a linear function; the method further includes: Acquire a first temperature range of a chip junction temperature of the satellite navigation receiver when the satellite navigation receiver is working; obtaining a second temperature range of the chip junction temperature when the target fitting function is used; In response to determining that the first temperature interval is less than or equal to the second temperature interval, the parameters of the target part in the target fitting function are adjusted based on the historical clock drift and the historical chip junction temperature; wherein the target part is the part of the target fitting function that is in the first temperature interval; for the discontinuity point where the target part appears, the slope of the linear function on both sides of the discontinuity point is determined, and the function value on the side with the larger slope is used as the output value of the discontinuity point.
6. The method according to any one of claims 1 to 5, characterized in that: Before determining the clock drift of the satellite navigation receiver for current positioning based on the second chip junction temperature and the target fitting function, the method further includes: For each target linear function of the target fitting function, obtaining the historical clock drift and the historical chip junction temperature of the satellite navigation receiver during multiple historical effective positioning; the target fitting function is a piecewise function, and each segment of the function is a linear function, and the target linear function is any segment of the multiple segments of the linear function included in the target fitting function; Based on the historical clock drift and the historical chip junction temperature, the target linear function is refitted into two sub-functions; each sub-function is a linear function; Determine the target historical chip junction temperature from the historical clock drift of the satellite navigation receiver during multiple historical effective positioning; Inputting the target historical chip junction temperature into the target linear function to obtain a first predicted clock drift corresponding to the target linear function; Inputting the target historical chip junction temperature into the two sub-functions to obtain the second predicted clock drift corresponding to the two sub-functions; Based on the first predicted clock drift and the second predicted clock drift, determine whether to replace the target linear function with the two segments of the sub-functions.
7. The method according to any one of claim 6, characterized in that: The target historical chip junction temperature is multiple; based on the first predicted clock drift and the second predicted clock drift, determining whether to replace the target linear function with the two segments of the sub-functions specifically includes: Determine a target historical clock drift corresponding to each of the target historical chip junction temperatures in the plurality of target historical chip junction temperatures to obtain the plurality of target historical clock drifts; Calculate a first mean square error between a plurality of the first predicted clock drifts and a plurality of the target historical clock drifts; Calculate a second mean square error between a plurality of the second predicted clock drifts and a plurality of the target historical clock drifts; In response to determining that the second mean square error is smaller than the first mean square error, the target linear function is replaced by two sections of the sub-functions.
8. The method according to any one of claim 6, characterized in that: The connection point of the two sub-functions is the midpoint of the target linear function.
9. The method according to any one of claims 1 to 5, characterized in that: After determining the clock drift of the satellite navigation receiver for current positioning based on the second chip junction temperature and the target fitting function, the method further includes: The frequency search interval for the satellite navigation receiver to capture satellite signals is adjusted based on the clock drift of the satellite navigation receiver for current positioning.
10. A device for determining clock drift of a satellite navigation receiver, characterized in that: The device comprises: A first acquisition module is used to acquire a first chip junction temperature of a satellite navigation receiver during the last effective positioning, and to acquire a second chip junction temperature of the satellite navigation receiver during the current positioning; a second acquisition module, in response to determining that the difference between the first chip junction temperature and the second chip junction temperature is greater than a preset threshold, acquiring a target fitting function corresponding to the satellite navigation receiver; the target fitting function is used to represent a functional relationship between clock drift and chip junction temperature; A determination module is provided for determining a clock drift of the satellite navigation receiver for this positioning based on the junction temperature of the second chip and the target fitting function.
11. An electronic device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the method according to any one of claims 1 to 9 is implemented.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the method for determining clock drift of a satellite navigation receiver as described in any one of claims 1 to 9.
13. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the method for determining clock drift of a satellite navigation receiver as described in any one of claims 1-9.