Positioning method combining L-M algorithm and Kalman filtering and related equipment

By combining the LM algorithm and adaptive extended Kalman filter, a nonlinear mathematical model of the signal arrival time difference is established and iteratively optimized. The damping parameters and observation noise covariance matrix are dynamically adjusted, which solves the problem of insufficient positioning accuracy and stability in complex environments and achieves high-precision and high-robust positioning.

CN121978623APending Publication Date: 2026-05-05WUXI ZHENYUAN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
WUXI ZHENYUAN TECH CO LTD
Filing Date
2026-01-27
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

In complex environments with multipath effects or non-line-of-sight propagation, TDOA-based positioning methods suffer from insufficient positioning accuracy and stability.

Method used

By combining the LM algorithm and adaptive extended Kalman filtering, a nonlinear mathematical model is established based on the signal arrival time difference. The objective function is iteratively optimized using the LM algorithm, and the initial positioning results are dynamically optimized by combining adaptive extended Kalman filtering, dynamically adjusting the damping parameters and the observation noise covariance matrix.

Benefits of technology

It achieves high-precision and high-stability positioning in complex environments, improving positioning accuracy and robustness, and solving the positioning error problem caused by multipath effect and non-line-of-sight propagation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121978623A_ABST
    Figure CN121978623A_ABST
Patent Text Reader

Abstract

The invention discloses a positioning method combining an L-M algorithm and Kalman filtering and related equipment, and relates to the technical field of wireless communication. The method is applied to a data processing module of a positioning system, and the system comprises a signal transmitting module and at least three base stations. A positioning signal is transmitted through a signal transmitting module, a base station receives the signal and records the arrival time, the time difference of arrival (TDOA) of the signal is calculated, and a nonlinear coordinate calculation formula of the position of an article is constructed in combination with the position of the base station. An objective function is iteratively optimized by using an L-M algorithm, and an optimal solution is gradually approached by dynamically adjusting a damping parameter, so that measurement errors caused by a multipath effect and non-line-of-sight propagation are overcome. And then, performing dynamic prediction and updating by adopting an adaptive extended Kalman filter (AEKF) algorithm, and optimizing an initial positioning result to further improve positioning precision and stability. According to the invention, the problem of insufficient positioning precision and stability in a complex environment is solved, and the precision and robustness of article positioning are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of wireless communication technology, and in particular to a positioning method and related equipment that combines the LM algorithm and Kalman filtering. Background Technology

[0002] With the rapid development of the Internet of Things (IoT) and smart services (such as asset tracking and smart warehousing), the demand for accurate and reliable positioning technology is becoming increasingly urgent. In some environments, there are numerous obstacles such as walls, furniture, and people, making signal propagation susceptible to the multipath effect and non-line-of-sight (NLOS) propagation. These factors make achieving high-precision and highly stable location positioning a key challenge, placing higher demands on the robustness and adaptability of positioning algorithms.

[0003] Among related technologies, positioning methods based on Time Difference of Arrival (TDOA) have become one of the mainstream solutions due to their relatively high accuracy and the advantage of not requiring strict time synchronization. This method receives wireless signals from a mobile tag at multiple base stations at known fixed locations, calculates the time difference of arrival at different base stations, and uses the time difference information to construct a hyperbolic equation system to solve for the tag's position. When solving the nonlinear positioning equation system, the least squares method or its improved algorithms (such as weighted least squares WLS) are often used for position estimation. Furthermore, to improve the accuracy and tracking capability of dynamic positioning, the Extended Kalman Filter (EKF) is often used to fuse multi-source observation data or to smooth preliminary positioning results, utilizing a state-space model to estimate the target's position and velocity. These techniques typically achieve good positioning results in ideal or low-interference environments.

[0004] However, in complex environments with multipath effects or non-line-of-sight propagation, these effects introduce measurement errors (such as TDOA value deviation) with strong non-Gaussian and time-varying characteristics. These errors cause deviations or even divergence in positioning results calculated using the least squares method, leading to fluctuations and drifts in positioning results under complex scenarios, ultimately resulting in insufficient positioning accuracy and stability. Summary of the Invention

[0005] This application provides a positioning method that combines the LM algorithm and Kalman filtering to address the problem of insufficient positioning accuracy and stability in complex environments with multipath effects or non-line-of-sight propagation.

[0006] In a first aspect, this application provides a positioning method combining the LM algorithm and Kalman filtering, applied to the data processing module of a positioning system. The positioning system further includes a signal transmitting module and base stations. The signal transmitting module is attached to the object to be positioned. The base stations include at least three. The method includes: after the signal transmitting module transmits a positioning signal and it is received by the base stations, the data processing module obtains the arrival time of the positioning signal at each base station through the base station, and calculates the signal arrival time difference between adjacent signal receivers based on the arrival time; based on the location of the base stations and the signal arrival time difference, determines a formula for calculating the object's position coordinates, the formula including an object position variable; constructs an objective function for the LM algorithm based on the object's position coordinate calculation formula, and sets an initial iteration value for the LM algorithm; and calculates the object's position coordinates based on the initial iteration value. The Jacobian matrix of the objective function is obtained, and the Hessian matrix is ​​calculated based on this Jacobian matrix. The initial damping parameter of the LM algorithm is set according to the calculated Hessian matrix and a preset damping coefficient, which limits the magnitude of the initial damping parameter. A system of linear equations is constructed based on the Jacobian matrix, the calculated Hessian matrix, and the initial damping parameter, and the iteration step size is obtained by solving it. The iteration step size is added to the initial iteration value to obtain the updated iteration value. It is determined whether the updated iteration value satisfies a preset convergence condition, which includes any one of the following: gradient threshold condition, position change condition, and maximum number of iterations condition. When the preset convergence condition is met, the updated iteration value is determined as the initial positioning coordinates. The initial positioning coordinates are optimized using the adaptive extended Kalman filter algorithm to obtain the final positioning coordinates of the item.

[0007] By adopting the above technical solution, the system calculates the Time Difference of Arrival (TDOA) of the signal using the arrival times of the signals received by the signal transmission module and the base station, and derives the formula for calculating the coordinates of the object's location by combining the location of the base station, forming a complete mathematical model from signal propagation to the object's location. The LM (Levonburg-Marquardt) algorithm is used to iteratively optimize the nonlinear objective function, gradually approximating the optimal solution from the initial value, effectively overcoming the measurement error problems caused by multipath effects and non-line-of-sight propagation in the environment. Based on this, an adaptive extended Kalman filter algorithm is used to dynamically update the initial positioning results by combining the predicted state from the previous moment with the current observation value, further correcting the initial positioning results and improving positioning accuracy and stability. This solves the problem of insufficient positioning accuracy and stability in complex environments, thereby improving the accuracy and robustness of positioning in complex environments.

[0008] In conjunction with some embodiments of the first aspect, in some embodiments, the initial damping parameter of the LM algorithm is set according to the calculated value of the Hessian matrix and the preset damping coefficient, specifically including: extracting the maximum value of the diagonal elements in the calculated value of the Hessian matrix; determining the preset damping coefficient based on the initial residual value of the objective function; and determining the product of the maximum value of the element and the preset damping coefficient as the initial damping parameter of the LM algorithm.

[0009] By employing the above technical solution, the maximum value of the diagonal elements is extracted based on the calculated Hessian matrix, and a preset damping coefficient is set in conjunction with the initial residual value of the objective function. This allows for the dynamic adjustment of the initial damping parameters of the LM algorithm. Extracting the maximum value ensures that the damping parameters directly reflect the local characteristics of the objective function, while the residual value effectively quantifies the magnitude of the initial positioning error. Multiplying the two together determines the initial damping parameters, ensuring that the initial damping parameters can both limit convergence instability caused by excessively large step sizes and avoid excessively slow iteration speeds caused by excessively small step sizes. This achieves efficient convergence of the LM algorithm in complex nonlinear environments and improves the initial positioning accuracy.

[0010] In conjunction with some embodiments of the first aspect, in some embodiments, determining the preset damping coefficient based on the initial residual value of the objective function specifically includes: determining the difference between the signal arrival time difference and the predicted arrival time difference calculated based on the initial iteration value as the initial residual value of the objective function; when the initial residual value is greater than a preset first residual threshold, determining the preset damping coefficient as a first preset value; when the initial residual value is less than or equal to the first residual threshold and greater than a preset second residual threshold, determining the preset damping coefficient as a second preset value; when the initial residual value is less than or equal to the second residual threshold, determining the preset damping coefficient as a third preset value.

[0011] By adopting the above technical solution, a preset damping coefficient is dynamically set according to the range of the initial residual value, which can adaptively cope with different degrees of positioning error. By comparing the residual value with a preset threshold in stages, the larger the residual value, the higher the damping coefficient, thus enhancing the stability of the algorithm; the smaller the residual value, the lower the damping coefficient, thus improving the convergence speed of the algorithm. Flexibly adjusting the preset damping coefficient according to the error magnitude ensures a more reasonable step size setting in the initial iteration stage, effectively avoiding algorithm divergence or slow convergence, thereby improving the robustness of the entire positioning process.

[0012] In conjunction with some embodiments of the first aspect, in some embodiments, after adding the iteration step size to the initial iteration value to obtain the updated iteration value, the method further includes: calculating the function value of the objective function at the initial iteration value and the function value at the updated iteration value; determining the actual change of the objective function based on the difference between the function value at the initial iteration value and the function value at the updated iteration value; determining the estimated change of the objective function based on the iteration step size, the Jacobian matrix, and the function value of the objective function at the initial iteration value; calculating the ratio of the actual change to the estimated change and determining it as the damping update coefficient; and calculating the updated damping parameter based on the damping update coefficient.

[0013] By employing the above technical solution, and dynamically adjusting the damping parameter after calculating the ratio of the actual change to the estimated change in the objective function, the convergence process of the LM algorithm can be further optimized. The actual change reflects the true improvement effect of the current iteration step, while the estimated change is a prediction of the theoretical optimization trend. Determining the damping update coefficient by the ratio of the two effectively balances the magnitude of step size adjustment, making the LM algorithm more stable in the early stages of convergence and more efficient when approaching the optimal solution. By dynamically adjusting the damping parameter, the optimization capability of the algorithm's iterative process is improved, ensuring that the objective function converges quickly to the optimal value.

[0014] In conjunction with some embodiments of the first aspect, in some embodiments, optimizing the initial positioning coordinates according to the adaptive extended Kalman filter algorithm to obtain the final positioning coordinates of the item specifically includes: predicting an initial state prediction value and a state prediction covariance matrix based on the optimal position coordinates of the previous time step; determining the initial positioning coordinates as the observation value and calculating the observation noise covariance matrix based on the observation value; calculating the Kalman gain matrix based on the state prediction covariance matrix and the observation noise covariance matrix; correcting the initial state prediction value based on the Kalman gain matrix and the observation value to obtain an initial state estimate; calculating a innovation sequence and adaptively updating the observation noise covariance matrix based on the innovation sequence, where the innovation sequence is the difference between the observation value and the initial state prediction value; updating the initial state estimate based on the updated observation noise covariance matrix to obtain a final state estimate, and determining it as the final positioning coordinates of the item.

[0015] By employing the above technical solution, the adaptive extended Kalman filter algorithm predicts the initial state value using the optimal position coordinates from the previous moment and corrects the state estimate by combining the observed values, thus achieving dynamic optimization of the positioning results. The optimal position from the previous moment provides a reliable starting point for prediction, while the combination of the state prediction covariance matrix and the observation noise covariance matrix ensures a balance between the prediction and the actual observation. Finally, the state is corrected using the Kalman gain matrix, reducing the impact of multipath effects and noise interference on the positioning results, thereby improving the accuracy and stability of the final positioning coordinates of the object.

[0016] In conjunction with some embodiments of the first aspect, in some embodiments, the calculation of the innovation sequence and the adaptive updating of the observation noise covariance matrix based on the innovation sequence specifically includes: calculating the difference between the observed value and the initial value of the state prediction, and determining it as the innovation sequence; calculating the real-time estimated variance of the innovation sequence based on the sliding window estimation method; and updating the optimized observation noise covariance matrix according to the real-time estimated variance of the innovation sequence.

[0017] By employing the above technical solution, the extended Kalman filter can dynamically adapt to changes in the real-time signal environment by adaptively updating the observation noise covariance matrix based on the innovation sequence. The innovation sequence, as the difference between the observed and predicted values, directly reflects the current noise characteristics. By estimating the real-time variance through a sliding window, the time-varying characteristics of signal errors in complex environments are effectively captured. The updated observation noise covariance matrix improves the filter's adaptability to non-Gaussian noise, thereby further optimizing the state estimation accuracy and achieving a more reliable dynamic positioning effect.

[0018] In conjunction with some embodiments of the first aspect, in some embodiments, updating the initial state estimate based on the updated observation noise covariance matrix to obtain the final state estimate and determining it as the final location coordinates of the item specifically includes: updating a new Kalman gain matrix based on the optimized observation noise covariance matrix; updating the initial state estimate based on the new Kalman gain matrix to obtain the final state estimate; and determining the final state estimate as the final location coordinates of the item.

[0019] By employing the above technical solution, the Kalman gain matrix is ​​updated based on the optimized observation noise covariance matrix, and the state estimate is further corrected, thereby improving the accuracy of the final positioning result. The optimized observation noise covariance matrix more accurately represents the uncertainty of the current observation value, making the weight distribution of the Kalman gain matrix between prediction and observation more reasonable. The final state estimate fully integrates the initial prediction value and the optimized observation information, ensuring that the final positioning coordinates of the object are closer to the true value, effectively solving the problem of insufficient positioning accuracy in complex environments.

[0020] In a second aspect, embodiments of this application provide a data processing module, which includes: one or more processors and a memory; the memory is coupled to the one or more processors, and the memory is used to store computer program code, which includes computer instructions, and the one or more processors call the computer instructions to cause the data processing module to perform the method described in the first aspect and any possible implementation thereof.

[0021] Thirdly, embodiments of this application provide a computer program product containing instructions that, when the computer program product is run on a data processing module, cause the data processing module to perform the method described in the first aspect and any possible implementation thereof.

[0022] Fourthly, embodiments of this application provide a computer-readable storage medium including instructions that, when executed on a data processing module, cause the data processing module to perform the method described in the first aspect and any possible implementation thereof.

[0023] Understandably, the data processing module provided in the second aspect, the computer program product provided in the third aspect, and the computer storage medium provided in the fourth aspect are all used to execute the methods provided in the embodiments of this application. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods, and will not be repeated here.

[0024] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages:

[0025] 1. By adopting a nonlinear mathematical model that establishes the location of an object through the time difference of arrival (TDOA) and the location of the base station, and combining the LM algorithm to iteratively optimize the objective function, the positioning problem in complex environments can be transformed into a solvable mathematical model. By dynamically adjusting the damping parameters to gradually approach the optimal solution, the positioning error problem caused by multipath effect and non-line-of-sight propagation is effectively solved, thereby achieving high-precision static positioning of objects in complex environments.

[0026] 2. Because the damping parameters are dynamically updated based on the ratio of the actual change to the estimated change of the objective function, the convergence speed and convergence stability can be effectively balanced during the iteration of the LM algorithm. This avoids the divergence caused by setting the step size too large or the slow convergence caused by setting it too small, effectively solving the technical problem of iterative instability in nonlinear optimization, and thus achieving fast and stable optimization of the positioning results.

[0027] 3. Because an adaptive extended Kalman filter is used to dynamically correct the preliminary positioning results, by combining the state prediction of the previous moment with the current observation value for fusion correction, and updating the observation noise covariance matrix in real time based on the information sequence, the filter's ability to adapt to dynamic noise changes can be significantly improved. This effectively solves the problems of low positioning accuracy and easy fluctuation of results in dynamic environments, and thus achieves high robustness and high precision dynamic positioning of objects in complex environments. Attached Figure Description

[0028] Figure 1 This is a schematic diagram of a scenario for a localization method combining the LM algorithm and Kalman filtering in an embodiment of this application;

[0029] Figure 2 This is a flowchart illustrating a localization method combining the LM algorithm and Kalman filtering in an embodiment of this application.

[0030] Figure 3 This is another flowchart illustrating a localization method combining the LM algorithm and Kalman filtering in an embodiment of this application;

[0031] Figure 4 This is a schematic diagram of the physical device structure of a data processing module in an embodiment of this application. Detailed Implementation

[0032] The terminology used in the following embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. As used in the specification of this application, the singular expressions “a,” “an,” “the,” “the,” and “this” are intended to include the plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this application refers to any or all possible combinations including one or more of the listed items.

[0033] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.

[0034] To facilitate understanding, the application scenarios of the embodiments of this application are described below. Figure 1This is a schematic diagram of a scenario illustrating a positioning method combining the LM algorithm and Kalman filtering, as described in an embodiment of this application. The positioning system 100 includes a data processing module 101, a signal transmitting module 102, and a base station 103. Specifically, each base station 103 has signal receiving and transmitting functions, used to receive signals from the signal transmitting module 102 and record the signal arrival time; the signal transmitting module 102 is attached to the object to be located, serving as the target, and is used to transmit positioning signals; the data processing module 101 is responsible for receiving the signal arrival time information uploaded by the base station 103, performing preliminary positioning calculations using the LM algorithm, and then applying the AEKF algorithm for position optimization.

[0035] In related technologies, traditional positioning methods typically rely on wireless signal strength or Time Difference of Arrival (TDOA) for calculation. While these methods can achieve positioning to a certain extent, in complex environments, signal propagation is susceptible to multipath effects and non-line-of-sight propagation, leading to significant measurement errors and insufficient positioning accuracy and stability. To address this, a positioning method combining the LM algorithm and Adaptive Extended Kalman Filter (AEKF) is proposed. By combining mathematical modeling and optimization algorithms, the accuracy and robustness of positioning are significantly improved.

[0036] The positioning method described in this embodiment involves the signal transmitting module 102 transmitting a positioning signal, the base station 103 receiving the signal and recording its arrival time, and the data processing module 101 establishing a nonlinear mathematical model of the object's location using the base station's location and the signal arrival time difference. The LM algorithm is then used for iterative optimization to achieve preliminary positioning. Based on this, the adaptive extended Kalman filter (AEKF) further optimizes the positioning results through dynamic fusion of state prediction and observations, adjusting the observation noise covariance matrix in real time to adapt to changes in the complex environment, ultimately achieving high-precision dynamic positioning.

[0037] It is evident that the positioning method described in this application not only achieves high-precision static positioning but also significantly improves the stability and robustness of dynamic positioning in complex environments, thereby overcoming the shortcomings of traditional methods in complex environments.

[0038] To facilitate understanding, the method provided in this implementation will be described in detail below, using the above scenario as an example. Please refer to [link / reference]. Figure 2 This is a flowchart illustrating a localization method combining the LM algorithm and Kalman filtering in an embodiment of this application.

[0039] S201. After the signal transmitting module transmits the positioning signal and it is received by the base station, the data processing module obtains the arrival time of the positioning signal to each base station through the base station, and calculates the signal arrival time difference between adjacent signal receivers based on the arrival time.

[0040] Among them, the signal transmitting module refers to a device attached to the item that needs to be located, used to actively transmit positioning signals (such as radio signals, ultrasonic signals, etc.). For example, it can be a small Bluetooth signal transmitter attached to goods in a warehouse. The base station refers to a device that is fixedly set up in a known location to receive positioning signals and record the arrival time of the signals. At least three are required to achieve positioning through principles such as triangulation. For example, three Wi-Fi receiving base stations installed in different corners. The signal arrival time difference refers to the difference between the arrival times of the positioning signal to different base stations.

[0041] After the signal transmitting module transmits the positioning signal and it is successfully received by each base station, the data processing module begins the initial stage of locating the item to which the signal transmitting module is attached. Specifically, the data processing module first establishes a communication connection with each base station and obtains the arrival time of the positioning signal recorded by each base station. Since the signal travels different distances from the transmitting module to different base stations, the arrival times differ. The data processing module calculates the time difference of arrival between adjacent base stations by comparing these arrival times pairwise.

[0042] S202. Based on the location of the base station and the time difference of arrival of the signal, determine the formula for calculating the coordinates of the item's location, which includes the item's location variable.

[0043] Here, "base station location" refers to the fixed coordinate position of each base station. "Item location coordinate calculation formula" represents the mathematical formula used to calculate the location of the item to be located. "Item location variable" represents the unknown quantity used to represent the item's location in the coordinate calculation formula.

[0044] Once the data processing module acquires the signal time difference data, it begins constructing the positioning calculation equation. Specifically, the data processing module establishes the positioning equation based on the known base station location coordinates and the calculated signal time difference. Assume the item's location coordinates are... The location coordinates of base station i are (x i ,y i The location coordinates of base station j are (x...). j ,y j If the signal propagation speed is c, then the time difference between the signal arriving at the i-th and j-th base stations is . The following formula can be established for calculating the position coordinates of an item:

[0045] .

[0046] S203. Construct the objective function of the LM algorithm based on the calculation formula of the item's position coordinates, and set the initial iteration value of the LM algorithm;

[0047] Among them, the LM algorithm is a nonlinear least squares optimization algorithm that combines the advantages of gradient descent and Gauss-Newton method. It is often used to solve the optimal solution of nonlinear equation systems. The objective function is a function constructed based on the calculation formula of the item's position coordinates. It is used to measure the degree of deviation between the calculation result and the actual situation. In the LM algorithm, it usually exists in the form of the sum of squared residuals. The goal is to minimize the value of this function. The initial iteration value is the initial guess value set for the item's position variable when the LM algorithm starts iterative calculation. This value can be set based on experience or obtained through simple estimation. For example, an initial coordinate (x0, y0) can be set based on the approximate activity range of the item.

[0048] After establishing the formula for calculating the item's position coordinates, the data processing module begins initial positioning calculations. Specifically, the data processing module transforms the formula for calculating the item's position coordinates into a least-squares objective function F(X):

[0049]

[0050] Where X represents the coordinates of the object's location to be solved. The objective function can be expressed as the sum of squares of the differences between the actual measured TDOA values ​​and the theoretically calculated TDOA values ​​between each base station pair. The data processing module prepares for subsequent iterative optimization calculations by setting an appropriate initial iteration value X0.

[0051] S204. Calculate the Jacobian matrix of the objective function based on the initial iteration value, and derive the calculated value of the Hessian matrix based on the Jacobian matrix.

[0052] Here, the Jacobian matrix represents the matrix composed of the partial derivatives of the objective function with respect to each variable, and is used to characterize the local linearization of the function at a certain point; the Hessian matrix represents the square matrix composed of the second-order partial derivatives of the objective function, and is used to describe the local curvature of the function; the calculated value of the Hessian matrix refers to the approximate Hessian matrix derived from the Jacobian matrix.

[0053] After setting the initial iteration values, the data processing module begins calculating the key characteristic matrices of the objective function. Specifically, the data processing module first calculates the Jacobian matrix J of the objective function F(X) at the initial iteration value X0. The elements of this matrix are the partial derivatives of the objective function with respect to its components at each position. Then, based on this Jacobian matrix, the data processing module calculates the approximate Hessian matrix H, which is calculated as follows: Where the subscript k represents the iteration step, J k T J is the Jacobian matrix k The transpose of .

[0054] S205. Based on the calculated value of the Hessian matrix and the preset damping coefficient, set the initial damping parameter of the LM algorithm. The preset damping coefficient is used to limit the magnitude of the initial damping parameter.

[0055] Among them, the preset damping coefficient refers to the preset coefficient used to adjust the magnitude of the initial damping parameter, which is used to balance the iteration stability and convergence speed; the initial damping parameter refers to the initial parameter used to control the iteration step size in the LM algorithm, and its magnitude affects whether the iteration is stable.

[0056] After obtaining the calculated Hessian matrix value, the data processing module begins setting the key parameters of the algorithm. Specifically, the data processing module first extracts the maximum value 'a' of the diagonal elements from the calculated Hessian matrix value H. Then, the data processing module selects an appropriate preset damping coefficient τ based on the initial residual value of the objective function. Finally, the data processing module sets the product of 'a' and 'τ' as the initial damping parameter λ0 of the LM algorithm, i.e. .

[0057] S206. Based on the Jacobian matrix, the calculated value of the Hessian matrix, and the initial damping parameter, construct a system of linear equations and solve them to obtain the iteration step size;

[0058] The linear equation system refers to a set of linear equations constructed based on the calculated values ​​of the Jacobian matrix and Hessian matrix and the initial damping parameters, with the iteration step size as the unknown. The iteration step size refers to the incremental value (such as Δx, Δy) used to update the position variables in the LM algorithm. Its magnitude is determined by the solution of the linear equation system. A positive step size indicates that the position is adjusted in the direction that decreases the objective function.

[0059] After determining the initial damping parameters, the data processing module begins calculating the iteration step size. Specifically, the data processing module uses the Jacobian matrix J, the calculated value of the Hessian matrix H, and the initial damping parameter λ0 to construct the following system of linear equations:

[0060]

[0061] Where I is the identity matrix, f k Let the objective function be the value at the initial iteration value. Ensuring the coefficient matrix is ​​positive definite guarantees the descent direction of the iteration, overcoming the limitations imposed by... The problem arises when irreversibility prevents the iteration from continuing. The data processing module solves this system of linear equations to obtain the iteration step size. This step size will be used to update the current iteration value, causing the objective function to converge toward the optimal solution.

[0062] In particular, to ensure that the algorithm converges quickly when it is close to the optimal solution, when λ is large, In this case, the algorithm is gradient descent, which ensures convergence stability and avoids [further issues]. Irreversible computation leads to failure; when λ is small, In this case, the algorithm is the Gauss-Newton algorithm.

[0063] S207. Add the iteration step size to the initial iteration value to obtain the updated iteration value;

[0064] The update iteration value refers to the new guess value of the item's position coordinates obtained by adding the iteration step size to the initial iteration value, such as (x0+Δx, y0+Δy). This value is an intermediate result in the iteration process of the LM algorithm and is used to determine whether the convergence condition is met.

[0065] S208. Determine whether the updated iteration value satisfies the preset convergence condition. The preset convergence condition includes any one of the following: gradient threshold condition, position change condition, and maximum number of iterations condition.

[0066] Among them, the preset convergence condition refers to the pre-set set of standards used to determine whether the iteration of the LM algorithm can stop. It is the basis for measuring whether the iteration result is close enough to the true position. The gradient threshold condition refers to the condition that the iteration is considered to be converged when the gradient of the objective function at the updated iteration value (reflecting the rate of change of the objective function) is less than or equal to the preset gradient threshold. The position change condition refers to the condition that the iteration is considered to be converged when the difference (position change) between the updated iteration value and the previous iteration value (i.e., the initial iteration value) is less than or equal to the preset position change threshold. The maximum number of iterations condition refers to the condition that the iteration is considered to be converged when the number of iterations of the LM algorithm reaches the preset maximum number of iterations, regardless of whether other conditions are met.

[0067] After obtaining the updated iteration value, the data processing module needs to determine whether the algorithm can terminate. Specifically, the data processing module checks whether the current updated iteration value meets the preset convergence conditions, including:

[0068] (1) Whether the norm of the gradient vector is less than a preset threshold ,Right now ;

[0069] (2) Whether the change in position is less than the preset threshold ,Right now ;

[0070] (3) Has the current iteration count reached the preset maximum iteration count? ,Right now .

[0071] The LM algorithm terminates its iteration when any of the above conditions are met.

[0072] S209. When the preset convergence condition is met, the update iteration value is determined as the initial positioning coordinates;

[0073] The initial positioning coordinates refer to the object's position coordinates obtained after the LM algorithm has converged iteratively. They are the positioning results initially calculated by the LM algorithm.

[0074] When the iterative process is determined to meet the preset convergence conditions, the data processing module determines the final initial positioning result. Specifically, the data processing module uses the updated iteration value that meets the convergence conditions as the initial positioning coordinates.

[0075] S210. The initial positioning coordinates are optimized using the adaptive extended Kalman filter algorithm to obtain the final positioning coordinates of the item.

[0076] Among them, the Adaptive Extended Kalman Filter (AEKF) algorithm is an improvement on the Extended Kalman Filter (EKF) algorithm. It can adaptively adjust the noise covariance matrix according to the information (difference between the observed value and the predicted value) in the filtering process, thereby improving the adaptability and accuracy of the filter. It is suitable for handling nonlinear systems and situations where the noise characteristics are unknown or time-varying. The final positioning coordinates refer to the object position coordinates obtained after optimization by the Adaptive Extended Kalman Filter algorithm. It is a positioning result that is closer to the true position of the object.

[0077] After obtaining the initial positioning coordinates, the data processing module begins filtering optimization. Specifically, the data processing module first inputs the initial positioning coordinates as observations into the adaptive extended Kalman filter algorithm. The algorithm first predicts the current state and the state prediction covariance matrix based on the optimal position coordinates of the previous time step. Then, it calculates the observation noise covariance matrix using the initial positioning coordinates and further calculates the Kalman gain. Next, it uses the Kalman gain and the observations to correct the predicted state, obtaining an initial state estimate. Afterward, it adaptively updates the observation noise covariance matrix using the innovation sequence and optimizes the state estimate again based on the updated matrix. The final state estimate obtained is the final positioning coordinate of the item.

[0078] By adopting the above technical solution, the system establishes a nonlinear calculation model of the object's location using the Time Difference of Arrival (TDOA) and base station location, and uses the LM algorithm for iterative optimization, gradually approximating the optimal solution from the initial value, thus solving the error problem caused by multipath effects and non-line-of-sight propagation. Then, an adaptive extended Kalman filter is used to further correct the preliminary positioning results through dynamic fusion of state prediction and observations, correcting random errors and non-Gaussian noise interference in dynamic environments, while adaptively adjusting the observation noise covariance matrix to improve accuracy. This achieves high-precision positioning in complex environments with strong robustness and stability.

[0079] This application employs and optimizes the LM algorithm, aiming to overcome the problem of low positioning accuracy or even solution failure caused by multipath and non-line-of-sight (NLOS) interference in complex environments. The core advantage of this algorithm lies in its unique hybrid characteristics; it intelligently and dynamically switches between gradient descent, which ensures convergence stability, and Gauss-Newton, which achieves rapid approximation, thereby guaranteeing absolute success rate and robustness under severe data interference. Simultaneously, this application provides the LM algorithm with the ability to "sense" positioning difficulty and self-optimize by setting an adaptive damping strategy—intelligently setting the starting point based on the initial residual and dynamically adjusting the step size based on the iteration effect. Furthermore, by iteratively approximating the optimal solution of the nonlinear calculation model using the LM algorithm, a high-precision, high-reliability initial positioning coordinate is obtained, providing high-quality input for subsequent dynamic filtering, thus achieving high accuracy and high stability of the overall solution in complex environments.

[0080] In light of the above scenarios, the method provided in this implementation will now be described in more detail. Please refer to [link / reference]. Figure 3 This is another flowchart illustrating a localization method combining the LM algorithm and Kalman filtering in an embodiment of this application.

[0081] S301. After the signal transmitting module transmits the positioning signal and it is received by the base station, the data processing module obtains the arrival time of the positioning signal to each base station through the base station, and calculates the signal arrival time difference between adjacent signal receivers based on the arrival time.

[0082] S302. Based on the location of the base station and the time difference of arrival of the signal, determine the formula for calculating the coordinates of the item's location, which includes the item's location variable.

[0083] S303. Construct the objective function of the LM algorithm based on the calculation formula of the item's position coordinates, and set the initial iteration value of the LM algorithm;

[0084] S304. Calculate the Jacobian matrix of the objective function based on the initial iteration value, and derive the Hessian matrix value based on the Jacobian matrix.

[0085] Steps S301~S304 and Figure 2 The descriptions of steps S201 to S204 in the embodiments are similar and will not be repeated here. Please refer to the descriptions of the relevant steps.

[0086] S305. Extract the maximum value of the diagonal elements in the calculated value of the Hessian matrix;

[0087] The calculated value of the Hessian matrix represents an approximation of the second derivative matrix of the objective function, H=J. TJ; The maximum value of an element refers to the element with the largest value selected from the diagonal elements of the calculated value of the Hessian matrix, which is used to measure the maximum second-order rate of change of the objective function with respect to the position variable.

[0088] After obtaining the calculated Hessian matrix value, the data processing module begins to extract key parameters. Specifically, the data processing module iterates through the diagonal elements of the calculated Hessian matrix value H, finding the maximum value max{a}. ii}

[0089] S306. The difference between the arrival time difference of the signal and the predicted arrival time difference calculated based on the initial iteration value is determined as the initial residual value of the objective function.

[0090] Among them, the signal arrival time difference represents the actual measured signal arrival time difference between adjacent base stations, i.e., the TDOA value; the initial iteration value represents the starting position estimate set when the iteration calculation begins; the predicted arrival time difference represents the theoretical time difference calculated based on the initial iteration value; and the initial residual value of the objective function represents the difference between the actual measured value and the theoretical predicted value.

[0091] After extracting the eigenvalues ​​of the Hessian matrix, the data processing module begins to evaluate the accuracy of the initial estimate. Specifically, the data processing module first calculates the predicted time difference of arrival (TDOA') for each base station combination using the initial iteration value X0 (utilizing the relationship between signal propagation distance and speed: time difference = distance difference / signal speed, where the distance difference is calculated from the initial iteration value and the base station location). Then, this theoretical value is subtracted from the actual measured signal arrival time difference (TDOA) to obtain the initial residual value r0 = TDOA - TDOA' of the objective function. This residual value reflects the degree of deviation between the initial estimate and the actual measurement.

[0092] S307. Based on the initial residual value of the objective function, determine the preset damping coefficient:

[0093] When the initial residual value is greater than the preset first residual threshold, the preset damping coefficient is determined as the first coefficient preset value;

[0094] When the initial residual value is less than or equal to the first residual threshold and greater than the preset second residual threshold, the preset damping coefficient is determined as the preset value of the second coefficient.

[0095] When the initial residual value is less than or equal to the second residual threshold, the preset damping coefficient is determined as the third coefficient preset value;

[0096] Among them, the preset damping coefficient refers to the coefficient used to limit the order of magnitude of the initial damping parameter of the L-M algorithm; the first residual threshold and the second residual threshold are preset critical values for dividing the initial residual range, and the first residual threshold is greater than the second residual threshold; the first coefficient preset value, the second coefficient preset value, and the third coefficient preset value are preset damping coefficient values corresponding to different initial residual ranges (for example, the first coefficient is 0.1, the second coefficient is 0.01, and the third coefficient is 0.001), and the larger the residual value, the larger the coefficient value.

[0097] After obtaining the initial residual value, the data processing module adaptively selects the damping coefficient according to the size of the residual. Specifically, the data processing module first compares the initial residual value r0 with the preset first residual threshold R1 and the second residual threshold R2. When r0 > R1, it indicates that the initial estimation error is large, and the data processing module selects the larger first coefficient preset value τ1 as the preset damping coefficient; when R2 < r0 ≤ R1, it indicates that the initial estimation error is moderate, and the medium-sized second coefficient preset value τ2 is selected; when r0 ≤ R2, it indicates that the initial estimation error is small, and the smaller third coefficient preset value τ3 is selected.

[0098] S308. Determine the product of the maximum value of the element and the preset damping coefficient as the initial damping parameter of the L-M algorithm;

[0099] After determining the preset damping coefficient, the data processing module calculates the initial damping parameter. Specifically, the data processing module multiplies the maximum value of the diagonal elements of the Hessian matrix max{a ii} by the selected preset damping coefficient τ to obtain the initial damping parameter λ0 = τ × max{a ii}.

[0100] S309. Construct a linear equation system based on the Jacobian matrix, the calculated value of the Hessian matrix, and the initial damping parameter, and solve it to obtain the iteration step size;

[0101] S310. Add the iteration step size to the initial iteration value to obtain the updated iteration value;

[0102] Steps S309 and S310 are similar to Figure 2 the descriptions of steps S206 and S207 in the

[0103] said embodiment, and will not be elaborated here. For reference, please refer to the descriptions of the relevant steps.

[0104] The function value at the initial iteration value refers to the specific value obtained by substituting the initial iteration value into the objective function, which reflects the degree of deviation corresponding to the initial guess value; the function value at the updated iteration value refers to the specific value obtained by substituting the updated iteration value into the objective function, which reflects the degree of deviation corresponding to the updated guess value.

[0105] After obtaining the updated iteration values, the data processing module begins to evaluate the iteration effect. Specifically, the data processing module calculates the function values ​​of the objective function F(X) at the initial iteration value X0 and the updated iteration value X1, respectively. That is, it calculates F(X0) and F(X1), which represent the error magnitude before and after the iteration, respectively, and will be used to evaluate whether the current iteration has effectively reduced the positioning error.

[0106] S312. Determine the actual change of the objective function based on the difference between the function value at the initial iteration value and the function value at the updated iteration value;

[0107] The actual change in the objective function refers to the difference between the function value at the initial iteration value and the function value at the updated iteration value, which is used to measure the actual improvement effect of the iterative update on the objective function value.

[0108] After obtaining the function values ​​at two locations, the data processing module calculates the actual improvement caused by the iteration. Specifically, the data processing module calculates the difference between the function value F(X0) at the initial iteration value and the function value F(X1) at the updated iteration value, i.e., ΔF = F(X0) - F(X1), and determines this difference as the actual change in the objective function.

[0109] S313. Based on the iteration step size, the Jacobian matrix, and the function value of the objective function at the initial iteration value, determine the estimated change of the objective function;

[0110] Among them, the iteration step size refers to the incremental value used to update the item position variable obtained by solving the linear equation system, which is the adjustment range of the position in this iteration; the estimated change of the objective function refers to the possible change of the objective function estimated based on the iteration step size, the Jacobian matrix and the initial function value, which is used to compare with the actual change to evaluate the rationality of the iteration step size.

[0111] After obtaining the actual changes, the data processing module calculates the estimated changes in the objective function. Specifically, the data processing module calculates these changes based on the iteration step size. Given the Jacobian matrix J and the initial function value L(0), calculate the predicted change L( of the objective function). The calculation formula is as follows:

[0112]

[0113] ,in The gradient vector of the objective function at the initial iteration value.

[0114] S314. Calculate the ratio of the actual change to the estimated change, and determine it as the damping update coefficient; calculate the updated damping parameters based on the damping update coefficient.

[0115] Wherein, the damping update coefficient represents the scaling factor ρ used to adjust the damping parameter; the updated damping parameter represents the new damping parameter λ after adjustment based on the iteration effect.

[0116] After obtaining the actual and estimated changes, the data processing module updates the damping parameters. Specifically, the data processing module first calculates the damping update coefficient ρ, using the following formula:

[0117]

[0118] in, This indicates that the objective function is within the iteration step size. The actual change value below; This represents the predicted change in the objective function.

[0119] The larger ρ is, the better the algorithm performs. The better the approximation effect, the smaller λ should be; conversely, the smaller ρ is, the better the algorithm's approximation effect. The worse the approximation effect, the more appropriate it is to increase λ and decrease λ. .

[0120] S315. Determine whether the updated iteration value satisfies the preset convergence condition. The preset convergence condition includes any one of the following conditions: gradient threshold condition, position change condition, and maximum number of iterations condition.

[0121] S316. When the preset convergence condition is met, the update iteration value is determined as the initial positioning coordinates;

[0122] Steps S315, S316 and Figure 2 The descriptions of steps S208 and S209 in the embodiments are similar and will not be repeated here. Please refer to the descriptions of the relevant steps.

[0123] S317. Based on the optimal position coordinates of the previous moment, the initial state prediction value and the state prediction covariance matrix are predicted.

[0124] Among them, the optimal position coordinates of the previous moment refer to the coordinates obtained through the positioning process of the previous moment (including the initial positioning by the LM algorithm and the adaptive extended Kalman filter optimization), which are determined to be the coordinates closest to the true position of the object; the initial state prediction value refers to the initial estimate of the state variables such as the position of the object at the current moment, which is predicted by the system motion model based on the optimal position coordinates of the previous moment; the state prediction covariance matrix is ​​a matrix used to describe the uncertainty of the initial state prediction value. The larger the element value in the matrix, the higher the prediction uncertainty of the corresponding state variable.

[0125] After obtaining the initial positioning coordinates, the data processing module enters the initial stage of adaptive extended Kalman filter optimization. Specifically, the data processing module calculates the initial state prediction value based on the one-step state prediction equation, including:

[0126]

[0127] in, Let Φ be the initial value for predicting the state at the current moment, and let Φ be the state transition matrix. These are the optimal position coordinates at the previous moment. The control input is the motion information of the object to be located. When the motion state of the object to be located is unknown, the control input can be set to 0.

[0128] Simultaneously, the data processing module also needs to calculate the corresponding state prediction covariance matrix, including:

[0129]

[0130] , where P k,k-1 Let P be the state prediction covariance matrix. k-1 Let be the state covariance matrix of the previous time step. Let Q be the state transition matrix (describing the state transition process from the previous time k-1 to the current time k). k-1 Let be the process noise covariance matrix.

[0131] S318. Determine the initial positioning coordinates as the observation values, and calculate the observation noise covariance matrix based on the observation values;

[0132] Here, the observed value represents the position measurement value at the current moment; the observation noise covariance matrix is ​​a matrix used to describe the uncertainty of the observed value (initial positioning coordinates). The larger the value of the matrix element, the greater the error of the observed value may be.

[0133] After completing the state prediction, the data processing module processes the observation information. Specifically, the data processing module uses the initial positioning coordinates obtained by the LM algorithm as the observation values ​​at the current time. Then, the data processing module calculates the observation noise covariance matrix based on the observation equation and the observation values, including: .

[0134] S319. Calculate the Kalman gain matrix based on the state prediction covariance matrix and the observation noise covariance matrix.

[0135] The Kalman gain matrix is ​​a weighting matrix used in adaptive extended Kalman filtering to weigh the influence of the predicted state and the observed values ​​on the final estimate. The larger the element value, the more the prediction is modified by the observed values, and vice versa.

[0136] After obtaining the state prediction covariance matrix and the observation noise covariance matrix, the data processing module determines the "prediction and observation weights" in the adaptive extended Kalman filter. Specifically, the data processing module calculates the weights according to the Kalman gain formula:

[0137]

[0138] , where K k P is the Kalman gain matrix. k,k-1 H is the state prediction covariance matrix. k H is the observation matrix. k T R is the transpose of the observation matrix. k Observation noise covariance matrix.

[0139] S320. Based on the Kalman gain matrix and the observed value, the initial state prediction value is corrected to obtain the initial state estimate.

[0140] The initial state estimate represents the preliminary estimate after merging the initial state prediction and the observed values.

[0141] After obtaining the Kalman gain, the data processing module performs state estimation updates. Specifically, the data processing module uses the Kalman gain matrix K... k Predicting the initial value X for the state k,k-1 Make corrections. The correction formula is:

[0142]

[0143] ,in, This is the corrected initial state estimate. K is the initial value for state prediction. k Z is the Kalman gain matrix. k H represents the actual observed value. kFor the observation matrix, The new information represents the difference between the observed value and the predicted value.

[0144] S321. Calculate the difference between the observed value and the initial value predicted for the state, and determine it as the innovation sequence;

[0145] The innovation sequence refers to the difference between the observed value and the initial state prediction value, which is used to measure the degree of deviation between the observed value and the predicted value. Its value reflects the accuracy of the prediction model or the observed data.

[0146] After obtaining the initial state estimate, the data processing module calculates the innovation sequence. Specifically, the data processing module calculates the observations. The difference between the initial value and the predicted state yields the innovation sequence d. k ,include:

[0147]

[0148] , where d k For the new information sequence, Z k These are actual observed values. For the predicted observations, H k Let X be the observation matrix. k This is the actual state value. As the initial value for state prediction, v k To observe the noise, This represents the prediction error in one step.

[0149] S322. Calculate the real-time estimated variance of the innovation sequence based on the sliding window estimation method;

[0150] Among them, the sliding window estimation method refers to the method of selecting the innovation sequence within the most recent period as a sample and calculating the statistic. The window size can be set according to actual needs and is used to dynamically track changes in data characteristics. Real-time variance estimation refers to the variance value calculated based on the innovation sequence within the sliding window. It is used to quantify the dispersion of the innovation sequence. The larger the variance, the more violent the innovation fluctuation and the greater the observation noise may be.

[0151] After obtaining the innovation sequence, the data processing module performs adaptive parameter updates. Specifically, the data processing module calculates the sample covariance matrix using the innovation sequences from the most recent M time steps, based on the sliding window method:

[0152]

[0153] Where W is the sliding window length, k is the current time, and d k For the new information sequence, d k T For the transpose of the new information sequence, This represents the real-time estimated variance of the new information sequence.

[0154] S323. Based on the real-time estimated variance of the information sequence, update the optimized observation noise covariance matrix.

[0155] The optimized observation noise covariance matrix refers to the observation noise covariance matrix obtained after adjusting the variance based on the real-time estimated variance, which can more accurately reflect the noise characteristics of the current observation.

[0156] After obtaining the real-time estimated variance of the innovation sequence, the data processing module updates the observation noise covariance matrix based on the obtained real-time estimated variance. Specifically, because... It is based on Measurements prior to time The estimate of the state at a given moment, and yes The noise vector is observed at all times, so and Unrelated, therefore:

[0157] Real-time estimated variance of the new sequence: ,

[0158] Where dk is the innovation sequence, Hk is the observation matrix, Pk,k-1 is the state prediction covariance matrix, Rk is the observation noise covariance matrix, and E(dkdkT) is the mathematical expectation operation.

[0159] The optimized observation noise covariance matrix is ​​then obtained through updating: ,

[0160] in, and Given that is the variance already calculated above.

[0161] Due to the above The presence of a minus sign in the matrix may lead to an increase in the observation noise covariance matrix. Loss of positive definiteness leads to filter divergence, especially at window length. When the value is relatively small, an R estimation method based on residuals is adopted, which includes:

[0162] Calculate the residual sequence:

[0163]

[0164] Then, the residual covariance matrix is ​​calculated as follows: ,

[0165] Where, r k Z is the residual vector. k For the observed value, H k For the observation matrix, K is the initial value for state prediction. k Let d be the Kalman gain matrix. k For the new information matrix, The state prediction covariance matrix, Let I be the observation noise covariance matrix, and I be the identity matrix. Let be the residual covariance matrix.

[0166] Kalman gain: get:

[0167] ,

[0168] Multiply both sides to the right have to: .

[0169] Therefore, the observation noise covariance matrix can be obtained. The estimated value is: ,

[0170] in, To obtain an estimate of the noise covariance matrix, This is an estimate of the residual covariance matrix. Based on the state error covariance matrix P k and observation matrix H k The derived covariance of the predicted observations.

[0171] Similarly, the state noise covariance can be calculated. The estimated values ​​include:

[0172] Will Multiply by the right on both sides have to:

[0173] .

[0174] Among them, K k Here is the Kalman gain matrix. Let H be the observation error covariance matrix. k For the observation matrix, For the state prediction covariance matrix, since It is a symmetric matrix. Transpose both sides of the equation above and substitute them into... have to:

[0175]

[0176] That is, the state noise covariance matrix: ,

[0177] Among them, K k Here is the Kalman gain matrix. P is the real-time estimated variance of the new information sequence. k Predict the covariance matrix for the current state. Let be the state transition matrix.

[0178] Since the above equation uses subtraction, in order to maintain the positive semi-definiteness of Q, The approximate estimate can be expressed as: .

[0179] S324. Based on the optimized observation noise covariance matrix, the new Kalman gain matrix is ​​obtained;

[0180] The new Kalman gain matrix refers to the gain matrix recalculated based on the optimized observation noise covariance matrix, which is used for weight allocation when updating state estimation.

[0181] After obtaining the optimized observation noise covariance matrix, the data processing module updates the Kalman gain matrix. Specifically, the data processing module follows the calculation logic of Kalman gain, but replaces the observation noise covariance matrix with the optimized matrix and recalculates the new Kalman gain matrix.

[0182] S325. Based on the new Kalman gain matrix, update the initial state estimate to obtain the final state estimate; determine the final state estimate as the final location coordinates of the item.

[0183] The final state estimate refers to the state estimate obtained after updating with the new Kalman gain, which is a better position estimate; the final location coordinates refer to the position coordinates of the item determined by the final state estimate, which is the output result after complete filtering optimization.

[0184] After obtaining the new Kalman gain matrix, the data processing module enters the final optimization stage of the adaptive extended Kalman filter, outputting a high-precision positioning result. Specifically, the data processing module first recalculates the difference between the observed value and the initial state prediction value, then multiplies this residual by the new Kalman gain matrix to obtain the updated state correction. Finally, the correction is added to the initial state prediction value to obtain the final state estimate, which is then used as the final positioning coordinates of the object.

[0185] In this embodiment, by establishing a nonlinear mathematical model of the object's location using the Time Difference of Arrival (TDOA) and the base station location, and combining this with the LM algorithm to iteratively optimize the objective function, the system gradually approximates the optimal solution by dynamically adjusting the damping parameters. This enables the positioning system to overcome measurement errors caused by multipath effects and non-line-of-sight propagation in complex environments, ensuring high accuracy and stability of the initial positioning results. Simultaneously, the adaptive extended Kalman filter dynamically corrects the initial positioning results, combining the previous state prediction with the current observation value for fusion correction, effectively reducing the impact of random errors in dynamic environments. Furthermore, by using an adaptive update mechanism based on the innovation sequence to adjust the observation noise covariance matrix in real time, the system can quickly adapt to changes in signal noise in complex environments, further improving filtering accuracy. Ultimately, the entire scheme, through the combination of static modeling and dynamic optimization, effectively solves the problems of insufficient positioning accuracy and unstable dynamic positioning in complex environments, thereby achieving high-precision, high-robustness, and high-reliability object positioning capabilities.

[0186] The data processing module in the embodiments of this invention is described below from a hardware processing perspective. Please refer to [link / reference]. Figure 4 This is a schematic diagram of the physical device structure of the data processing module in an embodiment of this application.

[0187] It should be noted that, Figure 4 The structure of the data processing module shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.

[0188] like Figure 4 As shown, the data processing module includes a CPU 401, which can perform various appropriate actions and processes based on a program stored in the read-only memory ROM 402 or a program loaded from the storage section 408 into the random access memory RAM 403, such as executing the methods described in the above embodiments. The RAM 403 also stores various programs and data required for system operation. The CPU 401, ROM 402, and RAM 403 are interconnected via a bus 404. An I / O interface 405 is also connected to the bus 404.

[0189] The following components are connected to I / O interface 405: input section 406 including audio input devices, push-button switches, etc.; output section 407 including a liquid crystal display (LCD) and audio output devices, indicator lights, etc.; storage section 408 including a hard disk, etc.; and communication section 409 including a network interface card such as a LAN (Local Area Network) card, modem, etc. Communication section 409 performs communication processing via a network such as the Internet. Drive 410 is also connected to I / O interface 405 as needed. Removable media 411, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 410 as needed so that computer programs read from them can be installed into storage section 408 as needed.

[0190] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing computer programs for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 409, and / or installed from removable medium 411. When the computer program is executed by CPU 401, it performs the various functions defined in the present invention.

[0191] It should be noted that specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0192] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Each block in a flowchart or block diagram may represent a module, program segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those shown in the drawings.

[0193] Specifically, the data processing module of this embodiment includes a processor and a memory. The memory stores a computer program. When the computer program is executed by the processor, it implements a localization method combining the LM algorithm and Kalman filtering provided in the above embodiment.

[0194] In another aspect, the present invention also provides a computer-readable storage medium, which may be included in the data processing module described in the above embodiments; or it may exist independently and not assembled into the data processing module. The storage medium carries one or more computer programs that, when executed by a processor of the data processing module, cause the data processing module to implement a localization method combining the LM algorithm and Kalman filtering provided in the above embodiments.

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

[0196] As used in the above embodiments, depending on the context, the term "when..." can be interpreted as meaning "if...", "after...", "in response to determining...", or "in response to detecting...". Similarly, depending on the context, the phrase "when determining..." or "if (the stated condition or event) is interpreted as meaning "if determining...", "in response to determining...", "when (the stated condition or event) is detected", or "in response to detecting (the stated condition or event)".

[0197] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.

Claims

1. A localization method combining the LM algorithm and Kalman filtering, characterized in that, A data processing module for a positioning system, the positioning system further including a signal transmitting module and base stations, the signal transmitting module being attached to an item to be located, and the base stations including at least three, the method comprising: After the signal transmitting module transmits the positioning signal and it is received by the base station, the data processing module obtains the arrival time of the positioning signal to each base station through the base station, and calculates the signal arrival time difference between adjacent signal receivers based on the arrival time. Based on the location of the base station and the time difference of arrival of the signal, a formula for calculating the location coordinates of the item is determined, wherein the formula for calculating the location coordinates of the item includes the item location variable; The objective function of the LM algorithm is constructed based on the calculation formula of the item's position coordinates, and the initial iteration value of the LM algorithm is set. The Jacobian matrix of the objective function is calculated based on the initial iteration value, and the Hessian matrix is ​​derived based on the Jacobian matrix. Based on the calculated value of the Hessian matrix and the preset damping coefficient, the initial damping parameters of the LM algorithm are set, and the preset damping coefficient is used to limit the magnitude of the initial damping parameters; Based on the Jacobian matrix, the calculated value of the Hessian matrix, and the initial damping parameters, a system of linear equations is constructed and solved to obtain the iteration step size; The iteration step size is added to the initial iteration value to obtain the updated iteration value; Determine whether the updated iteration value meets the preset convergence condition, which includes any one of the following conditions: gradient threshold condition, position change condition, and maximum number of iterations condition; When the preset convergence condition is met, the update iteration value is determined as the initial positioning coordinates; The initial positioning coordinates are optimized using an adaptive extended Kalman filter algorithm to obtain the final positioning coordinates of the item.

2. The method according to claim 1, characterized in that, The step of setting the initial damping parameters of the LM algorithm based on the calculated value of the Hessian matrix and the preset damping coefficient specifically includes: Extract the maximum value of the diagonal elements from the calculated value of the Hessian matrix; Based on the initial residual value of the objective function, the preset damping coefficient is determined; The product of the maximum value of the element and the preset damping coefficient is determined as the initial damping parameter of the LM algorithm.

3. The method according to claim 2, characterized in that, Determining the preset damping coefficient based on the initial residual value of the objective function specifically includes: The difference between the signal arrival time difference and the predicted arrival time difference calculated based on the initial iteration value is determined as the initial residual value of the objective function; When the initial residual value is greater than the preset first residual threshold, the preset damping coefficient is determined as the first coefficient preset value; When the initial residual value is less than or equal to the first residual threshold and greater than the preset second residual threshold, the preset damping coefficient is determined as the second coefficient preset value; When the initial residual value is less than or equal to the second residual threshold, the preset damping coefficient is determined as the third preset coefficient value.

4. The method according to claim 1, characterized in that, After adding the iteration step size to the initial iteration value to obtain the updated iteration value, the method further includes: Calculate the function value of the objective function at the initial iteration value and the function value at the updated iteration value; The actual change in the objective function is determined based on the difference between the function value at the initial iteration value and the function value at the updated iteration value. Based on the iteration step size, the Jacobian matrix, and the function value of the objective function at the initial iteration value, the estimated change of the objective function is determined; Calculate the ratio of the actual change to the estimated change, and determine it as the damping update coefficient; The updated damping parameters are calculated based on the damping update coefficient.

5. The method according to claim 1, characterized in that, The step of optimizing the initial positioning coordinates using the adaptive extended Kalman filter algorithm to obtain the final positioning coordinates of the item specifically includes: Based on the optimal position coordinates of the previous moment, the initial state prediction value and the state prediction covariance matrix are predicted. The initial positioning coordinates are determined as observation values, and the observation noise covariance matrix is ​​calculated based on the observation values; Calculate the Kalman gain matrix based on the state prediction covariance matrix and the observation noise covariance matrix; Based on the Kalman gain matrix and the observed values, the initial state prediction value is corrected to obtain the initial state estimate. Calculate the innovation sequence and adaptively update the observation noise covariance matrix based on the innovation sequence, wherein the innovation sequence is the difference between the observed value and the initial value of the state prediction; Based on the updated observation noise covariance matrix, the initial state estimate is updated to obtain the final state estimate, which is then determined as the final location coordinates of the item.

6. The method according to claim 5, characterized in that, The calculation of the innovation sequence and the adaptive updating of the observation noise covariance matrix based on the innovation sequence specifically include: Calculate the difference between the observed value and the initial state prediction value, and determine it as the innovation sequence; The real-time estimated variance of the innovation sequence is calculated based on the sliding window estimation method. The optimized observation noise covariance matrix is ​​obtained by updating the variance estimated in real time based on the innovation sequence.

7. The method according to claim 5, characterized in that, The step of updating the initial state estimate based on the updated observation noise covariance matrix to obtain the final state estimate, and determining it as the final location coordinates of the item, specifically includes: Based on the optimized observation noise covariance matrix, a new Kalman gain matrix is ​​obtained; Based on the new Kalman gain matrix, the initial state estimate is updated to obtain the final state estimate; The final state estimate is determined as the final location coordinates of the item.

8. A data processing module, characterized in that, The data processing module includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code including computer instructions, and the one or more processors call the computer instructions to cause the data processing module to perform the method as described in any one of claims 1-7.

9. A computer-readable storage medium comprising instructions, characterized in that, When the instruction is executed on the data processing module, the data processing module performs the method as described in any one of claims 1-7.

10. A computer program product, characterized in that, When the computer program product is run on the data processing module, the data processing module performs the method as described in any one of claims 1-7.