Assistance data for orienting mobile devices for satellite-based communications
By estimating satellite orbit parameter values using historical orbit data and sending auxiliary data, the problem of standard mobile devices communicating with communication satellites without using dedicated antennas is solved, and accurate prediction of satellite position and support for mobile device orientation is achieved.
Patent Information
- Application Number
- CN202380053236.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-18
- Filing Date
- 2023-05-22
- Publication Date
- 2025-02-28
AI Technical Summary
The prior art is difficult to achieve effective satellite-based communication with communication satellites without using dedicated antennas, especially when satellite positions change rapidly.
By obtaining historical orbit data indicating the orbital movement of the satellite set during the time period, an orbital parameter value set is estimated, and auxiliary data is sent to the mobile device to indicate the orbital parameter value set of the satellite to help the mobile device direct the satellite.
It realizes accurate prediction of satellite position without frequent update of satellite orbit parameters, improves the accuracy and reliability of mobile device directional satellites, and supports satellite-based data communication for a long time.
Smart Images

Figure CN119547351A_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims the benefit of U.S. Application No. 17 / 813,099, filed on July 18, 2022, entitled “Assistance Data for Directing a Mobile Device for Satellite-Based Communications,” which has been assigned to the assignee of this application and is incorporated herein by reference in its entirety. 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. Background Art
[0004] In the past, satellite-based communications were limited to satellite phones with dedicated antennas to enable the satellite phones to effectively send and receive signals to and from satellites. As the number of communications satellites increases, the potential for satellite-based communications 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 cannot orient the mobile phone so that the communications satellite falls within the main lobe of the mobile phone antenna. In addition, because communications satellites can perform moves within their orbits (e.g., station keeping to help avoid collisions), it may be challenging to determine the position of communications satellites in real time without frequent updates to orbital parameters (e.g., once every few weeks). Summary of the invention
[0005] According to the present disclosure, an example method for facilitating pointing a mobile device to a satellite of a satellite constellation for satellite-based data communication may include obtaining historical orbital data indicating orbital movement of a set of satellites over a time period, the set of satellites including at least a subset of satellites of the satellite constellation. The method may also include, for each satellite in the set of satellites, estimating a set of orbital parameter values by fitting an orbital model to the historical data for the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a group of satellites in the set of satellites. The method may also include sending assistance data to at least one mobile device, the assistance data indicating a corresponding set of orbital parameter values for all satellites in the set of satellites.
[0006] 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 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 set of satellites over a time period, the set of satellites including at least a subset of satellites of the satellite constellation. The one or more processors may also be configured to, for each satellite in the set of satellites, estimate a set of orbital parameter values by fitting an orbital model to the historical data of the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a group of satellites within the set of satellites. The one or more processors may also be configured to send assistance data to at least one mobile device, the assistance data indicating a corresponding set of orbital parameter values for all satellites in the set of satellites.
[0007] According to the present disclosure, an exemplary apparatus for facilitating pointing a mobile device to a satellite of a satellite constellation for satellite-based data communication may include: a component for obtaining historical orbital data indicating orbital movement of a set of satellites over a time period, the set of satellites including at least a subset of satellites of the satellite constellation. The apparatus may also include a component for estimating a set of orbital parameter values for each satellite in the set of satellites by fitting an orbital model to the historical data of the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a group of satellites in the set of satellites. The apparatus may also include a component for sending assistance data to at least one mobile device, the assistance data indicating a corresponding set of orbital parameter values for all satellites in the set of satellites.
[0008] According to the present disclosure, an exemplary non-transitory computer-readable medium stores instructions for facilitating pointing a mobile device to 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 set of satellites over a time period, the set of satellites including at least a subset of satellites of the satellite constellation. The instructions may also include code for estimating, for each satellite in the set of satellites, a set of orbital parameter values by fitting an orbital model to the historical data of the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a group of satellites in the set of satellites. The instructions may also include code for sending assistance data to at least one mobile device, the assistance data indicating a corresponding set of orbital parameter values for all satellites in the set of satellites.
[0009] The present summary is neither intended to identify the key or essential features of the claimed subject matter nor 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 present disclosure, any or all of the drawings, and each claim. The foregoing and other features and examples will be described in more detail below in the following specification, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 is a diagram of a satellite-based communication system, according to an embodiment.
[0011] Figure 2 is a set of graphs illustrating example visibility and number of satellites of a communications satellite constellation moving across the sky over the course of an hour.
[0012] Figure 3 is a diagram showing how satellite-based communications with a mobile device, such as a traditional cellular telephone, can be achieved without a dedicated antenna for satellite communications.
[0013] Figure 4 is a diagram provided to conceptually illustrate what satellite modeling may do to predict the position of a given satellite in accordance with some embodiments.
[0014] 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 to communicate with a satellite in accordance with an embodiment is shown.
[0015] Figure 6 is a flow chart illustrating a first process flow illustrating an initial parameter estimation process for determining an accurate long-term model according to some embodiments.
[0016] Figure 7 is a flow chart illustrating a second process flow according to some embodiments, which illustrates a subsequent parameter estimation process for determining an accurate long-term model, which may follow Figure 6 The initial process shown.
[0017] Figure 8 is a flow chart of a method that may be utilized by a mobile device for assisting a user of the mobile device in orienting the mobile device for satellite-based communications using assistance data provided by a server in accordance with some embodiments.
[0018] Fig. 9 It is shown that by executing this article about Figure 6 Step 1 of the estimation process described generates a table of example Keplerian orbit parameter values.
[0019] Fig.10 This article is about Figure 7 Table of a first example set of Keplerian orbit parameter values generated by step 2 of the estimation process described, continued Fig. 9 Example values for generating Keplerian orbit parameter values for a satellite.
[0020] Fig.11 is a table showing a second example set of Keplerian orbit parameter values generated by performing step 2 of the estimation process flow.
[0021] Fig.12 is a flow chart of a method of facilitating pointing a mobile device toward a satellite of a satellite constellation for satellite-based data communications in accordance with an embodiment.
[0022] Fig.13 is a block diagram of an embodiment of a mobile device that may be utilized in embodiments as described herein.
[0023] Fig.14 is a block diagram of an embodiment of a computer system that may be used in embodiments as described herein.
[0024] According to some example embodiments, the same reference numerals in various drawings indicate the same elements. In addition, multiple instances of an element can be indicated by following a letter or hyphen and a second numeral after the first numeral 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 numeral is used to refer to such an element, any instance of the element will be understood (for example, the element 110 in the previous example will refer to element 110-1, 110-2 and 110-3 or to element 110a, 110b and 110c). DETAILED DESCRIPTION
[0025] Several illustrative examples will now be described with respect to the accompanying drawings which form a part hereof.While specific examples are described below in which one or more aspects of the invention may be implemented, other examples may be used and various modifications may be made without departing from the scope of the invention of the appended claims.
[0026] 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, the appearances of the phrase "in one example" or "an example" in various places throughout this specification are not necessarily all referring to the same example. Furthermore, the particular features, structures, or characteristics may be combined in one or more examples.
[0027] The methods described herein may be implemented by various components depending on the application according to the specific example. For example, such methods may be implemented in hardware, firmware, software, and / or a combination thereof. In a hardware implementation, for example, the 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 device units designed to perform the functions described herein, and / or combinations thereof.
[0028] As used herein, the term "mobile device" may include a mobile electronic device that may be capable of wireless communication. Although typically shown as a mobile phone (or "user equipment" (UE) of a cellular network), unless otherwise specified, the wireless communication capabilities of a mobile device are not intended to be specific or otherwise limited to any specific radio access technology (RAT). In general, a mobile device may 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) headsets, etc.), an Internet of Things (IoT) device, etc.) or other electronic devices that can be used for global navigation satellite system (GNSS) positioning as described herein. According to some embodiments, a mobile device may be used to communicate through a wireless communication network. A mobile device may be mobile, or may be stationary (e.g., at certain times), and may communicate with a terrestrial radio access network (RAN) when within the range of the RAN. As used herein, the term mobile device may be interchangeably referred to as a UE, an access terminal (AT), a client device, a wireless device, a subscriber device, a subscriber terminal, a subscriber station, a user terminal (UT), a mobile device, a mobile terminal, a mobile station, or a variant thereof. Typically, a mobile device can communicate with a core network via the RAN, and through the core network, the mobile device can connect to an external network (such as the Internet) and other mobile devices. Other mechanisms for connecting to the core network and / or the Internet are also possible for the mobile device, 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.
[0029] 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, where a user may employ audio, video and / or data I / O devices and / or body sensors and a separate wired or wireless modem. As described herein, an estimate of the position of a global positioning system (GPS) receiver may be referred to as a position, position estimate, position fix, position, position, position estimate, or position fix, and may be geodesic, thereby providing position coordinates (e.g., latitude and longitude) of a GPS receiver, which may or may not include an altitude component (e.g., height above sea level, height above ground level, or depth below ground level, floor level, or basement level). In some embodiments, the position of a GPS receiver and / or an electronic device including a GPS receiver may also be expressed as an area or volume (defined geographically or in terms of a city) in which the GPS receiver is expected to be located with a certain probability or confidence level (e.g., 67%, 95%, etc.). In the description contained herein, unless otherwise specified, the use of the term position may include any of these variations. When calculating the position of a GPS receiver, this calculation can solve for the local X, Y, and possibly Z coordinates and then, if necessary, transform the coordinates from one coordinate system to another.
[0030] In recent years, satellite-based communication systems have increased in number, expanding the coverage of voice-based and data-based communications. This can enable telephone coverage and Internet access to areas that were previously not covered by terrestrial wireless (e.g., cellular / mobile communication networks) or wired networks (e.g., traditional wired telephone networks, cable, digital subscriber line (DSL), etc.).
[0031] 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 actual embodiments, 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 6 orbital planes. To help optimize communication efficiency, the satellites 110 in this satellite-based communication system 100 are generally equally spaced, such that the spacing 140 between all satellites 110 in an orbital plane 130 is approximately the same.
[0032] Sometimes, a satellite 110 may deviate from a regular orbit due to a controlled maneuver. For example, sometimes, a satellite 110 may be maneuvered to avoid collision with other satellites 110 (and / or other objects in space). This may occur, for example, when satellites 100 may approach a potential conflict point 150 (where the orbital planes 130 intersect) from different orbital planes 130 at approximately the same time. (This assumes that the satellites 110 in the intersecting orbital planes 130 orbit 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 the satellite 110 for long periods of time. For a given satellite 110, steering events may occur every few weeks (Iridium satellites are corrected approximately every 4 to 7 weeks). Therefore, such orbital models are generally unable to accurately predict the position of a satellite 110 for longer than a few weeks.
[0033] Satellite-based communication systems (such as Figure 1 The communication systems shown in ) 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 across the sky relative to users on the earth's surface. Figure 2 Helps illustrate the concept.
[0034] Figure 2 is a set of graphs showing example visibility and number of satellites moving across the sky over the course of an hour. This particular example is about the visibility of the Iridium NEXT satellite, which is at 32.7157000° latitude and -117.1611000° longitude at sea level from the perspective of Earth. The top graph 210 shows the variation in elevation of different visible satellites (the legend 215 specifies the specific satellite), and the bottom graph 220 indicates the number of satellites visible at any given time. Both graphs show how each satellite is only visible for about 10 minutes. However, the orbits of the satellites (including the spacing between satellites and the spacing between orbital planes) are such that at least one satellite is 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), satellite communication systems can be designed to ensure that at least one satellite is visible at any time and at any location on Earth (assuming an open sky scenario).
[0035] As described above, conventional satellite-based communications for mobile devices typically require specialized mobile devices, such as satellite phones, which are typically expensive. However, mobile phone manufacturers and providers have been looking for opportunities to provide satellite communications (if only limited) to more traditional mobile devices (such as traditional cellular phones). However, this can be a challenge given the limitations of battery capacity, antennas of traditional cellular phones, and the mobility of communication satellites (e.g., LEO satellites).
[0036] Figure 3 3 is a diagram illustrating some of the challenges of enabling satellite-based communications with mobile devices such as traditional cellular phones without a dedicated antenna for satellite communications. Here, a satellite 310 can serve one or more ground devices by directionally transmitting and receiving signals using one or more RF beams. In order to use a mobile device 330 for satellite-based communications, a user 340 may need to orient the mobile device 330 so that the main antenna node 350 of the mobile device antenna is substantially pointed toward the satellite 310.
[0037] 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, this functionality can be provided (for example, by a mobile operator) to users or subscribers of satellite-based communication services to enable users to send and / or receive data when they are not within the coverage of a terrestrial wireless network (for example, a cellular network). Data can be sent in an emergency and can include, for example, an SOS or other emergency message. Additionally or alternatively, when a communication link is established between the mobile device 330 and the satellite 310, text messages can be buffered and sent / received. Such satellite-based communications can be used to facilitate other data and / or voice services.
[0038] However, such communication relies 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 point 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. A large portion of the available error budget is allocated to account for user pointing errors, thereby providing Figure 8 310. 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. Furthermore, the master antenna node 350 may be relatively narrow, so that an error of, for example, 3-5° may affect performance. Additionally, as previously described, if the satellite 310 experiences a steering event, it may be difficult to accurately predict the position and movement of the satellite 310 in the sky.
[0039] Embodiments herein help solve at least some of these problems by providing accurate modeling of the orbital positions of satellites in satellite-based communications. A model capable of accurately predicting the positions of satellites in a satellite-based communication system over an extended period of time can be created by a server in communication with a mobile device. In order to help a user be able to correctly orient a mobile device for satellite-based communications, the server may provide assistance data, including the model, to the mobile device. The techniques provided herein can be used to provide a model capable of accurately predicting satellite positions (e.g., within 41 km (or 3° from the user's perspective on Earth)) for more than one year with a 99%ile confidence level.
[0040] Figure 4 is similar to Figure 1 400, which is provided to conceptually illustrate what satellite modeling can do to predict the position of a given satellite 410 according to some embodiments. Using standard modeling techniques, traditional satellite modeling can predict the position of a satellite 410 relative to the earth 420 with a certain degree of accuracy. However, these models are generally no longer applicable after a diversion event because when experiencing a diversion event in which a satellite 410 temporarily leaves its position in orbit, the satellite 410 generally does not return to its precise position in orbit modeled using standard techniques. Therefore, traditional satellite modeling of a given satellite 410 may only last for a few weeks, or until a diversion event occurs.
[0041] According to an embodiment, a more robust model can be made by modeling the position of the control grid 440 of the satellite 410 rather than the exact position of the satellite 410 itself. The control grid 440 of the satellite 410 is the area in which the satellite 410 is usually located. The combination of all control grids for all satellites of the satellite constellation can be referred to as a reference grid, where each "cell" of the reference grid corresponds to the control grid of the satellite. The satellite constellation is usually created and maintained with such an idea that 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 described, precise intervals between satellites are expected. Therefore, although a steering event may cause the satellite 410 to temporarily leave its control grid 440, the satellite 410 will usually return to its control grid 440. And therefore, the steering event does not usually affect the position of the control grid 440.
[0042] Because satellites of satellite-based communication systems have a "tight" control grid (e.g., spanning 10-20 km in width and altitude), when the primary antenna node of a mobile device (e.g., Figure 3When the main antenna lobe 350 of the control grid 440 is pointed at the center point of the control grid 440 instead of the actual location of the satellite 410, the mobile device may be able to participate in communications with the satellite. With this in mind, and because steering events generally do not affect the location of the control grid 440, as previously described, embodiments herein may model the location of the control grid 440 (e.g., the center point of the control grid 440) to provide 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 is performed is provided below.
[0043] 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 according to an embodiment is illustrated. Arrows represent communication links, which may include one or more intermediate devices, networks, etc. (not shown). As with the other figures, Figure 5 505 are provided as non-limiting examples, and alternative embodiments may include additional or alternative components for providing assistance data to the mobile device 505.
[0044] 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. The service may be provided, for example, by a satellite-based communications 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.).
[0045] The data source may include 530 a computer server and / or other device that provides orbital information about a satellite (e.g., satellite 510) of a satellite-based communication system. As an example, the 18th Space Defense Squadron (18SPDS) of the United States Space Command (USSPACECOM) publishes two-line element (TLE) data that can be used with an unclassified simplified general perturbation #4 (SGP4) library to derive orbital information based on radar observations. TLE data is typically published on the Internet several times a day.
[0046] Using the historical data to accurately model the bounding boxes of the satellites in the constellation (e.g., using the techniques described below), server 520 can provide the model to mobile device 505, enabling mobile device 505 to determine the positions of satellites 510. Using this information, as well as the approximate position 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 this manner.
[0047] According to an embodiment, using historical data to determine an accurate long-term model for predicting the position of the control grid can be accomplished in a two-step process, such as Figure 6 and Figure 7 As shown. It can be noted that Figure 6 and Figure 7 The embodiments shown in describe "satellite" and "control grid" interchangeably, indicating the center of the area (control grid) corresponding to the satellite where the satellite is located.
[0048] Figure 6 is a flow chart illustrating a first process flow 600 according to some embodiments, which illustrates an initial parameter estimation process for determining an accurate long-term model. The operations shown in the first process flow 600 (together with Figure 7 The process flow shown in and described below may be performed by a server (e.g., server 520) to determine a model for satellite control grid prediction for all satellites in a constellation. As previously described, the model may then be provided to a UE as assistance data, enabling the UE to determine the location of the control grid for UE orientation when participating in satellite-based communications.
[0049] Step 1 may begin using the input provided at blocks 605 and 610. In particular, as previously described, the server may retrieve an archive of TLE (orbit) data for satellites in a satellite-based communication constellation over a time period, as shown in block 605. Each control grid or satellite may be given a particular time slot in a particular plane, and satellite data may be obtained for all time slots and planes, or a subset thereof.
[0050] As further indicated, satellite information may be provided in an Earth Center Inertial (ECI) reference frame. However, to determine the position of a satellite relative to a UE on the ground, it may be preferred to utilize an Earth Centered, Earth Fixed (ECEF) frame. Therefore, embodiments may also obtain parameters for coordinate rotation from ECI to ECEF, as shown in block 610.
[0051] The amount of historical data used in the first processing flow 600 can vary depending on the desired functionality. However, in order to account for changes in satellite orbits due to steering events, embodiments can use historical data spanning one or more orbit steering events for each satellite. For example, for Iridium NEXT satellites where each satellite experiences a steering event every 4 to 7 weeks, TLE data covering a sampling period of at least 8 weeks can help ensure that each satellite experiences at least one steering event, thereby allowing the model to account for steering events for all satellites (and therefore accurately predict satellite positions for far longer than traditional models).
[0052] At block 615, the process includes preparing uniformly sampled reference orbit data in an ECEF spanning a time period T1. As previously described, the length of time period T1 may be selected to help ensure that a steering event occurs for each satellite for which data is obtained (in the previous example regarding an Iridium satellite, T1 would include the most recent 8 weeks of data). The preparation of uniformly sampled orbit data may include determining the position (e.g., x, y, z position) of each satellite at a uniform sampling rate (e.g., every five minutes).
[0053] Using the uniformly sampled reference orbit data prepared at block 615, the server can then calculate seed values for orbital parameters, as shown in block 620. Depending on the type of orbital model used for satellite position estimation, these orbital parameters can 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 ascending node (RAAN), RAAN rate, and perigee argument, or a combination thereof. Alternatively, equatorial orbit modeling may be used, in which case the orbital parameters may include some or all of the equatorial element group: semi-major axis, components of the eccentricity vector in the equatorial reference system, components of the ascending node vector in the equatorial reference system, and mean longitude. In some embodiments, secondary or derived parameters may be used as orbital parameters. For example, in classical Kepler orbit modeling, the Kepler element set may be represented using derived parameters such as orbital time period instead of the semi-major axis because there is a direct relationship between the two. The seed value may be used to seed the iterative process of estimating orbit parameter values performed by the operational grouping included in block 625. The seed value may be obtained in any of a variety of ways, depending on the desired functionality. In some embodiments, for example, the seed value may be obtained from the last N epochs of reference orbit data extracted in block 615.
[0054] The operation group in block 625 then iteratively changes the parameter values (e.g., starting from the seed value obtained at block 620) to find the set of orbit parameter values that best fit the actual orbit data for period T1. This is accomplished by a corresponding adjustment of the corresponding seed value for each orbit parameter estimate to determine a corresponding candidate orbit parameter value, as shown in block 627. These candidate orbit parameter values are then used to calculate candidate orbit paths, as shown in block 630. At block 635, the candidate orbit paths are then compared to the actual (reference) orbit paths from block 615, and residuals indicating the difference between the candidate orbit paths and the actual orbit paths are calculated. At block 640, the convergence of the cost function may be checked (e.g., whether the residual values for consecutive iterations have changed by more than a threshold). If there is no convergence, the process of estimating orbit parameter values may be repeated with updated orbit parameter values, as shown in block 645. However, once the iterative process results in convergence (e.g., the residual values from one iteration to the next do not change by more than a threshold), the candidate orbit parameter values in the most recent iteration may be used as the output orbit parameter values of the first processing flow 600, as shown in block 650. This first process flow 600 may be performed in parallel or sequentially for all satellites (eg, all planes and slots) in a constellation or a subset thereof.
[0055] Figure 7 is a flow chart illustrating a second process flow 700 according to some embodiments, which illustrates a subsequent parameter estimation process for determining an accurate long-term model, which may follow Figure 6 Similarly, the operations shown in the second process flow 700 can be performed by the server to determine a model for satellite control grid prediction for all satellites in the constellation. Figure 6 Different from the first processing flow 600, Figure 6 The first process flow 600 indicates a process for estimating orbital parameter values for each control grid or satellite (e.g., one at a time), and the second process flow 700 may be performed to determine final orbital parameter values for all control grids or satellites of the satellite constellation (e.g., one at a time). Figure 7 That is, as described in further detail below, the second processing flow 700 illustrates a process similar in many respects to the process described above. Figure 6 The first processing flow 600 is a parameter estimation process.
[0056] As shown, the second process flow 700 may include obtaining data from the data source of the first process flow 600, including the TLE archive (for all satellites), as shown in box 705, and the parameter values of the coordinate rotation ECI to ECEF, as shown in box 710. The data may be sampled over a second time period T2, which may extend over the same time period as T1, but may be longer or shorter. In a preliminary implementation, T2 has been selected to be longer than T1. As an example, T1 may include the most recent 8 weeks, and T2 may include the most recent 24 weeks (including the 8 weeks of T1). Similar to the operation at box 615, in Figure 6 , the operation at block 715 includes preparing reference orbit data uniformly sampled in ECEF for period T2. As shown, this is done for all control grids or satellites. (The sampling rate may or may not be the same sampling rate as that used to prepare the samples for the first processing flow 600. It may be different)
[0057] Similar to the first process flow 600, the second process flow may include the use of seed values and an iterative estimation process that finds the best fit of orbital parameter values to the data obtained at block 715. However, here, the parameter values output by the first process flow 600 may be used as seed values for the operations shown in the second process flow 700. In particular, as shown at block 720, the output orbital parameters for each control grid of the satellite constellation from the first process flow 600 may be used as input.
[0058] The grouping of operations in the iterative process shown in block 725 may generally follow Figure 6 The iterative process shown in block 625 of is performed to find a set of orbital parameter values. Here, however, an iterative process is performed to find orbital parameter values that result in the best fit to the actual orbit data for period T2 (rather than T1), and the iterative process is performed for multiple satellites (e.g., all satellites in a satellite constellation), and in some embodiments, only adjustments to a subset of parameters are estimated (e.g., only the square root of the semi-major axis and the mean anomaly). This is accomplished by estimating corresponding adjustments to corresponding seed values for a subset of orbital parameters for each control grid / satellite to determine corresponding candidate orbital parameter values, as shown in block 727. These candidate orbital parameter values are then used to calculate candidate orbital paths, as shown in block 730. At block 735, the candidate orbital paths are then compared to the actual (reference) orbital paths prepared at block 715, and a residual indicating the difference between the candidate orbital paths and the actual orbital paths is calculated.
[0059] At block 740, the convergence of the cost function may be checked (e.g., whether the residual value of successive iterations has changed by more than a threshold). As shown, this may be done on all satellites / control grids. Figure 6In contrast to the functionality at block 640 of , the cost function and residual values in the operation shown at block 740 may be applied to the entire satellite grouping. If there is no convergence, the process of estimating orbital parameter values may be repeated with updated orbital parameter values, as shown in block 745. However, once the iterative process results in convergence, the candidate orbital parameter values in the most recent iteration may be used as the final orbital parameter values for the control grid / satellite. These values are the output of the second processing flow 700, as shown in block 750. These final orbital parameter values may be provided by the server to the UE to model satellite motion and accurately predict the positions of communication satellites (or more accurately, their respective control grids) for satellite-based communications.
[0060] The iterative process shown in the operational grouping in block 725 may be performed to further refine the values across a particular grouping. As shown in block 745, grouping constraints may be applied when adjusting the selected parameter values. Groups may be defined based on satellites that may have similar (or ideally the same) values for one or more parameters. For example, satellites may be grouped based on orbital planes, orbital shells, satellite constellations, or a combination thereof with respect to one or more parameters. Parameter value adjustments for the groupings may then be estimated, as shown in block 745, and an iterative process may be used to find the best fit parameter values for the entire grouping. In accordance with some embodiments, other (ungrouped) parameters may retain their original values determined in step 1 of the estimation process flow (e.g., Figure 6 ), or can be further adjusted as needed (e.g., on a per satellite / control grid basis). Figures 9 to 11 The example values shown in describe additional details about applying the grouping constraints.
[0061] Figure 8 8 is a flow chart of a method 800 that may be utilized by a mobile device to assist a user of the mobile device in orienting the mobile device for satellite-based communications using assistance data provided by a server, according to some embodiments. As previously described, the mobile device may include a mobile electronic device such as a mobile phone. Other types of mobile devices may include tablet computers, laptop computers, commercial or industrial mobile devices, personal media players, headphones or other wearable devices, and the like.
[0062] Method 800 may begin with a mobile device obtaining assistance data (as shown in block 805), a current time (block 810), and a current user location 815. Here, the assistance data may include orbital parameter values (e.g., as a parameter of a given orbital position) determined by a server via a data communication network (e.g., via the Internet, a cellular wireless network, and / or the like). Figure 7The 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 described above, using the techniques provided herein for determining orbital parameters of a control grid / satellite for a satellite-based communication system, these parameters may enable accurate predictions of the control grid / satellite for a year or more.
[0063] The current time obtained at block 810 may be used to predict the control grid / satellite by the mobile device. In this way, the current time may be substantially synchronized with the time used to determine the orbital parameter value to enable accurate prediction. According to some embodiments, the current time may be obtained by synchronizing the mobile device with the accurate time of the GNSS constellation using a GNSS receiver of the mobile device. In some embodiments, the current time of the mobile device, as maintained by the clock of the mobile device, may be sufficiently accurate to enable accurate prediction of the satellite position.
[0064] The user location obtained at block 815 may also be obtained in different ways. Likewise, 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 true location of the mobile device.
[0065] Using the assistance data obtained at blocks 805 and 810, respectively, and the current time, the mobile device may then calculate the satellite position of each satellite in the constellation of the satellite-based communication system, as shown at block 820. The orbital parameters may be used, for example, in a standard (e.g., Keplerian, equatorial, etc.) orbital model to determine (or predict) the satellite position at the current time.
[0066] The functions at block 825 include identifying one or more satellites visible to the user (or mobile device). Using the current satellite positions and the current user position, the mobile device can determine the relative position of each satellite 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 communications). For example, this determination can produce Figure 2 Similar data to the data shown in .
[0067] 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 the mobile device to engage in satellite-based communications with the satellites. Figure 3As 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 using 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, prompting the user to stop moving, and allowing the mobile device to communicate with the satellite as the satellite is oriented for communication.
[0068] According to some embodiments, the alignment of the mobile device may be repeated Figure 8 820, the identification of visible satellites at block 825, and the provision of pointing assistance at block 830 may be frequently refreshed (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 may prompt the alignment of the “guide” satellite to point to the location where the satellite is about to arrive to account for the time it may take the user to properly align the mobile device.
[0069] Figures 9 to 11 Example Keplerian orbit parameter values based on public information for the Iridium NEXT satellite constellation over a specific time period are shown. However, it may be noted that the techniques provided herein may be applied to other satellite constellations, particularly constellations of other satellite-based communication systems.
[0070] Fig. 9 is shown to perform a previously discussed Figure 6 Table of example Keplerian orbit parameter values generated by step 1 of the estimation process described in Figure 1. To avoid clutter, data from satellites in only two orbital planes (22 satellites) are shown. However, in practice, data from satellites in all six planes can be used. In this particular example, the time period (T1) to which the data corresponds is from November 6, 2020 to December 31, 2020, spanning 8 weeks of historical data.
[0071] As can be seen, the output includes the reference epoch time (e.g., the timestamp to which the orbital parameters are applied) and the values of the Kepler orbital parameters: the 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 for each satellite separately. Therefore, each satellite can have a unique set of Kepler orbital parameter values.
[0072] Fig.10 is to show the execution of the previous Figure 7Table of a first example set of Keplerian orbit parameter values generated by step 2 of the estimation process described, continued Fig. 9 Example values for generating Keplerian orbit parameter values for the Iridium NEXT satellite. Specifically, use Fig. 9 The Keplerian orbital parameter values in the table are obtained as seed values Fig.10 The values in , and the time period (T2) corresponding to the TLE data is from July 17, 2020 to December 31, 2020.
[0073] As described above, the satellites may be grouped in this way, and when determining adjustments to the values of the various parameters during step 2 of the estimation process, constraints may be applied on a per-group basis, such as Figure 7 The common parameter value of the group can be constant for the entire group. Fig.10 In the example of , for example, different orbital planes define different groups. (Similarly, Fig.10 Only two of the six orbital planes are shown in FIG. 1 ). Because the inclination angle and RAAN are common to the group, the common values can be applied to the entire group. Fig.10 As shown, for all satellites in each group (eg, each orbital plane), the value of the inclination in column 1010 and the value of the RAAN in column 1020 are the same.
[0074] As described above, according to some embodiments, the grouping of some parameters may be applied to a grouping that includes the entire constellation. The square root value of the semi-major axis may be the same for all satellites in the entire constellation. Fig.10 In the example shown, the square root value of the semi-major axis shown in column 1030 is the same for all satellites in the entire constellation.
[0075] Using these grouping constraints on the values in columns 1010, 1020, and 1030, step 2 of the estimation process flow can be used to determine the common values of the best fit for all satellites within the group (across the group). The values in column 1030 represent the values of the square root of the semi-major axis of all 66 satellites in the constellation that best fit for time T2. Similarly, the values in columns 1010 and 1020 represent the best fit for the corresponding values of inclination and RAAN on all satellites on a per orbital plane basis. The average anomaly value in column 1040 can be different from step 1 and can be unique for each satellite. And therefore, step two can further adjust these values for each satellite. (Because the mean anomaly describes the satellite position within the orbit, whereas the other Kepler orbit values generally describe the orbit itself, it may make sense to keep the mean anomaly as a "free" parameter, with its value selected on a per-satellite basis during step 2. That is, alternative embodiments may utilize additional or alternative Kepler parameter values as free parameters.) The other values (e.g., eccentricity, RAAN rate, and argument of perigee) do not have any grouping constraints and may retain their original values, as determined in step 1 of the estimation process (e.g., as Figure 6 ). Thus, in this example, step 2 estimates 79 parameter values: 66 values for the mean anomaly (for each satellite), 6 values for the inclination (for each orbital plane), 6 values for the RAAN (again, for each orbital plane), and a single value for the square root of the semimajor axis for all satellites.
[0076] It may be noted that the principles described herein with respect to a satellite-based communication constellation in a single shell may be extended to a satellite-based communication constellation having multiple shells. For example, different grouping constraints may be applied to different shells and / or different groupings within different shells (e.g., different orbital planes within a shell).
[0077] Fig.11 is a table showing a second example set of Keplerian orbit parameter values generated by performing step 2 of the estimation process flow. Fig.10 The Keplerian orbital parameter values for the same dataset and time period (T2) are given. However, here, the grouping is different. More specifically, there is no grouping based on each orbital plane. Instead, for the square root of the semi-major axis (similar to Fig.10 ), there is a single constellation-wide grouping resulting in a common value for all satellites in column 1110, and for each satellite an average anomaly value shown in column 1120 is estimated. Thus, step 2 of the estimation process flow in this example estimates 67 parameter values 66 values for the average anomaly (for each satellite), and a single value for the square root of the semi-major axis for all satellites. All other parameter values may remain the same as determined in step 1.
[0078] Fig.12 1200 is a flow chart of a method 1200 of facilitating pointing a mobile device at a satellite of a satellite constellation for satellite-based data communications. Means for performing the functions illustrated in one or more blocks illustrated in diagram 1200 may be performed by hardware and / or software components of a computer server as described herein. Example components of a computer server are described in Fig.14 , which is described in more detail below. In some embodiments, Fig.12 (as well as Figure 6 and / or Figure 7 ) may be performed by a mobile device.
[0079] At block 1210, the functionality includes obtaining historical orbital data indicating orbital movement of a set of satellites over a time period, the set of satellites including at least a subset of satellites of a satellite constellation. In some aspects, the functionality may correspond to, for example Figure 6 Thus, the time period may correspond to the operations at blocks 605, 610, 111, and 615. Figure 6 In some embodiments, obtaining historical orbit data includes calculating the satellite orbit path at a fixed sampling rate using archived TLE data for the satellite set during the time period. As described elsewhere herein, the satellite constellation may include a communication satellite constellation having satellites capable of communicating with ground equipment. Each satellite may be subject to station keeping and may correspond to a control grid.
[0080] The means for performing the functions at block 1210 may include, for example, bus 1305, processor(s) 1310, DSP 1320, wireless communication interface 1330, memory 1360, and / or other components of mobile device 1300, such as Fig.13 In addition or alternatively, the components for executing function block 1210 may include, for example, bus 1405, processor 1410, communication subsystem 1430 (optionally including wireless communication interface 1433), memory 1435 and / or other components of computer system 1400, such as Fig.14 As described in and discussed below.
[0081] At block 1220, the functionality includes, for each satellite in the set of satellites, estimating a set of orbital parameter values by fitting an orbital model to historical data for the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a grouping of satellites within the set of satellites. Figure 6 and Figure 7As described, satellite estimation may include a two-step estimation process in which an initial or preliminary set of orbital parameter values is determined and then used as a seed value for determining a final set of orbital parameter values, wherein one or more orbital parameter values are shared among a group of satellites. Thus, according to some embodiments of method 1200, fitting the set of orbital parameter values for each satellite may include: estimating a preliminary set of orbital parameter values in a first operation of fitting an orbital model to a first portion of the historical data spanning a first portion of the time period, and using the preliminary set of orbital parameter values as seed values in a second operation of fitting the orbital model to a second portion of the historical data, wherein the second portion of the historical data spans at least the first portion of the time period. In such an embodiment, at least one orbital parameter value that is common across the group of satellites may be determined by the second operation of fitting the orbital model to the second portion of the historical data. Additionally or alternatively, the historical data spanning the first portion of the time period may include: data for one or more steering events spanning each satellite in the group of satellites.
[0082] As described above, satellites that share orbital parameter values may be grouped in one or more different ways. Thus, the satellite groupings mentioned in block 1220 may include satellites in a common orbital plane, satellites in a common orbital shell, or all satellites of a satellite constellation, or a combination thereof.
[0083] Different types of orbital models may be used, and thus the type of orbital parameter values estimated may be determined. According to some embodiments, the orbital model comprises a Keplerian model, and the set of orbital parameter values comprises the square root of the semi-major axis, the eccentricity, the mean anomaly, the inclination, the RAAN, the RAAN rate, or the argument of perigee, or a combination thereof. According to some embodiments, the orbital model comprises an equatorial model, and the set of orbital parameter values comprises the semi-major axis, the components of the eccentricity vector in the equatorial reference frame, the components of the ascending node vector in the equatorial reference frame, or the mean longitude, or a combination thereof.
[0084] The means for performing the functions at block 1220 may include, for example, bus 1305, processor(s) 1310, DSP 1320, wireless communication interface 1330, memory 1360, and / or other components of mobile device 1300, such as Fig.13 In addition or alternatively, the components for executing function block 1220 may include, for example, bus 1405, processor 1410, communication subsystem 1430 (optionally including wireless communication interface 1433), memory 1435 and / or other components of computer system 1400, such as Fig.14 As described in and discussed below.
[0085] At block 1230, the functions include sending assistance data to at least one mobile device, the assistance data indicating a corresponding set of orbital parameter values for all satellites in the set of satellites. Figure 8 As described herein, this assistance data can be used by a mobile device to enable the mobile device to determine satellite positions and ultimately provide pointing assistance to a user of the mobile device to enable the mobile device to engage in satellite-based communications with satellites. Figure 6 and Figure 7 ) provide accurate long-term orbit models, so receiving mobile devices may be able to use the assistance data to determine the positions of satellites in the constellation over periods of months, a year, or longer.
[0086] The means for performing the functions at block 1230 may include, for example, bus 1305, processor(s) 1310, DSP 1320, wireless communication interface 1330, memory 1360, and / or other components of mobile device 1300, such as Fig.13 In addition or alternatively, the components for executing function block 1230 may include, for example, bus 1405, processor 1410, communication subsystem 1430 (optionally including wireless communication interface 1433), memory 1435 and / or other components of computer system 1400, such as Fig.14 As described in and discussed below.
[0087] Fig.13 is a block diagram of an embodiment of a mobile device 1300, which may be as described above (e.g., with Figure 1-Figure 12 For example, the mobile device 1300 may execute Figure 8 One or more functions of the method shown. It should be noted that Fig.13 It is intended only to provide a generalized description of the various components, any or all of which may be utilized as appropriate. It may be noted that in some cases, Fig.13 The components shown may be located in a single physical device and / or distributed among various networked devices that may be located at different physical locations. In addition, as previously mentioned, the functionality of the UE discussed in the previously described embodiments may be provided by Fig.13 One or more of the hardware and / or software components shown in FIG.
[0088] Mobile device 1300 is shown as including hardware elements that may be electrically coupled via bus 1305 (or may otherwise communicate as appropriate). The hardware elements may include processor(s) 1310, which may include (but are not limited to) one or more general purpose processors (e.g., application processors), one or more special purpose processors (e.g., digital signal processor (DSP) chips, graphics acceleration processors, application specific integrated circuits (ASICs), and / or the like), and / or other processing structures or components. Processor(s) 1310 may include one or more processing units that may be housed in a single integrated circuit (IC) or multiple ICs. Fig.13 As shown, some embodiments may have a separate DSP 1320, depending on the desired functionality. Position determination and / or other determinations based on wireless communications may be provided in the processor(s) 1310 and / or the wireless communication interface 1330 (discussed below). The mobile device 1300 may also include one or more input devices 1370, which may include (but are not limited to) one or more keyboards, touch screens, touch pads, microphones, buttons, dials, switches, and / or the like; and one or more output devices 1315, which may include (but are not limited to) one or more displays (e.g., touch screens), light emitting diodes (LEDs), speakers, and / or the like.
[0089] The mobile device 1300 may also include a wireless communication interface 1330, 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 (eg, Device, IEEE 802.11 device, IEEE802.15.4 device, Wi-Fi device, WiMAX device, WAN device and / or various cellular devices, etc.) and / or the like, which can enable the mobile device 1300 to communicate with other devices as described in the above embodiments. The wireless communication interface 1330 can allow the TRP of the network to communicate (e.g., send and receive) data and signaling, for example, via an 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 device communicatively coupled to the TRP, as described herein. Communication can be performed via one or more wireless communication antennas 1332 that send and / or receive wireless signals 1334. According to some embodiments, the (one or more) wireless communication antennas 1332 may include multiple discrete antennas, antenna arrays, or any combination thereof. The (one or more) antennas 1332 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 and corresponding digital and / or analog circuits. The wireless communication interface 1330 may include such circuits. Figure 3As shown, antenna(s) 1332 may also be used for satellite-based communications and may include a primary node that may be pointed toward a satellite for satellite-based communications, as described herein. According to some embodiments, the orientation of the primary node relative to the device body may be known / established by the device manufacturer.
[0090] Depending on the desired functionality, the wireless communication interface 1330 may include a separate receiver and transmitter, or any combination of transceivers, transmitters, and / or receivers to communicate with base stations (e.g., ng-eNBs and gNBs) and other ground transceivers (e.g., wireless devices and access points). The mobile device 1300 may communicate with different data networks that may include various network types. For example, a wireless wide area network (WWAN) may 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 (IEEE802.16) network, and the like. A CDMA network may implement one or more RATs, such as WCDMA, and the like. Including IS-95, IS-2000, and / or IS-856 standards. A TDMA network may implement GSM, a 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. They are described in documents from a consortium 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, and 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.
[0091] The mobile device 1300 may also include sensor(s) 1340(s). The sensors 1340 may include, but are not limited to, one or more inertial sensors and / or other sensors (e.g., accelerometer(s), gyroscope(s), camera(s), magnetometer(s), altimeter(s), microphone(s), proximity sensor(s), light sensor(s), barometer(s), etc.), some of which may be used to obtain location-related measurements and / or other information.
[0092] Embodiments of the mobile device 1300 may also include a GNSS receiver 1380 capable of receiving signals 1384 from one or more global navigation satellite system (GNSS) satellites using an antenna 1382 (which may be the same as the antenna 1332). Positioning based on GNSS signal measurements may be utilized to supplement and / or incorporate the techniques described herein. The GNSS receiver 1380 may extract the location of the mobile device 1300 from GNSS satellites of a GNSS system such as the Global Positioning System (GPS), Galileo, GLONASS, Japan's Quasi-Zenith Satellite System (QZSS), India's IRNSS, BeiDou Navigation Satellite System (BDS), etc. using conventional techniques. In addition, the GNSS receiver 1380 may be used with various augmentation systems, such as a satellite-based augmentation system (SBAS), which may be associated with or otherwise enabled for use with one or more global and / or regional navigation satellite systems, such as the Wide Area Augmentation System (WAAS), the European Geostationary Navigation Overlay Service (EGNOS), the Multifunction Satellite Augmentation System (MSAS), and / or the Geographic Augmentation Navigation System (GAGAN), and / or the like.
[0093] It can be noted that although the GNSS receiver 1380 Fig.13 1310, DSP 1320, and / or a processor within wireless communication interface 1330 (e.g., in a modem)). The GNSS receiver may also optionally include a positioning engine that may 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 (WLS), a shadow filter, a particle filter, or the like. The positioning engine may also be executed by one or more processors (e.g., (one or more) processors 1310 or DSP 1320).
[0094] The mobile device 1300 may also include and / or be in communication with memory 1360. The memory 1360 may include, but is not limited to, local and / or network accessible storage devices, 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, and / or the like. Such storage devices may be configured to implement any suitable data storage, including, but not limited to, various file systems, database structures, and / or the like.
[0095] The memory 1360 of the mobile device 1300 may also include software elements ( Fig.13 1300 (and / or the processor(s) 1310 or DSP 1320 within the mobile device 1300). In some embodiments, such code and / or instructions may 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.
[0096] Fig.14 1400, which may be used in whole or in part to provide one or more network components (eg, Figure 5 (one or more) data source 530 and / or server 520). It should be noted that Fig.14 It is intended only to provide a generalized description of the various components, any or all of which may be utilized as appropriate. Fig.14 It is broadly shown how the various system elements can be implemented in a relatively separate or relatively more integrated manner. In addition, it can be noted that Fig.14 The components shown may be localized to a single device and / or distributed among various networked devices that may be located at different geographical locations.
[0097] The computer system 1400 is shown to include hardware elements that may be electrically coupled via a bus 1405 (or may otherwise communicate as appropriate). The hardware elements may include processor(s) 1410, which may include, but are not limited to, one or more general purpose processors, one or more special purpose processors (e.g., digital signal processing chips, graphics acceleration processors, and / or the like), and / or other processing structures that may be configured to perform one or more of the methods described herein. The computer system 1400 may also include one or more input devices 1415, which may include, but are not limited to, a mouse, keyboard, camera, microphone, and / or the like; and one or more output devices 1420, which may include, but are not limited to, a display device, a printer, and / or the like.
[0098] The computer system 1400 may further include (and / or communicate with) one or more non-transitory storage devices 1425, which may include (but are not limited to) local and / or network accessible storage devices, 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, and / or the like. Such storage devices may be configured to implement any suitable data storage, including but not limited to various file systems, database structures, and / or the like. Such data storage may include (one or more) databases and / or other data structures for storing and managing messages and / or other information to be sent to one or more devices via the hub, as described herein.
[0099] The computer system 1400 may also include a communication subsystem 1430, which may include wireless communication technologies managed and controlled by a wireless communication interface 1433, as well as wired technologies (such as Ethernet, coaxial communication, universal serial bus (USB), etc.). The wireless communication interface 1433 may include one or more wireless transceivers, which may send and receive wireless signals 1455 (e.g., signals according to 5G NR or LTE) via (one or more) wireless antennas 1450. Therefore, the communication subsystem 1430 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 1400 to communicate with any device (including user equipment (UE), base station and / or other TRP and / or any other electronic device described herein) on any or all communication networks described herein. Therefore, the communication subsystem 1430 can be used to receive and send data, as described in the embodiments of this document.
[0100] In many embodiments, the computer system 1400 will further include a working memory 1435, which may include a RAM or ROM device, as described above. The software elements shown as being located within the working memory 1435 may include an operating system 1440, device drivers, executable libraries, and / or other code, such as one or more application programs 1445, 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 programs described with respect to the method(s) discussed above may be implemented as code and / or instructions executable by a computer (and / or a processor within a computer); in one aspect, then, 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.
[0101] The set of these instructions and / or codes may be stored on a non-transitory computer-readable storage medium (e.g., the storage device(s) 1425 described above). In some cases, the storage medium may be incorporated into a computer system (e.g., computer system 1400). 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 provided in an installation package so that the storage medium can be used to program, configure, and / or adapt a general-purpose computer having the instructions / code stored thereon. These instructions may take the form of executable code that can be executed by computer system 1400, and / or may take the form of source code and / or installable code that, after being compiled and / or installed on computer system 1400 (e.g., using any of a variety of commonly available compilers, installers, compression / decompression utilities, etc.), then takes the form of executable code.
[0102] It will be apparent to those skilled in the art that substantial variations may be made depending on specific requirements. For example, custom 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.
[0103] With reference to the accompanying drawings, the components that may include memory may include non-transitory 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 involve providing instructions / codes to a processor and / or (one or more) other devices for execution. Additionally or alternatively, machine-readable media may be used to store and / or carry such instructions / codes. In many embodiments, 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 box, or any other medium from which a computer can read instructions and / or codes.
[0104] The methods, systems and devices discussed herein are examples. Various embodiments may appropriately omit, replace or add various processes or components. 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 develops, and therefore many elements are examples that do not limit the scope of the present disclosure to those specific examples.
[0105] 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, digits, etc. It will be understood, however, that all of these or similar terms are associated with the appropriate physical quantities and are merely convenient labels. Unless otherwise specifically stated, as will be apparent from the above discussion, it will be understood that throughout this specification, discussions utilizing terms such as "processing," "computing," "calculating," "determining," "ascertaining," "identifying," "correlating," "measuring," "performing," etc. refer to the actions or processes of a specific apparatus, 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, which are typically represented as physical electronic, electrical, or magnetic quantities within a memory, register, or other information storage device, transmission device, or display device of the special purpose computer or similar special purpose electronic computing device.
[0106] The terms "and" and "or" as used herein may include multiple meanings, which are also expected to depend at least in part on the context in which the terms are used. Generally, "or", if used in an associative list, such as A, B, or C, is intended to mean A, B, and C (used here in an inclusive sense), as well as A, B, or C (used here in an exclusive sense). In addition, the term "one or more" as used herein may be used to describe any feature, structure, or characteristic in the singular, 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 claimed subject matter is not limited to this example. In addition, if used in an associative list (such as A, B, or C), the term "at least one of" may be interpreted to mean any combination of a, B, and / or C, such as A, AB, AA, AAB, AABBCCC, etc.
[0107] 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 merely components of a larger system, where other rules may take precedence over or otherwise modify the application of the various embodiments. In addition, multiple steps may be performed before, during, or after considering the above elements. Therefore, the above description does not limit the scope of the present disclosure.
[0108] In view of this description, embodiments may include different combinations of features. Implementation examples are described in the following numbered clauses:
[0109] Item 1: A method for facilitating pointing a mobile device to a satellite of a satellite constellation for satellite-based data communications, the method comprising: obtaining historical orbital data indicating orbital movement of a set of satellites over a time period, the set of satellites comprising at least a subset of satellites of the satellite constellation; for each satellite in the set of satellites, estimating a set of orbital parameter values by fitting an orbital model to the historical data for the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a grouping of satellites within the set of satellites; and sending assistance data to at least one mobile device, the assistance data indicating corresponding sets of orbital parameter values for all satellites in the set of satellites.
[0110] Clause 2: A method according to clause 1, wherein the set of orbital parameter values used to fit each satellite comprises: estimating a preliminary set of orbital parameter values in a first operation of fitting an orbital model to a first portion of historical data spanning a first portion of a time period; and using the set of preliminary orbital parameter values as seed values in a second operation of fitting the orbital model to a second portion of the historical data, wherein the second portion of the historical data spans at least the first portion of the time period.
[0111] Clause 3: A method according to clause 2, wherein the at least one orbital parameter value common across the group of satellites is determined by a second operation of fitting an orbital model to a second portion of the historical data.
[0112] Clause 4: The method of any of clauses 2-3, wherein the historical data spanning the first portion of the time period includes data for one or more steering events across each satellite in the set of satellites.
[0113] Clause 5: The method of any of clauses 1-4, wherein the satellite grouping comprises: satellites in a common orbital plane, satellites in a common orbital shell, or all satellites of a satellite constellation, or a combination thereof.
[0114] Clause 6: The method of any of clauses 1-5, wherein the orbit model comprises a Kepler model and the set of orbit parameter values comprises: the square root of the semi-major axis, eccentricity, mean anomaly, inclination, longitude of ascending node (RAAN), RAAN rate or argument of perigee or a combination thereof.
[0115] Clause 7: A method according to any one of clauses 1-6, wherein the orbit model includes an equatorial model and the set of orbit parameter values includes: the semi-major axis, the component of the eccentricity vector in the equatorial reference system, the component of the ascending node vector in the equatorial reference system, or the mean longitude, or a combination thereof.
[0116] Clause 8: The method of any of clauses 1-7, wherein obtaining historical orbit data comprises uniformly sampling archived two-row element (TLE) data for the set of satellites over the time period.
[0117] Clause 9: An apparatus for facilitating pointing a mobile device to a satellite of a satellite constellation for satellite-based data communications, the apparatus comprising: a transceiver; a memory; and one or more processors 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 set of satellites over a time period, the set of satellites comprising at least a subset of satellites of the satellite constellation; for each satellite in the set of satellites, estimate a set of orbital parameter values by fitting an orbital model to the historical data of the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a grouping of satellites within the set of satellites; and send assistance data to at least one mobile device, the assistance data indicating corresponding sets of orbital parameter values for all satellites in the set of satellites.
[0118] Clause 10: The apparatus of clause 9, wherein the apparatus comprises the mobile device or a computer server.
[0119] Clause 11: An apparatus according to any of clauses 9-10, wherein, in order to fit the set of orbital parameter values for each satellite, one or more processors are configured to estimate a preliminary set of orbital parameter values in a first operation of fitting the orbital model to a first portion of historical data spanning a first portion of a time period; and to use the set of preliminary orbital parameter values as seed values in a second operation of fitting the orbital model to a second portion of the historical data, wherein the second portion of the historical data spans at least the first portion of the time period.
[0120] Clause 12: The apparatus of clause 11, wherein the at least one orbital parameter value common across the grouping of satellites is determined by a second operation of fitting an orbital model to a second portion of the historical data.
[0121] Clause 13: The apparatus of any of clauses 11-12, wherein to obtain historical data spanning a first portion of the time period, the one or more processors are configured to obtain data for one or more steering events across each satellite in the set of satellites.
[0122] Clause 14: Apparatus according to any of clauses 9-13, wherein the grouping of satellites comprises: satellites in a common orbital plane, satellites in a common orbital shell, or all satellites of a satellite constellation, or a combination thereof.
[0123] Clause 15: An apparatus according to any one of clauses 9-14, wherein the orbital model comprises a Kepler model and the set of orbital parameter values comprises: the square root of the semi-major axis, the eccentricity, the mean anomaly, the inclination, the longitude of the ascending node (RAAN), the RAAN rate or the perigee angle or a combination thereof.
[0124] Clause 16: Apparatus according to any one of clauses 9-15, wherein the orbital model comprises an equatorial model and the set of orbital parameter values comprises: the semi-major axis, a component of the eccentricity vector in the equatorial reference frame, a component of the ascending node vector in the equatorial reference frame, or the mean longitude, or a combination thereof.
[0125] Clause 17: Apparatus according to any of clauses 9-16, wherein, to obtain the historical orbit data, the one or more processors are configured to uniformly sample archived two-line element (TLE) data for the set of satellites over the time period.
[0126] Clause 18: An apparatus for facilitating pointing a mobile device to a satellite of a satellite constellation for satellite-based data communications, the apparatus comprising: a component for obtaining historical orbital data indicating orbital movement of a set of satellites over a time period, the set of satellites comprising at least a subset of satellites of the satellite constellation; a component for estimating a set of orbital parameter values for each satellite in the set of satellites by fitting an orbital model to the historical data for the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a grouping of satellites within the set of satellites; and a component for sending assistance data to at least one mobile device, the assistance data indicating corresponding sets of orbital parameter values for all satellites in the set of satellites.
[0127] Clause 19: An apparatus according to clause 18, wherein the component for fitting the set of orbital parameter values for each satellite includes: a component for estimating a preliminary set of orbital parameter values in a first operation of fitting an orbital model to a first portion of historical data spanning a first portion of a time period; and a component for using the set of preliminary orbital parameter values as seed values in a second operation of fitting the orbital model to a second portion of the historical data, wherein the second portion of the historical data spans at least the first portion of the time period.
[0128] Clause 20: The apparatus of clause 19, wherein the at least one orbital parameter value common across the grouping of satellites is determined by a second operation of fitting an orbital model to a second portion of the historical data.
[0129] Clause 21: The apparatus of any of clauses 19-20, wherein the means for obtaining historical data spanning the first portion of the time period comprises means for obtaining data for one or more steering events spanning each satellite in the set of satellites.
[0130] Clause 22: The apparatus of any of clauses 18-21, wherein the grouping of satellites comprises: satellites in a common orbital plane, satellites in a common orbital shell, or all satellites of a satellite constellation, or a combination thereof.
[0131] Clause 23: An apparatus according to any of clauses 18-22, wherein the orbital model comprises a Kepler model, and the set of orbital parameter values comprises: the square root of the semi-major axis, the eccentricity, the mean anomaly, the inclination, the longitude of the ascending node (RAAN), the RAAN rate or the perigee angle or a combination thereof.
[0132] Clause 24: An apparatus according to any of clauses 18-23, wherein the orbit model includes an equatorial model, and the set of orbit parameter values includes: semi-major axis, components of the eccentricity vector in the equatorial reference frame, components of the ascending node vector in the equatorial reference frame, or mean longitude, or a combination thereof.
[0133] Clause 25: Apparatus according to any of clauses 18-24, wherein the means for obtaining historical orbit data comprises means for uniformly sampling archived two-row element (TLE) data for the set of satellites over the time period.
[0134] Clause 26: A non-transitory computer-readable medium storing instructions for facilitating pointing a mobile device at a satellite of a satellite constellation for satellite-based data communications, the instructions comprising code for: obtaining historical orbital data indicating orbital movement of a set of satellites over a time period, the set of satellites comprising at least a subset of satellites of the satellite constellation; for each satellite in the set of satellites, estimating a set of orbital parameter values by fitting an orbital model to the historical data for the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a grouping of satellites within the set of satellites; and sending assistance data to at least one mobile device, the assistance data indicating corresponding sets of orbital parameter values for all satellites in the set of satellites.
[0135] Clause 27: A computer-readable medium as described in clause 26, wherein the code for fitting the set of orbital parameter values for each satellite includes code for: estimating a preliminary set of orbital parameter values in a first operation of fitting an orbital model to a first portion of historical data spanning a first portion of a time period; and using the set of preliminary orbital parameter values as seed values in a second operation of fitting the orbital model to a second portion of the historical data, wherein the second portion of the historical data spans at least the first portion of the time period.
[0136] Clause 28: The computer readable medium of clause 27, wherein the at least one orbital parameter value common across the grouping of satellites is determined by a second operation of fitting an orbital model to a second portion of the historical data.
[0137] Clause 29: The computer-readable medium of any one of clauses 27-28, wherein the code for obtaining the historical data spanning the first portion of the time period comprises code for obtaining data for one or more steering events spanning each satellite in the set of satellites.
[0138] Clause 30: The computer-readable medium of any of clauses 26-29, wherein the code for obtaining historical orbit data comprises code for uniformly sampling archived two-row element (TLE) data for the set of satellites over the time period.
Claims
1. A method of facilitating pointing a mobile device toward a satellite of a satellite constellation for satellite-based data communications, the method comprising: obtaining historical orbital data indicative of orbital movement of a set of satellites over a time period, the set of satellites comprising at least a subset of satellites of the satellite constellation; for each satellite in the set of satellites, estimating a set of orbital parameter values by fitting an orbital model to historical data for the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a grouping of satellites in the set of satellites; as well as Assistance data is sent to at least one mobile device, the assistance data indicating a respective set of orbital parameter values for all satellites in the set of satellites.
2. The method according to claim 1, wherein: Fitting the set of orbital parameter values for each satellite comprises: estimating a preliminary set of orbit parameter values in a first operation of fitting the orbit model to a first portion of the historical data spanning a first portion of the time period; and The preliminary set of orbit parameter values is used as seed values in a second operation of fitting the orbit model to a second portion of the historical data, wherein the second portion of the historical data spans at least the first portion of the time period.
3. The method according to claim 2, wherein: At least one orbital parameter value common across the grouping of satellites is determined by the second operation of fitting the orbital model to the second portion of the historical data.
4. The method according to claim 2, wherein: The historical data spanning the first portion of the time period includes data spanning one or more steering events for each satellite in the set of satellites.
5. The method according to claim 1, wherein: The satellite grouping includes: Satellites in a common orbital plane Satellites in a common orbital shell, or all satellites of said satellite constellation, or Its combination.
6. The method according to claim 1, wherein: The orbital model comprises a Kepler model, and the set of orbital parameter values comprises: The square root of the semimajor axis, Eccentricity, The mean anomaly angle, inclination, Longitude of ascending node (RAAN), RAAN rate, or the argument of perigee, or Its combination.
7. The method according to claim 1, wherein: The orbit model comprises an equatorial model, and the set of orbit parameter values comprises: Semi-major axis, The components of the eccentricity vector in the equatorial reference frame, the components of the ascending node vector in the equatorial reference frame, or mean longitude, or Its combination.
8. The method according to claim 1, wherein: Obtaining the historical orbit data includes uniformly sampling archived two-row element (TLE) data for the set of satellites over the time period.
9. An apparatus for facilitating pointing of a mobile device toward a satellite of a satellite constellation for satellite-based data communications, the apparatus comprising: Transceiver; Memory; as well as one or more processors communicatively coupled to the transceiver and the memory, wherein the one or more processors are configured to: obtaining historical orbital data indicative of orbital movement of a set of satellites over a time period, the set of satellites comprising at least a subset of satellites of a satellite constellation; for each satellite in the set of satellites, estimating a set of orbital parameter values by fitting an orbital model to historical data for the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a grouping of satellites in the set of satellites; as well as Assistance data is sent to at least one mobile device, the assistance data indicating a respective set of orbital parameter values for all satellites in the set of satellites.
10. The device of claim 9, wherein the device comprises the mobile device or a computer server.
11. The device according to claim 9, wherein: To fit the set of orbital parameter values for each satellite, the one or more processors are configured to: estimating a preliminary set of orbit parameter values in a first operation of fitting the orbit model to a first portion of the historical data spanning a first portion of the time period; as well as The preliminary set of orbit parameter values is used as seed values in a second operation of fitting the orbit model to a second portion of the historical data, wherein the second portion of the historical data spans at least the first portion of the time period.
12. The device according to claim 11, wherein At least one orbital parameter value common across the grouping of satellites is determined by the second operation of fitting the orbital model to the second portion of the historical data.
13. The device according to claim 11, wherein: To obtain the historical data spanning the first portion of the time period, the one or more processors are configured to obtain data for one or more steering events across each satellite in the set of satellites.
14. The apparatus according to claim 9, wherein: The satellite grouping includes: Satellites in a common orbital plane Satellites in a common orbital shell, or all satellites of said satellite constellation, or Its combination.
15. The apparatus according to claim 9, wherein: The orbital model comprises a Kepler model, and the set of orbital parameter values comprises: The square root of the semimajor axis, Eccentricity, Mean anomaly, inclination, Longitude of ascending node (RAAN), RAAN rate, or the argument of perigee, or Its combination.
16. The apparatus according to claim 9, wherein: The orbit model comprises an equatorial model, and the set of orbit parameter values comprises: Semi-major axis, The components of the eccentricity vector in the equatorial reference frame, the components of the ascending node vector in the equatorial reference frame, or mean longitude, or Its combination.
17. The apparatus according to claim 9, wherein: To obtain the historical orbit data, the one or more processors are configured to uniformly sample archived two-line element (TLE) data of the set of satellites over the time period.
18. An apparatus for facilitating pointing of a mobile device toward a satellite of a satellite constellation for satellite-based data communications, the apparatus comprising: means for obtaining historical orbital data indicative of orbital movement of a set of satellites over a time period, the set of satellites comprising at least a subset of satellites of a satellite constellation; means for estimating a set of orbital parameter values for each satellite in the set of satellites by fitting an orbital model to historical data for the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a grouping of satellites within the set of satellites; as well as Means for transmitting assistance data to at least one mobile device, the assistance data indicating a respective set of orbital parameter values for all satellites in the set of satellites.
19. The device according to claim 18, wherein: The means for fitting the set of orbital parameter values for each satellite comprises: means for estimating a preliminary set of orbit parameter values in a first operation of fitting the orbit model to a first portion of the historical data spanning a first portion of the time period; and Means for using the preliminary set of orbit parameter values as seed values in a second operation of fitting the orbit model to a second portion of the historical data, wherein the second portion of the historical data spans at least the first portion of the time period.
20. The device according to claim 19, wherein At least one orbital parameter value common across the grouping of satellites is determined by the second operation of fitting the orbital model to the second portion of the historical data.
21. The device according to claim 19, wherein The means for obtaining the historical data spanning the first portion of the time period includes means for obtaining data for one or more steering events spanning each satellite in the set of satellites.
22. The device according to claim 18, wherein The satellite grouping includes: Satellites in a common orbital plane Satellites in a common orbital shell, or all satellites of said satellite constellation, or Its combination.
23. The device according to claim 18, wherein The orbital model comprises a Kepler model, and the set of orbital parameter values comprises: The square root of the semimajor axis, Eccentricity, The mean anomaly angle, inclination, Longitude of ascending node (RAAN), RAAN rate, or the argument of perigee, or Its combination.
24. The device according to claim 18, wherein The orbit model comprises an equatorial model, and the set of orbit parameter values comprises: Semi-major axis, The components of the eccentricity vector in the equatorial reference frame, the components of the ascending node vector in the equatorial reference frame, or mean longitude, or Its combination.
25. The apparatus of claim 18, wherein: The means for obtaining the historical orbit data comprises means for uniformly sampling archived two-row element (TLE) data for the set of satellites over the time period.
26. 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 historical orbital data indicative of orbital movement of a set of satellites over a time period, the set of satellites comprising at least a subset of satellites of a satellite constellation; For each satellite in the set of satellites, estimating a set of orbital parameter values by fitting an orbital model to historical data for the corresponding satellite, wherein at least one orbital parameter value in the set of orbital values is common across a grouping of satellites in the set of satellites; and Assistance data is sent to at least one mobile device, the assistance data indicating a respective set of orbital parameter values for all satellites in the set of satellites.
27. The computer-readable medium of claim 26, wherein: The code for fitting the set of orbital parameter values for each satellite includes code for: estimating a preliminary set of orbit parameter values in a first operation of fitting the orbit model to a first portion of the historical data spanning a first portion of the time period; as well as The preliminary set of orbit parameter values is used as seed values in a second operation of fitting the orbit model to a second portion of the historical data, wherein the second portion of the historical data spans at least the first portion of the time period.
28. The computer readable medium of claim 27, wherein: At least one orbital parameter value common across the grouping of satellites is determined by the second operation of fitting the orbital model to the second portion of the historical data.
29. The computer-readable medium of claim 27, wherein: The code for obtaining the historical data spanning the first portion of the time period includes code for obtaining data spanning one or more steering events for each satellite in the set of satellites.
30. The computer-readable medium of claim 26, wherein: The code for obtaining the historical orbit data includes code for uniformly sampling archived two-row element (TLE) data for the set of satellites over the time period.