Abstract:
A satellite time dynamic search method and a receiver implementing such a method are disclosed. In the present invention, a predetermined period of time is sampled into multiple time samples. The time samples are sieved according to a search result of a satellite selected from candidate satellites each time. By repeatedly doing so, the finally remaining time sample will approach a true satellite system time, and accordingly the candidate satellites converge to the most possible ones as to facilitate satellite search.

Description:
RELATED APPLICATIONS 
       [0001]    The present application is a continuation-in-part of prior U.S. patent application Ser. No. 11/392,976, entitled: “COLD START SATELLITE SEARCH METHOD”, filed on Mar. 28, 2006, and U.S. patent application Ser. No. 11/566,009, entitled “SATELLITE SEARCH METHOD”, filed on Dec. 1, 2006. The entirety of each application is hereby incorporated herein by reference. 
     
    
     TECHNICAL FIELD OF THE INVENTION 
       [0002]    The present invention relates to a satellite searching, more particularly, to a method for dynamically and rapidly searching satellites and a receiver implementing such a method. 
       BACKGROUND OF THE INVENTION 
       [0003]    Nowadays, multiple Global Navigation Satellite System (GNSS) are available, including GPS (Global Positioning System) of US, which is designed to have 32 operational satellites, Galileo of Europe, which is designed to have 27 operational satellites, GLONASS (Global Navigation Satellite System) of USSR, which is designed to have 24 operational satellites, and Compass of China, which is designed to have 35 operational satellites. The constellation composed of these systems is called a super GNSS constellation. In addition, Regional Navigation Satellite Systems (RNSS) such as QZSS (Quasi-Zenith Satellite System) of Japan and GAGAN (GPS Aided Augmented Navigation System) of India are also planed to be operable in the near future. 
         [0004]    Further, various SBAS (Satellite Based Augmentation Systems) have been developed to augment GNSS, such as WAAS (Wide Area Augmentation System) of US, EGNOS (European Geostationary Navigation Overlay Service) of Europe, MSAS (MTSAT Satellite Based Augmentation System) of Japan, and GAGAN of India. 
         [0005]    As can been seen, the current constellation of satellites has been quite dense. As can be easily expected, the sky will be crowded with more and more satellites in the coming future. Therefore, how to search all the satellites quickly becomes more and more challenging for a receiver. As known in this field, searching for a satellite is to determine its satellite ID, Doppler frequency and PRN (Pseudo Random Number) code phase. The hardware speedup for the receiver is usually performed to reduce searching time in acquisition of Doppler frequency and PRN code phase. Little attention has been given to deal with the unknown satellite IDs. As mentioned, there are more and more satellite IDs to try in the satellite search as the constellation becomes larger and larger. It will take a very long period of time to acquire all the visible satellites by using the conventional sequential search method. In such a conventional method, the satellites are searched one by one and in a fixed order. The present invention provides a solution to overcome this problem. 
       SUMMARY OF THE INVENTION 
       [0006]    The present invention provides a satellite time dynamic search method, by which the satellite ID uncertainty can be significantly reduced so that a predetermined or required number of satellites can be rapidly acquired. The present invention also provides a receiver implementing such a method. The method comprises (a) providing a candidate satellite list containing a plurality of satellites; (b) calculating mean visibility of each satellite listed in the candidate satellite list for possible time samples in view of an observation location; (c) selecting a satellite from the candidate satellite list according to the mean visibility of each satellite listed in the candidate satellite list; (d) searching the selected satellite to obtain a search result; (e) eliminating at least one time sample from the possible time samples according to the search result; and (f) repeating steps (b) to (e), so as to rapidly and efficiently acquire satellites. 
         [0007]    The present invention further provides a receiver for receiving and processing satellite signals to conduct a satellite search. The receiver comprises: a correlation block for correlating the satellite signals with a code of a satellite so as to search the satellite; and a navigation processor for controlling the correlation block. The navigation processor provides a candidate satellite list containing a plurality of satellites, calculates mean visibility of each satellite listed in the candidate satellite list for possible time samples in view of an observation location, instructs the correlation block to search a satellite which is selected according to the mean visibility of each satellite to obtain a search result, and eliminates at least one time sample from the possible time samples according to the search result. 
         [0008]    According to the present invention, a satellite with the maximum mean visibility is selected from the candidate satellite list to be searched. The search result of the currently searched satellite is used to eliminate impossible time samples from the possible time samples so as to reduce the uncertainty range. 
         [0009]    In an embodiment of the present invention, each time sample that the searched satellite is not visible is eliminated if the search result indicates that the searched satellite is acquired, while each time sample that the searched satellite is visible is eliminated if the search result indicates that the searched satellite is unacquired. 
         [0010]    The candidate satellite list can be updated in various manners. In one case, one satellite is removed from the candidate satellite list once it has been searched to update the candidate satellite list, no matter the satellite has been acquired or not. In another case, one satellite is removed from the candidate satellite list once it has been acquired to update the candidate satellite list. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]    The present invention will be further described in details in conjunction with the accompanying drawings. 
           [0012]      FIG. 1  is a block diagram showing a receiver in accordance with the present invention; 
           [0013]      FIG. 2  is a flow chart showing a method in accordance with the present invention; 
           [0014]      FIG. 3  to  FIG. 13  respectively show visible time samples and mean visibilities of the respective candidate satellites in eleven searches using the method in accordance with the present invention; 
           [0015]      FIG. 14  is a chart showing calculated mean visibilities of the respective satellites for the first six searches using the method in accordance with the present invention; and 
           [0016]      FIG. 15  is a chart showing a search time comparison between results obtained by the conventional sequential search method and the method in accordance with the embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0017]    When a receiver starts, the first task is to search all the visible satellites in the sky. Satellite visibility relates to a user&#39;s position, system time (e.g. GPS time) and satellite orbital information. The satellite orbital information is from data collected in the last fixing of the receiver or from a remote aiding data server. The receiver can determine the satellite visibility by checking an elevation angle of a satellite with respect to the receiver, for example. A specific satellite is deemed as visible when the elevation angle is greater than 5 degrees. Otherwise, this satellite is deemed as invisible. However, in addition to the elevation angle of the satellite with respect to the receiver&#39;s position, the visibility of each satellite can be determined by any other proper method. The satellite visibility can be expressed as a function of the user&#39;s position, the system time and the satellite orbit information. If the user&#39;s rough position, the rough time (e.g. time provided by RTC (real time clock) unit of the receiver) and rough satellite orbit information (e.g. the six Kepler orbit parameters or an almanac) are known, it is possible to derive which satellites are visible under such a condition. Reversely, the current system time (e.g. current GPS time) is an inverse function of the user&#39;s position, the satellite orbit information and the satellite visibilities. That is, if the rough user&#39;s position and satellite orbital information are known, the current time can be approached by using the fact that a satellite is visible or not. The present invention is developed based on this concept. 
         [0018]    In the following descriptions, GPS with 32 satellites (SV 1 , SV 2 , . . . , SV 32 ) is taken as an example. However, the present invention is not limited thereto. 
         [0019]      FIG. 1  is a block diagram showing a receiver  100  in accordance with the present invention. The receiver  100  receives and processes satellite signals such GPS signals or other satellite system signals to position a user&#39;s location. For example, GPS signals, which are radio frequency (RF) signals, of all satellites are received by an antenna  101 . The RF signals are amplified by a preamplifier  103 . The amplified signals are then down converted by a down-converter  116  into intermediate frequency (IF) or baseband signals, using signal mixing frequencies provided by a frequency synthesizer  114 , which uses a reference clock provided by a reference oscillator  112  to generate the required frequencies. The IF or baseband signals are converted into digital signals by an analog-to-digital converter (ADC)  120 . In general, the preamplifier  103 , down-converter  116 , frequency synthesizer  114 , oscillator  112  and ADC  120  can be considered as a whole and referred to as an RF block  110  for dealing with RF signal processing. The digital signals are then passed to a correlation block  130  to be correlated with codes of satellites to obtain correlation results. This is known as satellite search. The correlation results from the correlation block  130  are provided to a navigation processor  140  to judge acquisition of the satellites. The correlation block  130  is controlled by the navigation processor  140  to execute satellite search and/or tracking. The details will be further described later. 
         [0020]    A predetermined time period of 24 hours is chosen in the present embodiment since the revolution period of the GPS satellite is about 24 hours. The period of 24 hours (i.e. 86400 seconds) is sampled every 600 seconds, and therefore there are 144 time samples. 
         [0021]      FIG. 2  is a flow chart showing a method in accordance with the present invention. The method starts at step S 210 . In step S 220 , an initial candidate satellite list “candList” including all the 32 satellites of GPS is set in the navigation processor  140 . That is, candList={1, 2, . . . , 32}. In step S 230 , an initial GPS time list “gpstList” including all the time samples is set in the navigation processor  140 . That is, gpstList={0, 600, 1200, . . . , 85800}. It is noted that the sequence of the steps  220  and  230  is arbitrary. These two steps can also be executed in parallel. 
         [0022]    In step S 240 , a visibility “vis(SV, t)” of each satellite in view of a specific position is calculated for each time sample. As mentioned, the visibility can be derived from the position, time and satellite orbital information. If a specific satellite (e.g. SV 1 ) is visible at a specific time (e.g. t=0), the visibility thereof is 1, that is, vis(SV 1 , 0)=1. If the satellite SV 1  is invisible at time 0, the visibility thereof is 0, that is, vis(SV 1 , 0)=0. 
         [0023]    In step S 250 , a mean visibility of each satellite “meanVis(SV)” of the candidate satellite list for the possible time samples is calculated as: 
         [0000]    
       
         
           
             
               
                 
                   
                     meanVis 
                      
                     
                       ( 
                       SV 
                       ) 
                     
                   
                   = 
                   
                     
                       1 
                       
                          
                         gpstList 
                          
                       
                     
                      
                     
                       
                         ∑ 
                         
                           t 
                           ∈ 
                           gpstList 
                         
                       
                        
                       
                         vis 
                          
                         
                           ( 
                           
                             SV 
                             , 
                             t 
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where |gpstList| is the number of samples in gpstList.
 
In the beginning, the meanVis(SV) is calculated for each satellite SV 1  to SV 32  with respect to the whole time period of 24 hours in this example. That is, all time samples are possible to be the true system time. It is found that the mean visibility of SV 29  is the highest. That is, the satellite SV 29  is most probably visible during the whole 24-hour time period. Accordingly, the navigation processor  140  chooses SV 29  as the candidate satellite “candSV” to be searched (step S 260 ) and instructs the correlation block  130  to execute correlation for searching SV 29  (step S 270 ). In step S 280 , the navigation processor  140  determines SV 29  is hit or not. If SV 29  is hit (i.e. acquired), then the time samples during which SV 29  is not visible are all removed from the GPS time list gpstList. That is, the navigation processor  140  removes each t for vis(candSV, t)=0 from gpstList (step S 292 ). If SV 29  is not hit (i.e. missed, unacquired), then the time samples during which SV 29  is visible are removed from the GPS time list gpstList. That is, the navigation processor  140  removes t for vis(candSV, t)=1 from gpstList (step S 295 ). No matter what the search result is, the amount of the possible time samples is significantly decreased. It is noted that the search result of “a missed satellite” should be carefully verified to make sure that the searched satellite is indeed unacquired. For example, an integration interval for correlation may be extended and then the extended interval is used in correlation to search the satellite again.
 
         [0024]    In step S 300 , the navigation processor  140  determines whether a predetermined number of satellites have been acquired. If so, the process can be ended at step S 310 . Otherwise, the process goes to step S 320 , in which the candidate satellite list candList is updated. In the present embodiment, once a satellite has been searched, it is removed from candList no matter it is hit or not. In another embodiment, only if a satellite is hit, then it is removed from candList. After updating candList, the navigation processor  140  determines whether the candidate satellite list candList is empty in step S 330 . If the candidate satellite list candList is not empty (i.e. candList≠{ }), it means that the current round of search has not been finished yet. The process goes back to step S 250 , the navigation processor  140  calculates the mean visibility for each candidate satellite of the updated candList based on the updated gpstList. In the present embodiment, if the candidate satellite list candList is empty (i.e. candList={ }), the navigation processor  140  puts all the unacquired satellites into the list to form a new initial candidate satellite list for the next round of search in step S 340 , and the process goes back to step S 250  to run the next round of search. 
         [0025]    An experimental example will be given as follows to reveal the effects of the present invention.  FIG. 3  to  FIG. 13  respectively show visible time samples and mean visibilities of candidate satellites in eleven searches of this example. In each drawing of  FIG. 3  to  FIG. 13 , the upper chart shows that candidate satellites are visible at which time samples; and the lower chart shows the mean visibility of each candidate satellite. In this example, GPS satellites visible at time t 0  are to be acquired. As can be seen, satellites SV 2 ,  4 ,  5 ,  10 ,  12 ,  13 ,  17  and  26  should be acquired. The predetermined time period is selected to be 24 hours. The period of 24 hours (i.e. 86400 seconds) is divided into 144 time samples, each of which has 600 seconds. 
         [0026]    In the beginning, all of the 32 GPS satellites are candidate satellites. That is, the candidate satellite list, candList, includes the 32 GPS satellites. The time t 0  is unknown. At an observation location (e.g. an observation station) where the user is, the time that each of the 32 GPS satellites is visible is recorded in the upper chart of  FIG. 3 . As mentioned, at time t 0 , satellites SV 2 ,  4 ,  5 ,  10 ,  12 ,  13 ,  17  and  26  should be visible in this assumed example. 
         [0027]    As described, the visibility vis(SV, t) of each satellite SV 1  to SV 32  can be determined to be 0 or 1 according to the position of the observation station, the satellite orbital information and the GPS system time. The mean visibilities of the respective 32 GPS satellites for the period of 24 hours are calculated. The result is shown in the lower chart in  FIG. 3 . In this example, the satellite SV 29  has the maximum mean visibility for the whole period of 24 hours. Therefore, SV 29  is selected as the first satellite to be searched. 
         [0028]    As shown in the upper chart of  FIG. 3 , at time t 0 , the satellite SV 29  is not visible. Therefore, the search result for SV 29  should be “missed” (i.e. unacquired). Based on the search result of SV 29 , we eliminate those time samples at which SV 29  is visible from the possible time samples. The resultant time sample chart is shown in the upper chart of  FIG. 4 . 
         [0029]    The possible time samples are reduced after searching of SV 29 . The mean visibilities of all the satellites for the remaining possible time samples are re-calculated. The result is shown in the lower chart of  FIG. 4 . As can be seen, the satellite SV 13  has the maximum mean visibility at this stage. Accordingly, SV 13  is selected as the second satellite to be searched. 
         [0030]    It is noted that each satellite is only searched once in one round of search no matter it is hit or not in this example. Therefore, in the second search, SV 29  is removed from the candidate satellite list. 
         [0031]    At time t 0 , the satellite SV 13  is visible. Therefore, the search result for SV 13  should be “hit” (i.e. acquired). The time samples that SV 13  is not visible are then eliminated. The result is shown in the upper chart of  FIG. 5 . The possible time samples are further reduced. The mean visibilities of all the satellites for the remaining possible time samples are re-calculated again. The result is shown in the lower chart of  FIG. 5 . Since SV 13  has been searched, it is removed from the candidate satellite list. That is, the candidate satellite list is again updated. The satellite SV 23  has the maximum visibility in the updated candidate satellite list. Accordingly, SV 23  is selected as the third satellite to be searched. 
         [0032]    As can be seen, the satellite SV 23  is invisible at time t 0 . Therefore, the search result for SV 23  should be “missed” (i.e. unacquired). The time samples that SV 23  is visible are then eliminated. The result is shown in the upper chart of  FIG. 6 . The possible time samples are further reduced. The mean visibilities of all the satellites for the remaining possible time samples are re-calculated again. The result is shown in the lower chart of  FIG. 6 . In the present example, since SV 23  has been searched, it is removed from the candidate satellite list even it is not acquired. That is, the candidate satellite list is again updated. The satellite SV 27  has the maximum visibility in the updated candidate satellite list. Accordingly, SV 27  is selected as the fourth satellite to be searched. 
         [0033]    At time t 0 , the satellite SV 27  is invisible. Therefore, the search result for SV 27  should be “missed” (i.e. unacquired). The time samples that SV 27  is visible are then eliminated. The result is shown in the upper chart of  FIG. 6 . The possible time samples are further reduced again. The mean visibilities of all the satellites for the remaining possible time samples are re-calculated again. The result is shown in the lower chart of  FIG. 7 . As can be seen, the mean visibilities of the satellites SV 2 ,  4 ,  5 ,  10 ,  12 ,  13 ,  17 ,  26  are significantly higher than the other satellites. That is, the true visibilities have been obtained at this stage. 
         [0034]    In additional to executing the method of the present invention to the end, since several satellites have significantly high mean visibilities (e.g. approaching 1), these sieved satellites can also be searched in sequence at this stage. In this example, SV 2  is selected to be the fifth satellite to be searched, and the process described above is repeated. The time samples are sieved again and again, and finally the remaining time sample approaches the true time t 0 . The mean visibilities of the satellites will approach the true condition very soon by using the method of the present invention.  FIG. 14  is a chart showing calculated mean visibilities of the respective satellites for the first six searches. In this chart, each mean visibility is converted to a weight ranged from 0 to 2. The vertical axis is the weight, while the horizontal axis is the satellite ID. As a result, the satellites SV 4 ,  5 ,  10 ,  12 ,  17 ,  26  are acquired in sequence in the following searches (i.e. the fifth search to the eleventh search) by executing the method of the present invention to the end. 
         [0035]    By using the method of the present invention to dynamically schedule the candidate satellites to be searched, all the eight visible satellites SV 2 ,  4 ,  5 ,  10 ,  12 ,  13 ,  17  and  26  are acquired in 11 searches even there is one erroneous judgment occurred. In comparison, if the conventional sequential search method is used, 26 searches are required to acquire the eight satellites.  FIG. 15  is a chart showing a search time comparison between results obtained by the conventional sequential search method and the method in accordance with the present invention. To fix a position, at least four satellites are necessary to be acquired. If the conventional sequential search method is used, 10 searches are necessary to hit four satellites. By using the present invention, the first four satellites can be hit in 7 searches. 
         [0036]    While the preferred embodiment of the present invention has been illustrated and described in details, 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 in a 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.