The present invention relates to a communication network, especially to adaptive data rate methods of a communication device in the communication network for achieving the high throughput.
Wi-Fi networks facilitate efficient and convenient wireless data communication, acting as the primary method for transmitting data. The Wi-Fi networks are now ubiquitous, serving not only homes and offices but also public spaces, commercial establishments, and urban areas. However, due to the dynamic nature of wireless environments, where signal strength and interference levels fluctuate over time, adhering to a fixed data rate can lead to transmission failures.
According to an embodiment of the invention, an adaptive data rate method for use in a communication device is disclosed. The communication device includes a controller and a transceiver coupled to each other. The method includes the controller increasing an initial data rate to generate a test data rate, and the transceiver transmitting a test packet according to the test data rate, a packet length of the test packet being less than a maximum packet length of a data packet. The method further includes the controller selecting one from the initial data rate and the test data rate as a selected data rate according to a transmission result of the test packet, and the transceiver transmitting the data packet according to the selected data rate.
According to another embodiment of the invention, an adaptive data rate method for use in a communication device is disclosed. The communication device includes a controller and a transceiver coupled to each other. The method includes the transceiver transmitting a data packet according to an initial data rate, if the transmission of the test packet fails, and the transceiver transmitting a test packet according to a test data rate, where a packet length of the test packet is less than a maximum packet length of the data packet, and the test data rate is less than or equal to the initial data rate. The method further includes the controller determining whether to transmit the data packet or the test packet according to a transmission result of the test packet.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
The communication device 10 may include a controller 12 and a transceiver 14 coupled to each other. The circuit configuration and operation of the communication device 20 may be similar to the communication device 10. The wireless environment, such as signal strength and noise interference, can change over time. To ensure effective data transmission in varying wireless environment, the controller 12 may dynamically adjust the initial data rate according to changes in the wireless environment to generate a test data rate. The transceiver 14 may then transmit a test packet at the test data rate in a trial run. The packet length of the test packet is less than the maximum packet length of the data packet. The maximum packet length of the data packet may be 1542 bytes. The test packet may be a null packet, a management packet, a control packet, or a data packet having a packet length less than 1542 bytes. When the wireless environment improves, the controller 12 may increase the initial data rate to generate the test data rate. Conversely, when the wireless environment deteriorates, the controller 12 may reduce the initial data rate to generate the test data rate. After the test packet is successfully transmitted, the transceiver 14 may then transmit the data packet at the test data rate. If the test packet transmission fails, the transceiver 14 may continue to transmit the data packet at the initial data rate. Alternatively, the controller 12 may continuously adjust the test data rate until the transmission of the test packet is successful, and the transceiver 14 may transmit the data packet at the successful test data rate. Since the time for transmitting the test packet is shorter than that for a full data packet, the communication device 10 may quickly assessing the viability of the test data rate, thereby enhancing the throughput. The packet length of a null packet may be 28 bytes.
In Step S204, the controller 12 determines the wireless environment condition according to the transmission result of the data packet. If the transmission of the data packet fails (unsuccessful transmission), it indicates that the wireless environment is unfavorable, thus proceed to Step S214, the controller 12 performs a rate reduction mechanism as shown in
If the transmission of the data packet is successful, the wireless environment is favorable, thus proceed to Step S206. In Step S206, the controller 12 may increase the initial data rate according to the modulation and coding scheme (MCS) rate to generate a test data rate, and then the transceiver 14 transmits the test packet at the test data rate. Each MCS rate is represented by an MCS rate number corresponding to a specific modulation and coding scheme. The PHY rate for each MCS rate number may be calculated according the specific modulation and coding scheme listed in the data rate lookup table. The MCS rate number may be thought of as a “level” for adjusting the rate. When the channel condition is favorable, the communication device 10 will increase the rate from a low MCS level to a high MCS level, effectively using a higher modulation and coding scheme for transmission.
In some embodiments, the controller 12 may search from the data rate lookup table (e.g., any one from Tables 1 to 4) according to a MCS rate that is higher than the current MCS rate, so as to obtain the corresponding PHY rate to be used as the test data rate. Table 1 shows the data rate lookup table for the IEEE802.11a standard, Table 2 shows the data rate lookup table for the IEEE802.11n standard (also referred to as high throughput (HT) technology), Table 3 shows the data rate lookup table for the IEEE802.11ac standard (also referred to as very high throughput (VHT) technology), and Table 4 shows the data rate lookup table for the IEEE802.11ax standard (also referred to as high efficiency (HE) technology). The controller 12 may find the PHY rate corresponding to the higher MCS rate from one of Tables 1 to 4 according to the wireless network technology adopted by the communication device 10, thereby increasing the initial data rate to generate the test data rate. Tables 1 to 4 only serve as examples but are not to limit the scope of the invention. Those skilled in the art may use other data rate lookup tables (e.g., the data rate lookup table from https://semfionetworks.com/blog/mc) to generate the test data rates based on actual requirements without departing from the principle of the present invention.
For example, if the communication device 10 adopts the IEEE802.11a standard and the initial data rate is 48 megabytes per second (Mbps), the controller 12 may refer to Table 1 to find that “RATE_OFDM_54M” is the next MCS rate higher than 48 Mbps. The PHY rate of “RATE_OFDM_54M” is 54 Mbps, and thus the test data rate would be set to 54 Mbps. In other embodiments, the controller 12 may generate the test data rate by selecting an MCS rate several levels higher than the current MCS rate from a data rate lookup table (such as Tables 1-4). The MCS rate may correspond to the signal quality of the communication device 10. The poorer signal quality results in a lower MCS rate. Conversely, the better signal quality results in a higher MCS rate. For instance, the MCS rate “0” corresponds to the worst signal quality, and the MCS rate “9” corresponds to the best signal quality.
In other embodiments, the controller 12 may further increase the initial data rate to generate the test data rate according to received signal strength, signal-to-noise ratio or other signal quality indicators. In some embodiments, the higher the signal quality, the more the controller 12 may increase the test data rate each time.
In Step S208, the controller 12 determines the wireless environment condition according to the transmission result of the test packet. If the transmission of the test packet is successful, it indicates that the wireless environment can support the transmission of the packet at the test data rate. Therefore, the method 200 proceeds to Step S210, the controller 12 selects the test data rate as the selected data rate, and the transceiver 14 uses the test data rate (the selected data rate) to transmit data packets to increase the throughput. However, if the transmission of the test packet fails (unsuccessful transmission), it indicates that the wireless environment is unable to support the transmission of the packet at the test data rate. Therefore, the method 200 proceeds to Step S212. The controller 12 selects the initial data rate as the selected data rate, and the transceiver 14 uses the initial data rate (the selected data rate) to transmit data packets.
Referring to
In Step S702, the controller 12 generates a test data rate according to the initial data rate, and the transceiver 14 transmits the test packet at the test data rate. The test data rate may be less than or equal to the initial data rate. When performing the retransmission, the test data rate may be equal to the initial data rate. After the retransmission is completed, the test data rate may be less than the initial data rate.
In Step S704, the controller 12 determines the wireless environment condition according to the transmission result of the test packet. If the test packet is successfully transmitted, it indicates that the wireless environment is able to support the transmission of the packet at the test data rate. Therefore, the method proceeds to Step S706. In Step S706, the controller 12 determines that the data packet needs to be transmitted, and the transceiver 14 transmits the data packet according to the test data rate, ensuring that the data packet can be transmitted successfully. If the transmission of the test packet fails (unsuccessful transmission), it indicates that the channel condition is unfavorable, and the wireless environment is unable to support the transmission of the packet at the test data rate. Therefore, the method proceeds to Step S708, the controller 12 determines that the test packet needs to be transmitted. Further, in Step S708, the controller 12 determines whether the retransmissions count n is less than the retransmission upper limit N. When retransmission occurs for the first time, the retransmission count n may be 0. During each subsequent retransmission, the retransmission count n may be incremented by 1.
If the retransmission count n is less than the retransmission limit N, the retransmissions continues. The controller 12 increments the retransmission count n by 1 (Step S709) and continues to maintain the test data rate equal to the initial data rate, and then the transceiver 14 transmits the test packet at the test data rate (Step S702).
If the retransmission count n is not less than the retransmission limit N, the retransmissions are completed, and the controller 12 reduces the initial data rate to generate a test data rate (Step S710). In some embodiments, the controller 12 may reduce the initial data rate according to the MCS rate to generate the test data rate. In some embodiments, the controller 12 may search from a data rate lookup table (such as Tables 1 to 4) to obtain the corresponding PHY rate of the next MCS rate lower than the current MCS rate, and reduce the initial data rate to generate the test data rate according to the corresponding PHY rate. For example, if the communication device 10 adopts the IEEE802.11a standard and the initial data rate is 48 Mbps, the controller 12 may find from Table 1 the PHY rate of 36 Mbps corresponding to the MCS rate “RATE_OFDM_36M” next lower than 48 Mbps, and set the test data rate to 36 Mbps. In other embodiments, the controller 12 may generate the test data rate by selecting an MCS rate several levels lower than the current MCS rate from a data rate lookup table (such as Tables 1-4). When the channel condition is unfavorable, the communication device 10 determines to decrease the PHY rate, and transitions the MCS rate from the high MCS level to the low MCS level, corresponding to using a lower modulation and coding scheme for transmission.
In other embodiments, the controller 12 may reduce the initial data rate according to the signal quality to generate the test data rate. The signal quality may be determined according to the MCS rate, the received signal strength, the signal-to-noise ratio or other signal quality indicators. In some embodiments, the lower the signal quality is, the more the controller 12 may reduce the test data rate each time.
Next, the transceiver 14 transmits the test packet at the test data rate (Step S702). The communication device 10 may repeat the sequence of Steps S704, S708, S710 and S702 until the test packet is successfully transmitted. Afterward, the method proceeds to Step S706.
Referring to
The embodiments of the invention disclose an adaptive data rate method for a communication device. When the wireless environment changes, the test packets are utilized to probe a new data rate. Upon successful transmission of the test packets, the new data rate is employed for transmitting the data packets. This approach effectively minimizes the time loss associated with testing and ensures that data packets are transmitted at a rate that has been successfully tested, thereby achieving the high throughput.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
202311481803.9 | Nov 2023 | CN | national |
202410217453.3 | Feb 2024 | CN | national |