A downlink TDOA partition positioning method and system
By acquiring UWB base station data in real time, combining the sliding time window and the three-base station permutation and combination method for single-area positioning calculation, and utilizing signal strength weighted fusion and Kalman filtering, the problems of insufficient positioning accuracy and weak anti-interference capability in the UWB positioning system are solved, achieving high-precision and stable positioning results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- XINRUI KECHUANG (HUBEI) TECH CO LTD
- Filing Date
- 2026-05-11
- Publication Date
- 2026-06-05
AI Technical Summary
In existing UWB positioning systems, positioning accuracy is insufficient, they are easily affected by base station geometry and regional boundary switching, and their anti-interference capability is weak, resulting in inaccurate positioning.
By acquiring real-time timestamps, area numbers, signal strengths, and base station coordinates from UWB base stations, single-area positioning is calculated using a sliding time window and a three-base station permutation method. Weighted fusion positioning is performed using signal strength to calculate weights, and state prediction and filtering are performed using a Kalman filter method.
It achieves high-precision and smooth positioning results, reduces noise interference, ensures positioning stability and anti-interference ability, and avoids positioning result jumps at the region boundary.
Smart Images

Figure CN122160897A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless positioning technology, specifically to a downlink TDOA partitioned positioning method and system. Background Technology
[0002] Ultra-wideband (UWB) technology features extremely narrow pulse signals at the nanosecond level, offering advantages such as strong resistance to multipath interference, high time resolution, and good penetration. In UWB positioning systems, positioning methods based on Time Difference of Arrival (TDOA) are widely used due to their relatively relaxed requirements for tag clock synchronization and large system capacity. Existing solutions divide large indoor areas into several smaller areas to improve base station time synchronization accuracy and reduce the impact of environmental obstructions.
[0003] However, existing positioning methods that employ the multi-region approach also face challenges in fusion positioning. Positioning accuracy and stability are easily affected by the geometric configuration of base stations and the switching of regional boundaries, leading to jumps or oscillations in positioning results, resulting in inaccurate positioning, insufficient positioning accuracy, and weak anti-interference capabilities. Summary of the Invention
[0004] This application provides a downlink TDOA partitioned positioning method and system, which addresses the technical problems in the prior art that are easily affected by the geometric configuration of the base station and the switching of regional boundaries, resulting in inaccurate positioning, insufficient positioning accuracy, and weak anti-interference capability.
[0005] In view of the above problems, this application provides a downlink TDOA partition positioning method and system.
[0006] Firstly, this application provides a downlink TDOA partition positioning method, the method comprising: Real-time acquisition of signal data broadcast from UWB base stations to tags, including timestamps, area codes, signal strength, and base station coordinates; If the signal data received by the tag contains only a single area number, then the single-area positioning solution is calculated by combining the sliding time window and the three-base station permutation and combination method to obtain the single-area positioning result and update it to the sliding time window; If the signal data received by the tag contains multiple region numbers, then weighted fusion positioning is performed based on the signal strength to obtain the initial fusion position at the current time. Combining the sliding time window and Kalman filtering method, state prediction is performed on the initial fusion position to obtain the state prediction position. Then, based on the difference between the initial fusion position and the state prediction position, the initial fusion position is filtered to output the final positioning position at the current time.
[0007] In a second aspect, the present invention provides a downlink TDOA partition positioning system, comprising: The data acquisition module is used to acquire signal data broadcast from the UWB base station to the tag in real time, including timestamps, area numbers, signal strength, and base station coordinates. If the signal data received by the tag contains only a single area number, the single-area positioning module combines the sliding time window and the three-base station permutation and combination method to perform single-area positioning calculation, obtain the single-area positioning result, and update it to the sliding time window. The fusion location acquisition module, if the signal data received by the tag contains multiple region numbers, calculates weights based on signal strength to perform weighted fusion positioning and obtains the initial fusion location at the current time. The positioning acquisition module is used to combine the sliding time window and the Kalman filter method to perform state prediction on the initial fused position, obtain the state prediction position, and filter the initial fused position according to the difference information between the initial fused position and the state prediction position, and output the final positioning position at the current time.
[0008] One or more technical solutions provided in this application have at least the following technical effects or advantages: This application firstly acquires multi-dimensional information required for positioning from UWB base stations in real time, achieving efficient information collection and providing a time reference and geometric basis for subsequent calculations. It also enables spatial logical partitioning management of base stations, providing a basis for subsequent weight fusion and ensuring the integrity and timeliness of the original data. Secondly, it combines a sliding time window with a three-base station permutation method for single-area positioning calculation, providing a highly stable positioning solution. The sliding time window reflects temporal correlation, helping to reduce and smooth single-point measurement noise and suppress random errors. The three-base station permutation method effectively avoids errors caused by individual base station measurement errors or momentary adverse geometric configurations by solving and filtering redundant results from multiple base station combinations. Thirdly, based on signal strength for different... The positioning results of the region are dynamically weighted and weighted for fusion positioning, which achieves a smooth transition of positioning output at the region boundary and avoids the jump in positioning results caused by sudden changes in the base station set. Finally, the sliding time window and Kalman filtering method are combined to perform state prediction and filtering on the initial fusion position. Dynamic parameters are obtained by using the historical state in the sliding time window to predict the current position and fuse it with the initial fusion position. This effectively filters out random noise and gross errors mixed in the observation data, smooths the motion trajectory, and outputs the optimal position estimate with the minimum mean square error. The dynamic update of the sliding time window ensures that the filtering model parameters can adapt to the changes in the movement state of the tag, and finally obtains a high-precision and high-smoothness final positioning position. Attached Figure Description
[0009] Figure 1 This is a flowchart illustrating a downlink TDOA partition positioning method according to this application; Figure 2 This is a schematic diagram of the structure of a downlink TDOA partitioned positioning system according to this application.
[0010] In the attached diagram, the components represented by each number are as follows: Data acquisition module 11, single-area positioning module 12, fusion location acquisition module 13, and positioning location acquisition module 14. Detailed Implementation
[0011] This application provides a downlink TDOA partitioned positioning method, which specifically solves the technical problems in the prior art that are easily affected by the geometric configuration of the base station and the switching of regional boundaries, resulting in inaccurate positioning, insufficient positioning accuracy, and weak anti-interference ability.
[0012] The present invention will now be described in detail with reference to the accompanying drawings.
[0013] Example 1, as Figure 1 As shown, this application provides a downlink TDOA partition positioning method, the method comprising: S10: Real-time acquisition of signal data broadcast from UWB base stations to tags, including timestamps, area codes, signal strength, and base station coordinates; In this embodiment, the UWB base station is an ultra-wideband signal transmitting / receiving device deployed at a fixed location, serving as a reference point for the positioning system; the tag is the mobile terminal device to be located, receiving base station signals; the signal data is the data packet periodically broadcast by the base station; the timestamp is the precise time point at which the signal is sent or arrived, used to calculate the signal propagation time difference; the area number is a code identifying the physical or logical partition to which the base station belongs, used for spatial division and management; the signal strength is an indication of the signal power strength received by the tag, typically related to distance; and the base station coordinate data is the position of the base station in a preset coordinate system.
[0014] Specifically, during its movement, the tag continuously listens for and captures broadcast signals from multiple UWB base stations within its communication range. It obtains data from the broadcasts sent from the deployed UWB base stations to the tag, including the timestamp of the broadcast signal transmission, the area number of the UWB base station's location, the signal strength of the signal transmitted by the UWB base station, and the broadcast signal data transmitted from the coordinates of the base station. The obtained data is: {timestamp, area number, signal strength, base station coordinates}.
[0015] For example, suppose a certain area is equipped with 6 UWB base stations, divided into two areas: Area 1 contains base stations B1, B2, and B3; Area 2 contains base stations B4, B5, and B6. A vehicle-mounted tag, while in motion, successfully receives signal data from base stations B1, B2, B3, and B5 at a certain moment. Each data packet contains something similar to: {timestamp: t} B1 Area code: 101, signal strength: -75dBm, base station coordinates: (x1, y1)}. The data is organized according to the labels and then processed.
[0016] In this embodiment, by acquiring signal data broadcast by UWB base stations in real time, including timestamps, area numbers, signal strength, and base station coordinates, the synchronous and efficient collection of multi-dimensional information required for positioning is achieved. The timestamp provides a unified time reference for subsequent accurate calculation of the time difference of arrival; the area number enables spatial logical partitioning management of base stations, laying the foundation for partitioning processing; and the signal strength not only serves to evaluate signal quality but also provides a basis for subsequent weight fusion.
[0017] S20: If the signal data received by the tag contains only a single area number, then the single area positioning solution is calculated by combining the sliding time window and the three base station permutation and combination method to obtain the single area positioning result and update it to the sliding time window; In this embodiment, a single area number refers to all valid base station signals received by the tag at the current moment, all belonging to the same logical area; a sliding time window is a data structure that stores location-related data or results from several recent consecutive epochs, used to smooth or predict the current state using historical information; the three-base station permutation and combination method is a method that uses the time difference of arrival of at least three base stations to establish a hyperbolic equation system, performs location calculation, and selects the optimal solution; single-area location calculation is performed when the tag is only within the coverage area of a single base station; the single-area location result is the current location coordinates of the tag obtained through single-area calculation.
[0018] Specifically, since the base stations belong to the same area and their geometric configuration is relatively controllable, the classic three-base station permutation and combination method can be directly adopted. Utilizing the time difference between the arrival times of at least three base stations on the tag, a hyperbolic equation system can be established. Three of these equations can be randomly selected as a group for positioning calculation, yielding multiple candidate solutions. The optimal solution is then selected through an algorithm. Subsequently, the calculated single-area positioning result is used as a new data point and stored in a sliding time window. The oldest data point in the window is removed to maintain the freshness of the window data, increasing continuity in the time dimension. This helps reduce random errors in single-point measurements and improves the stability and reliability of positioning.
[0019] Step S20 in the method provided in this application embodiment includes: The signal data under a single region number are sorted in ascending order based on the timestamp; Based on the planar coordinates of each base station, calculate the angle between the line connecting each non-first base station and the first base station in the ascending sort result and the coordinate axis, and exclude base stations with near-linear geometric configurations according to the angle and the preset threshold rule. Based on the ascending sorting results after exclusion, the three base stations are arranged and combined to calculate multiple candidate positioning coordinates and filter them by distance threshold. The average value of multiple candidate positioning coordinates after distance threshold filtering is calculated and determined as the single-area positioning result, and the single-area positioning result is updated to the sliding time window.
[0020] In this embodiment of the application, the signal data under a single area number is a collection of signal data from the same logical area from which all valid signals currently received by the tag come; ascending order sorting is arranging a set of data in ascending order according to the value of a certain key field.
[0021] Specifically, firstly, in TDOA positioning, the actual measurement value is the time difference between the arrival times of signals from different base stations on the tag. Since all base stations should theoretically be synchronized, comparing the differences in transmission times is equivalent to calculating the differences in propagation times. Therefore, signal data under a single area number can be sorted in ascending order based on timestamps to obtain the logical order of signal arrival. Combined with the base station locations, this can be used to initially determine geometric relationships.
[0022] Secondly, based on the planar coordinates of each base station, the angle between the line connecting each non-first base station and the first base station in the ascending sorted results and the coordinate axis is calculated. Based on the angle and a preset threshold rule, base stations with near-linear geometric configurations are excluded. Here, the planar coordinates are the known positions of the base stations in a preset two-dimensional coordinate system (such as a Cartesian coordinate system); the first base station is the first base station in the ascending sorted list, i.e., the base station with the earliest timestamp; non-first base stations are the other base stations in the ascending sorted list besides the first base station; near-linear geometric configurations are caused by the fact that if multiple base stations involved in the calculation are approximately arranged on a straight line, it will lead to ill-conditioned hyperbolic positioning equations, resulting in extremely large errors in the calculation results, or even making the solution impossible; the preset threshold rule is a pre-defined angle judgment rule.
[0023] For the 2nd, 3rd, 4th... base stations in the sorted list (i.e., non-first base stations), calculate the connection to the first base station (the 1st base station). Then calculate the angle θ between each connection and the positive X-axis, where the angle typically ranges from 0° to 360° or -180° to 180°. Subsequently, apply a threshold rule to exclude base stations, setting a preset angle threshold Δθ. This preset angle threshold may be the value with the most frequent angle occurrences in historical data, and can be adaptively adjusted according to the actual scenario.
[0024] The threshold rule might be: if the difference between the angles between the lines connecting two or more non-first base stations to the first base station is less than Δθ, then the lines connecting the base stations to the first base station are considered too close, and they are approximately collinear with the first base station. To avoid poor geometric configurations, from the non-first base stations with similar angles, the one with the best signal quality or the one with the most recent timestamp can be selected and the others excluded, thus disrupting the near-linear arrangement.
[0025] Next, based on the ascending sort results after elimination, three base stations are arranged in a permutation and combination to calculate multiple candidate positioning coordinates, which are then filtered by a distance threshold. The permutation and combination involves arbitrarily selecting three different base stations from the remaining M base stations as a group. Each group of three base stations can utilize their pairwise TDOA measurements, resulting in a total of C(M,3) combinations and a corresponding number of candidate coordinates. Each candidate positioning coordinate is a possible tag location coordinate independently calculated for each group of three base stations. The distance threshold filtering involves calculating the distances between all candidate coordinates or their distances to a reference point.
[0026] Specifically, the three-base station permutation and combination involves arbitrarily selecting three different base stations from the remaining M base stations as a group. Each group of three base stations can utilize the TDOA measurements between each pair of them, resulting in a total of C(M,3) combinations. The first M base stations are used to calculate multiple sets of two-dimensional coordinates through these three-base station combinations, resulting in C(M,3) permutations and combinations. The Mth base station cannot be in a near-linear relationship with the first M-1 base stations; instead, a non-near-linear base station can be selected from after the Mth base station to replace it. Then, the Z-counting method is used to eliminate outliers, and the average of the multiple usable coordinates is taken as the final solution for the region.
[0027] The formula for calculating the location coordinates of the three base stations is as follows: ; ; ; ; ; Where xi, yi, and hi (i=1,2,3) represent the planar coordinates and planar height of the three base stations in each combination, respectively; represents the distance of the tag from the first base station; and represents the distance difference between the tag and the base station, which is obtained by subtracting the first time stamp from the second and third timestamps of the three base stations and then multiplying by the speed of light; and represents the two-dimensional position coordinates calculated by the three base stations.
[0028] Assuming that K base stations remain after elimination (K≥3), all possible three-base station combinations are generated. For example, if K=4, there are C(4,3)=4 combinations. For each combination, two independent TDOA values are calculated using the timestamps of the three base stations in the combination, and combined with the known coordinates, a candidate positioning coordinate is calculated. Subsequently, a distance threshold screening is performed. All calculated candidate coordinate sets are screened to remove obviously erroneous solutions, ensuring that, in the absence of severe multipath and non-line-of-sight interference, the effective solutions obtained from different base station combinations should cluster near the true location.
[0029] Finally, the average value of multiple candidate location coordinates after distance threshold filtering is calculated and determined as the single-zone location result, which is then updated to the sliding time window. For all candidate location coordinates retained after distance threshold filtering, the average value of the X-coordinate and the average value of the Y-coordinate are calculated respectively. The average coordinate (X,Y) is used as the output single-zone location result. Subsequently, (X,Y) is officially determined as one of the location output results for this epoch. The location output result, along with its corresponding timestamp and other information, is then written into the sliding time window queue as a new data node.
[0030] For example, suppose three candidate points are retained after filtering: P1(12,8.1), P2(12.2,8), and P3(11.9,8.2). Calculate the average values X=(12.0+12.2+11.9) / 3=12.03, Y=(8.1+8.0+8.2) / 3=8.1. Therefore, the single-area positioning result at this moment is (12.03,8.1). The result (12.03,8.1) and the current time are used as new nodes and stored in a sliding time window of length 5. Assuming the window originally contained the positions of the previous four moments, the earliest position of moment 1 will be removed, and the window now contains the positions of moments 2, 3, 4, and 5. The updated window state will be used for prediction or verification in the next positioning cycle.
[0031] In step S20 of the method provided in this application embodiment, multiple candidate positioning coordinates are obtained and distance threshold filtering is performed, including: Calculate the average and standard deviation of the multiple candidate positioning coordinates; Based on the Z-count normalization method, the Z-count normalized values of the candidate positioning coordinates are calculated by combining the multiple candidate positioning coordinates and their corresponding average and standard deviation. Several candidate positioning coordinates that deviate from the Z-count normalized value by more than a preset Z-value threshold are removed.
[0032] In this embodiment, firstly, all N candidate positioning coordinates {(x1,y1),(x2,y2),...,(xN,yN)} obtained through permutations and combinations are traversed. Then, the average values X=(x1+x2+...+xN) / N and Y=(y1+y2+...+yN) / N are calculated respectively. The average coordinates (X,Y) are obtained. Subsequently, based on the average values, the dispersion, i.e., the standard deviation, is calculated for each dimension.
[0033] For example, suppose that at a certain moment, after arranging and combining the base stations in a single area, five candidate positioning coordinates are obtained: P1:(10.2,5.1), P2:(10.5,5.3), P3:(9.8,4.9), P4:(11.0,5.4), P5:(15.0,12.0). Then, the average value of the candidate positioning coordinates is calculated: μX=(10.2+10.5+9.8+11.0+15.0) / 5=11.3, μY=(5.1+5.3+4.9+5.4+12.0) / 5=6.54, and the standard deviation is calculated: σX≈2.07, σY≈2.97.
[0034] Secondly, based on the Z-count standardization method, the Z-count standardized values of multiple candidate location coordinates are calculated by combining multiple candidate location coordinates and their corresponding mean and standard deviation. The Z-count standardization method, also known as Z-score standardization, is a statistical method that converts raw data into standard normal distribution scores.
[0035] The Z-count standardization method uses the formula: Z = (X - μ) / σ, where X is the original value, μ is the mean, σ is the standard deviation, and the Z-score represents how many standard deviations the original data point is from the mean. Based on the mean (X, Y) and standard deviation (σX, σY) calculated in the above steps, standardization is performed on each candidate location coordinate (xi, yi). For the i-th candidate point (xi, yi) in the set, its Z-score for the X-coordinate is calculated: Zx = (xi - μX) / σX; its Z-score for the Y-coordinate is calculated: Zy = (yi - μY) / σY. Finally, each original two-dimensional coordinate point is mapped to a two-dimensional Z-score point.
[0036] For example, the calculated μX = 11.3, σX ≈ 2.07, μY = 6.54, σY ≈ 2.97. Z-score standardization of the five points yields: P1: Zx1 = (10.2 - 11.3) / 2.07 ≈ -0.53, Zy1 = (5.1 - 6.54) / 2.97 ≈ -0.48; P2: Zx2 = (10.5 - 11.3) / 2.07 ≈ -0.39, Zy2 = (5.3 - 6.54) / 2.97 ≈ -0. 42; P3: Zx3=(9.8-11.3) / 2.07≈-0.72, Zy3=(4.9-6.54) / 2.97≈-0.55; P4: Zx4=(11.0-11.3) / 2.07≈-0 .14, Zy4=(5.4-6.54) / 2.97≈-0.38; P5: Zx5=(15.0-11.3) / 2.07≈1.79, Zy5=(12.0-6.54) / 2.97≈1.84.
[0037] Finally, several candidate positioning coordinates that deviate from the Z-count normalized value by more than a preset Z-value threshold are removed. Deviation means that the Z-score of the candidate point exceeds a certain allowable limit. The preset Z-value threshold is a critical value used to determine whether a point belongs to an outlier. Removal means removing the candidate coordinates that will be identified as outliers from the set currently used to calculate the final single-area positioning result.
[0038] Specifically, for each candidate point, its degree of deviation from the center is calculated based on its standardized value (Zxi, Zyi) by calculating the modulus of its Z-score, where the degree of deviation is: Zi = sqrt(Zxi² + Zyi²). Subsequently, a threshold is applied, and candidate coordinates identified as outliers are removed. The calculated Zi is compared with a preset Z-score threshold. If the degree of deviation from the center is greater than the Z-score threshold, the point is considered a significant outlier and should be removed from the candidate point list; if the degree of deviation from the center is less than or equal to the Z-score threshold, it is retained. The Z-score threshold is set based on statistical experience; a smaller threshold indicates a stricter selection process, retaining fewer points but potentially more reliable ones; a larger threshold indicates a more lenient selection process, retaining more information but potentially including errors. By removing a small number of outliers, the final candidate point set used for averaging is ensured to have higher consistency and reliability.
[0039] In this embodiment, by sorting all base station signals within a single area according to their transmission time, an accurate starting point for subsequent time difference calculation is provided. Then, by calculating the angle between the line connecting the non-first base station and the first base station, and by identifying and excluding base stations with similar angles based on a threshold, base station configurations that would reduce geometric accuracy are actively identified before calculation, thereby improving the numerical stability and accuracy of the positioning solution. Multiple candidate solutions are obtained by arranging and combining base stations after excluding poor configurations. Then, by statistically analyzing all candidate positioning coordinates, the center and dispersion of their distribution are calculated, establishing an objective quantitative benchmark for subsequent statistical screening. Each candidate coordinate is converted into its Z-score relative to the data distribution center, allowing for the unified identification of outliers based on statistical laws, enhancing the adaptability and objectivity of the screening. The standardized Z-score is compared with a preset threshold, and points exceeding the threshold are eliminated. By averaging multiple reliable candidate solutions, random errors are further smoothed, resulting in more representative positioning results. Simultaneously, the results are updated to a sliding time window, providing a basis for subsequent prediction, filtering, and dynamic parameter adjustment.
[0040] S30: If the signal data received by the tag contains multiple region numbers, then the weights are calculated based on the signal strength to perform weighted fusion positioning and obtain the initial fusion position at the current time. In this embodiment, the area number is the signal received by the tag from two or more base stations in different areas at the same time; the signal strength calculation weight is the process of allocating importance coefficients according to the magnitude of the received signal strength indication; the weighted fusion positioning is to calculate the positioning results from different sources separately, and then perform a weighted average according to their respective weights to obtain the fused position estimate; the initial fused position is obtained directly through weighted fusion, without further filtering processing of the current position estimate.
[0041] Specifically, due to the phenomenon of downlink broadcast reception of signals from multiple regions, a weighted fusion strategy based on signal strength can be used to make the relative geometric relationship between base station groups and tags in areas with stronger signals potentially better, resulting in higher measurement quality. The positioning results should account for a higher proportion in the fusion, providing soft handover and fusion mechanisms to avoid jumps at regional boundaries.
[0042] Step S30 in the method provided in this application embodiment includes: Through statistical analysis, the signal strength at a distance of 1m from the base station was obtained as a reference benchmark signal strength. Calculate the average signal strength of each region under each region number, and calculate the intensity residual between each average signal strength and the reference signal strength; If the intensity residual is not 0, then according to the preset negative correlation mapping function, the intensity residual is mapped to the original fusion weight under each region number; The original fusion weights are normalized, and based on the normalization results, the positioning results under each region number are weighted and fused to obtain the initial fusion position.
[0043] In this embodiment, statistical analysis is the process of collecting, organizing, analyzing, and interpreting a large amount of historical measurement data to discover the inherent patterns and characteristics of the data; the signal strength at a distance of 1m from the base station is the received signal power at a distance of 1m from the transmitter in the wireless propagation model, which is selected as the reference received power; the reference reference signal strength is obtained through statistical analysis to obtain the expected signal strength value that the tag will receive at a distance of 1m from any UWB base station; normalization is the process of converting a set of values to a uniform scale, usually making their sum equal to 1, and ensuring that the sum of all weights is 1 through normalization.
[0044] The regional average signal strength (RSSI) is the arithmetic mean of the signal strengths (RSSI) of all base stations belonging to the same region number that the tag currently receives. It represents the overall signal level received by the tag from the base station group in that region. The strength residual is the difference between the calculated regional average signal strength and the reference signal strength. The negative correlation mapping function is a mathematical function in which the output value decreases as the input value increases. The original fusion weight is the initial weight value corresponding to each region obtained after calculation by the mapping function.
[0045] First, the tag is placed precisely 1 meter away from a base station, and the Received Signal Strength Intensity (RSSI) is measured and recorded multiple times. Then, statistical analysis is performed on the samples, taking the mean, median, or stable values after filtering, to determine the typical RSSI value of that base station at 1 meter. This value is used as a reference baseline signal strength, ensuring it does not change with real-time tag movement but serves as a standard value for measuring the current real-time signal attenuation.
[0046] For example, suppose that during deployment, engineers used calibrated tags to test all base stations B1-B6 in the system in an open environment. The tags were precisely placed 1 meter away from each base station antenna, collecting hundreds of RSSI samples. Analysis revealed that the mean of the samples was concentrated around -40 dBm, with differences between different base stations within ±2 dBm. Therefore, the reference signal strength was set to -40 dBm.
[0047] Secondly, when the tag is under multi-area coverage, the signal data is first grouped according to the area number. For each area group, the signal strength values of all base stations in the area at the current time are added together, and then divided by the number of base stations in that area to obtain the area average signal strength. Subsequently, the difference between the area average signal strength obtained in the previous step and the reference signal strength is calculated to obtain multiple strength residuals.
[0048] For example, for a certain area, the base station signal strength in area Z1 is: B1-65dBm, B2-68dBm, B3-70dBm. The average signal strength of area Z1 is calculated as (-65-68-70) / 3 = -67.7dBm, and the residual signal strength in area Z1 is calculated as (-67.7)-(-40) = -27.7dB. The base station signal strength in area Z2 is: BS105-82dBm. The average signal strength of area Z2 is -82dBm, and the residual signal strength in area Z2 is calculated as (-82)-(-40) = -42dB.
[0049] Secondly, if the intensity residual (ΔRSSI) is not zero, it is mapped to the original fusion weight under each region number according to the preset negative correlation mapping function. First, it is determined whether the intensity residual is zero. Mapping is only performed if the intensity residual is not zero. However, unless the tag is within 1 meter of the base station, the intensity residual is almost impossible to be zero, so mapping is usually performed. Then, the intensity residual of each region is substituted into the preset mapping function to calculate the original fusion weight of that region, which is obtained by taking the negative of the intensity residual through the mapping function. When the intensity residual value is large and the signal is strong, the original fusion weight is large; when the intensity residual value is small and the signal is weak, the original fusion weight is small. Assume mapping is performed using an exponential function: w=e (│-ΔRSSI / a│) , where a is the coefficient of the function, and a can be 10.
[0050] For example, for region Z1, ΔRSSI = -27.7 dB, substituting into the formula w = a × e (│-ΔRSSI / 10│) Let wz1 = e (-2.77) ≈0.063; For the Z2 region, ΔRSSI = -42dB, substituting into the formula w = a × e (│-ΔRSSI / 10│) Let wz2 = e (-4.2) ≈0.015.
[0051] Finally, a normalization method is used to normalize the multiple original fusion weights, and the sum of the normalized original fusion weights is equal to 1, resulting in the original fusion weight set. Subsequently, based on the normalization results, the positioning results under each region number are weighted and fused. The positioning result of each region is multiplied by its corresponding normalized weight, and then all the product results are added together to obtain the initial fused position.
[0052] Assuming there are M regions participating in weighted fusion, the weights of the original fusion weight set obtained after normalization include two w1 and w2. The initial fusion position is calculated to obtain X1, which is the weighted fusion of the X coordinate value and the weight value, and Y1, which is the weighted fusion of the Y coordinate value and the weight value. (X1, Y1) is used as the initial fusion position coordinate.
[0053] For example, suppose there are two base station regions Z1 and Z2 in a certain area. Z1 has an original fusion weight of 0.063 and a positioning result coordinate of (12,8); Z2 has an original fusion weight of 0.015 and a positioning result coordinate of (18,6). After normalization, we get wZ1=0.063 / 0.078≈0.808, wZ2=0.015 / 0.078≈0.192, and the weighted fusion X1=0.808×12.0+0.192×18.0≈13.2, Y1=0.808×8.0+0.192×6≈7.6, so the initial fusion position at the current time is (13.2,7.6).
[0054] In this embodiment, a standardized signal strength reference value is obtained through offline statistical analysis, providing a comparison benchmark for signal strength in different regions and base stations, eliminating the influence of hardware differences and absolute power. Subsequently, the average signal strength of each region is calculated and the difference with the reference benchmark is used to obtain the strength residual. The strength residual reflects the propagation conditions of the base station group in the region from the tag distance. Then, the original fusion weights are mapped through a negative correlation function, and the strength residuals are converted into original fusion weights through a preset mapping function. Through nonlinear transformation, the weights reflect the quality of the signal. Finally, the original fusion weights are normalized, and the positioning results of each region are weighted and averaged to ensure the legality and interpretability of all weights and achieve a smooth transition of positioning results at the region boundaries.
[0055] S40: Combining the sliding time window and Kalman filtering method, perform state prediction on the initial fusion position to obtain the state prediction position, and filter the initial fusion position according to the difference information between the initial fusion position and the state prediction position to output the final positioning position at the current time.
[0056] In this embodiment, the Kalman filtering method is used to estimate the state of a dynamic system. Combined with prediction and update steps, it can effectively filter out noise and estimate the true state of the system. The predicted state position is predicted by using the system model and historical state information in the sliding time window to predict the possible position of the tag at the current moment. The difference information is the difference between the initial fused position and the predicted state position, reflecting the new information observed and the deviation of the model prediction. The filtering process is the process of correcting the predicted state using innovation and Kalman gain. The final positioning position is the smoothed and better estimated current position of the tag after Kalman filtering update.
[0057] Specifically, the single-area localization result and the initial fused position can be regarded as noisy observations. Kalman filtering utilizes the continuity of object motion to smooth and optimize the current observation. By using a sliding time window, it provides a basis for dynamically adjusting parameters for Kalman filtering. Through prediction update loop, it effectively suppresses random noise and outliers in the observations and outputs a smoother, more reliable, and delay-controllable final localization position.
[0058] Step S40 in the method provided in this application embodiment includes: Based on the sliding time window, obtain the first two epoch positions and the corresponding epoch position velocities; Based on the sliding time window, the acceleration variance of the label is calculated, and the dynamic random process noise is calculated by combining the acceleration variance with the time difference between the previous two epochs, wherein the dynamic random process noise is in matrix form; The initial velocity is obtained by dividing the difference between the positions of the first epoch and the second epoch by the time difference. The position of the second epoch is defined as the initial position. The position is then predicted in one step based on the prior state transition matrix of the label to obtain the predicted state position. The covariance matrix between the predicted state position and the initial position is calculated and output in association with the predicted state position.
[0059] In this embodiment, an epoch refers to a discrete point in time or a location settlement cycle within the positioning domain; an epoch position is the position corresponding to a discrete point in time or a location settlement cycle; an epoch position velocity is the estimated velocity of the tag at each epoch position; the acceleration variance is the variance of the changes calculated based on multiple velocity estimates stored within a sliding time window; the time difference is the time interval between the first two epochs; dynamic random process noise refers to uncertainties not included in the state transition model of process noise modeling in Kalman filtering, such as unknown acceleration, model errors, etc.; the matrix form is that the process noise Q is usually a square matrix, and its dimension is related to the dimension of the state vector.
[0060] Specifically, firstly, by accessing a sliding time window, the two most recently stored position data points are extracted. Within the sliding time window, multiple positions are stored in chronological order. The coordinates of the two historical positions closest to the current moment are obtained, denoted as P1 and P2 respectively. Subsequently, the velocities corresponding to the two epoch positions are obtained. These velocities may be stored as part of the state vector within the sliding time window. If they are already stored, they are directly extracted from the sliding time window; otherwise, they need to be calculated in real time based on the position and timestamp. For example, velocity X... t-1 =(P1-P2) / (t1-t2), X t-2 =(P1-P2) / (t2-t3).
[0061] For example, suppose the sliding time window currently contains the final positioning positions of the last 5 epochs (0.1-second intervals), resulting in two epoch positions P2=(10.41,5.11) and P1=(10.63,5.18), and the corresponding epoch position velocity X t-2 =(0.21,0.06) / 0.1s=(2.1,0.6)m / s;X t-1 =(0.22,0.07) / 0.1s=(2.2,0.7)m / s.
[0062] Secondly, using multiple velocity estimation sequences stored within the sliding time window, the differences between consecutive velocities are calculated, and then the variance of the acceleration samples is obtained. The acceleration variance E is then calculated. a Subsequently, the acceleration variance was combined with the time difference d between the first two epochs. T Based on Kalman filtering theory, the noise of a dynamic random process is calculated. For uniform or uniformly accelerated models, the process noise matrix Q is related to the acceleration variance and the time interval. Q represents the random process noise as follows: ; Among them, E a Let V be the acceleration variance.
[0063] For example, the acceleration variance E a The acceleration can be calculated using the acceleration calculation formula, and then the variance can be calculated to obtain the velocities (2, 0.5), (2.1, 0.6), (2.1, 0.6), and (2.2, 0.7). With a time interval Δt = 0.1 s, the calculated accelerations are (1, 1) m / s². 2 (0,0)m / s 2 (1,1)m / s 2 The calculated acceleration variance is approximately 0.33 (m / s²). 2 ) 2 .
[0064] Next, the initial velocity is obtained by dividing the position difference between the first epoch and the second epoch by the time difference. The second epoch position is defined as the initial position. The position is then predicted in one step based on the prior state transition matrix of the label to obtain the predicted state position. Here, the first epoch and the second epoch position are the positions of the first two epochs, i.e., the older position is the first epoch position, and the newer position is the second epoch position. The initial velocity is the average velocity calculated based on the position difference and time difference of the two most recent points, which is used as the starting velocity of the current prediction period. The initial position is the starting point for the next prediction from the second epoch position, i.e., the optimal estimated position of the previous time step. The prior state transition matrix in Kalman filtering describes how the state evolves from the previous time step to the current time step. The predicted state position is the position component in the predicted value of the current state obtained after applying the state transition matrix to predict the state of the previous time step.
[0065] Specifically, the initial velocity is obtained by dividing the position difference between the first and second epochs by the time difference. The position of the second epoch is defined as the initial position. A one-step position prediction is performed based on the positions of the first two epochs, and the initial velocity d is calculated by dividing the position difference between the first and second epochs by the time difference. T .
[0066] ; ; ; Among them, X t-1 , Let d represent the velocity at the previous epoch and the predicted velocity at the current epoch, respectively. Let F represent the state transition matrix, and d represent the velocity at the current epoch. T Let P be the initial velocity. t-1 and They represent X respectively t-1 and The covariance matrix.
[0067] Finally, since the update step needs to utilize both the predicted state and its uncertainty, the calculated predicted state covariance matrix and the predicted state vector, along with the predicted state position, are output as a combined information pair and passed to the next step of the Kalman filter.
[0068] Step S40 in the method provided in this application embodiment further includes: Determine whether the region number of the initial fusion location is consistent with the region number of the previous epoch; If there is a discrepancy, the noise value in the prior observation noise matrix will be increased by a preset factor, wherein the observation noise matrix is a diagonal matrix obtained based on actual measurements; Based on the increased observation noise matrix, the covariance matrix between the predicted state position and the initial position, and the predicted state position, a Kalman filter is performed to update the state vector and covariance matrix after filtering at the current epoch. The position component in the output state vector is the final positioning position.
[0069] In this embodiment, the observation noise matrix is a diagonal matrix obtained based on actual measurements. The noise value is an element on the diagonal of the observation noise matrix R; the preset multiplier is a constant factor greater than 1, usually set empirically, used to conservatively increase the estimate of the observation noise when regional changes are detected; the final location is the position component extracted from the filtered state vector, i.e., the final output location result.
[0070] Specifically, the associated region number of the initial fusion location is first extracted from the current data. Simultaneously, the associated region number of the previous epoch is read from the historical records, and a comparison is made to determine whether the region number of the initial fusion location is consistent with the region number of the previous epoch.
[0071] Furthermore, if the region numbers are determined to be consistent, the process is skipped, and the prior observation noise matrix is used without noise amplification. If the region numbers are determined to be inconsistent, the elements on the diagonal of the prior observation noise matrix R are multiplied by a preset factor to amplify the noise. The amplified observation noise matrix is then used in this filtering update. The observation noise matrix is obtained by collecting a large amount of positioning error data from static or uniformly moving tags in the actual deployment environment and statistically analyzing their covariance.
[0072] A location filtering model with additional cross-regional constraints is constructed. The covariance matrix between the predicted state position and the initial position is calculated. The current label position is successfully calculated. By comparing the region numbers of the previous and next epochs, the noise at the current position is adjusted, as follows: ; ; ; Where H is the measurement matrix; R is the S noise matrix, which is a diagonal matrix and can be calculated based on actual measurements. If the current region number is the same as the previous epoch, the original noise value is maintained; if they are different, the noise value is increased by 0.5 times. V represents the observation residual matrix, and K is the filter gain matrix.
[0073] Furthermore, based on the increased observation noise matrix, the covariance matrix between the predicted and initial states, and the predicted state position, a Kalman filter is performed to update the state. The filtered state vector and covariance matrix for the current epoch are calculated, and the position component in the output state vector is the final location. The position-filtered state and covariance are then updated. The formulas for calculating the position-filtered state and covariance are: Xt = +K∙V, Where Xt and Pt represent the filter state vector and covariance matrix, respectively; I is the identity matrix. If the current position calculation fails, then Xt = Pt= .
[0074] When the region changes, the increased observation noise matrix reduces the Kalman gain, which weakens the contribution of the difference between observation and prediction to the final result. Therefore, the final output tends to follow the position smoothly predicted from the historical trajectory, thus achieving a smooth transition in the boundary region.
[0075] Step S40 of the method provided in this application embodiment, which filters the initial fused position based on the difference information between the initial fused position and the state prediction position, and outputs the final positioning position at the current time, further includes: Calculate the difference between the predicted state position and the initial fusion position to obtain new information; Within the sliding time window, the mean and sample innovation covariance are statistically calculated and compared with the theoretical innovation covariance: If the sample innovation covariance is greater than the theoretical innovation covariance, then the observation noise is amplified based on the ratio of the sample innovation covariance to the theoretical innovation covariance. If the sample innovation covariance is less than the theoretical innovation covariance, then the observation noise matrix and the dynamic random process noise are dynamically adjusted. Based on the adjusted observation noise, the state vector and covariance matrix are updated to determine the final positioning location.
[0076] In this embodiment, noise parameters can be dynamically optimized based on real-time observation data. R is empirically increased initially, and then finely adjusted by AKF based on innovation statistics, i.e., an adaptive Kalman filter replaces the fixed-noise Kalman filter. Based on the statistical characteristics of the innovation sequence, observation noise and process noise are dynamically estimated and updated.
[0077] Specifically, first, the difference between the predicted state position and the initial fusion position is calculated to obtain the innovation. That is, the x-coordinate of the predicted state position is subtracted from the x-coordinate of the initial fusion position to obtain the x-component of the innovation; similarly, the y-component is calculated, and then the calculated two-dimensional difference vector (vx,vy) is determined as the innovation of the current epoch.
[0078] For example, assuming the current state prediction position is (10.85, 5.25) and the initial fusion position is (13.15, 7.62), the calculated innovation vector k = (13.15 - 10.85, 7.62 - 5.25) = (2.30, 2.37) meters.
[0079] Secondly, within the sliding time window, the mean of the innovation and the sample innovation covariance are statistically calculated and compared with the theoretical innovation covariance.
[0080] Specifically, the calculated innovations are stored in a sliding time window. Then, based on all N current innovation vectors within the window, their mean vectors are calculated. Subsequently, the sample covariance matrix is calculated based on the innovation sequence stored within the sliding time window. The diagonal elements of the sample covariance matrix are summed to obtain the total variance of the sample covariance matrix. The mean of the innovations and the sample innovation covariance are then compared with the theoretical innovation covariance. The theoretical innovation covariance can be obtained by calculating the denominator of the filter gain matrix (…). ) was calculated.
[0081] Assuming the total variance of the sample covariance matrix is 11.2 and the theoretical innovation covariance is 0.1, the sample innovation covariance is much larger than the theoretical innovation covariance.
[0082] When the sample information covariance is much larger than the theoretical value, it means that the actual observation error far exceeds the filter's expectations. This is usually caused by factors such as non-line-of-sight interference, multipath interference, instantaneous signal loss, or fusion instability during the initial stage of area handover. In this case, the observation is considered unreliable, thus increasing the observation noise matrix. First, a magnification factor is calculated, using the ratio of the sample information covariance to the theoretical information covariance as the magnification factor. Then, the current observation noise matrix is multiplied by the magnification factor to amplify the noise. For example, if the ratio of the sample information covariance to the theoretical information covariance is 10 / 0.1 = 100, the observation noise matrix is amplified by a factor of 100.
[0083] When the actual error is less than expected, the process noise should be appropriately reduced. This is because an excessively large theoretical innovation covariance may stem from an overly high process noise setting, leading to an excessively large prediction covariance. Therefore, the observation noise matrix and dynamic random process noise should be dynamically adjusted, the process noise scaling factor appropriately reduced, or a smaller Q should be re-estimated based on the statistical characteristics of the innovation sequence. Simultaneously, the observation noise should be adjusted to bring the theoretical innovation covariance closer to the sample innovation covariance, thereby achieving better estimation performance for the filter.
[0084] Finally, based on the adjusted observation noise matrix, a standard Kalman filter update is performed. Using the adjusted observation noise matrix, the predicted state, the predicted covariance, and the current observation, the Kalman gain is calculated, and the optimal state estimate and its covariance are updated to obtain the final location. The position coordinates extracted from the updated state vector are then used to obtain the final location.
[0085] In step S30 of the method provided in this application embodiment, after calculating weights based on signal strength and performing weighted fusion to obtain the initial fusion position at the current time, it further includes: Based on the coordinates of the base stations and the positioning results of the tags under each region number, the geometric dilution under each region number is calculated, and the geometric quality weight is calculated in combination with the preset calibration geometric dilution. The geometric quality weights are fused with the signal strength weights calculated based on signal strength to obtain the comprehensive fusion weights under each region number. The positioning results under each region number are weighted and merged according to the comprehensive fusion weight to obtain the initial fused position.
[0086] In this embodiment, the geometric dilution factor (GDOP), also known as the geometric accuracy attenuation factor, is a scalar value in satellite navigation and wireless positioning that quantitatively describes the amplification effect of the spatial geometric distribution of base stations involved in positioning on the positioning error; the geometric quality weight is a weighting factor calculated based on the GDOP value that reflects the geometric reliability of the positioning results in that area.
[0087] Specifically, firstly, for each region capable of outputting independent positioning results, the geometric dilution factor (GDOP) for that region is calculated using the coordinates of all visible base stations within that region and the currently calculated tag location. The calculation formula involves constructing and inverting a geometric matrix, where a smaller value indicates a better geometric configuration and higher potential positioning accuracy; a larger value indicates a worse geometric configuration, which can amplify even small measurement errors into large positioning errors. GDOP calculation is typically based on the geometric relationship between base station and tag locations. Subsequently, geometric quality weights are calculated, and the calculated GDOP for each region is compared with a preset calibration GDOP to obtain the original geometric quality weights.
[0088] When the geometric dilution of each region equals the calibrated geometric dilution, the weight is 1; when the geometric dilution of each region is less than the calibrated geometric dilution, the configuration is better, and the weight is greater than 1; when the geometric dilution of each region is greater than the calibrated geometric dilution, the configuration is worse, and the weight is less than 1, or even close to 0. For example, geometric quality weight = (calibrated geometric dilution / geometric dilution of each region). 2 By calculating the geometric quality weights using the geometric dilution of each region, the reliability of the positioning results for each region can be assessed from the perspective of geometric accuracy potential.
[0089] For example, two regions participate in the fusion: Region Z1: contains base stations B1, B2, and B3, with a calculated GDOP1 of 1.8 relative to the three base stations; Region Z2: contains base stations B4, B5, and B6, with a calculated GDOP2 of 5.5. The preset calibration geometric dilution factor is 2.5, and the geometric quality weight of Region Z1 is calculated using a mapping function: G1 = (2.5 / 1.8) 2 ≈1.93; Geometric mass weight of region Z2 G2=(2.5 / 5.5) 2 ≈0.21.
[0090] Secondly, the geometric quality weights are fused with the signal strength weights calculated based on signal strength. For example, the comprehensive fusion weights under each region number can be obtained by multiplying the geometric quality weights by the signal strength weights calculated based on signal strength. For instance, if a region has two base station regions with signal strength weights w1 and w2, and the geometric quality weights obtained through the above calculations are G1 and G2, then the comprehensive fusion weights are as follows: , .
[0091] For example, the signal strength weight w1 = 0.808 for region Z1, the signal strength weight w2 = 0.192 for region Z2, the geometric quality weight G1 = 1.93 for region Z1, and the geometric quality weight G2 = 0.21 for region Z2. Using multiplicative fusion, the weights for region Z1 are approximately 1.93 × 0.808 ≈ 1.559; and for region Z2 are approximately 0.21 × 0.192 ≈ 0.040. Normalization yields the overall fusion weight for region Z1. The comprehensive integration weight of the Z2 region .
[0092] Finally, the positioning results under each region number are weighted and fused according to the comprehensive fusion weight to obtain the initial fused position. That is, the coordinates of the initial fused position are the sum of the products of the coordinates of the positioning results and the comprehensive fusion weight. If there are positioning results (a, b) and (c, d) under each region number, the initial fused position is calculated. , .
[0093] For example, the location result for region Z1 is (12, 8), with comprehensive fusion weights. The Z2 region positioning result is (18, 6), with comprehensive fusion weights. Weighted fusion: x0=0.975×12.0+0.025×18.0=12.15; y0=0.975×8.0+0.025×6.0=7.95, resulting in the initial fusion position (12.15,7.95).
[0094] In step S30 of the method provided in this application embodiment, before performing weighted fusion positioning based on signal strength calculation weights, the method further includes: The signal data is processed to obtain multiple positioning results under multiple area numbers; Based on the corresponding sliding time window, extract the previous filtered position under each region number; The system iterates through multiple region numbers, calculates the distance between multiple positioning results and the previous filtered position, and removes positioning results whose distance exceeds a preset distance threshold.
[0095] In this embodiment of the application, the solution is the process of calculating the target location from the original measurement data using mathematical methods and algorithms; the grouping is the process of grouping all received base station signal data according to the area number; the previous filtered position is the latest stored position coordinate in the corresponding sliding time window for a specific area.
[0096] Specifically, first, the data is grouped. Then, for each group containing signal data from at least three valid base stations, an independent single-area positioning solution is performed using the three-base station permutation and combination method. First, the data in this group is sorted by timestamp, then poor geometric configurations are excluded, then combined solutions are performed and candidate points are screened, and finally the average is taken to obtain the positioning result for the area.
[0097] Secondly, for each location result calculated so far, the region number corresponding to the region is identified, and a dedicated sliding time window is pre-allocated and maintained for that region. Then, the latest epoch position is read from each identified dedicated sliding time window, and this latest epoch position is used as the previous filtered position for the region.
[0098] Finally, multiple region numbers are traversed, the distance between multiple positioning results and the previous filtered position is calculated, and positioning results with distances exceeding a preset distance threshold are removed. The preset distance threshold is a pre-set distance limit value, which is determined based on the possible movement speed of the tag, the positioning update cycle, and a reasonable positioning error range. Removal means removing positioning results that do not meet the conditions from the subsequent weighted fusion candidate list so that they do not participate in the final fusion calculation.
[0099] Specifically, multiple region numbers are accessed one by one in a certain order. First, the current solution result is obtained, then the corresponding previous filtering position is obtained, and then the Euclidean distance between the two points is calculated. The Euclidean distance between the two points is the square root of the sum of the square of the difference between the x-coordinate of the current solution result and the square of the difference between the y-coordinate of the previous filtering position. Finally, the calculated distance is compared with a preset threshold. If the calculated distance is greater than the preset distance threshold, the positioning result of the previous filtering position is removed.
[0100] In this embodiment, the position and velocity information of the two most recent moments are extracted from historical data, providing accurate initial conditions and the latest motion trend information for state prediction, ensuring the timeliness and accuracy of the prediction. Subsequently, the acceleration variance is calculated using the velocity history within a sliding window, and the process noise matrix is dynamically calculated accordingly. Through adaptive adjustment of the noise, the filter's adaptability to different motion modes is improved. By predicting the covariance matrix, the uncertainty of the predicted state is calculated, and the reliability of the predicted value is evaluated. By detecting the area where the tag may be located, a trigger signal is provided for identifying the positioning environment. When a region switch is detected, the observation noise matrix is increased by a preset multiple to reduce the confidence in the current single observation value. At the same time, the increased observation noise is used for Kalman filter update calculation. At the region boundary or during the switch, by reducing the observation weight, the filter output is more inclined to rely on the state prediction position smoothly extrapolated from the historical trajectory. In addition, by calculating the difference between the observed and predicted values, the working status and observation quality of the filter are reflected; the covariance of the actual innovation is statistically analyzed within the sliding window and compared with the innovation covariance theoretically expected by the filter to determine the current setting of observation noise or process noise; the noise matrix is adaptively adjusted based on the comparison results to enhance the filter's learning and anti-interference capabilities.
[0101] The embodiments of this application, through the above specific implementation methods, achieve the following technical effects: In this embodiment, signal data including timestamps, area numbers, signal strength, and base station coordinates broadcast by UWB base stations in real time is first acquired to achieve synchronous and efficient collection of multi-dimensional information required for positioning. The timestamp provides a unified time reference for subsequent accurate calculation of the time difference of arrival; the area number enables spatial logical partitioning management of base stations, laying the foundation for partitioning processing; and the signal strength not only serves to evaluate signal quality but also provides a basis for subsequent weight fusion.
[0102] Secondly, by sorting all base station signals within a single area according to their transmission time, an accurate starting point for subsequent time difference calculations is provided. Then, by calculating the angle between the line connecting the non-first base station and the first base station, and by identifying and excluding base stations with similar angles based on thresholds, base station configurations that would reduce geometric accuracy are actively identified before the calculation, thereby improving the numerical stability and accuracy of the positioning solution. Multiple candidate solutions are obtained by permuting and combining base stations after excluding poor configurations. Then, by statistically analyzing all candidate positioning coordinates, the center and dispersion of their distribution are calculated, establishing an objective quantitative benchmark for subsequent statistical screening. Each candidate coordinate is converted into its Z-score relative to the data distribution center, allowing for the unified identification of outliers based on statistical laws, enhancing the adaptability and objectivity of the screening. The standardized Z-score is compared with a preset threshold, and points exceeding the threshold are eliminated. By averaging multiple reliable candidate solutions, random errors are further smoothed, resulting in more representative positioning results. Simultaneously, the results are updated to a sliding time window, providing a basis for subsequent prediction, filtering, and dynamic parameter adjustment.
[0103] Secondly, a standardized signal strength reference value is obtained through offline statistical analysis, providing a comparison benchmark for signal strength in different regions and base stations, eliminating the influence of hardware differences and absolute power. Subsequently, the average signal strength of each region is calculated and the difference with the reference benchmark is used to obtain the strength residual. The strength residual reflects the propagation conditions of the base station cluster in that region from the tag distance. Then, the original fusion weights are mapped through a negative correlation function, and the strength residuals are converted into original fusion weights through a preset mapping function. Through nonlinear transformation, the weights reflect the quality of the signal. Finally, the original fusion weights are normalized, and the positioning results of each region are weighted and averaged to ensure the legality and interpretability of all weights, and to achieve a smooth transition of positioning results at the regional boundaries.
[0104] Finally, the position and velocity information of the two most recent moments are extracted from historical data, providing accurate initial conditions and the latest motion trend information for state prediction, ensuring the timeliness and accuracy of the prediction. Subsequently, the acceleration variance is calculated using the velocity history within the sliding window, and the process noise matrix is dynamically calculated accordingly. Through adaptive adjustment of the noise, the filter's adaptability to different motion modes is improved. By predicting the covariance matrix, the uncertainty of the predicted state is calculated, and the reliability of the predicted value is evaluated. By detecting the area where the tag may be located, a trigger signal is provided for identifying the positioning environment. When a region switch is detected, the observation noise matrix is increased by a preset multiple to reduce the confidence in the current single observation value. At the same time, the increased observation noise is used for Kalman filter update calculation. At the region boundary or during the switch, the observation weight is reduced, making the filter output more inclined to rely on the state prediction position smoothly extrapolated from the historical trajectory. In addition, by calculating the difference between the observed value and the predicted value, the working state and observation quality of the filter are reflected. The covariance of the actual innovation is statistically analyzed within the sliding window and compared with the innovation covariance theoretically expected by the filter to determine the current setting of observation noise or process noise. Based on the comparison results, the noise matrix is adaptively adjusted to enhance the filter's learning and anti-interference capabilities.
[0105] Example 2, as Figure 2 As shown, based on the same inventive concept as the downlink TDOA partition positioning method provided in Embodiment 1, this embodiment of the invention also provides a downlink TDOA partition positioning system, including: Data acquisition module 11 is used to acquire signal data broadcast from UWB base stations to tags in real time, including timestamps, area numbers, signal strength, and base station coordinates. If the signal data received by the tag contains only a single area number, the single-area positioning module 12 combines the sliding time window and the three-base station permutation and combination method to perform single-area positioning calculation, obtain the single-area positioning result, and update it to the sliding time window. The fusion location acquisition module 13, if the signal data received by the tag contains multiple area numbers, calculates the weights based on the signal strength to perform weighted fusion positioning and obtain the initial fusion location at the current time. The positioning acquisition module 14 is used to combine the sliding time window and the Kalman filter method to perform state prediction on the initial fused position, obtain the state prediction position, and filter the initial fused position according to the difference information between the initial fused position and the state prediction position, and output the final positioning position at the current time.
[0106] In one embodiment, the data acquisition module 11 is used for: The signal data under a single region number are sorted in ascending order based on the timestamp; Based on the planar coordinates of each base station, calculate the angle between the line connecting each non-first base station and the first base station in the ascending sort result and the coordinate axis, and exclude base stations with near-linear geometric configurations according to the angle and the preset threshold rule. Based on the ascending sorting results after exclusion, the three base stations are arranged and combined to calculate multiple candidate positioning coordinates and filter them by distance threshold. The average value of multiple candidate positioning coordinates after distance threshold filtering is calculated and determined as the single-area positioning result, and the single-area positioning result is updated to the sliding time window.
[0107] This involves obtaining multiple candidate location coordinates and filtering them using distance thresholds, including: Calculate the average and standard deviation of the multiple candidate positioning coordinates; Based on the Z-count normalization method, the Z-count normalized values of the candidate positioning coordinates are calculated by combining the multiple candidate positioning coordinates and their corresponding average and standard deviation. Several candidate positioning coordinates that deviate from the Z-count normalized value by more than a preset Z-value threshold are removed.
[0108] In one embodiment, the fusion location acquisition module 13 is used for: Through statistical analysis, the signal strength at a distance of 1m from the base station was obtained as a reference benchmark signal strength. Calculate the average signal strength of each region under each region number, and calculate the intensity residual between each average signal strength and the reference signal strength; If the intensity residual is not 0, then according to the preset negative correlation mapping function, the intensity residual is mapped to the original fusion weight under each region number; The original fusion weights are normalized, and based on the normalization results, the positioning results under each region number are weighted and fused to obtain the initial fusion position.
[0109] In one embodiment, the location acquisition module 14 is used for: Based on the sliding time window, obtain the first two epoch positions and the corresponding epoch position velocities; Based on the sliding time window, the acceleration variance of the label is calculated, and the dynamic random process noise is calculated by combining the acceleration variance with the time difference between the previous two epochs, wherein the dynamic random process noise is in matrix form; The initial velocity is obtained by dividing the difference between the positions of the first epoch and the second epoch by the time difference. The position of the second epoch is defined as the initial position. The position is then predicted in one step based on the prior state transition matrix of the label to obtain the predicted state position. The covariance matrix between the predicted state position and the initial position is calculated and output in association with the predicted state position.
[0110] In one embodiment, the location acquisition module 14 is used for: Determine whether the region number of the initial fusion location is consistent with the region number of the previous epoch; If there is a discrepancy, the noise value in the prior observation noise matrix will be increased by a preset factor, wherein the observation noise matrix is a diagonal matrix obtained based on actual measurements; Based on the increased observation noise matrix, the covariance matrix between the predicted state position and the initial position, and the predicted state position, a Kalman filter is performed to update the state vector and covariance matrix after filtering at the current epoch. The position component in the output state vector is the final positioning position.
[0111] The method of filtering the initial fused position based on the difference information between the initial fused position and the state prediction position to output the final positioning position at the current time also includes: Calculate the difference between the predicted state position and the initial fusion position to obtain new information; Within the sliding time window, the mean and sample innovation covariance are statistically calculated and compared with the theoretical innovation covariance: If the sample innovation covariance is greater than the theoretical innovation covariance, then the observation noise is amplified based on the ratio of the sample innovation covariance to the theoretical innovation covariance. If the sample innovation covariance is less than the theoretical innovation covariance, then the observation noise matrix and the dynamic random process noise are dynamically adjusted. Based on the adjusted observation noise, the state vector and covariance matrix are updated to determine the final positioning location.
[0112] This includes calculating weights based on signal strength for weighted fusion to obtain the initial fusion position at the current time, and also includes: Based on the coordinates of the base stations and the positioning results of the tags under each region number, the geometric dilution under each region number is calculated, and the geometric quality weight is calculated in combination with the preset calibration geometric dilution. The geometric quality weights are fused with the signal strength weights calculated based on signal strength to obtain the comprehensive fusion weights under each region number. The positioning results under each region number are weighted and merged according to the comprehensive fusion weight to obtain the initial fused position.
[0113] Previously, the process of weighted fusion localization based on signal strength calculations also included: The signal data is processed to obtain multiple positioning results under multiple area numbers; Based on the corresponding sliding time window, extract the previous filtered position under each region number; The system iterates through multiple region numbers, calculates the distance between multiple positioning results and the previous filtered position, and removes positioning results whose distance exceeds a preset distance threshold.
[0114] Compared to existing technologies, in this embodiment, the data acquisition module 11 first acquires signal data broadcast by the UWB base station in real time, including timestamps, area numbers, signal strength, and base station coordinates, achieving synchronous and efficient acquisition of multi-dimensional information required for positioning. The timestamp provides a unified time reference for subsequent accurate calculation of the time difference of arrival; the area number enables spatial logical partitioning management of the base station, laying the foundation for partitioning processing; and the signal strength not only serves to evaluate signal quality but also provides a basis for subsequent weight fusion.
[0115] Secondly, the single-area positioning module 12 sorts all base station signals within a single area according to their transmission time, providing an accurate starting point for subsequent time difference calculations. Then, by calculating the angle between the line connecting the non-first base station and the first base station, and identifying and excluding base stations with similar angles based on thresholds, base station configurations that would reduce geometric accuracy are actively identified before calculation, thereby improving the numerical stability and accuracy of the positioning solution. Multiple candidate solutions are obtained by arranging and combining base stations after excluding poor configurations. Then, by statistically analyzing all candidate positioning coordinates, the center and dispersion of their distribution are calculated, establishing an objective quantitative benchmark for subsequent statistical screening. Each candidate coordinate is converted into its Z-score relative to the data distribution center, allowing for the unified identification of outliers based on statistical laws, enhancing the adaptability and objectivity of the screening. The standardized Z-score is compared with a preset threshold, and points exceeding the threshold are removed. By averaging multiple reliable candidate solutions, random errors are further smoothed, resulting in more representative positioning results. Simultaneously, the results are updated to a sliding time window, providing a basis for subsequent prediction, filtering, and dynamic parameter adjustment.
[0116] Secondly, through the fusion location acquisition module 13, a standardized signal strength reference value is obtained through offline statistical analysis, providing a comparison benchmark for the signal strength of different regions and base stations, eliminating the influence of hardware differences and absolute power. Subsequently, the average signal strength of each region is calculated and the difference with the reference benchmark is used to obtain the strength residual. The strength residual reflects the propagation conditions of the base station group in the region from the tag distance. Then, the original fusion weights are mapped through a negative correlation function, and the strength residuals are converted into the original fusion weights through a preset mapping function. Through nonlinear transformation, the weights reflect the quality of the signal. Finally, the original fusion weights are normalized, and the positioning results of each region are weighted and averaged to ensure the legality and interpretability of all weights, and to achieve a smooth transition of positioning results at the regional boundaries.
[0117] Finally, the location acquisition module 14 extracts the position and velocity information of the two most recent moments from historical data, providing accurate initial conditions and the latest motion trend information for state prediction, ensuring the timeliness and accuracy of the prediction. Subsequently, the acceleration variance is calculated using the velocity history within the sliding window, and the process noise matrix is dynamically calculated accordingly. Through adaptive adjustment of the noise, the filter's adaptability to different motion modes is improved. By predicting the covariance matrix, the uncertainty of the predicted state is calculated, and the reliability of the predicted value is evaluated. By detecting the area where the tag may be located, a trigger signal is provided for identifying the positioning environment. When a region switch is detected, the observation noise matrix is increased by a preset multiple to reduce the confidence in the current single observation value. At the same time, the increased observation noise is used for Kalman filter update calculation. At the region boundary or during the switch, by reducing the observation weight, the filter output is more inclined to rely on the state prediction position smoothly extrapolated from the historical trajectory. In addition, by calculating the difference between the observed and predicted values, the working status and observation quality of the filter are reflected; the covariance of the actual innovation is statistically analyzed within the sliding window and compared with the innovation covariance theoretically expected by the filter to determine the current setting of observation noise or process noise; the noise matrix is adaptively adjusted based on the comparison results to enhance the filter's learning and anti-interference capabilities.
Claims
1. A downlink TDOA partitioning positioning method, characterized in that, include: Real-time acquisition of signal data broadcast from UWB base stations to tags, including timestamps, area codes, signal strength, and base station coordinates; If the signal data received by the tag contains only a single area number, then the single-area positioning solution is calculated by combining the sliding time window and the three-base station permutation and combination method to obtain the single-area positioning result and update it to the sliding time window; If the signal data received by the tag contains multiple region numbers, then weighted fusion positioning is performed based on the signal strength to obtain the initial fusion position at the current time. Combining the sliding time window and Kalman filtering method, state prediction is performed on the initial fusion position to obtain the state prediction position. Then, based on the difference between the initial fusion position and the state prediction position, the initial fusion position is filtered to output the final positioning position at the current time.
2. The downlink TDOA partition positioning method as described in claim 1, characterized in that, If the signal data received by the tag contains only a single area number, then a single-area positioning solution is performed by combining a sliding time window with a three-base station permutation method to obtain a single-area positioning result, which is then updated to the sliding time window, including: The signal data under a single region number are sorted in ascending order based on the timestamp; Based on the planar coordinates of each base station, calculate the angle between the line connecting each non-first base station and the first base station in the ascending sort result and the coordinate axis, and exclude base stations with near-linear geometric configurations according to the angle and the preset threshold rule. Based on the ascending sorting results after exclusion, the three base stations are arranged and combined to calculate multiple candidate positioning coordinates and filter them by distance threshold. The average value of multiple candidate positioning coordinates after distance threshold filtering is calculated and determined as the single-area positioning result, and the single-area positioning result is updated to the sliding time window.
3. The downlink TDOA partition positioning method as described in claim 1, characterized in that, Multiple candidate location coordinates are obtained and filtered using distance thresholds, including: Calculate the average and standard deviation of the multiple candidate positioning coordinates; Based on the Z-count normalization method, the Z-count normalized values of the candidate positioning coordinates are calculated by combining the multiple candidate positioning coordinates and their corresponding average and standard deviation. Several candidate positioning coordinates that deviate from the Z-count normalized value by more than a preset Z-value threshold are removed.
4. The downlink TDOA partition positioning method as described in claim 3, characterized in that, If the signal data received by the tag contains multiple region numbers, then weighted fusion positioning is performed based on the signal strength to obtain the initial fusion position at the current time, including: Through statistical analysis, the signal strength at a distance of 1m from the base station was obtained as a reference benchmark signal strength. Calculate the average signal strength of each region under each region number, and calculate the intensity residual between each average signal strength and the reference signal strength; If the intensity residual is not 0, then according to the preset negative correlation mapping function, the intensity residual is mapped to the original fusion weight under each region number; The original fusion weights are normalized, and based on the normalization results, the positioning results under each region number are weighted and fused to obtain the initial fusion position.
5. The downlink TDOA partition positioning method as described in claim 1, characterized in that, Combining the sliding time window with the Kalman filter method, state prediction is performed on the initial fusion position to obtain the predicted state position, including: Based on the sliding time window, obtain the first two epoch positions and the corresponding epoch position velocities; Based on the sliding time window, the acceleration variance of the label is calculated, and the dynamic random process noise is calculated by combining the acceleration variance with the time difference between the previous two epochs, wherein the dynamic random process noise is in matrix form; The initial velocity is obtained by dividing the difference between the positions of the first epoch and the second epoch by the time difference. The position of the second epoch is defined as the initial position. The position is then predicted in one step based on the prior state transition matrix of the label to obtain the predicted state position. The covariance matrix between the predicted state position and the initial position is calculated and output in association with the predicted state position.
6. The downlink TDOA partition positioning method as described in claim 1, characterized in that, The initial fused position is filtered based on the difference information between the initial fused position and the state prediction position, and the final positioning position at the current time is output, including: Determine whether the region number of the initial fusion location is consistent with the region number of the previous epoch; If there is a discrepancy, the noise value in the prior observation noise matrix will be increased by a preset factor, wherein the observation noise matrix is a diagonal matrix obtained based on actual measurements; Based on the increased observation noise matrix, the covariance matrix between the predicted state position and the initial position, and the predicted state position, a Kalman filter is performed to update the state vector and covariance matrix after filtering at the current epoch. The position component in the output state vector is the final positioning position.
7. The downlink TDOA partition positioning method as described in claim 1, characterized in that, The initial fused position is filtered based on the difference information between the initial fused position and the state prediction position, and the final positioning position at the current time is output, which also includes: Calculate the difference between the predicted state position and the initial fusion position to obtain new information; Within the sliding time window, the mean and sample innovation covariance are statistically calculated and compared with the theoretical innovation covariance: If the sample innovation covariance is greater than the theoretical innovation covariance, then the observation noise is amplified based on the ratio of the sample innovation covariance to the theoretical innovation covariance. If the sample innovation covariance is less than the theoretical innovation covariance, then the observation noise matrix and the dynamic random process noise are dynamically adjusted. Based on the adjusted observation noise, the state vector and covariance matrix are updated to determine the final positioning location.
8. The downlink TDOA partition positioning method as described in claim 3, characterized in that, The initial fusion position at the current time is obtained by calculating weights based on signal strength and performing weighted fusion. Based on the coordinates of the base stations and the positioning results of the tags under each region number, the geometric dilution under each region number is calculated, and the geometric quality weight is calculated in combination with the preset calibration geometric dilution. The geometric quality weights are fused with the signal strength weights calculated based on signal strength to obtain the comprehensive fusion weights under each region number. The positioning results under each region number are weighted and merged according to the comprehensive fusion weight to obtain the initial fused position.
9. The downlink TDOA partition positioning method as described in claim 1, characterized in that, Weighted fusion localization is performed based on signal strength calculations and weights. Previously, this also included: The signal data is processed to obtain multiple positioning results under multiple area numbers; Based on the corresponding sliding time window, extract the previous filtered position under each region number; The system iterates through multiple region numbers, calculates the distance between multiple positioning results and the previous filtered position, and removes positioning results whose distance exceeds a preset distance threshold.
10. A downlink TDOA partitioned positioning system, characterized in that, The system is used to implement a downlink TDOA partition positioning method according to any one of claims 1-9, the system comprising: The data acquisition module is used to acquire signal data broadcast from the UWB base station to the tag in real time, including timestamps, area numbers, signal strength, and base station coordinates. If the signal data received by the tag contains only a single area number, the single-area positioning module combines the sliding time window and the three-base station permutation and combination method to perform single-area positioning calculation, obtain the single-area positioning result, and update it to the sliding time window. The fusion location acquisition module, if the signal data received by the tag contains multiple region numbers, calculates weights based on signal strength to perform weighted fusion positioning and obtains the initial fusion location at the current time. The positioning acquisition module is used to combine the sliding time window and the Kalman filter method to perform state prediction on the initial fused position, obtain the state prediction position, and filter the initial fused position according to the difference information between the initial fused position and the state prediction position, and output the final positioning position at the current time.