Satellite finding method and terminal equipment
By employing different rotation sequences to calculate Euler angles in civilian terminal equipment and combining magnetic declination calibration and data smoothing, the problem of inaccurate satellite finding results was solved, achieving higher satellite finding accuracy and stability, and ensuring the antenna's alignment with the satellite.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-10-31
- Publication Date
- 2026-05-01
AI Technical Summary
Existing civilian terminal equipment has limited accuracy in satellite search results, especially when gimbal lock problem and the coupling relationship between azimuth and pitch angles in three-dimensional space are not considered, leading to deviations and instability in the calculation results.
By determining the azimuth and elevation angles of the satellite direction and antenna pointing in the target coordinate system, Euler angles are calculated using different rotation sequences. Combined with magnetic declination calibration and data smoothing, the accuracy of Euler angle calculation is improved. Furthermore, satellite-finding guidance information is provided through the display module, alleviating the gimbal lock problem and improving the accuracy and stability of satellite-finding results.
This improves the accuracy and stability of terminal equipment during satellite acquisition, ensuring that the antenna can be more accurately aligned with the satellite, thus enhancing the effectiveness of satellite communication.
Smart Images

Figure CN121966648A_ABST
Abstract
Description
Satellite search methods and terminal equipment Technical Field
[0001] This application relates to the field of communication technology, and in particular to a satellite search method and terminal equipment. Background Technology
[0002] Currently, my country's satellite communication system has taken initial shape, and with the continuous advancement of technology, satellite communication technology has also been popularized and applied to a certain extent in the field of civilian terminals.
[0003] The BeiDou Navigation Satellite System is a satellite communication system independently developed by my country, integrating positioning, timing, and communication. BeiDou Short Message Service utilizes the BeiDou Navigation Satellite System to send short message information, making it particularly suitable for communication in areas such as oceans, deserts, grasslands, and uninhabited areas where mobile communication is unavailable, lacks coverage, or where existing communication systems are damaged. The BeiDou Short Message System has upgraded its short message technology, achieving separation of military and civilian signals. Currently, while ensuring full satisfaction of military needs, the government has opened up some necessary resources of the BeiDou Short Message System to civilian use, allowing users to conduct short message communication on civilian terminals. In addition, the Tiantong Satellite Communication System, another satellite communication system independently developed by my country, is also currently being used in civilian terminals.
[0004] In the satellite communication function of civilian terminals, due to the limited antenna beam range, it is necessary to align the antenna's optimal beam with the satellite to obtain the best communication effect. When using the satellite communication function of a terminal device, users can use the terminal device's satellite finder function to align the antenna with the satellite. However, current satellite finder technology has limited accuracy. Summary of the Invention
[0005] In view of this, this application provides a satellite finding method and a terminal device to improve the accuracy of satellite finding results.
[0006] To achieve the above objectives, in a first aspect, embodiments of this application provide a satellite-finding method applied to a terminal device, the method comprising:
[0007] Determine the azimuth and elevation angles of the satellite in the target coordinate system; the satellite direction is the direction from the location of the terminal equipment to the location of the target satellite, and the target coordinate system takes the location of the terminal equipment as its origin.
[0008] When the target Euler angle of the terminal device is less than the target angle, the Euler angle of the terminal device is determined using a first rotation sequence; when the target Euler angle is greater than or equal to the target angle, the Euler angle of the terminal device is determined using a second rotation sequence; the Euler angle of the terminal device is the Euler angle of the terminal device's carrier coordinate system relative to the target coordinate system, and the target Euler angle is the previously determined pitch or roll angle; the first rotation sequence is to rotate sequentially around the azimuth axis, the first axis, and the second axis of the carrier coordinate system, and the second rotation sequence is to rotate sequentially around the azimuth axis, the second axis, and the first axis of the carrier coordinate system; the first axis is the rotation axis corresponding to the target Euler angle among the pitch and roll axes, and the second axis is the other axis among the pitch and roll axes; the target angle is less than 90°;
[0009] The azimuth and elevation angles of the antenna pointing in the target coordinate system are determined based on the Euler angles of the terminal equipment; the antenna pointing is the optimal beam pointing of the satellite antenna.
[0010] Determine the azimuth and elevation differences between the antenna pointing and the satellite direction in the target coordinate system;
[0011] The system displays satellite navigation guidance information based on the difference in azimuth and elevation angles.
[0012] The satellite-finding method provided in this application first determines the azimuth and elevation angles of the satellite direction and antenna pointing in the target coordinate system, respectively. Then, it determines the difference between the azimuth and elevation angles of the antenna pointing and the satellite direction in the target coordinate system. Based on these two differences, satellite-finding guidance is provided, which makes it easier for users to align the satellite antenna of the terminal device with the satellite. In particular, when determining the angle information of the antenna pointing, Euler angles are calculated by switching between two rotation sequences according to the relationship between the elevation angle or roll angle of the terminal device and the target angle. This can effectively alleviate the gimbal lock problem, thereby improving the accuracy of Euler angle calculation results and thus improving the accuracy of satellite-finding results.
[0013] In one possible implementation of the first aspect, determining the azimuth and elevation angles of the satellite orientation in the target coordinate system includes:
[0014] Based on the geocentric coordinates of the target satellite and the geocentric coordinates of the terminal equipment, determine the coordinates of the satellite direction unit vector in the geocentric coordinate system;
[0015] Determine the transition matrix from the geocentric coordinate system to the target coordinate system based on the geodetic coordinates of the terminal device;
[0016] Based on the transfer matrix and the coordinates of the satellite direction unit vector in the geocentric coordinate system, determine the coordinates of the satellite direction unit vector in the target coordinate system;
[0017] Based on the coordinates of the satellite's orientation unit vector in the target coordinate system, determine the azimuth and elevation angles of the satellite's orientation in the target coordinate system.
[0018] In the above implementation, the angle information of the satellite direction in the target coordinate system is determined based on the satellite direction unit vector and the transfer matrix, which can improve data processing efficiency.
[0019] In one possible implementation of the first aspect, before determining the azimuth and elevation angles of the antenna pointing in the target coordinate system based on the Euler angles of the terminal device, the method further includes:
[0020] The Euler angles of the terminal device are calibrated based on the magnetic declination of the terminal device's location.
[0021] The above implementation method can effectively eliminate the error between true north and magnetic north, thereby improving the accuracy of satellite finding results.
[0022] In one possible implementation of the first aspect, before determining the azimuth and elevation angles of the antenna pointing in the target coordinate system based on the Euler angles of the terminal device, the method further includes:
[0023] Perform data smoothing on the Euler angles of the terminal device.
[0024] By implementing the above methods, the impact of data jitter on the calculation results can be reduced, and the stability of the satellite search results can be improved.
[0025] In one possible implementation of the first aspect, determining the azimuth and elevation angles of the antenna pointing in the target coordinate system based on the Euler angles of the terminal device includes:
[0026] Determine the rotation matrix from the carrier coordinate system to the target coordinate system based on the Euler angles of the terminal device;
[0027] Determine the coordinates of the antenna pointing unit vector in the carrier coordinate system;
[0028] The coordinates of the antenna pointing unit vector in the carrier coordinate system are converted to the coordinates in the target coordinate system using the rotation matrix.
[0029] Based on the coordinates of the antenna pointing unit vector in the target coordinate system, determine the azimuth and elevation angles of the antenna pointing in the target coordinate system.
[0030] The above implementation method can make the determined antenna pointing angle information more accurate, thereby improving the accuracy of the satellite search results.
[0031] In one possible implementation of the first aspect, the coordinates of the antenna pointing unit vector in the carrier coordinate system are determined based on the angle configuration information of the satellite antenna, which includes: the angle between the projection of the antenna pointing onto the XOY plane of the carrier coordinate system and the Y-axis, and the angle between the projection of the antenna pointing onto the YOZ plane of the carrier coordinate system and the Y-axis; wherein the X-axis is the pitch axis, the Y-axis is the roll axis, and the Z-axis is the azimuth axis.
[0032] In one possible implementation of the first aspect, the Euler angles of the terminal device include: azimuth angle, pitch angle, and roll angle; the Euler angles of the terminal device are determined based on the attitude quaternion of the terminal device.
[0033] In one possible implementation of the first aspect, the target angle is greater than 45° and less than 85°. This better avoids the gimbal lock problem.
[0034] Secondly, embodiments of this application provide a satellite finding device, which includes: a satellite direction calculation module, a satellite finding guidance module, and a display module;
[0035] The satellite orientation calculation module is used to: determine the azimuth and elevation angles of the satellite orientation in the target coordinate system; the satellite orientation is the direction from the location of the terminal device to the location of the target satellite, and the target coordinate system takes the location of the terminal device as its origin;
[0036] The satellite-finding guidance module is used to: determine the Euler angle of the terminal device using a first rotation sequence when the target Euler angle of the terminal device is less than the target angle; and determine the Euler angle of the terminal device using a second rotation sequence when the target Euler angle is greater than or equal to the target angle. The Euler angle of the terminal device is the Euler angle of the terminal device's carrier coordinate system relative to the target coordinate system, and the target Euler angle is the previously determined pitch or roll angle. The first rotation sequence involves rotating sequentially around the azimuth axis, the first axis, and the second axis of the carrier coordinate system. The first axis is the rotation axis corresponding to the target Euler angle among the pitch and roll axes, and the second axis is the other axis among the pitch and roll axes. The second rotation sequence involves rotating sequentially around the azimuth axis, the second axis, and the first axis of the carrier coordinate system. The target angle is less than 90°.
[0037] The azimuth and elevation angles of the antenna pointing in the target coordinate system are determined based on the Euler angles of the terminal device; the antenna pointing is the optimal beam pointing of the satellite antenna.
[0038] Determine the azimuth and elevation differences between the antenna pointing and the satellite orientation in the target coordinate system;
[0039] The display module is used to display star-finding guidance information based on the azimuth difference and elevation difference.
[0040] In one possible implementation of the second aspect, the satellite orientation calculation module is specifically used for:
[0041] Based on the geocentric coordinates of the target satellite and the geocentric coordinates of the terminal equipment, determine the coordinates of the satellite direction unit vector in the geocentric coordinate system;
[0042] The transition matrix from the geocentric coordinate system to the target coordinate system is determined based on the geodetic coordinates of the terminal device;
[0043] Based on the transfer matrix and the coordinates of the satellite direction unit vector in the geocentric coordinate system, determine the coordinates of the satellite direction unit vector in the target coordinate system;
[0044] Based on the coordinates of the satellite direction unit vector in the target coordinate system, determine the azimuth and elevation angles of the satellite direction in the target coordinate system.
[0045] In one possible implementation of the second aspect, the satellite-finding guidance module is further configured to: calibrate the Euler angles of the terminal device according to the magnetic declination of the location of the terminal device before determining the azimuth and elevation angles of the antenna pointing in the target coordinate system based on the Euler angles of the terminal device.
[0046] In one possible implementation of the second aspect, the satellite-finding guidance module is further configured to: perform data smoothing processing on the Euler angles of the terminal device before determining the azimuth and elevation angles of the antenna pointing in the target coordinate system based on the Euler angles of the terminal device.
[0047] In one possible implementation of the second aspect, the star-finding guidance module is specifically used for:
[0048] Based on the Euler angles of the terminal device, determine the rotation matrix from the carrier coordinate system to the target coordinate system;
[0049] Determine the coordinates of the antenna pointing unit vector in the carrier coordinate system;
[0050] The coordinates of the antenna pointing unit vector in the carrier coordinate system are converted to the coordinates in the target coordinate system according to the rotation matrix.
[0051] Based on the coordinates of the antenna pointing unit vector in the target coordinate system, determine the azimuth and elevation angles of the antenna pointing in the target coordinate system.
[0052] In one possible implementation of the second aspect, the coordinates of the antenna pointing unit vector in the carrier coordinate system are determined according to the angle configuration information of the satellite antenna, which includes: the angle between the projection of the antenna pointing onto the XOY plane of the carrier coordinate system and the Y-axis, and the angle between the projection of the antenna pointing onto the YOZ plane of the carrier coordinate system and the Y-axis; wherein the X-axis is the pitch axis, the Y-axis is the roll axis, and the Z-axis is the azimuth axis.
[0053] In one possible implementation of the second aspect, the Euler angles of the terminal device include: azimuth angle, pitch angle, and roll angle; the Euler angles of the terminal device are determined based on the attitude quaternions of the terminal device.
[0054] In one possible implementation of the second aspect, the target angle is greater than 45° and less than 85°.
[0055] Thirdly, embodiments of this application provide a terminal device, including: a memory and a processor, wherein the memory is used to store a program; and the processor is used to execute the method described in the first aspect or any embodiment of the first aspect when the program is invoked.
[0056] Fourthly, embodiments of this application provide a readable storage medium having a program stored thereon, which, when executed by a processor, implements the method described in the first aspect or any embodiment of the first aspect.
[0057] Fifthly, embodiments of this application provide a program product that, when run on a device, causes the device to perform the method described in the first aspect or any embodiment of the first aspect.
[0058] Sixthly, embodiments of this application provide a chip system including a processor coupled to a memory. The processor executes a program stored in the memory to implement the method described in the first aspect or any embodiment thereof. The chip system may be a single chip or a chip module composed of multiple chips.
[0059] It is understood that the beneficial effects of the second to sixth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0060] Figure 1 is a schematic diagram of the architecture of a satellite communication system provided in an embodiment of this application;
[0061] Figure 2 is a schematic diagram of some star-finding guidance interfaces provided in the embodiments of this application;
[0062] Figure 3 is a functional structure diagram of the terminal device provided in an embodiment of this application;
[0063] Figure 4 is a schematic diagram of the star-finding process provided in an embodiment of this application;
[0064] Figure 5 is a schematic diagram of the LOS radius unit vector in the ENU coordinate system provided in the embodiments of this application;
[0065] Figure 6 is a schematic diagram of the carrier coordinate system provided in an embodiment of this application;
[0066] Figure 7 is a schematic diagram of the antenna pointing angle configuration information provided in an embodiment of this application;
[0067] Figure 8 is a flowchart illustrating the star-finding method provided in an embodiment of this application;
[0068] Figure 9 is a schematic diagram of the structure of the terminal device provided in the embodiment of this application. Detailed Implementation
[0069] The embodiments of this application are described below with reference to the accompanying drawings. The terminology used in the implementation section of this application is only for explaining specific embodiments and is not intended to limit the application. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0070] Current satellite-finding technologies are mostly applicable to dedicated terminals, and their accuracy is insufficient when applied to civilian terminals. For example, one related satellite-finding technology involves: first, calculating the terminal device's angle information (including azimuth and elevation angles) in the Earth coordinate system based on sensor data; then, linearly adding or subtracting the angle information of the antenna's optimal beam pointing in the terminal device's carrier coordinate system from the terminal device's angle information in the Earth coordinate system to obtain the angle information of the antenna's optimal beam pointing in the Earth coordinate system; finally, combining this with the satellite's angle information in the Earth coordinate system, calculating the angle difference between the antenna and the satellite in the Earth coordinate system; and using this angle difference to guide the user to adjust the terminal device so that its antenna is aligned with the satellite.
[0071] The aforementioned satellite-finding technology is prone to errors in calculating the angle information of the terminal device in the Earth coordinate system due to gimbal lock issues, which can cause sudden changes in the calculation results. Furthermore, this technology uses linear addition and subtraction to calculate the antenna's angle information in the Earth coordinate system, failing to consider the coupling relationship between azimuth and elevation angles in three-dimensional space, leading to deviations in the calculation results. All of these factors further contribute to inaccurate satellite-finding results.
[0072] In view of this, embodiments of this application provide a satellite finding scheme to improve the accuracy of satellite finding results.
[0073] The satellite-finding scheme provided in this application can be applied to satellite communication systems. Figure 1 is a schematic diagram of the architecture of a satellite communication system provided in this application. As shown in Figure 1, the satellite communication system may include terminal equipment 100 and satellites 200. The number of terminal equipment 100 and satellites 200 in this system can be one or more.
[0074] In some embodiments, the satellite communication system may also include other communication modules, such as ground stations, short message centers, base stations, etc.
[0075] The terminal device 100 supports satellite communication. In areas without terrestrial network coverage such as cellular networks, Wi-Fi networks, or Bluetooth networks, the terminal device 100 can communicate with other devices via satellite 200. For example, areas without terrestrial network coverage such as cellular networks, Wi-Fi networks, or Bluetooth networks can be understood as areas without terrestrial network coverage, such as oceans, deserts, grasslands, or uninhabited areas. The terminal device 100 can also communicate with other devices via satellite 200 when terrestrial network signal quality is poor.
[0076] Satellite 200 can be a geostationary orbit (GEO) satellite, a middle earth orbit (MEO) satellite, or a low earth orbit (LEO) satellite, etc.
[0077] Terminal device 100 can be a mobile phone, tablet computer, laptop computer, smart wearable device (such as a smart bracelet), or in-vehicle device, etc. This application embodiment does not impose special restrictions on the specific type of terminal device 100. This application embodiment mainly uses a mobile phone as an example for illustrative purposes.
[0078] Terminal device 100 can trigger satellite communication mode through relevant applications, function controls, or options. This application can support communication between terminal device 100 and satellite 200; it can be a specific satellite communication application, an application that supports voice or video calls, or an application that supports SMS sending and receiving, etc. After satellite communication mode is triggered, terminal device 100 can display a satellite search guidance interface, instructing the user to align the antenna of terminal device 100 with satellite 200.
[0079] For example, Figure 2 shows some schematic diagrams of satellite search guidance interfaces. As shown in Figure 2(a), after the satellite communication mode is triggered, the terminal device 100 can display satellite search operation prompts on the satellite search guidance interface to instruct the user to perform satellite search operations. The satellite search operation prompts can include text prompts 11 and animation prompts 12. For example, text prompt 11 can include: "Please try to be in an open outdoor area to avoid obstructions that could block the signal." Animation prompt 12 can indicate whether the terminal device 100 has detected a satellite. For example, animation prompt 12 can include a fan-shaped area to indicate the positional relationship between the satellite direction and the antenna pointing of the terminal device 100. The antenna pointing of the terminal can be the optimal beam pointing of the satellite antenna, and the position of the satellite direction relative to the antenna pointing can be represented by elevation and azimuth angles. In the example shown in Figure 2(a), no symbol representing a satellite appears to indicate that the terminal device 100 has not yet found a satellite. Additionally, the satellite search guidance interface can also display the title "Satellite Search" to indicate to the user that a satellite search is in progress. Understandably, the satellite search interface 10 can also display other information, such as a signal strength indicator to indicate the strength of the satellite signal.
[0080] After locating the target satellite, the terminal device 100 can enter the alignment process. As shown in Figure 2(b), the satellite search guidance interface can display alignment operation prompts to guide the user in performing satellite alignment. These prompts may include text prompts 21 and animation prompts 22. For example, text prompt 21 may include the text "Turn the device to the right to move the satellite to the fan-shaped area." Animation prompt 22 can indicate the azimuth angle between the satellite direction and the antenna direction of the terminal device 100 by showing the positional relationship between the fan-shaped area and the satellite symbol (hereinafter referred to as the satellite). In the animation prompt 22 shown in Figure 2(b), the satellite is located on the right side of the fan-shaped area. Therefore, the user needs to rotate the terminal device 100 to the right to bring the satellite into the fan-shaped area, ensuring that the terminal device 100 establishes a good communication connection with the satellite through its antenna. Furthermore, animation prompt 22 may also include a small ball, the position of which can be used to indicate the elevation angle between the antenna direction of the terminal device 100 and the satellite direction. Animation prompt 22 may also include an arrow indicating that the user is rotating the device to the right. In addition, the satellite search guidance interface can also display the title "Satellite Alignment" to indicate to the user that satellite alignment is in progress.
[0081] After the user rotates terminal device 100 to the right so that the satellite is located in the fan-shaped area, as shown in Figure 2(c), terminal device 100 can update the alignment operation prompts. For example, text prompt 21 can be updated to "Tilt the device upwards to move the ball to the center area"; at this time, in animation prompt 22, the satellite is located in the fan-shaped area, and a pointing arrow can be displayed near the ball to instruct the user to tilt the device upwards so that the ball moves upwards. When the ball moves to the center area, terminal device 100 completes the alignment process.
[0082] It is understood that the satellite search guidance interfaces shown in Figure 2(b) and (c) are just examples. In some embodiments, if the satellite is in a different orientation relative to the antenna of the terminal device 100, the alignment operation prompts on the alignment page 20 can also be changed accordingly. For example, when the satellite is on the left side of the fan-shaped area, the user is prompted to turn the device to the left; when the ball is on top, the user is prompted to tilt the device downwards, etc. This application embodiment does not make any special limitations here.
[0083] After the alignment process is completed, the terminal device 100 can enter the satellite connection process. As shown in Figure 2(d), the satellite search guidance interface can display operation prompts to guide the user's actions during the satellite connection process. For example, the operation prompts may include the text prompt 31: "Maintain the current gesture and avoid large deviations." The satellite search guidance interface can keep the animation prompt 22 unchanged, or it can be updated adaptively. In addition, the satellite search guidance interface can also display the title "Connecting" to indicate to the user that the satellite connection is in progress. Optionally, a countdown timer, such as "16 seconds," can also be displayed next to the title. The satellite search guidance interface can also display other information, such as the current latitude and longitude information of the terminal device 100.
[0084] It is understood that the user interface shown in the embodiments of this application is only an example and is not intended to limit this application. In some embodiments, the user interface displayed by the terminal device 100 may include more or fewer interface elements than shown in the figure to achieve more or fewer functions; the position of each interface element can be adjusted as needed; each function can also be implemented using other interface elements, or it can also be implemented in other user interfaces. This embodiment does not make any special limitations on this.
[0085] As described above, in satellite communication mode, the terminal device 100 can guide the user to align the terminal device 100 with the satellite 200 through the satellite search function. The implementation principle of the satellite search function of the terminal device 100 is explained below.
[0086] Figure 3 shows a functional structure diagram of the terminal device provided in the embodiment of this application. As shown in Figure 3, the terminal device 100 may include: a satellite direction calculation module, a sensor module, a satellite search guidance module, and a display module.
[0087] The satellite orientation calculation module is primarily used to identify a target satellite from at least one satellite and then determine the angular information of the target satellite's orientation. This target satellite can be the satellite with the best communication quality, such as the satellite with the strongest signal; or it can be the satellite closest to the terminal device, or other satellites. The satellite orientation is the direction of the target satellite relative to the terminal device, that is, the direction from the location of the terminal device to the location of the target satellite.
[0088] In some examples, as shown in Figure 3, the satellite orientation calculation module may include an ephemeris download submodule, a positioning submodule, a satellite coordinate transformation submodule, and a satellite angle calculation submodule.
[0089] The ephemeris download submodule can obtain satellite ephemeris from satellites or base stations. Satellite ephemeris, also known as two-line orbital element (TLE), can accurately predict, depict, and track the satellite's time, position, velocity, and other operational status. Satellite ephemeris can include broadcast ephemeris and predicted ephemeris. Satellites can broadcast ephemeris at preset intervals; this broadcast ephemeris can be called broadcast ephemeris. Predicted ephemeris can be understood as ephemeris for future times predicted based on historical broadcast ephemeris. This application embodiment does not limit the method used for predicting ephemeris. It is understood that after obtaining satellite ephemeris, the terminal device can store and update it.
[0090] The positioning submodule can acquire the current location information of the terminal device and determine the target satellite from candidate satellites based on this location information and satellite ephemeris. This location information may include, but is not limited to, the terminal device's longitude, latitude, and height (LLH) coordinates and earth-centered, earth-fixed (ECEF) coordinates. The LLH coordinate system can also be called a geodetic coordinate system or geographic coordinate system; similarly, the ECEF coordinate system can also be called a geocentric coordinate system or Earth coordinate system. In some examples, this positioning submodule may include, but is not limited to, a Global Positioning Service (GPS) module or a location-based services (LBS) module.
[0091] The satellite coordinate transformation submodule can convert the vector coordinates of the target satellite's orientation in the ECEF coordinate system to east-north-up (ENU) coordinates. The ENU coordinate system can also be called the station coordinate system, and correspondingly, the EUN coordinates can also be called station coordinates.
[0092] The satellite angle calculation submodule can determine the azimuth and elevation angles (i.e., the angle information of the satellite direction) in the ENU coordinate system based on the ENU coordinates of the target satellite's direction.
[0093] The sensor module can measure real-time sensor data, such as a rotation vector quaternion, which represents the attitude quaternion of the rotation vector of the terminal device. This attitude quaternion can be represented as Q(x,y,z,w), where (x,y,z) indicates the rotation axis and w indicates the rotation angle. The sensor module may include sensors such as accelerometers, gyroscopes, and magnetometers.
[0094] The satellite orientation module determines the angle information of the antenna's optimal beam pointing (hereinafter referred to as antenna pointing), and then calculates the angle difference between the antenna pointing and the satellite direction by combining the angle information of the satellite direction. The optimal beam pointing of the antenna can also be called the direction of maximum radiation or the direction of maximum gain.
[0095] In some examples, as shown in Figure 3, the satellite search guidance module may include: Euler angle calculation submodule, magnetic declination calibration submodule, data smoothing submodule, device coordinate transformation submodule, antenna angle configuration submodule, antenna coordinate calculation submodule, and angle difference calculation submodule.
[0096] Among them, the Euler angle calculation submodule can determine the Euler angles (including pitch angle, azimuth angle and roll angle) of the terminal device based on the attitude quaternions output by the sensor module.
[0097] The magnetic declination calibration submodule can perform magnetic declination calibration on the Euler angles obtained by the Euler angle calculation submodule to eliminate the error between true north and magnetic north. The magnetic declination value for each geographical location is constant. The terminal device can pre-store the magnetic declination of each geographical location and then calibrate the Euler angles obtained by the Euler angle calculation submodule based on the magnetic declination of the current location.
[0098] The data smoothing submodule can smooth the Euler angles output by the Euler angle calculation submodule or the magnetic declination calibration submodule. For example, it can reduce the impact of data jitter on the calculation results by averaging multiple sets of Euler angles.
[0099] The device coordinate transformation submodule can determine the rotation matrix from the carrier coordinate system to the ENU coordinate system of the terminal device based on the Euler angles of the terminal device.
[0100] The antenna angle configuration submodule can configure the antenna's angle information (i.e., angle configuration information). Here, the antenna refers to a satellite antenna, and the antenna's angle configuration information can include the angle information of the antenna pointing in the carrier coordinate system of the terminal device.
[0101] Once the terminal device is manufactured, the antenna's position within the terminal device is fixed, and the antenna's direction relative to the terminal device is also fixed. As the terminal device's orientation changes, the direction the antenna points in geographic space also changes accordingly.
[0102] The antenna coordinate calculation submodule can determine the coordinates of the antenna pointing in the carrier coordinate system based on the angle information of the antenna pointing in the carrier coordinate system; then, based on the rotation matrix output by the device coordinate transformation submodule, the coordinates of the antenna pointing in the carrier coordinate system can be converted into ENU coordinates; and the azimuth and elevation angles of the antenna pointing in the ENU coordinate system (i.e., the angle information of the antenna pointing) can be determined based on the ENU coordinates.
[0103] To facilitate data processing, in some examples, when determining the coordinates of the antenna pointing in the carrier coordinate system, the coordinates of the antenna pointing unit vector in the carrier coordinate system can be specifically determined.
[0104] The angle difference calculation submodule can determine the azimuth and elevation differences between the antenna pointing and the satellite direction in the ENU coordinate system based on the azimuth and elevation angles of the antenna pointing in the ENU coordinate system (i.e., the angle information of the antenna pointing) and the azimuth and elevation angles of the satellite direction in the ENU coordinate system (i.e., the angle information of the satellite direction).
[0105] The display module is used to display the satellite search guidance interface. It can display satellite search guidance information on the user interface based on the angle difference (i.e., the azimuth angle difference and elevation angle difference mentioned above) determined by the satellite search guidance module, so as to guide the user to point the antenna at the target satellite.
[0106] It is understood that the above division of functional modules is only an example. In practical applications, the above functions can be assigned to different functional units or modules as needed, that is, the internal structure of the terminal device can be divided into different functional units or modules to complete all or part of the functions described above. The functional characteristics of the above functional modules can be implemented in hardware, software, or a combination of hardware and software. In addition, the specific names of each functional unit or module are only for easy distinction and are not intended to limit the scope of protection of this application. For ease of explanation, the satellite acquisition process of the terminal device will be described in detail below using the above division of functional modules as an example.
[0107] Figure 4 is a schematic diagram of the satellite search process provided in an embodiment of this application. As shown in Figure 4, the satellite search process may include the following stages:
[0108] S1. Determine the angle information of the target satellite's orientation in the ENU coordinate system.
[0109] As mentioned earlier, satellite ephemeris can be obtained through the ephemeris download submodule, and the location information of the terminal device can be obtained through the positioning submodule. This location information may include LLH coordinates and ECEF coordinates.
[0110] The terminal device can determine available candidate satellites based on satellite ephemeris or pre-stored historical satellite connection information; then, it can select the target satellite from the candidate satellites. The pre-stored historical satellite connection information can include relevant information about historical satellites that the terminal device connected to at historical locations (including but not limited to satellite identifiers, satellite coordinates, communication performance, etc.).
[0111] The target satellite can be the satellite with the best communication quality among the candidate satellites, such as the satellite with the strongest signal; or it can be the satellite closest to the terminal device among the candidate satellites. The embodiments of this application do not impose any special limitations on the method of determining the candidate satellite and the target satellite.
[0112] While identifying the target satellite, the terminal device can determine the target satellite's location information based on satellite ephemeris or pre-stored historical satellite connection information. This location information may include the target satellite's ECEF coordinates.
[0113] After obtaining the ECEF coordinates of the terminal device and the target satellite, the satellite orientation of the target satellite relative to the terminal device in the ECEF coordinate system can be determined. This satellite orientation is the direct line of sight (LOS) from the terminal device to the target satellite.
[0114] To facilitate data processing, in some examples, the satellite direction unit vector of the target satellite relative to the terminal device, i.e., the LOS radial unit vector, can also be determined. This vector points from the position of the terminal device to the position of the target satellite. The position of the terminal device can be its centroid or center.
[0115] Assume the ECEF coordinates of the target satellite are SatV. ecef =[x s ,y s ,z s The ECEF coordinates of the terminal device are UeV. ecef =[x u ,y u ,z uIf the unit vector of the path between the terminal device and the target satellite is difV, then the path vector is difV. ecef =[x d ,y d ,z d ].
[0116] in:
[0117]
[0118]
[0119] D represents the distance between the terminal device and the target satellite, that is, the length of the LOS path.
[0120] Then, the coordinates of the LOS radius unit vector between the terminal device and the target satellite can be transformed to the ENU coordinate system.
[0121] Assume the LLH coordinates of the terminal device are llh ue =[lat ue ,lon ue ,hei ue ]; Let p represent lat ue , l represents lon ue The transition matrix from the ECEF coordinate system to the ENU coordinate system with the location of the terminal device as the origin is:
[0122]
[0123] The coordinates of the LOS path unit vector between the terminal device and the target satellite in the ENU coordinate system are:
[0124]
[0125] Figure 5 shows a schematic diagram of the LOS radius unit vector in the ENU coordinate system. As shown in Figure 5, point o represents the position of the terminal device, that is, the origin of the ENU coordinate system. This represents the LOS radial unit vector, which points to the position of the target satellite. The z-axis of the ENU coordinate system points towards the zenith (or celestial direction), that is, the direction from the Earth's center to the location of the terminal equipment; the y-axis points towards local due north (or north direction); and the x-axis points towards local due east (or east direction).
[0126] Referring to Figure 5, we can see that the azimuth angle φ1 and elevation angle θ1 of the LOS radius unit vector between the terminal device and the target satellite in the ENU coordinate system are respectively:
[0127]
[0128] S2. Determine the antenna pointing angle information in the ENU coordinate system.
[0129] Specifically, the antenna pointing angle information can be determined based on the Euler angles of the terminal device and the antenna angle configuration information.
[0130] Figure 6 is a schematic diagram of the carrier coordinate system provided in the embodiment of this application. As shown in Figure 6, the carrier coordinate system of the terminal device takes the position of the terminal device as the origin O, the direction perpendicular to the screen as the Z-axis, the direction parallel to the long side of the screen as the Y-axis, and the direction parallel to the short side of the screen as the X-axis. The Z-axis points to the screen, the Y-axis points to the top short side, and the X-axis points to the right long side.
[0131] The Euler angles of a terminal device represent the Euler angles corresponding to the rotation of the terminal device from its initial posture to its current posture. The initial posture of the terminal device can be the posture when the carrier coordinate system and the ENU coordinate system coincide. The Euler angles of the terminal device are the Euler angles of the carrier coordinate system relative to the ENU coordinate system.
[0132] The Euler angles of a terminal device can include: azimuth, pitch, and roll.
[0133] The azimuth angle, also known as the heading angle, represents the angle at which the terminal equipment rotates around the -Z axis. Correspondingly, the Z axis can also be called the azimuth axis. The range of the azimuth angle is [-π, π].
[0134] Assuming the terminal device is placed flat with its screen facing upwards and parallel to the local horizontal plane, this azimuth angle can represent the angle between the Y-axis of the carrier coordinate system and the north direction. When the Y-axis coincides with the north direction, the azimuth angle is 0; when the Y-axis coincides with the south direction, the azimuth angle is π; when the Y-axis coincides with the east direction, the azimuth angle is π / 2; and when the Y-axis coincides with the west direction, the azimuth angle is -π / 2.
[0135] The pitch angle represents the angle of rotation of the terminal device around the X-axis, and its range is [-π / 2, π / 2].
[0136] Assuming the terminal device's screen is facing upwards and the X-axis is parallel to the local horizontal plane, the pitch angle can represent the angle between the screen and the local horizontal plane. When the top short side of the screen is tilted upwards, the pitch angle is positive; when the top short side of the screen is tilted downwards, the pitch angle is negative.
[0137] The roll angle represents the angle of rotation of the terminal device around the Y-axis, and its range is [-π, π].
[0138] Assuming the terminal device is placed flat with its screen facing upwards and parallel to the local horizontal plane, the angle between the plane perpendicular to the screen and the plane perpendicular to the horizontal plane when the device is rotated around the Y-axis is the roll angle. Both planes are parallel to the Y-axis. The roll angle is positive when the left long side of the screen tilts downwards, and negative when the right long side of the screen tilts downwards.
[0139] The Euler angles of the terminal device can be calculated based on the attitude quaternions output by the sensor module, using a set rotation sequence.
[0140] The terminal device can rotate from its initial posture to its current posture using different coordinate axis rotation sequences, such as ZXY rotation sequence, ZYX rotation sequence, etc. For example, the ZXY rotation sequence means first rotating the carrier coordinate system around the Z-axis by a certain angle (i.e., azimuth angle), then rotating the carrier coordinate system around the X-axis by a certain angle (i.e., pitch angle), and then rotating the carrier coordinate system around the Y-axis by a certain angle (i.e., roll angle), so that the terminal device rotates from its initial posture to its current posture.
[0141] When calculating Euler angles by rotating a terminal device in a certain rotation sequence, gimbal lock issues may occur. For example, for the ZXY rotation sequence, the gimbal lock critical point is a pitch angle of 90°; for the ZYX rotation sequence, the gimbal lock critical point is a roll angle of 90°. Taking a mobile phone as an example, in portrait mode, gimbal lock issues are prone to occur when the pitch angle reaches 90°; in landscape mode, gimbal lock issues are prone to occur when the roll angle reaches 90°.
[0142] To solve the gimbal lock problem, in this embodiment of the application, the Euler angles of the terminal device can be calculated using different rotation sequences based on the size of the previously determined pitch angle (hereinafter referred to as the target pitch angle) or the previously determined roll angle (hereinafter referred to as the target roll angle).
[0143] In some embodiments, when the target pitch angle is less than the target angle, the Euler angles of the terminal device can be determined using the ZXY rotation sequence; when the target pitch angle is greater than or equal to the target angle, the Euler angles of the terminal device can be determined using the ZYX rotation sequence.
[0144] The target angle can be greater than 45° and less than 90°. In some examples, the target angle can be less than 85° to better avoid gimbal lock issues; for example, the target angle can be 80°.
[0145] When the target pitch angle is small, using the ZXY rotation sequence generally avoids the gimbal lock problem caused by the pitch angle reaching 90°; moreover, this rotation sequence also avoids the gimbal lock problem caused by roll angle. When the target pitch angle is close to 90°, continuing to use the ZXY rotation sequence may lead to the gimbal lock problem caused by the pitch angle reaching 90°. In this case, using the ZYX rotation sequence can effectively avoid this gimbal lock problem. Moreover, when the user is using the terminal device, the roll angle generally does not reach 90° when the target pitch angle is close to 90°, and using the ZYX rotation sequence in this case generally does not lead to the gimbal lock problem caused by the roll angle reaching 90°. Therefore, through the above implementation method, the gimbal lock problem can be effectively mitigated, thereby improving the accuracy of Euler angle calculation results, and thus improving the accuracy of satellite finding results.
[0146] In some embodiments, the Euler angles of the terminal device can be determined by the ZYX rotation sequence when the target roll angle is less than the target angle; and the Euler angles of the terminal device can be determined by the ZXY rotation sequence when the target roll angle is greater than or equal to the target angle.
[0147] Similar to the implementation method described above that determines the rotation sequence based on the target pitch angle, when the target roll angle is small, using the ZYX rotation sequence generally avoids the gimbal lock problem caused by the roll angle reaching 90°; moreover, this rotation sequence also avoids the gimbal lock problem caused by the pitch angle. When the target roll angle is close to 90°, continuing to use the ZYX rotation sequence may lead to the gimbal lock problem caused by the roll angle reaching 90°. In this case, using the ZXY rotation sequence can effectively avoid this gimbal lock problem; moreover, when the user is using the terminal device, the pitch angle generally does not reach 90° when the target roll angle is close to 90°, and using the ZXY rotation sequence in this case generally does not lead to the gimbal lock problem caused by the pitch angle reaching 90°. Therefore, through the above implementation method, the gimbal lock problem can be effectively mitigated, thereby improving the accuracy of Euler angle calculation results, and consequently improving the accuracy of satellite finding results.
[0148] The Euler angle calculation methods corresponding to the two rotation orders mentioned above are introduced below. The attitude quaternion is Q(x,y,z,w).
[0149] When using the ZXY rotation sequence, the Euler angles of the terminal device can be calculated using the following formula:
[0150]
[0151] θ s =arcsin(-2(wz+xy))
[0152]
[0153] in, θ represents the azimuth angle. s Indicates pitch angle, Indicates the roll angle.
[0154] When using the ZYX rotation sequence, the Euler angles of the terminal device can be calculated using the following formula:
[0155]
[0156] θ s =arcsin(-2(xz-wy))
[0157]
[0158] In some embodiments, in order to improve the accuracy of the satellite search results, after determining the Euler angle of the terminal device, the Euler angle can be calibrated according to the magnetic declination of the location of the terminal device to eliminate the error between true north and magnetic north.
[0159] Here, magnetic declination represents the deviation between true north and magnetic north, which can be measured by a sensor module. If magnetic north is east of true north, the magnetic declination is positive; if magnetic north is west of true north, the magnetic declination is negative.
[0160] In practice, the magnetic declination of the terminal device's location can be added to the azimuth of the terminal device to obtain the calibrated azimuth.
[0161] In some embodiments, to further improve the stability of the star-finding results, the Euler angles of the terminal device can be smoothed to reduce the impact of data jitter on the calculation results.
[0162] Optionally, the average of several recently determined Euler angles can be calculated, and the average value of each Euler angle can be used to update the Euler angles of the terminal device determined this time.
[0163] For example, the azimuth, pitch, and roll angles of the 20 most recently calculated Euler angles can be averaged, and the average values of the azimuth, pitch, and roll angles can be used as the Euler angles for the current terminal device. These Euler angles can then be used to determine the subsequent rotation matrix.
[0164] In some embodiments, Euler angle data smoothing can be performed after magnetic declination calibration to improve the accuracy of the calculation results.
[0165] After determining the Euler angles of the terminal device, the rotation matrix from the carrier coordinate system to the ENU coordinate system can be determined based on the Euler angles. Similarly, different rotation sequences correspond to different rotation matrices.
[0166] When using the ZXY rotation order, the rotation matrix can be calculated using the following formula:
[0167]
[0168] When using the ZYX rotation order, the rotation matrix can be calculated using the following formula:
[0169]
[0170] As mentioned earlier, the antenna angle configuration information can include the angle information of the antenna pointing in the carrier coordinate system of the terminal device. As shown in Figure 7, the antenna angle configuration information can specifically include: the angle α between the projection of the antenna pointing in the XOY plane of the carrier coordinate system and the Y-axis, and the angle β between the projection of the antenna pointing in the YOZ plane of the carrier coordinate system and the Y-axis.
[0171] Based on the antenna's angle configuration information, the coordinates of the antenna pointing in the carrier coordinate system can be determined. For ease of data processing, in some examples, the coordinates of the antenna pointing unit vector in the carrier coordinate system can be determined.
[0172] Assume the antenna pointing to the unit vector is SatA. xyz If the coordinates are [x0, y0, z0], then the coordinates of the antenna pointing unit vector in the carrier coordinate system can be calculated using the following formula:
[0173]
[0174] In some examples, the antenna angle configuration information can also be other angle information, and the above calculation method for the antenna pointing unit vector can be adaptively adjusted.
[0175] Based on the rotation matrix from the carrier coordinate system to the ENU coordinate system, the coordinates of the antenna pointing unit vector in the carrier coordinate system can be converted to ENU coordinates SatA. enu ,in:
[0176]
[0177] Based on the ENU coordinates (SatA) of the antenna pointing to the unit vector. enu We can determine that the azimuth angle φ2 and elevation angle θ2 of the antenna pointing unit vector in the ENU coordinate system are respectively:
[0178]
[0179] Understandably, the pitch angle θ2 can also be calculated using a similar method as the pitch angle θ1 of the target satellite.
[0180] In the above implementation, the coordinates of the antenna pointing unit vector in the carrier coordinate system are determined based on the antenna's angle configuration information. Then, the coordinates of the antenna pointing unit vector in the carrier coordinate system are converted into ENU coordinates based on the rotation matrix. Finally, the azimuth and elevation angles of the antenna pointing in the ENU coordinate system are determined based on these ENU coordinates. This calculation method takes into account the coupling relationship between the azimuth and elevation angles in three-dimensional space, thus determining more accurate antenna pointing angle information and improving the accuracy of satellite search results.
[0181] It is understood that in some embodiments, the antenna angle configuration information can be linearly added to or subtracted from the Euler angles of the terminal device to obtain the antenna pointing angle information, thereby simplifying the calculation process.
[0182] S3. Determine the angular difference between the antenna pointing direction and the satellite direction.
[0183] Once the satellite orientation and antenna pointing angle information are determined, the satellite orientation module can determine the angle difference between the antenna pointing angle and the satellite orientation.
[0184] This angle difference can include the difference in azimuth and elevation angles between the antenna pointing and the satellite direction in the ENU coordinate system.
[0185] In some examples, the azimuth difference = azimuth angle pointing to the antenna - azimuth angle pointing to the satellite, and the elevation difference = elevation angle pointing to the antenna - elevation angle pointing to the satellite. In other examples, other calculation methods can be used to determine the azimuth and elevation differences, such as subtracting the antenna pointing angle information from the satellite direction angle information. This application does not impose any particular limitation on the calculation method for the angle differences.
[0186] S4. Display star-finding guidance information based on the angle difference.
[0187] After determining the angular difference between the antenna pointing direction and the satellite direction, it can be used to determine whether the antenna is now aligned with the target satellite.
[0188] In some examples, the terminal device can determine whether the absolute value of the azimuth difference is less than a first threshold and whether the absolute value of the elevation difference is less than a second threshold. If the absolute value of the azimuth difference is less than the first threshold and the absolute value of the elevation difference is less than the second threshold, it can be considered that the antenna is now aligned with the target satellite. The display module can then display the alignment prompt on the satellite search guidance interface, such as the operation prompt shown in (d) of Figure 2 above.
[0189] If the absolute value of the azimuth difference is greater than or equal to the first threshold, or the absolute value of the elevation difference is greater than or equal to the second threshold, it can be considered that the antenna is not pointing at the target satellite. The display module can then display alignment prompts on the satellite search guidance interface to guide the user to point the antenna at the target satellite. These alignment prompts can be, for example, the alignment operation prompts shown in Figure 2(b) or (c) above.
[0190] It is understood that the above is an example of determining the satellite direction and antenna pointing angle information based on the ENU coordinate system. In some embodiments, the satellite direction and antenna pointing angle information can also be unified to other coordinate systems. Correspondingly, the calculation methods of the above-mentioned transfer matrix and rotation matrix can be adaptively adjusted.
[0191] Those skilled in the art will understand that the above embodiments are exemplary and not intended to limit this application. Where possible, the execution order of one or more of the above steps can be adjusted or selectively combined to obtain one or more other embodiments. For example, steps S1 and S2 can be executed sequentially or in parallel; as another example, in some embodiments, step S4 may be omitted. Those skilled in the art can arbitrarily select and combine the above steps as needed, and all combinations that do not depart from the essence of the present application fall within the protection scope of this application.
[0192] The satellite-finding scheme provided in this application switches between two rotation sequences based on the relationship between the pitch or roll angle of the terminal device and the target angle. This effectively alleviates the gimbal lock problem, thereby improving the accuracy of Euler angle calculation results and consequently, the accuracy of satellite-finding results. Furthermore, in determining the antenna direction angle information, this scheme first determines the coordinates of the antenna pointing unit vector in the carrier coordinate system based on the antenna's angle configuration information. Then, using the rotation matrix from the carrier coordinate system to the ENU coordinate system, the coordinates of the antenna pointing unit vector in the carrier coordinate system are converted to ENU coordinates. Finally, based on these ENU coordinates, the azimuth and pitch angles of the antenna pointing in the ENU coordinate system are determined. This calculation method considers the coupling relationship between azimuth and pitch angles in three-dimensional space, resulting in more accurate antenna pointing angle information and thus improving the accuracy of satellite-finding results. In addition, after determining the Euler angles of the terminal device, this scheme performs magnetic declination calibration and data smoothing processing on the Euler angles, which improves the accuracy and stability of the Euler angle determination results, thereby enhancing the accuracy and stability of satellite-finding results.
[0193] Figure 8 is a schematic flowchart of the star-finding method provided in an embodiment of this application. As shown in Figure 8, the star-finding method may include the following steps:
[0194] S100. Determine the azimuth and elevation angles of the satellite in the target coordinate system.
[0195] Among them, the satellite direction is the direction from the location of the terminal device to the location of the target satellite.
[0196] The target coordinate system takes the location of the terminal device as its origin. It can be the aforementioned ENU coordinate system to facilitate coordinate calculations; in some examples, the target coordinate system can also be other ground coordinate systems.
[0197] In some embodiments, to facilitate data processing, the azimuth and elevation angles of the satellite orientation unit vector in the target coordinate system can be specifically determined.
[0198] In practical implementation, the coordinates of the satellite direction unit vector in the geocentric coordinate system can be determined first based on the geocentric coordinates of the target satellite and the geocentric coordinates of the terminal device. Then, the transition matrix from the geocentric coordinate system to the target coordinate system can be determined based on the geodetic coordinates of the terminal device. Then, the coordinates of the satellite direction unit vector in the target coordinate system can be determined based on the transition matrix and the coordinates of the satellite direction unit vector in the geocentric coordinate system. After that, the azimuth and elevation angles of the satellite direction unit vector in the target coordinate system can be determined based on the coordinates of the satellite direction unit vector in the target coordinate system.
[0199] The specific implementation process for determining the azimuth and elevation angles of the satellite can be found in the relevant description of step S1 in the aforementioned embodiments, and will not be repeated here.
[0200] S200. When the target Euler angle of the terminal device is less than the target angle, the Euler angle of the terminal device is determined by the first rotation sequence; when the target Euler angle is greater than or equal to the target angle, the Euler angle of the terminal device is determined by the second rotation sequence.
[0201] Among them, the Euler angle of the terminal device is the Euler angle of the carrier coordinate system of the terminal device relative to the target coordinate system.
[0202] The target Euler angle can be the previously determined pitch or roll angle; the first rotation sequence is to rotate sequentially around the azimuth axis, the first axis, and the second axis of the carrier coordinate system, where the first axis is the rotation axis corresponding to the target Euler angle among the pitch and roll axes, and the second axis is the other axis among the pitch and roll axes. The second rotation sequence is to rotate sequentially around the azimuth axis, the second axis, and the first axis of the carrier coordinate system.
[0203] For example, when the target Euler angle is a pitch angle, the first axis is the pitch axis and the second axis is the roll axis; the corresponding first rotation sequence is the aforementioned ZXY rotation sequence, and the second rotation sequence is the aforementioned ZYX rotation sequence. When the target Euler angle is a roll angle, the first axis is the roll axis and the second axis is the pitch axis; the corresponding first rotation sequence is the aforementioned ZYX rotation sequence, and the second rotation sequence is the aforementioned ZXY rotation sequence.
[0204] The target angle can be set according to actual needs. In some embodiments, the target angle can be greater than 45° and less than 85° to better avoid the gimbal lock problem.
[0205] The specific implementation method for determining Euler angles by the terminal device can be found in the relevant description in step S2 of the aforementioned embodiments, and will not be repeated here.
[0206] S300. Determine the azimuth and elevation angles of the antenna pointing in the target coordinate system based on the Euler angles of the terminal equipment.
[0207] In some embodiments, the antenna angle configuration information can be linearly added to or subtracted from the Euler angles of the terminal device to obtain the antenna pointing angle information.
[0208] In some embodiments, the rotation matrix from the carrier coordinate system to the target coordinate system can be determined first based on the Euler angles of the terminal device; and the coordinates of the antenna pointing unit vector in the carrier coordinate system can be determined. Then, the coordinates of the antenna pointing unit vector in the carrier coordinate system are converted to the coordinates in the target coordinate system based on the rotation matrix; finally, the azimuth and elevation angles of the antenna pointing in the target coordinate system are determined based on the coordinates of the antenna pointing unit vector in the target coordinate system. This calculation method takes into account the coupling relationship between the azimuth and elevation angles in three-dimensional space, thus determining more accurate antenna pointing angle information, which in turn improves the accuracy of satellite finding results.
[0209] The coordinates of the antenna pointing unit vector in the carrier coordinate system are determined based on the angle configuration information of the satellite antenna. In some examples, the angle configuration information may include: the angle between the projection of the antenna pointing onto the XOY plane of the carrier coordinate system and the Y-axis, and the angle between the projection of the antenna pointing onto the YOZ plane of the carrier coordinate system and the Y-axis.
[0210] In some embodiments, before determining the azimuth and elevation angles of the antenna pointing in the target coordinate system based on the Euler angles of the terminal device, the Euler angles can be calibrated based on the magnetic declination of the location of the terminal device to eliminate the error between true north and magnetic north and improve the accuracy of the satellite search results.
[0211] In some embodiments, before determining the azimuth and elevation angles of the antenna pointing in the target coordinate system based on the Euler angles of the terminal device, the Euler angles of the terminal device can be smoothed to reduce the impact of data jitter on the calculation results and improve the stability of the satellite search results.
[0212] The specific implementation methods of each of the above processing steps can be found in the relevant description in step S2 of the foregoing embodiments, and will not be repeated here.
[0213] S400. Determine the difference in azimuth and elevation angles between the antenna pointing and the satellite direction in the target coordinate system.
[0214] The azimuth angle of the antenna pointing in the target coordinate system can be subtracted from the azimuth angle of the satellite direction in the target coordinate system to obtain the difference between the azimuth angles of the antenna pointing and the satellite direction in the target coordinate system; similarly, the elevation angle of the antenna pointing in the target coordinate system can be subtracted from the elevation angle of the satellite direction in the target coordinate system to obtain the difference between the elevation angles of the antenna pointing and the satellite direction in the target coordinate system. For specific implementation details, please refer to the relevant description in step S3 of the aforementioned embodiments, which will not be repeated here.
[0215] S500 displays satellite search guidance information based on the azimuth and elevation angle differences.
[0216] After determining the angular difference between the antenna direction and the satellite direction, the terminal device can display satellite search guidance information accordingly.
[0217] For specific implementation details, please refer to the relevant descriptions in Figure 2 and step S4 of the aforementioned embodiments, which will not be repeated here.
[0218] Those skilled in the art will understand that the above embodiments are exemplary and not intended to limit this application. Where possible, the execution order of one or more of the above steps can be adjusted, or they can be selectively combined to obtain one or more other embodiments. For example, in some embodiments, there is no strict temporal relationship between steps S100 and S200; they can be executed sequentially or simultaneously. In some embodiments, step S500 may be omitted. Those skilled in the art can arbitrarily select and combine the above steps as needed, and all combinations that do not depart from the essence of this application fall within the protection scope of this application.
[0219] Based on the same concept, this application also provides a terminal device. Please refer to Figure 9, which is a schematic diagram of the structure of the terminal device provided in this application.
[0220] Terminal device 100 may include processor 110, memory 120, display screen 130, power module 140, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, and sensor module 170, etc. Among them, sensor module 170 may include gyroscope sensor 170A, magnetic sensor 170B, accelerometer sensor 170C, etc.
[0221] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the terminal device 100. In other embodiments of this application, the terminal device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or arrange the components differently. The functional characteristics of the illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0222] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0223] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0224] The memory 120 can be used to store executable program code, which includes instructions. The processor 110 executes various functional applications and data processing of the terminal device 100 by running the instructions stored in the memory 120. The memory 120 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function, etc. The data storage area may store data (such as image data) created during the use of the terminal device 100. In addition, the memory 120 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, Universal Flash Storage (UFS), etc.
[0225] Display screen 130 is used to display images, videos, etc.
[0226] The power module 140 is used to receive power input and supply power to the terminal device 100.
[0227] The wireless communication function of the terminal device 100 can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0228] Antennas 1 and 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.
[0229] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the terminal device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.
[0230] The wireless communication module 160 can provide solutions for wireless communication applications on the terminal device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), satellite communication, global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technology. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0231] In some embodiments, antenna 1 of terminal device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling terminal device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division-Synchronous Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GNSS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0232] The gyroscope sensor 170A can be used to determine the motion attitude of the terminal device 100. In some embodiments, the angular velocity of the terminal device 100 about three axes (i.e., the X, Y, and Z axes) can be determined by the gyroscope sensor 170A.
[0233] The magnetic sensor 170B includes a Hall effect sensor. The terminal device 100 can use the magnetic sensor 170B to detect the opening and closing of the flip cover. In some embodiments, when the terminal device 100 is a flip phone, the terminal device 100 can detect the opening and closing of the flip cover based on the magnetic sensor 170B. Then, based on the detected opening and closing state of the cover or the flip cover, features such as automatic flip unlocking can be set.
[0234] The magnetic sensor 170B may also include a magnetometer. The terminal device 100 can use the magnetometer to obtain geomagnetic information about the location of the terminal device 100, such as magnetic north.
[0235] The accelerometer 170C can detect the magnitude of acceleration of the terminal device 100 in various directions (generally three axes). When the terminal device 100 is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the attitude of the terminal device and applied to applications such as landscape / portrait switching and pedometers.
[0236] The terminal device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, so they will not be described again here.
[0237] This application also provides a readable storage medium (also known as a computer-readable storage medium) storing a program thereon, which, when executed by a processor, implements the method described in the above-described method embodiments.
[0238] This application also provides a program product (also known as a computer program product) that, when run on a device, causes the device to implement the method described in the above-described method embodiments.
[0239] This application also provides a chip system including a processor coupled to a memory. The processor executes a program stored in the memory to implement the method described in the above embodiments. The chip system may be a single chip or a chip module composed of multiple chips.
[0240] In the above embodiments, each processing step or functional feature can be implemented, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented, in whole or in part, as a program product. The program product includes one or more instructions. When the instructions are loaded and executed on the device, the process or function described in accordance with the embodiments of this application is generated, in whole or in part. The instructions can be stored in a readable storage medium or transmitted through the readable storage medium.
[0241] The naming or numbering of steps in this application does not mean that the steps in the method flow must be executed in the time / logical order indicated by the naming or numbering. The execution order of the named or numbered process steps can be changed according to the technical purpose to be achieved, as long as the same or similar technical effect can be achieved.
[0242] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0243] In the embodiments provided in this application, it should be understood that the disclosed apparatus / devices and methods can be implemented in other ways. For example, the apparatus / device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0244] It should be understood that in the description of this application and the appended claims, the terms "comprising," "including," "having," and any variations thereof are intended to cover a non-exclusive inclusion and mean "including but not limited to," unless otherwise specifically emphasized. For example, a process, method, system, product, or apparatus that includes a series of steps or modules is not necessarily limited to those steps or modules that are explicitly listed, but may include other steps or modules that are not explicitly listed or that are inherent to such process, method, product, or apparatus.
[0245] In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can mean A or B. "And / or" in this application is used to describe the relationship between the related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. A and B can be singular or plural.
[0246] Furthermore, in the description of this application, unless otherwise stated, "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0247] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."
[0248] Furthermore, in the description of this application and the appended claims, the terms "first," "second," etc., are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence, nor should they be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein; features defined as "first" or "second" may explicitly or implicitly include at least one of those features.
[0249] In the embodiments of this application, the words "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplarily" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.
[0250] References to "one embodiment" or "some embodiments" in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized.
[0251] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A method for finding stars, characterized in that, The method, applied to a terminal device, includes: determining the azimuth and elevation angles of a satellite in a target coordinate system; the satellite direction is the direction from the location of the terminal device to the location of the target satellite, and the target coordinate system has the location of the terminal device as its origin; if the target Euler angle of the terminal device is less than the target angle, a first rotation sequence is used to determine the Euler angle of the terminal device; if the target Euler angle is greater than or equal to the target angle, a second rotation sequence is used to determine the Euler angle of the terminal device; wherein, the Euler angle of the terminal device is the Euler angle of the terminal device's carrier coordinate system relative to the target coordinate system, and the target Euler angle is the previously determined elevation or roll angle; the first... The rotation sequence is as follows: rotation around the azimuth axis, the first axis, and the second axis of the carrier coordinate system in sequence; the second rotation sequence is as follows: rotation around the azimuth axis, the second axis, and the first axis of the carrier coordinate system in sequence; the first axis is the rotation axis corresponding to the Euler angle of the target among the pitch axis and the roll axis; the second axis is the other axis among the pitch axis and the roll axis; the target angle is less than 90°; the azimuth and elevation angles of the antenna pointing in the target coordinate system are determined according to the Euler angles of the terminal device; the antenna pointing is the optimal beam pointing of the satellite antenna; the azimuth and elevation angle differences between the antenna pointing and the satellite direction in the target coordinate system are determined; satellite search guidance information is displayed according to the azimuth and elevation angle differences.
2. The method according to claim 1, characterized in that, The determination of the azimuth and elevation angles of the satellite direction in the target coordinate system includes: determining the coordinates of the satellite direction unit vector in the geocentric coordinate system based on the geocentric coordinates of the target satellite and the geocentric coordinates of the terminal device; determining the transition matrix from the geocentric coordinate system to the target coordinate system based on the geodetic coordinates of the terminal device; determining the coordinates of the satellite direction unit vector in the target coordinate system based on the transition matrix and the coordinates of the satellite direction unit vector in the geocentric coordinate system; and determining the azimuth and elevation angles of the satellite direction in the target coordinate system based on the coordinates of the satellite direction unit vector in the target coordinate system.
3. The method according to claim 1 or 2, characterized in that, Before determining the azimuth and elevation angles of the antenna pointing in the target coordinate system, the method further includes calibrating the Euler angles of the terminal device based on the magnetic declination of the location of the terminal device.
4. The method according to any one of claims 1-3, characterized in that, Before determining the azimuth and elevation angles of the antenna pointing in the target coordinate system, the method further includes: performing data smoothing on the Euler angles of the terminal device.
5. The method according to any one of claims 1-4, characterized in that, The step of determining the azimuth and elevation angles of the antenna pointing in the target coordinate system based on the Euler angles of the terminal device includes: determining a rotation matrix from the carrier coordinate system to the target coordinate system based on the Euler angles of the terminal device; determining the coordinates of the antenna pointing unit vector in the carrier coordinate system; converting the coordinates of the antenna pointing unit vector in the carrier coordinate system to the coordinates in the target coordinate system based on the rotation matrix; and determining the azimuth and elevation angles of the antenna pointing in the target coordinate system based on the coordinates of the antenna pointing unit vector in the target coordinate system.
6. The method according to claim 5, characterized in that, The coordinates of the antenna pointing unit vector in the carrier coordinate system are determined according to the angle configuration information of the satellite antenna. The angle configuration information includes: the angle between the projection of the antenna pointing onto the XOY plane of the carrier coordinate system and the Y-axis, and the angle between the projection of the antenna pointing onto the YOZ plane of the carrier coordinate system and the Y-axis; wherein, the X-axis is the pitch axis, the Y-axis is the roll axis, and the Z-axis is the azimuth axis.
7. The method according to any one of claims 1-6, characterized in that, The Euler angles of the terminal device include: azimuth angle, pitch angle, and roll angle; the Euler angles of the terminal device are determined based on the attitude quaternion of the terminal device.
8. The method according to any one of claims 1-7, characterized in that, The target angle is greater than 45° and less than 85°.
9. A terminal device, characterized in that, include: A memory and a processor, the memory being used to store a computer program; the processor being used to execute the method as described in any one of claims 1-8 when the computer program is invoked.
10. A program product, characterized in that, When the program product is run on the device, the device performs the method as described in any one of claims 1-8.