A hierarchical correction method, device and equipment of a satellite compass and a storage medium
Patent Information
- Application Number
- CN202510583635.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-07
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2045-05-07
AI Technical Summary
[0004]本发明公开了一种卫星罗经的分层校正方法、装置、设备及存储介质,旨在解决无法持续可靠的进行卫星罗经航向校正的问题
[0064]基于本发明提供的一种卫星罗经的分层校正方法、装置、设备及存储介质,先实时获取由传感器组采集到的多源导航数据,根据所述多源导航数据构建短期滤波器输入、中期滤波器输入、以及长期滤波器输入,接着,调用具有三层滤波结构的滤波器对所述短期滤波器输入、中期滤波器输入、以及长期滤波器输入进行处理,并对三层滤波器的输出通过自适应权重进行加权融合,以生成综合误差估计值;再接着,基于数据年龄应用时间权重函数和基于系统使用时间应用时间衰减因子,对综合误差估计值进行加权处理,生成系统误差估计值;最后,通过平滑过渡方式将所述系统误差估计值应用于卫星罗经航向数据,以自动校正卫星罗经的安装误差,解决了无法持续可靠的进行卫星罗经航向校正的问题。
Smart Images

Figure CN120427033B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of ship navigation, and in particular to a method, apparatus, device, and storage medium for layered correction of a satellite compass. Background Technology
[0002] In ship navigation systems, satellite compasses suffer from fixed deviations in heading data due to installation errors, which seriously affect navigation accuracy and navigation safety. Existing correction methods, such as manual calibration, simple GPS heading comparison, or automatic correction technology based on machine learning, have drawbacks such as frequent manual intervention, failure to consider the impact of navigation conditions, reliance on large amounts of training data, and inability to guarantee long-term stability. As a result, the correction effect is not ideal during actual ship navigation and cannot meet the actual needs of ship navigation safety. In particular, it cannot provide continuous and reliable satellite compasses heading correction services, especially in long-term unattended operation and various complex navigation environments.
[0003] In view of the above, this application is hereby submitted. Summary of the Invention
[0004] This invention discloses a method, apparatus, device, and storage medium for layered correction of satellite compasses, aiming to solve the problem of the inability to continuously and reliably perform satellite compass heading correction.
[0005] The first embodiment of the present invention provides a layered correction method for satellite compasses, comprising:
[0006] The system acquires multi-source navigation data collected by the sensor array in real time, and constructs short-term filter input, medium-term filter input, and long-term filter input based on the multi-source navigation data. The short-term filter input is the instantaneous heading difference of the first N samples, the medium-term filter input is the instantaneous heading difference of the current sample, and the long-term filter input is a set of historical error data.
[0007] The inputs of the short-term filter, the medium-term filter, and the long-term filter are processed by a filter with a three-layer filtering structure, and the outputs of the three-layer filter are weighted and fused using adaptive weights to generate a comprehensive error estimate.
[0008] The comprehensive error estimate is weighted by applying a time weighting function based on the age of the data and a time decay factor based on the system usage time, and a system error estimate is generated.
[0009] The system error estimate is applied to the satellite compass heading data using a smooth transition method to automatically correct the installation error of the satellite compass.
[0010] Preferably, the process of constructing the historical error dataset is as follows:
[0011] The entire heading is divided into 36 intervals, each 10° wide. Error data is recorded and processed separately within each interval to capture specific error patterns on different headings: D(θ)={d_1(θ),d_2(θ),...,d_n(θ)};
[0012] Where: D(θ) is the set of differences corresponding to heading θ, d_i(θ) is the i-th difference value recorded near heading θ, d_i(θ) = COG_i - HDG_i; COG_i and HDG_i are the GPS track heading and compass heading of the i-th sample, respectively;
[0013] Using an electronic compass as an auxiliary reference source, compare the differences between the electronic compass and the satellite compass to obtain additional reference information: d_compass = MAG + VAR - HDG;
[0014] Where: d_compass is the estimated installation error of the electronic compass reference, MAG is the magnetic compass reading, VAR is the magnetic declination of the current position, and HDG is the satellite compass heading;
[0015] In a port area with known accurate coordinates, perform fixed-point calibration: d_fixed = KNOWN_HDG - HDG, where: d_fixed is the error value obtained from fixed-point calibration, KNOWN_HDG is the known accurate heading in the port area, and HDG is the satellite compass reading at the same location;
[0016] The system integrates error estimates from different reference sources to generate a historical error dataset d_ref:
[0017] d_ref={D(θ),d_compass,d_fixed}.
[0018] Preferably, the short-term filtering adopts moving mean filtering, and the calculation formula is d_short=(1 / N)·Σ(COG_i-HDG_i), where d_short is the error estimate of the short-term filtering layer, N is the size of the short-term filtering window, and COG_i and HDG_i are the GPS track heading and compass heading of the i-th sample, respectively.
[0019] The intermediate filtering adopts an exponentially weighted moving average, and the calculation formula is d_mid_k=α·(COG_k-HDG_k)+(1-α)·d_mid_{k-1}, where α is a smoothing factor, d_mid_k is the estimated intermediate filtering error at time k, and d_mid_{k-1} is the estimated intermediate filtering error at time k-1.
[0020] The long-term filtering adopts the weighted median method, and the calculation formula is d_long = median(W·D), where d_long is the error estimation value of the long-term filtering layer, D is the set of historical error data, W is the weight vector, and median() is the function for calculating the weighted median.
[0021] Preferably, the outputs of the three-layer filters are weighted and fused through adaptive weights to generate a comprehensive error estimation value, specifically:
[0022] Based on the current ship speed, course stability, and sea state of the ship, a comprehensive state evaluation index is calculated, and the weight ratio of the three-level filtering results is dynamically adjusted according to the comprehensive state evaluation index;
[0023] Among them, the expression of the comprehensive state evaluation index is:
[0024] S = w_v·S_v + w_c·S_c + w_m·S_m;
[0025] Where S is the comprehensive state evaluation index, S_v is the speed-related index, S_c is the course stability index, S_m is the sea state index, and w_v, w_c, w_m are the weight coefficients corresponding to each index;
[0026] The speed-related index S_v is calculated according to the current ship speed:
[0027] S_v = 0 when SOG < v_min;
[0028] S_v = (SOG - v_min) / (v_opt - v_min) when v_min ≤ SOG < v_opt;
[0029] S_v = 1 when v_opt ≤ SOG < v_max;
[0030] S_v = (v_ultra - SOG) / (v_ultra - v_max) when v_max ≤ SOG < v_ultra;
[0031] S_v = 0 when SOG ≥ v_ultra;
[0032] The course stability index S_c is calculated according to the course change rate θ . as follows:
[0033] S_c = 0 when |θ . | > θ . _max;
[0034] S_c = 1 - |θ . | / θ . _max when |θ. |≤θ . When _max;
[0035] The sea state index S_m is calculated based on the roll angle and pitch angle:
[0036] S_m = 0 when |roll| > roll_max or |pitch| > pitch_max;
[0037] S_m = 1 - max(|roll|,|pitch|) / max(roll_max,pitch_max), when |roll|≤roll_max and |pitch|≤pitch_max;
[0038] Weight adjustment is achieved through a weight mapping function:
[0039] W_short=f_short(S)=0.1+0.6·S
[0040] W_mid = f_mid(S) = 0.2 + 0.3·S
[0041] W_long=f_long(S)=0.7-0.5·S
[0042] The outputs of the three-layer filters are weighted and fused to calculate the estimated comprehensive error.
[0043] d_final=W_short·d_short+W_mid·d_mid+W_long·d_long.
[0044] Where d_final is the comprehensive error estimate.
[0045] Preferably, the expression for the time weighting function is:
[0046] W(t)=W_base+(1-W_base)·(1-e (-t / τ) );
[0047] Where W_base is the base weight, t is the data age, τ is the time constant, W(t) is the weight value corresponding to the data age t, and W(t) is applied to the historical error data of the long-term filtering layer so that error samples with larger data ages receive higher weights when calculating long-term correction values.
[0048] The expression for the time decay factor is:
[0049] η(T)=η_min+(1-η_min)·e (-T / τ_sys) ;
[0050] Where η_min is the minimum attenuation factor, T is the cumulative system usage time, and τ_sys is the system time constant. The comprehensive error estimate is updated by combining the time attenuation factor, and the update expression is:
[0051] d_system=(1-η(T))·d_system+η(T)·d_final
[0052] Where d_system is the system error estimate and d_final is the comprehensive error estimate.
[0053] Preferably, the step of applying the system error estimate to the satellite compass heading data through a smooth transition method to automatically correct the installation error of the satellite compass specifically involves:
[0054] The correction value is generated based on the system error estimate, and its expression is: δ_applied_new=δ_applied_old+sign(d_system-δ_applied_old)·min(|d_system-δ_applied_old|,δ_step)
[0055] Where δ_applied_old is the current applied correction value, d_system is the system error estimate, sign() is the sign function, and δ_step is the single correction step size;
[0056] The installation error of the satellite compass is automatically corrected based on the correction value.
[0057] A second embodiment of the present invention provides a layered correction device for a satellite compass, comprising:
[0058] The filter input construction unit is used to acquire multi-source navigation data collected by the sensor group in real time, and construct short-term filter input, medium-term filter input and long-term filter input based on the multi-source navigation data. The short-term filter input is the instantaneous heading difference of the first N samples, the medium-term filter input is the instantaneous heading difference of the current sample, and the long-term filter input is the historical error data set.
[0059] The comprehensive error estimation value generation unit is used to call the filter with a three-layer filtering structure to process the short-term filter input, the medium-term filter input, and the long-term filter input, and to weight and fuse the outputs of the three-layer filter through adaptive weights to generate a comprehensive error estimation value.
[0060] The system error estimation unit is used to weight the comprehensive error estimate based on the data age by applying a time weighting function and based on the system usage time by applying a time decay factor to generate the system error estimate.
[0061] An automatic correction unit is used to apply the system error estimate to the satellite compass heading data in a smooth transition manner to automatically correct the installation error of the satellite compass.
[0062] The third embodiment of the present invention provides a layered calibration device for a satellite compass, including a memory and a processor. The memory stores a computer program, which can be executed by the processor to implement a layered calibration method for a satellite compass as described in any of the above embodiments.
[0063] The fourth embodiment of the present invention provides a computer-readable storage medium, characterized in that it stores a computer program, which can be executed by the processor of the device in which the computer-readable storage medium is located, to implement a layered correction method for a satellite compass as described in any of the above claims.
[0064] Based on the layered correction method, apparatus, device, and storage medium for satellite compasses provided by this invention, multi-source navigation data collected by a sensor array is first acquired in real time. Short-term filter input, medium-term filter input, and long-term filter input are constructed based on the multi-source navigation data. Then, a filter with a three-layer filtering structure is invoked to process the short-term, medium-term, and long-term filter inputs. The outputs of the three-layer filters are weighted and fused using adaptive weights to generate a comprehensive error estimate. Next, a time weighting function is applied based on data age, and a time decay factor is applied based on system usage time to weight the comprehensive error estimate, generating a system error estimate. Finally, the system error estimate is applied to the satellite compass heading data through a smooth transition method to automatically correct the installation error of the satellite compass, solving the problem of the inability to continuously and reliably perform satellite compass heading correction. Attached Figure Description
[0065] Figure 1 This is a flowchart illustrating a layered correction method for a satellite compass provided in the first embodiment of the present invention;
[0066] Figure 2 This is a schematic diagram of a layered correction device for a satellite compass provided in the second embodiment of the present invention. Detailed Implementation
[0067] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0068] To better understand the technical solution of the present invention, the embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0069] It should be understood that the described embodiments are merely some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.
[0070] The terminology used in the embodiments of this invention is for the purpose of describing particular embodiments only and is not intended to limit the invention. The singular forms “a,” “the,” and “the” as used in the embodiments of this invention and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.
[0071] It should be understood that the term "and / or" used in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.
[0072] Depending on the context, the word "if" as used here can be interpreted as "when," "when," "in response to determination," or "in response to detection." Similarly, depending on the context, the phrase "if determination" or "if detection (of the stated condition or event)" can be interpreted as "when determination," "in response to determination," "when detection (of the stated condition or event)," or "in response to detection (of the stated condition or event)."
[0073] The terms "first" and "second" used in the embodiments are merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first" and "second" can be interchanged in a specific order or sequence where permitted. It should be understood that the objects distinguished by "first" and "second" can be interchanged where appropriate so that the embodiments described herein can be implemented in orders other than those illustrated or described herein.
[0074] The specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0075] This invention discloses a method, apparatus, device, and storage medium for layered correction of satellite compasses, aiming to solve the problem of the inability to continuously and reliably perform satellite compass heading correction.
[0076] Please see Figure 1The first embodiment of the present invention provides a layered calibration method for a satellite compass, which can be executed by a layered calibration device for a satellite compass (hereinafter referred to as the calibration device), and in particular, by one or more processors within the calibration device, to at least implement the following steps:
[0077] S101, acquire multi-source navigation data collected by the sensor group in real time, and construct short-term filter input, medium-term filter input and long-term filter input based on the multi-source navigation data. The short-term filter input is the instantaneous heading difference of the first N samples, the medium-term filter input is the instantaneous heading difference of the current sample, and the long-term filter input is the historical error data set.
[0078] In this embodiment, the calibration device can be a terminal with data processing capabilities, such as a workstation, desktop computer, laptop computer, or server. It can establish communication with the sensor group on the ship via wired or wireless means. The auxiliary device can be equipped with a corresponding operating system and application software, and the functions required in this embodiment can be realized through the combination of the operating system and application software.
[0079] Specifically, in this embodiment, the calibration device first collects multi-source navigation data in real time through a sensor group, which includes at least a GPS positioning module, a satellite compass module, an electronic compass module, and a gyroscope module, and can provide navigation data including heading angle (HDG), ground heading (COG), and ground speed (SOG).
[0080] After receiving this data, the calibration device performs preliminary processing on the navigation data, eliminating outliers and unifying timestamps. Then, it calculates the heading error based on the temporal relationships and spatial differences between various data types. Specifically, for the current time point, the calibration device uses the difference between the GPS track direction and the satellite compass heading value as the instantaneous heading difference at that moment, and stores it in a cached dataset. Based on this, the system sequentially constructs input data for three-layer filtering processing. The short-term filter input consists of the instantaneous heading differences from the most recent N consecutive time points, reflecting heading fluctuations within a short timescale. The medium-term filter input is the instantaneous heading difference at the current time point, reflecting the current heading error situation. The long-term filter input selects a set of historical error data stored in the system error database, including heading error samples accumulated under different operating conditions and time periods, used to characterize the error trend of long-term stability.
[0081] Specifically, the construction of the historical error data set employs a multi-dimensional reference source fusion strategy. This involves capturing error characteristics under different navigation conditions and integrating various reference source data to form a complete historical error database. Further, the calibration equipment first establishes a heading partition database, dividing the entire heading (0°-360°) into 36 equal intervals, each 10° wide. This effectively captures the changes in error characteristics of the satellite compass under different headings. In practical applications, during ship navigation, the system calculates the difference between the GPS track heading (COG) and the satellite compass heading (HDG) in real time: d_i(θ) = COG_i - HDG_i, and assigns this difference value to the corresponding heading interval D(θ). As navigation time increases, each heading interval accumulates a large number of difference value samples, forming a diverse set of differences D(θ) = {d_1(θ), d_2(θ), ..., d_n(θ)}. These sets of differences collectively construct an error reference library based on the GPS track. Furthermore, the system simultaneously integrates electronic compass data as an auxiliary reference source, obtaining additional error estimates through the calculation formula d_compass = MAG + VAR - HDG, where MAG represents the magnetic compass reading, VAR represents the magnetic declination at the current position, and HDG is the satellite compass heading value. In practical applications, when the ship navigates to a port or other known accurate coordinate area, a fixed-point calibration mechanism is triggered. A high-precision fixed-point calibration value is obtained through the calculation formula d_fixed = KNOWN_HDG - HDG, where KNOWN_HDG represents the known accurate heading reference value for the port area. The calibration equipment intelligently fuses the error estimates from these three sources to form a comprehensive reference set d_ref = {D(θ), d_compass, d_fixed}, constituting the system's historical error data set. During data fusion, the calibration equipment assigns different reliability weights to each source of data based on their reliability characteristics. The port fixed-point calibration value typically receives the highest weight, the GPS track method receives a medium weight under appropriate ship speed and stable heading conditions, and the electronic compass reference value serves as an auxiliary verification source.
[0082] S102, the filter with a three-layer filtering structure is called to process the short-term filter input, the medium-term filter input, and the long-term filter input, and the outputs of the three-layer filter are weighted and fused by adaptive weights to generate a comprehensive error estimate.
[0083] Specifically, in this embodiment, the short-term filtering layer is mainly responsible for processing high-frequency navigation noise. It calculates the average difference value of the recent N valid observation samples in real time using a moving average filtering method. The calculation formula is d_short=(1 / N)·Σ(COG_i-HDG_i), where d_short represents the error estimate output by the short-term filtering layer, N is the size of the filtering window (typically 10 to 30 samples in practical applications to balance response speed and noise immunity), and COG_i and HDG_i represent the GPS track heading and satellite compass heading readings of the i-th sample, respectively. The correction device dynamically adjusts the filtering window size according to the current navigation status, appropriately increasing the window size when the heading is stable to improve smoothing, and decreasing the window size during turning operations to improve response speed.
[0084] The intermediate filtering layer employs an exponentially weighted moving average method, which can more effectively track changes in the intermediate error trend. Its calculation formula is d_mid_k=α·(COG_k-HDG_k)+(1-α)·d_mid_{k-1}, where d_mid_k represents the estimated intermediate filtering error at time k, α is a smoothing factor, which is usually taken from 0.05 to 0.2 in practical applications. A smaller α value will make the filter respond more smoothly to new data and enhance the smoothing effect, while a larger α value will increase the sensitivity to new data. d_mid_{k-1} is the estimated intermediate filtering error at the previous time k-1. The recursive calculation method enables the intermediate filtering layer to maintain the continuity of historical information while responding appropriately to new trends.
[0085] The long-term filtering layer uses the weighted median method to process the historical error database. The calculation formula is d_long = median(W·D), where d_long represents the error estimate output by the long-term filtering layer, D is the set of historical error data accumulated by the system, including multi-source error data from GPS track method, electronic compass reference, and fixed reference point calibration, and W is the weight vector corresponding to the data. The weight values comprehensively consider factors such as data age, navigation status at the time of recording, and reliability of data sources. The median() function calculates the weighted median, and the steps for calculating the weighted median are as follows:
[0086] The calibration device sorts all elements in the error data set D in ascending order of their values, resulting in an ordered sequence D_sorted = {d_(1), d_(2), ..., d_(n)}. Then, it rearranges the weight values in the weight vector W according to the same sorting rule, resulting in D_sorted = {d_(1), d_(2), ..., d_(n)}.
[0087] Next, the calibration device sequentially calculates the cumulative weight C_i for each sorting position i. This cumulative weight is equal to the sum of the weights from the first item to the i-th item, i.e., C_i = Σ(j=1 to i)w_(j). During the accumulation process, it monitors the index k corresponding to when C_i first reaches or exceeds half of the total weight, i.e., C_k-1 < 0.5·Σw_j ≤ C_k. At this time, the error value at that index in D_sorted is selected as the weighted median.
[0088] The historical error data set is composed of: D = {d_1, d_2, ..., d_n}, where d_i is the i-th valid error value recorded by the system, including: error estimates from GPS track method, auxiliary reference error values from electronic compass, and error values from fixed reference point calibration;
[0089] The weight vector W is composed of: W = {w_1, w_2, ..., w_n}, where w_i is the weight value corresponding to d_i, which is determined by the following factors: (1) Time weight: w_time_i = W_base + (1-W_base)·e (-t_i / τ) , t_i is the data age, (2) navigation state weight: w_state_i∈[0,1], based on the navigation state evaluation value when d_i is recorded, (3) reference source weight: w_source_i∈[0.7,1.0], based on the reliability of the data source, the final weight calculation is: w_i=w_time_i·w_state_i·w_source_i.
[0090] In one possible implementation of the present invention, the outputs of the three-layer filter are weighted and fused using adaptive weights to generate a comprehensive error estimate, specifically as follows:
[0091] The correction equipment calculates a comprehensive state assessment index based on the ship's current speed, course stability, and sea state, and dynamically adjusts the weighting of the three-stage filtering results according to this comprehensive state assessment index. First, a comprehensive state assessment index S is calculated, which comprehensively considers speed-related indicators, course stability indicators, and sea state indicators, as shown in the following formula:
[0092] S=w_v·S_v+w_c·S_c+w_m·S_m
[0093] Where S is the comprehensive state assessment index, S_v is the speed-related index, S_c is the heading stability index, S_m is the sea state index, and w_v, w_c, and w_m are the weighting coefficients corresponding to each index, with typical values of 0.5, 0.3, and 0.2, respectively.
[0094] The speed-related index S_v is calculated based on the current ship speed (SOG): When the speed is lower than the minimum effective ship speed v_min (a typical value of 3 knots), S_v is 0; when the speed is between the minimum effective ship speed v_min and the optimal corrected ship speed v_opt (a typical value of 8 knots), S_v increases linearly with the speed; when the speed is between the optimal corrected ship speed v_opt and the maximum ideal ship speed v_max (a typical value of 15 knots), S_v is constantly 1; when the speed is between the maximum ideal ship speed v_max and the ultra-high ship speed threshold v_ultra (a typical value of 25 knots), S_v decreases linearly with the speed; when the speed exceeds the ultra-high ship speed threshold v_ultra, S_v is 0. The specific calculation is as follows:
[0095] S_v = 0, when SOG < v_min
[0096] S_v = (SOG - v_min) / (v_opt - v_min), when v_min ≤ SOG < v_opt
[0097] S_v = 1, when v_opt ≤ SOG < v_max
[0098] S_v = (v_ultra - SOG) / (v_ultra - v_max), when v_max ≤ SOG < v_ultra
[0099] S_v = 0, when SOG ≥ v_ultra
[0100] The course stability index S_c is calculated based on the course change rate θ . as follows: When the absolute value of the course change rate exceeds the maximum allowable course change rate θ . _max (a typical value of 3° / second), S_c is 0; otherwise, S_c decreases linearly with the absolute value of the course change rate. The specific calculation is as follows:
[0101] S_c = 0, when |θ . | > θ . _max
[0102] S_c = 1 - |θ . | / θ . _max, when |θ . | ≤ θ . _max
[0103] The sea state index S_m is calculated based on the roll and pitch angles: when the absolute value of the roll angle exceeds the maximum permissible roll angle roll_max (typically 5°) or the absolute value of the pitch angle exceeds the maximum permissible pitch angle pitch_max (typically 5°), S_m is 0; otherwise, S_m decreases linearly with the larger of the roll and pitch angles. The specific calculation is as follows:
[0104] S_m = 0, when |roll| > roll_max or |pitch| > pitch_max
[0105] S_m = 1 - max(|roll|,|pitch|) / max(roll_max,pitch_max), other cases
[0106] Based on the calculated comprehensive state evaluation index S, the system dynamically adjusts the weights W_short, W_mid, and W_long of the three-layer filter outputs, corresponding to the weights of the short-term, medium-term, and long-term filter layers, respectively. This weight adjustment is achieved through a weight mapping function.
[0107] W_short=f_short(S)=0.1+0.6·S
[0108] W_mid = f_mid(S) = 0.2 + 0.3·S
[0109] W_long=f_long(S)=0.7-0.5·S
[0110] Specifically, when the state index S value is high, the weights of the short-term filter layer increase, ranging from [0.1, 0.7]; the weights of the medium-term filter layer change appropriately, ranging from [0.2, 0.5]; and the weights of the long-term filter layer decrease, ranging from [0.2, 0.7]. This weight design ensures that W_short + W_mid + W_long = 1 in any state, guaranteeing weight normalization.
[0111] Finally, the correction device uses the dynamically adjusted weights to perform weighted fusion of the outputs of the three-layer filters, and calculates the comprehensive error estimate d_final:
[0112] d_final=W_short·d_short+W_mid·d_mid+W_long·d_long
[0113] Where d_short, d_mid, and d_long are the error outputs of the short-term, medium-term, and long-term filtering layers, respectively.
[0114] S103, based on the data age, apply a time weighting function and based on the system usage time, apply a time decay factor to the comprehensive error estimate, and generate a system error estimate;
[0115] The calibration equipment maintains an error database that expands over time. To improve the reliability of long-term accumulated data, the calibration equipment employs a time-weighting increment strategy. This strategy is a time-weighting function whose weight increases with the age of the data, giving data that has been validated over a long period a higher weight in the error estimation process. The expression for the time-weighting function W(t) is: W(t) = W_base + (1 - W_base)·(1 - e (-t / τ) The time-weighted function is used to define the weight value at time t. W_base represents the base weight, typically ranging from 0.1 to 0.3, indicating the minimum confidence level of newly collected data. t represents the data age, the time span from when the data was recorded to the present. τ is a time constant that controls the rate of weight increase. This time-weighted function ensures that newly collected data has a low initial weight, but as time progresses and the data undergoes more verification, its weight gradually increases and approaches 1, reflecting the objective law that data confidence increases with time verification.
[0116] Simultaneously, the calibration equipment incorporates a time decay factor to reduce the impact of new data on the established stable calibration, ensuring the stability of the system calibration. The expression for the time decay factor η(T) is: η(T)=η_min+(1-η_min)·e (-T / τ_sys) Where η(T) is the time decay factor corresponding to the system usage time T; η_min is the minimum decay factor, typically 0.1; T is the cumulative system usage time; and τ_sys is the system time constant, typically ranging from 500 to 1000 hours, representing the usage time required for the system to reach a steady state. In the initial usage phase, the time decay factor is relatively large, and new data has a significant impact on system error estimation, facilitating rapid convergence to the true error state. As the system usage time increases, the time decay factor gradually decreases and approaches η_min. At this point, the system's sensitivity to new data decreases, focusing more on maintaining the established stable correction and avoiding correction fluctuations caused by occasional factors.
[0117] Based on the two time-related weighting functions mentioned above, the system performs weighted processing on the currently calculated comprehensive error estimate d_final, updating the system error estimate d_system. The calculation formula is: d_system = (1 - η(T))·d_system + η(T)·d_final. During this update process, the current system error estimate and the newly calculated error estimate are weighted and averaged according to the time decay factor η(T) to form the updated system error estimate. This effectively balances the system's dependence on historical data and its response to new information in navigation scenarios with long-term stable operation and variable environmental conditions.
[0118] S104, The system error estimate is applied to the satellite compass heading data through a smooth transition method to automatically correct the installation error of the satellite compass.
[0119] It should be noted that the calibration equipment does not directly apply the calculated system error estimate d_system as the calibration value to the satellite compass heading data. Instead, it uses a gradual adjustment process to make the currently applied calibration value δ_applied_old gradually approach the system error estimate d_system.
[0120] This smooth transition mechanism achieves a smooth change in the correction value by controlling the step size of each correction. Based on the difference between the currently applied correction value δ_applied_old and the system error estimate d_system, the new applied correction value δ_applied_new is calculated. The calculation formula is:
[0121] δ_applied_new=δ_applied_old+sign(d_system-δ_applied_old)
[0122] The function `min(|d_system-δ_applied_old|,δ_step)` determines the direction of the correction adjustment. When `d_system` is greater than `δ_applied_old`, `sign()` returns 1, indicating an increase in the correction value; when `d_system` is less than `δ_applied_old`, `sign()` returns -1, indicating a decrease in the correction value; and when they are equal, `sign()` returns 0, indicating no adjustment is needed. The `min()` function compares the absolute difference between the estimated system error and the current applied correction value (`|d_system-δ_applied_old|`) and the single correction step size (`δ_step`), selecting the smaller one as the actual adjustment amount to ensure that the magnitude of each correction does not exceed the preset single correction step size.
[0123] The single-step correction step size δ_step is a key parameter controlling the smoothness of the correction, with a typical value set between 0.05° and 0.1°. Smaller step sizes result in a smoother correction process, but the time to converge to the system error estimate will be correspondingly longer; larger step sizes will accelerate the correction convergence speed, but may cause small jumps in the heading data during the correction process. The system can flexibly set this parameter value according to the specific application scenario and the requirements for the smoothness of the heading data.
[0124] Through this smooth transition mechanism, the system can continuously and smoothly apply correction values during the operation of the satellite compass, gradually eliminating installation errors. Even if the system error estimate changes significantly due to changes in the ship's navigation environment or other factors, the correction values applied to the satellite compass heading data will transition smoothly, avoiding abrupt changes in the heading data.
[0125] In one possible embodiment of the present invention, a multiple redundancy verification mechanism is set to ensure the reliability of the correction values. First, the consistency verification mechanism evaluates the reliability of the correction process by analyzing the degree of consistency between the correction values provided by different reference sources. The formula for calculating the consistency index C is C = 1 - σ(d_sources) / μ(d_sources), where d_sources represents the set of correction values provided by different reference sources, σ(d_sources) represents the standard deviation of these correction values, calculated as σ(d_sources) = √[(Σ(d_i-μ)μ) / n]; and μ(d_sources) represents the mean of these correction values, calculated as μ(d_sources) = (Σd_i) / n. The value range of the consistency index C is from 0 to 1. When the correction values provided by different reference sources are completely consistent, the standard deviation is 0, and the consistency index C = 1, indicating the highest correction reliability. Conversely, when the correction values provided by different reference sources differ greatly, the consistency index C value is small, indicating lower correction reliability. The system can adjust the correction strategy based on the value of the consistency index C. When the value of C is lower than the set threshold, the weight of the current correction can be reduced or an additional verification process can be triggered.
[0126] Secondly, the system detects anomalies during the calibration process through a trend analysis mechanism. The system continuously monitors the changing trend of the calibration values and calculates the absolute difference ΔD = |d_system - d_system_prev| between the current system error estimate d_system and the previous system error estimate d_system_prev. If ΔD exceeds a preset threshold, it may indicate abnormal fluctuations or external interference in the system. In this case, the system will trigger an anomaly detection process to further verify the reliability of the calibration values. This allows for timely detection of sudden changes during the calibration process, preventing erroneous calibration values from being applied to satellite compass heading data.
[0127] In addition, the system maintains three independent sets of historical data records for cross-validation of the accuracy of the correction values. The first set is based on time segments, recording data in 6-hour intervals to analyze the variation patterns of correction values across different time periods. The second set is based on heading segments, recording data separately for every 10° heading interval to analyze the characteristics of correction values as heading changes. The third set is based on navigation state classification, distinguishing between correction data under different navigation states such as high speed, low speed, and turning, to analyze the impact of different navigation states on the correction values. These three independent sets of historical data records form a complete cross-validation system, allowing the system to further verify the reliability of the correction values by comparing the consistency between the current correction value and the corresponding historical records.
[0128] Please see Figure 2 The second embodiment of the present invention provides a layered correction device for a satellite compass, comprising:
[0129] A filter input construction unit 201 is used to acquire multi-source navigation data collected by the sensor group in real time. Based on the multi-source navigation data, a short-term filter input, a medium-term filter input, and a long-term filter input are constructed. The short-term filter input is the instantaneous heading difference of the first N samples, the medium-term filter input is the instantaneous heading difference of the current sample, and the long-term filter input is a set of historical error data.
[0130] The comprehensive error estimation value generation unit 202 is used to call the filter with a three-layer filtering structure to process the short-term filter input, the medium-term filter input, and the long-term filter input, and to perform weighted fusion of the outputs of the three-layer filter through adaptive weights to generate a comprehensive error estimation value.
[0131] The system error estimation value generation unit 203 is used to perform weighted processing on the comprehensive error estimation value based on the data age and the system usage time and the time decay factor, and generate the system error estimation value.
[0132] Automatic correction unit 204 is used to apply the system error estimate to the satellite compass heading data in a smooth transition manner to automatically correct the installation error of the satellite compass.
[0133] The third embodiment of the present invention provides a layered calibration device for a satellite compass, including a memory and a processor. The memory stores a computer program, which can be executed by the processor to implement a layered calibration method for a satellite compass as described in any of the above embodiments.
[0134] The fourth embodiment of the present invention provides a computer-readable storage medium, characterized in that it stores a computer program, which can be executed by the processor of the device in which the computer-readable storage medium is located, to implement a layered correction method for a satellite compass as described in any of the above claims.
[0135] Based on the layered correction method, apparatus, device, and storage medium for satellite compasses provided by this invention, multi-source navigation data collected by a sensor array is first acquired in real time. Short-term filter input, medium-term filter input, and long-term filter input are constructed based on the multi-source navigation data. Then, a filter with a three-layer filtering structure is invoked to process the short-term, medium-term, and long-term filter inputs. The outputs of the three-layer filters are weighted and fused using adaptive weights to generate a comprehensive error estimate. Next, a time weighting function is applied based on data age, and a time decay factor is applied based on system usage time to weight the comprehensive error estimate, generating a system error estimate. Finally, the system error estimate is applied to the satellite compass heading data through a smooth transition method to automatically correct the installation error of the satellite compass, solving the problem of the inability to continuously and reliably perform satellite compass heading correction.
[0136] Exemplary examples show that the computer program described in the third and fourth embodiments of the present invention can be divided into one or more modules, which are stored in the memory and executed by the processor to complete the present invention. The one or more modules can be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program in the implementation of a layered correction self-modeling device for a satellite compass. For example, the apparatus described in the second embodiment of the present invention.
[0137] The processor referred to can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor. The processor is the control center of the described layered calibration method for a satellite compass, connecting the various parts of the method using various interfaces and lines.
[0138] The memory can be used to store the computer program and / or modules. The processor, by running or executing the computer program and / or modules stored in the memory, and by calling the data stored in the memory, implements various functions of a satellite compass layered correction method. The memory may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback function, text conversion function, etc.), etc.; the data storage area may store data created according to the use of the mobile phone (such as audio data, text message data, etc.). In addition, the memory may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital card (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0139] If the implemented module is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the above embodiments of the present invention can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electrical carrier signals and telecommunication signals.
[0140] It should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, in the accompanying drawings of the device embodiments provided by this invention, the connection relationships between modules indicate that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines. Those skilled in the art can understand and implement this without any creative effort.
[0141] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for layered calibration of a satellite compass, characterized in that, include: The system acquires multi-source navigation data collected by the sensor array in real time, and constructs short-term filter input, medium-term filter input, and long-term filter input based on the multi-source navigation data. The short-term filter input is the instantaneous heading difference of the first N samples, the medium-term filter input is the instantaneous heading difference of the current sample, and the long-term filter input is a set of historical error data. The inputs of the short-term filter, the medium-term filter, and the long-term filter are processed by a filter with a three-layer filtering structure, and the outputs of the three-layer filter are weighted and fused using adaptive weights to generate a comprehensive error estimate. The comprehensive error estimate is weighted by applying a time weighting function based on the age of the data and a time decay factor based on the system usage time, and a system error estimate is generated. The system error estimate is applied to the satellite compass heading data using a smooth transition method to automatically correct the installation error of the satellite compass.
2. The method for layered correction of a satellite compass according to claim 1, characterized in that, The process of constructing the historical error dataset is as follows: The entire heading is divided into 36 intervals, each 10° wide. Error data is recorded and processed separately within each interval to capture specific error patterns on different headings: D(θ)={d_1(θ),d_2(θ),...,d_n(θ)}; Where: D(θ) is the set of differences corresponding to heading θ, d_i(θ) is the i-th difference value recorded near heading θ, d_i(θ) = COG_i - HDG_i; COG_i and HDG_i are the GPS track heading and compass heading of the i-th sample, respectively; Using an electronic compass as an auxiliary reference source, compare the differences between the electronic compass and the satellite compass to obtain additional reference information: d_compass=MAG+VAR-HDG; Where: d_compass is the estimated installation error of the electronic compass reference, MAG is the magnetic compass reading, VAR is the magnetic declination of the current position, and HDG is the satellite compass heading; In a port area with known accurate coordinates, perform fixed-point calibration: d_fixed = KNOWN_HDG - HDG, where: d_fixed is the error value obtained from fixed-point calibration, KNOWN_HDG is the known accurate heading in the port area, and HDG is the satellite compass reading at the same location; The system integrates error estimates from different reference sources to generate a historical error dataset d_ref: d_ref={D(θ),d_compass,d_fixed}.
3. The method for layered correction of a satellite compass according to claim 1, characterized in that, The short-term filtering adopts the moving average filtering, and the calculation formula is d_short=(1 / N)·Σ(COG_i-HDG_i), where d_short is the error estimate of the short-term filtering layer, N is the size of the short-term filtering window, and COG_i and HDG_i are the GPS track heading and compass heading of the i-th sample, respectively. The medium-term filtering uses exponential weighted moving average, and the calculation formula is \(d_{mid,k} = \alpha\cdot(COG_k - HDG_k)+(1 - \alpha)\cdot d_{mid,k - 1}\), where \(\alpha\) is the smoothing factor, \(d_{mid,k}\) is the medium-term filtering error estimate at time \(k\), and \(d_{mid,k - 1}\) is the medium-term filtering estimate at time \(k - 1\). The long-term filtering uses the weighted median method, and the calculation formula is \(d_{long}=median(W\cdot D)\), where \(d_{long}\) is the error estimate of the long-term filtering layer, \(D\) is the set of historical error data, \(W\) is the weight vector, and \(median()\) is the function to calculate the weighted median.
4. The method for layered correction of a satellite compass according to claim 1, characterized in that, The outputs of the three-layer filters are weighted and fused through adaptive weights to generate a comprehensive error estimate, specifically: Based on the current ship speed, course stability, and sea state, calculate the comprehensive state evaluation index, and dynamically adjust the weight ratio of the three-level filtering results according to the comprehensive state evaluation index; Among them, the expression of the comprehensive state evaluation index is: \(S = w_v\cdot S_v+w_c\cdot S_c+w_m\cdot S_m\); Where \(S\) is the comprehensive state evaluation index, \(S_v\) is the speed-related index, \(S_c\) is the course stability index, \(S_m\) is the sea state index, and \(w_v\), \(w_c\), \(w_m\) are the weight coefficients corresponding to each index; The speed-related index \(S_v\) is calculated according to the current ship speed: \(S_v = 0\), when \(SOG\lt v_{min}\); \(S_v=(SOG - v_{min}) / (v_{opt}-v_{min})\), when \(v_{min}\leq SOG\lt v_{opt}\); \(S_v = 1\), when \(v_{opt}\leq SOG\lt v_{max}\); \(S_v=(v_{ultra}-SOG) / (v_{ultra}-v_{max})\), when \(v_{max}\leq SOG\lt v_{ultra}\); \(S_v = 0\), when \(SOG\geq v_{ultra}\); The heading stability index S_c is based on the heading change rate. The calculation shows that: S_c=0, when | |> When _max; S_c=1-| | / _max, when | |≤ When _max; The sea state index \(S_m\) is calculated according to the roll angle \(roll\) and pitch angle \(pitch\): \(S_m = 0\), when \(|roll|\gt roll_{max}\) or \(|pitch|\gt pitch_{max}\); \(S_m = 1 - max(|roll|,|pitch|) / max(roll_{max},pitch_{max})\), when \(|roll|\leq roll_{max}\) and \(|pitch|\leq pitch_{max}\); The weight adjustment is achieved through the weight mapping function: \(W_{short}=f_{short}(S)=0.1 + 0.6\cdot S\) \(W_{mid}=f_{mid}(S)=0.2 + 0.3\cdot S\) \(W_{long}=f_{long}(S)=0.7 - 0.5\cdot S\) Perform weighted fusion on the outputs of the three-layer filters to calculate the comprehensive error estimate: \(d_{final}=W_{short}\cdot d_{short}+W_{mid}\cdot d_{mid}+W_{long}\cdot d_{long}\); Where d_final is the comprehensive error estimate, SOG is the current ship speed; v_min is the minimum effective ship speed, v_opt is the optimal corrected ship speed, v_max is the maximum ideal ship speed, and v_ultra is the ultra-high ship speed threshold. _max is the maximum permissible rate of change of heading; roll_max is the maximum permissible roll angle; pitch_max is the maximum permissible pitch angle; W_short, W_mid, and W_long are the weights of the short-term, medium-term, and long-term filtering layers, respectively; f_short(S), f_mid(S), and f_long(S) are the weight mapping functions of the short-term, medium-term, and long-term filtering layers, respectively.
5. The method for layered correction of a satellite compass according to claim 1, characterized in that, The expression of the time weight function is: Where W_base is the base weight, t is the data age, τ is the time constant, W(t) is the weight value corresponding to the data age t, and W(t) is applied to the historical error data of the long-term filtering layer so that error samples with larger data ages receive higher weights when calculating long-term correction values. The expression for the time decay factor is: Where η_min is the minimum attenuation factor, T is the cumulative system usage time, and τ_sys is the system time constant. The comprehensive error estimate is updated by combining the time attenuation factor, and the update expression is: d_system=(1-η(T))·d_system+η(T)·d_final Where d_system is the system error estimate and d_final is the comprehensive error estimate.
6. The method for layered correction of a satellite compass according to claim 1, characterized in that, The method of applying the system error estimate to the satellite compass heading data through a smooth transition to automatically correct the installation error of the satellite compass is as follows: The correction value is generated based on the system error estimate, and its expression is: δ_applied_new=δ_applied_old+sign(d_system-δ_applied_old)·min(|d_system-δ_applied_old|,δ_step) Where δ_applied_old is the current applied correction value, d_system is the system error estimate, sign() is the sign function, and δ_step is the single correction step size; The installation error of the satellite compass is automatically corrected based on the correction value.
7. A layered correction device for a satellite compass, characterized in that, include: The filter input construction unit is used to acquire multi-source navigation data collected by the sensor group in real time, and construct short-term filter input, medium-term filter input and long-term filter input based on the multi-source navigation data. The short-term filter input is the instantaneous heading difference of the first N samples, the medium-term filter input is the instantaneous heading difference of the current sample, and the long-term filter input is the historical error data set. The comprehensive error estimation value generation unit is used to call the filter with a three-layer filtering structure to process the short-term filter input, the medium-term filter input, and the long-term filter input, and to weight and fuse the outputs of the three-layer filter through adaptive weights to generate a comprehensive error estimation value. The system error estimation unit is used to weight the comprehensive error estimate based on the data age by applying a time weighting function and based on the system usage time by applying a time decay factor to generate the system error estimate. An automatic correction unit is used to apply the system error estimate to the satellite compass heading data in a smooth transition manner to automatically correct the installation error of the satellite compass.
8. A layered calibration device for a satellite compass, characterized in that, It includes a memory and a processor, wherein the memory stores a computer program that can be executed by the processor to implement a layered correction method for a satellite compass as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The device contains a computer program that can be executed by a processor of the device on which the computer-readable storage medium is located, to implement a layered correction method for a satellite compass as described in any one of claims 1 to 6.
Citation Information
Patent Citations
METHOD FOR COMPARING TWO INERTIAL POWER CELLS BRIDGED TOGETHER ON THE SAME CARRIER
FR3000219A1
Post-mission high accuracy position and orientation system
US20080284643A1