The present application relates to satellite communication, more particularly, to a satellite search method, which is capable of improving time-to-first-fix (TTFF).
Satellite positioning has been widely used in various applications. In satellite communication systems such as Global Navigation Satellite System (GNSS), a cold start state means that no information such as the receiver position, observation time, satellite orbit information (e.g. almanac or ephemeris) are available. Accordingly, the identification (ID) of a visible satellite is of course unknown. In addition to the satellite ID, the Doppler frequency due to the satellite motion with respect to the user is unknown. If a Code Division Multiple Access (CDMA) signaling is used in the system, Global Positioning System (GPS) for example, the code phase of the Pseudo Random Noise (PRN) code used by a satellite is also required to track that satellite. As mentioned, the characteristic of a satellite signal can be determined by the following variables: satellite ID, Doppler frequency and PRN code phase.
At least four satellites are required to fix a three dimensional position. The required time-to-first-fix (TTFF) depends on how fast the four visible satellites can be found. For example, there may be as many as twelve GPS satellites that are visibly observed from the surface of the earth. Conventionally, all of the possible satellites are searched sequentially in order to find the visible satellites. Moreover, the Doppler frequency and PRN code phase of each satellite are also unknown. Therefore, it takes a lot of time to try all the possible values to determine a satellite's existence.
In general, a receiver searches for a visible satellite by using correlation analysis which considers satellite ID (e.g. satellites of the system GPS, Galileo, WAAS, EGNOS, MSAS etc.), code phase, and Doppler frequency. In addition, serial and parallel searches might be used. For example, four different satellites can be searched at the same time if there are four available channels. To search a satellite, all the possible code phases and Doppler frequencies thereof should be scanned.
A numerical example will be described hereinafter. Assuming that a visible GPS satellite list is {5, 9, 14, 15, 18, 21, 22, 26, 29, 30} for a receiver, which can use one physical channel and ten channels to search and track satellites, respectively. Scanning time, Ts, is defined as the time required to scan the whole range of possible Doppler frequencies and code phases. If a candidate satellite is not visible, a correlator dismisses it after searching time Ts. On the other hand, the correlator hits a visible satellite after searching time ½ Ts on average. Further, it is assumed that the data demodulation bit error rate is zero. Therefore, it takes 750 sec to receive almanac after the hit of the first satellite. After the hit of one satellite, it takes 27.6 sec on average to receive its ephemeris. The scanning time, Ts, can be computed for a receiver that tracks GPS L1 C/A code signal, which has 1023 chips per code period. If the code resolution of code correlation in acquisition process is ½ chip, the code phase uncertainty range size is 2046. In general, a combination of coherent and incoherent integration is used in the receiver to increase the acquisition sensitivity. Therefore, the correlation period (denoted by ΔT) for one particular pair of Doppler frequency and code phase candidates is the coherent time (denoted by Tc) multiplied by the incoherent count (denoted by Ti). Moreover, the Doppler frequency resolution, dF, is set to be 1/Tc in general. Finally, the whole Doppler range is denoted by AF. Based on the above assumptions, the scanning time Ts can be computed as follows.
If the receivers uses Tc of 1 ms to perform coherent integration and no incoherent integration is used, i.e., Ti equals one, then the required scanning time Ts is 20.46 seconds to scan the Doppler range size equal to 10 kHz. Four satellites must be found to make the first position fix. Assuming that the satellite search order is 1, 2, . . . , 32 for a sequential search of GPS satellites, then satellites 5, 9, 14 and 15 in the visible satellite list should be hit in order. Table 1 shows the results of sequential search.
The visibilities of+ the respective satellites can be obtained from observation statistics results at various time sampling points for a fixed position.
As can be seen from Table 1, the sequential searching scheme takes 4.5 Ts (=110.07 sec) to achieve the first hit (Satellite 5 is hit), and about 13 Ts+27.6=345.58 sec to achieve the first fix (Satellites 5, 9, 14 and 15 are hit and 27.6 sec are required to collect the ephemeris of satellite 15.) To find all satellites on the visible satellite list, 25 Ts (611.5 sec) is required. These periods of hit time are undesirably long. Accordingly, there is a need for a solution to reduce the time required to find the visible satellites.
The present invention is to provide a satellite search method, by which satellites required to fix a position can be rapidly found.
In accordance with the present invention, the satellites are selected to consist of a group, and searching is conducted in this group. The group size is predetermined for each stage so as to be the most appropriate for various searching conditions. The member number of the group (i.e. group size) and the members of the group are updated as the searching results are continually obtained. The updates are done according to scanning times of the group, satellite hit number, searching time for the group and satellite priorities and the like, for example. The group size can be reduced or expanded.
Details of the present invention will be described as follows.
The satellite searching method of U.S. patent application Ser. No. 11/392,976 is shown in
If the process finds that the current channel hits a satellite in step S190, the process will increase the weight factors of the satellites according to their conditional visibilities with respect to the hit one. In one embodiment, the weight factor of the hit satellite per se is not updated. In another embodiment, the weight factor of the hit satellite is also updated. The current channel will be used to track the hit satellite and so the process goes to step S240 directly to process the next channel.
In the above descriptions, the satellite member with the highest priority is searched and in the meanwhile is removed from the CandList. The satellite priorities are described as follows. The satellite searching is started with searching for a predetermined or randomly selected first satellite from the list of candidate satellites including all or a predetermined part of the available satellites. An initial weight factor table is previously prepared. The initial weight factors are then updated whenever a satellite is searched. The weight factors are used to determine which satellite has the highest probability indicating that it is visible. For example, if the candidate satellite list includes satellites SV1, SV2, . . . , SV32, and the searched satellite is satellite SV1, then the updated weight factors of satellites SV2 to SV32 are used to choose the next satellite to search. The weight factors can be updated according to any desired interrelationships between two satellites. The weight factors are updated according to conditional visibilities, that is, the conditional probabilities that a satellite is visible if a specific satellite is visible. An example of the conditional visibilities for satellite SV1 is shown in Table 2. The rest can be deduced in the same way.
Initial weight factors Wi for i=1, 2, . . . , 32 in the weight factor table are all set to be 0. Whenever a satellite, SVi for example, is searched and determined to be visible or not, the weight factors Wj for j=1, 2, . . . , i−1, i+1, . . . , 32 are updated based on the respective conditional visibilities Vj|i.
The first satellite to be searched can be predetermined as satellite SV1. However, it can be any one of the possible satellites. The first satellite to be searched can also be selected randomly. After the first satellite is searched, the initial weight factor table is updated according to the searching result of this satellite, SV1 in this embodiment. If the satellite SV1 is hit, the weight factors of the other satellites SV2 to SV32 are increased according to their conditional visibilities with respect to SV1. That is, Wj=Wj+Vj|1 for j=2, 3, . . . , 32. On the other hand, the weight factors are decreased if the satellite SV1 is dismissed. That is, Wj=Wj−Vj|1 for j=2, 3, . . . , 32. Then, a second satellite to be searched is selected according to the updated weight factor table. For example, a satellite with the highest weight factor is selected to search. The sequent satellites to be searched are selected similarly.
In the present invention, the members of the satellite ID list (i.e. the CandList) to be searched is more effectively controlled and reduced dynamically, so that correlators of the receiver are used to search a group of satellites which are most probably visible. In weak signal situation, dwell time of a satellite search is huge in order to increase acquisition sensitivity. Under such a condition, it is possible to reduce TTFF if all of the correlators of the receiver are used to search the group of satellites which are most probably visible, since the receiver does not spend a lot of time on searching invisible satellites.
Preferably, the group members of the candidate list are changed dynamically and the group size converges to a list of truly visible satellites so as to reduce the searching range for the receiver. However, the group can be also expanded to search more un-acquired satellite when most members of the current group have been acquired and tracked or when the members of the current group have been searched for many times but the required almanac and ephemeris information have not been obtained, for example.
In the embodiment shown in
In one embodiment, when the group is updated from the initial group of 32 members to the group of 8 members, the 8 satellites with the highest priorities among the 32 satellites can be selected as the 8 members. The priorities can be determined by the weight factors described above. As mentioned, the change from 32 members to 8 members can be executed after a first satellite is searched. That is, after a first satellite is searched, no matter it is hit or dismissed, the priorities of all the satellites can be updated based on the searching result, and the 8 members are selected according to the satellite priorities. Alternatively and preferably, the change from the initial 32 members to 8 members is executed after the first hit. That is, the change is done only when a first satellite is found. This is to avoid the effect of signal blocking or wrong detection.
During each stage (e.g. G8, G16 or G32), the members of the group can be constant until the group size is changed. For example, during the stage of G8, the 8 members are not changed. When the stage is updated from G8 to G16, the 16 satellites with the highest priorities among all the available satellites are selected as the 16 members of the group G16. In another embodiment, during each stage, the members are variable. For example, during the G8 stage, the eight members of this group are not fixed but updated according to the searching results. The eight members are selected according to the satellite priorities described above. The satellite priorities can be updated whenever a satellite is searched. Alternatively, the satellite priorities are updated only when a satellite is hit. Furthermore, in addition to the conditional visibilities used to determine the priorities as mentioned above, estimated CNR (carrier-to-noise ratio) of signals received from the satellites can also be used with the conditional visibilities to commonly determine the satellite priorities. This is to avoid the effect of detection false alarm.
In the case that the group members for a specific group are variable, the members of the group can be updated whenever the satellite priorities are updated. However, the members can also be updated after the satellite priorities have been subjected to several updates instead of only one update. Since the probability of false detection or blocking for several satellites is less than that for only one satellite, the satellite priorities can be more correct and reliable by doing so.
The settings for change of the group size and the update of the group members are very flexible in accordance with the present invention. In addition to the conditions mentioned above, any other possible condition can be taken into account.
Although the GPS system and satellites the above embodiments, other GNSS (Global Navigation Satellite System) systems such as GLONASS, GALILEO system and the like are also applicable. In addition, the present invention can also utilized in SBAS (Satellite Based Augmentation Systems), which include MSAS, EGNOS, WAAS and so on. The method in accordance with the present invention can be used in any other proper type of communication system.
While the preferred embodiments of the present invention have been illustrated and described in detail, various modifications and alterations can be made by persons skilled in this art. The embodiment of the present invention is therefore described in an illustrative but not restrictive sense. It is intended that the present invention should not be limited to the particular forms as illustrated, and that all modifications and alterations which maintain the spirit and realm of the present invention are within the scope as defined in the appended claims.
The present application is a continuation-in-part of U.S. patent application Ser. No. 11/392,976, entitled “COLD START SATELLITE SEARCH METHOD”, filed on Mar. 28, 2006. In addition, the present application claims the priority of the Provisional Application Ser. No. 60/802,757, entitled “SATELLITE GROUP SEARCH METHODS FOR IMPROVING TIME TO FIRST FIX”, filed on May, 23, 2006.
Number | Name | Date | Kind |
---|---|---|---|
5402347 | McBurney et al. | Mar 1995 | A |
5418538 | Lau | May 1995 | A |
5535237 | LaPadula et al. | Jul 1996 | A |
5600670 | Turney | Feb 1997 | A |
5663735 | Eshenbach | Sep 1997 | A |
5798732 | Eshenbach | Aug 1998 | A |
5854605 | Gildea | Dec 1998 | A |
5917444 | Loomis et al. | Jun 1999 | A |
6191731 | McBurney et al. | Feb 2001 | B1 |
6211817 | Eschenbach | Apr 2001 | B1 |
6225945 | Loomis | May 2001 | B1 |
6273429 | Dudinetz et al. | Aug 2001 | B1 |
6275185 | Loomis | Aug 2001 | B1 |
6400319 | Castelloe et al. | Jun 2002 | B1 |
6459405 | Da et al. | Oct 2002 | B1 |
6559793 | Eschenbach | May 2003 | B1 |
6597988 | Brodie et al. | Jul 2003 | B1 |
6671620 | Garin et al. | Dec 2003 | B1 |
6778136 | Gronemeyer | Aug 2004 | B2 |
20030079173 | Birru | Apr 2003 | A1 |
20040183724 | Sheynblat | Sep 2004 | A1 |
20060077096 | King et al. | Apr 2006 | A1 |
20060152409 | Raman et al. | Jul 2006 | A1 |
20060181452 | King et al. | Aug 2006 | A1 |
20060250304 | Mo et al. | Nov 2006 | A1 |
Number | Date | Country | |
---|---|---|---|
20070229352 A1 | Oct 2007 | US |
Number | Date | Country | |
---|---|---|---|
60802757 | May 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11392976 | Mar 2006 | US |
Child | 11566009 | US |