Satellite visibility assessment methods, devices, equipment, storage media, and program products
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-30
- Publication Date
- 2026-08-14
AI Technical Summary
[0003]本申请的至少一个实施例提供一种卫星可见性判断方法、装置、设备、存储介质及程序产品,用于解决现有技术中卫星可见性判断准确性下降的问题
[0045]Compared with existing technologies, embodiments of this application provide a method, apparatus, device, storage medium, and program product for determining satellite visibility. The method includes: selecting multiple target satellite position data points within a first time period from multiple satellite position data points in a first satellite position dataset; wherein the first time period is determined based on the user's time; each satellite position data point includes a satellite identifier, an epoch time, and a satellite position; performing data interpolation processing on the multiple target satellite position data points according to a polynomial order to obtain a second satellite position dataset; wherein the polynomial order is related to the complexity of the multiple target satellite position data points; and obtaining a satellite visibility determination result corresponding to the user's time based on a satellite visibility prediction model, the user's location, and the satellite position corresponding to the user's time in the second satellite position dataset. Thus, multiple target satellite position data are determined based on the user time, and the polynomial order is determined based on the complexity of the multiple target satellite position data to achieve comprehensive data interpolation processing with adaptive step size and dynamic polynomial order adjustment, reducing the amount of computation. Based on the satellite position corresponding to the user time in the second satellite position data obtained by comprehensive data interpolation processing, the satellite visibility of the user time is determined, which can effectively improve the accuracy of satellite visibility determination.
Smart Images

Figure CN121232215B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of satellite positioning technology, specifically to a satellite visibility determination method, device, equipment, storage medium, and program product. Background Technology
[0002] Satellite visibility assessment is crucial in satellite communication, navigation, and positioning, especially in navigation, where its accuracy and reliability directly impact positioning precision and signal stability. A common vector method involves establishing a unified coordinate system, calculating the satellite's position and the observation point's position, then calculating the satellite's relative position vector with respect to the observation point, along with distance, elevation, and azimuth. A minimum elevation threshold is then set, and satellite visibility is determined by comparing the elevation angle to this threshold. However, this method is computationally inefficient in high-concurrency scenarios, and each satellite visibility assessment request requires repeated satellite-to-ground vector calculations, wasting computational resources. Furthermore, it ignores actual terrain and ground obstructions, such as in complex scenarios like urban canyons, areas with obstructions, or multipath effects, leading to decreased accuracy. Considering only the elevation threshold and neglecting signal quality also affects accuracy, resulting in numerous instances where satellites are actually unavailable, thus impacting positioning efficiency and precision. Summary of the Invention
[0003] At least one embodiment of this application provides a satellite visibility determination method, apparatus, device, storage medium, and program product to solve the problem of decreased accuracy in satellite visibility determination in the prior art.
[0004] To solve the above-mentioned technical problems, this application is implemented as follows:
[0005] In a first aspect, embodiments of this application provide a satellite visibility determination method, comprising:
[0006] From multiple satellite position data in the first satellite position dataset, multiple target satellite position data whose epoch times fall within a first time period are selected; wherein, the first time period is determined based on the user's time; each satellite position data includes a satellite identifier, epoch time, and satellite position;
[0007] Based on the polynomial order, the target satellite position data is interpolated to obtain a second satellite position dataset; wherein, the polynomial order is related to the complexity of the target satellite position data;
[0008] Based on the satellite visibility prediction model, the user's location, and the satellite location corresponding to the user's time in the second satellite location dataset, the satellite visibility judgment result corresponding to the user's time is obtained.
[0009] Optionally, the satellite visibility determination method further includes:
[0010] At the second time interval, satellite acceleration is obtained based on ephemeris data;
[0011] Based on the orbital propagation model, satellite motion-related force parameters, and the satellite acceleration, the satellite position at each epoch within the third time period is predicted; wherein the duration of the third time period is greater than the duration of the first time period.
[0012] Based on the satellite position at each epoch within the third time period, obtain at least one of the following: satellite position change rate, orbital curvature, satellite velocity change rate, and satellite acceleration magnitude at each epoch within the third time period.
[0013] Based on at least one of the following: the rate of change of satellite position, orbital curvature, rate of change of satellite velocity, and magnitude of satellite acceleration corresponding to each epoch time in the third time period, determine the epoch time range to be interpolated in the third time period;
[0014] The satellite position data within the third time period are interpolated according to the epoch time range to be interpolated to obtain the first satellite position dataset.
[0015] Optionally, in the satellite visibility determination method, after obtaining the first satellite position dataset, the method further includes:
[0016] Based on the request frequency type corresponding to the first satellite location dataset, the first satellite location dataset is stored in the corresponding memory.
[0017] Optionally, the satellite visibility determination method further includes:
[0018] The start time of the first time period is determined based on the epoch time position of the user time in the first satellite location dataset and the preset maximum polynomial order.
[0019] The end time of the first time period is determined based on the number of satellite position data included in the first satellite position dataset and the maximum polynomial order.
[0020] Optionally, the satellite visibility determination method further includes:
[0021] The complexity of obtaining multiple target satellite position data is determined based on the orbital curvature and satellite velocity change rate corresponding to each target satellite position data.
[0022] Based on the aforementioned complexity and polynomial order selection rules, the order of the fundamental polynomial is obtained;
[0023] The order of the basic polynomial is adjusted based on the preset minimum polynomial order and the number of target satellite position data to obtain the polynomial order.
[0024] Optionally, in the satellite visibility determination method, the target satellite position data is interpolated based on the polynomial order to obtain a second satellite position dataset, including:
[0025] The weight corresponding to each target satellite position data is obtained based on the distance between the user time and the epoch time in each target satellite position data.
[0026] Based on the weight and orbital curvature corresponding to each target satellite position data, a first number of target satellite position data are selected from the plurality of target satellite position data; wherein, the first number is related to the polynomial order;
[0027] Based on the polynomial order, the first number of target satellite position data are subjected to data interpolation to obtain the second satellite position dataset.
[0028] Optionally, the satellite visibility determination method, wherein obtaining the satellite visibility determination result corresponding to the user time based on the satellite visibility prediction model, the user location, and the satellite location corresponding to the user time in the second satellite location dataset, includes:
[0029] Extract the geometric features of the satellite position relative to the user position corresponding to the user time from the second satellite position dataset;
[0030] Based on the geometric features, the visibility judgment result of the first sub-satellite corresponding to the user time is obtained;
[0031] Based on the satellite visibility prediction model, the user location, the geometric features, the user time, and the environmental data corresponding to the user location, the visibility judgment result of the second sub-satellite corresponding to the user time is obtained;
[0032] Based on the visibility judgment results of the first sub-satellite and the second sub-satellite, the satellite visibility judgment result corresponding to the user time is obtained.
[0033] Optionally, in the satellite visibility determination method, after obtaining the satellite visibility determination result, the method further includes:
[0034] If the input data for the user requesting satellite visibility determination includes real-time positioning data, then visible satellite information is generated based on the satellite visibility determination result;
[0035] If the input data includes the real-time positioning data and ephemeris data, then the visible satellite information is generated based on the satellite visibility judgment result, and the ephemeris data of invisible satellites in the ephemeris data is deleted;
[0036] If the input data includes observation data, then based on the satellite visibility judgment result, the observation data of invisible satellites in the observation data will be deleted;
[0037] If the input data includes differential data, then based on the satellite visibility determination result, the differential data of invisible satellites in the differential data will be deleted.
[0038] Secondly, embodiments of this application also provide a satellite visibility determination device, comprising:
[0039] The selection module is used to select multiple target satellite position data points whose epoch times fall within a first time period from multiple satellite position data points in a first satellite position dataset; wherein the first time period is determined based on the user's time; each satellite position data point includes a satellite identifier, an epoch time, and a satellite position;
[0040] The processing module is used to perform data interpolation processing on the multiple target satellite position data according to the polynomial order to obtain a second satellite position dataset; wherein, the polynomial order is related to the complexity of the multiple target satellite position data;
[0041] The judgment module is used to obtain the satellite visibility judgment result corresponding to the user time based on the satellite visibility prediction model, the user location, and the satellite location corresponding to the user time in the second satellite location dataset.
[0042] Thirdly, embodiments of this application also provide a satellite visibility determination device, including: a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the processor executes the program or instructions to implement the satellite visibility determination method as described in the first aspect.
[0043] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the satellite visibility determination method as described in the first aspect.
[0044] Fifthly, embodiments of this application also provide a computer program product, including computer instructions, which, when executed by a processor, implement the satellite visibility determination method as described in the first aspect.
[0045] Compared with existing technologies, embodiments of this application provide a method, apparatus, device, storage medium, and program product for determining satellite visibility. The method includes: selecting multiple target satellite position data points within a first time period from multiple satellite position data points in a first satellite position dataset; wherein the first time period is determined based on the user's time; each satellite position data point includes a satellite identifier, an epoch time, and a satellite position; performing data interpolation processing on the multiple target satellite position data points according to a polynomial order to obtain a second satellite position dataset; wherein the polynomial order is related to the complexity of the multiple target satellite position data points; and obtaining a satellite visibility determination result corresponding to the user's time based on a satellite visibility prediction model, the user's location, and the satellite position corresponding to the user's time in the second satellite position dataset. Thus, multiple target satellite position data are determined based on the user time, and the polynomial order is determined based on the complexity of the multiple target satellite position data to achieve comprehensive data interpolation processing with adaptive step size and dynamic polynomial order adjustment, reducing the amount of computation. Based on the satellite position corresponding to the user time in the second satellite position data obtained by comprehensive data interpolation processing, the satellite visibility of the user time is determined, which can effectively improve the accuracy of satellite visibility determination. Attached Figure Description
[0046] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0047] Figure 1 This is a flowchart illustrating the satellite visibility determination method described in an embodiment of this application;
[0048] Figure 2 This is a schematic diagram of the architecture of the satellite visibility determination system described in the embodiments of this application;
[0049] Figure 3 This is a block diagram of the satellite visibility determination device described in the embodiments of this application;
[0050] Figure 4 This is a hardware block diagram of the satellite visibility determination device described in the embodiments of this application. Detailed Implementation
[0051] The terms "first," "second," etc., used in this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, without limiting the number of objects; for example, the first object can be one or more. Furthermore, "or" in this application indicates at least one of the connected objects. For example, "A or B" covers three scenarios: Scenario 1: including A but not B; Scenario 2: including B but not A; Scenario 3: including both A and B. The character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0052] Please refer to Figure 1 This application provides a satellite visibility determination method, including:
[0053] Step 101: Select multiple target satellite position data points whose epoch times are within a first time period from multiple satellite position data points in the first satellite position dataset; wherein, the first time period is determined based on the user's time; each satellite position data point includes a satellite identifier, an epoch time, and a satellite position;
[0054] It should be noted that step 101 can be triggered when a user requests a satellite visibility determination, for example, when the user's input data is obtained, or when the user's satellite visibility determination request is obtained, and the satellite visibility determination request includes the input data.
[0055] The input data is adapted to different scenarios, including one of the following:
[0056] First item: Real-time location data;
[0057] The second item: Real-time positioning data and ephemeris data;
[0058] The third item: observation data (i.e., the raw observation data of the base station) or differential data (differential data of grid points).
[0059] By parsing the input data, the user time and user location can be obtained. The user time is the time when the user requests satellite visibility assessment, and the user location includes the latitude and longitude coordinates of the user or user equipment.
[0060] Specifically, if the input data includes real-time positioning data (GGA data), it is parsed according to the GGA data format in the NMEA protocol to extract the user time, the user location, and elevation information.
[0061] If the input data includes real-time positioning data and ephemeris data, it is first parsed according to the GGA data format in the NMEA (National Marine Electronics Association) protocol to extract the user time, user location, and elevation information. Then, the format of the ephemeris data is determined. If the ephemeris data format conforms to the RTCM (Radio Technical Commission for Maritime Services) protocol, the ephemeris data is decoded according to the RTCM protocol and cached according to the satellite identifier. If the ephemeris data format conforms to the RINEX (Receiver Independent Exchange Format) protocol, the data of each satellite in each constellation is parsed and cached according to the navigation data format in the RINEX protocol.
[0062] If the input data includes raw observation data or differential data, the raw observation data is decoded to obtain the observation data and ephemeris data, and the differential data and ephemeris data are cached in chronological order.
[0063] In this embodiment, the first satellite position dataset is acquired in advance before the input data for the user requesting satellite visibility determination is obtained. Thus, upon receiving the input data for the user requesting satellite visibility determination, multiple target satellite position data points within a first time period can be directly selected from the first satellite position dataset. Since the first time period is determined based on the user's time, the multiple target satellite position data points are generated to adapt to the user's time. Subsequently, data interpolation processing can be performed based on the multiple target satellite position data points in subsequent step 102. This embodiment enables adaptive step-size interpolation.
[0064] In one embodiment, optionally, before step 101 above, the method further includes:
[0065] At the second time interval, satellite acceleration is obtained based on ephemeris data;
[0066] Based on the orbital propagation model, satellite motion-related force parameters, and the satellite acceleration, the satellite position at each epoch within the third time period is predicted; wherein the duration of the third time period is greater than the duration of the first time period.
[0067] Based on the satellite position at each epoch within the third time period, obtain at least one of the following: satellite position change rate, orbital curvature, satellite velocity change rate, and satellite acceleration magnitude at each epoch within the third time period.
[0068] The range of epochs to be interpolated within the third time period is determined based on at least one of the satellite position change rate, orbital curvature, and satellite velocity change rate corresponding to each epoch time within the third time period.
[0069] The satellite position data within the third time period are interpolated according to the epoch time range to be interpolated to obtain the first satellite position dataset.
[0070] This application embodiment employs a satellite pre-calculation mechanism. Before obtaining the input data requesting satellite visibility determination from the user, it is necessary to pre-calculate the satellite positions to obtain the first satellite position dataset. It is understood that the first satellite position dataset is obtained before step 101. Here, the first satellite position dataset is explained:
[0071] The first satellite position dataset is essentially a dictionary variable (represented by sat_map) used to store satellite position data. This dictionary variable uses satellite identifiers as keys and stores a circular list consisting of a time list (represented by time_list) and a position list (represented by position_list). The time list stores epoch information and is a circular linked list with a total length of two hours (different periods are set according to the ephemeris update time of different constellations) and an interval of 30 seconds. The time list is a circular linked list, and the position list is a circular linked list that matches the time list and is used to store satellite positions.
[0072] In this embodiment, a specific process for obtaining the first satellite position dataset in step 101 is provided:
[0073] First, at every second time interval, precise ephemeris data is downloaded from the IGS data center. This ephemeris data is for a future third time interval and can be in SP3 format. The ephemeris data is preprocessed, including detecting its continuity and removing outliers. Then, the ephemeris data is parsed to obtain epoch time, satellite position, and clock bias information. Finally, based on the parsed epoch time, satellite position, and clock bias information, the satellite velocity and acceleration are calculated using numerical differentiation.
[0074] Next, the satellite motion-related force parameters and the orbital numerical integrator are initialized. These parameters include at least one of the following: Earth's gravity parameters, gravitational acceleration, J2 perturbation acceleration, solar radiation pressure perturbation acceleration, and atmospheric drag acceleration. The satellite motion-related force parameters and the satellite acceleration calculated from ephemeris data are input into the orbital numerical integrator as the initial state. The integration time can be 30 seconds to establish the motion equations and calculate the total acceleration. Based on this total acceleration and the orbital propagation model, the satellite position at each epoch within the third time period is predicted.
[0075] Predicting the satellite position at each epoch in the third time period can be understood as iterating through the time list to obtain the corresponding position list, and storing the combined data (value) of the time list and position list as a defined dictionary variable, using the satellite identifier as the key.
[0076] Furthermore, for the satellite position at each epoch within the aforementioned third time period, at least one of the following is obtained: the rate of change of satellite position, orbital curvature, rate of change of satellite velocity, and magnitude of satellite acceleration at each epoch, and the dynamic index shown in the following formula (1) is calculated:
[0077] dynamic_index=w1*position_rate+w2*velocity_rate+w3*acceleration+w4*cu rvature(1);
[0078] Wherein, dynamic_index represents the dynamic index; position_rate represents the rate of change of satellite position; w1 represents the weight corresponding to the rate of change of satellite position; acceleration represents the orbital curvature; w2 represents the weight corresponding to the orbital curvature; velocity_rate represents the rate of change of satellite velocity; w3 represents the weight corresponding to the rate of change of satellite velocity; acceleration represents the magnitude of satellite acceleration; w4 represents the weight corresponding to the magnitude of satellite acceleration; w1+w2+w3+w4=1, and each weight is related to the orbital type.
[0079] If the aforementioned dynamic indicator is greater than the preset indicator threshold, then the time range [t-1, t+1] between the previous epoch and the next epoch corresponding to the target epoch time t is determined as the epoch time range to be interpolated within the third time period.
[0080] All satellite position data within the epoch time range to be interpolated need to be interpolated. The interpolated satellite position data is then inserted into the existing satellite position data of the third time period according to the epoch time to obtain the first satellite position dataset.
[0081] Preferably, data interpolation is performed when the step size of the epoch time range to be interpolated is greater than twice the minimum step size. It is understood that if the step size of the epoch time range to be interpolated is not greater than the minimum step size, data interpolation cannot be performed.
[0082] It should be noted that when the aforementioned dynamic indicator exceeds the preset threshold, the corresponding satellite position is near its perigee. In this case, the satellite's speed is high, its acceleration is large, and its orbital curvature changes drastically, resulting in a drastic change in its position; therefore, data interpolation is required. Conversely, when the aforementioned dynamic indicator is less than or equal to the preset threshold, the corresponding satellite position is near its apogee. In this case, the satellite's speed is slow, its acceleration is small, and its orbital curvature changes gently, resulting in a gentle change in its position; therefore, data interpolation is not required.
[0083] Here, satellite speed is measured using the rate of change of satellite speed described above, where a fast satellite speed means a large rate of change of satellite speed, and a slow satellite speed means a small rate of change of satellite speed. Satellite acceleration is measured using the magnitude of satellite acceleration described above. Dramatic or slow changes in orbital curvature are measured using the magnitude of changes in orbital curvature described above, where a dramatic change in orbital curvature means that the orbital curvature changes from small to large or from large to small in a short period of time; a slow change in orbital curvature means that the orbital curvature changes from small to large or from large to small over a long period of time. Simply put, a dramatic change in orbital curvature means a large change in orbital curvature, and a slow change in orbital curvature means a small change in orbital curvature. Dramatic or slow changes in satellite position are measured using the rate of change of satellite position described above.
[0084] Therefore, the first satellite position dataset is a non-uniform satellite position dataset. In order to improve the computational efficiency and accuracy of the data interpolation processing in the subsequent step 102, this embodiment of the application adopts an adaptive epoch density adjustment mechanism when generating the first satellite position dataset. The data interpolation processing is performed according to the distance of the satellite from the satellite orbit, and the satellite position data corresponding to the epoch time is added to achieve adaptive epoch density adjustment.
[0085] In one embodiment, optionally, after obtaining the first satellite location dataset, the method further includes:
[0086] Based on the request frequency type corresponding to the first satellite location dataset, the first satellite location dataset is stored in the corresponding memory.
[0087] It should be noted that the requested frequency types include hotspot time types and non-hotspot time types. The epoch time range with a high frequency of user requests for satellite visibility is called the hotspot time type; the epoch time range with a low frequency of user requests for satellite visibility is called the non-hotspot time type. The degree of frequency can be determined empirically and is not limited here.
[0088] Here, if the request frequency type corresponding to the epoch time range of the first satellite location dataset is a hotspot time type, then the first satellite location dataset is stored in memory, thereby improving access speed. If the request frequency type corresponding to the epoch time range of the first satellite location dataset is a non-hotspot time type, then the first satellite location dataset is stored in fast storage, thereby reducing storage costs.
[0089] Therefore, this application embodiment implements hierarchical storage for the first satellite location dataset, reducing storage requirements, improving access speed, and reducing redundant calculations.
[0090] In one embodiment, optionally, before step 101 above, the method further includes:
[0091] The start time of the first time period is determined based on the epoch time position of the user time in the first satellite location dataset and the preset maximum polynomial order.
[0092] The end time of the first time period is determined based on the number of satellite position data included in the first satellite position dataset and the maximum polynomial order.
[0093] In this embodiment, the method for determining the first time period is explained:
[0094] First, set the minimum step size (denoted by min_step), the minimum polynomial order (denoted by min_order), and the maximum polynomial order (denoted by max_order). Then, determine the epoch time position (denoted by idx) of the user's time within the first satellite location dataset.
[0095] Then, the start time of the first time period is determined to be the epoch time corresponding to the larger value between 0 and idx-max_order / 2 (i.e., the epoch time position minus half of the maximum polynomial order); and the end time of the first time period is determined to be the epoch time corresponding to the smaller value between the satellite position data included in the first satellite position dataset and start_pos+max_order (i.e., the sum of the minimum polynomial order and the maximum polynomial order).
[0096] Step 102: Based on the polynomial order, perform data interpolation on the multiple target satellite position data to obtain a second satellite position dataset; wherein, the polynomial order is related to the complexity of the multiple target satellite position data; the second satellite position dataset includes the satellite position corresponding to the user time;
[0097] In this embodiment, polynomial interpolation is used to interpolate the position data of multiple target satellites based on the polynomial order, thereby obtaining a second satellite position dataset. Since the polynomial order is related to the complexity of the multiple target satellite position data, and the complexity of the multiple target satellite position data changes with epoch time, the polynomial order is dynamic. Therefore, this embodiment can implement dynamic order interpolation.
[0098] Here, the polynomial interpolation method includes the Lagrange polynomial interpolation method.
[0099] Combining steps 101 and 102 above, the embodiments of this application can achieve integrated data interpolation processing with adaptive step size and dynamic order.
[0100] In one embodiment, optionally, before step 102 above, the method further includes:
[0101] The complexity of obtaining multiple target satellite position data is determined based on the orbital curvature and satellite velocity change rate corresponding to each target satellite position data.
[0102] Based on the aforementioned complexity and polynomial order selection rules, the order of the fundamental polynomial is obtained;
[0103] The order of the basic polynomial is adjusted based on the preset minimum polynomial order and the number of target satellite position data to obtain the polynomial order.
[0104] In this embodiment, the method for obtaining the order of the fundamental polynomial will first be explained:
[0105] For each historical data point of the target satellite, the orbital curvature and satellite velocity change rate corresponding to the historical data of the target satellite are calculated. Next, based on the orbital curvature and satellite velocity change rate corresponding to each historical data point of the target satellite, the average value of the orbital curvature, the standard deviation of the orbital curvature, the average value of the satellite velocity change rate, and the standard deviation of the satellite velocity change rate corresponding to multiple historical data points of the target satellite are calculated. The average value of the orbital curvature, the standard deviation of the orbital curvature, the average value of the satellite velocity change rate, and the standard deviation of the satellite velocity change rate are then summed to obtain the complexity of the position data of multiple target satellites.
[0106] Based on the aforementioned complexity and polynomial order selection rules, the order of the fundamental polynomial is obtained. These rules indicate the order of the fundamental polynomial corresponding to different complexities. Confidently, the order of the fundamental polynomial includes one of the following three cases:
[0107] Case 1: If the complexity is less than 0.1, the value range of the order of the basic polynomial is [1,4]. Preferably, the value of the order of the basic polynomial is 3. In this case, the orbit type corresponding to the multiple target satellite position data is a simple orbit type.
[0108] Case 2: If the complexity is greater than or equal to 0.1 and less than or equal to 0.5, then the value of the order of the fundamental polynomial includes 5 or 6. Preferably, the value of the order of the fundamental polynomial is 5. In this case, the orbit type corresponding to the multiple target satellite position data is a medium orbit type.
[0109] Case 3: If the complexity is greater than 0.5, the value range of the order of the fundamental polynomial is [7,9]. Preferably, the value of the order of the fundamental polynomial is 9. In this case, the orbit type corresponding to the multiple target satellite position data is a complex orbit type.
[0110] Next, in this embodiment, the method for obtaining the polynomial order will be explained:
[0111] Adjusting the order of the fundamental polynomial to obtain the polynomial order includes the following adjustment steps:
[0112] Adjustment Step 1: Fine-tune the order of the fundamental polynomial. If the satellite positions in the multiple target satellite position data are close to the edge of a simple orbit or the edge of a complex orbit, reduce the order of the fundamental polynomial. Preferably, reduce the order of the fundamental polynomial by 2 to obtain the first polynomial order, so as to avoid Runge phenomenon.
[0113] Adjustment step two: Take the smaller value between the first polynomial order and the number of multiple target satellite position data as the second polynomial order;
[0114] Adjustment Step 3: Take the larger value between the second polynomial order and the preset minimum polynomial order as the third polynomial order (represented by optimal_order);
[0115] Adjustment step four: If the order of the third polynomial is greater than 5, Runge phenomenon detection is performed. If Runge phenomenon detection occurs, the smaller value between the order of the minimum polynomial and optimal_order-2 (i.e., the order of the third polynomial minus 2) is taken as the order of the fourth polynomial.
[0116] The order of the third or fourth polynomial is used as the final polynomial order. It is understood that this polynomial order is dynamically adjusted; therefore, this embodiment implements data interpolation for dynamic order adjustment.
[0117] In one implementation, optionally, the target satellite position data is interpolated according to the polynomial order to obtain a second satellite position dataset, including:
[0118] The weight corresponding to each target satellite position data is obtained based on the distance between the user time and the epoch time in each target satellite position data.
[0119] Based on the weight and orbital curvature corresponding to each target satellite position data, a first number of target satellite position data are selected from the plurality of target satellite position data; wherein, the first number is related to the polynomial order;
[0120] Based on the polynomial order, the first number of target satellite position data are subjected to data interpolation to obtain the second satellite position dataset.
[0121] It should be noted that the smaller the distance between the user's time and the epoch time in the target satellite position data, the greater the weight of the target satellite position data; the smaller the orbital curvature of the target satellite position data, the greater the weight of the target satellite position data. Conversely, the larger the distance, the smaller the weight of the target satellite position data.
[0122] Based on the weight and orbital curvature corresponding to each target satellite position data, the selection rule for selecting a first number of target satellite position data from multiple target satellite position data is: target satellite position data with greater weight are selected first.
[0123] Preferably, the first quantity is equal to the order of the polynomial plus 1.
[0124] Step 103: For each satellite position data in the second satellite position dataset, obtain the satellite visibility judgment result based on the satellite visibility prediction model and the user's location.
[0125] In one implementation, optionally, the satellite visibility judgment result corresponding to the user time is obtained based on the satellite visibility prediction model, the user location, and the satellite location corresponding to the user time in the second satellite location dataset, including:
[0126] Obtain the geometric features of the satellite position relative to the user position corresponding to the user time in the second satellite position dataset;
[0127] Based on the geometric features, the visibility judgment result of the first sub-satellite corresponding to the user time is obtained;
[0128] Based on the satellite visibility prediction model, the user location, the geometric features, the user time, and the environmental data corresponding to the user location, the visibility judgment result of the second sub-satellite corresponding to the user time is obtained;
[0129] Based on the visibility judgment results of the first sub-satellite and the second sub-satellite, the satellite visibility judgment result corresponding to the user time is obtained.
[0130] The geometric features of the satellite position corresponding to the user time in the second satellite position dataset relative to the user position include azimuth, elevation, and distance.
[0131] It is understandable that in order to obtain the geometric features of the satellite position relative to the user position corresponding to the user time in the second satellite position dataset, it is necessary to transform the satellite position and the user position into a unified coordinate system framework.
[0132] In one implementation, optionally, obtaining the geometric features of the satellite position relative to the user position corresponding to the user time in the second satellite position dataset includes:
[0133] The user's location and the satellite location corresponding to the user's time in the second satellite location data are both converted to a preset coordinate system frame to obtain the satellite location and the user's location after coordinate conversion.
[0134] Calculate the azimuth, elevation, and distance of the satellite position relative to the user position after coordinate transformation to obtain the geometric characteristics of the satellite position relative to the user position in the satellite position data.
[0135] In one implementation, optionally, obtaining the visibility judgment result of the first sub-satellite corresponding to the user time based on the geometric features includes:
[0136] Based on the preset model and the geometric features, the visibility judgment result of the first sub-satellite corresponding to the user time is obtained; wherein, the preset model is used to indicate that when the elevation angle in the geometric features is less than a preset elevation angle threshold, the visibility judgment result of the first sub-satellite is that the satellite is not visible.
[0137] Here, the visibility judgment result of the first sub-satellite includes two values, 0 or 1. When the visibility judgment result of the first sub-satellite is 0, it means that the satellite is not visible. When the visibility judgment result of the first sub-satellite is 1, it means that the satellite is visible.
[0138] It is understood that, since the preset model is used to indicate the judgment method or rule of the visibility judgment result of the first sub-satellite, the preset model is an empirical model.
[0139] In one implementation, optionally, the visibility judgment result of the second sub-satellite corresponding to the user time is obtained based on the satellite visibility prediction model, the user location, the geometric features, the user time, and the environmental data corresponding to the user location, including:
[0140] The geometric features to be judged are obtained based on the user location and the geometric features, the time features to be judged are obtained based on the user time, and the environmental features to be judged are obtained based on the environmental data corresponding to the user location.
[0141] Based on the geometric features, temporal features, and environmental features to be judged, a combined feature is obtained;
[0142] The combined features are input into the satellite visibility prediction model, and the satellite visibility probability result is output.
[0143] Based on the satellite visibility probability results, the visibility judgment result of the second sub-satellite corresponding to the user time is obtained.
[0144] In this embodiment, the following three points are explained:
[0145] First point: The geometric features, time features, environmental features, and combined features to be judged are all in vector form.
[0146] Optionally, the environmental data corresponding to the user's location includes at least one of building data, vegetation data, terrain data, and obstacle data along the satellite line of sight; wherein, the building data includes at least one of building density within a specified radius, average building height, and variance of building orientation; the vegetation data includes at least one of vegetation density within a specified radius and average vegetation height; the terrain data includes at least one of elevation data and terrain relief index within the region; and the obstacle data along the satellite line of sight includes at least one of the number of buildings, building height, and vegetation density along the satellite and user line of sight.
[0147] Therefore, the environmental features include at least one of building features, vegetation features, terrain features, and obstacle features along the satellite line of sight.
[0148] Secondly, the satellite visibility prediction model is a machine learning model that is pre-trained.
[0149] The satellite visibility prediction model and the aforementioned preset model can perform satellite visibility determination in parallel.
[0150] It should be noted that after obtaining the visibility judgment result of the second sub-satellite each time using the satellite visibility prediction model, the visibility judgment result of the second sub-satellite and the corresponding combined features can be returned to the training dataset to participate in subsequent model training, thereby achieving the purpose of incremental training and improving the accuracy of the model.
[0151] Thirdly: The value range of the satellite visibility probability result is from 0 to 1.
[0152] The visibility determination result of the second sub-satellite includes two values, 0 or 1. When the visibility determination result of the second sub-satellite is 0, it means that the satellite is not visible. When the visibility determination result of the second sub-satellite is 1, it means that the satellite is visible.
[0153] If the satellite visibility probability result is greater than 0.5, the second sub-satellite visibility judgment result is 1, indicating that the satellite is visible; if the satellite visibility probability result is less than or equal to 0.5, the second sub-satellite visibility judgment result is 0, indicating that the satellite is not visible.
[0154] In one implementation, optionally, obtaining the satellite visibility assessment result corresponding to the user time based on the visibility assessment result of the first sub-satellite and the visibility assessment result of the second sub-satellite includes:
[0155] Based on the visibility judgment result of the first sub-satellite and its corresponding weight, the visibility judgment result of the second sub-satellite and its corresponding value, the satellite visibility judgment result corresponding to the user time is obtained.
[0156] Here, the satellite visibility judgment result includes two values, 0 or 1, wherein a value of 0 indicates that the satellite is not visible, and a value of 1 indicates that the satellite is visible.
[0157] Specifically, the satellite visibility assessment result is obtained using the following formula (2):
[0158] sat_visibility=w1*visibility+w2*visibility_ml(2);
[0159] Wherein, sat_visibility represents the satellite visibility judgment result; visibility represents the first sub-satellite visibility judgment result; w1 represents the weight corresponding to the first sub-satellite visibility judgment result; visibility_ml represents the second sub-satellite visibility judgment result; and w2 represents the weight corresponding to the second sub-satellite visibility judgment result.
[0160] This application embodiment obtains the visibility judgment result of a first sub-satellite based on an empirical model, and the visibility judgment result of a second sub-satellite based on a machine learning model. The final satellite visibility judgment result is obtained by combining the first and second sub-satellite visibility judgment results. Therefore, this application embodiment can achieve intelligent determination of satellite visibility, improve the accuracy of satellite visibility judgment, and adapt to satellite visibility judgment in complex scenarios.
[0161] In one embodiment, optionally, after obtaining the satellite visibility assessment result, the method further includes:
[0162] If the input data for the user requesting satellite visibility determination includes real-time positioning data, then visible satellite information is generated based on the satellite visibility determination result;
[0163] If the input data includes the real-time positioning data and ephemeris data, then the visible satellite information is generated based on the satellite visibility judgment result, and the ephemeris data of invisible satellites in the ephemeris data is deleted;
[0164] If the input data includes observation data, then based on the satellite visibility judgment result, the observation data of invisible satellites in the observation data will be deleted;
[0165] If the input data includes differential data, then based on the satellite visibility determination result, the differential data of invisible satellites in the differential data will be deleted.
[0166] In this embodiment of the application, after obtaining the satellite visibility determination result, corresponding data operations can be performed based on the input data, and the corresponding data operation results can be returned to the user. The method includes:
[0167] Data Operation 1: If the input data includes real-time positioning data, then based on the satellite visibility judgment result, generate visible satellite information;
[0168] Data Operation 2: If the input data includes real-time positioning data and ephemeris data, then according to Data Operation 1, generate visible satellite information; and, based on the satellite visibility judgment result, delete the ephemeris data of invisible satellites in the ephemeris data to obtain the deleted ephemeris data;
[0169] Data Operation 3: If the input data includes observation data, then according to the satellite visibility judgment result, the observation data of invisible satellites in the observation data are deleted to obtain the deleted ephemeris data; if the input data includes differential data, then according to the satellite visibility judgment result, the differential data of invisible satellites in the differential data are deleted to obtain the deleted differential data.
[0170] The aforementioned visible satellite information can be in list form, that is, the visible satellite information is a list of visible satellites, which includes at least: satellite identifier, epoch time, and satellite position.
[0171] Figure 2 This is a schematic diagram of the architecture of an application system for the satellite visibility determination method described in this application embodiment. Here, the application system for the satellite visibility determination method can be referred to as the satellite visibility determination system, or simply the system. Figure 2 As shown, the system includes: an input processing module, a satellite position calculation module, an intelligent judgment module, and an output processing module. The descriptions of each module are as follows:
[0172] The input processing module is used to acquire input data from a user requesting satellite visibility determination, parse the input data, and output the parsed input data to the satellite position calculation module and the intelligent determination module respectively. The input data includes at least one of real-time positioning data, ephemeris data, observation data, and differential data.
[0173] The satellite position calculation module is used to perform satellite position pre-calculation, generate a first satellite position dataset, and perform adaptive epoch density adjustment on the first satellite position dataset to obtain multiple target satellite position datasets; receive parsed input data output by the input processing module, perform dynamic order interpolation on the multiple target satellite position datasets, and perform adaptive step size interpolation based on the user time in the parsed input data to obtain a second satellite position dataset; and output the second satellite position dataset to the intelligent judgment module.
[0174] The intelligent judgment module is used to receive the parsed input data output by the input processing module and the second satellite position dataset output by the satellite position calculation module, and to make a comprehensive judgment based on the empirical model and the machine learning model to obtain the satellite visibility judgment result, and output the satellite visibility judgment result to the output processing module.
[0175] The output processing module is used to receive the satellite visibility judgment result output by the intelligent judgment module, perform corresponding data operations on the input data according to the satellite visibility judgment result, obtain the data operation result, and return the data operation result to the user.
[0176] In summary, the satellite visibility determination method described in this application first employs a satellite position pre-calculation mechanism and an adaptive epoch density adjustment mechanism. Before acquiring user input data, a first satellite position dataset is pre-acquired, reducing computational load and enabling the handling of numerous user requests within a short period. Furthermore, the first satellite position dataset is cached hierarchically, significantly improving access speed and reducing storage costs. Then, with user input data, multiple target satellite position data are acquired based on the user's time. The polynomial order is determined based on the complexity of the multiple satellite position data, and data interpolation is performed on the multiple target satellite position data based on the polynomial order. This achieves comprehensive data interpolation processing with adaptive step size and dynamic order, obtaining a second satellite position dataset. This significantly reduces computational load and improves real-time computation efficiency while ensuring data accuracy. Finally, a combination of empirical and machine learning models is used to determine satellite visibility, making it more adaptable to real-world scenarios and improving the accuracy of satellite visibility determination.
[0177] Please refer to Figure 3 This application also provides a satellite visibility determination device, including:
[0178] Selection module 301 is used to select multiple target satellite position data whose epoch time is within a first time period from multiple satellite position data in the first satellite position dataset; wherein, the first time period is determined according to the user time; each satellite position data includes a satellite identifier, epoch time and satellite position;
[0179] The processing module 302 is used to perform data interpolation processing on the multiple target satellite position data according to the polynomial order to obtain a second satellite position dataset; wherein, the polynomial order is related to the complexity of the multiple target satellite position data;
[0180] The judgment module 303 is used to obtain the satellite visibility judgment result corresponding to the user time based on the satellite visibility prediction model, the user location, and the satellite location corresponding to the user time in the second satellite location dataset.
[0181] Optionally, the satellite visibility determination device further includes:
[0182] The first acquisition module is used to obtain satellite acceleration based on ephemeris data every second time interval;
[0183] The prediction module is used to predict the satellite position at each epoch within a third time period based on the orbital propagation model, satellite motion-related force parameters, and the satellite acceleration; wherein the duration of the third time period is longer than the duration of the first time period.
[0184] The second obtaining module is used to obtain at least one of the following: satellite position change rate, orbital curvature, satellite velocity change rate, and satellite acceleration magnitude, based on the satellite position at each epoch within the third time period;
[0185] The first determining module is used to determine the epoch time range to be interpolated within the third time period based on at least one of the following: the rate of change of satellite position, orbital curvature, rate of change of satellite velocity, and magnitude of satellite acceleration corresponding to each epoch time within the third time period.
[0186] The interpolation module is used to perform data interpolation processing on the satellite position data within the third time period according to the epoch time range to be interpolated, so as to obtain the first satellite position dataset.
[0187] Optionally, the satellite visibility determination device further includes:
[0188] The storage module is used to store the first satellite location dataset to the corresponding memory according to the request frequency type corresponding to the first satellite location dataset.
[0189] Optionally, the satellite visibility determination device further includes:
[0190] The second determining module is used to determine the start time of the first time period based on the epoch time position of the user time in the first satellite location dataset and the preset maximum polynomial order.
[0191] The third determining module is used to determine the end time of the first time period based on the number of satellite position data included in the first satellite position dataset and the maximum polynomial order.
[0192] Optionally, the satellite visibility determination device further includes:
[0193] The acquisition module is used to acquire the complexity of multiple target satellite position data based on the orbital curvature and satellite velocity change rate corresponding to each target satellite position data;
[0194] The third obtaining module is used to obtain the order of the basic polynomial according to the complexity and the polynomial order selection rules;
[0195] The fourth obtaining module is used to adjust the order of the basic polynomial according to the preset minimum polynomial order and the number of multiple target satellite position data, so as to obtain the polynomial order.
[0196] Optionally, in the aforementioned satellite visibility determination device, the processing module 302 is specifically used for:
[0197] The weight corresponding to each target satellite position data is obtained based on the distance between the user time and the epoch time in each target satellite position data.
[0198] Based on the weight and orbital curvature corresponding to each target satellite position data, a first number of target satellite position data are selected from the plurality of target satellite position data; wherein, the first number is related to the polynomial order;
[0199] Based on the polynomial order, the first number of target satellite position data are subjected to data interpolation to obtain the second satellite position dataset.
[0200] Optionally, in the aforementioned satellite visibility determination device, the determination module 303 is specifically used for:
[0201] Obtain the geometric features of the satellite position relative to the user position corresponding to the user time in the second satellite position dataset;
[0202] Based on the geometric features, the visibility judgment result of the first sub-satellite corresponding to the user time is obtained;
[0203] Based on the satellite visibility prediction model, the user location, the geometric features, the user time, and the environmental data corresponding to the user location, the visibility judgment result of the second sub-satellite corresponding to the user time is obtained;
[0204] Based on the visibility assessment results of the first sub-satellite and the second sub-satellite, the satellite visibility assessment result corresponding to the user's time is obtained.
[0205] Optionally, the satellite visibility determination device further includes:
[0206] The first generation module is used to generate visible satellite information based on the satellite visibility judgment result if the input data for the user requesting satellite visibility judgment includes real-time positioning data.
[0207] The second generation module is used to generate visible satellite information based on the satellite visibility judgment result if the input data includes the real-time positioning data and ephemeris data, and to delete the ephemeris data of invisible satellites in the ephemeris data;
[0208] The first deletion module is used to delete the observation data of invisible satellites in the observation data according to the satellite visibility judgment result if the input data includes observation data;
[0209] The second deletion module is used to delete the differential data of invisible satellites in the differential data according to the satellite visibility judgment result if the input data includes differential data.
[0210] It should be noted that the apparatus provided in this application embodiment can implement all the method steps implemented in the above satellite visibility determination method embodiment and can achieve the same technical effect. Here, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail.
[0211] This application also provides a satellite visibility determination device, such as... Figure 4 As shown, it includes:
[0212] The processor 401, memory 402, transceiver 403, and programs or instructions stored in the memory 402 and executable on the processor 401; when the processor 401 executes the programs or instructions, it implements the various processes of the above-described satellite visibility determination method embodiments and achieves the same technical effect. To avoid repetition, these will not be described again here.
[0213] The transceiver 403 is used to receive and send data under the control of the processor 401.
[0214] Among them, Figure 4 In this context, the bus architecture can include any number of interconnected buses and bridges, specifically connecting various circuits of one or more processors represented by processor 401 and memory represented by memory 402. The bus architecture can also connect various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides an interface. Transceiver 403 can be multiple elements, including transmitters and receivers, providing a unit for communicating with various other devices over a transmission medium. For different user equipment, the user interface 404 can also be an interface capable of connecting external or internal devices, including but not limited to keypads, displays, speakers, microphones, joysticks, etc.
[0215] The processor 401 is responsible for managing the bus architecture and general processing, while the memory 402 can store the data used by the processor 401 when performing operations.
[0216] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes of the above-described satellite visibility determination method embodiments and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.
[0217] This application also provides a computer program product, including computer instructions. When the computer instructions are executed by a processor, they implement the various processes of the above-described satellite visibility determination method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0218] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0219] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0220] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A method for determining satellite visibility, characterized in that, include: From multiple satellite position data in the first satellite position dataset, multiple target satellite position data whose epoch times fall within a first time period are selected; wherein, the first time period is determined based on the user's time; each satellite position data includes a satellite identifier, epoch time, and satellite position; Based on the polynomial order, data interpolation processing is performed on the position data of multiple target satellites to obtain a second satellite position dataset; wherein, the polynomial order is obtained by adjusting the order of the basic polynomial according to a preset minimum polynomial order and the number of multiple target satellite position data; the order of the basic polynomial is obtained according to the complexity of the multiple target satellite position data and the polynomial order selection rules; the complexity is obtained based on the orbital curvature and satellite velocity change rate corresponding to each target satellite position data. Based on the satellite visibility prediction model, the user's location, and the satellite location corresponding to the user's time in the second satellite location dataset, the satellite visibility judgment result corresponding to the user's time is obtained.
2. The method according to claim 1, characterized in that, The method further includes: At the second time interval, satellite acceleration is obtained based on ephemeris data; Based on the orbital propagation model, satellite motion-related force parameters, and the satellite acceleration, the satellite position at each epoch within the third time period is predicted; wherein the duration of the third time period is greater than the duration of the first time period. Based on the satellite position at each epoch within the third time period, obtain at least one of the following: satellite position change rate, orbital curvature, satellite velocity change rate, and satellite acceleration magnitude at each epoch within the third time period. Based on at least one of the following: the rate of change of satellite position, orbital curvature, rate of change of satellite velocity, and magnitude of satellite acceleration corresponding to each epoch time in the third time period, determine the epoch time range to be interpolated in the third time period; The satellite position data within the third time period are interpolated according to the epoch time range to be interpolated to obtain the first satellite position dataset.
3. The method according to claim 2, characterized in that, After obtaining the first satellite location dataset, the method further includes: Based on the request frequency type corresponding to the first satellite location dataset, the first satellite location dataset is stored in the corresponding memory.
4. The method according to claim 1, characterized in that, The method further includes: The start time of the first time period is determined based on the epoch time position of the user time in the first satellite location dataset and the preset maximum polynomial order. The end time of the first time period is determined based on the number of satellite position data included in the first satellite position dataset and the maximum polynomial order.
5. The method according to claim 1, characterized in that, Based on the polynomial order, data interpolation processing is performed on multiple target satellite position data to obtain a second satellite position dataset, including: The weight corresponding to each target satellite position data is obtained based on the distance between the user time and the epoch time in each target satellite position data. Based on the weight and orbital curvature corresponding to each target satellite position data, a first number of target satellite position data are selected from the plurality of target satellite position data; wherein, the first number is related to the polynomial order; Based on the polynomial order, the first number of target satellite position data are subjected to data interpolation to obtain the second satellite position dataset.
6. The method according to claim 1, characterized in that, Based on the satellite visibility prediction model, the user's location, and the satellite location corresponding to the user's time in the second satellite location dataset, the satellite visibility judgment result corresponding to the user's time is obtained, including: Obtain the geometric features of the satellite position relative to the user position corresponding to the user time in the second satellite position dataset; Based on the geometric features, the visibility judgment result of the first sub-satellite corresponding to the user time is obtained; Based on the satellite visibility prediction model, the user location, the geometric features, the user time, and the environmental data corresponding to the user location, the visibility judgment result of the second sub-satellite corresponding to the user time is obtained; Based on the visibility judgment results of the first sub-satellite and the second sub-satellite, the satellite visibility judgment result corresponding to the user time is obtained.
7. The method according to claim 1, characterized in that, After obtaining the satellite visibility assessment result, the method further includes: If the input data for the user requesting satellite visibility determination includes real-time positioning data, then visible satellite information is generated based on the satellite visibility determination result; If the input data includes the real-time positioning data and ephemeris data, then the visible satellite information is generated based on the satellite visibility judgment result, and the ephemeris data of invisible satellites in the ephemeris data is deleted; If the input data includes observation data, then based on the satellite visibility judgment result, the observation data of invisible satellites in the observation data will be deleted; If the input data includes differential data, then based on the satellite visibility determination result, the differential data of invisible satellites in the differential data will be deleted.
8. A satellite visibility determination device, characterized in that, include: The selection module is used to select multiple target satellite position data points whose epoch times fall within a first time period from multiple satellite position data points in a first satellite position dataset; wherein the first time period is determined based on the user's time; each satellite position data point includes a satellite identifier, an epoch time, and a satellite position; The processing module is used to perform data interpolation processing on the target satellite position data according to the polynomial order to obtain a second satellite position dataset; wherein, the polynomial order is obtained by adjusting the basic polynomial order according to a preset minimum polynomial order and the number of multiple target satellite position data; the basic polynomial order is obtained according to the complexity of multiple target satellite position data and polynomial order selection rules; the complexity is obtained according to the orbital curvature and satellite velocity change rate corresponding to each target satellite position data. The judgment module is used to obtain the satellite visibility judgment result corresponding to the user time based on the satellite visibility prediction model, the user location, and the satellite location corresponding to the user time in the second satellite location dataset.
9. A satellite visibility determination device, characterized in that, include: A processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the processor, when executing the program or instructions, implements the satellite visibility determination method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the satellite visibility determination method as described in any one of claims 1 to 7.
11. A computer program product, characterized in that, It includes computer instructions, which, when executed by a processor, implement the satellite visibility determination method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Satellite ephemeris prediction method, satellite positioning method and device, and storage medium
CN109765585A
Space target orbit monitoring and tracking method
CN116087973A