In the following description, specific details are given to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagrams, or not be shown at all, in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, structures and techniques may not be shown in detail in order not to obscure the embodiments.
Also, it is noted that the embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
Moreover, a storage medium may represent one or more devices for storing data, including read-only memory (ROM), random access memory (RAM), magnetic disk storage mediums, optical storage mediums, flash memory devices, and/or other machine readable mediums for storing information. The term “machine readable medium” includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels, and various other mediums capable of storing, containing, or carrying instruction(s) and/or data.
Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium such as a storage medium or other storage means. A processor may perform the necessary tasks. A code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or a combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, and the like, may be passed, forwarded, or transmitted via a suitable means including memory sharing, message passing, token passing, and network transmission, among others.
In order to provide improved service coverage to mobile terminals when other access points are unavailable or cannot be reached, it is desirable to allow the mobile terminals to communicate via satellites that relay communications with ground-based gateways. However, due to the great distances from a mobile terminal to an orbiting satellite, and the limited power available to the mobile terminal, achieving reliable VoIP communications is a challenge.
Evolution-Data Optimize (1xEV-DO, EV-DO or EVDO) is a telecommunications standard for the wireless transmission of data through radio signals. EVDO is commonly deployed on mobile terminals and provides fast packet establishment on both the forward and reverse links along with air interface enhancements that reduce latency and improve data rates. It may employ multiplexing techniques such as CDMA (Code division multiple access) as well as Frequency division duplex (FDD) to maximize the amount of data transmitted. However, in order to use an EVDO wireless interface to communicate with a satellite, some modifications are needed to the conventional implementation of EVDO.
A first aspect provides for synchronizing a 1xEVDO physical layer frame and vocoder frame for more efficient transmission. That is, a physical layer frame and a vocoder frame are synchronized and then aligned with a known periodic time boundary, wherein the physical layer and vocoder frames are of different sizes.
A second aspect provides for adjusting a reverse link transmission rate to match a VoIP packet source rate and operate the reverse link transmission channel to a satellite continuously. The reverse link transmission channel from a mobile terminal to a satellite may operate continuously, rather than in cycles, at a lower channel transmission rate to reduce the peak power amplifier power requirement. The channel transmission rate is adjusted to match a VoIP packet source rate.
By synchronizing the vocoder frame and physical layer frame and adjusting the channel transmission rate, a mobile terminal is able to more efficiently transmit VoIP packets at the same rate that they are generated by the source (vocoder).
A third aspect provides for increasing the higher layer time-out periods to account for the propagation delay to/from a satellite relay.
A fourth aspect provides for the disabling a physical layer retransmit mechanism to ignore ACKs/NACKs on both the forward and reverse links when sending VoIP packets via a satellite relay since the large propagation delay precludes their use.
A fifth feature provides for selectively apply a different channel code depending on the size/type of packets being transmitted. For example, for the small VoIP packets (48 bits long in a 20 msec frame), a zero-overhead tailbiting convolutional code is employed. Meanwhile, larger packets may utilize a turbo code.
When the mobile terminal 102 is not within reach of an access point, it may be configured to use one or more satellites 114 and 116 to reach a gateway 104 to the IP-based network 112. For example, as illustrated, the mobile terminal 102 utilizes a first satellite 114 to reach the gateway 104 that is communicatively coupled to the IP-based network 112. In this manner, the mobile terminal 102 may reach other devices (such as the second mobile terminal 110) even when it is not within reach of an access point. In some applications, the mobile terminal 102 may be configured to utilize the satellite-based communication link as a preferred mode of operation instead of an access point.
Because of the distance from a mobile terminal to an orbiting satellite is often thousands of miles, the power available to a conventional mobile terminal may be insufficient to achieve reliable communications through a satellite. Thus, one or more modifications to an EVDO wireless interface and/or communication protocol are performed to facilitate the mobile terminal to communicate over a low-rate communication link (e.g., 2.4 Kbps reverse link rates) to the satellite.
Under the 1xEVDO standard, a physical layer packet is transmitted in frames of 26.66 millisecond (msec) duration over a forward or reverse link. A typical EVDO physical layer frame (i.e., 26.66 msec) can comprise 16 slots, with each slot 1.66 msec in duration.
Many wireless communication systems digitize voice signals using a voice encoder (also known as a vocoder or voder) and transmit the digitized voice data as voice-over-IP (VoIP) packets. Typical vocoders may provide VoIP packets in frames of 20 msec duration (or 12 slots of 1.66 msec in duration). For each vocoder frame (20 msec duration), a vocoder may produce a VoIP packet 48 bits long (i.e., 40 bits of payload from vocoder and 8 bit checksum). Because the EVDO reverse link frame is 26.66 msec and the vocoder frame is 20 msec, this would imply that the VoIP packet would have to be padded to fit within the standard EVDO packet. However, adding padding to an EVDO physical layer frame is wasteful of the low-rate transmission channel between the mobile terminal and satellite.
EVDO also specifies fixed payload sizes of 128, 256, 512, 768 bits. These payloads are too large for efficient voice traffic where VoIP packets from the vocoder are 48 bits long. That is, it would be very wasteful of the limited power resources available to a mobile terminal to pad a 48 bit VoIP to satisfy a standard 128 EVDO payload size.
Therefore, in setting up a VoIP call session, one feature provides for using signaling from a transmitting mobile terminal to a receiving gateway to indicate that the payload sizes over the reverse link (from the mobile terminal to the gateway) will be 48 bits instead of one of the standard payload sizes (e.g., 128, 256, 512, or 768 bits). This smaller payload size accommodates the smaller VoIP packet size for more efficient communications.
Along with reducing the EVDO payload size, the vocoder frames are also synchronized with the EVDO physical layer frames to avoid the waste of having to pad the EVDO physical layer frames. By synchronizing vocoder and physical layer frames, constant transmissions over the reverse link from the mobile terminal may be maintained.
The receiving gateway can synchronize to 20 msec frame boundaries by testing no more than three different hypotheses. That is, the receiving gateway can attempt to detect the vocoder frames at each of three consecutive EVDP physical layer frame boundaries. The synchronization by the mobile terminal guarantees that the start of a vocoder frame will be detected at one those boundaries.
Such boundary testing at the gateway may be avoided if, additionally, the gateway and mobile terminal have synchronized time boundaries. For example, the gateway may synchronize its clock from the wireless network clock or a global positioning system (GPS) clock, for example. The gateway sends timestamps to mobile terminal which uses it to synchronize its own internal clock. Having synchronized their internal clocks, the mobile terminal and gateway may align the start of their frames to specified clock periods or epochs.
The n msec frames are synchronized with m millisecond long frames (e.g., EVDO physical layer frames) (where m may be 26.66, for example) by aligning the start of a first n millisecond frame with the start of a second m millisecond frame, where n and m are different numbers that divide approximately evenly into a larger time window of k milliseconds long (e.g., 80 millisecond long window) 506. That is, whole numbers of n and m millisecond frames fit within the larger k millisecond window.
506. The start of the first n millisecond frame and the second m millisecond frame are also aligned with a periodic time boundary defined by a clock (e.g., a mobile terminal clock synchronized to a gateway clock). For example, the periodic time boundaries may fall on even number seconds (i.e., 2, 4, 6, 8, 10 . . . ). The VoIP packets are then (continuously) transmitted over a reverse link channel to the satellite starting at periodic time boundaries defined by the clock 510.
Currently, transmissions over a 1xEVDO reverse link (RL) traffic channel occur in bursts or on a duty cycle less than 100%. The lowest traffic channel rate for a 1xEVDO reverse link (RL) traffic channel is 4.8 kbps but runs at 9.6 kbps peak over half the time. However, a mobile terminal may be peak power limited (when trying to communicate with a satellite) so it does not help to transmit at duty cycles less than 100%.
Rather than operating at peak power in burst or a duty cycle less than 100%, the reverse link transmits continuously at a reduced rate of 2.4 kbps at the highest power possible. This allows matching the transmitted payload (e.g., 48 bits in a 20 msec frame) to the vocoder frame size (20 msec).
Using the lowest standard EVDO traffic rate of 4.8 kbps, the 2.4 kbps of VoIP data produced by the vocoder could be combined into 4.8 kbit payloads and transmitted only half the time. Such transmissions at peak power on a 50% duty cycle require twice as much peak power in comparison to continuous transmissions at 2.4 kbps. Consequently, when transmitting VoIP packets (48 bit payloads on 20 msec frames), it is better to modify the operation of the conventional EVDO interface to transmit continuously at 2.4 kbps. The average power utilized by the continuously transmitting at 2.4 kbps is the same as the 50% duty cycle transmissions at 4.8 kbps, but consumes less peak power than transmitting at 4.8 kbps.
Another consideration in implementing communications between a mobile terminal and a gateway via a satellite is the propagation delay resulting from the long distance to and from the satellite.
A Time Out period is often specified in communication protocols to define the maximum amount of time to wait prior to retrying or terminating communications. That is, if an expected response or message is not received within the Time Out period, a device may try resending information or dropping a communication link. Because of the longer-than-usual propagation delays resulting from communicating via a satellite, the Time Out period is increased at both the mobile terminal and gateway. For example, the Time Out period may be increased from a standard few milliseconds to several hundred milliseconds depending on the distance to the satellite. For an EVDO system, specific timeouts that may be modified to account for geo-satellite delays include the following.
The following Signaling link protocol (SLP) timers may be modified to accommodate the satellite link delay.
TSLPAck Timer: This is a timer for the receiver to acknowledge an arriving reliable-delivery SLP-D packet. The default value for this timer is 200 ms; it may be modified to 1000 msec (or some larger value) to accommodate the geo-satellite delay.
TSLPAck Timer: This is a retransmission timer for a reliable-delivery SLP-D packet. The default value for this timer is 400 ms; it may be modified to 1000 msec ((or some larger value) to accommodate the geo-satellite delay.
The following Radio Link Protocol (RPL) timers may be modified to accommodate the satellite link delay.
TRLPAbort Timer: This is a timer to wait for a retransmission of an octet requested in a NAK message. This is a public data that is sent over-the-air by the Base Station to the ATs as part of 1xEV-DO Rev. A session configuration/GAUP procedures. The default value for this timer is 500 ms; it has been modified to 1000 ms to accommodate the geo-satellite delay.
TRLPFlush Timer: This is a timer to wait before retransmitting the last transmitted octet. This is a public data that is sent over-the-air by the Base Station to the ATs as part of 1xEV-DO Rev. A session configuration/GAUP procedures. The default value for this timer is 300 ms; it has been modified to 1000 ms to accommodate the geo-satellite delay.
The Access Probe Timers for Access Channel Protocol may also be modified. The IntraProbeBackOff parameter (time between consecutive probes) and InterSequenceBackOff parameter (time between consecutive probe sequences) may be adjusted to accommodate the geo-satellite delay. The default value for IntraProbeBackOff is 128 slots (1slot=1.66 ms) and may be modified to 512 slots (or some larger value). The default value for InterSequenceBackOff is 128 slots and may be modified to 512 slots (or some larger value).
The EVDO standard provides a retransmission system at the physical layer. That is, EVDO has a retransmit channel where it sends physical layer ACKs/NACKs (also known as ARQ requests) to indicate the receipt (ACK) or none receipt (NACK) of physical layer frames. This mechanism allows a sender to indicate when information has been successfully decoded even before the whole packet has been received. For instance, because standard EVDO packets are turbo coded, a receiver may be able to decode the whole packet from just a fraction of the transmission (e.g., the first 5 msec of a frame). This may allow the receiver to send an ACK to the sender to acknowledge receipt of the information even before the sender transmits the whole frame. This facilitates efficient use of a reverse link since the sender can terminate a frame transmission if an ACK has been received for that frame. This works because the propagation delays in land-based wireless systems are small (e.g., 2 msec) in comparison to the transmission frames (e.g., 20 msec for VoIP frames).
However, in communications from a mobile terminal via a satellite, the propagation delays are typically longer than the VoIP frames (e.g., 20 msec). Because of large round trip delay when communicating via a satellite relay, the EVDO physical layer ACK/NACK are not useful. By the time an ACK/NACK was received, the frame would have been transmitted. Therefore, along with modifying the EVDO physical layer framing, the retransmit mechanism is disabled. So the mobile terminal may be configured to ignore ACKs/NACK on the forward link and not send ACKs/NACKs on the reverse link.
Instead, the communication system may rely on higher level retransmit requests to resend data when necessary. Link level reliability may be provided via the Radio Link Protocol (RLP) which has procedures to detect missing MAC fragments and retransmit them.
The EVDO standard defines the use of turbo code as the channel code for all data packets. However, such turbo codes add significant overhead and are better for larger payload sizes (e.g., 128 bits, 256 bits, etc.). For VoIP payloads that are only 48 bits long, use of a turbo code is inefficient.
Therefore, the EVDO communication interface may be configured to use different convolutional codes depending on the payload size. For VoIP packets (48 bit payloads) or small delay-sensitive packets, a low or zero-overhead tailbiting convolutional code may be used, while larger data packets (or best-effort packets) may use a turbo code. For example, tailbiting coding may be used for VoIP packets since it is optimized for small packets while turbo coding may be used for larger packets. Consequently, the EVDO interface may be configured to use different coding depends on packet type. The use of low-overhead tailbiting convolutional coding for VoIP packets may provide a significant power savings over using a larger overhead turbo code.
One difficulty with utilizing a satellite relay is that satellite signal reception at a mobile terminal may be affected by the position of the mobile terminal. Thus, another novel feature provides a mechanism by which the mobile phone is assisted by the user in searching for a mobile terminal position and/or direction which provides the best service. In particular, the orientation and/or direction of the mobile terminal antenna may affect the quality of reception of a forward link signal from a satellite.
In implementation, the mobile phone may be configured to provide audible and/or graphic feedback to the user indicating the relative strength of signal reception. For example, as a user changes the position, orientation, and/or direction of the mobile terminal (e.g., mobile phone) a sequence of audio tones, beeps, etc., may indicate a relative improvement or worsening of signal reception from a satellite with which the mobile terminal communicate. Similarly, a display screen on a mobile terminal may be used to indicate an improvement or worsening of a satellite signal. The mobile device may compare signal strength, signal to noise ratios, or other characteristics in determining whether the satellite signal is better or worse.
In various implementations, the reverse link from the mobile terminal to the satellite may be implemented across broadband and narrowband channels in the frequency spectrums.
In one example, a “narrowband” FDMA physical layer is used for the reverse link. The 1.25 MHz of transmit spectrum is divided into approximately 192 narrowband frequency channels with a bandwidth of 6.5 kHz, and users are assigned one or more individual channels depending primarily on channel availability and “system load”. Typically no two users within a beam are assigned the same frequency channel and, as a result, users within a beam do not interfere with each other. Such a design offers greater link margin than a CDMA approach. In various examples, the reverse link may be implemented using a Spread Spectrum Access Channel, a Flexible Assignment of Frequency Channels, and/or Rate Sets optimized for Voice and for Data.
Spread Spectrum Access Channel: Users may initiate calls using a low-rate (2.4 kbps) spread spectrum access channel. Since the access channel is spread across 1.25 MHz, access transmissions degrade equally all narrowband frequency channels. Furthermore, access channel capacity can be increased, if necessary, without reducing voice capacity by simply adding parallel spread spectrum access channels with different long-code masks. Additional access channels slightly degrade link margin by increasing the background interference density. Of course, additional access channels require increased search resources at the gateway because every potential access attempt must be searched.
Flexible Assignment of Frequency Channels: Typically a user with a small phone can only transmit at rates ranging from 2.4-4.8 kbps while maintaining adequate link margin. For such a user, a transmission bandwidth larger than about 6.5 kHz affords negligible benefit. On the other hand, a user with a large phone who can tolerate greatly reduced link margin might be able to transmit at rates as high as 19.2-38.4 kbps. Forcing such a user to transmit within a 6.5 kHz bandwidth is inefficient. In fact, it can be about 1-2 dB more efficient from a coding and modulation view if such a user spread his transmit power over a larger band. Accordingly, the system design offers flexible frequency assignments in multiples of 6.5 kHz, namely in chunks of 6.5 kHz, 13 kHz, and 26 kHz. If a user believes he has adequate transmit power and margin to exploit a larger frequency assignment, he can make such a request during the access process. Depending on the system load, his request may or may not be granted. For example, if the system is lightly loaded with many available frequency channels, he may be allowed a bandwidth of, say, 13 or 26 kHz. On the other hand, if frequency channels are scarce, his request might be denied and he may be allowed only a 6.5 kHz channel.
Rate Sets optimized for Voice and for Data: Separate rate sets are used for transmitting low bit-rate voice with tight delay restrictions, and for transmitting best-effort packet data. In the former case, the rate sets are optimized for small payloads (40, 60 or 80 bits), and use efficient tailbiting convolutional codes. The natural transmission duration here is 20 ms. On the other hand, for best-effort packet data, there are no restrictions on the payload size and/or the natural frame duration. With a minimum payload size of 128 bits and transmission durations of 40/80 ms, turbo coding can be employed which is more efficient than convolutional codes for larger payloads.
Reverse link frames have a duration of 20 ms. Each frame carries pilot symbols, data symbols, and Channel Quality Indicator (CQI) symbols, and the number of symbols in each frame depends on the frequency assignment. For example,
Pilot Symbols and CQI symbols may be transmitted by the mobile terminal at maximum power (or a suitably high, constant fraction of maximum power). The noisy Pilot Symbols received by the gateway are used to estimate the maximum signal-to-interference-and-noise ratio (SINR) achievable on the reverse link, or equivalently, the maximum reverse link data rate that can be achieved if the mobile terminal were to transmit the Data Symbols at maximum power. This maximum data rate plays the role of “reverse link CQI”. The gateway transmits the reverse link CQI to each mobile terminal on the forward link in place of the CDMA Reverse Power Control (RPC) bit. The transmissions to different mobile terminals are Walsh multiplexed using the terminal's MAC indices, in a manner similar to transmission of the RPC bits in 1xEV-DO Rev A.
Based on the reverse link CQI history, the mobile terminal is able to decide on the maximum data rate that is feasible for transmission on the reverse link. If the mobile terminal wishes to transmit at the maximum feasible data rate, it transmits the Data Symbols at maximum power. On the other hand, if the mobile terminal selects a data rate that is lower than the maximum feasible data rate, it may transmit the Data Symbols at a reduced power level. The possible reduction in power may be computed using a fixed table which exploits the known relationship between the SINR's needed to achieve the different rates on the reverse-link.
In each 20 ms frame on the reverse link, the mobile terminal may transmit three bits worth of “Channel Quality Indication” (CQI) to tell the gateway the data rate it is capable of receiving on its forward link. The three bits of CQI can be used to indicate one of eight different forward link rates.
For a 6.5 kHz frequency assignment, the four BPSK modulated symbols are mapped sequentially to the four symbols of CQI in the corresponding frame structure illustrated in
Note that an entire CQI codeword is transmitted in each 20 ms frame. Since the coding gain for the CQI transmission is not large, the gateway should look at a recent history of CQI transmissions (˜250 ms) in order to decide on the rate to serve a user on the forward link. Such a time-span is acceptable because CQI is expected to vary only slowly due to path-loss variations and similar long-term effects.
The M-bit frame is then encoded using a rate ¼, maximum free distance convolutional code of constraint length 11. The generator polynomial of the code in octal form is given by:
G=(4656,4726,5562,6372).
The encoding is performed using “tailbiting” or “partial tailbiting” to eliminate or reduce the need for encoder tail bits. In tailbiting mode, the encoder shift-registers are initialized with the last 10 bits in the M-bit frame, before the bits are clocked in. At the k-th clock, the four encoder output bits are labeled c(0,k), c(1,k), . . . , c(3,k) where k=0, . . . , M−1. In partial tailbiting mode, Z zeros are appended to the M-bit frame to yield a frame of length M+Z. The encoder shift-registers are initialized with the last 10 bits in the M+Z-bit frame. The M+Z bits are then clocked into the encoder and the output bits at the k-th clock are labeled c(0,k), c(1,k), . . . , c(3,k) where k=0, . . . ,M+Z−1.
The encoder output bits are punctured/repeated/modulated differently depending on the frequency assignment. The procedures are described in the following subsections. Depending on the frequency assignment, the different procedures yield 100, 200 or 400 modulation symbols, which are transmitted over a single 20 ms frame. Together with the definitions of the Pilot and CQI Symbols, this completely defines the generation of modulation symbols for the voice rate set.
The punctured encoder output bits are grouped to form QPSK modulation symbols as described below. QPSK(c0, c1) is shorthand for the following:
QPSK(c0,c1)=(1−2c0)+i(1−2c1).
QPSK(c0,c1)=(1−2c0)+i(1−2c1).
The punctured encoder output bits are grouped to form QPSK modulation symbols as described below. QPSK(c0, c1) is shorthand for the following:
QPSK(c0, c1)=(1−2c0)+i(1−2c1).
One or more of the components, steps, and/or functions illustrated in
Those of skill in the art would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system.
The description of the embodiments is intended to be illustrative, and not to limit the scope of the claims. As such, the present teachings can be readily applied to other types of apparatuses and many alternatives, modifications, and variations will be apparent to those skilled in the art.
The present Application for Patent claims priority to Provisional Application No. 60/820,775 entitled “Satellite Based Communication”, filed Jul. 28, 2006 and assigned to the assignee hereof and hereby expressly incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
60820775 | Jul 2006 | US |