Indoor high-precision positioning method realized by backstepping after indoor Bluetooth beacon coarse positioning

By broadcasting navigation assistance data in the Bluetooth beacon system and inferring the clock bias of the terminal receiver, combined with RTK differential data, the problem of insufficient indoor positioning accuracy was solved, achieving high-precision indoor positioning and reducing construction costs.

CN122017910APending Publication Date: 2026-05-12CHINA MOBILE GROUP DESIGN INST +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA MOBILE GROUP DESIGN INST
Filing Date
2026-02-02
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing indoor positioning technologies lack pseudorange observation data, making it impossible to apply high-precision differential algorithms, resulting in insufficient positioning accuracy. Furthermore, the high cost of dedicated hardware solutions makes widespread adoption difficult.

Method used

Navigation assistance data is broadcast through an indoor Bluetooth beacon system. After the terminal synchronizes with the beacon system, the clock difference of the terminal receiver is calculated. Differential positioning is then performed by combining RTK differential data to construct virtual pseudorange and carrier phase observations, thereby achieving high-precision positioning.

Benefits of technology

Without altering the existing hardware architecture, satellite navigation parameters can be transmitted using a Bluetooth beacon system, restoring the time reference between the terminal and the global navigation satellite system, thereby improving positioning accuracy from meter-level to sub-meter or centimeter-level, and reducing construction and maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122017910A_ABST
    Figure CN122017910A_ABST
Patent Text Reader

Abstract

The invention discloses an indoor high-precision positioning method realized by backstepping after indoor Bluetooth beacon coarse positioning, which comprises the following steps: acquiring navigation auxiliary data sent by a Bluetooth beacon system, and calculating by using signal intensity data of a broadcast message received from the Bluetooth beacon system to obtain a summary coarse positioning position of a terminal; after the terminal and the Bluetooth beacon system finish time synchronization, calculating a terminal receiver clock error based on the navigation auxiliary data, and reversely calculating a virtual pseudo-range from the terminal to a satellite based on the navigation auxiliary data, the summary coarse positioning position and the terminal receiver clock error; and the terminal receives the position system information block from the network side, analyzes the position system information block to obtain RTK differential data, performs differential positioning calculation by using the virtual pseudo-range, the RTK differential data and the summary coarse positioning position, and outputs indoor positioning coordinates. According to the invention, the Bluetooth facility is used for relaying satellite data and constructing a virtual observation value, and low-cost extension of an outdoor RTK high-precision positioning algorithm to an indoor scene is realized on the premise that pseudo-satellite hardware is not needed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication and navigation positioning technology, specifically to a method for achieving high-precision indoor positioning by reverse calculation after coarse positioning using indoor Bluetooth beacons. Background Technology

[0002] With the widespread adoption of mobile internet and smart terminals, the demand for indoor location services in scenarios such as shopping mall navigation, warehouse logistics management, underground parking lot navigation, and indoor autonomous driving has increased dramatically. In open outdoor environments, Global Navigation Satellite Systems (GNSS) can provide mature and accurate positioning services. However, in indoor environments, due to building obstructions, satellite signals suffer severe attenuation or even become completely unreachable, making it difficult for terminals to directly receive satellite signals for positioning. This fails to meet the stringent high-precision requirements of modular construction in large buildings or indoor autonomous driving scenarios.

[0003] Currently, indoor positioning technology typically employs Bluetooth or Wi-Fi positioning schemes based on Received Signal Strength Index (RSSI). While these schemes can obtain a rough location coordinate of a terminal through fingerprint matching or triangulation, existing indoor Bluetooth beacons and other infrastructure are primarily designed for broadcasting identification or simple telemetry data, lacking the ability to acquire and relay complex navigation parameters from outdoor Global Navigation Satellite Systems (GNSS). This means that while indoor terminals can obtain a general location, they cannot acquire crucial navigation information, including ephemeris data, orbit correction data, and satellite clock correction data, resulting in a data-level disconnect between indoor positioning systems and outdoor high-precision navigation systems.

[0004] Meanwhile, achieving high-precision positioning relies heavily on a unified time reference. In outdoor scenarios, the terminal can calculate the receiver clock bias by locking onto satellite signals, thus maintaining time synchronization with the satellite system. However, in indoor environments without satellite signals, the terminal loses the direct means of obtaining the satellite system's time reference and cannot independently calculate its clock deviation relative to the Global Navigation Satellite System. The lack of accurate clock bias parameters makes it difficult for the terminal to perform subsequent high-precision position calculations, leading to drifting or invalid positioning results.

[0005] Furthermore, the core logic of outdoor high-precision positioning technologies (such as RTK real-time dynamic differential) lies in the terminal measuring satellite signals to obtain raw pseudorange or carrier phase observations, and then combining this with differential data sent from the network side for error correction. In indoor scenarios, due to the lack of physical signals, the terminal cannot generate raw pseudorange or phase observations through measurement. Even if 5G communication networks can transmit high-precision RTK differential data indoors, the lack of matching basic observation data on the terminal side prevents mature differential positioning algorithms from starting, limiting indoor positioning accuracy to the meter level and preventing further improvement to sub-meter or centimeter levels through differential technology.

[0006] Existing indoor positioning technologies mainly suffer from problems such as the inability of indoor infrastructure to transmit satellite navigation parameters, the lack of a unified time reference between the terminal and the satellite system, and the inability to construct pseudorange observations for differential calculation in signal-free environments, which prevent the application of high-precision differential algorithms. Summary of the Invention

[0007] To address the shortcomings of existing technologies, this invention provides a high-precision indoor positioning method that uses coarse positioning via Bluetooth beacons followed by reverse inference. This method solves the problems of existing technologies where expensive dedicated hardware solutions are difficult to popularize, while low-cost solutions lack pseudorange observation data, making it impossible to apply differential algorithms and resulting in insufficient positioning accuracy and stability.

[0008] The first aspect of this invention provides a method for high-precision indoor positioning achieved by reverse calculation after coarse indoor Bluetooth beacon positioning, mainly including the following steps:

[0009] The system acquires navigation assistance data sent by the Bluetooth beacon system and uses the signal strength data of the broadcast messages received from the Bluetooth beacon system to calculate the approximate coarse positioning position of the terminal. After the terminal and the Bluetooth beacon system complete time synchronization, the terminal receiver clock error is calculated based on the navigation assistance data, and the virtual pseudorange from the terminal to the satellite is calculated in reverse based on the navigation assistance data, the preliminary coarse positioning position and the terminal receiver clock error. The terminal receives location system information blocks from the network side and parses them to obtain RTK differential data. It then uses virtual pseudorange, RTK differential data, and a preliminary coarse positioning position to perform differential positioning calculation and output indoor positioning coordinates.

[0010] Furthermore, the navigation assistance data specifically includes: ephemeris data, orbit correction data, clock correction data, and Bluetooth system receiver clock bias. The process of acquiring navigation assistance data sent by the Bluetooth beacon system is as follows: the terminal sends a scan request to the Bluetooth beacon system; it receives a scan response message from the Bluetooth beacon system in response to the scan request; this scan response message carries the ephemeris data, orbit correction data, clock correction data, and Bluetooth system receiver clock bias obtained by the Bluetooth beacon system from satellite signals through the connected Global Navigation Satellite System receiver.

[0011] Furthermore, before calculating the terminal receiver clock bias based on navigation-aided data, the time delay value of the terminal relative to the Bluetooth beacon system needs to be calculated. The specific process is as follows: the terminal sends a scan request to the Bluetooth beacon system and records the timestamp of the time the request is sent; the terminal receives a scan response message from the Bluetooth beacon system and records the timestamp of the time the response is received; this scan response message includes the timestamps of the beacon reception request and the beacon transmission response recorded by the Bluetooth beacon system; the terminal uses these four timestamps to calculate the time delay value of the terminal relative to the Bluetooth beacon system through time delay calculation logic.

[0012] Furthermore, the process of calculating the terminal receiver clock bias is as follows: the terminal extracts the Bluetooth system receiver clock bias from the scan response message; the terminal uses the Bluetooth system receiver clock bias and the delay value to calculate the terminal receiver clock bias using the terminal clock bias formula.

[0013] Furthermore, the process of calculating the virtual pseudorange from the terminal to the satellite based on navigation aid data, a rough coarse positioning position, and the terminal receiver clock bias also involves calculating the satellite's spatial coordinates and satellite clock bias. Specifically: the terminal parses and obtains ephemeris data, orbit correction data, and clock correction data from the scan response message; based on the ephemeris data and orbit correction data, it calculates the satellite's spatial coordinates at the time of signal transmission for the selected satellite; and based on the clock correction data, it obtains the satellite clock bias for the selected satellite.

[0014] Furthermore, the process of reverse calculation of the virtual pseudorange from the terminal to the satellite is as follows: the terminal uses the preliminary coarse positioning position and satellite spatial coordinates to calculate the geometric distance from the terminal to the selected satellite; using this geometric distance, the terminal receiver clock error and the satellite clock error, and introducing the error estimate on the signal path, reverse calculation is performed to obtain the virtual pseudorange.

[0015] Furthermore, the process of the terminal receiving the location system information block from the network side and parsing it to obtain RTK differential data is as follows: the terminal receives the location system information block, which is encapsulated by the location management unit after obtaining differential messages from the continuously operating reference station; the terminal uses pseudorange encoding logic to parse and restore the compressed fields in the location system information block to obtain RTK differential data.

[0016] Furthermore, in the process of differential positioning calculation using virtual pseudorange, RTK differential data, and preliminary coarse positioning position, a double-difference observation equation is constructed. Specifically, the terminal uses the virtual pseudorange as the rover station observation value and the RTK differential data as the base station observation value; using the preliminary coarse positioning position as approximate coordinates, a double-difference observation equation describing the relationship between the rover station position deviation and the observation residual is constructed.

[0017] Furthermore, the differential positioning solution process is as follows: the terminal uses a linearization equation to transform the double-difference observation equation into a linear form, wherein the linearization equation includes the structure matrix defined by the structure matrix formula, the undetermined parameter vector defined by the parameter vector formula, and the observation residual constant vector defined by the residual calculation formula; the terminal uses the least squares method to solve the linearization equation, calculates the undetermined parameters in the parameter vector formula, and obtains the position correction amount.

[0018] Furthermore, the process of outputting indoor positioning coordinates is as follows: the terminal uses the position correction amount and the preliminary coarse positioning position to calculate the indoor positioning coordinates through the coordinate update formula.

[0019] A second aspect of the present invention provides an indoor high-precision positioning system based on coarse indoor Bluetooth beacon positioning followed by reverse positioning. This system is used to implement an indoor high-precision positioning method based on coarse indoor Bluetooth beacon positioning followed by reverse positioning. The system includes: A terminal for implementing a high-precision indoor positioning method that uses coarse indoor Bluetooth beacon positioning followed by reverse positioning; The Bluetooth beacon system is used to receive satellite signals from outdoor global navigation satellite systems in real time, parse and obtain navigation assistance data from them, and send them to the terminal. The high-precision positioning support system on the network side is used to acquire differential messages generated by continuously operating reference stations, and encapsulate the differential messages into location system information blocks before broadcasting them to the terminal via a 5G base station.

[0020] This invention provides a method for high-precision indoor positioning achieved by reverse calculation after coarse positioning using indoor Bluetooth beacons. It offers the following advantages: 1. Based on the existing Bluetooth beacon system for coarse indoor positioning of terminals, this invention extends the Bluetooth broadcast protocol by adding ephemeris data, orbit correction data, clock correction data, and Bluetooth receiver clock bias data mapped to the broadcast field. This design, without changing the existing indoor hardware architecture, uses the Bluetooth beacon as a data transmission channel to introduce the complete navigation parameters of outdoor satellites into the indoor environment. There is no need to lay additional pseudo-satellite base stations or dedicated synchronization hardware indoors. The construction and maintenance costs of indoor high-precision positioning systems can be reduced by utilizing the existing Bluetooth infrastructure.

[0021] 2. This invention utilizes a hierarchical time synchronization mechanism, enabling the terminal to read the Bluetooth system receiver clock difference from Bluetooth broadcasts and, combined with the terminal's clock difference calculated during Bluetooth broadcasting and scanning interactions, accurately deduce the terminal receiver clock difference (i.e., the terminal's clock difference relative to the Global Navigation Satellite System). This technique, even in enclosed indoor spaces where satellite signals cannot be directly received, successfully restores a unified time reference between the terminal and the outdoor Global Navigation Satellite System through data link transmission and calculation, providing accurate time parameters for subsequent observation and calculation based on transmission time.

[0022] 3. This invention constructs an indoor virtual observation model. The terminal uses the latitude and longitude obtained from coarse positioning results, combined with newly added GNSS ephemeris data from Bluetooth broadcasting, orbit corrections, clock corrections, and the calculated terminal receiver clock bias, to reverse-calculate the virtual pseudorange and carrier phase from the terminal to the satellite. By constructing these virtual values ​​equivalent to physical observations, the terminal can directly combine the RTK differential data sent from the network side to construct a double-difference observation equation for joint solution. This processing method not only eliminates the influence of common error terms such as ionospheric and tropospheric errors, but also effectively applies the mature outdoor RTK carrier phase differential technology to indoor scenarios, achieving an improvement in positioning accuracy from meter-level to sub-meter or centimeter-level. Attached Figure Description

[0023] Figure 1 This is a flowchart of the indoor high-precision positioning method achieved by reverse calculation after coarse indoor Bluetooth beacon positioning according to the present invention. Figure 2 This is a diagram of the positioning network architecture of the present invention; Figure 3 This is a timing diagram of the scan request and response of the present invention; Figure 4 This is a timing diagram of information interaction between the Bluetooth beacon system and the terminal of the present invention. Detailed Implementation

[0024] The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0025] Please refer to the appendix. Figure 1 and attached Figure 2This invention provides a method for high-precision indoor positioning achieved through reverse calculation after coarse positioning using indoor Bluetooth beacons. This method operates within a system architecture comprising a Bluetooth beacon system, a terminal, a 5G base station, a location management unit, and a continuously operating reference station. The Bluetooth beacon system is deployed indoors and acquires outdoor signals via a connected Global Navigation Satellite System receiver. The terminal, located indoors, is equipped with Bluetooth and 5G communication modules and is used to implement the high-precision indoor positioning method provided in this invention. The 5G base station, location management unit, and continuously operating reference station constitute a high-precision positioning support system on the network side.

[0026] Specifically, the high-precision positioning support system on the network side includes a high-precision positioning service center, a location management unit cluster (LMF Cluster), an access and mobility management function pool (AMF POOL), and a high-precision positioning network composed of 5G base stations and differential stations. The high-precision positioning service center is responsible for aggregating and distributing RTCM differential messages, sending JSON-formatted RTCM differential messages (RTCM differential message@JSON) to the location management unit cluster via a network interface. The location management unit cluster contains multiple location management units (LMF1 to LMF10) for processing positioning assistance data.

[0027] The location management unit cluster communicates with the access and mobility management function pool through a core network service interface. Specifically, it calls the `Namf_Communication_NonUeN2MessageTransfer` and `Namf_Communication_NonUeN2InfoNotify` services to transmit non-UE-related N2 messages and provide information notifications. The access and mobility management function pool further interacts with 5G base stations in the high-precision positioning network to execute Assistance Information Control and Assistance Information Feedback, thereby broadcasting differential data to the coverage area. This method mainly includes the following steps: The Bluetooth beacon system receives satellite signals transmitted by outdoor GNSS systems in real time through its connected GNSS receiver and parses them to obtain navigation assistance data. This navigation assistance data includes ephemeris data, orbit correction data, clock correction data, and Bluetooth system receiver clock bias. The Bluetooth beacon system maps and encapsulates the above data into scan response messages and periodically broadcasts these messages, while also sending scan response messages upon terminal requests.

[0028] The indoor terminal receives broadcast messages from the Bluetooth beacon system and measures the signal strength data of the broadcast messages. The terminal uses the signal strength data and the Bluetooth positioning algorithm to calculate a rough, approximate location, denoted as coordinates. .

[0029] The terminal scans and interacts with the Bluetooth beacon system, recording timestamps during the interaction. (Time the terminal sends the request), timestamp (Beacon reception request time), timestamp (Beacon transmission response time) and timestamp (Terminal response time). The terminal uses the timestamp and delay calculation formula mentioned above to calculate the delay value of the terminal relative to the Bluetooth beacon system. The delay calculation formulas involved are as follows: In the formula: This is a latency value, representing the air interface propagation and processing latency of the terminal relative to the Bluetooth beacon system.

[0030] Subsequently, the terminal extracts navigation assistance data from the received scan response message and uses the Bluetooth system receiver clock bias, delay values, and terminal clock bias formula to calculate the terminal receiver clock bias. The relevant terminal clock bias formula is as follows: In the formula: This refers to the terminal receiver clock bias, which represents the deviation of the terminal's local clock relative to the time of the Global Navigation Satellite System. This is the receiver clock bias of the Bluetooth system, representing the deviation of the Bluetooth beacon's local clock from the time of the Global Navigation Satellite System.

[0031] Based on ephemeris data, orbit correction data, and clock correction data from the navigation aid data, the terminal calculates the satellite spatial coordinates and clock error of the selected satellite at the time of signal transmission using a satellite orbit calculation algorithm. The terminal then uses the preliminary coarse positioning position, satellite spatial coordinates, and distance calculation formulas to calculate the geometric distance from the terminal to the satellite. The distance calculation formulas involved are as follows: In the formula: The geometric distance represents the distance from the terminal to the first... The geometric distance between the satellites; For the first The satellite's spatial coordinates at the moment of signal transmission; The terminal's rough location coordinates.

[0032] The terminal uses geometric distance, terminal receiver clock error, satellite clock error, and pseudorange back-calculation formulas to calculate the virtual pseudorange from the terminal to the satellite. The pseudorange back-calculation formulas involved are as follows: In the formula: This is a virtual pseudorange, representing the distance from the terminal to the [missing information]. The retro-propagation pseudorange of the satellite; Represents the speed of light; For the terminal receiver clock bias; For satellite clock bias, representing the first Clock deviation of each satellite; For the first Ionospheric error estimation along the signal path of a satellite; For the first Estimate the tropospheric error along the signal path of a satellite; For the first Estimate the random error in satellite observations.

[0033] The location management unit obtains differential messages from continuously operating reference stations and encapsulates these messages into location system information blocks. The terminal receives the location system information blocks from the 5G base station and uses pseudorange coding formulas to parse and obtain RTK differential data. The pseudorange coding formulas involved are as follows: In the formula: For the first The pseudorange calculation value of each satellite; The speed of light; Integer milliseconds representing the approximate distance to the satellite; The number of milliseconds representing the approximate distance to the satellite; For the first Fine pseudorange of the global navigation satellite system signal from 100 satellites; This is the scaling factor for converting milliseconds to seconds; This is the quantization scaling factor for a coarse distance in milliseconds; This is the quantization scaling factor for the fine pseudorange. The terminal constructs a double-difference observation equation using virtual pseudorange, RTK differential data, and a preliminary coarse positioning position. The relevant double-difference observation equations are as follows: ; In the formula: For the terminal (mobile station) to the Virtual pseudorange of a satellite; To continuously operate the reference station until the The observation pseudorange of a satellite; Geometric distance; For satellite spatial coordinates; To roughly locate the position; The exact coordinates of the terminal to be solved; The known accurate coordinates of the continuously operating reference station; For the terminal receiver clock bias; Clock bias for continuously operating reference station receivers.

[0034] The terminal uses the double-difference observation equation and the linearized equation to transform it into a linearized equation. The linearized equations involved are as follows: In the formula: For the corrected residual vector; It is a structure matrix; The vector of parameters to be determined; To observe the residual constant vector.

[0035] The parameter vector formulas involved are as follows: In the formula: The vector of parameters to be determined; This refers to the position correction amount of the terminal in the X / Y / Z axis directions; This is the distance correction amount for the terminal clock error; This is the matrix transpose symbol.

[0036] The formulas for the structural matrix involved are as follows: In the formula: It is a structure matrix; For the terminal to the first The direction cosine of a satellite along the X / Y / Z axes; This represents the total number of satellites involved in the calculation. The residual calculation formulas are as follows: In the formula: For the observation residual constant vector corresponding to the first Elements of a satellite; The speed of light; For satellite clock bias; Error correction terms provided for RTK differential data; This is the geometric distance calculated based on the rough location of the general position.

[0037] The terminal uses linearized equations and the least squares method to solve for the undetermined parameters defined in the parameter vector formula, obtaining the position correction. The terminal then uses the position correction, the preliminary coarse positioning position, and the coordinate update formula to calculate the indoor positioning coordinates. The relevant coordinate update formulas are as follows: In the formula: The updated indoor positioning coordinates of the terminal; To roughly locate the position of the terminal; This is the correction amount for the end position of the X / Y / Z axes.

[0038] S1. The terminal obtains navigation assistance data sent by the Bluetooth beacon system and calculates the approximate coarse positioning position of the terminal using the signal strength data of the broadcast message received from the Bluetooth beacon system. The following is a detailed explanation of the specific implementation steps.

[0039] S101, the indoor Bluetooth beacon system receives satellite signals transmitted by the outdoor global navigation satellite system in real time through its connected global navigation satellite system receiver, and parses and obtains navigation assistance data from them.

[0040] In practical implementation, the Bluetooth beacon system includes a Bluetooth communication module and a Global Navigation Satellite System (GNSS) receiver connected to it. The GNSS receiver is deployed outdoors, near a window, or connected to a feeder cable in areas where satellite signals can be received. The GNSS receiver demodulates and decodes the received radio frequency signals to extract navigation assistance data. This navigation assistance data specifically includes the following four categories: The first category is ephemeris data, referring to the predicted ephemeris data of each system in the Global Navigation Satellite System (GNSS), i.e., the orbital information of each satellite system operating under perturbation conditions. Taking the Global Positioning System (GPS) as an example, this data corresponds to the Maritime Radio Technical Committee RTCM 1019 message and includes Kepler parameters and perturbation parameters. Specific field contents are shown in Table 1, the broadcast ephemeris data field table, including key parameters describing the satellite's trajectory such as ephemeris reference time (keplerToe), perigee argument (keplerW), mean motion difference (keplerDeltaN), mean perigee angle (keplerM0), eccentricity (keplerE), and the square root of the semi-major axis (keplerSqrtA). See Table 1: Table 1. Bluetooth Broadcast Data Type Code Reference Table (AD Type Definition)

[0041] The second category is orbit correction data, used to correct deviations in satellite orbital parameters, corresponding to the Maritime Radio Technical Committee. The committee's RTCM1057 message. Specific field details are shown in Table 2, the orbital correction data field table, including epoch time, radial correction (delta-radial), tangential correction (delta-AlongTrack), and normal correction (delta-CrossTrack), used to improve the accuracy of satellite position calculations. See Table 2: Table 2. Broadcast Ephemeris Data Fields Table (NavModelKeplerianSet)

[0042] The third category is clock correction data, used to correct the deviation between the satellite clock and the system clock, corresponding to the Maritime Radio Technical Committee RTCM 1058 message. Specific field contents are shown in Table 3, Clock Correction Data Field Table, including Satellite ID (svID), clock bias polynomial coefficients (C0, C1, C2), etc., used to eliminate the effects of satellite clock bias. See Table 3: Table 3. Orbit Correction Data Fields (GNSS-SSR-OrbitCorrections)

[0043] The fourth category is Bluetooth system receiver clock bias ( (This refers to the deviation data of the Bluetooth beacon's local clock relative to the global navigation satellite system time, calculated by the global navigation satellite system receiver of the Bluetooth beacon system during the autonomous single-point positioning calculation process.)

[0044] S102. The Bluetooth beacon system maps and encapsulates navigation assistance data into scan response messages. During data encapsulation, because the amount of navigation assistance data is usually larger than the payload limit of a standard Bluetooth broadcast message, the Bluetooth beacon system employs a segmented mapping and scan response mechanism. The Bluetooth beacon system defines specific data types (AD Types) in the Bluetooth protocol stack's broadcast data (AdvertisingData) or scan response data (Scan Response Data) to carry different categories of navigation assistance data.

[0045] For specific type definitions, please refer to Table 4, the Bluetooth Broadcast Data Type Code Reference Table. 0x40 is defined as carrying ephemeris data (NavModelKeplerianSet), 0x41 as carrying orbit correction data (GNSS-SSR-OrbitCorrections), 0x42 as carrying clock correction data (GNSS-SSR-ClockCorrections), and 0x43 as carrying the Bluetooth system receiver clock offset. See Table 4 for details. Table 4. Clock Correction Data Fields (GNSS-SSR-ClockCorrections)

[0046] The Bluetooth beacon system maps the parsed ephemeris parameters, corrections, and clock bias data directly to the corresponding AD Type data fields according to a predefined protocol format. The Bluetooth beacon system adds a serial number flag to the data payload to identify the integrity and timing of the same data set. When navigation assistance data is updated, this serial number flag changes accordingly to notify the terminal to refresh the data.

[0047] S103. The Bluetooth beacon system periodically broadcasts broadcast messages and sends scan response messages according to terminal requests. The Bluetooth beacon system executes a dual-mode broadcast strategy. On one hand, the Bluetooth beacon system periodically sends broadcast messages to the surrounding environment at preset broadcast intervals (e.g., 100ms to 500ms). These broadcast messages are mainly used to broadcast the beacon's identification (UUID, Major, Minor) and transmission power, for the terminal to use for signal strength measurement and coarse positioning. On the other hand, when the Bluetooth beacon system receives a scan request initiated by the terminal, the Bluetooth beacon system replies with a scan response message after a specified inter-frame interval. This scan response message carries the navigation assistance data encapsulated in step S102. Through this mechanism, the system achieves on-demand transmission of large-capacity navigation assistance data while ensuring the real-time performance of coarse positioning.

[0048] S104. The indoor terminal receives broadcast messages from the Bluetooth beacon system. The terminal measures the signal strength data of the broadcast messages.

[0049] In the specific implementation process, the terminal activates the Bluetooth wireless communication module and enters scanning mode to listen for radio frequency signals in the surrounding environment. The Bluetooth beacon system periodically transmits broadcast messages according to the settings in step S103. These broadcast messages typically contain the Bluetooth beacon's identification information in the link layer payload, such as a Universally Unique Identifier (UUID), a Major Identifier, a Minor Identifier, and the beacon's nominal transmit power (Tx Power). After capturing the broadcast message, the terminal's antenna and RF front-end circuitry demodulate the signal and perform power detection to generate a corresponding Received Signal Strength Indicator (RSSI), which is the signal strength data. To ensure the feasibility of the positioning calculation, the terminal typically needs to scan and lock onto multiple (e.g., three or more) Bluetooth beacon systems in different locations and record the signal strength data and beacon identifier corresponding to each broadcast message.

[0050] S105. The terminal uses signal strength data and Bluetooth positioning algorithm to calculate a rough approximate location. Let the coordinates be... The terminal takes the multiple sets of signal strength data obtained in step S104 as input and runs a preset Bluetooth positioning algorithm to calculate its location. In this embodiment, the Bluetooth positioning algorithm can specifically adopt the trilateration method based on the received signal strength. The terminal calculates the straight-line distance from the terminal to each Bluetooth beacon system based on the propagation attenuation model of radio waves in an indoor environment (e.g., the logarithmic distance path loss model), combined with the transmit power parsed from the broadcast message and the measured signal strength data.

[0051] Based on the known installation coordinates of each Bluetooth beacon system in the indoor map (which can be pre-stored on the terminal or sent via the network), the terminal uses geometric principles to construct a system of equations for the intersecting region with the beacon location as the center and the estimated distance as the radius. By solving this system of equations, the terminal determines its own three-dimensional spatial coordinates.

[0052] In practical applications, considering the multipath effect and signal fluctuations in indoor environments, the terminal can use weighted least squares or Kalman filtering algorithms to smooth the solution results, ultimately outputting a stable coordinate value, i.e., a rough coarse location. Regarding the specific signal attenuation model parameter calibration and equation solving process in the Bluetooth positioning algorithm, those skilled in the art can set them according to existing indoor positioning technology specifications, which are well-known technologies in the field and will not be elaborated here. This preliminary coarse positioning location will serve as the reference point for calculating geometric distance in subsequent steps and as the initial iterative value in differential positioning solutions.

[0053] See attached document Figure 3 S2. The terminal and Bluetooth beacon system complete time synchronization. The terminal receiver clock error is calculated based on navigation aid data. The virtual pseudorange from the terminal to the satellite is calculated in reverse based on navigation aid data, preliminary coarse positioning position and terminal receiver clock error. The following is a detailed explanation of the specific implementation steps.

[0054] S201: The Bluetooth beacon system sends a broadcast packet (Advertising Data), and the terminal performs scanning and interaction, recording the timestamps during the interaction process. (Time the terminal sends the request), timestamp (Beacon reception request time), timestamp (Beacon transmission response time) and timestamp (Terminal response time). In practical implementation, after completing coarse positioning, the terminal needs to obtain high-precision clock synchronization information to support subsequent pseudorange backpropagation. The terminal initiates an active scan to the Bluetooth beacon system, sending a Scan Request data packet. The terminal's baseband processor or link layer controller records the terminal's local timestamp at the moment the data packet is sent to the air interface. .

[0055] S202, The Bluetooth beacon system receives a scan request. The Bluetooth beacon system records the timestamp of the reception. The radio frequency module of the Bluetooth beacon system receives the scan request data packet, and its underlying clock records the arrival time of the data packet, i.e., the Bluetooth beacon's local timestamp. This timestamp is generated based on the Bluetooth beacon's own local clock system.

[0056] S204. The Bluetooth beacon system sends a scan response message. The Bluetooth beacon system records the timestamp of the transmission. After processing via the inter-frame interval (T_IFS), the Bluetooth beacon system replies to the terminal with a scan response message. The payload of this scan response message carries the navigation assistance data encapsulated in step S102, which includes the Bluetooth system receiver clock bias. Simultaneously, to enable the terminal to perform latency and clock bias calculations, the Bluetooth beacon system includes timestamp information from the interaction process. and The time difference between the two is embedded in the scan response message or subsequent auxiliary data packet and sent to the terminal. The Bluetooth beacon system records the local Bluetooth beacon timestamp when the message is sent. .

[0057] S204. The terminal receives the scan response message. The terminal records the timestamp of the reception. After receiving the scan response message, the terminal's baseband processor records the local timestamp of the message's arrival. At this point, the terminal has obtained all four time parameters required to complete the time synchronization calculation: , , and .

[0058] S205, Terminal utilizes timestamp timestamp timestamp timestamp The time delay calculation formula calculates the time delay value of the terminal relative to the Bluetooth beacon system.

[0059] The terminal reads the locally recorded timestamp and the timestamp data parsed from the scan response message, and substitutes them into the latency calculation formula to solve for the latency value. This latency value characterizes the combined impact of air interface propagation latency and processing latency between the terminal and the Bluetooth beacon system, and also implicitly includes the relative deviation of their local clocks. The latency calculation formulas involved are as follows: In the formula: This is a latency value, representing the air interface propagation and processing latency of the terminal relative to the Bluetooth beacon system; The local timestamp of the terminal when it receives the scan response; The local timestamp of the Bluetooth beacon when the Bluetooth beacon system sends a scan response; The local timestamp of the Bluetooth beacon when the Bluetooth beacon system receives a scan request; The terminal's local timestamp when the terminal sends a scan request.

[0060] S206. The terminal extracts navigation assistance data from the received scan response message and uses the Bluetooth system receiver clock bias, delay value and terminal clock bias formula to calculate the terminal receiver clock bias.

[0061] The terminal parses the scan response message, extracts the field with AD Type 0x43, and obtains the Bluetooth system receiver clock error. This value represents the deviation of the Bluetooth beacon's local clock from the standard time of the Global Navigation Satellite System (GNAS), calculated by the Bluetooth beacon system through its own GNAS receiver. The terminal adds this known deviation to the time delay value of the terminal relative to the Bluetooth beacon calculated in step S205, thereby transitively calculating the deviation of the terminal's local clock from the standard time of the GNAS, i.e., the terminal receiver clock bias. This step enables the synchronization of the terminal's time reference to the outdoor GNAS time domain in indoor environments without satellite signals. The relevant terminal clock bias formula is as follows: In the formula: This refers to the terminal receiver clock bias, which represents the deviation of the terminal's local clock relative to the time of the Global Navigation Satellite System. This is the receiver clock bias of the Bluetooth system, representing the deviation of the Bluetooth beacon's local clock from the time of the Global Navigation Satellite System.

[0062] S207. The terminal parses and obtains navigation assistance data from the scan response message. The terminal performs protocol parsing on the received scan response message, extracting the ephemeris data (NavModelKeplerianSet), orbit correction data (GNSS-SSR-OrbitCorrections), and clock correction data (GNSS-SSR-ClockCorrections). This data provides the necessary orbital and clock error parameters for calculating the instantaneous state of the satellite.

[0063] S208. Based on ephemeris data and orbit correction data in the navigation aid data, and the terminal receiver clock error, the terminal calculates the satellite spatial coordinates of the selected satellite at the time of signal transmission using a satellite orbit calculation algorithm, denoted as... .

[0064] During the calculation process, the terminal first determines the calculation time. Since the terminal has already calculated the receiver clock bias in step S206, the terminal uses the local timestamp combined with the receiver clock bias to recover the accurate system time of the Global Navigation Satellite System (such as GPS time). Based on this system time, and combining the Kepler orbital parameters (such as semi-major axis, eccentricity, mean anomaly angle, etc.) from the ephemeris data and the SSR correction terms (radial, tangential, and normal corrections) from the orbital correction data, the terminal uses a standard satellite orbit iterative algorithm (such as iterative solution of the Kepler equations) to calculate the selected... The precise three-dimensional coordinates of at least four satellites in a ground-fixed coordinate system (such as the WGS-84 coordinate system) at the time of signal transmission, i.e., the satellite spatial coordinates.

[0065] This calculation process typically includes corrections for the Earth's rotation effect (Sagnac effect) and signal propagation time to ensure the spatiotemporal consistency of coordinate values. For the specific iterative convergence process of the satellite orbit calculation algorithm, those skilled in the art can refer to the standard algorithm in the Global Navigation Satellite System Interface Control Document (ICD), which is well-known in the field and will not be elaborated upon here.

[0066] S209. The terminal obtains the satellite clock difference based on the clock correction data in the navigation assistance data, denoted as... .

[0067] The terminal uses the clock to correct the clock difference polynomial coefficients in the data. By combining the signal transmission time, the clock deviation of each visible satellite is calculated, i.e., the satellite clock bias. This satellite clock bias reflects the deviation of the satellite's onboard atomic clock from the system time of the global navigation satellite system.

[0068] S210. The terminal uses the preliminary coarse positioning obtained in step S105, the satellite spatial coordinates obtained in step S208, and the distance calculation formula to calculate the geometric distance from the terminal to the satellite, denoted as... .

[0069] The terminal will use the summary coarse positioning position obtained in the coarse positioning stage. Consider the approximate location of the terminal and compare it with the calculated satellite spatial coordinates. Substituting the values ​​into the Euclidean distance formula, the straight-line geometric distance between the terminal and the satellite is obtained. The relevant distance calculation formulas are as follows: In the formula: The geometric distance represents the distance from the terminal to the first... The geometric distance between the satellites; For the first The satellite's spatial coordinates at the moment of signal transmission; The terminal's rough location coordinates.

[0070] S211. The terminal uses geometric distance, terminal receiver clock error, satellite clock error, and pseudorange back-calculation formula to calculate the virtual pseudorange from the terminal to the satellite, denoted as... In this step, the terminal does not directly measure the satellite signal, but instead constructs it in reverse based on the physical principle of pseudorange. The terminal uses the geometric distance calculated in step S210 as the benchmark for the physical transmission distance, adds the terminal receiver clock error calculated in step S206 (introducing the influence of clock deviation at the receiver end), subtracts the satellite clock error obtained in step S209 (eliminating the influence of clock deviation at the satellite end), and adds the atmospheric propagation error estimate to synthesize the "observation value" missing in the indoor environment, namely, the virtual pseudorange.

[0071] This virtual pseudorange is numerically equivalent to the measured pseudorange received by the terminal in an ideal outdoor environment, which includes various errors. The pseudorange inverse formula involved is as follows: In the formula: This is a virtual pseudorange, representing the distance from the terminal to the [missing information]. The retro-propagation pseudorange of the satellite; Represents the speed of light; For the terminal receiver clock bias; For satellite clock bias, representing the first Clock deviation of each satellite; For the first Ionospheric error estimation along the signal path of a satellite; For the first Estimate the tropospheric error along the signal path of a satellite; For the first Estimate the random error in satellite observations.

[0072] In the specific calculation process, the terminal can use empirical models such as the Klobuchar model and the Hopfield model to calculate the ionospheric error estimate and the tropospheric error estimate. For the random error estimate... Since it is random and cannot be directly measured in virtual reverse calculation, it can be set to zero in the calculation of this embodiment; in the subsequent double difference solution steps, the influence of this item on the positioning accuracy is eliminated or weakened by the difference algorithm.

[0073] See attached document Figure 4 S3. The terminal receives the location system information block from the network side and parses it to obtain RTK differential data. It then uses the virtual pseudorange, RTK differential data, and preliminary coarse positioning position to perform differential positioning calculation and output indoor positioning coordinates. The following is a detailed explanation of the specific implementation steps.

[0074] S301. The Position Management Unit (LMF) acquires differential messages from continuously operating reference stations (CORS). In practice, CORS serve as ground-based reference facilities distributed across different geographical areas. CORS are equipped with high-precision Global Navigation Satellite System (GNSS) receivers and atomic clocks, and their position coordinates are precisely known. CORS periodically (e.g., once per second) collects observation data from visible satellites, including pseudorange, carrier phase, and signal-to-noise ratio, and generates RTCM format data conforming to the Maritime Radio Technical Committee (MRTC) standards, i.e., differential messages.

[0075] The differential messages specifically include message types such as RTCM1074 (GPS pseudorange), RTCM1084 (GLONASS pseudorange), and RTCM1124 (BeiDou pseudorange). The location management unit, as the positioning function network element in the core network, connects to the continuously operating reference station network via the southbound interface to receive differential messages within its coverage area in real time.

[0076] S302, the Location Management Unit (LMF) encapsulates the differential message into a location system information block and broadcasts it through the 5G base station.

[0077] Upon receiving the differential message, the location management unit (RMU) performs geographic rasterization matching and protocol conversion based on the base station's geographical location and coverage area. The RMU then encapsulates the RTCM-formatted differential message into Location System Information Blocks (posSIBs) defined by the 5G New Radio (NR) protocol. Specifically, the RMU maps the reference station coordinates (RTCM1005) in the differential message to GNSS-RTK-ReferenceStationInfo cells, and the observation data (RTCM1074 / 1084, etc.) to GNSS-RTK-CommonObservationInfo and GNSS-RTK-Observations cells. After encapsulation, the RMU sends the posSIBs to the 5G base station (gNB) via the NRPPa protocol. The 5G base station broadcasts the posSIBs to its covered cells via the air interface according to a preset system information broadcast period, ensuring that terminals in RRC idle or connected states can receive this auxiliary data.

[0078] S303. The terminal receives a location system information block from the 5G base station and uses the pseudorange coding formula to parse and obtain RTK differential data. The terminal listens for system broadcast messages through the 5G communication module, captures and decodes the location system information block. To save air interface transmission resources, the pseudorange data in the location system information block is usually transmitted using segmented compressed coding. See Table 5 for the specific field structure of the RTK observation data field table, which includes integer milliseconds (integer-ms), rough distance sub-milliseconds (rough-range), and fine pseudorange (fine-PseudoRange). Refer to Table 5: Table 5. RTK Observation Data Fields (GNSS-RTK-Observations)

[0079] Note: The symbol "-" in the table indicates that the item is not subject to a specific scaling factor or has no specific range limit, meaning that the field directly uses the original value defined by the standard.

[0080] After parsing the compressed fields, the terminal uses the pseudorange encoding formula to restore them to the complete pseudorange observations of the satellite from the continuously operating reference station, i.e., RTK differential data. This RTK differential data will be used as a subtraction factor in the subsequent double-difference solution to eliminate common errors. The pseudorange encoding formula involved is as follows: In the formula: For the first The pseudorange calculation value of each satellite; The speed of light; The integer number of milliseconds representing the approximate distance to the satellite; The number of milliseconds representing the approximate distance to the satellite; For the first Fine pseudorange of the global navigation satellite system signal from 100 satellites; This is the scaling factor for converting milliseconds to seconds; This is the quantization scaling factor for a coarse distance in milliseconds; This is the quantization scaling factor for the fine pseudorange.

[0081] S304. The terminal constructs a double-difference observation equation using virtual pseudorange, RTK differential data, and a preliminary coarse positioning position. In specific implementation, the terminal uses the virtual pseudorange from the terminal to each satellite calculated in step S211 as the rover station observation value, and uses the observation pseudorange (RTK differential data) of the continuously operating reference station to the same group of satellites obtained in step S303 as the base station observation value. The terminal uses the preliminary coarse positioning position obtained in step S105 as the center point (approximate coordinates) of the linearization expansion, and uses the differential positioning principle to eliminate common error terms such as ionospheric error, tropospheric error, and satellite clock error. Based on this, the terminal constructs a double-difference observation equation describing the mathematical relationship between the rover station position deviation and the observation residual. The double-difference observation equations involved are as follows: ; In the formula: For the terminal (mobile station) to the The virtual pseudorange of a satellite; To continuously operate the reference station until the The observation pseudorange of a satellite; Geometric distance; For satellite spatial coordinates; To roughly locate the position; The exact coordinates of the terminal to be solved; The known accurate coordinates of the continuously operating reference station; For the terminal receiver clock bias; Clock bias for continuously operating reference station receivers.

[0082] S305. The terminal uses the double-difference observation equation and the linearized equation to transform it into a linearized equation. Since the double-difference observation equation contains a nonlinear distance term, the terminal uses Taylor series expansion to linearize the above equation at the preliminary coarse positioning position, ignoring higher-order terms, thus transforming the problem into a system of linear equations for solving the position correction. This system of linear equations, expressed in matrix form, is the linearized equation. The relevant linearized equations are as follows: In the formula: For the corrected residual vector; It is a structure matrix; The vector of parameters to be determined; The observed residual constant vector is used. To construct the above matrix equation, the terminal needs to calculate the structure matrix, the vector of undetermined parameters, and the vector of observed residual constants, respectively.

[0083] First, the terminal defines the vector of unknowns to be solved, and the formulas for the parameter vectors involved are as follows: In the formula: The vector of parameters to be determined; This refers to the position correction amount of the terminal in the X / Y / Z axis directions; This is the distance correction amount for the terminal clock error; This is the matrix transpose symbol.

[0084] Secondly, the terminal calculates the direction cosines of each satellite and constructs a coefficient matrix. The formulas for the structure matrix involved are as follows: In the formula: It is a structure matrix; For the terminal to the first The direction cosine of a satellite along the X / Y / Z axes; This represents the total number of satellites involved in the calculation.

[0085] Finally, the terminal calculates the difference between the observed values ​​and the values ​​calculated based on the approximate coordinates. The residual calculation formula involved is as follows: In the formula: For the observation residual constant vector corresponding to the first Elements of a satellite; The speed of light; For satellite clock bias; Error correction term provided for RTK differential data (provided by RTK differential data); This is the geometric distance calculated based on the rough location of the general position.

[0086] S306. The terminal uses linearized equations and the least squares method to solve for the undetermined parameters defined in the parameter vector formula, obtaining the position correction. The terminal then addresses the constructed overdetermined linear equation system (when the number of satellites...). When adjusting, the least squares method is used. This is achieved by minimizing the correction residual vector. The weighted sum of squares is used to calculate the optimal undetermined parameter vector at the terminal. And extract the position correction of the terminal in the three coordinate axes. .

[0087] S307. The terminal calculates the indoor positioning coordinates using the position correction amount, the preliminary coarse positioning position, and the coordinate update formula. The terminal then superimposes the calculated minute position correction amount onto the initial preliminary coarse positioning position to obtain high-precision coordinates after error elimination. The coordinate update formula involved is as follows: In the formula: The updated indoor positioning coordinates of the terminal; To roughly locate the position of the terminal; This is the correction amount for the end position of the X / Y / Z axes.

[0088] For dynamic environments or scenarios requiring higher precision, the terminal can use the updated indoor positioning coordinates as new approximate coordinates, and repeat steps S304 to S307 for iterative calculation until the position correction amount converges within a preset threshold range, and finally outputs the converged indoor positioning coordinates.

Claims

1. A method for high-precision indoor positioning achieved by reverse calculation after coarse indoor Bluetooth beacon positioning, characterized in that, When applied to the terminal side, it includes the following steps: The system acquires navigation assistance data sent by the Bluetooth beacon system and uses the signal strength data of the broadcast messages received from the Bluetooth beacon system to calculate the approximate coarse positioning position of the terminal. After the terminal and the Bluetooth beacon system complete time synchronization, the terminal receiver clock error is calculated based on the navigation assistance data, and the virtual pseudorange from the terminal to the satellite is calculated in reverse based on the navigation assistance data, the preliminary coarse positioning position and the terminal receiver clock error. The terminal receives location system information blocks from the network side and parses them to obtain RTK differential data. It then uses virtual pseudorange, RTK differential data, and a preliminary coarse positioning position to perform differential positioning calculation and output indoor positioning coordinates.

2. The indoor high-precision positioning method based on coarse indoor Bluetooth beacon positioning followed by reverse positioning, as described in claim 1, is characterized in that... Navigation assistance data specifically includes ephemeris data, orbit correction data, clock correction data, and Bluetooth system receiver clock error; The specific steps for obtaining navigation assistance data sent by the Bluetooth beacon system are as follows: After the terminal sends a scan request to the Bluetooth beacon system, it receives a scan response message from the Bluetooth beacon system. The scan response message carries ephemeris data, orbit correction data, clock correction data, and Bluetooth system receiver clock error, which are parsed from satellite signals by the connected Global Navigation Satellite System receiver through the Bluetooth beacon system.

3. The indoor high-precision positioning method based on coarse indoor Bluetooth beacon positioning followed by reverse positioning, as described in claim 1, is characterized in that... The step of calculating the terminal receiver clock bias based on navigation-aided data also includes the step of calculating the terminal's time delay relative to the Bluetooth beacon system: The terminal sends a scan request to the Bluetooth beacon system and records the timestamp of the moment the terminal sends the request; The terminal receives the scan response message from the Bluetooth beacon system in response to the scan request and records the timestamp of the moment the terminal receives the response; The scan response message includes the timestamps of the beacon reception request and the beacon transmission response recorded by the Bluetooth beacon system. The terminal receives the scan response message and records the timestamp of the moment the terminal receives the response; The terminal uses the timestamps of the time when it sends the request, the time when the beacon receives the request, the time when the beacon sends the response, and the time when the terminal receives the response to calculate the delay value using the delay calculation formula.

4. The indoor high-precision positioning method based on coarse indoor Bluetooth beacon positioning followed by reverse positioning, as described in claim 3, is characterized in that... The specific steps for calculating the clock bias of the terminal receiver are as follows: The terminal extracts the Bluetooth system receiver clock bias from the scan response message; The terminal uses the Bluetooth system receiver clock bias and delay values ​​to calculate the terminal receiver clock bias using the terminal clock bias formula.

5. The indoor high-precision positioning method based on coarse indoor Bluetooth beacon positioning followed by reverse positioning, as described in claim 2, is characterized in that... The step of calculating the virtual pseudorange from the terminal to the satellite based on navigation aid data, a rough coarse positioning position, and the terminal receiver clock bias also includes the steps of calculating the satellite spatial coordinates and the satellite clock bias: The terminal parses and obtains ephemeris data, orbit correction data, and clock correction data from the scan response message; Based on ephemeris data and orbit correction data, the terminal calculates the satellite spatial coordinates of the selected satellite at the time of signal transmission using a satellite orbit calculation algorithm; The terminal obtains the satellite clock bias of the selected satellite based on clock correction data.

6. The indoor high-precision positioning method based on coarse indoor Bluetooth beacon positioning followed by reverse positioning, as described in claim 1, is characterized in that... The specific steps for the terminal to receive the location system information block from the network side and parse it to obtain RTK differential data are as follows: The terminal receives the location system information block and uses the pseudorange coding formula to parse and restore the compressed fields in the location system information block to obtain RTK differential data. The location management unit obtains differential messages from the continuously operating reference station and encapsulates the differential messages into location system information blocks.

7. The indoor high-precision positioning method based on coarse indoor Bluetooth beacon positioning followed by reverse positioning, as described in claim 1, is characterized in that... The differential positioning solution using virtual pseudorange, RTK differential data, and preliminary coarse positioning also includes the step of constructing double-difference observation equations: The terminal uses virtual pseudorange as rover station observations and RTK differential data as base station observations. The terminal uses the preliminary coarse positioning position as an approximate coordinate to construct a double-difference observation equation describing the relationship between the rover's position deviation and the observation residual.

8. The indoor high-precision positioning method based on coarse indoor Bluetooth beacon positioning followed by reverse positioning, as described in claim 7, is characterized in that... The specific steps for performing differential positioning calculations are as follows: The terminal uses linearization equations to transform the double-difference observation equations into a linear form. The linearization equations include the structure matrix defined by the structure matrix formula, the undetermined parameter vector defined by the parameter vector formula, and the observation residual constant vector defined by the residual calculation formula. The terminal uses the least squares method to solve the linearized equations, calculates the undetermined parameters in the parameter vector formula, and obtains the position correction.

9. The indoor high-precision positioning method based on coarse indoor Bluetooth beacon positioning followed by reverse positioning, as described in claim 8, is characterized in that... The specific steps for outputting indoor positioning coordinates are as follows: The terminal uses the position correction amount and the preliminary coarse positioning position to calculate the indoor positioning coordinates through the coordinate update formula.

10. An indoor high-precision positioning system achieved by reverse calculation after coarse positioning using indoor Bluetooth beacons, characterized in that: include: A terminal for implementing the indoor high-precision positioning method described in any one of claims 1-9, which involves reverse calculation after coarse indoor Bluetooth beacon positioning. The Bluetooth beacon system is used to receive satellite signals from outdoor global navigation satellite systems in real time, parse and obtain navigation assistance data from them, and send them to the terminal. The high-precision positioning support system on the network side is used to acquire differential messages generated by continuously operating reference stations, and encapsulate the differential messages into location system information blocks before broadcasting them to the terminal via a 5G base station.