1. Field Of The Invention
The present invention relates generally to telecommunications and, more particularly, to wireless communication.
2. Description Of The Related Art
This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present invention, which are described and claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
One of the paramount challenges facing modem wireless telephone systems is the rapid growth of consumer demand for data services such as Internet access, text messaging, and e-mail. In fact, consumers are demanding greater access to data-related services than ever before, and this trend is not likely to change. For example, in the coming years, consumers will likely expect their mobile devices (e.g., wireless telephones) to provide many, if not all, of the digital data communication features currently provided by computers (e.g., video conferencing, picture mail, etc.).
One method of transmitting digital data, such as digital photos, web pages, or videos, is with packets. A packet is a unit of data capable of being routed through a computer network. Packets typically include a packet header that contains the intended destination for the data, a payload that contains the data being transmitted, and some form of error checking information. Typically, a transmitting device will divide a message or file into a plurality of packets that will be transmitted across the network to a receiving device. The receiving device will then reassemble the packets into the original message or file. If one or more of the packets does not arrive at the receiver or arrives and cannot be decoded, the receiver can request a replacement packet from the transmitter. In this way, packetizing data may permit more efficient transmission of data by limiting the amount of data that should be resent as a result of an error.
For the reasons stated above, packetizing data is a logical choice for transmitting data to a mobile device. Over the past few years, a variety of systems have been developed to transmit packetized data over wireless communication networks. These system include, but are not limited to, Evolution Voice-Data Only (“EV-DO”), 1X Evolution Voice-Data Voice (“1x EV-DV”), High Speed Downlink Packet Access (“HSDPA”) for Universal Mobile Telecommunication System (“UMTS”). Although the specific implementation details of each of these systems may vary, each adds at least one additional channel to carry packetized data.
In a typical wireless communication system, a base station subdivides the one or more additional packet channels into a plurality of time slots, which can then be allocated to a plurality of mobile devices through a process known as time division multiplexing. For example, a first mobile device may have access to the packet channel for 5 milliseconds (“ms”), then a second user for 3 ms, and so forth. Once a time slot has been allocated to one of the mobile devices, the base station may transmit packetized data to that particular mobile device during that mobile device's “slice” of the packet channel.
Modern wireless systems, however, may also have the capacity to assign each of the plurality of mobile devices its own specific data rate to use during that mobile device's slice of the packet channel. For example, the base station may communicate with one of the mobile devices at a data rate of 38.4 kilobits per second (“kbps”) and another one of the mobile devices at 307.2 kbps. In addition, the base station may also employ a variety of packet sizes, which are referred to as transmission formats. For example, if one of the mobile devices has a 3.33 ms slice of the packet channel, the base station may be able to transmit either one 3.33 ms long packet or two 1.667 ms packets during that slice. Likewise, if the mobile device's slice is 6.66 ms, the base station may transmit one 6.66 ms long packet, two 3.33 ms long packets, or four 1.667 ms long packets.
As described above, the base station may transmit packets to one or more mobile devices over slices of the packet channel. The success or failure of these packet transmissions can be gauged with an error metric, such as a packet error rate (“PER”). The PER may correspond to the data rate, the transmission format, and the radio frequency (“RF”) conditions (hereafter referred to as the channel conditions) between each of the mobile devices and the base station. For example, if channel condition worsen while the data rate and transmission format remain static, the PER will increase. For many reasons, however, it may be desirable for the base station to attempt to maintain the PER for the packet channel at or around a PER target value.
For this reason, the mobile devices and/or the base station may be configured to adjust the data rate or transmission format based on changes in the channel conditions, which can be gauged using a measured signal-to-noise ratio (” SNR”) on transmissions between the base station and the mobile devices. As such, base station conventionally employed static relationships between a measured SNR and predicted PER to adjust data rates to maintain the PER around the PER target value. However, because these relationships are static, they cannot be adjusted if channel conditions or other factors change the relationship between PER and SNR. Further, because conventional base stations use a previously measured SNR to select a data rate and/or transmission, conventional base stations may not be certain that the SNR used to select the data rate and/or transmission format for a packet transmission will be similar to the SNR of the actual packet transmission.
Certain aspects commensurate in scope with the disclosed embodiments are set forth below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of certain forms the invention might take and that these aspects are not intended to limit the scope of the invention. Indeed, the invention may encompass a variety of aspects that may not be set forth below.
The embodiments of the present invention may be directed toward addressing the above-described issues. The present invention provides a system and method and apparatus for selecting data rates in a wireless communication system. An exemplary method of the present invention comprises selecting one of a plurality of data rate control values for a transmission based on an adjustable relationship between the selected data rate control value and a transmission error margin related to the selected data rate control value.
Advantages of the invention may become apparent upon reading the following detailed description and upon reference to the drawings in which:
One or more specific embodiments of the present invention will be described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions should be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
The embodiments described herein may be directed towards a system or a method for selecting data rates in a wireless communication system. Specifically, in one embodiment, a mobile device may adjust the relationship (referred to as the signal-to-noise ratio (“SNR”) threshold margins) between one or more data rate control (“DRC”) values and a particular SNR for a given packet error rate (“PER”) target on the packet channel. The mobile device may also use these SNR threshold margins in conjunction with a predicted future value for the SNR to select a data rate and transmission format (e.g., a DRC) for a base station to use to transmit data to the mobile device over the packet channel.
Turning now to the drawings, and referring initially to
In any given wireless telephone market, such as a typical metropolitan area, the wireless telephone system 10 may include at least one mobile switching center (“MSC”) 12. The MSC 12 is a switch that serves the wireless telephone system 10. The primary purpose of the MSC 12 is to provide a voice path and/or a data path between a mobile device and another telephone or data source. The typical MSC 12 includes a number of devices, such as computerized call routers, that control switching functions, call processing, channel assignments, data interfaces, tracking, paging, call handoff, and user billing. The MSC 12 may be coupled to a gateway 16, which in turn may be coupled to a public switched telephone network (“PSTN”) 18, which is often referred to as a land line telephone network. The wireless telephone system 10 typically includes a connection to the PSTN 18, because a majority of all wireless telephone calls pass through the PSTN 18. The gateway 16 may also be coupled to a packet switch data network (“PSDN”) 20, such as the Internet, so as to provide Internet service to wireless telephone users. One or more radio network controllers (“RNC”) 14 may also be coupled to the MSC 12. The RNC 14 may control the use and reliability of radio resources within the wireless telephone system 10. Specifically, the RNC 14 may control the allocation and release of specific radio resources to establish a connection between mobile devices (see below) and the MSC 12.
The RNC 14 may be communicatively coupled either by wire or wirelessly to one or more base stations 22a and 22b. The base stations 22a and 22b are transmission and reception stations that act as access points for network traffic from a variety of mobile devices 24a, 24b, 24c, and 24d. As such, the base stations 22a and 22b may communicate voice or data with any suitable mobile device, such as a portable wireless telephone 24a, a laptop computer 24b, a vehicle system 24c, or other user equipment 24d. While only two base stations 22a and 22b are illustrated in
Before beginning a more detailed description of the operation of the mobile devices 24a, 24b, 24c, and 24d, it may be helpful to present an overview of data rate/transmission format synchronization between the base station 22a, b and the mobile devices 24a, 24b, 24c, and 24d in accordance with one embodiment. As will be appreciated, to communicate efficiently with one another, the base station 22a, b and the each of the mobile devices 24a, 24b, 24c, and 24d are programmed with the data rate and the transmission format that the base station 22a, b is going to use to transmit to each of the mobile devices 24a, 24b, 24c, and 24d. For example, if the base station 22a, b is transmitting to the mobile device 24a at 614.4 kbps with one packet every 1.667 milli-seconds, the mobile device 24a will be aware of the data rate and the transmission format. Likewise, the mobile device 24b may be programmed with the data rate and transmission format that the base station 22a, b is using to transmit to the mobile device 24b (which may be different than the data rate and transmission format associated with the mobile device 24a), and so forth.
In one embodiment, the base station 22a, b and the mobile devices 24a, 24b, 24c, and 24d may be preprogrammed with a plurality of data rates and transmission format combinations, each of which is assigned a number, referred to a data rate control (“DRC”) number. As such, data rates and transmission formats may be hereafter referred to as DRCs. The plurality DRCs may be compiled into a preferred DRC list, such as Table 1 below.
The DRC numbers enable the mobile devices 24a, 24b, 24c, and 24d to identify to the base stations 22a, b which data rate and transmission format the base station 22a, b should use to transmit data to each of the mobile device 24a, 24b, 24c, and 24d, so that the mobile devices 24a, 24b, 24c, and 24d can decode the transmissions. It will be appreciated that the Table 1 and the twelve DRCs listed in Table 1 are exemplary and presented for ease of illustration. In alternate embodiments, any one of a number of suitable DRCs may be included in the preferred DRC list.
As illustrated in Table 1, the transmission format identifies how many slots each transmitted packet may span (e.g., the maximum packet length). Depending on the channel conditions between the base station 22a, b and the mobile devices 24a, 24b, 24c, and 24d, the base station may span transmission of a packet across up to sixteen slots. For example, looking at Table 1, if the channel conditions are relatively poor, a single packet may be spanned across sixteen slots resulting in a data rate of 38.4 kbps. On the other hand, if channel conditions are favorable, a packet may be transmitted in a single slot, which may enable a data rate between 614.4 kbps and 2457.6 kbps.
Returning now to the Figures,
The receiver 30 may pass the received SNR signals to an SNR prediction error calculator 32. Amongst other things, the SNR prediction error calculator 32 may be configured to predict an SNR, referred to as the SNRpre, and to calculate a prediction error (“PE”) associated with the SNRpre. As described further below with regard to
As illustrated in block 52, the technique 50 begins by predicting an SNR (SNRpre). Once the SNR prediction error calculator 32 has predicted the SNRpre, it may delay until a point in the future corresponding to SNRpre (e.g., in the example above 3.33 ms in the future), as indicated in block 54. After delaying until the time that corresponds to the predicted time, the SNR prediction error calculator 32 may receive an actual SNR for that time (e.g., the actual SNR corresponding to the SNRpre), as indicated by block 56.
Next, the SNR prediction error calculator 32 may compute the difference between the SNRpre and the actual SNR to compute the PE, as indicted in block 58. In other words, the PE is the difference between the SNRpre and the actual SNR. In one embodiment, calculating the PE involves calculating a running average of the prediction error using an infinite impulse response feature or other suitable digital signal processing (“DSP”) component.
Returning now to
In one embodiment, the outer loop 34 may include a computer system running base station application software. In alternate embodiments, however, the outer loop 34 may include an application specific integrated circuit (“ASIC”), a field programmable gate array (“FPGA”), a processor, such as a DSP, or another suitable processing or computing component.
As described above, the outer loop 34 may be configured to compute the TH_Offset. As such,
Returning to block 72, if the last transition was successful, the outer loop 34 may determine whether the effective transmission rate for the last transmission was greater than or equal to a nominal data rate as indicated by block 76. The effective data rate is the size of the packet actually transmitted divided by the number of time slots that it actually took to transmit the packet, whereas the nominal data rate is the packet size divided by a nominal or canonical packet length (e.g., the packet length illustrated in Table 1). If the effective data rate is not greater than or equal to the nominal data rate, the technique 70 may end as illustrated in
If, however, the effective data rate is greater than the nominal data rate, the outer loop 34 may decrease the TH_Offset, as indicated in block 78, because a higher effective data rate may indicate that the channel conditions are closer to an AGWN channel than the current TH_Offset would indicate. In one embodiment, the outer loop 34 may decrease the TH_Offset by a dB step (e.g., 0.5 dB) multiplied by a PER target value. In alternate embodiments, the TH_Offset may be decreased by a different amount. It will be appreciated that decreasing the TH_Offset may decrease the SNR associated with a particular channel condition and thereby facilitate the selection of more aggressive (e.g., faster) data rates and/or transmission formats by the mobile devices 24a.
The outer loop 34 may also compare the TH_Offset to ceiling and floor values: M_Ceiling and M_Floor, as indicated by blocks 80, 82, 84, and 86. The M_Ceiling and M_Floor values enable the outer loop 34 to place upper and lower limits to be on value of TH_Offset, which allows designers or operators of the base station 22a, b to artificially establish absolute parameters for TH_Offset, if desired. Accordingly, as illustrated in
As described above, the mobile device 24a may also contain the inner loop 36. The inner loop 36 may be configured to adjust the relationship (referred to as the SNR threshold margins) between the DRC values and particular signal-to-noise ratio (“SNR”) values for a given packet error rate (“PER”) target. In one embodiment, the inner loop 36 includes an ASIC. In alternate embodiments, however, the inner loop 36 may include an FPGA, a processor, such as a DSP, a computer or other processor executing application software, and so forth.
As described above, the inner loop 36 may be configured to adjust SNR threshold margins associated with a DRC list (see Table 1, for example). Accordingly,
As indicated by block 94, the inner loop 36 may also determine whether the current slot is the last slot of the transmission employing the first DRC (e.g., the DRCK where K=12). For example, the inner loop 36 may determine whether the current slot is the 16th slot in a 16 slot packet with a data rate of 38.4 kbps for the first DRC illustrated in Table 1. If the current slot is not the last slot of the transmission, the inner loop 36 will proceed to block 112, because the inner loop 36 may be configured to adjust the SNR threshold margins after a transmission is complete.
If the current slot is the last slot of the transmission, the inner loop 36 may compute SNRpre for the DRCK, as indicated by block 96. In one embodiment, the SNRpre may be calculated by adding at least the following: (1) TH for the DRCK (described above with regard to
Next, the inner loop 36 may compare the MK to ceiling and floor values: M_Ceiling and M_Floor, as indicated by blocks 104, 106, 108, and 110. The M_Ceiling and M_Floor values enable artificial upper and lower limits to be placed on MK. Accordingly, as illustrated in
Next, the inner loop 36 may increase the value of the counter variable K to enable the inner loop 36 to proceed to the next DRC (if appropriate), as indicated by block 112. After incrementing the counter variable K, the inner loop 36 will determine whether the value stored in the counter variable K is greater than a value N, as indicated by block 114. In one embodiment, N is the total number of DRCs that the base station 22a, b may employ in communicating with the mobile devices 24a, 24b, 24c, and 24d (e.g., N is equal to 12 in regards to Table 1). If the value stored in the counter variable K is less than the number of DRCs, the technique 90 will cycle back to the block 94 as illustrated in
Returning now to
The data rate selector 38 may be configured to select a DRC for the base station 22a, b to employ to communicate over the packet channel with one or more of the mobile device 24a.
The data rate selector 38 may also determine a parameter λ associated with the DRCK, as indicated in block 124. The parameter λ may be employed by the data rate selector 38 to include or exclude the average prediction error (PE) from the calculations described below if the packet length is relatively short. The parameter λ is included because if the packet length is relatively short, the SNRpre is typically less accurate and the average prediction error may be included in the calculations. In one embodiment, the parameter λ is set to one if the packet length for the DRCK is greater than four slots and set to zero if the packet length is equal to or less than four slots. After determining the parameter λ, the data rate selector 38 may calculate the sum (T) of the thresholds and the margins associated with the DRCK, as indicated in block 126. In one embodiment, calculating the sum T involves adding the following: (1) the threshold THK; (2) the Doppler penalty; (3) the parameter λ multiplied by the SNR prediction error (PE); and (4) the threshold margin MK.
Further, the data rate selector 38 may determine whether the SNRpre is greater than the sum T, as indicated in block 128. If the SNRpre is greater than the sum T, the technique 120 may proceed to block 134, as will be described further below. If, however, the SNRpre is less than or equal to the sum T, the data rate selector 38 may determine, if available, another DRC beside the DRCK should be selected. As such, the data rate selector may decrement the counter variable K, as indicated in block 130, to move on to the next lower DRC value. After decrementing the counter variable K, the data rate selector 38 may determine whether the current value stored in the counter variable K is equal to zero, as indicated in block 132. If the value stored in the counter variable K is not equal to zero (e.g., there are remaining DRCs to check), the data rate selector 38 may return to block 124.
If, however, the value stored in the counter variable K is equal to zero or the SNRpre was greater than the sum T (see block 128), the data rate selector 38 may select DRCK as the DRC to employ in transmitting to a particular one of the mobile devices. Next, the data rate selector 38 may determine whether the TH_Offset is less than or equal to the M_Floor value, as indicated in block 136. If the TH_Offset value is less than or equal to the M_Floor, however, the data rate selector 38 may change the selected DRC to DRCK-1 (blocks 138 and 140). This may be the case because if the TH_Offset is already at the lowest value, the data rate selector 38 may be configured to be a little aggressive and move the DRC up one position on the DRC list.
Returning for a final time to
While the invention may be susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and have been described in detail herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the following appended claims.