Layered correction method, device and equipment for satellite compass and storage medium

Through the layered filter structure and adaptive weight weighting processing, combined with the time weight function and attenuation factor, the installation error of satellite compass is automatically corrected, which solves the instability problem of satellite compass heading correction and improves the accuracy and safety of the navigation system.

CN120427033AActive Publication Date: 2025-08-05XIAMEN XINNUO TECH

Patent Information

Application Number
CN202510583635.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-07
Publication Date
2025-08-05
Estimated Expiration
2045-05-07

AI Technical Summary

Technical Problem

The existing calibration methods of satellite compass cannot continuously and reliably perform heading corrections, especially in long-term unattended and complex navigation environments, resulting in the impact of navigation accuracy and safety.

Method used

A layered filter structure is adopted, and short-term, medium-term and long-term filter inputs are constructed in combination with multi-source navigation data. Comprehensive error estimates are generated through adaptive weight weighting fusion, and the time weight function and time attenuation factor are used for weighting processing. Finally, the installation error of satellite compass is automatically corrected through a smooth transition method.

Benefits of technology

It realizes continuous and reliable satellite meridian heading correction under various navigation conditions, improves navigation accuracy and safety, and ensures long-term and stable correction effect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120427033A_ABST
    Figure CN120427033A_ABST
Patent Text Reader

Abstract

The invention provides a hierarchical correction method, device and equipment for a satellite compass and a storage medium, and the method comprises the steps: firstly obtaining multi-source navigation data collected by a sensor group in real time, constructing short-term filter input, medium-term filter input and long-term filter input according to the multi-source navigation data, and carrying out the calculation of the short-term filter input, the medium-term filter input and the long-term filter input; calling a 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 performing weighted fusion on the output of the three-layer filter through adaptive weight to generate a comprehensive error estimation value; thirdly, applying a time weighting function based on data age and applying a time attenuation factor based on system use time, and performing weighting processing on the comprehensive error estimation value to generate a system error estimation value; finally, the system error estimation value is applied to the satellite compass course data in a smooth transition mode so as to automatically correct the installation error of the satellite compass, and the problem that the satellite compass course correction cannot be continuously and reliably carried out is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of ship navigation, and in particular to a layered correction method, device, equipment and storage medium for a satellite compass. Background Art

[0002] In ship navigation systems, satellite compasses often experience fixed deviations in heading data due to installation errors, severely impacting navigation accuracy and safety. Existing correction methods, such as manual calibration, simple GPS heading comparison, or machine learning-based automatic correction technology, have drawbacks such as frequent manual intervention, failure to consider the impact of navigation status, reliance on large amounts of training data, and an inability to guarantee long-term stability. These methods result in suboptimal correction effects during actual navigation, failing to meet the actual needs of ship navigation safety. This is especially true in long-term unmanned operations and in various complex navigation environments, where continuous and reliable satellite compass heading correction services cannot be provided.

[0003] In view of this, this application is filed. Summary of the Invention

[0004] The present invention discloses a layered correction method, device, equipment and storage medium for a satellite compass, aiming to solve the problem that the satellite compass heading correction cannot be performed continuously and reliably.

[0005] A first embodiment of the present invention provides a layered correction method for a satellite compass, comprising:

[0006] Acquire multi-source navigation data collected by the sensor group in real time, and construct a short-term filter input, a medium-term filter input, and a long-term filter input based on the multi-source navigation data, wherein the short-term filter input is the instantaneous heading difference of the previous N samples, the medium-term filter input is the instantaneous heading difference of the current sample, and the long-term filter input is a historical error data set;

[0007] Invoking a 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 performing weighted fusion on the outputs of the three-layer filters using adaptive weights to generate a comprehensive error estimate;

[0008] Applying a time weighting function based on the age of the data and a time decay factor based on the system usage time to weight the composite error estimate to generate a system error estimate;

[0009] The system error estimate is applied to the satellite compass heading data in a smooth transition manner to automatically correct the installation error of the satellite compass.

[0010] Preferably, the process of constructing the historical error data set is:

[0011] All headings are divided into 36 intervals, each 10° wide. Error data are recorded and processed separately in each interval to capture the specific error patterns existing in 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] Use the electronic compass as an auxiliary reference source and compare the difference 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 error of the electronic compass reference, MAG is the magnetic compass reading, VAR is the magnetic declination at the current position, and HDG is the satellite compass heading;

[0015] In the port area with known accurate coordinates, perform fixed-point calibration: d_fixed = KNOWN_HDG - HDG, where d_fixed is the error value obtained from the 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 the error estimates of different reference sources to generate the historical error data set d_ref:

[0017] d_ref={D(θ),d_compass,d_fixed}.

[0018] Preferably, the short-term filtering adopts 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 short-term filtering window size, COG_i and HDG_i are the GPS track heading and compass heading of the i-th sample respectively;

[0019] The mid-term filtering adopts exponentially weighted moving average, and the calculation formula is d_mid_k=α·(COG_k-HDG_k)+(1-α)·d_mid_{k-1}, where α is the smoothing factor, d_mid_k is the mid-term filtering error estimate at time k, and d_mid_{k-1} is the mid-term filtering estimate 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, 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;

[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 |θ. |≤θ . _max;

[0035] The sea state index S_m is calculated based on the roll angle roll and the pitch angle pitch:

[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 the 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 comprehensive error estimate:

[0043] d_final=W_short·d_short+W_mid·d_mid+W_long·d_long.

[0044] Among them, d_final is the comprehensive error estimate.

[0045] Preferably, the expression of the time weight 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, and W(t) is the weight value corresponding to the data age t. W(t) is applied to the historical error data of the long-term filter layer so that error samples with older data ages receive higher weights when calculating the long-term correction value.

[0048] The expression of the time decay factor is:

[0049] η(T)=η_min+(1-η_min)·e (-T / τ_sys) ;

[0050] Wherein, η_min is the minimum attenuation factor, T is the accumulated usage time of the system, and τ_sys is the system time constant. The comprehensive error estimate is updated in combination with the time attenuation factor. The update expression is:

[0051] d_system=(1-η(T))·d_system+η(T)·d_final

[0052] Among them, d_system is the system error estimate, and d_final is the comprehensive error estimate.

[0053] Preferably, the applying 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 is specifically:

[0054] A 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] Among them, δ_applied_old is the correction value currently applied, d_system is the system error estimate, sign() is the sign function, and δ_step is the single correction step size;

[0056] An installation error of the satellite compass is automatically corrected based on the correction value.

[0057] A second embodiment of the present invention provides a satellite compass layer correction device, comprising:

[0058] a filter input construction unit, configured to acquire multi-source navigation data collected by the sensor group in real time, and construct a short-term filter input, a medium-term filter input, and a long-term filter input based on the multi-source navigation data, wherein the short-term filter input is the instantaneous heading difference of the previous 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;

[0059] a comprehensive error estimate generating unit, configured to call a filter having a three-layer filtering structure to process the short-term filter input, the medium-term filter input, and the long-term filter input, and perform weighted fusion on the outputs of the three-layer filter using adaptive weights to generate a comprehensive error estimate;

[0060] a system error estimate generating unit for applying a time weighting function based on the data age and a time decay factor based on the system usage time to weight the comprehensive error estimate and generate a 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] A third embodiment of the present invention provides a layered correction device for a satellite compass, comprising a memory and a processor. The memory stores a computer program, and the computer program can be executed by the processor to implement a layered correction method for a satellite compass as described in any one of the above.

[0063] A fourth embodiment of the present invention provides a computer-readable storage medium, characterized in that it stores a computer program, and the computer program can be executed by a processor of the device where the computer-readable storage medium is located to implement a layered correction method for a satellite compass as described in any one of the above items.

[0064] A layered correction method, apparatus, device, and storage medium for a satellite compass provided by the present invention first obtains multi-source navigation data collected by a sensor group in real time, constructs a short-term filter input, a medium-term filter input, and a long-term filter input based on the multi-source navigation data, then calls a 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 weightedly fuses the outputs of the three-layer filter using adaptive weights to generate a comprehensive error estimate. Next, a time weighting function based on the data age and a time attenuation factor based on the system usage time are applied to weight the comprehensive error estimate to generate a system error estimate. Finally, the system error estimate is applied to satellite compass heading data through a smooth transition method to automatically correct the satellite compass installation error, thereby solving the problem of being unable to perform satellite compass heading correction continuously and reliably. BRIEF DESCRIPTION OF THE DRAWINGS

[0065] Figure 1 1 is a flow chart of a layered correction method for a satellite compass provided by the first embodiment of the present invention;

[0066] Figure 2 It is a module schematic diagram of a layered correction device for a satellite compass provided by the second embodiment of the present invention. DETAILED DESCRIPTION

[0067] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0068] In order to better understand the technical solution of the present invention, the embodiments of the present invention are described in detail below with reference to the accompanying drawings.

[0069] It should be understood that the embodiments described are only a portion of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without creative work are within the scope of protection of the present invention.

[0070] The terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. The singular forms "a", "an", "the" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise.

[0071] It should be understood that the term "and / or" as used herein is merely a description of the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.

[0072] The word "if," as used herein, may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to the determination" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)," depending on the context.

[0073] The terms "first" and "second" in the embodiments are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It is understood that the terms "first" and "second" may interchangeably represent a specific order or precedence where permitted. It should be understood that the terms "first" and "second" may interchangeably represent objects where appropriate, such that the embodiments described herein can be implemented in an order other than that illustrated or described herein.

[0074] The specific embodiments of the present invention are described in detail below with reference to the accompanying drawings.

[0075] The present invention discloses a layered correction method, device, equipment and storage medium for a satellite compass, aiming to solve the problem that the satellite compass heading correction cannot be performed continuously and reliably.

[0076] See also Figure 1A first embodiment of the present invention provides a layered correction method for a satellite compass, which can be performed by a layered correction device for a satellite compass (hereinafter referred to as a correction device). Specifically, the method is performed by one or more processors within the correction device to implement at least the following steps:

[0077] S101, acquiring multi-source navigation data collected by a sensor group in real time, and constructing a short-term filter input, a medium-term filter input, and a long-term filter input based on the multi-source navigation data, wherein the short-term filter input is the instantaneous heading difference of the previous N samples, the medium-term filter input is the instantaneous heading difference of the current sample, and the long-term filter input is a historical error data set;

[0078] In this embodiment, the correction device can be a terminal with data processing capabilities such as a workstation, desktop computer, laptop computer, server, etc., which can establish communication with the sensor group on the ship through wired or wireless means. The corresponding operating system and application software can be installed in the auxiliary device, and the functions required by this embodiment can be realized through the combination of the operating system and application software.

[0079] Specifically, in this embodiment, the correction device first collects multi-source navigation data in real time through a sensor group. The sensor group 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), ground speed (SOG), etc.

[0080] After receiving these data, the correction device performs preliminary processing on the navigation data, eliminates outliers and unifies the timestamps, and then calculates the heading error based on the temporal relationship and spatial difference between various types of data. Specifically, for the current time point, the correction 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 the cache data set. On this basis, the system sequentially constructs input data for three-layer filtering processing, wherein the short-term filter input is composed of the instantaneous heading difference of the most recent N consecutive time points, which is used to reflect the heading fluctuation within a short time scale, the medium-term filter input is the instantaneous heading difference at the current time point, which reflects the current heading error situation, and the long-term filter input selects the historical error data set stored in the system error database, including heading error samples accumulated under different working conditions and time periods, which are used to characterize the error trend of long-term stability.

[0081] Specifically, the historical error data set is constructed using a multi-dimensional reference source fusion strategy. By capturing the error characteristics under different navigation conditions and integrating various reference source data, a complete historical error database is formed. Furthermore, the calibration equipment first establishes a heading partition database, dividing the entire heading range (0°-360°) into 36 equal intervals, each 10° wide. This effectively captures the variations in satellite compass error characteristics under different headings. In practical applications, while a ship is sailing, 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 to the corresponding heading interval D(θ). As navigation time increases, a large number of difference value samples accumulate in each heading interval, forming a diverse set of difference values D(θ) = {d_1(θ), d_2(θ), ..., d_n(θ)}. These difference sets together constitute the GPS track-based error reference library. Furthermore, the system integrates electronic compass data as an auxiliary reference source, obtaining additional error estimates using the formula d_compass = MAG + VAR - HDG, where MAG represents the magnetic compass reading, VAR represents the current magnetic declination, and HDG represents the satellite compass heading. In practical applications, when a ship reaches a port or other area with known accurate coordinates, a fixed-point calibration mechanism is triggered. High-precision fixed-point calibration values are obtained using the formula d_fixed = KNOWN_HDG - HDG, where KNOWN_HDG represents the known accurate heading reference value in the port area. The calibration device intelligently fuses the error estimates from these three sources to form a comprehensive reference set d_ref = {D(θ), d_compass, d_fixed}, which constitutes the system's historical error data set. During the data fusion process, the calibration device assigns different credibility weights to each reference source based on its reliability. The port fixed-point calibration value typically receives the highest weight, while the GPS track method receives a medium weight under appropriate ship speed and stable heading conditions. The electronic compass reference value serves as an auxiliary calibration source.

[0082] S102, calling a 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 performing weighted fusion on the outputs of the three-layer filter using adaptive weights to generate a comprehensive error estimate;

[0083] Specifically, in this embodiment, the short-term filter layer primarily processes high-frequency navigation noise. Using a moving average filter, it calculates the average difference of the last N valid observation samples in real time. This difference is calculated using the formula d_short = (1 / N) · Σ(COG_i - HDG_i), where d_short represents the error estimate output by the short-term filter layer, and N is the filter window size, typically ranging from 10 to 30 samples in practical applications to balance response speed and noise immunity. 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 filter window size based on the current navigation state, appropriately increasing the window size to improve smoothing when the heading is stable and reducing it to increase response speed during steering operations.

[0084] The medium-term filtering layer adopts the exponentially weighted moving average method, which can more effectively track the changes in the medium-term error trend. Its calculation formula is d_mid_k = α·(COG_k-HDG_k)+(1-α)·d_mid_{k-1}, where d_mid_k represents the medium-term filtering error estimate at time k, and α is the smoothing factor. In practical applications, the value range is usually 0.05 to 0.2. 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 medium-term filtering estimate at the previous time k-1. The recursive calculation method enables the medium-term filtering layer to maintain the continuity of historical information while making an appropriate response to new trends.

[0085] The long-term filter 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 filter layer, D is the historical error data set 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 value comprehensively considers factors such as data age, navigation status at the time of recording, and reliability of the data source. The median() function implements the calculation of the weighted median. The weighted median calculation steps are as follows:

[0086] The correction device sorts all elements in the error data set D according to their numerical values from small to large, D_sorted = {d_(1), d_(2), ..., d_(n)}, to obtain an ordered sequence D_sorted, and then rearranges the weight values in the weight vector W according to the same sorting rule to obtain D_sorted = {d_(1), d_(2), ..., d_(n)}.

[0087] Next, the correction device calculates the cumulative weight C_i of each sorting position i in turn, which is equal to the sum of the weights from the first item to the i-th item, that is, C_i = Σ(j = 1toi)w_(j), and monitors the index k corresponding to when C_i first reaches or exceeds half of the total weight during the accumulation process, that is, C_k-1 <0.5·Σw_j≤C_k; at this time, the error value at this 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 tracking 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 recording d_i, (3) reference source weight: w_source_i∈[0.7,1.0], based on the reliability of the data source, the final weight calculation: 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 weightedly fused using adaptive weights to generate a comprehensive error estimate, specifically:

[0091] The calibration device calculates a comprehensive status evaluation index based on the ship's current speed, heading stability, and sea conditions, and dynamically adjusts the weight ratio of the three-level filtering results based on the comprehensive status evaluation index. First, a comprehensive status evaluation index S is calculated, which comprehensively considers speed-related indicators, heading stability indicators, and sea conditions indicators. The formula is as follows:

[0092] S=w_v·S_v+w_c·S_c+w_m·S_m

[0093] Among them, S is the comprehensive status evaluation index, S_v is the speed-related index, S_c is the heading stability index, S_m is the sea condition index, w_v, w_c, and w_m are the weight coefficients corresponding to each index, and the typical values are 0.5, 0.3, and 0.2, respectively.

[0094] The speed-related index S_v is calculated based on the ship's current speed over ground (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 angle and pitch angle. When the absolute value of the roll angle exceeds the maximum allowable roll angle roll_max (typically 5°) or the absolute value of the pitch angle exceeds the maximum allowable pitch angle pitch_max (typically 5°), S_m is 0; otherwise, S_m decreases linearly with the larger value of the roll angle or pitch angle. 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] According to 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 output, which correspond to the weights of the short-term filter layer, the medium-term filter layer and the long-term filter layer respectively. The weight adjustment is achieved through the 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] When the state indicator S is high, the weight of the short-term filter layer increases, ranging from [0.1, 0.7]; the weight of the medium-term filter layer changes appropriately, ranging from [0.2, 0.5]; and the weight of the long-term filter layer decreases, ranging from [0.2, 0.7]. These three weight designs ensure that W_short + W_mid + W_long = 1 in any state, ensuring weight normalization.

[0111] Finally, the correction device uses the dynamically adjusted weights to perform weighted fusion on the outputs of the three-layer filter 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, mid-term, and long-term filter layers, respectively.

[0114] S103, applying a time weighting function based on the data age and a time decay factor based on the system usage time to weight the comprehensive error estimate to generate a system error estimate;

[0115] The calibration equipment maintains an error database that is continuously expanded over time. To improve the credibility of long-term accumulated data, the calibration equipment adopts a time weighting strategy. This strategy is a time weighting function that increases with the age of the data, so that data that has been verified over a long period of time has a higher weight in the error estimation process. The expression of the time weighting function W(t) is: W(t) = W_base + (1-W_base)·(1-e (-t / τ) ), where W(t) represents the weight value corresponding to time t; W_base is the base weight, typically ranging from 0.1 to 0.3, representing the minimum credibility of newly collected data; t represents the age of the data, i.e., the time span from the data's recording to the present; and τ is a time constant that controls the rate at which the weight increases. The time-based weight function ensures that newly collected data initially has a low weight. Over time, as the data undergoes more verification, its weight gradually increases and approaches 1, reflecting the objective law that data credibility increases with time.

[0116] At the same time, the calibration device introduces a time decay factor to reduce the impact of new data on the established stable calibration and ensure the stability of the system calibration. The expression of 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, with a typical value of 0.1; T is the cumulative system usage time; and τ_sys is the system time constant, with a typical value ranging from 500 to 1000 hours, representing the time required for the system to reach a stable state. During the initial system usage phase, the time decay factor is large, and new data has a greater impact on the system error estimate, facilitating rapid convergence to the true error state. As the system ages, the time decay factor gradually decreases and approaches η_min. At this point, the system becomes less sensitive to new data and prioritizes maintaining the established stable calibration to avoid calibration fluctuations caused by sporadic factors.

[0117] Based on the two time-dependent weighting functions described above, the system weights the currently calculated comprehensive error estimate d_final to update 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 averaged according to the time decay factor η(T) to form the updated system error estimate. This effectively balances the system's reliance on historical data and its responsiveness to new information in navigation scenarios characterized by long-term stable operation and fluctuating environmental conditions.

[0118] S104: Applying 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.

[0119] It should be noted that the correction device does not directly apply the calculated system error estimate d_system as the correction value to the satellite compass heading data, but rather uses a gradual adjustment process to make the currently applied correction value δ_applied_old gradually approach the system error estimate d_system.

[0120] The smooth transition mechanism achieves smooth changes in the correction value by controlling the step size of each correction. The new applied correction value δ_applied_new is calculated based on the difference between the current applied correction value δ_applied_old and the system error estimate d_system. The calculation formula is:

[0121] δ_applied_new=δ_applied_old+sign(d_system-δ_applied_old)

[0122] min(|d_system - δ_applied_old|, δ_step), where sign() is the sign function used to determine the direction of the correction value adjustment. When d_system is greater than δ_applied_old, the sign function returns 1, indicating that the correction value needs to be increased; when d_system is less than δ_applied_old, the sign function returns -1, indicating that the correction value needs to be decreased; when the two are equal, the sign function returns 0, indicating that no adjustment is required. The min() function compares the absolute difference between the system error estimate and the currently applied correction value, |d_system - δ_applied_old|, with the single correction step size δ_step, and selects the smaller one as the actual adjustment amount to ensure that the amplitude 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 correction smoothness. Its typical value is set between 0.05° and 0.1°. A smaller step size results in a smoother correction process, but it takes longer for the correction to converge to the system error estimate. A larger step size accelerates correction convergence but may result in small jumps in the heading data during the correction process. The system can flexibly set this parameter based on the specific application scenario and the requirements for heading data smoothness.

[0124] This smooth transition mechanism allows the system to continuously and smoothly apply corrections during satellite compass operation, gradually eliminating satellite compass installation errors. Even if the system error estimate changes significantly due to changes in the vessel's navigation environment or other factors, the corrections applied to the satellite compass heading data will transition smoothly, preventing sudden changes in the heading data.

[0125] In one possible embodiment of the present invention, a multiple redundancy check mechanism is set to ensure the reliability of the correction value. First, the consistency check mechanism evaluates the reliability of the correction process by analyzing the consistency between the correction values provided by different reference sources. The calculation formula of 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, and the calculation formula is σ(d_sources) = √[(Σ(d_i-μ)μ) / n]; μ(d_sources) represents the mean of these correction values, and the calculation formula is μ(d_sources) = (Σd_i) / n. The value range of the consistency index C is 0 to 1. When the correction values provided by different reference sources are completely consistent, the standard deviation is 0. At this time, the consistency index C = 1, indicating that the correction reliability is the highest; conversely, when the correction values provided by different reference sources are greatly different, the consistency index C value is small, indicating that the correction reliability is low. The system can adjust the correction strategy according to the value of the consistency indicator C. When the C value 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 uses a trend analysis mechanism to detect anomalies during the calibration process. The system continuously monitors the changing trends 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 system fluctuations or external interference. At this point, the system triggers an anomaly detection process to further verify the reliability of the calibration values. This allows for timely detection of sudden changes in the calibration process, preventing incorrect calibration values from being applied to the satellite compass heading data.

[0127] In addition, the system maintains three independent sets of historical data records for cross-validating the accuracy of the correction values. The first set is based on time-segmented data records, where the system records data every six hours as a time window, which can be used to analyze how the correction values change over time. The second set is based on heading-segmented data records, where the system records data for each 10° heading interval separately, which can be used to analyze how the correction values change with heading. The third set is based on navigation state classification data records, where the system distinguishes between correction data under different navigation states, such as high speed, low speed, and turning, which can be used 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, and the system can further verify the reliability of the correction values by comparing the consistency of the current correction values with the corresponding historical records.

[0128] See also Figure 2 A second embodiment of the present invention provides a satellite compass layer correction device, comprising:

[0129] A filter input construction unit 201 is used to acquire multi-source navigation data collected by the sensor group in real time, and construct a short-term filter input, a medium-term filter input, and a long-term filter input based on the multi-source navigation data, wherein the short-term filter input is the instantaneous heading difference of the previous N samples, the medium-term filter input is the instantaneous heading difference of the current sample, and the long-term filter input is a historical error data set;

[0130] a comprehensive error estimate generating unit 202, configured to call a filter having a three-layer filtering structure to process the short-term filter input, the medium-term filter input, and the long-term filter input, and perform weighted fusion of the outputs of the three-layer filters using adaptive weights to generate a comprehensive error estimate;

[0131] a system error estimate generating unit 203 for applying a time weighting function based on data age and a time decay factor based on system usage time to weight the comprehensive error estimate to generate a system error estimate;

[0132] The automatic correction unit 204 is configured 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] A third embodiment of the present invention provides a layered correction device for a satellite compass, comprising a memory and a processor. The memory stores a computer program, and the computer program can be executed by the processor to implement a layered correction method for a satellite compass as described in any one of the above.

[0134] A fourth embodiment of the present invention provides a computer-readable storage medium, characterized in that it stores a computer program, and the computer program can be executed by a processor of the device where the computer-readable storage medium is located to implement a layered correction method for a satellite compass as described in any one of the above items.

[0135] A layered correction method, apparatus, device, and storage medium for a satellite compass provided by the present invention first obtains multi-source navigation data collected by a sensor group in real time, constructs a short-term filter input, a medium-term filter input, and a long-term filter input based on the multi-source navigation data, then calls a 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 weightedly fuses the outputs of the three-layer filter using adaptive weights to generate a comprehensive error estimate. Next, a time weighting function based on the data age and a time attenuation factor based on the system usage time are applied to weight the comprehensive error estimate to generate a system error estimate. Finally, the system error estimate is applied to satellite compass heading data through a smooth transition method to automatically correct the satellite compass installation error, thereby solving the problem of being unable to perform satellite compass heading correction continuously and reliably.

[0136] For example, the computer programs described in the third and fourth embodiments of the present invention may be divided into one or more modules, which are stored in the memory and executed by the processor to implement the present invention. The one or more modules may be a series of computer program instruction segments capable of performing specific functions, and these instruction segments are used to describe the execution process of the computer program in the device for implementing a self-modeling layered correction for a satellite compass. For example, the device described in the second embodiment of the present invention.

[0137] The processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor. The processor serves as the control center of the satellite compass layered correction method, and utilizes various interfaces and circuits to connect the various components of the satellite compass layered correction method.

[0138] The memory can be used to store the computer programs and / or modules. The processor implements various functions of a satellite compass layer correction method by running or executing the computer programs and / or modules stored in the memory and calling data stored in the memory. The memory can mainly include a program storage area and a data storage area. The program storage area can store an operating system and at least one application required for a function (such as a sound playback function, a text conversion function, etc.); the data storage area can store data generated based on the use of the mobile phone (such as audio data, text message data, etc.). In addition, the memory can include high-speed random access memory and non-volatile memory, such as a hard disk, internal memory, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, at least one disk storage device, a flash memory device, or other volatile solid-state storage device.

[0139] Wherein, if the module is implemented in the form of 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, the present invention implements all or part of the process in the above-mentioned embodiment method, and can also be completed by a computer program to instruct the relevant hardware. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by the processor, it can implement the steps of the above-mentioned various method embodiments. Wherein, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased 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 electric carrier signals and telecommunication signals.

[0140] It should be noted that the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed across multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment. In addition, in the drawings of the device embodiments provided by the present invention, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines. A person of ordinary skill in the art can understand and implement the present invention without inventive 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 changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present invention should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.

Claims

1. A layered correction method for a satellite compass, characterized in that: include: Acquire multi-source navigation data collected by the sensor group in real time, and construct a short-term filter input, a medium-term filter input, and a long-term filter input based on the multi-source navigation data, wherein the short-term filter input is the instantaneous heading difference of the previous N samples, the medium-term filter input is the instantaneous heading difference of the current sample, and the long-term filter input is a historical error data set; Invoking a 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 performing weighted fusion on the outputs of the three-layer filters using adaptive weights to generate a comprehensive error estimate; Applying a time weighting function based on the age of the data and a time decay factor based on the system usage time to weight the composite error estimate to generate a system error estimate; The system error estimate is applied to the satellite compass heading data in a smooth transition manner to automatically correct the installation error of the satellite compass.

2. The layered correction method for a satellite compass according to claim 1, wherein: The construction process of the historical error data set is: All headings are divided into 36 intervals, each 10° wide. Error data are recorded and processed separately in each interval to capture the specific error patterns existing in 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; Use the electronic compass as an auxiliary reference source and compare the difference between the electronic compass and the satellite compass to obtain additional reference information: d_compass = MAG + VAR - HDG; Where: d_compass is the estimated error of the electronic compass reference, MAG is the magnetic compass reading, VAR is the magnetic declination at the current position, and HDG is the satellite compass heading; In the port area with known accurate coordinates, perform fixed-point calibration: d_fixed = KNOWN_HDG - HDG, where d_fixed is the error value obtained from the 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 the error estimates of different reference sources to generate the historical error data set d_ref: d_ref={D(θ),d_compass,d_fixed}.

3. The layered correction method for a satellite compass according to claim 1, wherein: The short-term filter adopts 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 filter layer, N is the short-term filter window size, 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 = α·(COG_k - HDG_k)+(1 - α)·d_mid_{k - 1}, where α is the smoothing factor, d_mid_k is the medium-term filtering error estimation value at time k, and d_mid_{k - 1} is the medium-term filtering estimation value at time k - 1; The long-term filtering uses 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.

4. The layered correction method for a satellite compass according to claim 1, wherein: The outputs of the three-layer filter are weighted and fused through adaptive weights to generate a comprehensive error estimation value, specifically: Based on the current ship speed, course stability, and sea state, calculate a 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·S_v + w_c·S_c + w_m·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 based on the current ship speed: S_v = 0 when SOG < v_min; S_v = (SOG - v_min) / (v_opt - v_min) when v_min ≤ SOG < v_opt; S_v = 1 when v_opt ≤ SOG < v_max; S_v = (v_ultra - SOG) / (v_ultra - v_max) when v_max ≤ SOG < v_ultra; S_v = 0 when SOG ≥ v_ultra; The heading stability index S_c is calculated based on the heading change rate θ · The calculation shows that: S_c=0, when |θ · |>θ · _max; S_c=1-|θ · | / θ · _max,when|θ · |≤θ · _max time; The sea state index S_m is calculated based on the roll angle roll and the pitch angle pitch: S_m = 0 when |roll| > roll_max or |pitch| > pitch_max; S_m = 1 - max(|roll|,|pitch|) / max(roll_max,pitch_max) when |roll| ≤ roll_max and |pitch| ≤ pitch_max; The weight adjustment is achieved through a weight mapping function: W_short = f_short(S) = 0.1 + 0.6·S W_mid = f_mid(S) = 0.2 + 0.3·S W_long = f_long(S) = 0.7 - 0.5·S Perform weighted fusion on the outputs of the three-layer filter to calculate the comprehensive error estimation value: d_final = W_short·d_short + W_mid·d_mid + W_long·d_long; Among them, d_final is the comprehensive error estimation value.

5. The layered correction method for a satellite compass according to claim 1, wherein: The expression of the time weight function is: W(t)=W_base+(1-W_base)·(1-e (-t / τ) ) Where W_base is the base weight, t is the data age, τ is the time constant, and W(t) is the weight value corresponding to the data age t. W(t) is applied to the historical error data of the long-term filter layer so that error samples with older data ages receive higher weights when calculating the long-term correction value. The expression of the time decay factor is: η(T)=η_min+(1-η_min)·e (-T / τ_sys) Wherein, η_min is the minimum attenuation factor, T is the accumulated usage time of the system, and τ_sys is the system time constant. The comprehensive error estimate is updated in combination with the time attenuation factor. The update expression is: d_system=(1-η(T))·d_system+η(T)·d_final Among them, d_system is the system error estimate, and d_final is the comprehensive error estimate.

6. The layered correction method for a satellite compass according to claim 1, characterized in that: The method of applying 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 is specifically as follows: A 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) Among them, δ_applied_old is the correction value currently applied, d_system is the system error estimate, sign() is the sign function, and δ_step is the single correction step size; An installation error of the satellite compass is automatically corrected based on the correction value.

7. A satellite compass layer correction device, characterized in that: include: a filter input construction unit, configured to acquire multi-source navigation data collected by the sensor group in real time, and construct a short-term filter input, a medium-term filter input, and a long-term filter input based on the multi-source navigation data, wherein the short-term filter input is the instantaneous heading difference of the previous 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; a comprehensive error estimate generating unit, configured to call a filter having a three-layer filtering structure to process the short-term filter input, the medium-term filter input, and the long-term filter input, and perform weighted fusion on the outputs of the three-layer filters using adaptive weights to generate a comprehensive error estimate; a system error estimate generating unit for applying a time weighting function based on the data age and a time decay factor based on the system usage time to weight the comprehensive error estimate to generate a 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 satellite compass layer correction device, characterized in that: The invention comprises a memory and a processor, wherein the memory stores a computer program, and the computer program can be executed by the processor to implement the layered correction method for a satellite compass according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that A computer program is stored, and the computer program can be executed by a processor of the device where the computer-readable storage medium is located to implement the layered correction method for a satellite compass as claimed in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Multi-source information unequal interval federated filtering method based on filter variance matrix correction

    CN103697894A

  • Full-domain magnetic compass course error correcting method and navigation error correcting method for autonomous underwater vehicle (AUV)

    CN107747951A

  • Height filtering method based on GPS and barometer fusion data

    CN108416387A

  • Passive receiving link for active and passive joint detection

    CN109520523A

  • Interaction method and device applied to vehicle

    CN109817214A

Cited By

  • Satellite compass installation error adaptive correction method, device and equipment and storage medium

    CN120427032A

  • Centrifugal pump flow estimation method and system based on curve fitting

    CN122332709A