A pseudolite navigation message management method, system, device and storage medium
By using a pseudo-satellite navigation message management method, navigation messages adapted to the needs of the terminal are generated and sent based on a preset communication protocol, which solves the problem of long pseudo-satellite acquisition time in indoor positioning and enables rapid positioning of the terminal.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
- Filing Date
- 2022-03-10
- Publication Date
- 2026-07-24
Smart Images

Figure CN116774248B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of navigation, and in particular to a method, system, device and storage medium for managing pseudo-satellite navigation messages. Background Technology
[0002] With the successful implementation of navigation satellite-based positioning services outdoors, the challenge of positioning services has gradually shifted to providing such services indoors. Indoor positioning has broad market value, especially in densely populated areas such as basements of large commercial buildings and convention centers, where pseudo-satellite positioning systems need to be deployed to provide navigation and positioning services for user terminals.
[0003] When the terminal performs its first positioning, it needs to capture and track at least four pseudo-satellites. However, since the pseudo-random noise code, Doppler frequency, and code phase of the pseudo-satellites visible in the current area are uncertain, it takes a lot of time to search among all the pseudo-satellites, which causes the terminal to be slow in positioning. Summary of the Invention
[0004] To address the aforementioned technical problems, this application aims to provide a method, system, device, and storage medium for managing pseudo-satellite navigation messages.
[0005] The technical solution of this application is implemented as follows:
[0006] Firstly, a method for managing pseudo-satellite navigation messages is provided, the method comprising:
[0007] The navigation message request of the pseudo-satellite positioning system is obtained based on a preset communication protocol; wherein, the navigation message request includes the navigation message type requested by the pseudo-satellite positioning system;
[0008] Generate the first navigation message requested by the pseudo-satellite positioning system according to the type of navigation message requested by the pseudo-satellite positioning system;
[0009] Based on the preset communication protocol, the first navigation message is sent to the operation control system of the pseudo-satellite positioning system, so that the operation control system sends the first navigation message to the terminal and locates the terminal.
[0010] Secondly, a pseudo-satellite navigation message management device is provided, the pseudo-satellite navigation message management device comprising:
[0011] The management module is used to obtain navigation message requests from pseudo-satellite positioning systems based on a preset communication protocol; wherein, the navigation message request includes the navigation message type requested by the pseudo-satellite positioning system;
[0012] A navigation message generation module is used to generate a first navigation message requested by the pseudo-satellite positioning system according to the type of navigation message requested by the pseudo-satellite positioning system.
[0013] The navigation message forwarding module is used to send the first navigation message to the operation control system of the pseudo-satellite positioning system based on the preset communication protocol, so that the operation control system sends the first navigation message to the terminal and positions the terminal.
[0014] Thirdly, a pseudo-satellite navigation message management device is provided, comprising: a processor and a memory configured to store a computer program capable of running on the processor, wherein the processor is configured to execute the steps of the aforementioned method when running the computer program.
[0015] Fourthly, a computer-readable storage medium is provided having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the aforementioned method.
[0016] This application discloses a pseudo-satellite navigation message management method, system, device, and storage medium. Based on the type of navigation message requested by the pseudo-satellite positioning system, the method flexibly configures the required navigation message for the terminal of the pseudo-satellite positioning system. Simultaneously, based on a preset communication protocol, the method sends the first navigation message to the operation control system of the pseudo-satellite positioning system. The terminal obtains the first navigation message from the operation control system, i.e., the terminal obtains the first navigation message through network transmission. This method shortens the time for the terminal to capture the first navigation message, thereby accelerating the initial positioning of the terminal. Attached Figure Description
[0017] Figure 1 This is a schematic diagram of the first process of the pseudo-satellite navigation message management method in the embodiments of this application;
[0018] Figure 2 This is a schematic diagram of the second process of the pseudo-satellite navigation message management method in the embodiments of this application;
[0019] Figure 3 This is a schematic diagram of the method for generating on-orbit satellite navigation messages in the embodiments of this application;
[0020] Figure 4 This is a schematic diagram of the third process of the pseudo-satellite navigation message management method in the embodiments of this application;
[0021] Figure 5 This is a schematic diagram of the composition structure of the pseudo-satellite navigation message management device in the embodiments of this application;
[0022] Figure 6 This is a schematic diagram of the composition structure of the pseudo-satellite navigation message management equipment in the embodiments of this application. Detailed Implementation
[0023] In order to gain a more detailed understanding of the features and technical content of the embodiments of this application, the implementation of the embodiments of this application will be described in detail below with reference to the accompanying drawings. The accompanying drawings are for reference and illustration only and are not intended to limit the embodiments of this application.
[0024] Figure 1 This is a schematic diagram of the first process of the pseudo-satellite navigation message management method in this application embodiment, applied to a pseudo-satellite navigation message management device, such as... Figure 1 As shown, the pseudo-satellite navigation message management method may specifically include:
[0025] Step 101: Obtain the navigation message request from the pseudo-satellite positioning system based on a preset communication protocol; wherein, the navigation message request includes the navigation message type requested by the pseudo-satellite positioning system.
[0026] Before performing step 101, a communication connection is established between the pseudo-satellite navigation message management device and the pseudo-satellite positioning system based on a preset communication protocol. When the communication connection between the two is normal, the navigation pseudo-satellite navigation message management device can receive navigation message requests sent by the pseudo-satellite positioning system. For example, the preset communication protocol can be the TCP communication protocol.
[0027] Step 102: Generate the first navigation message requested by the pseudo-satellite positioning system according to the type of navigation message requested by the pseudo-satellite positioning system.
[0028] Here, when the navigation message type is the navigation message type of an in-orbit satellite, the first navigation message requested by the pseudo-satellite positioning system is the navigation message of the in-orbit satellite; when the navigation message type is the navigation message type of a pseudo-satellite, the first navigation message requested by the pseudo-satellite positioning system is the navigation message of the pseudo-satellite. The navigation message includes at least pseudo-satellite position information, pseudo-satellite clock bias information, and equipment delay correction information.
[0029] For example, in some embodiments, the navigation message request may also include authentication information of the pseudo-satellite positioning system when requesting login; step 102 may specifically include: generating a first navigation message requested by the pseudo-satellite positioning system based on the authentication information and the navigation message type.
[0030] It should be noted that the authentication information refers to the information used by the pseudo-satellite positioning system to verify whether it is logging into the pseudo-satellite navigation message management device for the first time after the pseudo-satellite positioning system successfully requests login.
[0031] Here, after the pseudo-satellite positioning system successfully logs in with a username and password, when the pseudo-satellite navigation message management device verifies that the pseudo-satellite positioning system is logging in for the first time based on the identity verification information, in some embodiments, a first thread is created; the first thread is executed, the data source for generating the first navigation message is determined according to the navigation message type, and the data source is obtained; based on the data source, the first navigation message requested by the pseudo-satellite positioning system is generated.
[0032] In other words, when the pseudo-satellite positioning system verifies its first login based on authentication information, a new thread, the first thread, is created and executed. This first thread determines the data source for generating the first navigation message based on the type of navigation message requested by the pseudo-satellite positioning system, retrieves the data source, and then generates the requested first navigation message based on that data source. Pseudo-satellite positioning systems in different regions can obtain the corresponding first navigation message according to the different requested navigation message types, thus satisfying the navigation message requirements of pseudo-satellite positioning systems in different regions.
[0033] For example, in some embodiments, determining the data source for generating the first navigation message based on the navigation message type includes: when the navigation message type is an on-orbit satellite navigation message type, determining the data source as a second navigation message transmitted by an on-orbit satellite; when the navigation message type is a pseudo-satellite navigation message type, determining the data source as pseudo-satellite information of the pseudo-satellite positioning system stored in a pseudo-satellite information database.
[0034] Here, when the navigation message type requested by the pseudosatellite positioning system is an in-orbit satellite navigation message type, since in-orbit satellites are in real-time motion, the data source is determined to be the second navigation message transmitted by all in-orbit satellites in real-time received by the receivers included in the pseudosatellite navigation message management equipment. When the navigation message type requested by the pseudosatellite positioning system is a pseudosatellite navigation message type, since the pseudosatellites in the pseudosatellite positioning system are manually deployed, and the pseudosatellite position coordinates are stored in the pseudosatellite information database after manual calibration, the data source is determined to be the pseudosatellite information of the pseudosatellite positioning system stored in the pseudosatellite information database.
[0035] For example, in some embodiments, the method further includes: caching the mapping relationship between the first thread identifier and the pseudo-satellite positioning system identifier in a first storage space.
[0036] Here, the mapping relationship between the first thread identifier and the pseudo-satellite positioning system identifier is cached in the first storage space so that when the pseudo-satellite positioning system is not logged in for the first time, the first thread can be executed according to the first thread identifier to generate the first navigation message requested by the pseudo-satellite positioning system.
[0037] When the pseudo-satellite positioning system successfully logs in with a username and password, and the pseudo-satellite navigation message management device verifies that the pseudo-satellite positioning system is not logging in for the first time based on the identity verification information, in some embodiments, the device retrieves the first thread identifier corresponding to the pseudo-satellite positioning system identifier from the first storage space; based on the first thread identifier, the device executes the first thread to obtain the data source; and based on the data source, the device generates the first navigation message requested by the pseudo-satellite positioning system.
[0038] In other words, when the pseudo-satellite positioning system is verified to be a non-first-time login based on the identity verification information, the first thread identifier corresponding to the current pseudo-satellite positioning system identifier is found in the first storage space, the first thread is executed according to the first thread identifier, the data source is directly obtained, and then the first navigation message requested by the pseudo-satellite positioning system is generated according to the data source.
[0039] Step 103: Based on the preset communication protocol, send the first navigation message to the operation control system of the pseudo-satellite positioning system, so that the operation control system sends the first navigation message to the terminal and locates the terminal.
[0040] Here, after the operation and control system of the pseudo-satellite positioning system obtains the first navigation message, it sends the first navigation message to the terminal, and the terminal uses the first navigation message to achieve indoor positioning.
[0041] For example, in some embodiments, the navigation message request further includes a navigation message forwarding frequency; the method further includes: caching the first navigation message in a second storage space; forwarding the first navigation message to the pseudo-satellite positioning system operation control system includes: retrieving the first navigation message from the second storage space; forwarding the first navigation message to the pseudo-satellite positioning system operation control system according to the forwarding frequency until a stop forwarding instruction is received; or, retrieving the first navigation message from the second storage space; forwarding the first navigation message to the pseudo-satellite positioning system operation control system according to the forwarding frequency, and indicating stop forwarding when it is determined that the pseudo-satellite positioning system does not meet the receiving conditions.
[0042] Here, the default navigation message forwarding frequency is 1Hz, but it can also be customized, such as to 30Hz. It should be noted that if a pseudo-satellite positioning system logs in for the first time, it will generate a new navigation message, which can be forwarded in advance without waiting 30 seconds.
[0043] It should also be noted that the pseudo-satellite navigation message management equipment of this application can meet the navigation message needs of pseudo-satellite positioning systems in multiple regions, and supports deployment on a local or cloud-based basis.
[0044] Here, the execution entity for steps 101 to 103 can be the processor of the pseudo-satellite navigation message management device.
[0045] By adopting the above technical solution, the required navigation message is flexibly configured for the terminal of the pseudo-satellite positioning system according to the type of navigation message requested by the pseudo-satellite positioning system. At the same time, the first navigation message is sent to the operation control system of the pseudo-satellite positioning system based on the preset communication protocol. The terminal obtains the first navigation message from the operation control system. That is, the terminal obtains the first navigation message through network transmission. This method shortens the time for the terminal to capture the first navigation message, thereby accelerating the initial positioning of the terminal.
[0046] Based on the above embodiments, this application provides specific examples of how to generate the first navigation message requested by a pseudo-satellite positioning system. Figure 2 This is a schematic diagram of the second process of the pseudo-satellite navigation message management method in the embodiments of this application, such as... Figure 2 As shown, the pseudo-satellite navigation message management method may specifically include:
[0047] Step 201: Obtain the navigation message request from the pseudo-satellite positioning system based on a preset communication protocol; wherein the navigation message request includes the navigation message type and authentication information requested by the pseudo-satellite positioning system.
[0048] Step 202: Verify whether the pseudo-satellite positioning system is a first-time login based on the authentication information; if yes, proceed to step 203; if no, proceed to step 205.
[0049] Step 203: Create the first thread.
[0050] Here, when the pseudo-satellite positioning system is verified as a first login based on the authentication information, a new thread, namely the first thread, needs to be created. By executing the first thread, the data source for generating the first navigation message requested by the pseudo-satellite positioning system is first determined, and then the data source is obtained to generate the first navigation message.
[0051] Step 204: Execute the first thread, determine the data source for generating the first navigation message according to the navigation message type, and obtain the data source.
[0052] For example, in some embodiments, determining the data source for generating the first navigation message based on the navigation message type includes: when the navigation message type is an on-orbit satellite navigation message type, determining the data source as a second navigation message transmitted by an on-orbit satellite; when the navigation message type is a pseudo-satellite navigation message type, determining the data source as pseudo-satellite information of the pseudo-satellite positioning system stored in a pseudo-satellite information database.
[0053] Here, when the navigation message type requested by the pseudosatellite positioning system is an in-orbit satellite navigation message type, since in-orbit satellites are in real-time motion, the data source is determined to be the second navigation message transmitted by all in-orbit satellites in real-time received by the receivers included in the pseudosatellite navigation message management equipment. When the navigation message type requested by the pseudosatellite positioning system is a pseudosatellite navigation message type, since the pseudosatellites in the pseudosatellite positioning system are manually deployed, and the pseudosatellite position coordinates are stored in the pseudosatellite information database after manual calibration, the data source is determined to be the pseudosatellite information of the pseudosatellite positioning system stored in the pseudosatellite information database.
[0054] Step 205: Find the first thread identifier corresponding to the pseudo-satellite positioning system identifier from the first storage space.
[0055] Here, after step 203 is executed, the mapping relationship between the first thread identifier and the pseudo-satellite positioning system identifier will be cached in the first storage space so that if the pseudo-satellite positioning system is not logged in for the first time, the first thread identifier corresponding to the pseudo-satellite positioning system identifier can be found in the first storage space, and then the following steps can be executed.
[0056] Step 206: Based on the first thread identifier, execute the first thread to obtain the data source.
[0057] Step 207: Based on the data source, generate the first navigation message requesting the pseudo-satellite positioning system.
[0058] For example, in some embodiments, when the navigation message type requested by the pseudo-satellite positioning system is an on-orbit satellite navigation message type, step 207 may specifically include: obtaining the second navigation messages of on-orbit satellites received by receivers in different regions of the world; obtaining the second navigation messages of all visible on-orbit satellites of the pseudo-satellite positioning system from the second navigation messages of all on-orbit satellites; and the second navigation messages of all visible on-orbit satellites constitute the first navigation message.
[0059] In other words, the process first involves receiving the second navigation messages transmitted by all in-orbit satellites using receivers deployed in different regions around the world (i.e., navigation message collection). Then, visible in-orbit satellites of the current pseudo-satellite positioning system are selected from all in-orbit satellites (i.e., visible in-orbit satellite selection). The second navigation messages from all visible in-orbit satellites are then combined to form the first navigation message requested by the pseudo-satellite positioning system. The format of the navigation message can be RTCM format.
[0060] For example, in some embodiments, the method further includes: decoding the second navigation messages transmitted by all on-orbit satellites to obtain corresponding decoding results; wherein, for on-orbit satellites of the same type, all on-orbit satellites include at least one; based on the reference time of the satellite clock included in the decoding results, selecting the on-orbit satellite of the same type closest to the current time; determining the elevation angle between the terminal in the pseudo-satellite positioning system and all on-orbit satellites closest to the current time at the current time; and designating on-orbit satellites with elevation angles greater than a preset elevation angle as visible on-orbit satellites of the pseudo-satellite positioning system.
[0061] It should be noted that different receivers may receive second navigation messages transmitted by the same type of in-orbit satellites, resulting in at least one second navigation message from the same type of in-orbit satellite. For second navigation messages from the same type of in-orbit satellite, the one closest to the current time is selected, and the others are deleted. Specifically, the second navigation message is decoded to extract the satellite clock's reference time. For second navigation messages from the same type of in-orbit satellite, based on the satellite clock's reference time, the one closest to the current time is selected, and the others are deleted.
[0062] It should also be noted that for the current pseudo-satellite positioning system, among all the on-orbit satellites closest to the current moment, there are multiple invisible on-orbit satellites. Directly forwarding the second navigation messages of all on-orbit satellites to the current pseudo-satellite positioning system for positioning would increase the complexity of the calculation process. Therefore, it is necessary to exclude the multiple invisible on-orbit satellites among all the on-orbit satellites to select the visible on-orbit satellites for the current pseudo-satellite positioning system. Specifically, the elevation angle between the terminal in the pseudo-satellite positioning system at the current moment and all the on-orbit satellites closest to the current moment is determined, and on-orbit satellites with elevation angles greater than a preset elevation angle are selected as visible on-orbit satellites. The preset elevation angle can be set to 5°.
[0063] Here, since the second navigation messages of the on-orbit satellites have been decoded, after selecting the visible on-orbit satellites, the decoding results of the visible on-orbit satellites are encoded according to the RTCM protocol to obtain the second navigation messages of the visible on-orbit satellites. The second navigation messages of all visible on-orbit satellites are combined to form the first navigation message requested by the pseudo-satellite positioning system and stored.
[0064] In response, this application provides a method for generating on-orbit satellite navigation messages. Figure 3 This is a schematic diagram of the method for generating on-orbit satellite navigation messages in an embodiment of this application, as shown below. Figure 3 As shown, the specific methods for generating on-orbit satellite navigation messages include:
[0065] Step 301: Collection of the second navigation message for the satellite in orbit.
[0066] Step 302: Decode the second navigation message to obtain the decoding result.
[0067] Step 303: Select visible on-orbit satellites based on the reference time of the satellite clocks included in the decoding results.
[0068] Step 304: Encode the decoding result of the visible on-orbit satellite to obtain the second navigation message of the visible on-orbit satellite.
[0069] Step 305: The second navigation messages of all visible on-orbit satellites constitute the first navigation message requesting the pseudo-satellite positioning system.
[0070] When the navigation message type is the on-orbit satellite navigation message type, it receives navigation messages from all on-orbit satellites, selects navigation messages from all visible on-orbit satellites, and forwards them to the pseudo-satellite positioning system. This ensures that even without the conditions for deploying a GNSS antenna, the pseudo-satellite positioning system can accurately obtain the requested on-orbit satellite navigation message to achieve indoor positioning of the terminal.
[0071] For example, in some embodiments, when the navigation message type requested by the pseudo-satellite positioning system is a pseudo-satellite navigation message type, step 207 may specifically include: obtaining pseudo-satellite information of the pseudo-satellite positioning system from the pseudo-satellite information database; converting the pseudo-satellite information into the navigation message required by the pseudo-satellite navigation message type to obtain the first navigation message.
[0072] For example, when the pseudo-satellite navigation message type requires a pseudo-satellite navigation message filled according to the navigation message format, the pseudo-satellite position represented by position coordinates (X, Y, Z) in the pseudo-satellite information needs to be converted into a pseudo-satellite position represented by a function of six orbital elements and nine perturbation parameters, i.e., the pseudo-satellite navigation message requested by the pseudo-satellite positioning system. Here, the six orbital elements refer to... e , , and The nine perturbation parameters refer to , , , , , , and .
[0073] Before demonstrating the generation process of pseudo-satellite navigation messages filled according to the navigation message format, it should be noted that in order to ensure that the calculated pseudo-satellite positions are fixed, and without changing the structure of the navigation message and the calculation method of the pseudo-satellite positions in the terminal algorithm, it is necessary to modify variables such as the orbital elements and perturbation parameters. In response to the word length limit in the navigation message arrangement, the scaling factor of certain parameters is modified. The scaling factor of the corresponding receiver terminal needs to be modified in the same way. The navigation message for the ground pseudo-satellite is only generated once, and it is regenerated when the coordinate position of the pseudo-satellite changes.
[0074] The specific process for generating pseudo-satellite navigation messages filled according to the navigation message format is as follows (taking GPS as an example, BDS and others are similar):
[0075] S11: With the pseudo-satellite already synchronized, set the pseudo-satellite clock bias parameters. All are 0.
[0076] S12: Sets the time-related variables to 0, sets the satellite's average angular velocity n, satellite eccentricity e, and perturbation parameters. Satellite orbital inclination rate All variables are 0.
[0077] S13: Modify the scaling factor of certain ephemeris parameters, when the major radius of satellite a's orbit is taken to its maximum value. =3.6316×10⁻⁵ - 1.2×10⁻³, Correction amount for the average angular velocity of the satellite. Scale factor ; Correcting the rate of change of right ascension at the ascending node Scale factor The semi-major axis square root accuracy has been revised to ,in .
[0078] S14: Calculate the square root of the satellite's semi-major axis based on the input coordinates. The satellite's coordinates in the ECEF coordinate system are:
[0079]
[0080] make ,but yes( , , The function of () according to ( , , The remaining ephemeris parameters can be obtained from this.
[0081]
[0082]
[0083] make ,but Then we can obtain the results sequentially. , .
[0084] S15: Encode and store according to the RTCM protocol.
[0085] For example, when the navigation message required by the pseudo-satellite navigation message type is a pseudo-satellite navigation message defined according to the standard protocol, firstly, the pseudo-satellite information is defined in the example Beidou pseudo-satellite interface specification, including: pseudo-satellite position (X, Y, Z), week number (WN), seconds within week (SOW), pseudo-satellite device ID, pseudo-satellite device delay, etc., including field length scaling factors and units, as shown in Table 1. Then, the predefined standard protocol is shown in Table 2, i.e., frame structure.
[0086] Table 1 Pseudo-satellite information table
[0087]
[0088] Table 2 Frame Structure
[0089]
[0090] The specific process for generating pseudo-satellite navigation messages using standard protocol interfaces is as follows:
[0091] S21: Obtain pseudosatellite information for all pseudosatellites currently deployed in the pseudosatellite positioning system from the pseudosatellite information database.
[0092] S22: Assign values to the defined fields according to the interface specification. The week and the second within the week are converted from the system time (GPST).
[0093] S23: Obtain the predefined standard protocol, i.e., frame structure table 2, insert table 1 as data content into table 2, and store it.
[0094] Step 208: Based on the preset communication protocol, send the first navigation message to the operation control system of the pseudo-satellite positioning system, so that the operation control system sends the first navigation message to the terminal and locates the terminal.
[0095] Using the above technical solution, the system determines whether the pseudo-satellite positioning system is logging in for the first time based on the authentication information included in the navigation message request. If so, it first needs to determine the data source based on the navigation message type included in the navigation message request, and then obtain the data source to generate the first navigation message. If not, it directly obtains the data source to generate the first navigation message, which can save some network resources. Secondly, based on the navigation message type requested by the pseudo-satellite positioning system, the corresponding type of navigation message is provided to the pseudo-satellite positioning system, realizing unified management of on-orbit satellite navigation messages and pseudo-satellite navigation messages.
[0096] Based on the above embodiments, this application also provides a method for managing pseudo-satellite navigation messages. Figure 4 This is a schematic diagram of the third process of the pseudo-satellite navigation message management method in this application embodiment, which is applied to a pseudo-satellite navigation message management device. The device includes a management module, a navigation message generation module, and a navigation message forwarding module. The management module is used to execute steps 401 to 403, the navigation message generation module is used to execute steps 404 to 406, and the navigation message forwarding module is used to execute step 407.
[0097] like Figure 4 As shown, the steps of the pseudo-satellite navigation message management method may include:
[0098] Step 401: Obtain the navigation message request from the pseudo-satellite positioning system; the navigation message request includes authentication information and navigation message type.
[0099] Step 402: Determine whether the pseudo-satellite positioning system is a first-time login based on the authentication information; if yes, proceed to step 403 or 404; if no, proceed to step 408.
[0100] Specifically, the management module receives navigation message requests initiated by the operation and control system of the pseudo-satellite positioning system when logging in with a username and password. The management module verifies whether the pseudo-satellite positioning system is logging in for the first time based on the identity verification information in the navigation message request. If so, it determines the data source for generating the corresponding type of navigation message based on the navigation message type. The data source is either the pseudo-satellite information database or the GNSS receiver data stream.
[0101] Step 403: Determine the pseudo-satellite information database based on the navigation message type.
[0102] Step 404: Determine the GNSS receiver data stream based on the navigation message type.
[0103] Step 405: First pseudo-satellite navigation message.
[0104] The first pseudo-satellite navigation message is a navigation message defined according to the navigation message format.
[0105] Step 406: Second pseudo-satellite navigation message.
[0106] The first pseudo-satellite navigation message is a navigation message defined according to the standard protocol.
[0107] Step 407: In-orbit satellite navigation message.
[0108] Step 408: Forward the navigation message.
[0109] Specifically, the navigation message forwarding module forwards the first pseudo-satellite navigation message or the second pseudo-satellite navigation message or the on-orbit satellite navigation message to the operation control system of the pseudo-satellite positioning system. The terminal obtains the requested type of navigation message from the operation control system, thereby realizing indoor positioning of the terminal.
[0110] Using the above technical solution, the system determines whether the pseudo-satellite positioning system is logging in for the first time based on the authentication information included in the navigation message request. If so, it first needs to determine the data source based on the navigation message type included in the navigation message request. The data source includes the pseudo-satellite information database and the GNSS receiver data stream. The data source is used to generate the corresponding type of navigation message. If not, the generated navigation message is directly forwarded to the pseudo-satellite positioning system to achieve indoor positioning of the terminal.
[0111] To implement the method of the embodiments of this application, based on the same inventive concept, the embodiments of this application also provide a pseudo-satellite navigation message management device. Figure 5 This is a schematic diagram of the composition and structure of the pseudo-satellite navigation message management device in the embodiments of this application.
[0112] like Figure 5 As shown, the pseudo-satellite navigation message management device 50 includes:
[0113] The management module 501 is used to obtain navigation message requests from pseudo-satellite positioning systems based on a preset communication protocol; wherein, the navigation message request includes the navigation message type requested by the pseudo-satellite positioning system;
[0114] The navigation message generation module 502 is used to generate the first navigation message requested by the pseudo-satellite positioning system according to the navigation message type requested by the pseudo-satellite positioning system.
[0115] The navigation message forwarding module 503 is used to send the first navigation message to the operation control system of the pseudo-satellite positioning system based on the preset communication protocol, so that the operation control system sends the first navigation message to the terminal and positions the terminal.
[0116] By adopting the above technical solution, the required navigation message is flexibly configured for the terminal of the pseudo-satellite positioning system according to the type of navigation message requested by the pseudo-satellite positioning system. At the same time, the first navigation message is sent to the operation control system of the pseudo-satellite positioning system based on the preset communication protocol. The terminal obtains the first navigation message from the operation control system. That is, the terminal obtains the first navigation message through network transmission. This method shortens the time for the terminal to capture the first navigation message, thereby accelerating the initial positioning of the terminal.
[0117] In some embodiments, the navigation message request further includes the authentication information of the pseudo-satellite positioning system when requesting login; the navigation message generation module is specifically used to generate the first navigation message requested by the pseudo-satellite positioning system based on the authentication information and the navigation message type.
[0118] In some embodiments, the navigation message generation module is further configured to verify that the pseudo-satellite positioning system is a first-time login based on the authentication information; create a first thread; execute the first thread, determine the data source for generating the first navigation message according to the navigation message type, and obtain the data source; and generate the first navigation message requested by the pseudo-satellite positioning system based on the data source.
[0119] In some embodiments, when the navigation message type is an on-orbit satellite navigation message type, the data source is determined to be a second navigation message transmitted by an on-orbit satellite; when the navigation message type is a pseudo-satellite navigation message type, the data source is determined to be pseudo-satellite information of the pseudo-satellite positioning system stored in the pseudo-satellite information database.
[0120] In some embodiments, the navigation message generation module is further configured to verify that the pseudo-satellite positioning system is not a first-time login based on the authentication information; retrieve the first thread identifier corresponding to the pseudo-satellite positioning system identifier from the first storage space; execute the first thread based on the first thread identifier to obtain the data source; and generate a first navigation message requesting the pseudo-satellite positioning system based on the data source; wherein the first storage space caches the mapping relationship between the first thread identifier and the pseudo-satellite positioning system identifier.
[0121] In some embodiments, when the navigation message type is an on-orbit satellite navigation message type, the navigation message generation module is further configured to obtain the second navigation messages of on-orbit satellites received by receivers deployed in different regions around the world; obtain the second navigation messages of all visible on-orbit satellites of the pseudo-satellite positioning system from the second navigation messages of all on-orbit satellites; and the second navigation messages of all visible on-orbit satellites constitute the first navigation message.
[0122] In some embodiments, the navigation message generation module is further configured to decode the second navigation messages transmitted by all on-orbit satellites to obtain corresponding decoding results; wherein, for on-orbit satellites of the same type, there is at least one on-orbit satellite among all on-orbit satellites; based on the reference time of the satellite clock included in the decoding results, the on-orbit satellite of the same type closest to the current time is selected; the elevation angle between the terminal in the pseudo-satellite positioning system and all on-orbit satellites closest to the current time is determined; and on-orbit satellites with elevation angles greater than a preset elevation angle are designated as visible on-orbit satellites of the pseudo-satellite positioning system.
[0123] In some embodiments, when the navigation message type is a pseudo-satellite navigation message type, the navigation message generation module is further configured to obtain pseudo-satellite information of the pseudo-satellite positioning system from the pseudo-satellite information database; convert the pseudo-satellite information into navigation messages required by the pseudo-satellite navigation message type to obtain the first navigation message.
[0124] In some embodiments, the navigation message request further includes a navigation message forwarding frequency; the navigation message forwarding module is specifically configured to obtain the first navigation message from the second storage space; forward the first navigation message to the pseudo-satellite positioning system according to the forwarding frequency until a stop forwarding instruction is received; or, obtain the first navigation message from the second storage space; forward the first navigation message to the pseudo-satellite positioning system according to the forwarding frequency, and indicate a stop forwarding when it is determined that the pseudo-satellite positioning system does not meet the receiving conditions; wherein, the second storage space caches the first navigation message.
[0125] This application also provides another pseudo-satellite navigation message management device, such as... Figure 6 As shown, the pseudo-satellite navigation message management device 60 includes: a processor 601 and a memory 602 configured to store computer programs capable of running on the processor;
[0126] The processor 601 is configured to execute the method steps in the foregoing embodiments when running a computer program.
[0127] Of course, in practical applications, such as Figure 6 As shown, the various components in this pseudo-satellite navigation message management device are coupled together via a bus system 603. It is understood that the bus system 603 is used to achieve communication between these components. In addition to a data bus, the bus system 603 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 6 The general designated all buses as Bus System 603.
[0128] In practical applications, the aforementioned processor can be at least one of the following: Application-Specific Integrated Circuit (ASIC), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field-Programmable Gate Array (FPGA), controller, microcontroller, and microprocessor. It is understood that, for different devices, the electronic device used to implement the above processor function can also be other types, and the embodiments of this application do not specifically limit it.
[0129] The aforementioned memory can be volatile memory, such as random-access memory (RAM); or non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD); or a combination of the above types of memory, and provides instructions and data to the processor.
[0130] In an exemplary embodiment, this application also provides a computer-readable storage medium for storing a computer program.
[0131] Optionally, the computer-readable storage medium can be applied to any of the methods in the embodiments of this application, and the computer program causes the computer to execute the corresponding processes implemented by the processor in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0132] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.
[0133] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0134] Furthermore, in the various embodiments of the present invention, all functional units can be integrated into one processing module, or each unit can be a separate unit, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional units. Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0135] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0136] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0137] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.
[0138] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for managing pseudo-satellite navigation messages, characterized in that, The method includes: The navigation message request of the pseudo-satellite positioning system is obtained based on a preset communication protocol; wherein, the navigation message request includes the navigation message type requested by the pseudo-satellite positioning system; Based on the navigation message type requested by the pseudo-satellite positioning system, a first navigation message requested by the pseudo-satellite positioning system is generated; wherein, when the navigation message type is an on-orbit satellite navigation message type, the first navigation message is determined by the second navigation messages of all visible on-orbit satellites in the second navigation messages of all received on-orbit satellites; when the navigation message type is a pseudo-satellite navigation message type, the first navigation message is determined by the pseudo-satellite information of the pseudo-satellite positioning system obtained from the pseudo-satellite information database; Based on the preset communication protocol, the first navigation message is sent to the operation control system of the pseudo-satellite positioning system, so that the operation control system sends the first navigation message to the terminal and locates the terminal.
2. The method according to claim 1, characterized in that, The navigation message request also includes the authentication information of the pseudo-satellite positioning system when requesting login; The step of generating the first navigation message requested by the pseudo-satellite positioning system according to the type of navigation message requested by the pseudo-satellite positioning system includes: Based on the authentication information and the navigation message type, a first navigation message requested by the pseudo-satellite positioning system is generated.
3. The method according to claim 2, characterized in that, The step of generating the first navigation message requested by the pseudo-satellite positioning system based on the authentication information and the navigation message type includes: The authentication information is used to verify that the pseudo-satellite positioning system is a first-time login. Create the first thread; The first thread is executed to determine the data source for generating the first navigation message based on the navigation message type, and the data source is obtained. Based on the data source, the first navigation message requested by the pseudo-satellite positioning system is generated.
4. The method according to claim 3, characterized in that, The method further includes: caching the mapping relationship between the first thread identifier and the pseudo-satellite positioning system identifier in the first storage space; The step of generating the first navigation message requested by the pseudo-satellite positioning system based on the authentication information and the navigation message type includes: Based on the authentication information, it is verified that the pseudo-satellite positioning system is not a first-time login; Find the first thread identifier corresponding to the pseudo-satellite positioning system identifier in the first storage space; Based on the first thread identifier, execute the first thread to obtain the data source; Based on the data source, the first navigation message requested by the pseudo-satellite positioning system is generated.
5. The method according to claim 3 or 4, characterized in that, When the navigation message type is the on-orbit satellite navigation message type, the step of generating the first navigation message requested by the pseudo-satellite positioning system based on the data source includes: Acquire the second navigation message from on-orbit satellites received by receivers deployed in different regions around the world; Obtain the second navigation messages of all visible on-orbit satellites of the pseudo-satellite positioning system from the second navigation messages of all on-orbit satellites; The first navigation message is composed of the second navigation messages of all visible on-orbit satellites.
6. The method according to claim 5, characterized in that, The method further includes: The second navigation messages transmitted by all the satellites in orbit are decoded to obtain the corresponding decoding results; wherein, among all the satellites in orbit, there is at least one satellite of the same type in orbit. Based on the reference time of the satellite clock included in the decoding result, select the on-orbit satellite of the same model that is closest to the current time. Determine the elevation angle between the terminal in the pseudo-satellite positioning system at the current moment and all the on-orbit satellites closest to the current moment; The on-orbit satellites with an elevation angle greater than a preset elevation angle are designated as the visible on-orbit satellites of the pseudo-satellite positioning system.
7. The method according to claim 3 or 4, characterized in that, When the navigation message type is the pseudo-satellite navigation message type, generating the first navigation message requested by the pseudo-satellite positioning system based on the data source includes: Obtain the pseudo-satellite information of the pseudo-satellite positioning system from the pseudo-satellite information database; The pseudo-satellite information is converted into the navigation message required by the pseudo-satellite navigation message type to obtain the first navigation message.
8. The method according to claim 1, characterized in that, The navigation message request also includes a navigation message forwarding frequency; the method further includes: caching the first navigation message in a second storage space; The step of forwarding the first navigation message to the pseudo-satellite positioning system and operating the control system includes: The first navigation message is retrieved from the second storage space; the first navigation message is forwarded to the pseudo-satellite positioning system operation control system according to the forwarding frequency until a stop forwarding command is received; or, The first navigation message is retrieved from the second storage space; the first navigation message is forwarded to the operation control system of the pseudo-satellite positioning system according to the forwarding frequency; when it is determined that the pseudo-satellite positioning system does not meet the receiving conditions, forwarding is stopped.
9. A pseudo-satellite navigation message management device, characterized in that, The pseudo-satellite navigation message management device includes: The management module is used to obtain navigation message requests from pseudo-satellite positioning systems based on a preset communication protocol; wherein, the navigation message request includes the navigation message type requested by the pseudo-satellite positioning system; A navigation message generation module is configured to generate a first navigation message requested by the pseudo-satellite positioning system based on the navigation message type requested by the pseudo-satellite positioning system; wherein, when the navigation message type is an on-orbit satellite navigation message type, the first navigation message is determined by the second navigation messages of all visible on-orbit satellites in the second navigation messages of all received on-orbit satellites; when the navigation message type is a pseudo-satellite navigation message type, the first navigation message is determined by the pseudo-satellite information of the pseudo-satellite positioning system obtained from the pseudo-satellite information database; The navigation message forwarding module is used to send the first navigation message to the operation control system of the pseudo-satellite positioning system based on the preset communication protocol, so that the operation control system sends the first navigation message to the terminal and positions the terminal.
10. A pseudo-satellite navigation message management device, characterized in that, The pseudo-satellite navigation message management device includes: a processor and a memory configured to store computer programs capable of running on the processor. Wherein, when the processor is configured to run the computer program, it performs the steps of the method according to any one of claims 1 to 8.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the steps of the method described in any one of claims 1 to 8.