Research on Indoor 3D Positioning Model Using Improved Triangular Centroid Position Algorithm Based on UWB

: The indoor positioning technology of an ultra-wideband (UWB) can play an excellent supplementary role in satellite navigation and has broad application prospects. However, if strong interference exists, the measurement data based on UWB will ﬂuctuate abnormally, which seriously affects the accuracy of positioning. In view of the above problems, based on the combination of mathematical modeling, this paper starts from the subject data


Introduction
There are many methods of UWB positioning technology. This paper considers only the ranging principle based on time of flight (TOF) [1], which is one of the most common positioning methods in the UWB positioning method. TOF-ranging technology is a bidirectional-ranging technology. It calculates the flight time of the signal in the two modules, and then multiplies the distance between the two modules by the speed of light. The distance has an acceptable error and can result in satisfactory accuracy. Besides the distance, many objects in the environment will reflect the signals and affect the position accuracy. Different from line-of-sight (LOS) signals, signal transmission path delays contained in non-line-of-sight (NLOS) signals result in a positive range and position errors. Therefore, it is important to carry out the LOS/NLOS classification and NLOS mitigation before using ranging information from the channel to calculate the position [2,3]. Refs [4,5] conductede NLOS identification and mitigation for the position based on the UWB experimental data. In addition, as in traditional research, features extracted from the UWB channel impulse response (CIR) or some other signal properties would be used as input vectors for common machine learning methods. Different from common machine learning methods, Jiwoong Park et al. used a convolutional neural network (CNN) [6], and Changhui Jiang et al. used a novel convolutional neural network (CNN)-long short-term memory (LSTM) for the UWB NLOS/LOS signal classification and obtained the state-ofthe-art classification performance [7]. Apart from the above machine learning methods, Tianyu Wang et al. proposed a semi-supervised learning approach for UWB ranging error mitigation, and the decrease in the ranging error was significant [8].
In the application of indoor positioning, UWB technology can achieve centimeterlevel positioning accuracy (generally referred to as 2-dimensional plane positioning) and Task 5: Movement Track Positioning Movement track positioning is one of the important applications of UWB. Using the static point positioning model and the target's own movement law, the movement track of the dynamic target point can be obtained. Attachment 5 is the data collected on dynamic target points (multiple sets of data collected continuously over a period). When collecting these data, there will be random signal interference. Accurately position this movement track, and finally draw this movement track map (data collection is from experimental scene 1).
For this study, the following assumptions are made as follows: 1.
Abnormal data with missing data contain less useful information.

2.
When collecting information, the position and ranging performance of the anchor point are the same at continuous time, and the anchor point is repeated measurement with equal precision. 3.
The ranging error of the anchor point includes only the measurement error and the interference error.
A description of the symbols in this paper is shown in Table 1.

Data Preprocessing Model Establishment and Solution
The key chip of the UWB positioning system is the DW1000 transceiver chip (RF frequency range from 3.5 GHz to 6.5 GHz, compliant with fcc and 2.8 V to 3.6 V, low power consumption, sleep current 1 A, data rate of 110 kbps/850 kbps/6.8 mbps) developed by Decawave, which has precise position recognition and data transmission functions. It can provide a new positioning method for real-time positioning and indoor positioning systems, position services, and wireless sensor networks. Apart from the transceiver chip, the architecture of the UWB positioning system includes the perception layer, network layer, solution layer, and application layer. In particular, the perception layer includes positioning labels, positioning anchors, exciters, and base stations. The network layer includes communication base stations, switches, and firewalls. The communication base station aggregates the ranging information to the firewall and transmits it to the intranet server through the Ethernet. The solution layer installs a solution platform and database on the server, which are mainly used to store and calculate the data reported by the acquisition terminal, and obtain the physical position coordinates, and the application layer is used for the display of real-time positioning. According to the introduction, this paper mainly considers positioning technology based on the ranging principle, and the target point positioning depends on the distance from the anchor point to the target point. Every 4 lines of data in the UWB provides 4 distance parameters from anchor point to target point for a group. Therefore, the distance value is first grabbed, redundant Tag identification and other information are removed, and character matching is used to convert it into a two-dimensional distance. Each row of the matrix represents a set of data.
The key to data cleaning is the identification of "useless" (abnormal, missing, identical, or similar) data. Among them, for sites that only contain part of the time points, if there are too many incomplete data and cannot be supplemented, the sites will be deleted; since the anchor points are essentially repeated measurements with equal precision, their abnormal data can be analyzed by 3σ criterion to identify [20,21].
The methods described above were used to identify and remove missing abnormal data from all 648 samples. Appl. Sci. 2022, 12, 11572 4 of 22 The experimental data are multiple sets of information measured at the same position. Ideally, the measured data should be equal each time. If there are points far from the mean, it may be "useless data". Figure 1 shows the distance data extracted in the initial state. It can be clearly seen that there is an abnormal point that is different from other data. Appl. Sci. 2022, 12, 11572 4 of 22 The methods described above were used to identify and remove missing abnormal data from all 648 samples.
The experimental data are multiple sets of information measured at the same position. Ideally, the measured data should be equal each time. If there are points far from the mean, it may be "useless data". Figure 1 shows the distance data extracted in the initial state. It can be clearly seen that there is an abnormal point that is different from other data. The 3σ criterion is based on the repeated measurement of equal precision with the normal distribution (as shown in Figure 2), and it is difficult for the interference or noise of the singular data to satisfy the normal distribution, which is in line with the form of the anchor point range. Therefore, we use the 3σ principle to identify and filter useless data.  The 3σ criterion is based on the repeated measurement of equal precision with the normal distribution (as shown in Figure 2), and it is difficult for the interference or noise of the singular data to satisfy the normal distribution, which is in line with the form of the anchor point range. Therefore, we use the 3σ principle to identify and filter useless data. Appl. Sci. 2022, 12, 11572 4 of 22 The methods described above were used to identify and remove missing abnormal data from all 648 samples.
The experimental data are multiple sets of information measured at the same position. Ideally, the measured data should be equal each time. If there are points far from the mean, it may be "useless data". Figure 1 shows the distance data extracted in the initial state. It can be clearly seen that there is an abnormal point that is different from other data. The 3σ criterion is based on the repeated measurement of equal precision with the normal distribution (as shown in Figure 2), and it is difficult for the interference or noise of the singular data to satisfy the normal distribution, which is in line with the form of the anchor point range. Therefore, we use the 3σ principle to identify and filter useless data.  The normal distribution function formula is as follows: If the absolute value of the residual error of a certain measurement value in a set of measurement data is >3σ, the measurement value will be a bad value and will be rejected.
Usually, an error equal to ±3σ is regarded as the limit error. For the random error of normal distribution, the probability of falling outside ±3σ is only 0.27%. This is unlikely to occur in a limited number of measurements, so there is a 3σ criterion. The 3σ criterion is the most commonly used and convenient criterion for judging gross errors. It is generally used when the number of measurements is sufficiently large (n ≥ 30) or when n > 10 is used for rough judgment.
Based on this criterion, the following solutions are given: In this paper, when collecting data with or without signal interference, Tag will collect multiple sets of data at the same coordinate point and record it in the txt file in annex 1. Use the "dir" function to read the data of the txt document into Matlab and keep the ranging value and serial number in it.
For "useless" data, since each "txt" file is a multiple measurement of a point, the more stable the data stand for the true value, so it is not included in the useless data. Useless data should be points far from the mean of the data, that is, "abnormal" or "missing" points.
Use the Matlab "built-in isoutlier" function to find these outliers, also known as outliers.
The key code is as follows: "temp_TF_abnorm = isoutlier(temp_data_abnorm_sing,'mean');" This function returns the temp_TF_abnorm for all elements that deviate from the mean by more than three standard deviations, which can better clean the data. The cleaning results are shown in Figure 3.
The normal distribution function formula is as follows: If the absolute value of the residual error of a certain measurement value in a set of measurement data is >3σ, the measurement value will be a bad value and will be rejected.
Usually, an error equal to ±3σ is regarded as the limit error. For the random error of normal distribution, the probability of falling outside ±3σ is only 0.27%. This is unlikely to occur in a limited number of measurements, so there is a 3σ criterion. The 3σ criterion is the most commonly used and convenient criterion for judging gross errors. It is generally used when the number of measurements is sufficiently large (n ≥ 30) or when n > 10 is used for rough judgment.
Based on this criterion, the following solutions are given: In this paper, when collecting data with or without signal interference, Tag will collect multiple sets of data at the same coordinate point and record it in the txt file in annex 1. Use the "dir" function to read the data of the txt document into Matlab and keep the ranging value and serial number in it.
For "useless" data, since each "txt" file is a multiple measurement of a point, the more stable the data stand for the true value, so it is not included in the useless data. Useless data should be points far from the mean of the data, that is, "abnormal" or "missing" points.
Use the Matlab "built-in isoutlier" function to find these outliers, also known as outliers.
The key code is as follows: "temp_TF_abnorm = isoutlier(temp_data_abnorm_sing,'mean');" This function returns the temp_TF_abnorm for all elements that deviate from the mean by more than three standard deviations, which can better clean the data. The cleaning results are shown in Figure 3.   After screening the useless data according to the 3σ principle, the outliers in the first and second groups have been screened out; the interference data in the third group have no obvious changes; the fourth group has interference data in the whole group data has been deleted.
Count the data before and after cleaning, and the results are shown in Table 2.

Positioning Model Establishment and Solution
Taking the anchor point as the center of the sphere, the actual measured distance is the radius to form 4 spheres. Under the ideal situation in which the signal is not disturbed and there is no error, it can theoretically intersect at a point that is the target point to be positioned. When there is a measurement error and it is disturbed, the four spheres intersect in a small area, and the target point is in this area. Since it is impossible to determine which anchor point is disturbed, therefore, an approximate point near the target point can be obtained by calculating the mean value of the coordinates of the four vertices of the intersection area.
Two-dimensional plane positioning requires at least three anchor points and one label; three-dimensional spatial positioning requires at least four anchor points and one label. The four anchor points need to be fixed in a certain corner of the indoor place, and the site selection of the anchor points should be placed symmetrically in the four corners; there is no obstacle in the middle. The distances from the target point to the four anchor After screening the useless data according to the 3σ principle, the outliers in the first and second groups have been screened out; the interference data in the third group have no obvious changes; the fourth group has interference data in the whole group data has been deleted.
Count the data before and after cleaning, and the results are shown in Table 2.

Positioning Model Establishment and Solution
Taking the anchor point as the center of the sphere, the actual measured distance is the radius to form 4 spheres. Under the ideal situation in which the signal is not disturbed and there is no error, it can theoretically intersect at a point that is the target point to be positioned. When there is a measurement error and it is disturbed, the four spheres intersect in a small area, and the target point is in this area. Since it is impossible to determine which anchor point is disturbed, therefore, an approximate point near the target point can be obtained by calculating the mean value of the coordinates of the four vertices of the intersection area.
Two-dimensional plane positioning requires at least three anchor points and one label; three-dimensional spatial positioning requires at least four anchor points and one label. The four anchor points need to be fixed in a certain corner of the indoor place, and the site selection of the anchor points should be placed symmetrically in the four corners; there is no obstacle in the middle. The distances from the target point to the four anchor points are measured under normal signal and interference conditions, respectively, and the target points need to be positioned in these two cases.
In this paper, the triangular centroid positioning algorithm is used to accurately position the data. When solving the three-dimensional positioning coordinates, due to the positioning accuracy problem caused by the geometric layout of the anchor points, an optimization algorithm is adopted, which replaces the inverse of the distance sum in the traditional algorithm with the square root of the difference between the actual value and the theoretical value.

Traditional Triangular Centroid Position Algorithm
The traditional centroid position algorithm is the distance-weighted centroid position algorithm [22][23][24], that is, to find several reference nodes closest to the unknown node, and to calculate the distance between the three reference nodes and the unknown node as a weight and introduce it into the position algorithm. Then, the centroids of these reference nodes are found as position estimates for the unknown nodes.
We take two-dimensional planes as an example; that is, the anchor points in the three two-dimensional planes of A, B, and C. After obtaining the distance from the tag to each anchor point, the trilateral positioning method can be used to calculate the position, as shown in Figure 4a. In trilateral positioning, three circles are drawn with each anchor point as the center and the distance from the anchor point to the tag as the radius intersects at a point, and this intersection is the position of the tag. However, the existence of the range error prevents the three circles from intersecting at one point, resulting in no solution for the positioning coordinates. To solve this situation, triangular centroid positioning can be used to obtain a real-time solution, and higher accuracy can be obtained when the ranging error is evenly distributed. The accuracy is shown in Figure 4b. When two circles A and B intersect, two feature points of coordinate estimation can be obtained. The third anchor point C is used as a reference, and the feature points with farther distances are discarded. The feature point D is obtained. When two circles A and C are tangent, the tangent point E is used as the feature point; when the two circles B and C are separated, the center point between the line connecting the circle centers B and C and the intersection of the two circles is taken as the feature point F, then the three feature points D, E, F determine a triangle ∆DEF, the coordinates of the three anchor points are known, and the calculated coordinates of D, E, and F are (x D , y D ), (x E , y E ) and (x F , y F ), then the coordinates of the label (x O , y O ) are obtained as follows: l. Sci. 2022, 12, 11572 7 of 22 points are measured under normal signal and interference conditions, respectively, and the target points need to be positioned in these two cases.
In this paper, the triangular centroid positioning algorithm is used to accurately position the data. When solving the three-dimensional positioning coordinates, due to the positioning accuracy problem caused by the geometric layout of the anchor points, an optimization algorithm is adopted, which replaces the inverse of the distance sum in the traditional algorithm with the square root of the difference between the actual value and the theoretical value.

Traditional Triangular Centroid Position Algorithm
The traditional centroid position algorithm is the distance-weighted centroid position algorithm [22][23][24], that is, to find several reference nodes closest to the unknown node, and to calculate the distance between the three reference nodes and the unknown node as a weight and introduce it into the position algorithm. Then, the centroids of these reference nodes are found as position estimates for the unknown nodes.
We take two-dimensional planes as an example; that is, the anchor points in the three two-dimensional planes of A, B, and C. After obtaining the distance from the tag to each anchor point, the trilateral positioning method can be used to calculate the position, as shown in Figure 4a. In trilateral positioning, three circles are drawn with each anchor point as the center and the distance from the anchor point to the tag as the radius intersects at a point, and this intersection is the position of the tag. However, the existence of the range error prevents the three circles from intersecting at one point, resulting in no solution for the positioning coordinates. To solve this situation, triangular centroid positioning can be used to obtain a real-time solution, and higher accuracy can be obtained when the ranging error is evenly distributed. The accuracy is shown in Figure 4b. When two circles A and B intersect, two feature points of coordinate estimation can be obtained. The third anchor point C is used as a reference, and the feature points with farther distances are discarded. The feature point D is obtained. When two circles A and C are tangent, the tangent point E is used as the feature point; when the two circles B and C are separated, the center point between the line connecting the circle centers B and C and the intersection of the two circles is taken as the feature point F, then the three feature points D, E, F determine a triangle ΔDEF, the coordinates of the three anchor points are known, and the calculated coordinates of D, E, and F are (xD, yD), (xE, yE) and (xF, yF), then the coordinates of the label (xO, yO) are obtained as follows:

Improved Triangular Centroid Position Algorithm
According to the principle of the traditional weighted centroid position algorithm, the weight part plays a crucial role in the positioning accuracy of the whole algorithm, and the reasonable selection of the weight value can avoid the phenomenon of information flooding. Different methods can be used for weight selection in the weighted centroid positioning algorithm. In this paper, the square sum of the distance is used to replace the algorithm of the reciprocal of the distance sum in the traditional algorithm. First, the received distance data is cleaned by 3σ criteria to remove interference points. Then, draw a circle with the three anchor points as the center and the distance between the unknown node and the beacon node as the radius. Since the actual measurement results have errors every time, the three circles will not intersect at one point but will produce common intersections, as shown in Figure 5b. At this point, the unknown node is positioned at the intersection of all circles. and the reasonable selection of the weight value can avoid the phenomenon of information flooding. Different methods can be used for weight selection in the weighted centroid positioning algorithm. In this paper, the square sum of the distance is used to replace the algorithm of the reciprocal of the distance sum in the traditional algorithm. First, the received distance data is cleaned by 3σ criteria to remove interference points. Then, draw a circle with the three anchor points as the center and the distance between the unknown node and the beacon node as the radius. Since the actual measurement results have errors every time, the three circles will not intersect at one point but will produce common intersections, as shown in Figure 5b. At this point, the unknown node is positioned at the intersection of all circles.
Based on the centroid algorithm mentioned above, the triangle formed by the common intersection (ABC) of the three circles is analyzed, and the distance between the preferred reference node and the unknown node is used to add a weight to each coordinate to reflect the difference. Among vertex contribution, (xA, yA), (xB, yB), (xC, yC) are the coordinates of the three intersection points, which can be easily obtained. Not only is the RSSI data information added to the centroid operation, but the weight selection is also reasonably arranged. The information weight is adopted, and the concept of the correction coefficient is adopted so that the whole positioning accuracy has been greatly improved. However, in the actual test, the three circles often cannot meet at one point due to range error. Assuming that the mobile node is only active in the area of the reference node, the possible situation is shown in Figure 5. In actual operation, it is first necessary to determine how many of the three circles intersect. The method used can be to combine the equations of the three circles in pairs to determine whether there is a solution: Based on the centroid algorithm mentioned above, the triangle formed by the common intersection (ABC) of the three circles is analyzed, and the distance between the preferred reference node and the unknown node is used to add a weight to each coordinate to reflect the difference. Among vertex contribution, (x A , y A ), (x B , y B ), (x C , y C ) are the coordinates of the three intersection points, which can be easily obtained. Not only is the RSSI data information added to the centroid operation, but the weight selection is also reasonably arranged. The information weight is adopted, and the concept of the correction coefficient is adopted so that the whole positioning accuracy has been greatly improved. However, in the actual test, the three circles often cannot meet at one point due to range error. Assuming that the mobile node is only active in the area of the reference node, the possible situation is shown in Figure 5.
In actual operation, it is first necessary to determine how many of the three circles intersect. The method used can be to combine the equations of the three circles in pairs to determine whether there is a solution: If Equation (3) (4) and (5) have no solution, the coordinates of points E and F will be obtained in the same way. So, we can get 3 points D, E, and F regardless of whether the circles intersect or not, and get the coordinates of the moving node by finding the center of gravity.

Processing of Normal Data
According to task 2, position the 5 groups of data without interference. For the twodimensional space, the anchor points A0, A1, and A2 are the centers of the three circles in Figure 6. The intersection of the two will form 6 intersections in the plane. In the absence of interference, the three intersection points can approximately converge into a point (the target point).
Appl. Sci. 2022, 12, 11572 9 of 22 x x y y r x x y y r x x y y r x x y y r x x y y r x x y y r If Equation (3) (4) and (5) have no solution, the coordinates of points E and F will be obtained in the same way. So, we can get 3 points D, E, and F regardless of whether the circles intersect or not, and get the coordinates of the moving node by finding the center of gravity.

Processing of Normal Data
According to task 2, position the 5 groups of data without interference. For the twodimensional space, the anchor points A0, A1, and A2 are the centers of the three circles in Figure 6. The intersection of the two will form 6 intersections in the plane. In the absence of interference, the three intersection points can approximately converge into a point (the target point). For the three-dimensional space, the anchor points A0, A1, A2, and A3 are the centers of the four spheres shown in Figure 6. In fact, in space, these four spheres intersect two by two, and they can indeed meet at one point, which is the target. Therefore, our goal is to find this point set in space by selecting the initial value of X, so that the distance to these four anchor points has a high degree of agreement with the distance we measured. Then, we can pass these distances. As a function, the sum of squares is used to filter out the For the three-dimensional space, the anchor points A0, A1, A2, and A3 are the centers of the four spheres shown in Figure 6. In fact, in space, these four spheres intersect two by two, and they can indeed meet at one point, which is the target. Therefore, our goal is to find this point set in space by selecting the initial value of X, so that the distance to these four anchor points has a high degree of agreement with the distance we measured. Then, we can pass these distances. As a function, the sum of squares is used to filter out the minimum value of this function, which means that the distance from this point to the four anchor points A0, A1, A2, and A3 is very close to the actual detected distance.
According to the scene information given by task 2, the initial coordinate of X positions the mean value of the coordinates of the four anchor points, which is (2500, 2500, 1500), and defines the function "fmincon" to find the sum of the squares of the distances from the real target coordinates. The smallest intersection point coordinate; then, this point is the target point that needs to be obtained.
For normal data, after the minimum value of this function is obtained, the corresponding values of X, Y, and Z are mathematically the coordinates of the point corresponding to the extreme value of this function. For this paper, at the physical level, the point is very close to the target position, which is in line with the accuracy of the real detected data. The coordinates of the 324 points that are very close to the target point are obtained by calculation, and the coordinates of these 324 points are compared with the Tag coordinate information given in annex 1, as shown in Figure 7. It can be found that 324 points are very similar to the coordinate results of Tag, so it can be approximated that the calculated points are the target points that need to be obtained in task 2.
Appl. Sci. 2022, 12, 11572 10 of 22 minimum value of this function, which means that the distance from this point to the four anchor points A0, A1, A2, and A3 is very close to the actual detected distance. According to the scene information given by task 2, the initial coordinate of X positions the mean value of the coordinates of the four anchor points, which is (2500, 2500, 1500), and defines the function "fmincon" to find the sum of the squares of the distances from the real target coordinates. The smallest intersection point coordinate; then, this point is the target point that needs to be obtained.
For normal data, after the minimum value of this function is obtained, the corresponding values of X, Y, and Z are mathematically the coordinates of the point corresponding to the extreme value of this function. For this paper, at the physical level, the point is very close to the target position, which is in line with the accuracy of the real detected data. The coordinates of the 324 points that are very close to the target point are obtained by calculation, and the coordinates of these 324 points are compared with the Tag coordinate information given in annex 1, as shown in Figure 7. It can be found that 324 points are very similar to the coordinate results of Tag, so it can be approximated that the calculated points are the target points that need to be obtained in task 2. Due to some uncertainties in the process of the experiment, there is a slight error in the distance between the measured target point and the 4 anchor points. By calculating the distance between the Tag coordinate information provided in annex 1 and the 4 anchor points, it is found that the calculated distance value does have a slight deviation from the normal distance data provided in annex 1 (Figure 8), thus verifying the existence of the error. Due to some uncertainties in the process of the experiment, there is a slight error in the distance between the measured target point and the 4 anchor points. By calculating the distance between the Tag coordinate information provided in annex 1 and the 4 anchor points, it is found that the calculated distance value does have a slight deviation from the normal distance data provided in annex 1 (Figure 8), thus verifying the existence of the error.

Processing of Abnormal Data
As shown in Figure 9, when the signal is disturbed in the two-dimensional space, the anchor points A0, A1, and A2 are the centers of the three circles, and the intersection of the two forms six intersection points in the plane. By defining an initial value of X to screen out the three points A, B, and C that are far away, the initial value of X is based on the scene given by task 2, and the center point of the anchor points A0, A1, A2, and A3 is (2500, 2500, 1500). By solving the norm of the difference between the theoretical distance and the real distance from these 6 points to A0, A1, and A2, 4 values can be obtained, and the norm of the difference between the theoretical distance and the actual distance between the real target point and A0, A1, and A2 is obvious, which is smaller than the values obtained by the other three points, so the point with the smallest norm of the distance difference needs to be screened out by the "fmincon" function in Matlab, and the position of this point is the position of the target point to be positioned.

Processing of Abnormal Data
As shown in Figure 9, when the signal is disturbed in the two-dimensional space, the anchor points A0, A1, and A2 are the centers of the three circles, and the intersection of the two forms six intersection points in the plane. By defining an initial value of X to screen out the three points A, B, and C that are far away, the initial value of X is based on the scene given by task 2, and the center point of the anchor points A0, A1, A2, and A3 is (2500, 2500, 1500). By solving the norm of the difference between the theoretical distance and the real distance from these 6 points to A0, A1, and A2, 4 values can be obtained, and the norm of the difference between the theoretical distance and the actual distance between the real target point and A0, A1, and A2 is obvious, which is smaller than the values obtained by the other three points, so the point with the smallest norm of the distance difference needs to be screened out by the "fmincon" function in Matlab, and the position of this point is the position of the target point to be positioned. For the three-dimensional space, the anchor points A0, A1, A2, and A3 are the centers of the four spheres in Figure 8. Similarly, the norm of the difference with the real distance is screened from the point set obtained by the intersection of them. The coordinates of the target points can be accurately positioned by weighting the coordinates of the smallest points.

Processing of Abnormal Data
As shown in Figure 9, when the signal is disturbed in the two-dimensional space, the anchor points A0, A1, and A2 are the centers of the three circles, and the intersection of the two forms six intersection points in the plane. By defining an initial value of X to screen out the three points A, B, and C that are far away, the initial value of X is based on the scene given by task 2, and the center point of the anchor points A0, A1, A2, and A3 is (2500, 2500, 1500). By solving the norm of the difference between the theoretical distance and the real distance from these 6 points to A0, A1, and A2, 4 values can be obtained, and the norm of the difference between the theoretical distance and the actual distance between the real target point and A0, A1, and A2 is obvious, which is smaller than the values obtained by the other three points, so the point with the smallest norm of the distance difference needs to be screened out by the "fmincon" function in Matlab, and the position of this point is the position of the target point to be positioned. For the three-dimensional space, the anchor points A0, A1, A2, and A3 are the centers of the four spheres in Figure 8. Similarly, the norm of the difference with the real distance is screened from the point set obtained by the intersection of them. The coordinates of the target points can be accurately positioned by weighting the coordinates of the smallest points. For the three-dimensional space, the anchor points A0, A1, A2, and A3 are the centers of the four spheres in Figure 8. Similarly, the norm of the difference with the real distance is screened from the point set obtained by the intersection of them. The coordinates of the target points can be accurately positioned by weighting the coordinates of the smallest points.
Although it can be determined by calculation that one of the four data is disturbed during the signal transmission process, it cannot be clearly determined which data is disturbed. Simplified into two dimensions, if one of A0, A1, and A2 is disturbed, the circle formed by these three anchor points will form a small area DD1D2, and the specific position of the target point in this area cannot be determined, as shown in Figure 10.
When selecting three random spheres to meet at a point, only one of the four intersection points is the real target point. Since we cannot determine which of the four points is the real target point, we take the average by weighting. To reduce the error caused by interference, the purpose is to reduce the interference caused by abnormal. A schematic diagram of abnormal data error is shown in Figure 11.
Although it can be determined by calculation that one of the four data is disturbed during the signal transmission process, it cannot be clearly determined which data is disturbed. Simplified into two dimensions, if one of A0, A1, and A2 is disturbed, the circle formed by these three anchor points will form a small area DD1D2, and the specific position of the target point in this area cannot be determined, as shown in Figure 10.
(c) A2 is disturbed. When selecting three random spheres to meet at a point, only one of the four intersection points is the real target point. Since we cannot determine which of the four points is the real target point, we take the average by weighting. To reduce the error caused by interference, the purpose is to reduce the interference caused by abnormal. A schematic diagram of abnormal data error is shown in Figure 11.  The maximum distance between the z-axis coordinates of the anchor point is 1700-1400 = 300 mm. The smaller z-axis distance causes the target point to be easily separated from the target point, thereby reducing the z-axis positioning accuracy of the target. In order to further improve the z-axis positioning accuracy, this paper is based on BP algorithms, and calculations obtain coordinate values and generate z-axis compensation terms. The neural network after normal data training is shown in Figure 12 [25,26]. The maximum distance between the z-axis coordinates of the anchor point is 1700 − 1400 = 300 mm. The smaller z-axis distance causes the target point to be easily separated from the target point, thereby reducing the z-axis positioning accuracy of the target. In order to further improve the z-axis positioning accuracy, this paper is based on BP algorithms, and calculations obtain coordinate values and generate z-axis compensation terms. The neural network after normal data training is shown in Figure 12 [25,26]. The maximum distance between the z-axis coordinates of the anchor point is 1700-1400 = 300 mm. The smaller z-axis distance causes the target point to be easily separated from the target point, thereby reducing the z-axis positioning accuracy of the target. In order to further improve the z-axis positioning accuracy, this paper is based on BP algorithms, and calculations obtain coordinate values and generate z-axis compensation terms. The neural network after normal data training is shown in Figure 12 [25,26].

Model Accuracy
In this paper, one-dimensional, two-dimensional, and three-dimensional RMSE (Root Mean Square Error, root mean square error) are used to evaluate the results and illustrate the validity of the model. The main calculation formulas for each index are as follows [27,28]:

Model Accuracy
In this paper, one-dimensional, two-dimensional, and three-dimensional RMSE (Root Mean Square Error, root mean square error) are used to evaluate the results and illustrate the validity of the model. The main calculation formulas for each index are as follows [27,28]: According to the results of the above prediction indicators, we compare the final positioning results of the above two models. The main indicators of the models are compared, as shown in the following Table 3: The above results show that the position model in this paper has good advantages and effectiveness and can position the position of the target well. In addition, the effectiveness of the model is demonstrated by comparing the theoretical coordinates in each direction with multiple sets of real coordinates, and the results are shown in Figure 13.
According to the results of the above prediction indicators, we compare the final positioning results of the above two models. The main indicators of the models are compared, as shown in the following Table 3. The above results show that the position model in this paper has good advantages and effectiveness and can position the position of the target well. In addition, the effectiveness of the model is demonstrated by comparing the theoretical coordinates in each direction with multiple sets of real coordinates, and the results are shown in Figure 13. At the same time, its own model characteristics (such as continuously updating and querying other samples, extracting features through many variables, etc.) are also very suitable for the use of actual projects, and its own model framework has begun to be valued and used in the signal positioning and transmission process.

Model Results
Perform precise positioning on the first five groups of data (without signal interference) and the last five groups (with signal interference) provided in annex 2, and the po- At the same time, its own model characteristics (such as continuously updating and querying other samples, extracting features through many variables, etc.) are also very suitable for the use of actual projects, and its own model framework has begun to be valued and used in the signal positioning and transmission process.

Model Results
Perform precise positioning on the first five groups of data (without signal interference) and the last five groups (with signal interference) provided in annex 2, and the positioning coordinates are shown in Table 4.

Migration Application of the Positioning Model
The positioning prediction model based on experimental scene 1 cannot determine whether it can be applied to different scenes. Therefore, the coordinate positions of different anchor points can be set, and the range of the anchor points can be basically selected near experimental scene 1. Annex 3 sets different coordinates. The four anchor point positions below, according to the four anchor point positions of different scenes: A0 (0, 0, 1200), A1 (5000, 0, 1600) A2 (0, 3000, 1600), A3 (5000, 3000, 1200) Modify the initial value of X to (2500, 1500, 1400), substitute it into the positioning prediction model derived from experimental scenario 1, establish a positioning model for each of the five groups of data before and after it according to whether the data signal is disturbed, and predict the precise positioning under these 10 sets of data. By changing the position of the anchor point, iterating the initial value, and then substituting it into the positioning model of the previous chapter.
First, the coordinates of the four anchor points in the new scene need to be redetermined, and then the ten groups of data signals given in annex 3 and the initial value of the target point solved by the least square method are brought into the second model of the problem, and ten sets of target coordinates can be obtained, as shown in Table 5.

Interfering Data Identification Model
Since the above problems are based on the existing information to determine whether the signal has interference in the actual situation, the UWB simply records the sample data in the process of collecting the signal, and it cannot be judged, which may cause problems in the modeling process of large error. In order to reduce the error, a normal "lostfunction" function containing four target points is used to solve each dataset, and a function value is obtained. Randomly remove one target point and solve the problem with the remaining three target points. You will get the coordinates of four intersection points. If the signal is disturbed, the four intersection points formed by the intersection of the spherical surfaces generated by the four anchor points produce a large deviation.
Therefore, the threshold is determined according to the empirical formula. If the fluctuation range of these five values is less than the threshold, the data will be regarded as normal data. If the data fluctuation is greater than or equal to the threshold, this will indicate that there are problematic data.
For normal distance data that is not disturbed, the coordinates of the four anchor points can be used to position the specific coordinates of a target point; if one anchor point is removed, the remaining three anchor points will calculate the coordinates of 4 close to the target point. A total of five coordinates can be derived from the coordinates of one anchor point. Here, a fluctuation level is defined to judge whether this set of data is disturbed. If the fluctuation level is lower than a given threshold, this means that this set of data is not disturbed; on the contrary, when the fluctuation level is higher than the given threshold, it means that the set of data is not disturbed. Data are disturbed. The formula for the volatility level is as follows: Volatility level = Coordinate maximum − Coordinate minimum Mean coordinate (11) According to the 10 groups of data in annex 4, a fluctuation level can be obtained by calculating each group. If the fluctuation range of these five values is small, the data will be regarded as normal data. If the data fluctuate greatly, it will mean that there are problematic data.
f(x) = normal, set to 0, fluctuation level < threshold Abnormal, set to 1, fluctuation level ≥ threshold (12) The key to solving the problem is how to take an appropriate threshold to determine the fluctuation level of a set of data. Here we use the 324 sets of normal data and 324 sets of abnormal data given in chapter 2 for BP neural network training, and the first 300 sets are used for training, and the last 24 groups were tested to judge the accuracy of the threshold.
Through training, we can obtain a threshold with an accuracy rate of 82.6%. The value of the threshold is 0.380772; that is, if 10 groups of data are input, it will be accurately determined that 8 groups are normal data or abnormal data. Finally, use the established classification model to judge whether the 10 groups of data provided in annex 4 have interference or no interference signal. The calculation results are shown in Table 6. It can be seen from the calculation results that the first group and the last 6-10 groups are interference signals, and the second-5 groups are normal signals.

Movement Track Positioning Model
The positioning model of static points based on a certain number of samples can characterize the spatial positions of these targets through an algorithm and combine them with the target's own movement law to obtain the movement track of dynamic targets. According to the sample data provided in annex 5, it is judged by the interference data identification model to determine whether the data is interfered, and then substituted into the two positioning models in chapter 3 to calculate the position of the target point, and then the required movement track can be obtained.
The positioning model obtained in chapter 3 should have adaptability to different base point coordinates and anchor points. In order to verify whether the above model has the same high positioning for different anchor points, another 10 sets of data were collected because it is known that the measured whether the data is disturbed, the first 5 groups and the last 5 groups of data are brought into the positioning model for calculation.

Modeling Route
In order to describe the movement trajectory of the target point when collecting data, it is first necessary to determine the position of the target point at each moment according to the collected distance data. Therefore, it is necessary to use the classification model established in chapter 5 to judge the collected data, first determine whether the data is disturbed during the collection, and then put the normal data and abnormal data into the two positioning models in chapter 3. The group is positioned to the position of the target point to obtain the movement trajectory of the target point. In summary, the main technical route of the movement track positioning model modeling process is shown in Figure 14

Model Establishment
The movement track positioning model is based on the positioning model and th interference data recognition model. First, the collected data is classified by the classific tion model, and divided into undisturbed data and disturbed data. The disturbed data ar marked in red, and the normal data without disturbance are marked in green. The di turbed signal and the undisturbed signal are substituted into the two positioning mode to realize the positioning of the target point; finally, the coordinates of the positioned ta get points are connected in sequence to obtain the movement trajectory of the target poin so as to realize the target point under different conditions.

Model Solution and Result Analysis
Substitute the data collected by the dynamic target points in annex 5 into the inte ference data identification model for judgment, and first identify whether the signal disturbed. If the fluctuation level is greater than the threshold in the model, it will mea

Model Establishment
The movement track positioning model is based on the positioning model and the interference data recognition model. First, the collected data is classified by the classification model, and divided into undisturbed data and disturbed data. The disturbed data are marked in red, and the normal data without disturbance are marked in green. The disturbed signal and the undisturbed signal are substituted into the two positioning models to realize the positioning of the target point; finally, the coordinates of the positioned target points are connected in sequence to obtain the movement trajectory of the target point so as to realize the target point under different conditions.

Model Solution and Result Analysis
Substitute the data collected by the dynamic target points in annex 5 into the interference data identification model for judgment, and first identify whether the signal is disturbed. If the fluctuation level is greater than the threshold in the model, it will mean that the target point is disturbed when it moves to this position, through the abnormal data model in chapter 3 to achieve the target position; if it is judged that the target is not disturbed, then the target position will be achieved through the normal data position model.
Under normal circumstances, the target should be interfered with for a continuous period, not intermittently. The accuracy of the interference data recognition model can be roughly judged according to the fluctuation of the label. The interference situation is shown in Figure 15, and a value of 1 means disturbed data, and a value of 0 means normal data. It can be seen from the figure that the continuity between disturbance and normal data is better. By substituting the data into the model coupled with the classification model and the positioning model, the movement track of the dynamic target can be obtained, as shown in Figure 16. By substituting the data into the model coupled with the classification model and the positioning model, the movement track of the dynamic target can be obtained, as shown in Figure 16.
It can be found from Figure 16 that in the XOY direction, the movement trajectory of the target point is in a "Z" shape, and during the movement, it will be interrupted intermittently, and the disturbed part is the red area in the figure; from the XOZ direction and the YOZ direction It can be found in the direction that when the target point is disturbed in the process of movement, the value of the Z-axis direction will fluctuate to a certain extent, but generally it presents a relatively gentle trajectory. Therefore, the reliability and stability of the movement track positioning model can be determined, and relatively accurate positioning of the target point in movement can be achieved. By substituting the data into the model coupled with the classification model and the positioning model, the movement track of the dynamic target can be obtained, as shown in Figure 16. It can be found from Figure 16 that in the XOY direction, the movement trajectory of the target point is in a "Z" shape, and during the movement, it will be interrupted intermittently, and the disturbed part is the red area in the figure; from the XOZ direction and the YOZ direction It can be found in the direction that when the target point is disturbed in the process of movement, the value of the Z-axis direction will fluctuate to a certain extent, but generally it presents a relatively gentle trajectory.

Comparative Test
To verify the advantages of the proposed method, we apply both the proposed method and the Kalman filter to a moving target, and the average value of the RMSE of the proposed method and the Kalman filter is shown in Table 7. Moreover, to verify the efficiency of the proposed method, the UWB positioning system in this paper and the Kalman filter were coded in Matlab (2020a) and run on a PC (Intel Core i5-11500, 4.60 GHz; Memory, 16.00 G). The operation time of the proposed method is shown in Table 7.  Table 7 shows that the RMSE of the proposed method is 3.6471 lower than that of the Kalman filter. This means that, compared to the Kalman filter, the localization accuracy performance of the proposed method is improved by 100%−92% = 8%. The running time of the proposed method is about the same as the Kalman filter.
The full details of the Program addendum is available in the Supplementary File.

Conclusions
The model established in this paper has the following advantages: (1) Because the model based on measurement data has passed the verification of different sample data, it has high accuracy and reliability.
(2) The model can adjust the corresponding parameters according to different usage scenarios for precise positioning, which has strong flexibility. (3) After the model is trained with many samples, it can dynamically output the movement track of the target point, and at the same time, through pre-processing, the disturbed data is corrected, the noise points are knocked out, and the dynamic law of the static sample points is found; thereby, it can predict the spatial three-dimensional coordinates of the target within a given range, which has a certain degree of advancement.
The state-of-the-art section is as follows: when a receiver signal in three-dimensional space is interfered, the positioning information of the receivers may conflict with each other. To solve the above problem, in this paper, a new 3D positioning method is developed based on triangulation and a BP neural network. For an indoor target, the proposed method first finds the initial positioning position based on the weighted average method, and then uses the BP neural network to correct the positioning error. We apply the method to a 3D moving target, and the results show that the proposed method has higher localization accuracy than the Kalman filter.
The model constructed in this paper can be widely used in indoor positioning and has a certain reliability and stability, and its modeling ideas can also be used for reference in other fields.