Satellite positioning for satellite-based communication
By mapping the historical orbit data of satellite constellations to the reference grid of the orbit model, auxiliary data is provided to help users direct mobile devices, solving the real-time positioning problem caused by frequent satellite orbit movement and position updates in the prior art, and achieving effective satellite-based communication for non-dedicated mobile devices.
Patent Information
- Application Number
- CN202380054124.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-08-08
- Filing Date
- 2023-05-22
- Publication Date
- 2025-03-04
AI Technical Summary
Existing satellite-based communication systems are difficult to achieve effective communication with non-dedicated mobile devices, especially when satellites are frequently moved orbits and position updates, real-time positioning of satellites is challenging.
By obtaining historical orbital data of multiple satellites orbital movements in satellite constellations over a certain period of time, mapping these data to the reference grid of the orbit model, thereby providing auxiliary data to help users direct mobile devices for satellite communication.
The accurate direction of mobile devices is realized, the reliability and efficiency of satellite-based data communication is improved, and accurate satellite position prediction can be maintained for a long time.
Smart Images

Figure CN119563294A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. patent application No. 17 / 818,126, filed on August 8, 2022, entitled “SATELLITE POSITIONING FOR SATELLITE-BASED COMMUNICATIONS,” which is hereby incorporated by reference. Background Art 1. Technical Field
[0003] The present disclosure relates generally to the field of wireless communications, and more particularly to enabling mobile devices (eg, cellular telephones) to communicate using satellite-based communications.
[0004] 2. Related technologies
[0005] Satellite-based communications in the past were limited to satellite phones, which had dedicated antennas to enable the satellite phones to efficiently transmit and receive signals to and from satellites. As the number of communications satellites increases, the potential for satellite-based communications to be implemented for other types of devices also increases. However, for non-dedicated devices (such as standard mobile phones), such communications may be impractical if the user is unable to orient the mobile phone so that the communications satellite falls within the main lobe of the mobile phone antenna. In addition, because communications satellites may perform movements within their orbits (e.g., orbital control to help avoid collisions), it may be challenging to determine the position of communications satellites in real time without frequently updating orbital parameters (e.g., once every few weeks). Summary of the invention
[0006] According to the present disclosure, an example method for facilitating pointing a mobile device at a satellite of a satellite constellation for satellite-based data communication may include obtaining historical orbital data indicating orbital movement of multiple satellites of the satellite constellation over a certain period of time at a first point in time, wherein the historical orbital data includes multiple orbital data sets, wherein each data set in the multiple orbital data sets includes multiple orbital data corresponding to different satellites of the satellite constellation, and wherein the different data sets in the multiple orbital data sets are determined at different points in time. The method may also include assigning a reference orbital data set in the multiple orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation. The method may also include mapping the multiple orbital data sets to the reference grid of an orbital model based on the assignment of the reference orbital data sets.
[0007] An example apparatus for facilitating pointing a mobile device toward a satellite of a satellite constellation for satellite-based data communication, the apparatus comprising: means for obtaining, at a first point in time, historical orbital data indicating orbital movement of a plurality of satellites of the satellite constellation over a period of time, wherein the historical orbital data comprises a plurality of orbital data sets, wherein each of the plurality of orbital data sets comprises a plurality of orbital data corresponding to a different satellite of the satellite constellation, and wherein the different ones of the plurality of orbital data sets are determined at different points in time. The apparatus further comprises means for assigning a reference orbital data set of the plurality of orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation. The apparatus further comprises means for mapping the plurality of orbital data sets to the reference grid of an orbital model based on the assignment of the reference orbital data sets.
[0008] According to the present disclosure, an example device for facilitating pointing a mobile device to a satellite of a satellite constellation for satellite-based data communication may include: a transceiver; a memory; and one or more processors, the one or more processors being communicatively coupled to the transceiver and the memory, wherein the one or more processors are configured to obtain historical orbital data indicating orbital movement of a plurality of satellites of the satellite constellation over a period of time at a first point in time, wherein the historical orbital data includes a plurality of orbital data sets, wherein each of the plurality of orbital data sets includes a plurality of orbital data corresponding to different satellites of the satellite constellation, and wherein the different data sets of the plurality of orbital data sets are determined at different points in time. The one or more processors may also be configured to assign a reference orbital data set of the plurality of orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation. The one or more processors may also be configured to map the plurality of orbital data sets to the reference grid of an orbital model based on the assignment of the reference orbital data sets.
[0009] According to the present disclosure, an example non-transitory computer-readable medium stores instructions for facilitating pointing a mobile device at a satellite of a satellite constellation for satellite-based data communication, the instructions including code for obtaining historical orbital data indicating orbital movement of a plurality of satellites of the satellite constellation over a period of time at a first point in time, wherein the historical orbital data includes a plurality of orbital data sets, wherein each of the plurality of orbital data sets includes a plurality of orbital data corresponding to different satellites of the satellite constellation, and wherein the different data sets of the plurality of orbital data sets are determined at different points in time. The instructions may also include code for assigning a reference orbital data set of the plurality of orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation. The instructions may also include code for mapping the plurality of orbital data sets to the reference grid of an orbital model based on the assignment of the reference orbital data sets.
[0010] This summary is neither intended to identify key features or essential features of the claimed subject matter nor is it intended to be used alone to determine the scope of the claimed subject matter. The subject matter should be understood by reference to appropriate portions of the entire specification of the disclosure, any or all of the drawings, and each claim. The foregoing and other features and examples will be described in more detail in the following description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 is a diagram of a satellite-based communication system according to one embodiment.
[0012] Figure 2 is a set of graphs showing example visibility and number of satellites moving across the sky over the course of an hour for a communications satellite constellation.
[0013] Figure 3 is a diagram illustrating how satellite-based communications with a mobile device, such as a traditional cellular telephone, may be achieved without a dedicated antenna for satellite communications.
[0014] Figure 4 is a diagram provided to conceptually illustrate what satellite modeling can do to predict the position of a given satellite in accordance with some embodiments.
[0015] Figure 5 An example architecture of a system for providing assistance data to a mobile device to enable a user to orient the mobile device for communication with a satellite is illustrated according to one embodiment.
[0016] Figure 6is a flowchart of a method for using historical orbital data to assist a user of a mobile device in orienting the mobile device to enable satellite-based communications, according to some embodiments.
[0017] Fig. 7A and Figure 7B is an example for implementing this article about Figure 6 Table of example snapshots of two-row Track Element Form (TLE) data for a constellation describing step 1 of the process flow.
[0018] Figure 8 is exemplified by executing this article about Figure 6 Step 2 of the process flow describes the generation of a table of example Keplerian orbit parameter values.
[0019] Fig. 9 According to some embodiments, the present invention is used to perform Figure 6 The process flow described is shown in the flowchart of the method in steps 1.
[0020] Fig.10 is a flow chart of a method that facilitates pointing a mobile device toward a satellite of a satellite constellation for satellite-based data communications, according to one embodiment.
[0021] Fig.11 is a block diagram of an embodiment of a mobile device that may be utilized in embodiments as described herein.
[0022] Fig.12 is a block diagram of an embodiment of a computer system that may be utilized in embodiments as described herein.
[0023] Similar reference symbols in the various drawings indicate similar elements according to certain example implementations. In addition, multiple instances of an element can be indicated by adding a letter or hyphen and a second number after the first number of the element. For example, multiple instances of element 110 can be indicated as 110-1, 110-2, 110-3, etc. or 110a, 110b, 110c, etc. When only the first number is used to refer to such an element, any instance of the element should be understood (for example, the element 110 in the previous example will refer to elements 110-1, 110-2 and 110-3 or to elements 110a, 110b and 110c). DETAILED DESCRIPTION
[0024] Several illustrative examples will now be described with reference to the accompanying drawings which form a part of the embodiments.While specific examples are described below in which one or more aspects of the disclosure may be implemented, other examples may be used and various modifications may be made without departing from the scope of the disclosure or the appended claims.
[0025] Reference throughout this specification to "one example" or "an example" means that a particular feature, structure, or characteristic described in connection with the example is included in at least one example of the claimed subject matter. Thus, phrases appearing in various places in the specification in "one example" or "an example" do not necessarily refer to the same example. Furthermore, the particular features, structures, or characteristics may be combined in one or more examples.
[0026] According to specific examples, the methodologies described herein may be implemented by various devices depending on the application. For example, such methodologies may be implemented in hardware, firmware, software, and / or any combination thereof. In a hardware implementation, for example, a processing unit may be implemented in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other equipment units designed to perform the functions described herein, and / or combinations thereof.
[0027] As used herein, the term "mobile device" may include a mobile electronic device that can be capable of wireless communication. Although typically illustrated as a mobile phone (or "user equipment" (UE) of a cellular network), the wireless communication capabilities of a mobile device are not intended to be specific to or otherwise limited to any particular radio access technology (RAT), unless otherwise noted. In general, a mobile device can be any wireless communication device that can be directed by a user (e.g., a mobile phone, a router, a tablet computer, a laptop computer, a tracking device, a wearable device (e.g., a smart watch, glasses, augmented reality (AR) / virtual reality (VR) head-mounted device, etc.), an Internet of Things (IoT) device, etc.), or other electronic devices that can be used for positioning with a global positioning satellite system (GNSS) as described herein. According to some embodiments, a mobile device can be used to communicate on a wireless communication network. A mobile device can be mobile or can be stationary (e.g., at certain times) and can communicate with a terrestrial radio access network (RAN) (when in the range of the RAN). As used herein, the term mobile device may be interchangeably referred to as UE, access terminal (AT), client device, wireless device, subscriber device, subscriber terminal, subscriber station, user terminal (UT), mobile device, mobile terminal, mobile station, or variations thereof. Generally speaking, a mobile device may communicate with a core network via a RAN, and through the core network, the mobile device may be connected to an external network (such as the Internet) and to other mobile devices. For a mobile device, other mechanisms for connecting to a core network and / or the Internet are also possible, such as through a wired access network, a wireless local area network (WLAN) network (e.g., based on the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard, etc.), etc.
[0028] As described herein, a GNSS receiver may include an electronic device and / or be incorporated into an electronic device. This may include a single entity or may include multiple entities, such as in a personal area network in which a user may employ audio, video and / or data I / O devices and / or body sensors and separate wired or wireless modems. As described herein, a location estimate for a global positioning system (GPS) receiver may be referred to as a location, location estimate, location fix, fix, position, location estimate, or location estimate, and may be geodetic, thereby providing location coordinates (e.g., latitude and longitude) about a GPS receiver, which may or may not include an altitude component (e.g., altitude; height above or depth below ground level, floor level, or basement level). In some embodiments, the location of a GPS receiver and / or an electronic device including the GPS receiver may also be expressed as an area or body domain (geodetically or municipally defined) within which the GPS receiver is expected to be located with a certain probability or confidence (e.g., 67%, 95%, etc.). In the description contained herein, the use of the term location may include any of these variations unless otherwise indicated. When calculating the position of a GPS receiver, such calculations can solve for the local X, Y, and possibly Z coordinates and then, if necessary, convert the coordinates from one coordinate system to another.
[0029] In recent years, satellite-based communication systems have been increasing, expanding the coverage of voice-based and date-based communications. This can enable telephone coverage and Internet access to areas that were previously not covered by terrestrial wireless networks (e.g., cellular / mobile communication networks) or wired networks (e.g., traditional wired telephone networks, cable, digital subscriber line (DSL), etc.).
[0030] Figure 1 1 is a diagram of a satellite-based communication system 100 in which satellites 110 orbit the earth 120, traveling along paths in orbital planes 130. The diagram has been greatly simplified for simplicity. In an actual implementation, the satellite-based communication system 100 may include dozens of satellites 110 with many orbital planes 130. For example, The communication system has 66 satellites: 11 satellites in each of the six orbital planes. To help optimize communication efficiency, the satellites 110 in such a satellite-based communication system 100 are typically equally spaced such that the spacing 140 is approximately the same between all satellites 110 in an orbital plane 130.
[0031] Sometimes, a satellite 110 may leave a regular orbit due to a controlled maneuver. For example, sometimes, a satellite 110 may turn to avoid a collision with another satellite 110 (and / or other objects in space). This may occur, for example, when satellites 100 may approach a potential collision point 150 (where the orbital planes 130 intersect) from different orbital planes 130 at almost the same time. (This assumes that the satellites 110 in the intersecting orbital planes 130 orbit around the earth 120 at approximately the same altitude, which is common for satellite-based communication systems). Therefore, orbital models that predict the position of a communication satellite 110 are generally unable to accurately predict the position of a satellite 110 for long periods of time. For a given satellite 110, a turning event may occur every few weeks (corrections are made to Iridium satellites approximately every 4-7 weeks). And therefore, such orbital models are generally unable to accurately predict the position of a satellite 110 for more than a few weeks.
[0032] Satellite-based communication systems (such as Figure 1 The illustrated satellite-based communication systems) typically operate satellites in low earth orbit (LEO), where the satellite's altitude is 2,000 km or less. That is, some satellite-based communication systems may operate in medium earth orbit (MEO) (with an altitude of approximately 10,000 to 20,000 callers) or geostationary earth orbit (GEO) (with an altitude of approximately 35,786 km). For LEO satellites, this means that the satellite moves much faster in the sky relative to users on the earth's surface. Figure 2 Helps illustrate the concept.
[0033] Figure 2 210 illustrates the altitude changes of different visible satellites (legend 215 specifies a specific satellite), and the lower chart 220 indicates the number of satellites visible at any given time. Both charts illustrate how each satellite is visible only for about 10 minutes. However, the orbits of the satellites (including the spacing between satellites and the spacing between orbital planes) make at least one satellite always visible at any given moment. And although different locations may have different numbers of visible satellites (e.g., locations near the poles tend to have more visible satellites than locations near the equator), the satellite communication system can be designed to ensure that at least one satellite is visible at any time and at any location on the earth (assuming an open sky scenario).
[0034] As described above, traditional satellite-based communications for mobile devices typically require dedicated mobile devices (such as satellite phones), which are typically expensive. However, mobile phone manufacturers and suppliers have been looking for opportunities to provide satellite communications (if only) to more traditional mobile devices (such as traditional cellular phones). However, this can be a challenge given the limitations of battery capacity, the antennas of traditional cellular phones, and the movement of communication satellites (e.g., LEO satellites).
[0035] Figure 3 3 is a diagram illustrating some of the challenges of implementing satellite-based communications with mobile devices (such as traditional cellular phones) without a dedicated antenna for satellite communications. Here, satellite 310 can serve one or more ground devices by directionally sending and receiving signals using one or more RF beams. In order to use mobile device 330 for satellite-based communications, user 340 may need to orient mobile device 330 so that the main antenna node 350 of the mobile device antenna is substantially pointed at satellite 310.
[0036] Once the main antenna node 350 is pointed at the satellite 310, the mobile device 330 may only take a few seconds to establish a communication link with the satellite 310 and send / receive data. In some embodiments, such functionality may be provided (e.g., by a mobile operator) to users or subscribers of satellite-based communication services so that users can send and / or receive data when they are not in the coverage of a terrestrial wireless network (e.g., a cellular network). For example, data may be transmitted in an emergency and may include SOS or other emergency messages. Additionally or alternatively, when a communication link is established between the mobile device 330 and the satellite 310, text messages may be buffered and transmitted / received. Such satellite-based communications may be used to facilitate other data and / or voice services.
[0037] However, such communications rely on the user 340 being able to successfully point the master antenna node 350 of the mobile device 330 towards the satellite 310. And different factors can make this particularly challenging. The accuracy with which the mobile device 330 with the master node 350 needs to be pointed towards the satellite 310 is a function of the available error budget. The error budget is typically a function of the characteristics of the antenna master node 350. Allocating most of the available error budget to account for user pointing errors leaves room for Figure 6 The more stringent requirements of the components described herein. For example, the master antenna node 350 may not be oriented relative to the mobile device 330 in a manner that makes it easy or intuitive to "point" the master antenna node 350 at the satellite 310. In addition, the master antenna node 350 may be relatively narrow, so that an error of, for example, 3°-5° may affect performance. In addition, as previously described, if the satellite 310 experiences a steering event, the position and movement of the satellite 310 in the sky may be difficult to accurately predict.
[0038] The embodiments herein help solve at least some of these problems by providing accurate modeling of the orbital positioning of satellites in satellite-based communications. Specifically, the technology disclosed herein helps prepare orbital data for a model created by a server that communicates with a mobile device, wherein the model will be able to accurately predict the position of satellites in a satellite-based communication system for an extended period of time. The orbital data of the model can be prepared / processed based on available raw data (e.g., historical orbital data such as TLE as will be disclosed below). In order to help enable a user to correctly orient the mobile device for satellite-based communications, the server may provide auxiliary data including the model to the mobile device. The technology provided herein can be used to prepare model data (e.g., input data for the model) based on publicly available raw data, wherein the model can accurately predict the satellite position for more than one year (e.g., within 41km or 3° from the perspective of a user on Earth, with a 99% confidence level).
[0039] Figure 4 is a diagram 400 (similar to FIG. 1 ) provided to conceptually illustrate what satellite modeling may do to predict the position of a given satellite 410 according to some embodiments. Figure 1 ). Using standard modeling techniques, conventional satellite modeling can predict the position of satellite 410 to a certain degree of accuracy. However, these models are generally no longer applicable after a diversion event because, when undergoing a diversion event in which satellite 410 temporarily leaves its position in orbit, satellite 410 generally does not return to its precise position in orbit, as modeled using standard techniques. Therefore, conventional satellite modeling for a given satellite 410 may only last for a few weeks, or until a diversion event occurs.
[0040] According to an embodiment, a more robust model can be made by modeling the position of the control box 440 of the satellite 410, rather than modeling the precise position of the satellite 410 itself. The control box 440 of the satellite 410 is the area in which the satellite 410 is usually located. The combination of all control boxes for all satellites of the satellite constellation can be referred to as a reference grid, wherein each "cell" of the reference grid corresponds to the control box of the satellite. The satellite constellation is usually created and maintained with the following idea: although each satellite may deviate from the normal orbit, it can be controlled to remain within a threshold distance from its predicted position. This is especially true for satellites of satellite-based communication systems (e.g., LEO communication satellites), where, as previously caused, the accurate spacing between satellites is expected. Therefore, although a steering event may cause the satellite 410 to temporarily leave its control box 440, the satellite 410 will usually return to its control box 440. And therefore, a steering event does not usually affect the position of the control box 440.
[0041] Because satellites for satellite-based communication systems have "tight" control boxes (e.g., spanning 10-20 km in width and altitude), when the primary antenna node of a mobile device (e.g., Figure 3 The mobile device may be able to communicate with the satellite when the main antenna lobe 350 of the control box 440 is pointed at the center point of the control box 440 instead of the actual location of the satellite 410. With this in mind, and because steering events generally do not affect the location of the control box 440 (as previously described), embodiments herein may model the location of the control box 440 (e.g., the center point of the control box 440), thereby providing satellite modeling that enables a user to orient the user device for satellite communications, wherein (as previously described) the model may remain accurate for more than a year rather than just a few weeks. A detailed description of how this modeling may be performed is provided below.
[0042] When modeling based on the location of the control box 440, the historical orbital data of each control box 440 can be used. However, it may be challenging to determine the historical orbital data of each control box 440 of the reference grid based on the existing raw data of the satellite (e.g., TLE data of the satellites of the satellite constellation) because the raw data of each satellite of the satellite constellation may not be a one-to-one mapping to the control box 440 of the reference grid. For example, in the Iridium NEXT constellation, there are additional 6 spare commercial satellites (hereinafter also referred to as "spare satellites") that can be put into use (e.g., become operational) and replace one of the operating commercial satellites (hereinafter also referred to as "operating satellites") when needed for different reasons. Associating the raw data of the satellites with the control box 440 of the reference grid and estimating the orbital parameters of the control box will result in auxiliary data that is robust to satellite steering events and different satellites occupying the control box 440. This process of associating the raw data with the control box 440 will also dynamically and automatically distinguish between the operating satellites and spare satellites in the satellite constellation at any given time within the learning period, wherein the raw data of the spare satellites will not be associated with the control box 440 of the reference grid.
[0043] In addition, in existing models that model the location of the precise location of the satellite (e.g., satellite 410) itself, a prediction availability delay may occur when an operating satellite is replaced with a spare satellite. For example, a prediction availability delay of about several days to about several weeks may be caused by completing a learning process (e.g., accumulating sufficient orbital data) of a new operating satellite (e.g., a previous spare satellite that becomes operational by replacing a previous operating satellite). Because in at least some techniques disclosed herein, multiple operating satellites that occupy the control box 440 at different time periods may be considered to calculate and provide predictions for the control box, such a delay may not exist when an operating satellite is replaced with a spare satellite. Therefore, the applicability of the estimation technique disclosed herein may also be expanded.
[0044] Figure 5 An example architecture 500 of a system for providing assistance data to a mobile device 505 to enable a user to orient the mobile device 505 for satellite-based communications with a satellite 510 is illustrated according to one embodiment. Arrows represent communication links, which may include one or more intermediate devices, networks, etc. (not shown). Figure 1 Sample, Figure 5 This is provided as a non-limiting example, and alternative embodiments may include additional or alternative components for providing assistance data to the mobile device 505 .
[0045] In the example architecture 500, modeling can be accomplished using a server connected to one or more data sources 530. Here, the server 520 may include a computer server hosted in the cloud by a service for modeling satellite trajectory data. For example, the service may be provided by a satellite-based communication operator, a mobile phone operator, etc. Communications between the server 520 and the mobile device 505 may be relayed via one or more wired and / or wireless networks (including the Internet, wireless cellular networks, etc.).
[0046] Data source 530 may include a computer server and / or other device that provides orbital information about a satellite (e.g., satellite 510) of a satellite-based communication system. For example, the 18th Space Defense Squadron (18SPDS) of the United States Space Command (USSPACECOM) publishes two lines of orbital element (TLE) data (to be used with Fig. 7A and Figure 7B ), which can be used with the unclassified Simplified General Perturbation #4 (SGP4) library to derive orbit information based on radar observations. TLE data are typically published on the Internet several times a day.
[0047] Using historical data to accurately model the control boxes of the satellites in the constellation (e.g., using the techniques described below), server 520 can provide the model to mobile device 505, thereby enabling mobile device 505 to determine the location of satellite 510. Using this information, along with the approximate location of mobile device 505 on Earth, mobile device 505 can determine how it should be oriented in order to communicate with satellite 510, and can prompt the user (e.g., using a graphical user interface, audio prompts, etc.) to orient mobile device 505 in that manner.
[0048] According to some embodiments, using historical data to determine an accurate long-term model for predicting the position of the control box and using the model to determine the relative position of visible satellites to the user can be accomplished in a three-step process, including, for example, a preparation process step 1, an estimation process step 2, and an orientation process step 3 performed collaboratively by a server and a mobile device. For example, Figure 6is a flow chart illustrating a process flow 600 for determining and using an accurate long-term model based on initial parameters to assist a user of the mobile device in orienting the mobile device to enable satellite-based communications in accordance with some embodiments.
[0049] As noted, the operations illustrated in the process flow 600, including step 1 (e.g., preparation process), step 2 (e.g., estimation process), and step 3 (e.g., orientation process), can be collaboratively performed by a server (e.g., server 601) and a mobile device (e.g., mobile device 602) for UE orientation when conducting satellite-based communications. For example, step 1, in which historical data is used to prepare historical data of a control box in a reference grid (e.g., mapping historical orbital data to a reference grid), and step 2, in which a model of satellite control box predictions for all satellites in a constellation can be determined (e.g., determining orbital parameter values of the model), can be performed on server 601. As previously described, in step 3, the model including the determined orbital parameter values can then be received by the UE (e.g., mobile device 602) as auxiliary data, where the position of the control box used for UE orientation when conducting satellite-based communications can be determined accordingly. It is conceivable that, although Figure 6 It is shown that steps 1 and 2 are performed by a server (e.g., server 601) and step 3 is performed by a UE (e.g., mobile device 602), but any suitable distribution of the processes (e.g., step 1, step 2, and step 3) is possible. For example, all the processes in process flow 600 can be performed by the UE itself (e.g., the UE can estimate the orbit model and store the model on the UE (e.g., perform steps 1 and 2), and perform step 3 when needed (e.g., when satellite communication is initiated)), or all the processes in process flow 600 can be performed by the server itself (e.g., where the UE only provides its position to the server, and the server provides the UE with a satellite list and the relative positions of the satellites over a certain period of time based on performing steps 1, 2, and 3).
[0050] It can be noted that Figure 6 The embodiment illustrated in describes a "control box" as a virtual box indicating the nominal orbital path within which the satellite is ideally located. It should also be noted that Figure 6 The distribution of functions performed in each box and / or step between different entities (e.g., server 601 and mobile device 602) shown in the figure is for illustration only. Other distributions may also be possible, for example, in some embodiments, step 1 (box 605) and box 610 of step 2 may also be performed by mobile device 602 without requiring server 601 to calculate and provide assistance (to name a few examples).
[0051] For example, Figure 6As illustrated, step 1 may begin using the input provided at box 605. Specifically, as previously described, server 601 may retrieve an archive of orbital data (e.g., TLE (orbit) data) for satellites in a satellite-based communication constellation (hereinafter also referred to as a "satellite constellation") over a certain period of time, as indicated by box 605. In some embodiments, the archive of TLE orbital data may include multiple snapshots of TLE orbital data (hereinafter also referred to as "TLE data") for satellites in the satellite-based communication constellation determined at different points in time (e.g., epoch time). Each of the TLE orbital data of the satellite may be mapped to a reference grid including a control box corresponding to each satellite of the satellite constellation. Together with the control box, the TLE data of the satellite may be mapped to a reference grid including a control box corresponding to each satellite of the satellite constellation. Fig. 9 The description together discloses the details of the mapping process.
[0052] For example, Fig. 7A and Figure 7B Example TLE data for satellites in a satellite constellation is illustrated. Fig. 7A As illustrated, at a given point in time (eg, reference epoch time) t ref , a snapshot of all 66 satellites in the satellite constellation may be determined. The snapshot may include a TLE data set (e.g., TLE data 702) that includes data corresponding to the satellites determined to be closer to t ref Orbital data of satellites. Figure 7B As illustrated, the TLE data 702 may include a first portion 703 indicating a directory number of the satellite and a time point t when the TLE data 702 is determined. ref In some embodiments, at the end of step 1 and / or block 605, all archived TLE orbital data retrieved by server 601 may be mapped to the reference grid. For example, each TLE orbital data may be mapped / assigned to a plane number 704 and a time slot number 706, respectively (e.g., a specific time slot in a specific plane is given to each TLE orbital data), such as Fig. 7A as shown in .
[0053] In some embodiments, satellite information may be provided in an Earth-centered inertial (ECI) reference coordinate system. However, to determine the location of a satellite relative to a UE on the ground, it may be preferred to utilize an Earth-centered, Earth-fixed (ECEF) coordinate system. Therefore, embodiments may also obtain parameters for the coordinate rotation from ECI to ECEF before or during block 605.
[0054] In some embodiments, the amount of historical data used (e.g., the number of snapshots included in the archived orbital data) and the sampling interval used to calculate the historical position of the control box in step 1 may vary depending on the desired functionality. For example, TLE data covering a period of approximately 24 weeks used to calculate the position of the control box at a fixed sampling rate of 5 minutes can help ensure the accuracy of the prediction by allowing the model to take into account turning events for all satellites (e.g., for Iridium NEXT satellites, each satellite experiences a turning event every 4-7 weeks), and thus accurately predict satellite locations for longer periods of time than traditional models.
[0055] Return to reference Figure 6 , step 2 begins with block 610, where orbit parameter values for each control box may be determined based on the mapped reference grid determined from step 1. At block 615, assistance data including orbit parameter values and / or the determined model may be sent to a UE (e.g., mobile device 602). In some embodiments, block 610 may include preparing uniformly sampled reference orbit data in the ECEF spanning time period, calculating seed values for the orbit parameters, and iteratively determining / estimating values of the orbit parameters based on the seed values.
[0056] For example, preparation of uniformly sampled orbital data in an ECEF spanning a time period T1 (e.g., 24 weeks as described above) may include determining the position (e.g., x, y, z location) of each control box at a uniform sampling rate (e.g., every five minutes). Using the uniformly sampled reference orbital data, the server 601 may then calculate seed values for orbital parameters. Depending on the type of orbital model used for satellite positioning estimation, these orbital parameters may vary. For example, for a Kepler model, the orbital parameters may include Kepler orbital parameters such as the square root of the semi-major axis, eccentricity, mean anomaly, inclination, right ascension of the ascending node (RAAN), RAAN rate, and argument of perigee, or a combination thereof. Alternatively, equinox orbit modeling may be used, in which case the orbital parameters may include some or all of the equinox element set: semi-major axis, components of the eccentricity vector in the equinox reference coordinate system, components of the ascending node vector in the equinox reference coordinate system, and mean longitude. In some embodiments, secondary or derived parameters may be used as orbital parameters. For example, in classical Keplerian orbit modeling, a set of Keplerian elements may be represented using derived parameters such as orbital time periods rather than semi-major axes, since there is a direct relationship between the two. In some embodiments, seed values may be used to seed the iterative process of estimating the values of the orbital parameters performed by the set of operations. The seed values may be obtained in any of a variety of ways, depending on the desired functionality. In some embodiments, for example, the seed values may be obtained from the last N epochs of the reference orbit data extracted in block 605.
[0057] In some embodiments, the set of operations may include iteratively changing parameter values (e.g., starting from a seed value) to find a set of orbital parameter values that best fits the actual orbital data for period T1. This may be accomplished by corresponding adjustments to the corresponding seed values for each orbital parameter estimate to determine corresponding candidate orbital parameter values. These candidate orbital parameter values may then be used to calculate candidate orbital paths. In some embodiments, the candidate orbital paths may then be compared with the actual (reference) orbital paths, and residuals indicating the difference between the candidate orbital paths and the actual orbital paths may be calculated. The convergence of the cost function may be checked (e.g., whether the residual values of consecutive iterations have changed by more than a threshold). If there is no convergence, the process of estimating orbital parameter values may be repeated with the estimated updated orbital parameter values. However, once the iterative process results in convergence (e.g., the residual values from one iteration to the next have not changed by more than a threshold), the candidate orbital parameter values in the most recent iteration may be used as the output orbital parameter values of block 610. The processes in blocks 605 and 610 may be performed in parallel or sequentially for all satellites / control boxes (e.g., all planes and time slots) or a subset thereof in the constellation. It should be noted that similar to what is disclosed herein, orbital parameter values for all control boxes or satellites of a satellite constellation may be determined together at block 610 and will not be repeated for ease of illustration.
[0058] Figure 8 is an example of using archived public TLE data from Iridium satellites to perform the previous Figure 6 6 or box 610 of step 2 of the described estimation process flow. To avoid clutter, data from control boxes / satellites for only two orbital planes (22 satellites) and a time period (T2) for historical data (e.g., T2 may span approximately 24 weeks) are shown. However, in practice, data from control boxes / satellites for all six planes may be used. It is contemplated that the time periods disclosed herein (e.g., 24 weeks) are for illustrative purposes only, and that any other suitable time period span may be used. It is also contemplated that the orbital model used and the orbital parameter value output of step 2 or box 610 may not be limited to the embodiments disclosed herein. For example, according to the disclosed embodiments, the orbital model includes a Kepler model, and the set of orbital parameter values includes the square root of the semi-major axis, eccentricity, mean anomaly, inclination, RAAN, RAAN rate, or perigee argument, or a combination thereof, such as Figure 8 According to some other embodiments, the orbit model may include an equinox model, and the set of orbit parameter values may include the semi-major axis, a component of an eccentricity vector in an equinox reference frame, a component of an ascending node vector in an equinox reference frame, or the mean longitude, or a combination thereof.
[0059] As can be seen, the output includes the reference epoch time (e.g., the timestamp to which the orbit parameters apply), along with the values of the Kepler orbit parameters: square root of the semi-major axis, eccentricity, mean anomaly, inclination, RAAN, RAAN rate, and argument of perigee. At this point, during the model determination process (e.g., at the output of step one of the estimation process flow), each value of the seven Kepler orbits is determined separately for each satellite. Thus, each control box / satellite may have a unique set of Kepler orbit parameter values.
[0060] Return to reference Figure 6 , in block 615, assistance data may be sent to mobile device 602 for use in orienting mobile device 602 for satellite-based communications. In some embodiments, the assistance data may include orbital parameter values determined by a server via a data communications network (e.g., via the Internet, a cellular wireless network, and / or the like) (e.g., as an output of step 2 of the estimation process of process flow 600).
[0061] As previously mentioned, mobile devices may include mobile electronic devices such as mobile phones. Other types of mobile devices may include tablet computers, laptop computers, commercial or industrial mobile devices, personal media players, head-mounted devices or other wearable devices, etc. Figure 6 As illustrated in FIG. 6 , step 3 may begin with the mobile device 602 obtaining assistance data (as shown in block 620), the current time (block 625), and the current user location 630. As described above, the assistance data may include orbital parameter values (e.g., as a local coordinate system) determined by a server via a data communication network (e.g., via the Internet, a cellular wireless network, and / or the like). Figure 6 The assistance data may have been previously obtained by the mobile device (e.g., when the mobile device was within the coverage of a cellular or Wi-Fi network). However, as noted, using the techniques provided herein for determining orbital parameters of a control box / satellite for a satellite-based communication system, the parameters may be accurately predicted for a control box / satellite for a year or more.
[0062] The current time obtained at block 625 may be used for predictions of the control box / satellite by the mobile device. Thus, the current time may be substantially synchronized with the time used to determine the orbital parameter values to enable accurate predictions. According to some embodiments, the current time may be obtained by using a GNSS receiver of the mobile device to synchronize the mobile device to the accurate time of the GNSS constellation. In some embodiments, the current time of the mobile device, as maintained by the mobile device's clock, may be sufficiently accurate to enable accurate predictions of the satellite positions.
[0063] The user position obtained at block 630 may also be obtained in different ways. Again, if the mobile device is equipped with a GNSS receiver, the mobile device may use GNSS positioning. Additionally or alternatively, the mobile device may use ground-based positioning methods (including wireless network-based positioning if available), dead reckoning (e.g., using sensors of the mobile device), or a combination thereof. To determine the alignment of the mobile device for satellite-based communications, the accuracy of the user location may not need to be highly granular, but may be within a few kilometers of the actual location of the mobile device.
[0064] Using the assistance data obtained at blocks 620 and 625, respectively, and the current time, the mobile device may then calculate a satellite position for each satellite in the constellation of the satellite-based communication system, as indicated at block 635. For example, the orbital parameters may be used in a standard (e.g., Keplerian, equinoxal, etc.) orbital model to determine (or predict) the satellite position for the current time.
[0065] The functionality at block 640 includes identifying one or more satellites visible to the user (or mobile device 602). Using the current satellite positions and the current user position, the mobile device can determine the relative position of each satellite with respect to the user, and further determine satellites that are above the horizon and visible to the mobile device (e.g., usable for direct line-of-sight communication). For example, this determination can result from Figure 2 Similar data to the data shown in .
[0066] Knowing which satellites are visible to the user and the relative positions of the satellites, the mobile device can then provide pointing assistance to the user to orient the mobile device in a manner that enables satellite-based communications with the satellites. Figure 3 As noted, this can be further accomplished in view of the orientation of the mobile device's primary antenna lobe relative to the mobile device. Pointing assistance can be provided using audio and / or visual cues utilizing a speaker and / or display of the mobile device. According to some embodiments, the mobile device can also notify the user when the mobile device is properly aligned, thereby prompting the user to stop moving and allow the mobile device to communicate with the satellite with which the mobile device is oriented for communication.
[0067] According to some embodiments, the alignment of the mobile device may be repeated Figure 6The operations shown in one or more boxes of step 3 of can be refreshed frequently (e.g., several times per second, once per second, once every few seconds, etc.) to allow real-time feedback to the user. For example, the determination of the satellite position at box 635, the identification of visible satellites at box 640, and the provision of pointing assistance at box 645 can be refreshed frequently (e.g., several times per second, once per second, once every few seconds, etc.) to allow the mobile device to guide the user to properly align the mobile device with the satellite as the satellite moves across the sky. In some embodiments, the mobile device can prompt an alignment that "leads" to the satellite, thereby pointing to the position that the satellite will be in soon, to account for the time that the user may spend to properly align the mobile device.
[0068] As mentioned above, execute Figure 6 One of the challenges of the process in is to use the historical data of the satellite (e.g., archived TLE orbit data) to accurately model the control box of the satellite (e.g., map the TLE orbit data to a reference grid). Fig. 9 As disclosed in detail together with the description of , using the techniques disclosed herein to map historical data to a reference grid can minimize data propagation errors (e.g., by sorting archived data by the epoch time of the data) and can accurately and efficiently model the control box of a satellite.
[0069] Fig. 9 is a flowchart illustrating a process flow 900 for determining an accurate mapping between historical data and a reference grid according to some embodiments. In some embodiments, the process 900 may correspond to Figure 6 and may be performed by a server (e.g., Figure 6 The server 601 in the embodiment is executed. Beginning at block 905, as described above with respect to Figure 6 , Fig. 7A and Figure 7B The server may obtain information from a data source (e.g., Figure 5 The data source 530 in the example above may receive historical data (e.g., archived data). In some embodiments, the data source may be the USSPACECOM 18th SPDS as described above, and the archived data may include multiple snapshots of TLE orbits determined at intervals of less than one week during a time span of approximately 24 weeks. In some embodiments, 2-3 TLE snapshots may be issued per day for each satellite tracked by the USSPACECOM 18th SPDS. The technology disclosed herein may use all raw data available during the learning period. It should be noted that the TLE orbital data and the IRIDIUM NEXT satellite constellation are only used for illustration. Other satellite constellations and orbital data may also be applied.
[0070] At block 910, the server may select a snapshot of the historical data as a reference orbital dataset for mapping. Fig. 7A As shown, at t ref The snapshot taken at t can be used as a reference data set, where each TLE data in the snapshot can be assigned to a control box of the reference grid (e.g., each TLE orbit data given a specific time slot in a specific plane to the reference data set). ref ) can be assigned to the first control box of the reference grid. It should be noted that the reference TLE disclosed herein and below ref , at time point t c The first candidate TLE(t c ) and at time point t c-1 The second candidate TLE(t c-1 ) may be any suitable TLE data in the corresponding data set (e.g., any suitable TLE data from a snapshot). Alternatively, the reference TLE selected for each control box of the reference grid may have an epoch time (t ) anywhere within or near the period of interest (e.g., 24 weeks). ref ).
[0071] At block 915, the server may choose to c The first candidate TLE (t c ). In some embodiments, the first candidate time point t c It may be a time measured to a reference time point t at different time points when determining different data sets of the plurality of orbital data sets. ref The most recent time point (e.g., all epoch times) of . For example, Fig. 9 As shown in the example, when the reference time point t ref When t0 is selected, the first candidate TLE (t c ) can be at time point t -1 or +1 One of the TLE data determined at the first candidate time point t c is selected as being earlier or later in time than the reference time point t ref .
[0072] At block 920, the server may determine a first candidate TLE (t c ) has been mapped to the reference grid (e.g., the first candidate TLE (t c ) is mapped to one of the control boxes of the reference grid). In some embodiments, if the first candidate TLE (t c ) has been mapped to the same ref ) the same control box, the process can be updated to use TLE(tc) instead of the reference TLE(t ref). This step allows to reduce the impact of orbit propagation errors on the process. In some embodiments, if the first candidate TLE (t c ) has been mapped to the reference grid, the process moves to block 925, where it is possible to select at time point t c-1 The next / second candidate TLE (t c-1 ), where the first candidate time point t c Earlier than the reference time t ref (For example, the mapping process is performed backward in time). Otherwise, if the first candidate time point t c Later than the reference time t ref (For example, the mapping process proceeds forward in time), then we can choose to c+1 The next / second candidate TLE (t c+1 After block 925, the second candidate TLE (t c-1 ) can replace the first candidate TLE (t c )(For example, the second candidate TLE (t c-1 ) Update the first candidate TLE(t c )) to complete the rest of the process.
[0073] If the first candidate TLE(t c ) has not been mapped to the reference grid, the process moves to block 930, where the reference TLE (t ref ) to determine the first candidate time point t c For example, referring to TLE ref can be propagated to the first candidate time point t c To calculate the time corresponding to the first candidate time point t c In block 935, the server may select a first candidate TLE (t c ) to determine the first candidate time point t c For example, corresponding to the first candidate time point t c The orbital parameter value can be obtained by using the first candidate TLE(t c ) is determined. In some embodiments, block 930 and block 935 may be performed in parallel.
[0074] At block 940, the first set of orbital parameter values and the second set of orbital parameter values may be compared to see if the two sets of orbital parameter values are aligned (e.g., if the difference between the two sets of orbital parameter values is below a predetermined threshold). For example, if the output of block 940 is “yes” (e.g., the first set of orbital parameter values and the second set of orbital parameter values are aligned), then the two comparison TLE data (e.g., reference TLE (t ref ) and the first candidate TLE(t c )) may correspond to the same control box. Therefore, the process moves to block 950, where the first candidate TLE (t c ) is mapped to the reference TLE(t ref ) is assigned to the first control box in block 910. In this case, in block 955, the server may use the first candidate TLE (t c ) Update reference TLE(t ref ), and use the first candidate TLE(t c ) as the new reference TLE (using the first candidate time point t c Update reference time point t ref And use the reference TLE(t c ) Update TLE(t ref )) for further processing. When updating reference data (e.g., reference TLE t , reference time point t ref After the mapping process is completed, the process moves to block 960, where it is determined whether there is a next candidate TLE data set in the historical data (e.g., a snapshot taken at the next time point). If the determination is "no", this means that the mapping process has traversed the historical data in at least one time direction (e.g., in the forward direction or the backward direction), and the process ends (e.g., completely ending the mapping process or returning to the original reference data and mapping the historical data in the opposite time direction). If the determination is "yes", the process moves back to block 925 and the process is repeated with the updated reference data.
[0075] Referring back to block 940, if the output of block 940 is "no" (eg, the first set of orbital parameter values and the second set of orbital parameter values are not aligned), the process moves to block 960 where it is determined whether the process ends or repeats.
[0076] Thus, when the process is complete, all historical data received by the server can be mapped to the corresponding control boxes of the reference grid. The historical data mapped to the reference grid can be entered into Figure 6 Block 610 of the estimation process (e.g., Figure 6As described above, it is contemplated that control box locations calculated using historical data mapped to a reference grid may be rotated / transformed from ECI to ECEF after mapping to the reference grid or when received by a server (e.g., a track model of historical data received by a server already produces control box locations in ECEF coordinates).
[0077] The historical data is sorted by the epoch time of the data, wherein the orbit parameter value determined based on the candidate data closest in time to the reference time point is compared with the orbit parameter value propagated from the reference data to the candidate time point (e.g., using the reference TLE (t ref ) to determine t c The mapping techniques disclosed herein can minimize data propagation errors when using historical data to create historical data for a control box (eg, mapping the historical data to a reference grid).
[0078] Fig.10 1000 is a flow chart of a method 1000 that facilitates pointing a mobile device toward a satellite of a satellite constellation for satellite-based data communications. Means for performing the functionality illustrated in one or more of the blocks shown in diagram 1000 may be performed by hardware and / or software components of a computer server as described herein. Fig.12 Example components of a computer server are illustrated in FIG. 1 and described in more detail below. In some embodiments, Fig.10 (as well as Figure 6 and / or Fig. 9 ) can be performed by Fig.11 The mobile device illustrated in the figure may be executed collaboratively by a computer server and a mobile device.
[0079] At block 1010, functionality includes obtaining, at a first point in time, historical orbital data indicating orbital movement of a plurality of satellites of a satellite constellation over a period of time. As noted, each data set of a plurality of orbital data sets (e.g., a snapshot of TLE data) includes a plurality of orbital data sets (e.g., TLE data) corresponding to a different satellite of the satellite constellation, and wherein different data sets of the plurality of orbital data sets are determined at different points in time (e.g., different epoch times). In some aspects, for example, the functionality may correspond to Fig. 9 The operations at block 905 of . As noted, the time period may span approximately 24 weeks with intervals of less than one week. In some embodiments, obtaining the historical orbit data includes transforming the positioning of the control box calculated from the archived TLE data from an earth-centered inertial (ECI) reference coordinate system to an earth-centered, earth-fixed (ECEF) coordinate system. As described elsewhere herein, the satellite constellation may include a communications satellite constellation having satellites capable of communicating with ground equipment.
[0080] For example, means for performing functionality at block 1010 may include bus 1105, processor 1110, DSP 1120, wireless communication interface 1130, memory 1160, and / or other components of mobile device 1100, such as Fig.11 Additionally or alternatively, for example, components for executing functional block 1010 may include bus 1205, processor 1210, communication subsystem 1230 (optionally including wireless communication interface 1233), memory 1235, and / or other components of computer system 1200, such as Fig.12 As illustrated in and discussed below.
[0081] At block 1020, the functionality includes assigning a reference orbital data set from among a plurality of orbital data sets determined at a reference time point to a corresponding control box of a reference grid, such as with respect to Fig. 9 According to some embodiments, a snapshot of the historical data may be selected as a reference orbital data set for mapping, and each TLE in the snapshot may be assigned to a corresponding control box of the reference grid. Alternatively, the epoch time of the TLE assigned to each control box may be anywhere within or near the time period spanned by the historical orbital data collected in block 1010.
[0082] For example, means for performing functionality at block 1020 may include bus 1105, processor 1110, DSP 1120, wireless communication interface 1130, memory 1160, and / or other components of mobile device 1100, such as Fig.11 Additionally or alternatively, for example, components for executing functional block 1010 may include bus 1205, processor 1210, communication subsystem 1230 (optionally including wireless communication interface 1233), memory 1235, and / or other components of computer system 1200, such as Fig.12 As illustrated in and discussed below.
[0083] At block 1030, the functionality includes mapping the plurality of sets of orbit data to a reference grid based on the assignment of reference orbit data sets. Fig. 9 The mapping may include mapping a first candidate orbital dataset of the plurality of orbital datasets to a reference grid based on the assignment of the reference orbital dataset, wherein the first candidate orbital dataset is determined at a first candidate time point different from the reference time point. Fig. 9 In blocks 915-960, it is possible to select at time point t c The first candidate TLE (t c). In some embodiments, the first candidate time point t c It may be a time measured to a reference time point t at different time points when determining different data sets of the plurality of orbital data sets. ref The most recent point in time (e.g., among all epochs of time) .
[0084] In some embodiments, a first candidate TLE (t c ) has been mapped to the reference grid (e.g., the first candidate TLE (t c ) is mapped to one of the control boxes of the reference grid). In some embodiments, if the first candidate TLE (t c ) has been mapped to the reference grid, then we can choose to c-1 The next / second candidate TLE (t c-1 ), where the first candidate time point t c Earlier than the reference time t ref (For example, the mapping process is performed backward in time). Otherwise, if the first candidate time point t c Later than the reference time t ref (For example, the mapping process proceeds forward in time), then we can choose to c+1 The next / second candidate TLE (t c+1 ). Therefore, the second candidate TLE (t c-1 ) can replace the first candidate TLE (t c )(For example, the second candidate TLE (t c-1 ) Update the first candidate TLE(t c )) to complete the rest of the process.
[0085] If the first candidate TLE(t c ) has not been mapped to the reference grid, then the reference TLE(t ref ) to determine the first candidate time point t c For example, referring to TLE ref can be propagated to the first candidate time point t c To calculate the time corresponding to the first candidate time point t c In parallel, based on the first candidate TLE(t c ) to determine the first candidate time point t c For example, corresponding to the first candidate time point t cThe orbital parameter value can be obtained by using the first candidate TLE(t c ) to determine.
[0086] The first set of orbital parameter values and the second set of orbital parameter values may be compared to see whether the two sets of orbital parameter values are aligned (e.g., whether the difference between the two sets of orbital parameter values is below a predetermined threshold). For example, the first set of orbital parameter values and the second set of orbital parameter values are aligned, and two comparison TLE data (e.g., reference TLE (t ref ) and the first candidate TLE(t c )) may correspond to the same control box. Therefore, the first candidate TLE (t c ) is mapped to the reference TLE(t ref ) is assigned to the first control box. In this case, the first candidate TLE (t c ) to update the reference TLE(t ref ), and the first candidate TLE (t c ) is used as the new reference TLE (also using the first candidate time point t c As the updated reference time point t ref And use the first candidate time point t c The snapshot taken at the time of updating is used as the updated dataset for further processing. t , reference time point t ref After the mapping process is completed, it can be determined whether there is a next candidate TLE data set in the historical data (e.g., a snapshot taken at the next time point). If the determination is no, it means that the mapping process has traversed the historical data in at least one time direction (e.g., in the forward direction or the backward direction), and the process ends (e.g., the mapping process ends completely or returns to the original reference data and maps the historical data in the opposite time direction). If the determination is yes, the mapping process can be repeated using the updated reference data.
[0087] If the first set of orbital parameter values and the second set of orbital parameter values are not aligned, it will be determined whether the process ends or repeats.Thus, when the process ends, all historical data received by the server may be mapped to corresponding control boxes of the reference grid.
[0088] Historical data mapped to the reference grid can then be input into Figure 6 Block 610 of the estimation process (e.g., Figure 6 As described above, it is contemplated that control box locations calculated using historical data mapped to a reference grid may be rotated from ECI to ECEF after being mapped to the reference grid or when received by a server (e.g., a track model of historical data received by the server already produces control box locations in ECEF coordinates).
[0089] For example, means for performing functionality at block 1030 may include bus 1105, processor 1110, DSP 1120, wireless communication interface 1130, memory 1160, and / or other components of mobile device 1100, such as Fig.11 Additionally or alternatively, for example, means for executing functional block 1030 may include bus 1205, processor 1210, communication subsystem 1230 (optionally including wireless communication interface 1233), memory 1235, and / or other components of computer system 1200, such as Fig.12 As illustrated in and discussed below.
[0090] The historical data is sorted by the epoch time of the data, wherein the orbit parameter value determined based on the candidate data closest in time to the reference time point is compared with the orbit parameter value propagated from the reference data to the candidate time point (e.g., using the reference TLE (t ref ) to determine t c The mapping techniques disclosed herein can minimize data propagation errors when using historical data to create historical data for a control box (eg, mapping the historical data to a reference grid).
[0091] Fig.11 is a block diagram of an embodiment of a mobile device 1100, which may be described herein above (e.g., in conjunction with Figures 1 to 12 ) is utilized as described in the description of FIG. For example, the mobile device 1100 may execute Fig.10 It should be noted that Fig.11 It is intended only to provide a generalized illustration of various components, any or all of which may be utilized as appropriate. It may be noted that in some cases, Fig.11 The illustrated components may be localized as a single physical device and / or distributed among various networked devices that may be located at different physical locations. In addition, as previously noted, the functionality of the UE discussed in the previously described embodiments may be provided by Fig.11 The invention may be executed by one or more of the illustrated hardware and / or software components.
[0092] Mobile device 1100 is shown as including hardware elements that may be electrically coupled via bus 1105 (or may otherwise communicate as appropriate). The hardware elements may include a processor 1110, which may include, but is not limited to, one or more general-purpose processors (e.g., application processors), one or more special-purpose processors (such as digital signal processor (DSP) chips, graphics acceleration processors, application-specific integrated circuits (ASICs), etc.), and / or other processing structures or components. Processor 1110 may include one or more processing units, which may be housed in a single integrated circuit (IC) or multiple ICs. Fig.11 As shown, some embodiments may have a separate DSP 1120, depending on the desired functionality. Position determination and / or other determinations based on wireless communications (discussed below) may be provided in the processor 1110 and / or the wireless communication interface 1130. The mobile device 1100 may also include one or more input devices 1170, which may include but are not limited to one or more keyboards, touch screens, touch pads, microphones, buttons, dials, switches, etc.; and one or more output devices 1115, which may include but are not limited to one or more displays (e.g., touch screens), light emitting diodes (LEDs), speakers, etc.
[0093] The mobile device 1100 may also include a wireless communication interface 1130, which may include but is not limited to a modem, a network card, an infrared communication device, a wireless communication device and / or a chipset (such as Device, IEEE 802.11 device, IEEE 802.15.4 device, Wi-Fi device, WiMAX device, WAN device and / or various cellular devices, etc.), etc., which can enable the mobile device 1100 to communicate with other devices as described in the above embodiments. The wireless communication interface 1130 may allow the TRP of the network to communicate (e.g., send and receive) data and signaling, such as via eNB, gNB, ng-eNB, access point, various base stations and / or other access node types and / or other network components, computer systems and / or any other electronic devices communicatively coupled to the TRP, as described herein. Communication may be performed via one or more wireless communication antennas 1132 that transmit and / or receive wireless signals 1134. According to some embodiments, the wireless communication antenna 1132 may include multiple discrete antennas, antenna arrays, or any combination thereof. The antenna 1132 may be able to use beams (e.g., Tx beams and Rx beams) to send and receive wireless signals. Beamforming may be performed using digital and / or analog beamforming techniques using corresponding digital and / or analog circuits. The wireless communication interface 1130 may include such circuits. Figure 3As shown in , antenna 1132 can further be used for satellite-based communications and can include a main tone, which can be pointed at the satellite for satellite-based communications, as described herein. According to some embodiments, the orientation of the main tone relative to the device body can be known / established by the device manufacturer.
[0094] Depending on the desired functionality, the wireless communication interface 1130 may include separate receivers and transmitters, or any combination of transceivers, transmitters, and / or receivers to communicate with base stations (e.g., ng-eNBs and gNBs) and other terrestrial transceivers (such as wireless devices and access points). The mobile device 1100 can communicate with different data networks, which may include various network types. For example, the wireless wide area network (WWAN) can be a CDMA network, a time division multiple access (TDMA) network, a frequency division multiple access (FDMA) network, an orthogonal frequency division multiple access (OFDMA) network, a single carrier frequency division multiple access (SC-FDMA) network, a WiMAX (IEEE 802.16) network, and so on. A CDMA network can implement one or more RATs, such as WCDMA, etc. Includes IS-95, IS-2000, and / or IS-856 standards. A TDMA network may implement GSM, Digital Advanced Mobile Phone System (D-AMPS), or some other RAT. An OFDMA network may employ LTE, Advanced LTE, 5G NR, and the like. 5G NR, LTE, Advanced LTE, GSM, and WCDMA are described in documents from 3GPP. Described in documents from an organization named "3rd Generation Partnership Project 2" (3GPP2). 3GPP and 3GPP2 documents are publicly available. A wireless local area network (WLAN) may also be an IEEE 802.11x network, while a wireless personal area network (WPAN) may be a Bluetooth network, IEEE 802.15x, or some other type of network. The techniques described herein may also be used for any combination of WWAN, WLAN, and / or WPAN.
[0095] The mobile device 1100 may also include sensors 1140. The sensors 1140 may include, but are not limited to, one or more inertial sensors and / or other sensors (e.g., accelerometers, gyroscopes, cameras, magnetometers, altimeters, microphones, proximity sensors, light sensors, barometers, etc.), some of which may be used to obtain position-related measurements and / or other information.
[0096] Embodiments of the mobile device 1100 may also include a global navigation satellite system (GNSS) receiver 1180 that is capable of receiving signals 1184 from one or more GNSS satellites using an antenna 1182 (which may be the same as the antenna 1132). Positioning based on GNSS signal measurements may be used to supplement and / or incorporate the techniques described herein. The GNSS receiver 1180 may extract the position of the mobile device 1100 using conventional techniques from GNSS satellites of GNSS systems such as the Global Positioning System (GPS), Galileo, GLONASS, the Quasi-Zenith Satellite System (QZSS) over Japan, the IRNSS over India, the BeiDou Navigation Satellite System (BDS), etc. In addition, the GNSS receiver 1180 may be used with various augmentation systems (e.g., satellite-based augmentation systems (SBAS)) that may be associated with or otherwise enabled for use with one or more global and / or regional navigation satellite systems, such as, for example, the Wide Area Augmentation System (WAAS), the European Geostationary Navigation Overlay Service (EGNOS), the Multifunction Satellite Augmentation System (MSAS), and the Geographic Augmentation Navigation System (GAGAN), among others.
[0097] It may be pointed out that although Fig.11 1180 is illustrated as a different component, but the embodiments are not limited thereto. As used herein, the term "GNSS receiver" may include hardware and / or software components configured to obtain GNSS measurements (measurements from GNSS satellites). Therefore, in some embodiments, the GNSS receiver may include (as software) a measurement engine executed by one or more processors, such as processor 1110, DSP 1120, and / or a processor within wireless communication interface 1130 (e.g., in a modem). The GNSS receiver may also optionally include a positioning engine that can use the GNSS measurements from the measurement engine to determine the position of the GNSS receiver using an extended Kalman filter (EKF), a weighted least squares method (WLS), a hatch filter, a particle filter, etc. The positioning engine may also be executed by one or more processors, such as processor 1110 or DSP 1120.
[0098] The mobile device 1100 may also include and / or be in communication with memory 1160. The memory 1160 may include, but is not limited to, local and / or network accessible storage, disk drives, drive arrays, optical storage devices, solid-state storage devices such as random access memory (RAM) and / or read-only memory (ROM), which may be programmable, flash-updatable, etc. Such storage devices may be configured to implement any suitable data storage, including, but not limited to, various file systems, database structures, etc.
[0099] The memory 1160 of the mobile device 1100 may also include software elements ( Fig.11 ), these software elements include operating systems, device drivers, executable libraries and / or other code, such as one or more applications, which may include computer programs provided by various embodiments and / or may be designed to implement and / or configure methods and / or systems provided by other embodiments as described herein. By way of example only, one or more processes described for the methods discussed above may be implemented as code and / or instructions in memory 1160 that can be executed by mobile device 1100 (and / or processor 1110 or DSP 1120 within mobile device 1100). In some embodiments, such code and / or instructions can then be used to configure and / or adapt a general purpose computer (or other device) to perform one or more operations according to the described methods.
[0100] Fig.12 is a block diagram of an embodiment of a computer system 1200 that may be used, in whole or in part, to provide one or more network components (e.g., Figure 5 It should be noted that Fig.12 It is intended only to provide a generalized illustration of the various components, any or all of which may be utilized as appropriate. Fig.12 It is generally illustrated how various system elements can be implemented in a relatively separate or relatively more integrated manner. In addition, it can be pointed out that Fig.12 The illustrated components may be localized to a single device and / or distributed among various networked devices that may be located at different geographical locations.
[0101] The computer system 1200 is shown as including hardware elements that can be electrically coupled via a bus 1205 (or can communicate in other ways as appropriate). The hardware elements may include a processor 1210, which may include but is not limited to one or more general-purpose processors, one or more special-purpose processors (such as digital signal processing chips, graphics acceleration processors, etc.) and / or other processing structures, which can be configured to perform one or more of the methods described herein. The computer system 1200 may also include one or more input devices 1215, which may include but are not limited to a mouse, a keyboard, a camera, a microphone, etc.; and one or more output devices 1220, which may include but are not limited to a display device, a printer, etc.
[0102] The computer system 1200 may also include (and / or communicate with) one or more non-transitory storage devices 1225, which may include, but are not limited to, local and / or network accessible storage, and / or may include, but are not limited to, disk drives, drive arrays, optical storage devices, solid-state storage devices such as RAM and / or ROM, which may be programmable, flash-updatable, etc. Such storage devices may be configured to implement any suitable data storage, including, but not limited to, various file systems, database structures, etc. Such data storage may include databases and / or other data structures for storing and managing messages and / or other information to be transmitted to one or more devices via the hub, as described herein.
[0103] The computer system 1200 may also include a communication subsystem 1230, which may include wireless communication technologies managed and controlled by a wireless communication interface 1233, as well as wired technologies (such as Ethernet, coaxial communication, universal serial bus (USB), etc.). The wireless communication interface 1233 may include one or more wireless transceivers, which may transmit and receive wireless signals 1255 (e.g., signals according to 5G NR or LTE) via a wireless antenna 1250. Therefore, the communication subsystem 1230 may include a modem, a network card (wireless or wired), an infrared communication device, a wireless communication device, and / or a chipset, etc., which may enable the computer system 1200 to communicate with any device on the corresponding network (including user equipment (UE), base station and / or other TRP, and / or any other electronic device described herein) on any or all of the communication networks described herein. Therefore, the communication subsystem 1230 can be used to receive and transmit data, as described in the embodiments of this article.
[0104] In many embodiments, the computer system 1200 will also include a working memory 1235, which may include a RAM or ROM device, as described above. The software elements shown as being located within the working memory 1235 may include an operating system 1240, device drivers, executable libraries, and / or other code such as one or more applications 1245, which may include computer programs provided by various embodiments, and / or may be designed to implement methods provided by other embodiments and / or configure systems provided by other embodiments, as described herein. By way of example only, one or more of the procedures described with respect to the methods discussed above may be implemented as code and / or instructions that can be executed by a computer (and / or a processor within a computer); then, in one aspect, such code and / or instructions may be used to configure and / or adapt a general purpose computer (or other device) to perform one or more operations according to the described methods.
[0105] The set of these instructions and / or codes may be stored on a non-transitory computer-readable storage medium (such as the storage device 1225 described above). In some cases, the storage medium may be incorporated into a computer system such as the computer system 1200. In other embodiments, the storage medium may be separate from the computer system (e.g., a removable medium such as an optical disk), and / or may be provided in the form of an installation package so that the storage medium can be used to program, configure, and / or adapt a general-purpose computer using the instructions / code stored thereon. These instructions may take the form of executable code that can be executed by the computer system 1200, and / or may take the form of source code and / or installable code that, when compiled and / or installed on the computer system 1200 (e.g., using any of a variety of commonly available compilers, installers, compression / decompression utilities, etc.), takes the form of executable code.
[0106] It will be apparent to those skilled in the art that substantial modifications may be made according to specific requirements. For example, customized hardware may also be used, and / or specific elements may be implemented in hardware, software (including portable software, such as applets, etc.), or both. In addition, connections to other computing devices, such as network input / output devices, may be employed.
[0107] With reference to the accompanying drawings, components that may include memory may include non-transient machine-readable media. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any storage medium that participates in providing data that enables a machine to operate in a particular manner. In the embodiments provided above, various machine-readable media may be involved when providing instructions / codes to a processor and / or other devices for execution. Additionally or alternatively, machine-readable media may be used to store and / or carry such instructions / codes. In many specific implementations, computer-readable media are physical and / or tangible storage media. Such media may take many forms, including but not limited to non-volatile media and volatile media. Common forms of computer-readable media include, for example: magnetic and / or optical media, any other physical media with hole patterns, RAM, programmable ROM (PROM), erasable PROM (EPROM), FLASH-EPROM, any other memory chip or memory box or any other medium from which a computer can read instructions and / or codes.
[0108] The methods, systems and devices discussed herein are examples. Various embodiments may omit, replace or add various procedures or components as appropriate. For example, features described with respect to certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. The various components of the accompanying drawings provided herein may be embodied in hardware and / or software. In addition, technology may evolve, and therefore many elements are examples, which do not limit the scope of the present disclosure to those specific examples.
[0109] It has proven convenient at times, primarily for reasons of common usage, to refer to such signals as bits, information, values, elements, symbols, characters, variables, terms, numbers, digital symbols, and the like. However, it should be understood that all of these or similar terms are to be associated with the appropriate physical quantities and are merely convenient labels. Unless otherwise specifically stated, as will be apparent from the above discussion, it should be understood that throughout this specification, discussions utilizing terms such as "processing," "computing," "calculating," "determining," "ascertaining," "identifying," "correlating," "measuring," "performing," and the like refer to the actions or processes of a particular device such as a special-purpose computer or similar special-purpose electronic computing device. Thus, in the context of this specification, a special-purpose computer or similar special-purpose electronic computing device is capable of manipulating or transforming signals, typically represented as physical, electronic, electrical, or magnetic quantities in a memory, register, or other information storage device, a transmitting device, or a display device of the special-purpose computer or similar special-purpose electronic computing device.
[0110] As used herein, the terms "and" and "or" may include multiple meanings that are also intended to depend at least in part on the context in which such terms are used. Generally, "or", if used in association with a list, such as A, B, or C, is intended to mean A, B, and C (inclusive meanings are used here) as well as A, B, or C (exclusive meanings are used here). In addition, as used herein, the term "one or more" may be used to describe any feature, structure, or characteristic in the singular form, or may be used to describe a certain combination of features, structures, or characteristics. However, it should be noted that this is merely an illustrative example, and the subject matter claimed is not limited to this example. In addition, the term "at least one of...", if used in association with a list, such as A, B, or C, may be interpreted to mean any combination of A, B, and / or C, such as A, AB, AA, AAB, AABBCCC, etc.
[0111] Several embodiments have been described, and various modifications, alternative configurations, and equivalents may be used without departing from the scope of the present disclosure. For example, the above elements may be components of a larger system, wherein other rules may take precedence over the application of the various embodiments or otherwise modify the application of the various embodiments. In addition, multiple steps may be performed before, during, or after considering the above elements. Accordingly, the above description does not limit the scope of the present disclosure.
[0112] In view of this description, various embodiments may include different combinations of features. Specific implementation examples are described in the following numbered clauses:
[0113] Clause 1. According to the present disclosure, a method for facilitating pointing a mobile device at a satellite of a satellite constellation for satellite-based data communication may include obtaining, at a first point in time, historical orbital data indicating orbital movement of a plurality of satellites of the satellite constellation over a period of time, wherein the historical orbital data includes a plurality of orbital data sets, wherein each of the plurality of orbital data sets includes a plurality of orbital data corresponding to different satellites of the satellite constellation, and wherein the different data sets of the plurality of orbital data sets are determined at different points in time. The method may also include assigning a reference orbital data set of the plurality of orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation. The method may also include mapping the plurality of orbital data sets to the reference grid of an orbital model based on the assignment of the reference orbital data sets.
[0114] Clause 2. Clause according to clause 1, wherein assigning the reference orbital data set to the corresponding control box further comprises: assigning the first orbital data of the reference orbital data set to a first control box of the reference grid.
[0115] Clause 3. The clause according to clauses 1 and 2, wherein mapping the multiple orbital datasets to the reference grid based on the assignment of the reference orbital dataset further comprises: mapping a first candidate orbital dataset among the multiple orbital datasets to the reference grid based on the assignment of the reference orbital dataset, wherein the first candidate orbital dataset is determined at a first candidate time point different from the reference time point.
[0116] Clause 4. The clause according to clauses 1 to 3, wherein mapping the first candidate orbital data set comprises: determining a first set of orbital parameter values of satellites of second orbital data of the first candidate orbital data set corresponding to the first candidate time point based on the first orbital data; determining a second set of orbital parameter values of satellites of the second orbital data corresponding to the first candidate time point based on the second orbital data; determining whether the difference between the first set of orbital parameter values and the second set of orbital parameter values is lower than a predetermined threshold; and mapping the second orbital data to the first control box in response to determining that the difference is lower than the predetermined threshold.
[0117] Clause 5. According to the clauses described in clauses 1 to 4, it also includes: before determining the first set of orbital parameter values of the first satellite for the first candidate time point based on the first orbital data, determining whether the second orbital data is mapped to the control box of the reference grid; and in response to determining that the second orbital data is mapped, mapping a second candidate orbital data set among the multiple orbital data sets to the reference grid based on the assignment of the reference orbital data set, wherein the second candidate orbital data set is determined at a second candidate time point whose interval from the reference time point is longer than the interval from the first candidate time point.
[0118] Clause 6. According to clauses 1 to 5, it also includes: in response to determining that the difference between the first set of orbital parameter values and the second set of orbital parameter values is lower than a predetermined threshold, mapping the second candidate data set to the reference grid based on the assignment of the reference orbital data set.
[0119] Clause 7. Clause according to clauses 1 to 6, wherein the first candidate time point is the closest time point measured in time to the reference time point among the different time points when determining the different data sets of the multiple track data sets.
[0120] Clause 8. The clause according to clauses 1 to 7, wherein the first candidate time point is earlier in time than the reference time point.
[0121] Clause 9. Clause according to clauses 1 to 8, wherein the first candidate time point is later in time than the reference time point.
[0122] Clause 10. Clause according to clauses 1 to 9, wherein the interval between two consecutive time points in the different time points when determining different ones of the plurality of orbital data sets is less than about one week.
[0123] Clause 11. The clause according to clauses 1 to 10 further includes: updating the reference time point and the reference orbit data set with the first candidate time point and the first candidate orbit data set respectively.
[0124] Clause 12. Clause according to clauses 1 to 11, wherein the first set of orbital parameter values and the second set of orbital parameter values correspond to an orbital parameter set including ascending node right ascension (RAAN) and ascending node angular distance.
[0125] Clause 13. A clause as described in clauses 1 to 12, wherein obtaining the time-lapse orbital data includes: obtaining archived two-line orbital element (TLE) data for the multiple satellites during the time period; and transforming the mapped multiple orbital data sets from an Earth-centered inertial (ECI) reference coordinate system to an Earth-centered, Earth-fixed (ECEF) coordinate system.
[0126] Clause 14. The clauses according to clauses 1 to 13 also include: determining orbital auxiliary data based on the mapped multiple orbital data sets in the ECEF coordinate system, wherein the orbital model includes a Kepler orbit model with a set of Kepler parameter values, and wherein the Kepler parameter set includes: eccentricity, mean anomaly, inclination, right ascension of ascending node (RAAN), RAAN rate, and combinations thereof.
[0127] Clause 15. Clause as defined in clauses 1 to 14, further comprising sending assistance data indicative of the mapped plurality of orbit data sets to at least one user equipment (UE).
[0128] Clause 16. According to the present disclosure, an example device for facilitating pointing a mobile device at a satellite of a satellite constellation for satellite-based data communication may include: a transceiver; a memory; and one or more processors, the one or more processors being communicatively coupled to the transceiver and the memory, wherein the one or more processors are configured to obtain, at a first point in time, historical orbital data indicating orbital movement of a plurality of satellites of the satellite constellation over a period of time, wherein the historical orbital data comprises a plurality of orbital data sets, wherein each of the plurality of orbital data sets comprises a plurality of orbital data corresponding to different satellites of the satellite constellation, and wherein the different data sets of the plurality of orbital data sets are determined at different points in time. The one or more processors may also be configured to assign a reference orbital data set of the plurality of orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation. The one or more processors may also be configured to map the plurality of orbital data sets to the reference grid of an orbital model based on the assignment of the reference orbital data sets.
[0129] Clause 17. The clause according to clause 16, wherein in order to assign the reference orbital data set to the corresponding control box, the one or more processors are further configured to: assign the first orbital data of the reference orbital data set to the first control box of the reference grid.
[0130] Clause 18. The clause according to clauses 16 and 17, wherein in order to map the multiple orbital datasets to the reference grid based on the assignment of the reference orbital dataset, the one or more processors are further configured to: map a first candidate orbital dataset among the multiple orbital datasets to the reference grid based on the assignment of the reference orbital dataset, wherein the first candidate orbital dataset is determined at a first candidate time point different from the reference time point.
[0131] Clause 19. Clauses according to clauses 16 to 18, wherein in order to map the first candidate orbital data set, the one or more processors are further configured to: determine a first set of orbital parameter values of satellites of the second orbital data of the first candidate orbital data set corresponding to the first candidate time point based on the first orbital data; determine a second set of orbital parameter values of satellites of the second orbital data corresponding to the first candidate time point based on the second orbital data; determine whether the difference between the first set of orbital parameter values and the second set of orbital parameter values is lower than a predetermined threshold; and map the second orbital data to the first control box in response to determining that the difference is lower than the predetermined threshold.
[0132] Clause 20. Clauses according to clauses 16 to 19, wherein the one or more processors are further configured to: determine whether the second orbital data is mapped to a control box of the reference grid before determining the first set of orbital parameter values of the first satellite for the first candidate time point based on the first orbital data; and in response to determining that the second orbital data is mapped, map a second candidate orbital data set from the multiple orbital data sets to the reference grid based on the assignment of the reference orbital data set, wherein the second candidate orbital data set is determined at a second candidate time point that is spaced longer from the reference time point than from the first candidate time point.
[0133] Clause 21. A clause according to clauses 16 to 20, wherein the one or more processors are further configured to: in response to determining that the difference between the first set of orbital parameter values and the second set of orbital parameter values is lower than a predetermined threshold, map the second candidate data set to the reference grid based on the assignment of the reference orbital data set.
[0134] Clause 22. Clause according to clauses 16 to 21, wherein the first candidate time point is the closest time point measured in time to the reference time point among the different time points when determining the different data sets of the plurality of track data sets.
[0135] Clause 23. Clause according to clauses 16 to 22, wherein the first candidate time point is earlier in time than the reference time point.
[0136] Clause 24. Clause according to clauses 16 to 23, wherein the first candidate time point is later in time than the reference time point.
[0137] Clause 25. Clause according to clauses 16 to 24, wherein the interval between two consecutive time points of the different time points when determining different ones of the plurality of orbital data sets is less than about one week.
[0138] Clause 26. Clause according to clauses 16 to 25, wherein the one or more processors are further configured to: update the reference time point and the reference orbit data set with the first candidate time point and the first candidate orbit data set, respectively.
[0139] Clause 27. Clause according to clauses 16 to 26, wherein the first set of orbital parameter values and the second set of orbital parameter values correspond to an orbital parameter set including ascending node right ascension (RAAN) and ascending node angular distance.
[0140] Clause 28. Clause as defined in clauses 16 to 27, wherein the one or more processors are further configured to: send assistance data indicative of the mapped plurality of orbital data sets to at least one user equipment (UE).
[0141] Item 29. An apparatus for facilitating pointing a mobile device toward a satellite of a satellite constellation for satellite-based data communications, the apparatus comprising: a component for obtaining, at a first point in time, historical orbital data indicating orbital movements of a plurality of satellites of the satellite constellation over a period of time, wherein the historical orbital data comprises a plurality of orbital data sets, wherein each of the plurality of orbital data sets comprises a plurality of orbital data corresponding to different satellites of the satellite constellation, and wherein the different data sets in the plurality of orbital data sets are determined at different points in time; a component for assigning a reference orbital data set in the plurality of orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation; and a component for mapping the plurality of orbital data sets to the reference grid of an orbital model based on the assignment of the reference orbital data sets.
[0142] Clause 30. The clause according to clause 29, wherein the means for assigning the reference orbital data set to the corresponding control box further comprises code for: means for assigning first orbital data of the reference orbital data set to a first control box of the reference grid.
[0143] Clause 31. A clause according to clauses 29 and 30, wherein the component for mapping the multiple orbital datasets to the reference grid based on the assignment of the reference orbital dataset also includes: a component for mapping a first candidate orbital dataset among the multiple orbital datasets to the reference grid based on the assignment of the reference orbital dataset, wherein the first candidate orbital dataset is determined at a first candidate time point different from the reference time point.
[0144] Clause 32. A clause according to clauses 29 to 31, wherein the component for mapping the first candidate orbital data set includes: a component for determining a first set of orbital parameter values of satellites of the second orbital data of the first candidate orbital data set corresponding to the first candidate time point based on the first orbital data; a component for determining a second set of orbital parameter values of satellites of the second orbital data corresponding to the first candidate time point based on the second orbital data; a component for determining whether the difference between the first set of orbital parameter values and the second set of orbital parameter values is lower than a predetermined threshold; and a component for mapping the second orbital data to the first control box in response to determining that the difference is lower than the predetermined threshold.
[0145] Clause 33. Clause as described in clauses 29 to 32, further comprising: means for sending assistance data indicative of the mapped plurality of orbit data sets to at least one user equipment (UE).
[0146] Clause 34. An example non-transitory computer-readable medium stores instructions for facilitating pointing a mobile device at a satellite of a satellite constellation for satellite-based data communication, the instructions comprising code for obtaining, at a first point in time, historical orbital data indicating orbital movement of a plurality of satellites of the satellite constellation over a period of time, wherein the historical orbital data comprises a plurality of orbital data sets, wherein each of the plurality of orbital data sets comprises a plurality of orbital data corresponding to different satellites of the satellite constellation, and wherein the different data sets of the plurality of orbital data sets are determined at different points in time. The instructions may further comprise code for assigning a reference orbital data set of the plurality of orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation. The instructions may further comprise code for mapping the plurality of orbital data sets to the reference grid of an orbital model based on the assignment of the reference orbital data sets.
Claims
1. A method for satellite positioning for satellite-based data communication, the method comprising: obtaining, at a first point in time, historical orbit data indicating orbital movement of a plurality of satellites of a satellite constellation over a period of time, wherein the historical orbit data comprises a plurality of orbit data sets, wherein each of the plurality of orbit data sets comprises a plurality of orbit data corresponding to a different satellite of the satellite constellation, and wherein the different ones of the plurality of orbit data sets are determined at different points in time; Assigning a reference orbital data set of the plurality of orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation; as well as The plurality of orbit data sets are mapped to the reference grid of an orbit model based on the assignment of the reference orbit data sets.
2. The method of claim 1, wherein assigning the reference orbit data set to the corresponding control box further comprises: A first orbital data of the reference orbital data set is assigned to a first control box of the reference grid.
3. The method of claim 2, wherein mapping the plurality of orbital data sets to the reference grid based on the assignment of the reference orbital data sets further comprises: A first candidate orbit dataset of the plurality of orbit datasets is mapped to the reference grid based on the assignment of the reference orbit dataset, wherein the first candidate orbit dataset is determined at a first candidate time point different from the reference time point.
4. The method of claim 3, wherein mapping the first candidate trajectory data set comprises: determining, based on the first orbital data, a first set of orbital parameter values of satellites corresponding to second orbital data of the first candidate orbital data set at the first candidate time point; determining a second set of orbital parameter values of satellites corresponding to the second orbital data at the first candidate time point based on the second orbital data; determining whether a difference between the first set of orbital parameter values and the second set of orbital parameter values is below a predetermined threshold; as well as The second track data is mapped to the first control box in response to determining that the difference is below the predetermined threshold.
5. The method according to claim 4, further comprising: before determining a first set of orbital parameter values for the first satellite for the first candidate time point based on the first orbital data, determining whether the second orbital data is mapped to a control box of the reference grid; as well as In response to determining that the second orbital data is mapped, a second candidate orbital data set among the multiple orbital data sets is mapped to the reference grid based on the assignment of the reference orbital data set, wherein the second candidate orbital data set is determined at a second candidate time point that is longer than the first candidate time point in interval from the reference time point.
6. The method according to claim 5, further comprising: In response to determining that the difference between the first set of orbit parameter values and the second set of orbit parameter values is below a predetermined threshold, mapping the second candidate data set to the reference grid based on the assignment of the reference orbit data set. 7 . The method of claim 6 , wherein the first candidate time point is a closest time point measured in time to the reference time point among the different time points when determining the different data sets of the plurality of trajectory data sets. The method according to claim 6 , wherein the first candidate time point is earlier in time than the reference time point. 9 . The method according to claim 6 , wherein the first candidate time point is later in time than the reference time point.
10. The method of claim 6, wherein an interval between two consecutive time points of the different time points when determining different ones of the plurality of orbital data sets is less than about one week.
11. The method according to claim 4, further comprising: The reference time point and the reference orbit data set are updated using the first candidate time point and the first candidate orbit data set respectively.
12. The method of claim 4, wherein the first set of orbital parameter values and the second set of orbital parameter values correspond to an orbital parameter set comprising right ascension of ascending node (RAAN) and ascending angular distance.
13. The method of claim 1 , wherein obtaining the temporal orbit data comprises: obtaining archived two-line track element (TLE) data for the plurality of satellites during the time period; as well as The mapped plurality of orbital data sets are transformed from an Earth-centered inertial (ECI) reference coordinate system to an Earth-centered, Earth-fixed (ECEF) coordinate system.
14. The method according to claim 13, further comprising: orbital auxiliary data is determined based on the mapped plurality of orbital data sets in an ECEF coordinate system, wherein the orbital model comprises a Keplerian orbital model having a set of Keplerian parameter values, and wherein the set of Keplerian parameters comprises: Eccentricity, Angle of near point, Tilt angle, Right Ascension of Ascending Node (RAAN), RAAN rate, A combination of them.
15. The method according to claim 1, further comprising: Assistance data indicative of the mapped plurality of orbit data sets is sent to at least one user equipment (UE).
16. An apparatus for facilitating pointing a mobile device toward a satellite of a satellite constellation for satellite-based data communications, the apparatus comprising: Transceiver; Memory; and one or more processors communicatively coupled to the transceiver and the memory, wherein the one or more processors are configured to: obtaining, at a first point in time, historical orbit data indicating orbital movement of a plurality of satellites of a satellite constellation over a period of time, wherein the historical orbit data comprises a plurality of orbit data sets, wherein each of the plurality of orbit data sets comprises a plurality of orbit data corresponding to a different satellite of the satellite constellation, and wherein the different ones of the plurality of orbit data sets are determined at different points in time; Assigning a reference orbital data set of the plurality of orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation; as well as The plurality of orbit data sets are mapped to the reference grid of an orbit model based on the assignment of the reference orbit data sets.
17. The apparatus of claim 16, wherein to assign the reference orbit data set to the corresponding control box, the one or more processors are further configured to: A first orbital data of the reference orbital data set is assigned to a first control box of the reference grid.
18. The apparatus of claim 17, wherein to map the plurality of orbital data sets to the reference grid based on the assignment of the reference orbital data sets, the one or more processors are further configured to: A first candidate orbit dataset of the plurality of orbit datasets is mapped to the reference grid based on the assignment of the reference orbit dataset, wherein the first candidate orbit dataset is determined at a first candidate time point different from the reference time point.
19. The apparatus of claim 18, wherein to map the first candidate trajectory data set, the one or more processors are further configured to: determining, based on the first orbital data, a first set of orbital parameter values of satellites corresponding to second orbital data of the first candidate orbital data set at the first candidate time point; determining a second set of orbital parameter values of satellites corresponding to the second orbital data at the first candidate time point based on the second orbital data; determining whether a difference between the first set of orbital parameter values and the second set of orbital parameter values is below a predetermined threshold; as well as The second track data is mapped to the first control box in response to determining that the difference is below the predetermined threshold.
20. The apparatus of claim 19, wherein the one or more processors are further configured to: Before determining a first set of orbital parameter values for the first satellite for the first candidate time point based on the first orbital data, determining whether the second orbital data is mapped to a control box of the reference grid; and In response to determining that the second orbital data is mapped, a second candidate orbital data set among the multiple orbital data sets is mapped to the reference grid based on the assignment of the reference orbital data set, wherein the second candidate orbital data set is determined at a second candidate time point that is longer than the first candidate time point in interval from the reference time point.
21. The device of claim 20, wherein the one or more processors are further configured to: In response to determining that the difference between the first set of orbit parameter values and the second set of orbit parameter values is below a predetermined threshold, mapping the second candidate data set to the reference grid based on the assignment of the reference orbit data set.
22. The apparatus of claim 21, wherein the first candidate time point is a closest time point measured in time to the reference time point among the different time points when determining the different data sets of the plurality of trajectory data sets.
23. The apparatus according to claim 21, wherein the first candidate time point is earlier in time than the reference time point. The apparatus according to claim 21 , wherein the first candidate time point is later in time than the reference time point.
25. The apparatus of claim 21, wherein an interval between two consecutive time points of the different time points when determining different ones of the plurality of orbital data sets is less than about one week.
26. The device of claim 19, wherein the one or more processors are further configured to update the reference time point and the reference orbit dataset with the first candidate time point and the first candidate orbit dataset, respectively.
27. The apparatus of claim 19, wherein the first set of orbital parameter values and the second set of orbital parameter values correspond to an orbital parameter set comprising a right ascension of ascending node (RAAN) and a distance of ascending node.
28. The device of claim 16, wherein the one or more processors are further configured to: Assistance data indicative of the mapped plurality of orbit data sets is sent to at least one user equipment (UE).
29. An apparatus for facilitating pointing a mobile device toward a satellite of a satellite constellation for satellite-based data communications, the apparatus comprising: means for obtaining, at a first point in time, historical orbit data indicating orbital movement of a plurality of satellites of a satellite constellation over a period of time, wherein the historical orbit data comprises a plurality of orbit data sets, wherein each of the plurality of orbit data sets comprises a plurality of orbit data corresponding to a different satellite of the satellite constellation, and wherein the different ones of the plurality of orbit data sets are determined at different points in time; means for assigning a reference orbital data set of the plurality of orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation; and Means for mapping the plurality of orbit data sets to the reference grid of a orbit model based on the assignment of the reference orbit data sets.
30. The apparatus of claim 29, wherein the means for assigning the reference orbit data set to the corresponding control box further comprises code for: Means for assigning first orbital data of said reference orbital data set to a first control box of said reference grid.
31. The apparatus of claim 30, wherein the means for mapping the plurality of orbital data sets to the reference grid based on the assignment of the reference orbital data sets further comprises: Means for mapping a first candidate orbit dataset of the plurality of orbit datasets to the reference grid based on the assignment of the reference orbit dataset, wherein the first candidate orbit dataset is determined at a first candidate point in time different from the reference point in time.
32. The apparatus of claim 31 , wherein the means for mapping the first candidate trajectory data set comprises: means for determining, based on the first orbital data, a first set of orbital parameter values for satellites of second orbital data of the first candidate orbital data set corresponding to the first candidate time point; means for determining, based on the second orbital data, a second set of orbital parameter values for satellites corresponding to the second orbital data for the first candidate time point; means for determining whether a difference between the first set of orbital parameter values and the second set of orbital parameter values is below a predetermined threshold; and Means for mapping the second track data to the first control box in response to determining that the difference is below the predetermined threshold.
33. The apparatus of claim 29, further comprising: Means for sending assistance data indicative of the mapped plurality of orbit data sets to at least one user equipment (UE).
34. A non-transitory computer-readable medium storing instructions for facilitating pointing a mobile device toward a satellite of a satellite constellation for satellite-based data communications, the instructions comprising code for: obtaining, at a first point in time, historical orbit data indicating orbital movement of a plurality of satellites of a satellite constellation over a period of time, wherein the historical orbit data comprises a plurality of orbit data sets, wherein each of the plurality of orbit data sets comprises a plurality of orbit data corresponding to a different satellite of the satellite constellation, and wherein the different ones of the plurality of orbit data sets are determined at different points in time; Assigning a reference orbital data set of the plurality of orbital data sets determined at a reference point in time to a corresponding control box of a reference grid covering the satellite constellation, wherein each control box of the reference grid corresponds to a satellite of the satellite constellation; as well as The plurality of orbit data sets are mapped to the reference grid of an orbit model based on the assignment of the reference orbit data sets.