A Bluetooth-based indoor precise positioning method and system
Through real-time comprehensive confidence score evaluation and multi-resolution IQ data sampling mode switching, combined with adaptive dictionary reconstruction, dynamic time-frequency graph clustering and machine learning correction model, the multipath interference problem of Bluetooth indoor positioning method in complex environments is solved, and high-precision and stable indoor positioning is achieved.
Patent Information
- Application Number
- CN202510494245.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-20
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2045-04-20
AI Technical Summary
Existing Bluetooth indoor positioning methods suffer from severe multipath interference in complex indoor environments, and the positioning accuracy is difficult to meet the requirements. In addition, traditional fusion methods have poor adaptability to dynamic signal environments, making it difficult to achieve real-time high-precision positioning.
Through real-time comprehensive confidence score evaluation and multi-resolution IQ data sampling mode switching, combined with adaptive dictionary reconstruction, dynamic time-frequency graph clustering and machine learning correction model, the least squares positioning weight is dynamically adjusted, and the extended Kalman filter is used for optimization to ultimately output high-precision positioning results.
It significantly improves the accuracy and stability of Bluetooth positioning, adapts to complex indoor environments, reduces data collection power consumption and bandwidth occupancy, and enhances the system's dynamic adaptability and positioning accuracy.
Smart Images

Figure CN120166357B_ABST
Abstract
Description
Technical field
[0001] The present invention relates to the field of wireless communication technology, and in particular to a Bluetooth-based indoor precise positioning method and system. [Background Technology]
[0002] Precision indoor positioning technology is a key enabler for the Internet of Things, smart cities, and intelligent manufacturing. Currently, mainstream indoor positioning methods include Wi-Fi positioning, Bluetooth positioning, and ultra-wideband positioning. Bluetooth-based indoor positioning solutions, due to their low cost, low power consumption, and ease of deployment, have attracted widespread attention. However, in complex indoor environments, Bluetooth signals can produce significant multipath propagation, severely interfering with positioning accuracy. Traditional Bluetooth-based positioning methods often rely on signal strength fingerprinting of a single base station or simple angle-of-arrival estimation techniques. These methods suffer from insufficient multipath interference mitigation capabilities and inadequate positioning accuracy.
[0003] In recent years, researchers have proposed several improvements, such as leveraging the collaboration of multiple base stations or introducing array antenna structures to enhance angle-of-arrival estimation accuracy. However, these solutions fail to effectively and dynamically adapt to changes in indoor environments and complex multipath propagation conditions, and they fail to fully utilize the high-dimensional information from multiple base stations for effective fusion. Furthermore, traditional fusion methods typically employ static weights, which are poorly adaptable to dynamic signal environments and make it difficult to achieve real-time, high-precision positioning corrections.
[0004] Therefore, there is an urgent need for a new technical solution that can dynamically process Bluetooth signals in complex multipath environments in real time. By utilizing the multi-dimensional information obtained collaboratively by multiple base stations and subarrays, and through a fusion algorithm with dynamic weight adjustment and machine learning technology, the arrival angle can be finely corrected and accurately integrated, thereby significantly improving the Bluetooth positioning accuracy and stability in complex indoor environments. [Summary of the invention]
[0005] In view of this, an embodiment of the present invention provides a Bluetooth-based indoor precise positioning method and system.
[0006] In a first aspect, an embodiment of the present invention provides a Bluetooth-based indoor precise positioning method, the method comprising:
[0007] S1. Calculate a real-time comprehensive confidence score according to a preset period, and switch the IQ data sampling mode based on the real-time comprehensive confidence score;
[0008] S2. collecting IQ data based on the corresponding sampling mode, and then preprocessing, compressing and encoding to obtain preprocessed data;
[0009] S3, after decoding the pre-processed data, reconstruct the IQ data using an adaptive dictionary reconstruction algorithm;
[0010] S4, multi-path identification and separation of reconstructed IQ data through dynamic time-frequency graph clustering;
[0011] S5. Receive path separation results from multiple base stations, perform weighted fusion on the preliminary estimation results of multiple subarrays, and perform AoA correction on the fusion results using a machine learning correction model;
[0012] S6. Dynamically adjust the weight of least squares positioning, and output the final positioning result after optimization using extended Kalman filter.
[0013] According to the above aspects and any possible implementation, an implementation is further provided, wherein S1 specifically includes:
[0014] S11. Calculate the comprehensive confidence score according to the preset period. The calculation formula is:
[0015] ARI(t)=ω1CSI var (t)+ω2RSSI var (t)+ω3PhaseDiff var (t)+ω4V tar (t)+ω5E error (t),
[0016] Among them, ARI(t) is the real-time comprehensive confidence score corresponding to time t, CSI var (t) is the channel state information variance corresponding to time t, RSSI var (t) is the normalized variance of the signal strength RSSI fluctuation corresponding to time t, PhaseDiff var (t) is the normalized variance of the phase difference corresponding to time t, V tar (t) is the normalized value of the terminal moving speed corresponding to time t, E error (t) is the root mean square normalized value of the positioning error corresponding to time t; where,
[0017] is the variance of the CSI amplitude in the last N sampling periods, is the variance of the CSI phase in the last N sampling periods, and are the maximum historical CSI amplitude variance and the maximum CSI phase variance respectively;
[0018] is the variance of the RSSI value in the last N cycles, is the maximum value of historical RSSI variance;
[0019] is the variance of the phase difference between adjacent sampling points of the latest N cycles of IQ data, is the maximum value of the historical phase difference variance;
[0020] and is the real-time acceleration of the IMU acceleration sensor in the XYZ direction, V max is the maximum speed observed in history;
[0021] e i is the positioning error of the ith cycle, e max is the maximum value of historical positioning error;
[0022] ω 1-5 is the weight coefficient corresponding to each indicator;
[0023] S12, if the current sampling mode is low resolution, if ARI(t)≥ARI H , the data sampling mode of the next cycle is switched to high-resolution sampling mode; if ARI(t)<ARI H , then the data sampling mode of the next cycle continues to maintain the low-resolution sampling mode;
[0024] If the current sampling mode is high resolution, if ARI(t)≤ARI L , the data sampling mode of the next cycle is switched to the low-resolution sampling mode; if ARI(t)>ARI L , then the data sampling mode of the next cycle will continue to maintain the high-resolution sampling mode;
[0025] S13. After defining the state, action space, and reward function, the weight coefficients corresponding to each indicator are updated through the reinforcement learning model.
[0026] According to the above aspects and any possible implementation, an implementation is further provided, wherein S13 specifically includes:
[0027] S131. Define the historical indicator sequence of the most recent M consecutive periods as the reinforcement learning state:
[0028] S(t)={CSI var (tk),RSSI var (tk),PhaseDiff var (tk),V tar (tk),E error (tk)},
[0029] Where, k = 0, 1, ···, M-1;
[0030] The adjustment of the five weight coefficients is defined as the reinforcement learning action space:
[0031] A(t) = {Δω1, Δω2, Δω3, Δω4, Δω5}, where A(t) is the action space set, i.e., the actions performed in period T, and -0.05≤Δω i ≤0.05;
[0032] The weight update formula is: Among them, Δω i is the adjustment amount of the i-th weight coefficient, is the updated i-th weight coefficient, is the i-th weight coefficient in the previous cycle;
[0033] The reward function is defined as: R(t) = -[β·E error (t)+γPower cost (t)],E error (t) is the current positioning error, Power cost (t) is the energy consumption of the current cycle, β is the accuracy trade-off parameter, and γ is the energy consumption trade-off parameter;
[0034] S132, input S(t), A(t) and R(t), through the formula Calculate the Critic network loss function, where y i =R j +γ RL ·Q′(s j+1 ,μ′(s j+1 )), Q(s,a) is the current Q value of the Critic network, Q′(s,a) is the target Critic network output, μ′(s j+1 ) is the target Actor network action output, γ RL is the discount factor, R j rewards for the environment;
[0035] S133, through the formula Calculate the Critic network gradient, where μ(s j ) is the action output of the Actor network’s current strategy, and θ μ Parameters of the Actor network;
[0036] S134. When the reward function converges, the training is completed, and actions are generated in real time according to the trained Actor network, thereby updating the weight coefficients through the weight update formula.
[0037] According to the above aspects and any possible implementation, an implementation is further provided, wherein S2 specifically includes:
[0038] S21, after setting the sampling rates of the high-resolution mode and the low-resolution mode, collect IQ data according to the current sampling mode;
[0039] S22. After performing multipath filtering on the collected IQ data, output the filtered IQ signal:
[0040] IQ filtered (n) = h(n)·IQ(n) + (1-h(n))·IQ(n-1), where h(n) is the adaptive filtering weight coefficient. Δφ(n) is the phase difference of the nth sampling point, is the phase difference change threshold, n is the current sampling point, and m is the index of all sampling points in the window;
[0041] S23, performing segmented FFT transformation on the filtered IQ signal: k=0,1,...,N s -1, where IQ filtered (n) is the IQ data of the nth sampling point after filtering, N s is the number of FFT sampling points, k represents the frequency point k, Represents the complex exponential factor of FFT transformation;
[0042] Select high energy subcarrier point as the characteristic frequency point: k selected ={k||X(k)| 2 ≥γ·max(|X(k)| 2 )}, γ is the characteristic energy threshold;
[0043] S23, for characteristic frequency point k selected Sparse representation is performed, and the sparse coefficient calculation formula is: C(k)=X(k), where k∈k selected ;
[0044] The phase is calculated differentially: Δθ(k) = angle[C(k)] - angle[C(k-1)], and the amplitude is logarithmically quantized:
[0045] The encoded data is represented as: C diff (k) = {A log (k),Δθ(k)};
[0046] S24. Compress the encoded data using entropy coding.
[0047] According to the above aspects and any possible implementation, an implementation is further provided, wherein S3 specifically includes:
[0048] S31, decoding the compressed and encoded preprocessed data to obtain a decoded sparse spectrum data vector y, where: M represents the length of the sparse spectrum data vector;
[0049] S32, using the adaptive dictionary matrix D to sparsely represent the original complete spectrum data vector x, satisfying the following relationship: x = Ds, where N represents the length of the original spectrum data vector, is the adaptive sparse dictionary matrix, Sparse vector, L is the number of dictionary atoms;
[0050] S33, establish the measurement model: y = Φx = ΦDs = As, is the measurement matrix, is the perception matrix;
[0051] Solve the following sparse optimization problem to obtain the sparse coefficient vector S: Among them, ||s||1 represents the l1 norm of the sparse coefficient vector, and ε represents the reconstruction error threshold;
[0052] S34, using the K-SVD online adaptive dictionary update algorithm to iteratively update the adaptive sparse dictionary matrix D, with the specific update target being:
[0053] Where X=[X1,X2,...,X T ] represents the data matrix reconstructed in the last T cycles, S=[S1,S2,...,S T ],||s i ||0≤K0 limits the sparsity of each signal, ||d j ||2=1 restricts dictionary atoms to unit vectors, is the Frobenius norm of the matrix;
[0054] S35, the optimal sparse coefficient vector S * Used for IQ data reconstruction, the reconstructed spectrum data is expressed as: x * =DS * , the reconstructed time domain IQ data is obtained by inverse fast Fourier transform:
[0055] IQ reconstructed (n) is the nth reconstructed time domain IQ sampling point, x * (k) is the kth spectrum data point, and j is the imaginary unit.
[0056] According to the above aspects and any possible implementation, an implementation is further provided, wherein S4 specifically includes:
[0057] S41. Obtain the reconstructed IQ data sequence IQ(n), perform short-time Fourier transform on IQ(n), and obtain a time-frequency domain signal STFT(t,f), where: t is time, f is frequency, and ω(N-1) is the window function;
[0058] S42. Construct a dynamic time-frequency graph G = (V, E), where V is a node set and E is an edge set; wherein the node set V is represented as V = {v t,f |STFT(t,f)≠0}, each pair of nodes The edge weight ω between ij Defined as φ t,f =arg(STFT(t,f)) is the phase of the (t,f)th point, σ t is the time-frequency similarity control parameter, σ φ is the phase coherence control parameter; the graph G is subjected to a clustering algorithm based on the graph structure, and a cluster set C corresponding to multiple paths is obtained, which is C1, C2, ..., C K}, C k is the set of time-frequency points corresponding to the k-th multipath path;
[0059] S43. For each cluster C k Construct the corresponding sub-frequency graph:
[0060]
[0061] S44. Perform inverse short-time Fourier transform on each sub-spectrogram to obtain the time domain IQ signal of each path:
[0062] IQ k (n) = ISTFT (STFT k (t,f)),k=1,2,...,K.
[0063] According to the above aspects and any possible implementation, an implementation is further provided, wherein S5 specifically includes:
[0064] S51, the time domain IQ signal of each path performs a high-resolution angle estimation algorithm to estimate the arrival angle and obtain a preliminary angle set represents the initial angle estimate of the k-th path by the s-th subarray of the b-th base station;
[0065] S52: The central server performs path alignment and weighted fusion on the estimation results from each base station subarray, and calculates the fusion angle of the kth path:
[0066] is the weighting coefficient and is the confidence of the kth path, γ b,s is the static or dynamic quality factor of the subarray;
[0067] S53, fusion angle results Input machine learning correction model f ML After processing in, the final arrival angle estimation set is output
[0068] In the above aspects and any possible implementation, a further implementation is provided, wherein the machine learning correction model f ML It is obtained by the following method:
[0069] Construct a training dataset and combine the preliminary fusion AoA estimates obtained from multiple base station subarrays and context feature vector As input features, the true angle of arrival as a supervisory label;
[0070] The input features are normalized to obtain feature data of uniform scale;
[0071] A machine learning correction model is established with the corrected AoA as the regression target. The training objective of the machine learning correction model is to minimize the error loss function between the predicted arrival angle and the true arrival angle:
[0072]
[0073] Use cross-validation and hyperparameter optimization methods to determine the optimal parameter combination of the model and obtain the final machine learning correction model f ML .
[0074] According to the above aspects and any possible implementation, an implementation is further provided, wherein S6 specifically includes:
[0075] S61. According to the arrival angle of each base station, establish the corresponding linear position equation: A b x+B b y=C b ,in,
[0076] S62, constructing the position estimation error function:
[0077] Construct the matrix:
[0078] p=[x,y] T ;
[0079] The least squares position solution is adjusted by dynamic weights, and the adjusted least squares estimated position solution is expressed as follows: Among them, W=diag{α1,α2,...,α B}, α1 is the confidence weight of each arrival angle;
[0080] S63: Use the adjusted arrival angle positioning solution as measurement input, optimize the positioning using the extended Kalman filter, and then output the final positioning result.
[0081] In a second aspect, an embodiment of the present invention provides a Bluetooth-based indoor precise positioning system, the system comprising:
[0082] a switching module, configured to calculate a real-time integrated confidence score according to a preset period, and switch the IQ data sampling mode based on the real-time integrated confidence score;
[0083] A preprocessing module is used to collect IQ data based on a corresponding sampling mode, and then perform preprocessing, compression and encoding to obtain preprocessed data;
[0084] A reconstruction module is used to reconstruct the IQ data after decoding the preprocessed data using an adaptive dictionary reconstruction algorithm;
[0085] a processing module for performing multipath identification and separation on the reconstructed IQ data by clustering dynamic time-frequency graphs;
[0086] The correction module is used to receive the path separation results of multiple base stations, perform weighted fusion on the preliminary estimation results of multiple subarrays, and perform AoA correction on the fusion results through a machine learning correction model.
[0087] The optimization module is used to dynamically adjust the weight of least squares positioning and output the final positioning result after optimization using the extended Kalman filter.
[0088] One of the above technical solutions has the following beneficial effects:
[0089] (1) Through the dynamic evaluation of real-time comprehensive confidence scores and the adaptive switching of multi-resolution IQ data sampling modes, the power consumption and bandwidth occupancy of data acquisition are effectively reduced, and the system's adaptability to dynamic environments is improved.
[0090] (2) The adaptive dictionary reconstruction algorithm is used to achieve high-precision recovery of compressed data, which significantly improves the accuracy of signal reconstruction and data transmission efficiency, and further enhances positioning stability.
[0091] (3) Through the dynamic time-frequency graph clustering algorithm, the multipath signals can be effectively identified and separated, significantly reducing the impact of the multipath effect on positioning accuracy.
[0092] (4) The AoA estimation fusion technology based on the machine learning correction model is adopted, so that the preliminary AoA estimation of each base station can be accurately corrected, which greatly improves the estimation accuracy and reliability of the positioning angle.
[0093] (5) By dynamically adjusting the least squares positioning weights and optimizing them using the extended Kalman filter, real-time, high-precision target positioning output is achieved. The positioning accuracy and stability are significantly better than existing technologies, and it is particularly suitable for high-precision Bluetooth positioning needs in complex indoor environments.
Brief Description of the Drawings
[0094] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0095] Figure 1 A schematic diagram of a flow chart of a Bluetooth-based indoor precise positioning method provided by an embodiment of the present invention;
[0096] Figure 2 This is a functional block diagram of a Bluetooth-based indoor precise positioning system provided by an embodiment of the present invention;
[0097] Figure 3 This is a schematic diagram of the hardware structure of the Bluetooth-based indoor precise positioning system provided by an embodiment of the present invention. [Specific implementation method]
[0098] To make the objectives, technical solutions, and advantages of the present invention more clear, the technical solutions of the present invention will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0099] Please refer to Figure 1 , which is a flow chart of a Bluetooth-based indoor precise positioning method provided by an embodiment of the present invention. As shown in the figure, the method includes the following steps:
[0100] S1. Calculate a real-time comprehensive confidence score according to a preset period, and switch the IQ data sampling mode based on the real-time comprehensive confidence score;
[0101] S2. collecting IQ data based on the corresponding sampling mode, and then preprocessing, compressing and encoding to obtain preprocessed data;
[0102] S3, after decoding the pre-processed data, reconstruct the IQ data using an adaptive dictionary reconstruction algorithm;
[0103] S4, multi-path identification and separation of reconstructed IQ data through dynamic time-frequency graph clustering;
[0104] S5. Receive path separation results from multiple base stations, perform weighted fusion on the preliminary estimation results of multiple subarrays, and perform AoA correction on the fusion results using a machine learning correction model;
[0105] S6. Dynamically adjust the weight of least squares positioning, and output the final positioning result after optimization using extended Kalman filter.
[0106] Specifically, the S1 includes:
[0107] S11. Calculate the comprehensive confidence score according to the preset period. The calculation formula is:
[0108] ARI(t)=ω1CSI var (t)+ω2RSSI var (t)+ω3PhaseDiff var (t)+ω4V tar (t)+ω5E error (t),
[0109] Among them, ARI(t) is the real-time comprehensive confidence score corresponding to time t, CSI var (t) is the channel state information variance corresponding to time t, RSSI var (t) is the normalized variance of the signal strength RSSI fluctuation corresponding to time t, PhaseDiff var (t) is the normalized variance of the phase difference corresponding to time t, V tar (t) is the normalized value of the terminal moving speed corresponding to time t, E error (t) is the root mean square normalized value of the positioning error corresponding to time t; where,
[0110] is the variance of the CSI amplitude in the last N sampling periods, is the variance of the CSI phase in the last N sampling periods, and are the maximum historical CSI amplitude variance and the maximum CSI phase variance respectively;
[0111] is the variance of the RSSI value in the last N cycles, is the maximum value of historical RSSI variance;
[0112] is the variance of the phase difference between adjacent sampling points of the latest N cycles of IQ data, is the maximum value of the historical phase difference variance;
[0113] and is the real-time acceleration of the IMU acceleration sensor in the XYZ direction, V max is the maximum speed observed in history;
[0114] e i is the positioning error of the ith cycle, e max is the maximum value of historical positioning error;
[0115] ω 1-5 is the weight coefficient corresponding to each indicator;
[0116] S12, if the current sampling mode is low resolution, if ARI(t)≥ARI H , the data sampling mode of the next cycle is switched to high-resolution sampling mode; if ARI(t)<ARI H , then the data sampling mode of the next cycle continues to maintain the low-resolution sampling mode;
[0117] If the current sampling mode is high resolution, if ARI(t)≤ARI L , the data sampling mode of the next cycle is switched to the low-resolution sampling mode; if ARI(t)>ARI L , then the data sampling mode of the next cycle will continue to maintain the high-resolution sampling mode;
[0118] S13. After defining the state, action space, and reward function, the weight coefficients corresponding to each indicator are updated through the reinforcement learning model.
[0119] Furthermore, the S13 specifically includes:
[0120] S131. Define the historical indicator sequence of the most recent M consecutive periods as the reinforcement learning state:
[0121] S(t)={CSI var (tk),RSSI var (tk),PhaseDiff var (tk),V tar (tk),E error (tk)},
[0122] Where, k = 0, 1, ···, M-1;
[0123] The adjustment of the five weight coefficients is defined as the reinforcement learning action space:
[0124] A(t) = {Δω1, Δω2, Δω3, Δω4, Δω5}, where A(t) is the action space set, i.e., the actions performed in period T, and -0.05≤Δω i ≤0.05;
[0125] The weight update formula is: Among them, Δω i is the adjustment amount of the i-th weight coefficient, is the updated i-th weight coefficient, is the i-th weight coefficient in the previous cycle;
[0126] The reward function is defined as: R(t) = -[β·E error (t)+γPower cost (t)],E error (t) is the current positioning error, Power cost (t) is the energy consumption of the current cycle, β is the accuracy trade-off parameter, and γ is the energy consumption trade-off parameter;
[0127] S132, input S(t), A(t) and R(t), through the formula Calculate the Critic network loss function, where y i =R j +γ RL ·Q′(s j+1 ,μ′(s j+1 )), Q(s,a) is the current Q value of the Critic network, Q′(s,a) is the target Critic network output, μ′(s j+1 ) is the target Actor network action output, γ RL is the discount factor, R j rewards for the environment;
[0128] S133, through the formula Calculate the Critic network gradient, where μ(s j ) is the action output of the Actor network’s current strategy, and θ μ Parameters of the Actor network;
[0129] S134. When the reward function converges, the training is completed, and actions are generated in real time according to the trained Actor network, thereby updating the weight coefficients through the weight update formula.
[0130] Furthermore, the S2 specifically includes:
[0131] S21, after setting the sampling rates of the high-resolution mode and the low-resolution mode, collect IQ data according to the current sampling mode;
[0132] S22. After performing multipath filtering on the collected IQ data, output the filtered IQ signal:
[0133] IQ filtered (n) = h(n)·IQ(n) + (1-h(n))·IQ(n-1), where h(n) is the adaptive filtering weight coefficient. Δφ(n) is the phase difference of the nth sampling point, is the phase difference change threshold, n is the current sampling point, and m is the index of all sampling points in the window;
[0134] S23, performing segmented FFT transformation on the filtered IQ signal: k=0,1,...,N s -1, where IQ filtered (n) is the IQ data of the nth sampling point after filtering, N s is the number of FFT sampling points, k represents the frequency point k, Represents the complex exponential factor of FFT transformation;
[0135] Select high energy subcarrier point as the characteristic frequency point: k selected ={k||X(k)| 2 ≥γ·max(|X(k)| 2 )}, γ is the characteristic energy threshold;
[0136] S23, for characteristic frequency point k selected Sparse representation is performed, and the sparse coefficient calculation formula is: C(k)=X(k), where k∈k selected ;
[0137] The phase is calculated differentially: Δθ(k) = angle[C(k)] - angle[C(k-1)], and the amplitude is logarithmically quantized:
[0138] The encoded data is represented as: C diff (k) = {A log (k),Δθ(k)};
[0139] S24. Compress the encoded data using entropy coding.
[0140] Furthermore, the S3 specifically includes:
[0141] S31, decoding the compressed and encoded preprocessed data to obtain a decoded sparse spectrum data vector y, where: M represents the length of the sparse spectrum data vector;
[0142] S32, using the adaptive dictionary matrix D to sparsely represent the original complete spectrum data vector x, satisfying the following relationship: x = Ds, where N represents the length of the original spectrum data vector, is the adaptive sparse dictionary matrix, Sparse vector, L is the number of dictionary atoms;
[0143] S33, establish the measurement model: y = Φx = ΦDs = As, is the measurement matrix, is the perception matrix;
[0144] Solve the following sparse optimization problem to obtain the sparse coefficient vector S: Among them, ||s||1 represents the l1 norm of the sparse coefficient vector, and ε represents the reconstruction error threshold;
[0145] S34, using the K-SVD online adaptive dictionary update algorithm to iteratively update the adaptive sparse dictionary matrix D, with the specific update target being:
[0146] Where X=[X1,X2,...,X T ] represents the data matrix reconstructed in the last T cycles, S=[S1,S2,...,S T ],||s i ||0≤K0 limits the sparsity of each signal, ||d j ||2=1 restricts dictionary atoms to unit vectors, is the Frobenius norm of the matrix;
[0147] S35, the optimal sparse coefficient vector S * Used for IQ data reconstruction, the reconstructed spectrum data is expressed as: x * =DS * , the reconstructed time domain IQ data is obtained by inverse fast Fourier transform:
[0148] IQ reconstructed (n) is the nth reconstructed time domain IQ sampling point, x * (k) is the kth spectrum data point, and j is the imaginary unit.
[0149] Furthermore, the S4 specifically includes:
[0150] S41. Obtain the reconstructed IQ data sequence IQ(n), perform short-time Fourier transform on IQ(n), and obtain a time-frequency domain signal STFT(t,f), where: t is time, f is frequency, and ω(N-1) is the window function;
[0151] S42. Construct a dynamic time-frequency graph G = (V, E), where V is a node set and E is an edge set; wherein the node set V is represented as V = {v t,f |STFT(t,f)≠0}, each pair of nodes The edge weight ω between ij Defined as φ t,f =arg(STFT(t,f)) is the phase of the (t,f)th point, σ t is the time-frequency similarity control parameter, σ φ is the phase coherence control parameter; the graph G is subjected to a clustering algorithm based on the graph structure, and a cluster set C corresponding to multiple paths is obtained, which is C1, C2, ..., C K}, C k is the set of time-frequency points corresponding to the k-th multipath path;
[0152] S43. For each cluster C k Construct the corresponding sub-frequency graph:
[0153]
[0154] S44. Perform inverse short-time Fourier transform on each sub-spectrogram to obtain the time domain IQ signal of each path:
[0155] IQ k (n) = ISTFT (STFT k (t,f)),k=1,2,...,K.
[0156] Furthermore, the S5 specifically includes:
[0157] S51, the time domain IQ signal of each path performs a high-resolution angle estimation algorithm to estimate the arrival angle and obtain a preliminary angle set represents the initial angle estimate of the k-th path by the s-th subarray of the b-th base station;
[0158] S52: The central server performs path alignment and weighted fusion on the estimation results from each base station subarray, and calculates the fusion angle of the kth path:
[0159] is the weighting coefficient and is the confidence of the kth path, γ b,s is the static or dynamic quality factor of the subarray;
[0160] S53, fusion angle results Input machine learning correction model f ML After processing in, the final arrival angle estimation set is output
[0161] Furthermore, the machine learning correction model f ML It is obtained by the following method:
[0162] Construct a training dataset and combine the preliminary fusion AoA estimates obtained from multiple base station subarrays and context feature vector As input features, the true angle of arrival as a supervisory label;
[0163] The input features are normalized to obtain feature data of uniform scale;
[0164] A machine learning correction model is established with the corrected AoA as the regression target. The training objective of the machine learning correction model is to minimize the error loss function between the predicted arrival angle and the true arrival angle:
[0165]
[0166] Use cross-validation and hyperparameter optimization methods to determine the optimal parameter combination of the model and obtain the final machine learning correction model f ML .
[0167] Furthermore, the S6 specifically includes:
[0168] S61. According to the arrival angle of each base station, establish the corresponding linear position equation: A b x+B b y=C b ,in,
[0169] S62, constructing the position estimation error function:
[0170] Construct the matrix:
[0171] p=[x,y] T ;
[0172] The least squares position solution is adjusted by dynamic weights, and the adjusted least squares estimated position solution is expressed as follows: Among them, W=diag{α1,α2,...,α B}, α1 is the confidence weight of each arrival angle;
[0173] S63: Use the adjusted arrival angle positioning solution as measurement input, optimize the positioning using the extended Kalman filter, and then output the final positioning result.
[0174] The embodiments of the present invention further provide device embodiments for implementing the steps and methods in the above method embodiments.
[0175] Please refer to Figure 2 , which is Figure 2 This is a functional block diagram of a Bluetooth-based indoor precise positioning system provided by an embodiment of the present invention. The system includes:
[0176] A switching module 210 is configured to calculate a real-time integrated confidence score according to a preset period and switch the IQ data sampling mode based on the real-time integrated confidence score;
[0177] The preprocessing module 220 is used to collect IQ data based on the corresponding sampling mode, and then preprocess, compress and encode it to obtain preprocessed data;
[0178] The reconstruction module 230 is used to reconstruct the IQ data by using an adaptive dictionary reconstruction algorithm after decoding the pre-processed data;
[0179] a processing module 240 for performing multipath identification and separation on the reconstructed IQ data by dynamic time-frequency graph clustering;
[0180] The correction module 250 is configured to receive the path separation results of multiple base stations, perform weighted fusion on the preliminary estimation results of multiple subarrays, and perform AoA correction on the fusion results using a machine learning correction model.
[0181] The optimization module 260 is used to dynamically adjust the weight of the least squares positioning, and output the final positioning result after optimization using the extended Kalman filter.
[0182] One of the above technical solutions has the following beneficial effects:
[0183] (1) Through the dynamic evaluation of real-time comprehensive confidence scores and the adaptive switching of multi-resolution IQ data sampling modes, the power consumption and bandwidth occupancy of data acquisition are effectively reduced, and the system's adaptability to dynamic environments is improved.
[0184] (2) The adaptive dictionary reconstruction algorithm is used to achieve high-precision recovery of compressed data, which significantly improves the accuracy of signal reconstruction and data transmission efficiency, and further enhances positioning stability.
[0185] (3) Through the dynamic time-frequency graph clustering algorithm, the multipath signals can be effectively identified and separated, significantly reducing the impact of the multipath effect on positioning accuracy.
[0186] (4) The AoA estimation fusion technology based on the machine learning correction model is adopted, so that the preliminary AoA estimation of each base station can be accurately corrected, which greatly improves the estimation accuracy and reliability of the positioning angle.
[0187] (5) By dynamically adjusting the least squares positioning weights and optimizing them using the extended Kalman filter, real-time, high-precision target positioning output is achieved. The positioning accuracy and stability are significantly better than existing technologies, and it is particularly suitable for high-precision Bluetooth positioning needs in complex indoor environments.
[0188] Since each unit module in this embodiment can execute Figure 1 For the method shown in the embodiment, the part not described in detail in this embodiment can be referred to Figure 1 Related instructions.
[0189] Please refer to Figure 3 , which is a schematic diagram of the hardware structure of a Bluetooth-based indoor precise positioning system provided by an embodiment of the present invention. The data prediction device includes at least one processor and a memory. The at least one processor is coupled to the memory and is configured to read and execute instructions in the memory to perform the Bluetooth-based indoor precise positioning method provided by an embodiment of the present invention.
[0190] At the hardware level, the device may include a processor and, optionally, an internal bus, a network interface, and memory. The memory may include internal memory, such as high-speed random-access memory (RAM), and may also include non-volatile memory, such as at least one disk drive. Of course, the device may also include other hardware required for the service.
[0191] The processor, network interface, and memory can be interconnected via an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus. The bus can be divided into an address bus, a data bus, a control bus, and the like.
[0192] The memory is used to store programs. Specifically, the program may include program code, which includes computer operating instructions. The memory may include internal memory and non-volatile memory, and provides instructions and data to the processor.
[0193] The steps of the method disclosed in conjunction with the embodiments of the present invention can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules within the decoding processor. The software modules can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. The storage medium is located in the memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the method described above.
[0194] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0195] For the convenience of description, the above device is described as being divided into various units or modules according to their functions. Of course, when implementing the present invention, the functions of each unit or module can be implemented in the same or multiple software and / or hardware.
[0196] It will be understood by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0197] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0198] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0199] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0200] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0201] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0202] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.
[0203] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0204] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0205] The present invention may be described in the general context of computer-executable instructions, such as program modules, executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. The present invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media, including storage devices.
[0206] The various embodiments of the present invention are described in a progressive manner. Similar portions between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiment is generally similar to the method embodiment, so its description is relatively simple. For relevant portions, refer to the description of the method embodiment.
[0207] The foregoing is merely an embodiment of the present invention and is not intended to limit the present invention. It will be apparent to those skilled in the art that various modifications and variations of the present invention are possible. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention are intended to be included within the scope of the claims of the present invention.
Claims
1. A Bluetooth-based indoor precise positioning method, characterized in that: The method comprises: S1. Calculate a real-time comprehensive confidence score according to a preset period, and switch the IQ data sampling mode based on the real-time comprehensive confidence score; S2. collecting IQ data based on the corresponding sampling mode, and then preprocessing, compressing and encoding to obtain preprocessed data; S3, after decoding the pre-processed data, reconstruct the IQ data using an adaptive dictionary reconstruction algorithm; S4, multi-path identification and separation of reconstructed IQ data through dynamic time-frequency graph clustering; S5. Receive path separation results from multiple base stations, perform weighted fusion on the preliminary estimation results of multiple subarrays, and perform AoA correction on the fusion results using a machine learning correction model; S6. Dynamically adjust the weight of least squares positioning, optimize using extended Kalman filter and output the final positioning result; Said S1 specifically includes: S11. Calculate the comprehensive confidence score according to the preset period. The calculation formula is: ARI(t)=ω1CSI var (t)+ω2RSSI var (t)+ω3PhaseDiff var (t)+ω4V tar (t)+ω5E error (t), Among them, ARI(t) is the real-time comprehensive confidence score corresponding to time t, CSI var (t) is the channel state information variance corresponding to time t, RSSI var (t) is the normalized variance of the signal strength RSSI fluctuation corresponding to time t, PhaseDiff var (t) is the normalized variance of the phase difference corresponding to time t, V tar (t) is the normalized value of the terminal moving speed corresponding to time t, E error (t) is the root mean square normalized value of the positioning error corresponding to time t; where, is the variance of the CSI amplitude in the last N sampling periods, is the variance of the CSI phase in the last N sampling periods, and are the maximum historical CSI amplitude variance and the maximum CSI phase variance respectively; is the variance of the RSSI value in the last N cycles, is the maximum value of historical RSSI variance; is the variance of the phase difference between adjacent sampling points of the latest N cycles of IQ data, is the maximum value of the historical phase difference variance; and is the real-time acceleration of the IMU acceleration sensor in the XYZ direction, V max is the maximum speed observed in history; e i is the positioning error of the ith cycle, e max is the maximum value of historical positioning error; ω 1-5 is the weight coefficient corresponding to each indicator; S12, if the current sampling mode is low resolution, if ARI(t)≥ARI H , the data sampling mode of the next cycle is switched to high-resolution sampling mode; if ARI(t)<ARI H , then the data sampling mode of the next cycle continues to maintain the low-resolution sampling mode; If the current sampling mode is high resolution, if ARI(t)≤ARI L , the data sampling mode of the next cycle is switched to the low-resolution sampling mode; if ARI(t)>ARI L , then the data sampling mode of the next cycle will continue to maintain the high-resolution sampling mode; S13. After defining the state, action space, and reward function, the weight coefficients corresponding to each indicator are updated through the reinforcement learning model.
2. The Bluetooth-based indoor precise positioning method according to claim 1, characterized in that: The S13 specifically includes: S131. Define the historical indicator sequence of the most recent M consecutive periods as the reinforcement learning state: S(t) = {CSI var (t - k), RSSI var (t - k), PhaseDiff var (t - k), V tar (t - k), E error (t - k)}, where k = 0, 1, ···, M - 1; The adjustment of the five weight coefficients is defined as the reinforcement learning action space: A(t) = {Δω1, Δω2, Δω3, Δω4, Δω5}, where A(t) is the action space set, i.e., the actions performed in period T, and -0.05≤Δω i ≤0.05; The weight update formula is: Among them, Δω i is the adjustment amount of the i-th weight coefficient, is the updated i-th weight coefficient, is the i-th weight coefficient in the previous cycle; The reward function is defined as: R(t) = -[β·E error (t)+γPower cost (t)],E error (t) is the current positioning error, Power cost (t) is the energy consumption of the current cycle, β is the accuracy trade-off parameter, and γ is the energy consumption trade-off parameter; S132, input S(t), A(t) and R(t), through the formula Calculate the Critic network loss function, where y i =R j +γ RL ·Q′(s j+1 ,μ′(s j+1 )), Q(s,a) is the current Q value of the Critic network, Q′(s,a) is the target Critic network output, μ′(s j+1 ) is the target Actor network action output, γ RL is the discount factor, R j rewards for the environment; S133, through the formula Calculate the Critic network gradient, where μ(s j ) is the action output of the Actor network’s current strategy, and θ μ Parameters of the Actor network; S134. When the reward function converges, the training is completed, and actions are generated in real time according to the trained Actor network, thereby updating the weight coefficients through the weight update formula.
3. The Bluetooth-based indoor precise positioning method according to claim 1, characterized in that: The S2 specifically includes: S21, after setting the sampling rates of the high-resolution mode and the low-resolution mode, collect IQ data according to the current sampling mode; S22. After performing multipath filtering on the collected IQ data, output the filtered IQ signal: IQ filtered (n) = h(n)·IQ(n) + (1-h(n))·IQ(n-1), where h(n) is the adaptive filtering weight coefficient. Δφ(n) is the phase difference of the nth sampling point, is the phase difference change threshold, n is the current sampling point, and m is the index of all sampling points in the window; S23, performing segmented FFT transformation on the filtered IQ signal: Among them, IQ filtered (n) is the IQ data of the nth sampling point after filtering, N s is the number of FFT sampling points, k represents the frequency point k, Represents the complex exponential factor of FFT transformation; Select high energy subcarrier point as the characteristic frequency point: k selected ={k||X(k)| 2 ≥γ·max(|X(k)| 2 )}, γ is the characteristic energy threshold; S23, for characteristic frequency point k selected Sparse representation is performed, and the sparse coefficient calculation formula is: C(k)=X(k), where k∈k selected ; The phase is calculated differentially: Δθ(k) = angle[C(k)] - angle[C(k-1)], and the amplitude is logarithmically quantized: The encoded data is represented as: C diff (k) = {A log (k),Δθ(k)}; S24. Compress the encoded data using entropy coding.
4. The Bluetooth-based indoor precise positioning method according to claim 1, characterized in that: The S3 specifically includes: S31, decoding the compressed and encoded preprocessed data to obtain a decoded sparse spectrum data vector y, where: M represents the length of the sparse spectrum data vector; S32, using the adaptive dictionary matrix D to sparsely represent the original complete spectrum data vector x, satisfying the following relationship: x = Ds, where N represents the length of the original spectrum data vector, is the adaptive sparse dictionary matrix, Sparse vector, L is the number of dictionary atoms; S33. Establishing a measurement model: is the measurement matrix, is the perception matrix; Solve the following sparse optimization problem to obtain the sparse coefficient vector S: Among them, ||s||1 represents the l1 norm of the sparse coefficient vector, and ε represents the reconstruction error threshold; S34, using the K-SVD online adaptive dictionary update algorithm to iteratively update the adaptive sparse dictionary matrix D, with the specific update target being: Where X=[X1,X2,...,X T ] represents the data matrix reconstructed in the last T cycles, S=[S1,S2,...,S T ],||s i ||0≤K0 limits the sparsity of each signal, ||d j ||2=1 restricts dictionary atoms to unit vectors, is the Frobenius norm of the matrix; S35, the optimal sparse coefficient vector S * Used for IQ data reconstruction, the reconstructed spectrum data is expressed as: x * =DS * , the reconstructed time domain IQ data is obtained by inverse fast Fourier transform: IQ reconstructed (n) is the nth reconstructed time domain IQ sampling point, x * (k) is the kth spectrum data point, and j is the imaginary unit.
5. The Bluetooth-based indoor precise positioning method according to claim 1, characterized in that: The S4 specifically includes: S41. Obtain the reconstructed IQ data sequence IQ(n), perform short-time Fourier transform on IQ(n), and obtain a time-frequency domain signal STFT(t,f), where: t is time, f is frequency, and ω(N-1) is the window function; S42. Construct a dynamic time-frequency graph G = (V, E), where V is a node set and E is an edge set; wherein the node set V is represented as V = {v t,f |STFT(t,f)≠0}, each pair of nodes The edge weight ω between ij Defined as φ t,f =arg(STFT(t,f)) is the phase of the (t,f)th point, σ t is the time-frequency similarity control parameter, σ φ is the phase coherence control parameter; the graph G is subjected to a clustering algorithm based on the graph structure, and a cluster set C corresponding to multiple paths is obtained, which is C1, C2, ..., C K }, C k is the set of time-frequency points corresponding to the k-th multipath path; S43. For each cluster C k Construct the corresponding sub-frequency graph: S44. Perform inverse short-time Fourier transform on each sub-spectrogram to obtain the time domain IQ signal of each path: IQ k (n)=ISTFT(STFT k (t,f)),k=1,2,...,K。 6. The Bluetooth-based indoor precise positioning method according to claim 1, characterized in that: The S5 specifically includes: S51, the time domain IQ signal of each path performs a high-resolution angle estimation algorithm to estimate the arrival angle and obtain a preliminary angle set represents the initial angle estimate of the k-th path by the s-th subarray of the b-th base station; S52: The central server performs path alignment and weighted fusion on the estimation results from each base station subarray, and calculates the fusion angle of the kth path: is the weighting coefficient and is the confidence of the kth path, γ b,s is the static or dynamic quality factor of the subarray; S53, fusion angle results Input machine learning correction model f ML After processing in, the final arrival angle estimation set is output 7. The Bluetooth-based indoor precise positioning method according to claim 6, characterized in that: The machine learning correction model f ML It is obtained by the following method: Construct a training dataset and combine the preliminary fusion AoA estimates obtained from multiple base station subarrays and context feature vector As input features, the true angle of arrival as a supervisory label; The input features are normalized to obtain feature data of uniform scale; A machine learning correction model is established with the corrected AoA as the regression target. The training objective of the machine learning correction model is to minimize the error loss function between the predicted arrival angle and the true arrival angle: Use cross-validation and hyperparameter optimization methods to determine the optimal parameter combination of the model and obtain the final machine learning correction model f ML .
8. The Bluetooth-based indoor precise positioning method according to claim 1, characterized in that: The S6 specifically includes: S61. According to the arrival angle of each base station, establish the corresponding linear position equation: A b x+B b y=C b ,in, S62, constructing the position estimation error function: Construct the matrix: p=[x,y] T ; The least squares position solution is adjusted by dynamic weights, and the adjusted least squares estimated position solution is expressed as follows: Among them, W=diag{α1,α2,...,α B }, α1 is the confidence weight of each arrival angle; S63: Use the adjusted arrival angle positioning solution as measurement input, optimize the positioning using the extended Kalman filter, and then output the final positioning result.
9. A Bluetooth-based indoor precise positioning system using the method according to any one of claims 1 to 8, characterized in that: The system comprises: a switching module, configured to calculate a real-time integrated confidence score according to a preset period, and switch the IQ data sampling mode based on the real-time integrated confidence score; A preprocessing module is used to collect IQ data based on a corresponding sampling mode, and then perform preprocessing, compression and encoding to obtain preprocessed data; A reconstruction module is used to reconstruct the IQ data after decoding the preprocessed data using an adaptive dictionary reconstruction algorithm; a processing module for performing multipath identification and separation on the reconstructed IQ data by clustering dynamic time-frequency graphs; The correction module is used to receive the path separation results of multiple base stations, perform weighted fusion on the preliminary estimation results of multiple subarrays, and perform AoA correction on the fusion results through a machine learning correction model. The optimization module is used to dynamically adjust the weight of least squares positioning and output the final positioning result after optimization using the extended Kalman filter.
Citation Information
Patent Citations
Method and device for improving indoor positioning precision
CN114755629A
Bluetooth-based positioning method and device
CN115460693A