Several schemes for determining one's geographic position are available. For example, one way to determine position involves the use of the global positioning system (GPS). The GPS was originally conceived and developed by the U.S. Department of Defense as a military navigation system. Over time, elements of the system have become increasingly available for civilian use.
The GPS uses a constellation of 24 satellites, in a geo-stationary orbit, whereby position can be determined by timing satellite signal journeys from a GPS satellite to a GPS receiver. Five spare orbiting satellites are provided primarily for backup in case one of the 24 satellites fail.
The satellites transmit spread-spectrum signals on two frequency bands (carrier frequency L1 at 1575.42 MHz and carrier frequency L2 at 1227.6 MHz). The GPS signals are contained within two frequency bands 20.46 MHz wide (+/−10.23 MHz) centered about L1 and L2.
The navigation information from each GPS satellite is transmitted on two subcarrier frequencies that are modulated by two pseudo-random noise codes on L1 and L2. One subcarrier modulated on L1 operates at 1.023 MHz using an open code called a coarse/acquisition (C/A) code allowing less precise navigation for civilian applications. The other subcarrier modulated on L2 operates at 10.23 MHz using a high precision (P) secure code for military navigation systems. Additionally, the GPS signal is modulated with a data message commonly referred to as the GPS navigation message.
Typically, a GPS receiver employs a trilateration scheme to obtain a position fix. For instance, a GPS-derived position can be accomplished using two-dimensional trilateration. Ordinarily, signals from three satellites can be used to determine position based on the intersection of three intersecting circles. More specifically, each satellite signal can provide a radius in which the GPS receiver can lie. Two intersecting radii allow the position determination to be narrowed to the area of intersection. Another satellite signal can provide a third radius indicative of the position of the GPS receiver, since all three radii should intersect at a single point. Expanding the forgoing concept to three-dimensional trilateration, each satellite signal can be used to indicate a sphere, whereby three intersecting spheres can used to determine position which includes altitude information. More satellite signals can be used, and typically are used, to improve accuracy.
At the GPS receiver, the satellite signal is demodulated after it is matched and synchronized with a pseudo-random noise code. The GPS receiver uses the GPS navigation message to calculate satellite signal transit times in addition to the coordinates of the GPS satellite. Position measurement by a GPS receiver can typically be accomplished within 15 meters (50 feet).
The GPS system has a variety of uses with today's mobile communications systems, especially with those employing code division multiple access (CDMA). In CDMA systems multiple users are allowed to simultaneously use common data streams, called channels, for transmission of information.
User information in transmitted signals is distinguished by pseudo-random patterns called codes. Transmitted information can be recovered by a receiver so long as the pseudo-random patterns used by the transmitter are known by the receiver. The signal containing the information to be transmitted is sent at low power, and the bandwidth of the information contained in the transmitted signal is spread according to a code. Such spread spectrum communications limit interference among users by making the transmitted signals appear similar to random noise and thereby difficult to demodulate by other than the intended receiver.
The forward communication link from a base transceiver station (BTS) to a mobile station uses the pilot, sync, paging and traffic communication channels to transmit voice and control data to the mobile station. The mobile station may comprise, for example, a mobile phone, a personal digital assistant with wireless communications capability, a portable computer with wireless communications capability, a pager or other personal communications device.
The BTS may comprise one or more transceivers placed at a single location. Together with a base station controller (BSC) that forms part of the base station terminating the radio communication path with the mobile station, the BTS is connected to an associated mobile switching center (MSC). The MSC is a system that automatically provides switching between user traffic from a wireless network and a wireline network or other wireless networks. A base station controller (BSC) which interacts with the MSCs and the BTSs provides a control and management system for one or more BTSs.
On the reverse communication link from the mobile station to the BTS, access and traffic channels are used to transmit voice and control data.
A CDMA system digitally encodes voice using Code-Excited Linear Prediction (CELP). Consequently, a CELP decoder and CELP encoder are located at the BSC and the mobile stations.
Encoders and interleavers are built into the BTSs and mobile stations to build redundancy into the transmitted signals to aid in recovery of lost information during transmission.
Encoded information is spread over the bandwidth of a CDMA channel in a process known as channelization. Channelization on the forward link channels involves modulating the transmitted signal according to a Walsh function code, followed by modulation by a pair of pseudo-random sequences. Channelization on the reverse link involves encoding the transmitted signal with a different pseudo-random code assigned to each mobile station in the system.
A radio frequency (RF) chain is a sequence of hardware blocks and associated software that is needed to receive and decode a radio signal. For example, an RF chain may consist of an antenna, a demodulator and a signal processing entity. RF chains have the property that they can receive and decode radio signals in specific frequency ranges only. That is, if an RF chain is tuned to a particular frequency, it will not be able to receive on another frequency. A single radio frequency (RF) chain may be used by both CDMA and GPS operations.
For proper GPS functionality, the mobile station is often required to tune-away from the CDMA carrier frequency to the GPS carrier frequency. High speed data traffic is supported by allocating additional bandwidth on supplemental channels (SCH) on demand for a higher data rate. CDMA and GPS operation share the single RF chain in a time-multiplexed fashion. When GPS operation is active, no CDMA operations are allowed and vice-versa.
In a shared RF environment, with frequent and long mobile station receiver tunings from the CDMA carrier frequency to the GPS carrier frequency, interruptions to the high speed data stream on the supplemental channel severely impact data throughput. The term “tune-away” is used hereinafter to refer to the tuning of the mobile station from the CDMA frequency to the GPS frequency.
The data transfer usually occurs between the mobile station and its peer connected by the CDMA network. Typically, both the mobile station and the peer follow the Transport Control Protocol (TCP) as a transport layer protocol utilizing the services provided by the wireless network. Data from the TCP server to the mobile station is carried by the network over a Data Link layer.
The Radio Link Protocol (RLP) is a feature of this Data Link layer designed to provide added reliability to an inherently error-prone wireless medium. Specifically, if data sent at the RLP layer is not received at the mobile station, an RLP error is flagged causing a signaling message to be sent to the network and a retransmission of the unacknowledged data follows.
At the TCP layer, most TCP implementations recognize the arrival of a number of duplicate acknowledgements (typically 3) to be an early indication of a packet drop, and retransmit the packet immediately. Simultaneously, the TCP layer reduces the maximum number of packets it sends in a given time, thus reducing the throughput on the link.
It may also happen that a packet may not be acknowledged at all and the TCP layer shall encounter a timeout. This is a positive indication of packet loss, and the TCP layer takes severe action, reducing its sending rate to the minimum. Further it increases the expected timeout values for this link exponentially. Thus, successive retransmissions occur with exponential delay and take place at a time when the throughput of the link is at its lowest.
With TCP as the transport protocol, timeouts and retransmissions can degrade data throughput by more than 90%. Since most data applications use TCP as the transport protocol, and because the impact on response time (throughput) is so severe, data applications cannot operate while GPS is active. Further, allowing GPS to proceed after the data operation has finished can severely impact GPS performance, as well. The GPS position fix will be delayed by the time taken to complete the data transaction, causing the GPS time to fix (TTF) to be unbounded, thereby making it impossible to get GPS position fixes in certain scenarios.
This problem has been noticed in conjunction with testing a mobile station based tracking system during a tracking session in a user network. In conjunction with a mobile station attempting to download data content from a network while the mobile station-based position fixes were in progress, it would take typically anywhere from 1 to 30 seconds to download approximately 2500 bytes of data. Since the application timeouts (the time during which an application fails due to non-responsiveness at either the client or server side of an application) may be typically 30 seconds, the CDMA data application is not able to operate properly. Further, such high response times are not acceptable for many real time data applications.
Conventionally, in addressing the GPS/data throughput problem, SCH transactions have been given a higher priority by blocking GPS operations until pending SCH transactions are completed. However, blocking a GPS visit affects the GPS time to fix (TTF). TTF is the time required to determine the position of the mobile station. Consequently, the TTF can be a function of the data activity occurring on a SCH.
Tuning the mobile station continuously to the CDMA carrier frequency in order to carry out SCH transactions will likely result in the GPS visit being significantly delayed. Should the mobile station be performing GPS tracking fixes while an application is attempting simultaneously to download CDMA data, the data download will fail. Consequently, data throughput will be very low, and it may sometimes take a significantly long time to download application data. With increased TTF, depending upon the SCH transaction duration, it is possible that a GPS session can timeout without a single GPS visit. Further, reduced data throughput and possible data application timeouts can occur while GPS tracking sessions are in progress.
There are three primary reasons for bad data throughput involving GPS and CDMA. 1) Tune-away from CDMA results in the loss of radio link protocol (RLP) data frames. The loss depends upon the amount of data exchanged and the time the mobile station spends on the new GPS frequency. The time spent on the GPS frequency is typically from 0.1 to 2 seconds (sec). 2) Tune-away results in loss of the Enhanced Supplemental Channel Assignment Message (ESCAM). Consequently, the mobile station will not receive data on the Supplemental Channel (SCH) even when the mobile station is tune to CDMA. 3) The subsequent tune-aways do not allow previously lost data to be recovered. This results in the loss of newly transmitted/re-transmitted data packets.
When a loss occurs of RLP data that cannot be recovered, the tune-aways result in frequent errors at the TCP layer. Complete RLP data frames can be lost. The extent of the loss of this information depends upon the amount of data sent and the time spent by the mobile station while it is tuned to other than the CDMA carrier frequency. In the case of tune-aways to the GPS carrier frequency, times of 0.1 to 2 seconds are typical.
The MSC signals the mobile station that it should prepare to receive a data burst by transmitting an Enhanced Supplemental Channel Assignment Message (ESCAM). In this message, the MSC indicates the number of channel codes, as well as the actual Walsh codes to be used for each channel.
During tune-aways, the ESCAM is lost. Without the ESCAM, the mobile station will not be able to decode data on an SCH, even when the mobile station is tuned to the CDMA carrier frequency. Subsequent tune-aways do not allow previously lost data to be recovered, and also result in the loss of new transmitted/retransmitted packets of data. Because there is a finite probability of losing even the TCP server re-transmissions, the resulting delays in retransmissions, i.e., “back-offs” are nearly exponential and have a drastic impact on throughput.
FIG. 1 illustrates a time sequence graph (TSG) of a conventional network attempting CDMA high data rate functionality together with GPS positioning capability. Time is shown in hour, minute, and second format (hh:mm:ss) on the horizontal axis, while the data packet sequence number according to the RLP is indicated on the vertical axis. The solid line represents data transmissions to the mobile station. “R” designated above this line is representative of a retransmission of data. The dotted line signifies the acknowledgement of data received. A flat plot indicates that data is not being sent or received, as the case may be. Sloped lines indicate the successful transmission and reception of data.
The data shown in FIG. 1 was compiled while downloading data to a mobile station while GPS sessions were active on the mobile station. The plots show frequent periods where no data is being downloaded by the mobile station because of the loss of TCP re-transmitted packets and large back-off times.