|
|||
Short answer: The network tells it. Long answer: CDMA requires that every component of the system, including all the handsets, have a very precise knowledge of exactly what absolute time it is. This is necessary in order to synchronize the long code, one of the modulating chip-patterns used to make spread spectrum work. The long code cycles only once every six weeks (41.4 days) and if the phone's long code is out of sync, it won't work with the network. What follows is a bit esoteric, since it gets into the guts of how CDMA works. The system acquisition process involves three steps. In the first step it has to find the pilot. The pilot is channel 0 (whose Walsh Code is all zeros) and it broadcasts a signal of constant zeros, which is not modulated with the long code. In essence, that means that what it is transmitting is the cell's short-code at whatever phase offset the cell is using. (Phase offset of the short code is how cells are differentiated from each other, since they all use the same frequencies.) Once the phone has found that, it can synchronize its short code. Step 2 is to find the sync channel and to process a sync channel message. The sync channel message contains many interesting things, but one of the things it contains is "At the tone, the time will be...". Actually, the "tone" is the next PNROLL(0), which is known to cognoscenti as an "80" because they happen every 80 milliseconds. (It's the next time that the PNROLL, which happens every 26.666 milliseconds, coincides with a frame, which happens ever 20 milliseconds. There are three PNROLLs for every four frames.) The sync channel message also tells the phone what timezone the cell is in (in increments of plus or minus half hour relative to Universal Time) and the number of leap seconds there have been since "the beginning of time" (which happens to be time 0 for GPS, sometimes called the epoch. It happens to have been midnight on January 6, 1980.) Note that the cell and phone won't necessarily be in the same time zone, which is why your phone may seem to be an hour off if you're right next to a time-zone line. That happens if it synchronized with a cell on the opposite side of the line. This idea of the time is accurate to a few microseconds. The inaccuracy comes from the speed of light delay between the cell and the phone, and the fact that the phone doesn't know how far away the cell is. (The speed of light is about 980 feet per microsecond, almost exactly 300 meters. If you're a mile from a cell, then it takes about five microseconds for the signal to reach you.) It would actually be useless to know that delay. The purpose of knowing the time is to permit initialization of the long code generator, and the long code being received from the cell is being delayed by the same amount of time as the sync channel message was. Therefore, it's good that the sync channel message is delayed by the transmission path length. Once the phone initializes its long code generator, it moves to step 3, which is to listen to the paging channel. After that, if it doesn't decide that it can't use that cell, it will register, and then your phone is online. This always happens when you first power up your phone. It always happens just after you finish a call. It happens at other times, too. Whenever the phone processes a sync-channel message, it sets its internal representation of the time of day. On most phones, that's what's being displayed on the screen. The IS-95 specification requires that all the cells be synchronized to within a few microseconds of each other. In actuality, they do it by having a fixed GPS receiver at each cell, from which the equipment gets the time very precisely. Most CDMA phones don't let you manually set the time of day, mostly because doing so would be pretty useless. The phone would override your time each and every time it acquired a cell, anyway. So why does the minute display on my phone click over several seconds late compared to WWV? The phone is usually in a mode called slotted sleep during which as much of the phone as is possible is shut down to save power, including the CPU. There would be a significant power cost (manifesting as a significant hit on standby time) in order for the phone to update its display more often during slotted sleep. You might note that the "elapsed time" display during a call ticks seconds very accurately. That's because the CPU is on anyway to handle the call, so there's no additional c |