The present invention provides a method and system for controlling the data rate in packet based wireless communications. Then, using the probability of error, the invention calculates the throughput and drop probability for two or more data rates and selects the data rate with highest throughput. In one embodiment of the invention, the probability of error based on information passed back from the receiver regarding decoding errors. In another embodiment, the probability of error is based on acknowledgement packets returned by the receiver.
|
1. A method of selecting data rates for packet based wireless communication, the method comprising the steps of:
(a) determining respective probabilities of packet decoding error for two or more data rates;
(b) calculating respective throughputs for said two or more data rates based on their respective probabilities of decoding error;
(c) calculating respective drop probabilities for said two or more data rates based on their respective probabilities of decoding error; and
(d) selecting a data rate that maximizes throughput for a specified drop probability.
11. An apparatus for selecting data rates for packet based wireless communication, comprising:
(a) means for determining respective probabilities of packet decoding error for two or more data rates;
(b) means for calculating respective throughputs for said two or more data rates based on their respective probabilities of decoding error;
(c) means for calculating respective drop probabilities for said two or more data rates based on their respective probabilities of decoding error; and
(d) means for selecting a data rate that maximizes throughput for a specified drop probability.
31. An apparatus for selecting data rates for packet based wireless communication, comprising:
a processor configured to:
(a) determine respective probabilities of packet decoding error for two or more data rates;
(b) calculate respective throughputs for said two or more data rates based on their respective probabilities of decoding error;
(c) calculate respective drop probabilities for said two or more data rates based on their respective probabilities of decoding error; and
(d) select a data rate that maximizes throughput for a specified drop probability; and
a memory configured to store the selected data rate.
21. A computer readable medium encoded with computer executable instructions for selecting data rates for packet based wireless communication, the computer readable medium comprising:
(a) first instructions for determining respective probabilities of packet decoding error for two or more data rates;
(b) second instructions for calculating respective throughputs for said two or more data rates based on their respective probabilities of decoding error;
(c) third instructions for calculating respective drop probabilities for said two or more data rates based on their respective probabilities of decoding error; and
(d) fourth instructions for selecting a data rate that maximizes throughput for a specified drop probability.
2. The method according to
3. The method according to
4. The method according to
5. The method according to
6. The method according to
if acknowledgements are not obtained from the receiver, dividing data packets of a specified size or larger into smaller data packets, wherein said smaller data packets are smaller than said specified size and can be transmitted without changing the current data rate.
7. The method according to
8. The method according to
probability of error;
rate of Viterbi algorithm path metric growth;
minimum Viterbi algorithm path metric; and
a signal that instructs a transmitter whether to increase, decrease or leave unchanged the data rate, including how many steps to increase or decrease the data rate.
9. The method according to
10. The method according to
periodically transmitting at data rates higher and lower than a current data rate to obtain probability of error statistics.
12. The apparatus according to
13. The apparatus according to
14. The apparatus according to
15. The apparatus according to
16. The apparatus according to
if acknowledgements are not obtained from a receiver, means for dividing data packets of a specified size or larger into smaller data packets, wherein said smaller data packets are smaller than said specified size and can be transmitted without changing the current data rate.
17. The apparatus according to
18. The apparatus according to
probability of error;
rate of Viterbi algorithm path metric growth;
minimum Viterbi algorithm path metric; and
a signal that instructs a transmitter whether to increase, decrease or leave unchanged the data rate, including how many steps to increase or decrease the data rate.
19. The apparatus according to
20. The apparatus according to
a means for periodically transmitting at data rates higher and lower than a current data rate to obtain probability of error statistics.
22. The computer readable medium according to
23. The computer readable medium according to
24. The computer readable medium according to
25. The computer readable medium according to
26. The computer readable medium according to
if acknowledgements are not obtained from the receiver, instructions for dividing data packets of a specified size or larger into smaller data packets, wherein said smaller data packets are smaller than said specified size and can be transmitted without changing the current data rate.
27. The computer readable medium according to
28. The computer readable medium according to
probability of error;
rate of Viterbi algorithm path metric growth;
minimum Viterbi algorithm path metric; and
a signal that instructs the transmitter whether to increase, decrease or leave unchanged the data rate, including how many steps to increase or decrease the data rate.
29. The computer readable medium according to
30. The computer readable medium according to
instructions for periodically transmitting at data rates higher and lower than a current data rate to obtain probability of error statistics.
|
This application claims the benefit of and priority to U.S. Provisional Patent Application No. 60/587,560 filed Jul. 12, 2004 the technical disclosures of which are hereby incorporated herein by reference.
The present invention is related generally to wireless communications and more specifically to method for adjusting the rate at which data packets are transmitted.
A packet communication system, similar to other types of communication systems, provides for the communication of data between communication stations within a set of communication stations. The set includes at least a sending station and a receiving station. Data originated at, or otherwise provided to, a sending station is caused to be communicated by the sending station for delivery at a receiving station. The data from the sending station is sent through a communication channel, and the receiving station monitors the communication channel, thereby to detect delivery of the data communicated thereon.
In a packet communication system, data that is communicated is first packetized into packets of data, and the data packets, once formed, are then communicated, sometimes at discrete intervals. Once delivered to a receiving station, the information content of the data is ascertained by concatenating the information parts of the packets together. Packet communication systems generally make efficient use of communication channels as the communication channels need only to be allocated pursuant to a particular communication session only for the period during which the data packets are communicated. Packet communication channels are sometimes, therefore, shared communication channels that are shared by separate sets of communication stations between which separate communication services are concurrently effectuated.
Operating specifications that define the operating protocols of various types of packet radio communication systems have been promulgated and yet others are undergoing development and standardization. A packet radio communication system provides the advantages of a radio communication system in that the communication stations that are parties to a communication session need not be interconnected by electrically-conductive connectors. Instead, the communication channels of a packet radio communication system are formed of radio channels, defined upon a portion of the electromagnetic spectrum.
While packet radio communication systems have been developed for the effectuation of various different types of communication services, much recent interest has been directed towards the development of packet radio communication systems capable of providing data-intensive communication services. For instance, the IEEE 802.15.3a operating specification contemplates an Orthogonal Frequency Division Multiplexing (OFDM) Ultra Wide Band (UWB) communication system, capable of communicating data over wide bandwidths over short ranges.
Ultra Wideband (UWB) is defined as any radio technology having a spectrum that occupies a bandwidth greater than 20 percent of the center frequency, or a bandwidth of at least 500 MHz. Modern UWB systems use modulation techniques, such as Orthogonal Frequency Division Multiplexing (OFDM), to occupy these extremely wide bandwidths.
OFDM is a special case of frequency division multiplexed transmission that permits subcarriers to overlap in frequency without mutual interference, thereby increasing spectral efficiency. OFDM used for UWB transmission results in a novel physical layer system for the enablement of high bit rate, short-range communication networks.
The information transmitted on each band is modulated using OFDM, which distributes the data over a large number of carriers that are spaced at precise frequencies. This spacing provides the orthogonality in this technique, which prevents interference from adjacent tones. The benefits of OFDM include high-spectral efficiency, resiliency to radio frequency (RF) interference, and lower multipath distortion.
A structured data format is set forth in the present promulgation of the operating specification. The data format of a data packet formed in conformity with the IEEE 802.15.3a includes a preamble part and a payload part. Other packet communication systems analogously format data into packets that also include a preamble part and a payload part. The payload part of the packet contains the information that is to be communicated. That is to say, the payload part is nondeterminative. Conversely, the preamble part of the data packet does not contain the informational content that is to be communicated but, rather, includes determinative data that is used for other purposes. In particular, the preamble part of an IEEE 802.15.3a packet preamble includes three parts, a packet sync sequence, a frame sync sequence, and a channel estimation sequence. The packet sync sequence is of a length of twenty-one OFDM (symbols), the frame sync sequence is of a length of three OFDM symbols, and the channel estimation sequence is of a length of six OFDM symbols. Collectively, the sequences are of a time length of 9.375 microseconds.
The preamble portions are used, for instance, to facilitate synchronization between the sending and receiving stations that send and receive the data packet, respectively. Additionally, the preamble is used for purposes of automatic gain control (AGC). For use of automatic gain control, a receiving station is able to set its gain at an appropriate level, e.g., to facilitate application of received data to an analog-to-digital converter to supply useful bits to a baseband part of the receiving station.
The preamble is further used for purposes of packet detection. Packet detection identifies to the receiving station the reception at the receiving station of the packet. Upon detection of the packet, e.g., various state machines at the receiving station are started to enable processing of the incoming packet.
In packet-based wireless communications systems, the transmitting device must decide at what data rate to transmit each packet. It is generally the case that higher rates yield lower robustness and thus increase the probability that the packet will not be decodable at the receiver. However, it is desirable to transmit at higher data rates when possible. Thus, the transmitting device typically attempts to transmit at the highest data rate possible while still maintaining an acceptable probability of error at the receiver. The transmitter typically implements an algorithm that attempts to select the proper transmission rate that maximizes the throughput of the system. This algorithm is referred to as the rate control algorithm.
Present packet-based wireless systems, such as IEEE 802.11 or IEEE 802.15 systems, typically have a rate control algorithm that is run in an open loop (i.e. the transmitter has no feedback from the receiver as to which transmission rate is best). Additionally, the rate control algorithm itself is typically left outside the scope of the standard (i.e. left up to the implementer). In today's systems, rate control algorithms reduce the data rate when a packet error occurs. An error is typically identified by the absence of an acknowledgment (ACK) packet from the receiver. The rate is increased in a heuristic fashion (e.g., the system shifts to the next higher data rate after some period of time without significant errors).
Therefore, it would be desirable to have an improved method of controlling the data rate for packet-based communications.
The present invention provides a method and system for controlling the data rate in packet based wireless communications. Then, using the probability of error, the invention calculates the throughput and drop probability for two or more data rates and selects the data rate with highest throughput. In one embodiment of the invention, the probability of error is based on information passed back from the receiver regarding decoding errors. In another embodiment, the probability of error is based on acknowledgement packets returned by the receiver.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
Convolutional encoding with Viterbi decoding is a Forward Error Correction (FEC) technique that is particularly suited to a channel in which the transmitted signal is corrupted mainly by additive white Gaussian noise (AWGN), which is noise with a voltage distribution over time that can be described using a Gaussian statistical distribution (i.e. a bell curve). This voltage distribution has zero mean and a standard deviation that is a function of the signal-to-noise ratio (SNR) of the received signal. Assuming that the signal level is fixed, if the SNR is high, the standard deviation of the noise is small, and vice-versa. For digital communications, the SNR is usually measured in terms of Eb/N0, which stands for energy per bit divided by the one-sided noise density.
For example, a bipolar non-return-to-zero (NRZ) signaling a system has a ‘1’ channel bit that is transmitted as a voltage of −1V, and a “0” channel bit transmitted as a voltage of +1V. This is also called binary “antipodal” signaling. A comparator in the receiver determines the received channel bit is a ‘1’ if its voltage is less than 0V, and a ‘0’ if its voltage is greater than or equal to 0V.
Mapping the one/zero output of the convolutional encoder onto an antipodal signaling scheme is a matter of translating zeroes to +1 s and ones to −1 s. This translation can be accomplished by performing the operation y=1-2x on each output symbol.
Viterbi decoding was developed by Andrew J. Viterbi. His seminal paper on the technique is “Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm,” IEEE Transactions on Information Theory, Volume IT-13, April 1967, pages 260-269, the contents of which are hereby incorporated by reference.
The decoding process begins by building the accumulated error metric for a specified number of received channel symbol pairs, and the history of what states preceded these states at each time instant t with the smallest accumulated error metric. The Viterbi decoder is then ready to recreate the sequence of bits that were input to the convolutional encoder when the message was encoded for transmission.
The accuracy of the decoding process is affected by the rate at which data is sent to the receiver. As the data rate increases so does the probability of error in the decoding process. However, this is not a fixed, linear relationship.
Current wireless communication systems sometimes toggle the data rate in ways that are often erroneously preemptive and delayed. The present invention provides enhanced data rate control, resulting in superior system performance by reducing delay and jitter and increasing system throughput and robustness. The present invention includes:
The multiplexor 110 combines several signals for transmission over a single channel h[l]. In frequency division multiplexing signals of different frequency each carry a different message. Orthogonal Frequency Division Multiplexing (OFDM) is a special case that permits subcarriers to overlap in frequency without mutual interference. The information is distributed over a large number of carriers that are spaced at precise frequencies that provides orthogonality, which prevents interference from adjacent tones.
After the channel h[l] has been multiplied, the adder 111 adds the noise n[l].
The data received by the receiver 102 is represented by y[l].
The Viterbi algorithm is typically thought of as an algorithm to select the message that was most likely to have been transmitted in a communications system. The Viterbi algorithm acts on a series of received symbols. In a typical implementation, the Viterbi algorithm sums the negative log of a sequence of probabilities. By selecting the message that has the lowest sum, the maximum likelihood message is selected.
In the present example illustrated in
Noting that the sum itself is the negative log of the product of probabilities, it can be seen that this value can also be associated with the probability that the packet will be decoded properly or not. Therefore, it is possible to establish a probability of a packet having been decoded properly, independently of whether or not it actually was decoded.
By using the algorithm to predict the possibility of successful packet decoding, the present invention provides enhanced open-loop rate control. Current rate control algorithms tend to operate heuristically based on decreasing the data rate when an error occurs, or increasing the rate when there are few or no errors. However, such algorithms do not maximize the throughput on a network.
The rate control algorithm comprises two major components: a throughput calculation 311 and drop probability 312. The present invention uses these calculations to select the optimal transmit data rate based on an estimate of the packet error rate probability.
The example in Table 1 illustrates throughput calculations based on data rate and predicted error rate:
TABLE 1
Data Rate
Throughput (Mbps) =
(Mbps)
Error Rate
Data rate × (1-Error rate)
480
0.2
384
400
0.01
390
320
0.001
319.68
Thus in the above example it can be seen that a data rate of 400 Mbps achieves a higher throughput than a data rate of 480 Mbps due to the lower error rate.
Drop probability is the probability that a packet will be dropped, expressed as a percentage. A drop probability of 0 means that a packet will never be dropped, and a value of 100 means that all packets will be dropped. In the present example, the drop probability with seven retries might be:
D480 Mbps≅10−5Drop every second May be unacceptable
D400 Mbps≅10−14Drop every two millennia
D320 Mbps≅10−21Never
The selection process 313 of the rate control algorithm 310 weighs both the throughput calculation and drop probability to determine the optimal data rate. The throughput is calculated based on the current statistics of the packets being received from the transmitter. The drop probability is pre-determined based on pre-computed simulations and programmed as a look-up table. If the current throughput is less than the drop probability, the rate control algorithm tries to increase the rate. The optimization algorithm thus tries to balance the rate to get the best performance from the system.
Therefore, the rate control algorithm optimizes system performance based on the following criteria:
In wireless communications systems, the dominant error mechanism can be the noise in the system, e.g., additive white Gaussian noise (AWGN). Other error mechanisms include multi-path or excess delay spread. It is helpful to know which type of error is occurring to enable proper corrective actions to be taken.
In communication systems that employ receivers for multi-level coding, there are multiple decoders at the receiver. The decoder for the Most Significant Bits (MSBs) in a multi-level decoder has a 3-6 dB gain in performance over the Least Significant Bits (LSBs) decoder. Therefore, if the channel is AWGN, the MSBs do not need to be encoded, as they have an inherent performance advantage, which enables higher data rates in the system. However, the transmitter needs to know the type of channel in order decide whether to enable the higher data rate mode that avoids coding on the MSBs. Therefore, the knowledge of AWGN or multi-path limitations is useful in such a receiver.
In such a multi-level decoder, the receiver can tell whether the system is AWGN-limited or not by looking at the path metrics on the MSBs versus the LSBs. If the MSB path metrics show no growth, the channel is likely to be AWGN. This can be used to select the rates for the operational modes. The difference between the LSB path metrics and the MSB path metrics should relate to a 6 dB SNR gap in AWGN for multi-level coded systems. If the difference relates to a smaller number, the channel is likely to be fading and the smaller the difference, the stronger is the fading.
If the system is multi-path limited, the rates that turn off coding on the MSBs should not be used.
The rate selection algorithm examines both the packet length and data rate to determine how and when to change rates. It is possible that a large packet can be broken into smaller packets and transmitted at the same rate instead of lowering the rate when the ACKs are not obtained. This alternate approach provides better throughput than that obtained by lowering the rate.
The present invention also provides Open Look Rate Control Enhancements. In this mechanism, the system maintains a running estimate of the probable error rate for a given data rate. Periodically, transmissions are attempted at higher data rates and/or lower rates to obtain PER statistics at those rates. Based on the knowledge of error probabilities at the current rate, next higher rate, and next lower rate, the rate control algorithm decides whether to maintain the current data rate or change it upward or downward.
In addition to enhanced open-loop rate control, the present invention also provides enhanced closed-loop rate control.
The information passed back to the transmitter can be in various forms. In addition to the general case of passing information back to the transmitter, the present invention specifically includes:
The feedback information from the receiver provides the rate control algorithm with a more accurate error probability, which in turn allows for more accurate throughput and drop probability calculations for selecting the optimal data rate.
The rate field in the header of ACK packets does not convey any information, as there is no payload. As discussed above, the receiver can generate knowledge of the probability of success in decoding packets. The present invention uses these rate fields to feedback information to the transmitter as to what data rate the transmitter could transmit at next.
For example, if the packet was received at 100 Mbps, and the decoder determines that it could have been received at 300 Mbps with a similar error rate, the decoder can input the rate as 300 Mbps in the ACK packet, and the transmitter will use this information for rate selection. The advantage of this scheme is that it retains compatibility with existing systems and does not use any special unused fields in the packet that typically change with improvements in the standards.
In the case of packets which pass the header transmission but fail in the frame, generally, ACKs are not sent. However, the receiver can still send an ACK/control packet/NACK (Negative Acknowledgment) that informs the transmitter that the header passed but the payload did not, providing additional information for the transmitter to use for rate selection.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated. It will be understood by one of ordinary skill in the art that numerous variations will be possible to the disclosed embodiments without going outside the scope of the invention as disclosed in the claims.
Shoemake, Matthew B., Rajagopal, Sridhar
Patent | Priority | Assignee | Title |
10004987, | May 22 2013 | Microsoft Technology Licensing, LLC | Wireless gaming protocol |
7948886, | Jul 20 2005 | Vidyo, Inc. | System and method for the control of the transmission rate in packet-based digital communications |
8116799, | Jun 02 2006 | Samsung Electronics Co., Ltd; SAMSUNG ELECTRONICS CO , LTD | Method and system for controlling power in a communication system |
8144572, | Sep 14 2004 | Qualcomm Incorporated | Detection and mitigation of interference and jammers in an OFDM system |
8289370, | Jul 20 2005 | VIDYO, INC | System and method for scalable and low-delay videoconferencing using scalable video coding |
8699522, | Jul 20 2005 | Vidyo, Inc. | System and method for low delay, interactive communication using multiple TCP connections and scalable coding |
8761016, | Mar 28 2008 | Georgia Tech Research Corporation | Systems and methods for intelligent policy enforcement in access networks |
8938004, | Mar 10 2011 | VIDYO, INC | Dependency parameter set for scalable video coding |
9232426, | Nov 01 2012 | Verizon Patent and Licensing Inc.; Cellco Partnership | System and method for improving information carrying capacity by controlling re-transmissions |
9313486, | Jun 20 2012 | VIDYO, INC | Hybrid video coding techniques |
9426499, | Sep 07 2005 | Vidyo, Inc. | System and method for scalable and low-delay videoconferencing using scalable video coding |
9492741, | May 22 2013 | Microsoft Technology Licensing, LLC | Wireless gaming protocol |
RE47744, | Jun 02 2006 | Samsung Electronics Co., Ltd. | Method and system for controlling power in a communication system |
Patent | Priority | Assignee | Title |
5896561, | Apr 06 1992 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Communication network having a dormant polling protocol |
6081843, | Mar 20 1997 | NOKIA SOLUTIONS AND NETWORKS OY | System using simulation cell and simulation buffer for regulating cell transfer rate according to occupancy level of the simulation buffer |
6097697, | Jul 17 1998 | BARRACUDA NETWORKS, INC | Congestion control |
6141565, | Nov 13 1997 | Cisco Systems, Inc | Dynamic mobile parameter optimization |
6546509, | Apr 19 1998 | AT&T INTELLECTUAL PROPERTY 1, L P | Method and system for adaptive interleaving |
6704368, | Nov 28 1997 | Nokia Mobile Phones Limited | Coding and modulation method and apparatus for its implementation |
6751199, | Apr 24 2000 | QUALCOMM INCORPORATED, A DELAWARE CORPORATION | Method and apparatus for a rate control in a high data rate communication system |
6760313, | Jun 19 2000 | Qualcomm Incorporated | Method and apparatus for adaptive rate selection in a communication system |
20020122385, | |||
20020191722, | |||
20030039318, | |||
20030086378, | |||
20030108045, | |||
20040001462, | |||
20040017822, | |||
20050013276, | |||
20050028066, | |||
20050058098, | |||
20050083838, | |||
20050213690, | |||
20060029145, | |||
20060153232, | |||
20060264180, | |||
20070211786, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 29 2005 | SHOEMAKE, MATTHEW B | WIQUEST COMMUNICATIONS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016637 | /0763 | |
Jun 29 2005 | RAJAGOPAL, SRIDHAR | WIQUEST COMMUNICATIONS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016637 | /0763 | |
Jul 12 2005 | Qualcomm Incorporated | (assignment on the face of the patent) | / | |||
Nov 12 2008 | WIQUEST COMMUNICATIONS, INC | Triplepoint Capital LLC | SECURITY AGREEMENT | 021858 | /0798 | |
Jan 26 2009 | WIQUEST COMMUNICATIONS, INC | Triplepoint Capital LLC | AFFIDAVIT OF FORECLOSURE | 022360 | /0771 | |
Jan 26 2009 | Triplepoint Capital LLC | Qualcomm Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 022370 | /0651 |
Date | Maintenance Fee Events |
Feb 25 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 07 2013 | R2551: Refund - Payment of Maintenance Fee, 4th Yr, Small Entity. |
Mar 07 2013 | STOL: Pat Hldr no Longer Claims Small Ent Stat |
Feb 24 2017 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
May 10 2021 | REM: Maintenance Fee Reminder Mailed. |
Oct 25 2021 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Sep 22 2012 | 4 years fee payment window open |
Mar 22 2013 | 6 months grace period start (w surcharge) |
Sep 22 2013 | patent expiry (for year 4) |
Sep 22 2015 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 22 2016 | 8 years fee payment window open |
Mar 22 2017 | 6 months grace period start (w surcharge) |
Sep 22 2017 | patent expiry (for year 8) |
Sep 22 2019 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 22 2020 | 12 years fee payment window open |
Mar 22 2021 | 6 months grace period start (w surcharge) |
Sep 22 2021 | patent expiry (for year 12) |
Sep 22 2023 | 2 years to revive unintentionally abandoned end. (for year 12) |