1. Technical Field
The present disclosure relates to wireless coexistence, and more particularly to the determining of a Guard Interval in a wireless coexistence environment.
2. Background Information
Bluetooth (BT) and WLAN (Wireless LAN) are two competing radio technologies that operate on the same 2.4 GHz unlicensed band. WLAN is standardized in IEEE 802.11 and has several variants including the most recent IEEE 802.11(n). Bluetooth is a commercial implementation of a Wireless Personal Area Network (WPAN) technology standardized in IEEE 802.15.1. In one example, WLAN transceiver circuitry and Bluetooth transceiver circuitry are both located in the same cellular telephone device. The WLAN transceiver circuitry may be used to transfer data files between the WLAN transceiver circuitry in the cellular telephone and a WLAN Access Point (AP). Digital music files may, for example, be communicated from the AP to the cellular telephone in this way. The Bluetooth transceiver circuitry may be used to link the cellular telephone to a wireless headset. The user may, for example, listen to music stored on the cellular telephone using the Bluetooth wireless headset so that music information is streamed via the Bluetooth link from the Bluetooth transceiver circuitry in the cellular telephone to the Bluetooth headset. Both transceivers (WLAN and Bluetooth) share the same single physical antenna in the cellular telephone, with the WLAN transceiver controlling which transceiver will be coupled to the antenna.
Packets of voice music/data may be communicated across the Bluetooth link from the cellular telephone to the wireless headset. So that music/voice to the user is not interrupted, the Bluetooth transceiver in the cellular telephone must be given control of the antenna at regular times. Bluetooth uses a Synchronous Connection-Oriented (SCO) circuit-switched connection for reserved bandwidth communications like voice. A SCO connection utilizes two slots of a Bluetooth interval (each BT SCO slot is 625 microseconds in duration) for voice data. The length of the Bluetooth interval depends on the type of Bluetooth packets used. Typically the whole interval is 3.75 milliseconds or 7.5 milliseconds long. Of this interval, the Bluetooth transceiver needs use of the antenna for a 1.25 millisecond subinterval (two 625 microsecond BT SCO slots). The remainder of the interval is available for WLAN use. The WLAN transceiver is given access to the antenna during certain slots of the interval, and the Bluetooth transceiver is given access to the antenna during other slots of the interval, and so forth back and forth, from BT interval to BT interval. Accordingly, the AP may communicate multiple data packets to the WLAN transceiver circuitry in the cellular telephone (referred to as a station (STA)) in a 2.50 millisecond subinterval. It may take different amounts of time for different WLAN data packets to be communicated, but in general, if environmental conditions do not change, data packets that carry data of a file are of the same or similar durations, except for the last data packet that may be of a smaller duration.
Such data packets may be communicated in the following way. First, when in the power save mode the STA in the cellular telephone sends the AP a packet called a “Power Save Poll” packet (a “PS-Poll” packet). This packet tells the AP to send back one WLAN downlink data packet. When the STA receives the requested data packet, it returns an acknowledgment (ACK) packet to the AP. The header of the downlink data packet includes a bit that tells the STA whether the AP has more buffered data to send or not (whether there are more WLAN data packets for this data file or not). If the bit indicates that the AP has more data to send, then the STA sends the AP another PS-Poll packet. This is a request that the AP send the STA one more WLAN data packet. In this way, the STA requests each successive data packet from the AP and manages data flow from the AP in this way. When the time comes that the antenna should be given to the Bluetooth transceiver, the STA must not ask for another data packet to be sent from the AP if there is not enough time remaining in the current subinterval for the communication of the data packet to be completed before the antenna is to be handed over for Bluetooth use. The STA therefore may maintain a timer or other mechanism to determine when the end of the current subinterval will occur. The STA uses this timer or other mechanism to engage in decision-making to determine whether or not to send a PS-Poll packet to request a data packet from the AP.
The amount of time necessary to communicate a packet from the AP to the STA data packet is not always the same. For example, the AP can slow the data rate, and this may cause communication of a data packet to take longer than it otherwise would if a faster data rate were used. If the AP determines that too many data packets have not been correctly received, then the AP may decide to slow the data rate to improve reliability of the WLAN communication link. The amount of time it will require to communicate the next data packet from the AP to the STA in the cellular telephone is generally not known to the STA.
The STA typically uses a Guard Interval (GI) of time. If the current instant in time is within the GI of the end of the current subinterval (the subinterval in which WLAN communications are possible), then the STA will not send out a PS-Poll packet. A problem can occur if a PS-Poll packet is sent out and there is not enough time for the AP to complete sending back the requested data packet. The AP may receive the PS-Poll packet and begin to send the data packet to the STA, but before the transfer is complete the subinterval may end. The STA in the cellular telephone will give access of the antenna to the Bluetooth transceiver. The Bluetooth transceiver may use the antenna to communicate Bluetooth information successfully due to the way Bluetooth and WLAN work despite the fact that the AP is still sending the requested data packet. The STA in the cellular telephone, however, will not receive the WLAN data packet because the STA is no longer coupled to the antenna. The STA therefore does not return an ACK. When the AP does not receive an ACK for the data packet it just sent, it may respond by resending the data packet and doing so with a slower data rate. The slower data rate is used to increase the probability that the retransmitted data packet will be successfully received. The antenna, however, is still being used by the Bluetooth transceiver, so the STA in the telephone handset does not ACK the retransmitted data packet. This cycle can repeat itself such that the data rate is ratcheted down to be so low that the next time the antenna is available for use by the WLAN STA the data packet takes so long to communicate that it cannot be communicated in one interval. The WLAN link may fail in what is colorfully referred to as the “spiral of death”. It is therefore important that the Guard Interval (GI) not be set to be too small. It is also undesirable that the GI be set to be too large. If the GI is set to be too large, then there is less time available in the interval for the AP and STA to communicate WLAN information. WLAN communication bandwidth is decreased, and this is undesirable.
A coexistence interval includes a second part used by a second wireless network (for example, a WLAN network) and a first part used by a first wireless network (for example, a Bluetooth network). A Guard Interval (GI) defines an amount of time at the end of the second part and before the beginning of the first part during which communications in the second wireless network are not initiated. The amounts of time required to complete individual communications in the second network are measured. The resulting measurements are used to change the rate of GI adjustment. In one example, if the values of the stream of measurement values are fairly constant then the GI is adjusted at a slower rate, whereas if the values of the stream of measurement values exhibit a relatively substantial and sustained increase then the rate of GI adjustment is increased. The GI and the rate of GI adjustment are dynamically adjusted based on response time measurement values.
In one specific example, the coexistence interval is a Bluetooth interval involving six slots, the first network is a Bluetooth network, and the second network is a WLAN network. A WLAN station (STA) functionality in a mobile communication device such as a cellular telephone carries out a GI-determining method. The STA measures the response time of an WLAN AP and thereby determines a Response Time Measurement Value (RTMV). The STA may make this measurement by determining an amount of time that transpires between a first time and a second time. The first time is a time when the STA transmits a PS-Poll in a power save mode to the AP to request the AP send the STA back one downlink data packet. The second time is a time when the STA transmits an acknowledgement (ACK) back to the AP to acknowledge receipt of the requested downlink data packet. This is but one way of measuring AP response time. Other ways of measuring AP response time are possible.
The STA functionality in the cellular telephone then determines when to update the GI based at least in part on the new RTMV. For example, if the new RTMV does not indicate that a substantial and sustained change has occurred from the stream of previous RTMVs, then the GI may be updated at a lower rate. In this case, the GI may be updated only once every ten RTMVs. At the time of update, the value of the new GI may be determined by the STA to be the second largest RTMV value of the last ten RTMV values collected. If, however, the new RTMV does indicate that a substantial and sustained change from previous RTMVs has occurred, then the STA may update the GI at a higher rate. For example, if the RTMV is one of a certain number of RTMVs in a window of three RTMV values after a GI change, and if the new RTMV is larger than the current GI, then the STA may immediately update the GI to be the second largest RTMV value of the last ten RTMV values collected. The GI in use is only changed to the updated GI value at the beginning of a new coexistence interval. Once the STA has started to use a GI in a particular coexistence interval, the GI is not changed during that coexistence interval. This is but one possible function for changing the rate of GI adjustment as a function of RTMV values. Other functions for receiving RTMV values and for determining when and how to update the GI based on RTMV values are possible. The novel aspect of determining when to adjust the GI based at least in part on one or more RTMV values is not limited to any one particular function.
In one example, the novel GI-determining and rate adjustment method makes GI adjustment more responsive to increasing AP response times as compared to conventional GI adjusting methods. Reductions in data rate made by the AP due to a loss of an ACK that would otherwise cause WLAN link failures in conventional GI adjusting methods do not cause WLAN link failures using the novel GI-determining and rate adjustment method. A lost ACK may result in the AP reducing data rate, but the GI is adjusted and lengthened fast enough that subsequent ACKs are not lost and such that the AP does not continue to decrease data rate. The WLAN link failure mechanism referred to as the “spiral of death” is foiled.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and does not purport to be limiting in any way. Other aspects, inventive features, and advantages of the devices and/or processes described herein, as defined solely by the claims, will become apparent in the non-limiting detailed description set forth herein.
System 1 includes a mobile communication device such as cellular telephone 2. Cellular telephone 2 has cellular telephone transceiver circuitry, Wireless Local Area Network (WLAN) transceiver circuitry, and Bluetooth (BT) transceiver circuitry. The cellular telephone transceiver circuitry is usable for engaging in cellular telephone communications in a cellular telephone network. The cellular telephone communications are represented by arrow 3 and the cellular telephone network is represented by the symbol of the base station 4. The Bluetooth transceiver circuitry within cellular telephone 2 is usable for engaging in Bluetooth communications in a Bluetooth wireless network 5A. In the example illustrated, the BT communications are represented by arrow 5. The cellular telephone transmits Bluetooth communications to and receives Bluetooth communications from a wireless Bluetooth headset 6. The Bluetooth communications are compliant with an IEEE 802.15.1 standard. The WLAN transceiver circuitry within cellular telephone 2 is usable for engaging in WLAN communications in a WLAN wireless network 7A. The WLAN communications are compliant with an IEEE 802.11 standard. In the example illustrated, the communications are represented by arrow 7. The WLAN transceiver circuitry within the cellular telephone transmits communications to and receives communications from a WLAN Access Point (AP) 8. AP 8 is in turn networked to the Internet 9.
The WLAN functionality and the Bluetooth functionality of the cellular telephone 2 are said to coexist in that they can operate simultaneously in the same 2.4 GHz unlicensed band using a time-multiplexing scheme. In the described example, a digital file such as a music MP3 file is downloaded from the internet 9 via AP 8 and to the WLAN transceiver circuitry within cellular telephone 2. In this way, the file of music is downloaded into the cellular telephone. At the same time this downloading is occurring, data representing voice is sent from the Bluetooth transceiver circuitry of cellular telephone 2 to the Bluetooth headset 6 so that a user can use headset 6 to hear another participant in a telephone conversation.
Considered at the highest level, the WLAN transceiver circuitry is of similar topology to the cellular telephone transceiver circuitry. The WLAN transceiver circuitry includes an antenna 23 (that it shares with the Bluetooth functionality), a WLAN RF transceiver integrated circuit 24, and a WLAN baseband processor integrated circuit 25. High level operation of the WLAN circuitry is similar to the high level operation of the cellular telephone circuitry. If a WLAN signal 26 is to be received, the WLAN signal passes from antenna 23, through antenna switch 27, and into the receive chain 28 in the WLAN RF transceiver integrated circuit 24. The WLAN signal is amplified, downconverted, and the resulting downconverted signal is filtered, and then converted into digital form by an Analog-to-Digital Converter 29. The resulting digitized information is demodulated and processed further as necessary by modem 30 so that the digital information being communicated is available to a processor 31. If information is to be transmitted, then the digital information to be communicated is modulated and otherwise processed by modem 30, and is then converted into analog form by a Digital-to-Analog Converter (DAC) 32. The resulting analog information is filtered, upconverted, and amplified by the transmit chain 33 of the WLAN RF transceiver integrated circuit 24. The upconverted and amplified WLAN signal passes through antenna switch 27 and to antenna 23 for transmission as signal 34. The processor 31 executes programs of processor-executable instructions stored in memory 35. These programs include part of the WLAN protocol processing stack including a GI-determining and GI rate adjustment program 36 of instructions as explained in further detail below. The WLAN digital baseband processor integrated circuit 25 is coupled to communicate with the cellular telephone digital baseband processor integrated circuit 13 via parallel bus 37 and parallel bus interfaces 38 and 39.
The Bluetooth transceiver circuitry includes the antenna 23 (that is shared with the WLAN functionality), a Bluetooth RF transceiver integrated circuit 40 and a Bluetooth baseband processor integrated circuit 41. If a Bluetooth signal 42 is to be received, the Bluetooth signal passes from antenna 23, through antenna switch 27, and into the receive chain 43 in the Bluetooth RF transceiver integrated circuit 40. The Bluetooth signal is amplified, downconverted, and the resulting downconverted signal is filtered, and then converted into digital form by an Analog-to-Digital Converter 44. The resulting digitized information is demodulated and processed further by modem 45 so that the digital information being communicated is available to a processor 46. If information is to be transmitted, then the digital information from processor 46 is modulated and otherwise processed by modem 45, and is then converted into analog form by a Digital-to-Analog Converter (DAC) 47. The resulting analog information is filtered, upconverted, and amplified by transmit chain 48. The upconverted and amplified Bluetooth signal passes through antenna switch 27 and to antenna 23 for transmission as signal 49. The Bluetooth digital baseband processor integrated circuit 41 is also coupled to communicate with the cellular telephone digital baseband processor integrated circuit 13 via parallel bus 37 and parallel bus interfaces 50 and 39.
The WLAN baseband processor integrated circuit 25 controls access to the WLAN/BT coexistence antenna 23 by controlling antenna switch 27 via digital control signals on signal conductors 51. The Bluetooth and WLAN transceivers operate in a time-division multiplexed manner in the sense that only one of them sends or receives packets of information at a given time. Neither one transmits or receives continuously. Communication of a packet requires from hundreds of microseconds to a number of milliseconds. In order to communicate successfully, an entire packet must generally be sent and a response must be received in return. In the illustrated example, an arbiter is located in the WLAN baseband processor integrated circuit 25. This arbiter may give access to antenna 23 to the Bluetooth transceiver, or the arbiter may not grant access so that the WLAN transceiver can have access to the antenna 23. Once the arbiter gives access to the Bluetooth transceiver, the Bluetooth transceiver must complete a piece of communication such as by sending a message and receiving a response. After the Bluetooth device has completed this communicating, the WLAN arbiter may take back control of the antenna 23 so that the antenna can then be used for WLAN communications. Communication proceeds in this way with the two transceivers taking turns using the antenna.
In order to carry out this time-division multiplexing scheme, the Bluetooth transceiver circuitry needs to communicate timing-precise information to the WLAN transceiver. This timing-precise information indicates, among other things, exactly when the Bluetooth device will be transmitting and when it will be stopping. A three-conductor interface involving conductors 52, referred to as a Packet Traffic Arbitration (PTA) bus and interface mechanism, is provided to allow the WLAN and Bluetooth transceiver circuits to exchange information such that the arbiter in the WLAN baseband processor integrated circuit 25 can control access to antenna 23 properly.
The WLAN transceiver circuitry in the cellular telephone 2 maintains a timing mechanism usable to determine when the beginning of each second part 59 occurs and when the ending of each second part 59 occurs. It is important that the WLAN transceiver circuitry not be using the antenna 23 when the Bluetooth transceiver is to start using the antenna 23 at the beginning of slot number 5. To prevent the WLAN AP 8 from transmitting downlink data packets for such a long duration that the WLAN transmissions extend into slot number 5, downlink data packets are requested individually one at a time from the AP using the Power Save Poll mechanism in the WLAN power save mode. The WLAN transceiver circuitry in the cellular telephone 2 is referred to as a WLAN station, or simply the “STA”. The STA requests that the AP 8 send one downlink data packet back to the STA by transmitting a PS-Poll transmission to the AP. The AP responds by sending the requested downlink data packet to the STA. The STA responds that the data packet was successfully received by sending the AP an Acknowledgement (ACK). The STA does not send out any PS-Poll communications within a Guard Interval (GI) 61 amount of time of the end 62 of the second part 59 of the coexistence interval 58. If the GI is of the same time duration as the time required to complete the next AP downlink data packet communication, then the STA not issuing a PS-Poll within the guard time serves to allow downlink data packet communications to occur if enough time remains until the end 62 of the second part 59, but does not prompt an additional downlink data packet communication if there is not enough time remaining for such an additional communication to be completed before the end 62 of the second part 59.
In the specific example of
Following this second part of the first coexistence interval there is a first part (not shown) of the first coexistence interval in which Bluetooth communications occur. Then following this first part (not shown) of the first coexistence interval, the next four AP downlink data packets denoted “4, “5”, “6” and “7” are communicated in the second part of the second coexistence interval. Then following this second part of the second coexistence interval is a first part of the second coexistence interval (not shown) used for Bluetooth communications. The next three AP downlink data packets denoted “8”, “9” and “10” are then communicated, as so forth. The notation “GI=3” at the end of each of the first three coexistence intervals (actually the end of the second part of each coexistence interval) indicates that the guard interval in use during that interval has a value of “3”.
In the method illustrated in
Although the GI-determining methods of
The STA portion of cellular telephone 2 determines (step 402) when to update the GI based at least in part on the RTMV determined in step 401. In one example of the GI-determining method, RTMVs are logged for ten consecutive AP downlink data packet transmissions. The value of the new GI is determined immediately after the first ten RTMVs have been determined. The value of the new GI is the value of the second largest of the last ten recorded RTMVs. When the next AP downlink data packet transmission (the eleventh such AP downlink data packet transmission in this example) occurs, an AP response time measurement is made to obtain an eleventh RTMV. If this eleventh RTMV is larger than the previously determined GI then the GI is immediately updated (to be the value of the second largest RTMV of the last ten RTMVs), whereas if the new RTMV is not larger that the previously determined GI then the GI is not updated at least until a next AP response time is measured. If the GI is not updated, then next AP downlink data packet transmission (the twelfth such transmission in this example) is measured to obtain another RTMV, and if this next RTMV is larger that the previously determined GI then the GI is updated (to be the value of the second largest RTMV of the last ten RTMVs), whereas if the new RTMV is not larger that the previously determined GI then the GI is not updated at least until a next response time is measured. Again, if the GI is not updated, then next AP downlink data packet transmission is measured to obtain another RTMV, and if this next RTMV is larger that the previously determined GI then the GI is updated (to be the value of the second largest RTMV of the last ten RTMVs), whereas if the new RTMV is not larger that the previously determined GI then the GI is not updated. Accordingly, if any one of the next three RTMVs (after the setting of the GI in response to the tenth RTMV) is larger than the previously determined GI, then the GI is immediately updated. If, however, no RTMV value in the window of the next three RTMVs (next three RTMVs after a GI adjustment) is larger than the previously determined GI, then seven more AP response times are measured and seven more RTMVs are logged without updating the GI. After the seventh of these RTMVs is determined, then the previous ten RTMVs are considered and a new GI is determined to be the second largest of these last ten RTMVs. Thereafter, the method repeats in that if any of the next three RTMVs is larger than the last updated GI value, then the GI is immediately updated. If none of the next three RTMVs is larger, then another seven RTMVs are obtained and the next GI is then determined to be the second largest of the last ten RTMVs. This method of measuring AP response times and of updating the GI continues in this way from AP response time, to AP response time.
The result of the determining of step 402 may be a Boolean output value that indicates whether the GI should be updated (in response to the last RTMV) or whether the GI should not be updated (in response to the last RTMV). If it is determined (step 403) that the GI should not be updated in response to the last determined RTMV, then the GI is not changed (step 404). Processing returns to step 401. The GI is unchanged until at least the next AP response time measurement is made. If, however, it is determined (step 403) that the GI should be updated in response to the last determined RTMV, then the GI is updated (step 405). This process of taking AP response time measurements and of updating the GI at appropriate times in accordance with the GI-determining method continues from AP downlink data packet communication to AP downlink data packet communication, from one Bluetooth coexistence interval to the next.
The process of steps 402-403 is a function 406 that receives RTMVs as input values to the function and that outputs a value indicating whether the GI value should be updated or not. The process of steps 402-405 is a function 407 that receives RTMVs as input values to the function and the outputs GI values as outputs of the function. In response to supplying a RTMV to the function, the GI output value may remain unchanged or the GI output value may be updated. The function results in the rate of change of the GI (the frequency with which the GI is changed where frequency is measured with respect to AP response time measurements) increasing to a relatively high rate in response to relatively rapid and sustained increases in RTMV values, and also results in the rate of change of GI decreasing and staying at a relatively low rate if the input RTMV values have relatively constant values.
Next, at the beginning of the second part of the second coexistence interval, the STA issues a fourth PS-Poll. This results in a fourth RTMV of time duration “3”. The STA continues sending PS-Polls and receiving downlink data packets as illustrated until the GI (of the second part of the second coexistence interval) has been reached. In the illustrated example, four more downlink data packets denoted “4”, “5”, “6” and “7” are received. The corresponding RTMVs are “3”, “3”, “3” and “3”. Note that the GI remains fixed because ten RTMVs have not yet been received. The receipt of the seventh downlink data packet denoted “7” concludes the second part of the second coexistence interval. The first part of the second coexistence interval is then used (not shown) for Bluetooth communications.
Next, at the beginning of the second part of the third coexistence interval, the STA issues an eighth PS-Poll. This results in an eighth RTMV of time duration “3”. The STA continues sending PS-Polls and receiving downlink data packets as illustrated until the GI (of the second part of the third coexistence interval) has been reached. In the illustrated example, the tenth RTMV denoted “10” is “6” time units in duration. The first GI value GI1 of “3” is used through the first, second, and third coexistence intervals. When the tenth RTMV value is determined, then in accordance with the GI-determining policy, the GI is updated to be the second largest RTMV of the last ten RTMV values. The second largest RTMV value of the last ten RTMV values is “5” (the RTMV value of the second AP communication “2”). The GI is therefore updated to have a value of “5” as indicated by the notation GI2=5. This GI updating occurs at the time of arrow 607 at the end of the second part of the third coexistence interval. The first part of the third coexistence interval (not shown) then occurs.
Next, in accordance with the GI-determining policy, the new updated GI (GI2=5) is now used as the current GI for the fourth coexistence interval. Once the GI being used in a coexistence interval is set, it remains fixed throughout the entire second part of coexistence interval.
In the notation used in
The sequence of events in this example proceeds as indicated by arrow 601. Seven more AP response times “4”, “5”, “6”, “7”, “8”, “9” and “10” are measured without the GI being updated. At the end of the receiving of these seven AP response times, the GI is updated in accordance with the GI-determining policy. The updated GI value is the second largest RTMV of the last ten RTMVs. In the illustrated example, the second largest RTMV of the last ten RTMVs is “3”, so the GI is updated at the time indicated by arrow 608 to be “3” as indicated by the notation “GI3=3”. The second part of the seventh coexistence interval was, however, started using a GI value of “5”. The GI value used in the seventh coexistence interval therefore remains “5” as indicated by the “GI2=5” notion 609.
After the AP response time denoted “10” has been measured at the beginning of the second part of the seventh coexistence interval, the guard interval has not yet been reached. The STA therefore issues another PS-Poll. The AP responds, and the response is measured to generate a RTMV of “3”. Because this RTMV value of “3” is not larger than the currently used GI value of “5”, the GI value is not updated. After the AP response denoted “1” has been received and measured, the guard interval at the end of the seventh coexistence interval has still not yet been reached. The STA therefore issues another PS-Poll. The AP responds again, and the response is measured to generate a RTMV of “5”. In the illustrated example, the AP response is concluded at the end of the second part of the seventh coexistence interval.
According to the GI-determining policy, if any of the next three RTMVs after a GI update is larger than the current GI, then the GI is updated immediately. Accordingly, because only two RTMVs have been made after the last updating of the GI (at the time indicated by arrow 608), the next RTMV value of “6” (the first RTMV of the eighth coexistence interval) is compared to the current GI value of “5”. In this case, the RTMV value of “6” is larger than the current GI value, so the GI is immediately updated to “5” at the time indicated by arrow 610. The new updated GI value is “5” because “5” is the second largest RTMV value of the last ten RTMV values. The notation in the diagram of “GI4=5” indicates that the GI has been updated to “5”. Because the second part of the eighth coexistence interval was started using a GI value of “3”, the GI value “3” being used is not changed until the beginning of the second part of the ninth coexistence interval.
The transmitting of PS-Polls, the making of AP response time measurements, the updating of the GI, and the using of updated GI values continues in this way for the remainder of the example of
The particular GI-determining method described in connection with
In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. In one specific example, memory 35 of the WLAN baseband processor integrated circuit 35 of
Although certain specific embodiments are described above for instructional purposes, the teachings of this patent document have general applicability and are not limited to the specific embodiments described above. Although the GI-determining and GI rate adjustment method is described above in connection with WLAN and Bluetooth coexistence, the method is applicable to facilitating coexistence between networks other than WLAN and Bluetooth networks. The method applies to coexistence intervals of various different types and formats and is not limited to use with the particular coexistence interval format set forth in connection with