1. Introduction
With the continuous development of satellite communication and navigation, mobile Internet, and artificial intelligence technology, the demand for navigation and positioning technology has been growing rapidly [
1]. High-precision positioning has become increasingly important in many fields. The acquisition of high-precision positioning has brought great convenience to people’s lives. The Global Navigation Satellite System (GNSS) can provide users with high-accuracy real-time positioning services in outdoor environments [
2], but its indoor positioning precision can meet the needs of people’s daily lives. The GNSS has been widely used in transportation, agriculture, business, and other industries. Many studies have demonstrated that most of people’s activity areas are indoors. Different indoor environments, such as large shopping malls, airports, and stations, require efficient flow monitoring and dynamic analysis means. Also, many special types of work, such as mines and high-rise buildings, need to locate internal personnel accurately in real-time, especially in an emergency. Furthermore, medical and nursing institutions require locating nursing objects in real-time to maximize the rescue time to provide the most timely medical services. In recent years, there have been numerous efforts to use the basic features of acoustics [
3], light [
4], electricity [
5,
6,
7,
8,
9], magnetic field [
10], and force [
11] in different fields, including detection, to obtain the parameters associated with indoor positioning. However, due to the indoor environment’s complexity, the proposed indoor positioning technology and methods have not been enough mature and perfect [
12], lacking the performance of high precision, low cost, and easy deployment of an indoor positioning environment. An indoor positioning method of low cost, wide coverage, low power consumption, high precision, and easy deployment is urgently needed.
Wireless signal indoor positioning technology can be divided into categories of signal feature matching, time measurement, and angle measurement according to signal parameter measurement methods. Signal feature matching is mainly based on using the measured signal strength or channel status information (i.e., RSS or CSI) to establish a feature fingerprint database to obtain matching location. Time distance measurement includes measuring the signal’s time of arrival, time difference, or time of flight (i.e., TOA, TDOA, or TOF). Angle measurement includes measuring the signal’s arrival angle or direction of arrival (i.e., AOA or DOA) [
13,
14,
15,
16,
17]. The radio direction finding, angle measuring, and positioning have been applied in many fields. A radar system using an array antenna can perform high-resolution direction finding. The 5G system equipped with a large-scale antenna array makes high-precision ranging and angle measuring possible. The Bluetooth Special Interest Group (Bluetooth SIG) has added the directional finding to the Bluetooth 5.1 standard, which was released in 2019 [
18]. Compared with the positioning method based on measuring time and distance using multiple base stations, single-base station high-precision angular positioning technology based on using an antenna array requires fewer base stations, has lower cost, and avoids the problems of time synchronization and joint calculation between base stations [
19]. In [
19], a dual-channel switch switching and dual-polarization wheel antenna array was proposed, and the phase-specific angle measurement method of the antenna was introduced to eliminate the frequency estimation error caused by the antenna switching. Combined with the super-resolution estimation algorithm of angle and pole decoupling, the high-precision positioning of a single base station was realized. In this paper, the method is modified. The switching wheels of the dual-polarization antenna array are collected in turn in channel 1, the fast Fourier transform (FFT) is applied to the data of channel 2 to estimate the frequency offset, and the phase of the data is compensated, without eliminating the frequency estimation error through phase comparison. It can also achieve high precision positioning within the coverage area of a single base station. However, in the non-line-of-sight (NLOS) environment with signal occlusion, multipath, and other interfering factors, the dynamic positioning accuracy of the proposed Bluetooth array angular measurement and positioning system decreases sharply. Therefore, it is necessary to develop a positioning and tracking algorithm.
To realize an accurate system state estimation using a classical kalman filter, the prerequisite is that the dynamic model of the system is accurate and that the noise is an uncorrelated white noise. Also, to ensure system stability, appropriate initial value and variance matrix must be selected [
20,
21,
22]. However, in a complex indoor environment, it is obviously difficult to guarantee. Aiming to solve this problem, many adaptive filtering algorithms based on the estimation algorithm of statistical characteristics of time-varying noise have been proposed. When the covariance matrix
of the system noise and the covariance matrix
of the measurement noise are uncertain, the adaptive filtering uses the information on the observed data to estimate and correct the statistical characteristics of the noise continuously so as to reduce the state estimation error [
23,
24]. Among
and
algorithms for uncertainty, the Sage–Husa algorithm is most representative [
25,
26]. Simulation and practical results show that the accuracy of the adaptive kalman filtering algorithm is much higher than that of the conventional kalman filtering algorithm, but the tracking ability of the adaptive kalman filtering algorithm decreases when the observed value anomaly and system equation disturbance occur. Thus, the adaptive kalman filter does not have the ability to deal with the system mutations. To ensure filter reliability, in [
27], it has been suggested that it is possible to sacrifice certain accuracy for achieving better filter stability, and a strong tracking filter algorithm [
27] named the strong tracking filter (STF) was proposed. This method is to multiply the covariance matrix P of the predicted state by a weighted coefficient, so the strong tracking kalman filter has strong robustness to the changes in system parameters and a strong ability to deal with the system mutations. Although the robustness of the strong tracking kalman filter is significantly improved compared with the adaptive kalman filter, the optimal condition of the filter is destroyed, and the accuracy of the filter is reduced compared with the adaptive kalman filter [
28,
29,
30,
31]. In [
31], a fuzzy logic adaptive system was used to adjust the scaling factor of an r-array when the p-array scaling factor of the strong tracking kalman filter was obtained [
31]. This method has the disadvantage of estimating the r-matrix independently, and the control logic of the FLAS is complex. This paper proposes a Bluetooth array positioning system for a complex indoor environment, including shelter and multipath. The results of the positioning method of mutation status tracking ability of a strong tracking kalman filtering algorithm for target tracking, singular value decomposition (SVD) [
32,
33,
34]. On the basis of further improvement of the strong tracking kalman filter robustness, an adaptive factor is introduced. Finally, the feasibility of the algorithm is verified by the measured data.
2. Array Antenna Angle-of-Arrival Positioning Algorithm
The schematic diagram of a circular antenna array is presented in
Figure 1. In
Figure 1, the middle antenna 9 is used as a single frequency estimation antenna corresponding to one receiving channel. Because this antenna is not switched, the number of sampling points collected is sufficient. FFT can better estimate the frequency offset. The surrounding six pairs of orthogonally polarized antennas, which include a total of 12 arrays, are used as circular antennas connected to another receiving channel. The schematic diagram of the positions of the array antenna and source during the observation is presented in
Figure 2. The specific algorithm is given below.
Suppose that
is an incident signal waveform,
is the signal carrier frequency,
is the signal wavelength,
is the incidence pitch angle, and
is the incidence azimuth. A two-channel circular array antenna is adopted to receive the incident signal, and the switching time interval of the acquisition antenna is
. Then, the received echo signals of an alternating acquisition antenna and a single-channel antenna can be respectively expressed as:
where
represents the component related to the transmitting power of the source and the distance from the array antenna;
is the component related to the polarization;
and
are two polarization parameters;
represents the time delay of the signal to the
array element;
is the Doppler frequency of the source.
After the frequency-mixing signal processing, the echo signals can be expressed as:
The existence of the frequency synchronization error leads to the deviation between
and
, which can be expressed as
. Since a base station is generally arranged at a high level and the incident signals are narrowband signals in the far-field, the delay along the array of the envelope of the received signal can be ignored. Then, Equations (3) and (4) can be respectively rewritten as:
For the
-point FFT transformation of
the spectrum is expressed as follows:
where the spectrum line corresponding to the amplitude is
.
For the maximum value of the spectrum, the corresponding spectrum line is denoted as
. According to the maximum likelihood estimation principle, the relationship between the frequency offset value and
can be obtained as follows:
According to Equation (8), the estimation accuracy of the frequency offset is directly related to the FFT length, and its maximum estimation error is obtained as . In this system, the data acquisition points of channel 2 are equal to the sum of the data acquisition points of 12 antennas in channel 1, so the FFT length is long enough to estimate the frequency offset accurately.
By substituting the estimated frequency offset value into Equation (5), the
matrix metadata arranged into a column vector can be obtained as follows:
where
,
,
,
, and
denotes the Hardmard product.
Considering the receiver noise, the echo signal vector can be expressed as follows:
where
, and
is a complex Gaussian noise vector with a zero mean and a covariance matrix
.
In an indoor environment, signals received by the array contain not only direct waves but also multipath echoes that reached the array after being reflected by various obstacles such as walls, tables, and floors. After considering these factors, the receiver echo signal
can be expressed in the following form:
where
denotes the array manifold matrix,
is the number of direct waves and multipath signals, and
is the signal vector, which can be expressed as:
In a multipath environment, the direct wave signal and multipath signal need to be separated to estimate the target direction accurately. In this case, a super-resolution angle estimation method is needed. Considering that the Multiple Signal Classificaion (MUSIC) spectrum estimation algorithm has the advantages of a small amount of computation and low complexity, the MUSIC spectrum estimation algorithm is adopted.
Assume that is the covariance matrix of the received signal.
The spatial spectrum obtained by the MUSIC spectrum algorithm is expressed as follows:
where
, and
is the eigenvector matrix of noise subspace derived from
eigen decomposition.
The target parameter is obtained by searching the peak value of the spectral function by parameters, which can be expressed as:
Since the above process is a four-dimensional search and requires a large amount of calculation, to reduce the amount of calculation, B is expressed in the following form by combining Equation (14) and the properties of the Hardmard product:
where
denotes a diagonal matrix consisting of
, so
can be expressed as follows:
where
.
To maximize
,
should be as small as possible, and parameter search can be achieved as follows:
where
represents the minimum eigenvalue of
.
Assuming that the vertical distance between the source and base station is
, the coordinates of the source location can be obtained by combining
Figure 2 as follows:
3. Proposed Tracking Algorithm
According to Equation (7), the multipath and other factors in the echo signal of the receiver cannot be eliminated, and the characteristics of the reflected signals vary with the material and size of obstacles. Therefore, in an NLOS environment, the dynamic positioning accuracy of the proposed Bluetooth array angular measurement and positioning system decreases sharply. Therefore, if only relying on the positioning accuracy of the system, the high-precision positioning within the coverage area cannot be guaranteed, so the tracking algorithm is particularly important. After comparative analysis, this paper selects strong tracking kalman filtering algorithm as a basic tracking algorithm and optimizes it.
3.1. Strong Tracking Kalman Filter
The source coordinates and their rate of change are taken as the state parameters, .
Assume that the state equation is given by:
where
,
is the data output interval expressed in seconds, and
is the system noise at the current moment, whose covariance matrix is
.
The measurement information represents directly output positioning information, so the measurement equation is given by:
where
,
,
is directly output location information at the current time;
is the measurement noise at the current moment, and its covariance matrix is
.
In the strong tracking kalman filter, the gain matrix
needs to be determined online to satisfy the following conditions:
where
represents an innovation vector, whose covariance matrix is
. Equation (22) requires
to be orthogonal, which actually represents an index of the residual sequence that is orthogonal on the basis of the index of minimum variance of the residual.
If the signal is not affected by environmental factors, such as refraction, reflection, and multipath effect, it can be considered that obeys the Gaussian distribution with the zero mean. In this case, Equation (22) satisfies. Therefore, in that case, the strong tracking kalman filter represents the standard extended kalman filter. However, uncertain influencing factors in the external environment will lead to the deviation of the filter state estimate from the system state. In this situation, to realize the system state tracking by the filter, the gain matrix needs to be adjusted online to make the residual sequence still be mutually orthogonal.
Based on Equations (19) and (20), the strong tracking filtering algorithm can be expressed as follows:
where
is the predicted state vector,
is the covariance matrix of the predicted state,
is the Kalman gain matrix;
and
represent the estimated state matrices at times (
k−1) and
k, and
and
are their respective covariance matrices, respectively;
indicates the measured value at the current time;
is the identity matrix;
is the time-varying elimination matrix;
is the
time-varying fading factor, which can be expressed as follows:
where
,
,
, and
is the forgetting factor.
It can be seen that when the system state mutates, the increase in will increase with the , so the time-varying fading factor will also increase, and the tracking ability of the filter will be enhanced.
3.2. Improved Tracking Algorithm
It is considered that the covariance matrix
is a symmetric matrix of the
th order. However, after enough large number of times of calculation, it no longer has non-negative and positive character. Suppose the rank is
,
,
is a diagonal matrix, and they satisfy the semi-positive definite condition, whose eigenvalue is set as
, and it holds that
. Then, there must be an orthogonal matrix
of order
, making
similar to a diagonal matrix, which can be expressed as follows [
34]:
where
, and
.
Set
to obtain
, so the -column vectors of
are unit orthonormal vectors, which can be extended to an orthonormal basis. There exists
such that
is an orthonormal matrix of order
, and:
From
, we get
, which yields to:
Further, because , then .
.
Since is symmetric, it holds that:
So,
and
, which yields to:
By setting
, we obtain:
The SVD is applicable to any matrix decomposition. It can express a complex matrix by the product of several relatively simple matrices (eigenvalues and eigenvectors), which can not only simplify the operation but also preserve the properties of the original matrix. In the classical kalman filter (KF) algorithm, the rounding error of the state covariance matrix gradually accumulates over time, leading to the loss of its non-negative property. Using the SVD can ensure its non-negative positive property so that the algorithm can go on and improve the operation accuracy.
In the Kalman filter,
represents the innovation vector, and its covariance matrix is
. If the signal is not affected by environmental factors, such as refraction, reflection, and multipath effect, it can be considered that
obeys the Gaussian distribution with the zero mean. If the influence of the external environmental factors leads to the decrease in the positioning accuracy or abnormal positioning values, it can be considered that
follows the Gaussian distribution with the mean value of
, where
is the actual location. Based on the innovation vector and its covariance matrix, the test information is constructed as
, and it is used as a condition to judge whether the positioning result is abnormal; it is defined as follows:
where
denotes the threshold value, which is determined through multiple static tests at different points.
Huber functions are used to construct adaptive factors as follows:
The robust estimation of positioning can be achieved by replacing in the gain matrix with . The absolute value of is compared with the prior threshold information. When the absolute value of is greater than the prior threshold, the positioning result is considered abnormal. In this case, the robust factor of the constructed measurement noise is used to update its covariance matrix to achieve robust filtering performance and to improve the positioning accuracy.
The Sage–Husa filter can estimate and modify the statistical characteristics of the system noise in real-time so as to improve the filter accuracy further and has a certain anti-interference ability. Therefore, combined with the improved Sage–Husa filter, the covariance matrix of the system noise can be estimated in real-time as follows [
24]:
where
, and
is the forgetting factor, and
. In the updating process of
, to prevent losing the non-negativity characteristic of the matrix, the diagonal elements in the second part on the right side of Equation (34) are treated with absolute value, and the non-diagonal elements are treated with zero.
When calculating the predicted state covariance matrix, the improved Sage–Husa filtering is used for the system noise covariance matrix for continuous real-time estimation and correction. To reduce the state estimation error, the adaptive differential resistance factor, combined with the measurement noise covariance matrix, is updated, thus further improving the accuracy and obtaining more accurate location information.
Based on the above theories, the specific algorithm of SVD-STKF can be described as:
- (1)
Calculate the one-step state prediction value according to Equation (19).
- (2)
Calculate innovation vector according to .
- (3)
Calculate the prediction error covariance matrix according to Equation (23).
- (4)
Calculate the SVD factorization of .
- (5)
Calculate Kalman gain matrix according to Equation (31).
- (6)
Status updates according to Equation (23).
- (7)
Test information is constructed based on innovation vector and its covariance matrix according to Equation (32).
- (8)
Huber function is used to construct adaptive factors according to Equation (33).
- (9)
Update error covariance matrix according to Equation (23).
5. Conclusions
In this paper, the static positioning accuracy, rotational positioning accuracy, and dynamic positioning accuracy in an NLOS environment are analyzed. The results show that in a line-of-sight (LOS) environment, the positioning accuracy of the Bluetooth array angle measurement is higher in its coverage range than in NLOS environment. The positioning accuracy of the points within 0.3 m (i.e., the near distance) can be guaranteed, but the maximum positioning error of points at a long distance can reach 0.595 m. The proposed SVD-STKF algorithm can improve the overall positioning accuracy up to 0.03 m, and the maximum value can be modified by 0.08 m. In the NLOS environment, the positioning accuracy decreases sharply, and the positioning error is close to 1 m in severe cases. However, the proposed SVD-STKF algorithm has a good effect. By using the proposed algorithm, the Hausdorff distance is improved by 0.513 m, the positioning results are smoother, there is no random mutation point, and good correction for the points far from the true trajectory is achieved. The comprehensive comparison results show that the proposed positioning algorithm can achieve the positioning accuracy within 1 m in the coverage area in a LOS environment, while in an NLOS environment, the dynamic positioning accuracy of the proposed Bluetooth array angular measurement and positioning system decreases sharply. Thus, by relying only on the positioning accuracy of the proposed system, the high-precision positioning within the coverage area cannot be guaranteed. However, after modifying the SVD-STKF tracking algorithm, the positioning accuracy within 1 m can be achieved for the source rotation situation in a LOS environment and the dynamic situation in an NLOS environment. Therefore, the high-precision positioning in the coverage area can be achieved by using a single base station.