1. INTRODUCTION
Any Satellite Navigation System (SNS) relies on a highly stable and reliable System Time which has to meet high performance requirements to enable SNS services suitable for navigation and timing communities.
The navigation system has several satellites which are launched at different times. For each newly launched satellite, the onboard Space Vehicle (SV) time needs to be initialized and set synchronously with navigation System Time with an accuracy of nanoseconds so that the overall user position accuracy is not affected. It is important to develop the methodology to achieve the minimum error/difference between the SV Time and System Time. The difference between the SV Time and the System Time should be maintained within the limit specified by the SNS designer. This difference is included in the clock correction parameters that are transmitted to the user in the navigation data message and will be used for position finding from the pseudo range. This difference is limited by the number of bits assigned for the clock correction parameters. The accuracy of the SV Time is also important because it directly affects the user's Position, Velocity and Time (PVT) solution.
The synchronous setting of the onboard SV Time with the System Time is required to avoid iteration of the setting steps. There are a number of uncertainties that are encountered such as uplink propagation delays, command execution time etc. The closed loop approach discussed in this paper takes care of these uncertainties and thus a highly accurate prediction of these timing uncertainties is not required.
2. SATELLITE NAVIGATION SYSTEM TIME (SNST)
The Satellite Navigation System Time (SNST) is established based on an ‘Ensemble Time Algorithm’. Such algorithms estimate time offsets of every SNS clock with respect to a ‘paper’ System Time produced by the algorithm. This derived time from a group of clocks is known as ‘Composite Clock’. Consequently, the aim is to establish a highly stable and reliable System Time.
A series of atomic clocks and hydrogen masers are used on the ground to maintain the SNST, which is System Time for the satellite-based navigation system. The satellite atomic clock is a part of this System Time and needs to be maintained in accordance with SNST.
In Equation (1), SNST (tSNST) is in the form of Week Number (WNSNST) which describes the week from the origin of the SNST, Time of Week (TOWSNST) which describes the time of the week going on, milliseconds (msecSNST) and nanoseconds (nsecSNST) having an accuracy of a few nanoseconds. Therefore the SNST is given by:
3. SPACE VEHICLE (SV) TIME
In the SNS, the satellite transmits its own SV Time (tsv) in the form of Week Number (WNSV) and Time of Week (TOWSV) in the navigation message to the user as tsv (Parkinson 1994; U.S. Air Force, 2006, 2007). The resolution of TOW depends on the sub frame length and is of the order of a few seconds. SV Time value will be derived by the receiver from the received code epoch and data transition information upto millisecond and nanosecond level. Therefore the SV Time is given by Equation 2.
For any SNS, different ranging codes are being used as per different navigation service requirements. Among the various ranging codes being used, one is used as the principal code to derive the SV Time.
The Time of Week (TOW) is the number of epochs of the principal code that have occurred since the transition from the previous week. The TOW covers an entire week from 0 to 604 799 seconds and is reset to zero at the end of each week. The Week Number (WN) is an integer counter that gives the sequential week number from the origin of the SNST.
To understand the proposed technique, some assumptions are made:
• Onboard System Clock frequency: 10·23 MHz.
• Number of data bits per Sub frame: 300 bits.
• Data Rate: 25 bps.
• FEC: Rate ½.
• Symbol Rate: 50 sps.
• Sub frame duration: 12 sec.
• TOW: 16 bits to cover a maximum of 1 week.
• WN: 10 bits to cover maximum of 1024 weeks.
Assuming the primary code length is of 8184 bits and the chip rate is 2·046 Mcps, the code epoch is 4 msec (8184×0·5×10−6). The code is generated from the 10·23 MHz clock so the number of clock counts in the 4 millisecond period is 40 920. The basic unit count of TOW is sub frame length period (i.e. 12 sec). So the Unit Counter (UC) counts 3000 counts of the 4 msec epoch. The TOW counter counts 12 sec unit counts for one week (i.e. 50 400 counts). So the 16 bit counter which ranges from 0 to 50 399 is required to generate the TOW. After every 50 400 counts of the TOW counter, the Week Number is incremented by one and the TOW counter is reset. The number of bits accounted for the Week Number is 10, so after 1024 weeks the counter will rollover and again start from 0. The timing relationship between the Sub Frame Epoch, SV Sub Epoch count and the principal Code Epoch is shown in Figure 1. The configuration of the Space Vehicle Time Signal generator with the proposed technique of WN, TOW, Unit Counter, and epoch setting is shown in Figure 2.
4. SYNCHRONOUS SETTING OF THE ONBOARD SV TIME
After successfully placing the satellite in its orbital slot, the first step is to allow stabilization of the onboard SV atomic clock source as per the clock requirements. After stabilization of the onboard SV clock, the payload is switched on. The SV Time generator starts counting from 0 values. The initialization and synchronous setting of the onboard SV Time with the SNST time should be done now.
The SV Time will be generated onboard and appended in each navigation message. The timing group delay (TGD) of the onboard hardware (i.e. SV Time transfer in the navigation message to the time of transmission) is measured at the time of manufacture and delay variation should be within specified limits (Majithiya et al., Reference Majithiya, Kriti Khatri and Hota2011).
On the ground monitoring station, as shown in Figure 3, a highly calibrated, high end receiver which has an atomic source and the capability of dual frequency code/carrier phase measurement will be used for deriving the time of transmission from the received navigation message. The total error budget assumed for TGD uncertainty, ionospheric delay error and the receiver error is less than 5 nsec (Pratap Mishra and Per Enge, Reference Mishra and Enge2006). The downlink path delay can be predicted using Code Division Multiple Access (CDMA)/Laser ranging with an accuracy of 30 cm (1 nsec).
The setting/initialization of the onboard WN, TOW, Unit Count Generator (3000 count for counting the 4 msec epoch), setting of the 4 msec epoch and residual time offset adjustment can be achieved with resolutions of 1 week, 12 sec, 4 msec, 97·75 nsec and 0·465 nsec respectively. The proposed technique is discussed at Sections 4·1 to 4·5. The initialization of the tsv should be avoided during Saturday Night/Sunday Morning as transition in the tsv count value takes place during this time and this requires the number of iterations.
The initialization and synchronous setting of the SV Time is to be carried out in five steps, discussed as follows.
• Para 4·1: Step-1 : WN Initialization/Setting (1 week resolution).
• Section 4·2: Step 2: TOW Initialization/Synchronous Setting.
• Section 4·2·1: Step-2a: TOW Initialization.
• Section 4·2·2: Step-2b: TOW Synchronous Setting (12 sec resolution).
• Section 4·3: Step-3 : Unit Count Synchronous Setting (4 msec resolution).
• Section 4·4: Step-4 : Sub Epoch Synchronous Setting (97·75 nsec resolution).
• Section 4·5: Step-5 : Residual Error Adjustment (0·465 nsec resolution).
After the completion of each step and its verification, proceed to the next step.
4.1. Step-1: WN Initialization/Setting
The current Week Number information, as obtained from the SNST, is uploaded to the onboard WN counter through Tele-Command (TC) as shown in Figures 2, 3 and 4.
The ground monitoring station receives the navigation data from the satellite and compares this with the WNSNST value. As the Week counter updates in one week, the onboard and the SNST WN values are equal. Thus now the error in the onboard tsv will be less than 1 week (i.e. TOWSV1 + msecSV1 + nsecSV1).
After Uploading WN Count, tsv is given by:
where: subscript SV1 denotes the first set of SV Time received on the ground after loading Week Number.
4.2. TOW Initialization/Synchronous Setting
After the SNST WN value is loaded in the onboard WN counter, the next counter to be initialized/set is the onboard TOW counter.
4.2.1. TOW Initialization
The SV Time generator is loaded with a count value (TOWINT) in the TOW counter that is less than the SNST TOW count, as shown in Figures 2, 3 and 4. Then, uplink the TOWINT counts through TC. This uploaded TOWINT directly replaces the current TOW value in TOW counter. After the initialization of TOWSV is given by:
where: subscript SV2 denotes the second set of SV Time received on the ground after initializing the TOW counter.
4.2.2. TOW Synchronous Setting
The monitoring station on the ground receives the navigation data from the satellite with the TOW information. The monitoring station receiver will derive the SV Time of transmission. This time will be compared with the SNST. The difference in time is given by:
The difference in the SV Time and SNST (in terms of TOW count value only i.e. TOWD) is to be determined. There will be two values that will be uploaded to two registers of the SV Time generator through TC as shown in Figures 2 and 4. The first is the advanced TOW value (TOWADV) and the other uploaded value is the difference (TOWD) between the onboard TOWSV and the ground TOWSNST after the initialization procedure has been completed (Equation 6).
TOWADV is uploaded to the satellite with a Forward Bias (FB). The uploaded TOW count (TOWADV) value is greater than the TOWSNST value plus the FB. The FB value should be greater than the sum of the predictions of the link delays and command execution and its uncertainty (i.e. x, y, z, TGD shown in Figure 3) in the above estimation. This FB provides cushioning time to avoid the need for an accurate prediction of all uncertainties (Equations 7 and 8).
FB>link delays and its uncertainty + command execution time and its uncertainty:
Onboard the SV, the uploaded TOWADV data is continuously compared with running TOWSV and the difference is computed. This generated difference is continuously compared with the uploaded TOWD value which is stored in a register and at the time when these two are equal, then a signal will be generated that will act as a load pulse for the onboard SV TOW counter. At the time of generation of the load pulse, the uploaded TOWADV value will replace the current TOWSV value and it will start incrementing from the next 12 second unit count value.
While the TOWSV comparison/loading onboard the SV is proceeding, the ground SNST is also incrementing. Thus by the time the onboard SV TOW is replaced by the TOWADV value, the ground TOWSNST value also reaches the same TOWADV value and then both start incrementing from the same value. Thus the TOWSV and TOWSNST are incrementing synchronously.
Though the clock onboard the SV and ground clocks are independent and highly stable sources, they are synchronously set by the uploaded FB and the difference value.
This updated SV Time (TOW, WN) will be appended in the navigation message and transmitted. The monitoring station on the ground receives the navigation data from the satellite with the updated TOW information. The monitoring station receiver will derive the SV Time of Transmission. If this received TOW value and the current running SNST TOW count value match, the onboard TOW has been corrected. This procedure helps in achieving a correction of up to 12 sec (unit count of TOW) in the onboard SV Time generator.
After the synchronous setting of the TOW Counter, tSV is given by Equation 9.
where: subscript SV3 denotes the third set of the SV Time received on the ground after synchronously setting the TOW counter.
Ground SNST is given by Equation 10.
After SV TOW initialization, setting can be done at any time. The uploaded advanced value and difference value will take care of this.
4.3. Unit Counter (UC) Synchronous Setting
After setting of the SV TOW counter, the next counter to be set is the onboard UC.
The SNST is in terms of nanosecond accuracy (as shown in Equation 1). The received time from the satellite (after WN and TOW setting) will be compared with SNST. The difference in the SV Time is measured in terms of milliseconds. Thus the task now left is to set the onboard UC within 4 milliseconds. The onboard UC (3000 count for counting the 4 millisecond epochs) is set in a similar way to that for setting the TOW counter (as in Step-2b).
The updated SV Time keeps on appending in the message in a continuous manner and is transmitted. The monitoring station receives the navigation message and derives the corrected SV Time of transmission that has been set. Thus the onboard and the ground unit count values are now equal and this helps in achieving a correction of up to 4 msec (unit count for the code Epoch) in the onboard SV Time as shown in Figures 2 and 4.
After adjusting Unit Count, tsv is given by Equation 11.
where: msecSNST is in multiples of 4 msec. Subscript SV4 denotes the fourth set of the SV Time received on the ground after synchronously adjusting the UC and is less than 4 msec.
UC setting can be done at any time after the setting of SV TOW. The uploaded advanced value and difference value will take care of this.
4.4. Sub Epoch (SE) Synchronous Setting
After setting of the SV Time with 4 msec accuracy, the next task is to set the onboard SV Time precisely, with nanosecond accuracy.The monitoring station on the ground receives the navigation data from the satellite. This received time, after WN, TOW, and UC setting from the satellite, will be compared with SNST. The difference in the SV Time will be in terms of milliseconds (less than 4 msec). This difference value (SED) is determined in multiples of 97·75 nsec at the ground.
In this technique, the SV Time generator should have a provision for counting of 10·23 MHz clock counts over a 4 msec epoch period i.e. 40 920 counts (4 msec×10·23 MHz) as shown in Figure 1. After every epoch this counter will be reset. This counter is termed as a SV Sub Epoch (SE) counter. The difference value (SED) is loaded in a SV SE register through TC. This register value is compared with the continuously running SE counter. As and when both these values match each other, a pulse is generated and this is used to reset the onboard principal code generator as shown in Figures 2 and 4. After the reset, the code generator will start from the fresh 4 msec code. This will adjust the SV Time with less than 4 msec and greater than 97·75 nsec. The remaining error left is termed as residual error and will be corrected further by using clock correction parameters.
After Sub-Epoch setting, tsv is given by Equation 12.
where: nsecSNST is in multiples of 97·75 nsec and less than 4 msec.
There is no time constraint between SV UC and SE setting. It can be done at any time after the setting of the SV UC; the difference value will take care of epoch synchronous setting.
4.5. Residual Error Adjustment
The onboard SV clock is continuously being monitored at the ground and clock correction parameter af0 value is constantly estimated. This value is uploaded and provided to the user in the navigation message as shown in Figure 4. For this system, the assumption for af0 is 22 bits with a scale factor (LSB) 2−31. The resolution of af0 is 0·465 nsec.
Up until this point in the synchronization process the onboard SV Time generator is set/reset/loaded in order to set the SV Time with an accuracy of 97·75 nsec because of the limitation of the onboard 10·23 MHz clock. The residual error that is less than 97·75 nsec will be transmitted through af0. Thus the SV Time is corrected up to 0·465 nsec.
After adjusting nanosecond time offset through af0 in the navigation message, tsv is given by Equation 13.
where: nsecSNST is in multiples of 97·75 nsec and less than 4 msec and correction through af0 is < 97·75 nsec and up to 0·465 nsec.
The final comparison is given by Equation 14.
After synchronous setting of SV Time generator with SNST, the SV Time is said to be operational. After this, the clock correction coefficients will be predicted throughout the operational life of the satellite so as to transmit the disparity between the SV Time generator and SNST. These clock correction parameters are regularly broadcast to the users.
5. CONCLUSIONS
The proposed technique requires minimum setting time and synchronization steps and there is no need to predict the accurate uplink propagation delay and command execution time. Uncertainty in the uplink and command execution time is taken care by the Forward Bias (FB). The synchronous SV Time setting is achieved through uploaded FB and difference between SV Time and SNST. The SV Time setting proposed here is highly predictable and accurate without any iteration. The minimum error that remains in the SV Time is the least significant bit value of the clock correction parameter (i.e. 0·465 nsec for the assumed navigation system). This technique is used for SV Time initialization, synchronization and to maintain it, as and when required.
ACKNOWLEDGMENTS
The authors would like to express their sincere gratitude to Dr K. S. Dasgupta, Director IIST, Trivandrum, former Deputy Director SATCOM and Navigation Payload Area SAC-ISRO, for his valuable guidance and encouragement during this study. They would also like to thank Shri Surinder Singh, Project Director IRNSS Payload for his valuable suggestions and support.