Methods and apparatus for tuning circuit components of a communication device

A system that incorporates teachings of the subject disclosure may include, for example, a method for detecting a plurality of use cases of a communication device, determining an initial tuning state for each of a plurality of tuning algorithms according to the plurality of use cases, configuring each of the plurality of tuning algorithms according to their respective initial tuning state, executing a first tuning algorithm of the plurality of tuning algorithms according to an order of execution of the plurality of tuning algorithms, detecting a stability condition of the first tuning algorithm, and executing a second tuning algorithm of the plurality of tuning algorithms responsive to the detected stability condition of the first tuning algorithm. Each tuning algorithms can control one of a tunable reactive element, a control interface, or both of one of a plurality of circuit components of a radio frequency circuit. Other embodiments are disclosed.

FIELD OF THE DISCLOSURE

The subject disclosure relates to methods and apparatus for tuning circuit components of a communication device.

BACKGROUND

Cellular telephone devices have migrated to support multi-cellular access technologies, peer-to-peer access technologies, personal area network access technologies, and location receiver access technologies, which can operate concurrently. Cellular telephone devices in the form of smartphones have also integrated a variety of consumer features such as MP3 players, color displays, gaming applications, cameras, and other features. Cellular telephone devices can be required to communicate at a variety of frequencies, and in some instances are subjected to a variety of physical and function use conditions.

These and other factors can result in a need for tunability of more than one circuit component of a transceiver. For example, tunable circuits can be used to adjust an impedance match of an antenna over a frequency range to improve output power. Difficulties, however, can arise when attempting to tune the matching circuit for signal reception. Tunable circuits can also be used with amplifiers and filters. Additionally, tuning circuits can be placement on a radiating element of an antenna to enable on-antenna tuning. By combining more than one tuning technique in a single communication device, multiple tuning algorithms may be required.

DETAILED DESCRIPTION

The subject disclosure describes, among other things, illustrative embodiments tuning multiple circuit components of a communication circuit. Other embodiments are contemplated by the subject disclosure.

One embodiment of the subject disclosure includes a computer-readable storage medium including computer instructions which, responsive to being executed by at least one processor, cause the at least one processor to perform operations including identifying an order of execution of a plurality of tuning algorithms, where each of the plurality of tuning algorithms controls one of a tunable reactive element, a control interface, or both of one of a plurality of circuit components of a radio frequency circuit of a communication device. Responsive to executing the computer instructions the at least one processor can further perform operations including executing a first tuning algorithm of the plurality of tuning algorithms according to the order of execution, detecting a stability condition of the first tuning algorithm, and executing a second tuning algorithm of the plurality of tuning algorithms responsive to the detected stability condition of the first tuning algorithm

One embodiment of the subject disclosure includes a portable communication device including a plurality of circuit components of a radio frequency circuit, where each of circuit component of the plurality of circuit components comprises one of a tunable reactive element, a control interface, or both for enabling at least one of a plurality of tuning algorithms to control an operation of the circuit component. The portable communication device can further include a memory storing computer instructions, and a controller coupled to the memory and the tunable reactive element of each of the plurality of circuit components. Responsive to executing the computer instructions the controller can perform operations including executing a first tuning algorithm of the plurality of tuning algorithms according to an order of execution of a plurality of tuning algorithms, detecting a stability condition of the first tuning algorithm, and executing a second tuning algorithm of the plurality of tuning algorithms responsive to the detected stability condition of the first tuning algorithm.

One embodiment of the subject disclosure includes a method for detecting, by a processor, a plurality of use cases of a communication device, and determining, by the processor, an initial tuning state for each of a plurality of tuning algorithms according to the plurality of use cases, where each of the plurality of tuning algorithms controls one of a tunable reactive element, a control interface, or both of one of a plurality of circuit components of a radio frequency circuit. The method can further include configuring, by the processor, each of the plurality of tuning algorithms according to their respective initial tuning state, executing, by the processor, a first tuning algorithm of the plurality of tuning algorithms according to an order of execution of the plurality of tuning algorithms, detecting, by the processor, a stability condition of the first tuning algorithm, and executing, by the processor, a second tuning algorithm of the plurality of tuning algorithms responsive to the detected stability condition of the first tuning algorithm.

FIG. 1depicts an illustrative embodiment of a communication device100. The communication device100can comprise a wireline and/or wireless transceiver102having transmitter and receiver sections (herein transceiver102), a user interface (UI)104, a power supply114, a location receiver116, a motion sensor118, an orientation sensor120, and a controller106for managing operations thereof. The transceiver102can support short-range or long-range wireless access technologies such as Bluetooth, ZigBee, WiFi, DECT, or cellular communication technologies, just to mention a few. Cellular technologies can include, for example, CDMA-1X, UMTS/HSDPA, GSM/GPRS, TDMA/EDGE, EV/DO, WiMAX, SDR, LTE, as well as other next generation wireless communication technologies as they arise. The transceiver102can also be adapted to support circuit-switched wireline access technologies (such as PSTN), packet-switched wireline access technologies (such as TCP/IP, VoIP, etc.), and combinations thereof.

The UI104can include a depressible or touch-sensitive keypad108with a navigation mechanism such as a roller ball, a joystick, a mouse, or a navigation disk for manipulating operations of the communication device100. The keypad108can be an integral part of a housing assembly of the communication device100or an independent device operably coupled thereto by a tethered wireline interface (such as a USB cable) or a wireless interface supporting, for example, Bluetooth. The keypad108can represent a numeric keypad commonly used by phones, and/or a QWERTY keypad with alphanumeric keys. The UI104can further include a display110such as monochrome or color LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) or other suitable display technology for conveying images to an end user of the communication device100. In an embodiment where the display110is touch-sensitive, a portion or all of the keypad108can be presented by way of the display110with navigation features.

The UI104can also include an audio system112that utilizes audio technology for conveying low volume audio (such as audio heard in proximity of a human ear) and high volume audio (such as speakerphone for hands free operation). The audio system112can further include a microphone for receiving audible signals of an end user. The audio system112can also be used for voice recognition applications. The UI104can further include an image sensor113such as a charged coupled device (CCD) camera for capturing still or moving images.

The location receiver116can utilize location technology such as a global positioning system (GPS) receiver capable of assisted GPS for identifying a location of the communication device100based on signals generated by a constellation of GPS satellites, which can be used for facilitating location services such as navigation. The motion sensor118can utilize motion sensing technology such as an accelerometer, a gyroscope, or other suitable motion sensing technology to detect motion of the communication device100in three-dimensional space. The orientation sensor120can utilize orientation sensing technology such as a magnetometer to detect the orientation of the communication device100(north, south, west, and east, as well as combined orientations in degrees, minutes, or other suitable orientation metrics).

The communication device100can use the transceiver102to also determine a proximity to a cellular, WiFi, Bluetooth, or other wireless access points by sensing techniques such as utilizing a received signal strength indicator (RSSI) and/or signal time of arrival (TOA) or time of flight (TOF) measurements. The controller106can utilize computing technologies such as a microprocessor, a digital signal processor (DSP), and/or a video processor with associated storage memory such as Flash, ROM, RAM, SRAM, DRAM or other storage technologies for executing computer instructions, controlling, and processing data supplied by the aforementioned components of the communication device100.

Other components not shown inFIG. 1are contemplated by the subject disclosure. The communication device100can include a slot for inserting or removing an identity module such as a Subscriber Identity Module (SIM) card. SIM cards can be used for identifying and registering for subscriber services, executing computer programs, storing subscriber data, and so forth.

The communication device100as described herein can operate with more or less of the circuit components shown inFIG. 1.

FIG. 2depicts an illustrative embodiment of a portion of the wireless transceiver102of the communication device100ofFIG. 1. In GSM applications, the transmit and receive portions of the transceiver102can include amplifiers201,203coupled to a tunable matching network202that is in turn coupled to an impedance load206. The impedance load206in the present illustration can be an antenna as shown inFIG. 1(herein antenna206). A transmit signal in the form of a radio frequency (RF) signal (TX) can be directed to the amplifier201which amplifies the signal and directs the amplified signal to the antenna206by way of the tunable matching network202when switch204is enabled for a transmission session. The receive portion of the transceiver102can utilize a pre-amplifier203which amplifies signals received from the antenna206by way of the tunable matching network202when switch204is enabled for a receive session. Other configurations ofFIG. 2are possible for other types of cellular access technologies such as CDMA. These undisclosed configurations are contemplated by the subject disclosure.

FIGS. 3-4depict illustrative embodiments of the tunable matching network202of the transceiver102ofFIG. 2. In one embodiment, the tunable matching network202can comprise a control circuit302and a tunable reactive element310. The control circuit302can comprise a DC-to-DC converter304, one or more digital to analog converters (DACs)306and one or more corresponding buffers308to amplify the voltage generated by each DAC. The amplified signal can be fed to one or more tunable reactive components404,406and408such as shown inFIG. 4, which depicts a possible circuit configuration for the tunable reactive element310. In this illustration, the tunable reactive element310includes three tunable capacitors404-408and two inductors402-403with a fixed inductance. Circuit configurations such as “Tee”, “Pi”, and “L” configurations for a matching circuit are also suitable configurations that can be used in the subject disclosure.

The tunable capacitors404-408can each utilize technology that enables tunability of the reactance of the component. One embodiment of the tunable capacitors404-408can utilize voltage or current tunable dielectric materials. The tunable dielectric materials can utilize, among other things, a composition of barium strontium titanate (BST). In another embodiment, the tunable reactive element310can utilize semiconductor varactors. Other present or next generation methods or material compositions that result in a voltage or current tunable reactive element are contemplated by the subject disclosure for use by the tunable reactive element310ofFIG. 3.

The DC-to-DC converter304can receive a DC signal such as 3 volts from the power supply114of the communication device100inFIG. 1. The DC-to-DC converter304can use technology to amplify a DC signal to a higher range (e.g., 30 volts) such as shown. The controller106can supply digital signals to each of the DACs306by way of a control bus307of “n” or more wires to individually control the capacitance of tunable capacitors404-408, thereby varying the collective reactive impedance of the tunable matching network202. The control bus307can be implemented with a two-wire serial bus technology such as a Serial Peripheral Interface (SPI) bus (referred to herein as SPI bus307). With an SPI bus307, the controller106can transmit serialized digital signals to configure each DAC inFIG. 3. The control circuit302ofFIG. 3can utilize digital state machine logic to implement the SPI bus307, which can direct digital signals supplied by the controller106to the DACs to control the analog output of each DAC, which is then amplified by buffers308. In one embodiment, the control circuit302can be a stand-alone component coupled to the tunable reactive element310. In another embodiment, the control circuit302can be integrated in whole or in part with another device such as the controller106.

Although the tunable reactive element310is shown in a unidirectional fashion with an RF input and RF output, the RF signal direction is illustrative and can be interchanged. Additionally, either port of the tunable reactive element310can be connected to a feed point of the antenna206, a radiating element of the antenna206in an on-antenna configuration, or between antennas for compensating cross-coupling when diversity antennas are used. The tunable reactive element310can also be connected to other circuit components of a transmitter or a receiver section such as filters, power amplifiers, and so on.

In another embodiment, the tunable matching network202ofFIG. 2can comprise a control circuit502in the form of a decoder and a tunable reactive element504comprising switchable reactive elements such as shown inFIG. 6. In this embodiment, the controller106can supply the control circuit402signals via the SPI bus307, which can be decoded with Boolean or state machine logic to individually enable or disable the switching elements602. The switching elements602can be implemented with semiconductor switches, micro-machined switches such as utilized in micro-electromechanical systems (MEMS), or other suitable switching technology. By independently enabling and disabling the reactive elements607(capacitor or inductor) ofFIG. 6with the switching elements602, the collective reactive impedance of the tunable reactive element504can be varied by the controller106.

The tunable reactive elements310and504ofFIGS. 3 and 5, respectively, can be used with various circuit components of the transceiver102to enable the controller106to manage performance factors such as, for example, but not limited to, transmit power, transmitter efficiency, receiver sensitivity, power consumption of the communication device100, frequency band selectivity by adjusting filter passbands, linearity and efficiency of power amplifiers, specific absorption rate (SAR) requirements, and so on.

FIG. 7depicts an illustration of a look-up table stored in memory, which can be indexed by the controller106of the communication device100ofFIG. 1according to physical and/or functional use cases of the communication device100. A physical use case can represent a physical state of the communication device100, while a functional use case can represent an operational state of the communication device100. For example, for a flip phone800ofFIG. 8, an open flip can represent one physical use case, while a closed flip can represent another physical use case. In a closed flip state (i.e., bottom and top flips802-804are aligned), a user is likely to have his/her hands surrounding the top flip802and the bottom flip804while holding the phone800, which can result in one range of load impedances experienced by an internal or retrievable antenna (not shown) of the phone800. The range of load impedances of the internal or retrievable antenna can be determined by empirical analysis.

With the flip open a user is likely to hold the bottom flip802with one hand while positioning the top flip804near the user's ear when an audio system of the phone800, such audio system112ofFIG. 1, is set to low volume. If, on the other hand, the audio system112is in speakerphone mode, it is likely that the user is positioning the top flip804away from the user's ear. In these arrangements, different ranges of load impedances can be experienced by the internal or retrievable antenna, which can be analyzed empirically. The low and high volume states of the audio system112illustrate varying functional use cases.

For a phone900with a slideable keypad904(illustrated inFIG. 9), the keypad in an outward position can present one range of load impedances of an internal antenna, while the keypad in a hidden position can present another range of load impedances, each of which can be analyzed empirically. For a smartphone1000(illustrated inFIG. 10) presenting a video game, an assumption can be made that the user is likely to hold the phone away from the user's ear in order to view the game. Placing the smartphone1000in a portrait position1002can represent one physical and operational use case, while utilizing the smartphone1000in a landscape position1004presents another physical and operational use case.

The number of hands and fingers used in the portrait mode may be determined by the particular type of game being played by the user. For example, a particular video game may require a user interface where a single finger in portrait mode is sufficient for controlling the game. In this scenario, it may be assumed that the user is holding the smartphone1000in one hand in portrait mode and using a finger with the other. By empirical analysis, a possible range of impedances of the internal antenna can be determined when using this video game in portrait mode. Similarly, if the video game selected has a user interface that is known to require two hands in landscape mode, another estimated range of impedances of the internal antenna can be determined empirically.

A multimode phone1100capable of facilitating multiple access technologies such as GSM, CDMA, LTE, WiFi, GPS, and/or Bluetooth in two or more combinations can provide additional insight into possible ranges of impedances experienced by two or more internal antennas of the multimode phone1100. For example, a multimode phone1100that provides GPS services by processing signals received from a constellation of satellites1102,1104can be empirically analyzed when other access technologies are also in use. Suppose, for instance, that while navigation services are enabled, the multimode phone1100is facilitating voice communications by exchanging wireless messages with a cellular base station1106. In this state, an internal antenna of the GPS receiver may be affected by a use case of a user holding the multimode phone1100(e.g., near the user's ear or away from the user's ear). The affect on the GPS receiver antenna and the GSM antenna by the user's hand position can be empirically analyzed.

Suppose in another scenario that the antenna of a GSM transceiver is in close proximity to the antenna of a WiFi transceiver. Further assume that the GSM frequency band used to facilitate voice communications is near the operational frequency of the WiFi transceiver. Also assume that a use case for voice communications may result in certain physical states of the multimode phone1100(e.g., slider out), which can result in a probable hand position of the user of the multimode phone1100. Such a physical and functional use case can affect the impedance range of the antenna of the WiFi transceiver as well as the antenna of the GSM transceiver.

A close proximity between the WiFi and GSM antennas and the near operational frequency of the antennas may also result in cross-coupling between the antennas, thereby changing the load impedance of each of the antennas. Cross-coupling under these circumstances can be measured empirically. Similarly, empirical measurements of the impedances of other internal antennas can be measured for particular physical and functional use configurations when utilizing Bluetooth, WiFi, Zigbee, or other access technologies in peer-to-peer communications with another communication device1108or with a wireless access point1110.

The number of physical and functional use cases of a communication device100can be substantial when accounting for combinations of access technologies, frequency bands, antennas of multiple access technologies, antennas configured for diversity designs such as multiple-input and multiple output (MIMO) antennas, and so on. These combinations, however, can be empirically analyzed to load impedances and affects on other tunable circuits. The empirical data collected can be recorded in the look-up table ofFIG. 7and indexed according to corresponding combinations of physical and functional use cases. The information stored in the look-up table can be used in open-loop RF tuning applications to initialize tunable circuit components of a transceiver, as well as, tuning algorithms that control operational aspects of the tunable circuit components.

FIG. 12depicts an illustrative embodiment of a multimode transceiver1200. In this illustration, the multimode transceiver1200can include receiver and transmitter portions, which can be configured by way of switches that interconnect amplifiers and bandpass filters for operation at different frequency bands. In addition,FIG. 12illustrates an embodiment where a diversity receiver can be used to improve system performance of the multimode transceiver1200.

FIG. 13depicts an illustrative embodiment of a multimode transceiver1300, which can be a representative embodiment of the transceiver102ofFIG. 1. In this illustration, multimode amplifiers1302,1304can be tuned with tunable reactive elements such as the variable reactive elements shown inFIGS. 4 and 6in similar or different circuit configurations. A first of the multimode amplifiers1302can be configured to operate in a range of high band signals, while a second of the multimode amplifiers1304can be configured to operate in a range of low band signals. The multimode amplifiers1302,1304can also be tuned according to bias and power signals controlled by a processor such as controller106ofFIG. 1. By configuring the multimode amplifiers1302,1304as tunable, the number of transmitter amplifiers previously shown inFIG. 12can be reduced, which can improve circuit board layout complexity, and potentially lower cost.

Tunable matching networks1306and1310(such as those shown inFIGS. 3 and 5) can be used at or near the feed point of antennas1308and1312to compensate for impedance changes of the antennas. Similarly tunable reactive elements can be applied to radiating elements of antennas1308and1312for on-antenna tuning. To simplify the transceiver architecture ofFIG. 13, tunable reactive elements can also be applied to the bandpass filters to vary the passband of these filters and thereby enable the filters to operate as multimode filters shown inFIG. 14.

FIG. 14illustrates a transceiver architecture with multimode amplifiers1401, multimode filters1402,1412, multimode matching networks1404,1414, and tunable diversity antennas1406,1416. In this configuration, the switches shown inFIG. 12may be eliminated in whole or in part, thereby reducing complexity yet further.FIG. 15illustrates a transmission path ofFIG. 14depicting a tunable amplifier1502, directional coupler1504(with forward and reverse detectors1506,1508), tunable matching network1510with control lines1512, and a reactive tuning element1516coupled to the antenna1518for on-antenna tuning and a corresponding detector1514.

It should be noted that the illustrations ofFIGS. 13-15may be modified to utilize more or less circuit components to achieve a desirable design objective. In another embodiment,FIGS. 13-14can be simplified by removing the diversity receiver section in situations where cost and circuit board real estate is limited, or when additional receiver performance is not necessary.

FIG. 16depicts an illustrative method1600for managing tuning algorithms that control one or more of the tunable circuit components shown in FIGS.13-15. For illustration purposes, the communication device100ofFIG. 1will be referred to in the discussions that follow for method1600. Method1600can be implemented by computer instructions executable by the controller106of communication device100, and/or by hardware such as state machine logic that implements in whole or in part the flow diagram of method1600. Method1600can begin with step1602in which the controller106determines from physical and functional use cases of the communication device100a number of open loop states.

The physical use case can be determine from electromechanical sensors, proximity sensors, or other sensing technology to determine a physical state of the communication device100(e.g., flip open, slider out, antenna retrieved, etc.). The functional use cases can be determined from flags, registers, or other indicators used by the controller106to track the operational state of the communication device100(e.g., frequency band, access technology(ies) in use, software applications in use and their corresponding user interface profiles, etc.). Based on the physical and functional use cases, the controller106can determine from a look-up table stored in memory (such as illustrated inFIG. 7) the open loop states of the communication device100.

At step1604, the controller106can configure tuning algorithms according to the open loop states. The tuning algorithms can include without limitation, a tuning algorithm for on-antenna tuning, a tuning algorithm for the matching network, a tuning algorithm for the multimode filters, a tuning algorithm for controlling output power of a power amplifier of a transmitter section, a tuning algorithm for controlling linearity and efficiency of the power amplifier, and so forth. The open loop states can indicate an initial tuning state for configuring a tunable reactive element or network used by the tunable circuit components shown inFIGS. 13-15. At step1606, the open loop states can also define a configuration of switches shown inFIG. 13(when multimode filters are not used) as well as bias and supply voltage settings for the transmitter and/or receiver amplifiers.

At step1608, the tunable algorithms can determine inputs to the control loops of each algorithm. The inputs can be determined from the sensing circuits used by each tuner. For example, referring toFIG. 15, the detector1514can measure an RF voltage level which the tuning algorithm can analyze to determine the effectiveness of tuning the antenna1518according to the tuning state applied by the on-antenna tuner1516established according to the initial open loop settings used at steps1604,1606. Similarly, the reverse and forward detectors1506,1508can provide forward and reverse RF voltages which can be used by the tuning algorithm to determine the effectiveness of tuning for a match to the antenna1518based on the initial tuning state established by the open loop settings applied to the matching network1510. Sensors can be used to sense the output power of the power amplifier1502which a tuning algorithm can use to compare to a power step applied to the amplifier based on the initial bias and supply voltages used to configure the power amplifier1502according to the open loop settings used at step1606. Additionally, sensors can be used by a tuning algorithm to determine output power and current drain to assess the efficiency of the power amplifier1502after it has been configured with open loop settings. The same or additional sensors can be used by a tuning algorithm to measure peak power and average power to determine the effective linearity of the power amplifier1502after it has been configured with open loop settings.

Once these determinations have been made, the controller106can enable execution of the tuning algorithms. In one embodiment, the tuning algorithms can be invoked according to an order of execution, which may be predefined by assigning priority levels to the algorithms. To distinguish between priority levels, each tuning algorithm can be given a numerical weight. The numerical weight can be fixed, or variable depending on, for example, an aggregate performance of the tuning algorithms. In one embodiment, the on-antenna tuner can be given the highest priority and is thereby executed first at step1610. After measuring the state of the antenna1518at step1612, the on-antenna tuner can determine at step1614whether a desired performance threshold (e.g., a desired impedance of the antenna1518) has been achieved. If it has not, then the tuning algorithm can proceed to step1615and adjust the tunable reactive element1516. A condition of stability can be attained by the on-antenna tuning algorithm by achieving the desired threshold at step1614for tuning the antenna1518.

Since the change in impedance of the tunable reactive element1516can affect other tunable circuit components, the control loop repeats at step1608where all tuning algorithms are given an opportunity to measure the state of their corresponding tunable circuit component. To avoid contention between algorithms, and excessive execution time by any particular algorithm, the controller106can utilize semaphore flags and set timers when executing tuning algorithms. In a multitasking arrangement, semaphore flags can enable the tuning algorithms to detect which tuning algorithm(s) is/are active, and thereby avoid overlaps between tuning algorithms which can cause undesirable and perhaps unstable conditions between algorithms. Timers can be used to balance computing resources supplied to the tuning algorithms, control the effective tuning rate of the algorithms, and avoid any one algorithm burdening or slowing the tuning rate of another algorithm.

In addition to semaphores and timers, the tuning algorithms can be configured to limit the rate or speed of tuning used by the algorithm. The tuning algorithms can also be configured to limit a magnitude of each tuning step applied to a corresponding circuit component, limit a number of tuning steps applied to the corresponding circuit component, limit tuning of the corresponding circuit component to a specific tuning range, or combinations thereof. Moreover, each of the tuning algorithms can be given an opportunity to request a cycle to tune outside of a given execution order. For instance, a tuning algorithm with a higher priority level can preempt a tuning algorithm of lower priority. When preemption occurs, the controller106can cause the lower priority tuning algorithm to cease operation until the requesting algorithm has achieved a desirable tuning threshold, at which time the controller106can re-enable to lower priority tuning algorithm.

A tuning algorithm may seek preemption as a result of executing step1608. For instance, a tuning algorithm that made an adjustment may have negatively impacted another algorithm's prior tuning performance. The severity of the impact can be sufficient to invoke a preemption request by the algorithm. To prevent excessive preemption requests, each algorithm can be assigned a preemption threshold that defines an acceptable range of error inadvertently applied by tuning effects of other algorithms. The preemption threshold can provide hysteresis to dampen preemption requests and add further stability to the overall control loop.

In addition to semaphores, timers, and preemptive requests, the controller106can be configured to monitor the performance of the tuning algorithms collectively, and thereby determine an aggregate or accumulation error caused by the algorithms. The aggregate error can provide for a measure of a gap between a desirable system tuning threshold for the entire control loop and actual performance. The controller106can be adapted to change the priority levels of the tuning algorithms, and their respective execution order based on this aggregate measure. Furthermore, the controller106can also analyze a measure of error experienced by each algorithm and adjust priority levels to assist one or more algorithms that are struggling to achieve their respective thresholds. Tuning thresholds of each tuning algorithm can also be modified by the controller106based on the aggregate error and/or individual measures of error if the controller106determines that the overall tuning performance of the control loop has not reached a desirable system threshold. For example, the tuning thresholds can be modified by raising or lowering the respective thresholds of the tuning algorithms to achieve the desirable system threshold.

In yet another embodiment, the controller106can be configured to execute a “parent” tuning algorithm that oversees the performance of the tuning algorithms collectively. In one embodiment, individual tuning algorithms can assert a “fault flag” which they can set when the algorithm detects a fault condition within itself. The fault condition can indicate an inability by the tuning algorithm to converge on a desired threshold within a predetermined period. A fault condition can also indicate that the tuning algorithm has converged to a state of operation that is undesirable. The “parent” tuning algorithm can act on this differently than preemption requests as described above. For example, if a particular tuning algorithm maintains the fault flag for more than one iteration, the parent tuning algorithm may restart all of the tuning algorithms to allow them to determine a new set of stable conditions.

Referring back toFIG. 16, once the on-antenna tuning algorithm has achieved a desirable tuning threshold at step1614, the controller106can invoke at step1616execution of another tuning algorithm that controls the variable impedance of the matching network1510. The tuning algorithm can sample at step1618signals from the forward and reverse detectors1506,1508to determine a current figure of merit and compare it to a desirable tuning threshold in the form of a desirable figure of merit threshold. The figure of merit can include amplitude and phase of the forward and reverse detectors1506,1508, the output voltage from detector1514, and knowledge of the current tuning state of the matching network1510at step1620. If the current figure of merit does not satisfy or exceed the desirable figure of merit threshold, the tuning algorithm can proceed to step1621where it adjusts the impedance of the matching network1510, and repeats the control loop at step1608. The iterations continue until such time as the tuning algorithm achieves the desirable figure of merit threshold, the timer expires, or the tuning algorithm is preempted.

Once the desirable figure of merit threshold has been achieved, the controller106can invoke the tuning algorithm for the power amplifier at step1622. It should be noted that the desirable tuning thresholds of each tuning algorithm can be hierarchical. Thus, a first desirable threshold may serve as a coarse tuning threshold, while subsequent thresholds can be more aggressive towards achieving a tuning target. Additionally, it should be noted that thresholds may not in all instances require optimal performance of a particular tuning stage. For instance, to avoid a SAR requirement, one or more of the tuning algorithms may be configured to operate below their optimal range. In addition, tuning thresholds may differ between operational states of the communication device100(e.g., frequency band selected, whether tuning is taking place between transmit bursts, or during a transmit burst, and so on.). Further, as noted earlier, tuning thresholds may be varied by the controller106when analyzing the collective performance of the tuning algorithms as well as individual performance of select algorithms.

At step1624, the tuning algorithm controlling the output power of the amplifier1502can measure with sensor1508output power relative to a power step applied to the amplifier1502. If the output power is outside of expected tuning threshold(s) at step1626, then the tuning algorithm can proceed to step1627where it adjusts a tunable reactive element, bias, power supply or combinations thereof of the power amplifier1502. After the adjustment, the control loop returns to step1608where the tuning algorithms are given an opportunity to determine how the adjustment at step1627has impacted them. If the impact is within their respective preemption thresholds, then the tuning algorithm of step1622can continue the tuning process until the output power of the amplifier1502has achieved or exceeded the desired tuning threshold at step1626, or until such time as the tuning period has expired or preemption has occurred. Once the tuning threshold of step1626has been achieved, the controller106can invoke the tuning algorithm at step1628which controls the efficiency and linearity of the power amplifier1502.

Tuning efficiency and linearity can be controlled by varying the bias and supply power used by the power amplifier1502with or without the use of a tunable reactive element. The forward detector1508can supply a signal which can be digitally sampled with an analog to digital converter. The digital data derived from the sampled signal can be processed by the tuning algorithm to determine a measure of the output power of the amplifier1502. The tuning algorithm can also utilize the sampled signal to calculate peak power and average output power of the amplifier1502. A current sensor (not shown) can be used to measure the current drain of the power amplifier1502. At step1632the tuning algorithm can utilize the measurements of output power and current drain to compute the efficiency of the amplifier1502. In addition, the tuning algorithm can utilize the measurements of peak power, average output power and knowledge of the modulation present on the transmitted signal to determine the linearity of the amplifier1502. The efficiency and linearity can be compared to corresponding thresholds to determine at step1632if an adjustment is necessary at step1633. If either of these measures is outside the desirable thresholds, then the tuning algorithm can calculate and assert an adjustment to among other things the bias voltage(s), the power supply, the supply voltage, and/or controls to a tunable reactive element coupled to the amplifier1502. The control loop then returns to step1608. Once the efficiency and linearity have achieved their respective thresholds, the controller106can return to step1608and continue the tuning process described above.

Alternatively, if the communication device100has changed its physical or functional state (e.g., speakerphone has been asserted, flip has been closed, and/or the frequency band has been changed to a lower band, etc.), then the controller106can interrupt the tuning algorithms and proceed to step1602and reinitiate the configuration of the algorithms and circuit components according to the open-loop settings derived from the look-up table ofFIG. 7. It should be noted that in subsequent reconfiguration cycles, the controller106can be adapted to use historical settings rather than the open-loop settings if the change in the physical and/or functional use case is similar to the previous use cases. Returning to step1602can occur at any time (not just at step1632). To accommodate the ad hoc nature of changes to physical and/or functional use cases, the controller106can be configured to detect these changes with an interrupt scheme which can have a higher preemptive capability than any of the priority levels of the tuning algorithms.

As noted earlier, optimization of any one tuning algorithm or attribute controlled by a tuning algorithm may not always be desirable.FIGS. 17-21and their corresponding descriptions provide illustrative embodiments of how the aforementioned algorithms and their thresholds, and other configurable parameters can be designed to accommodate a holistic tuning approach that relies on figures of merit rather than fixed optimization targets.

FIG. 17depicts a circuit diagram illustrating an exemplary matching circuit1700that can be used in a closed-loop tuning algorithm. The illustrated matching circuit1700includes a first tunable capacitance PTC1, a first impedance L1, a second impedance L2and a second tunable capacitance PTC2. A PTC is a tunable capacitor with a variable dielectric constant that can be controlled by a tuning algorithm with the control circuit302ofFIG. 3. The first tunable capacitance PTC1is coupled to ground on one end and to the output of a transceiver on the other end. The node of PTC1that is coupled to the transceiver is also connected to a first end of the first impedance L1. The second impedance L2is connected between the second end of the first impedance L1and ground. The second end of the first impedance L1is also coupled to a first end of the second tunable capacitance PTC2. The second end of the second tunable capacitance PTC2is then coupled to an antenna1710.

The tunable capacitances can be tuned over a range such as, for example, 0.3 to 1 times a nominal value C. For instance, if the nominal value of the tunable capacitance is 5 pF, the tunable range can be from 1.5 to 5 pF. In an exemplary embodiment, PTC1can have a nominal capacitance of 5 pF and is tunable over the 0.3 to 1 times range, the first impedance L1can have a value of 3.1 nH, and the second impedance L2can have a value of 2.4 nH and the second tunable capacitance PTC2can have a nominal value of 20 pF and can be tuned over a range of 0.3 to 1 times the nominal value. It will be appreciated that the tunable capacitances in the illustrated embodiment could be tuned or adjusted over their ranges in an effort to improve the matching characteristics of the antenna1710under various operating conditions. Thus, under various use conditions, operating environments and at various frequencies of operation, the tunable capacitances can be adjusted to attain a desired level of performance.

FIG. 18is a flow diagram illustrating a method1800that can be used to tune the circuit ofFIG. 17. The basic flow of the algorithm1800initially includes measuring the performance parameters or metrics1810used as feedback pertaining to the performance of the closed-loop system or the impedance match between a transceiver and an antenna. The performance metrics utilized may vary over various usage scenarios, over modulation being utilized (i.e. Frequency Division Multiplexing or FDM, Time Division Multiplexing or TDM, etc.), based on system settings and/or carrier requirements, etc. For instance, in an illustrative embodiment, the performance metrics can include one or more of the following transmitter related metrics: the transmitter return loss, output power, current drain, and/or transmitter linearity.

Next, a current figure of merit (FOM) is calculated at step1820. The current FOM is based on the one or more performance metrics, as well as other criteria. The current FOM is then compared to a target FOM at step1825. The target FOM is the optimal or desired performance requirements or objective for the closed-loop system. As such, the target FOM can be defined by a weighted combination of any measurable or predictable metrics. For instance, if it is desired to maximize the efficiency of the transmitter, the target FOM can be defined to result in tuning the matching network accordingly. Thus, depending on the goal or objective, the target FOM can be defined to tune the matching network to achieve particular goals or objectives. As a non-limiting example, the objectives may focus on total radiated power (TRP), total isotropic sensitivity (TIS), efficiency and linearity. Furthermore, the target FOM may be significantly different for a TDM system and an FDM system. It should be understood that the target FOM may be calculated or selected based on various operating conditions, prior measurements, and modes of operation or, the target FOM can be determined at design time and hard-coded into the closed-loop tuning algorithm1800.

If it is determined that the current FOM is not equal to the target FOM, or at least within a threshold value of the target FOM1830, new tuning values can be calculated or selected at step1835. However, if the current FOM is equal to or within the defined threshold, then processing continues by once again measuring the performance metrics1810and repeating the process. Finally, if the current FOM needs to be adjusted towards the target FOM, the tuning algorithm can determine new tuning values for the matching network in an effort to attain or achieve operation at the target FOM340. In some embodiments, this new tuning value may also be stored as a new default tuning value of the transmitter at the given state of operation. For instance, in one embodiment, a single default value can be used for all situations, and as such, the latest tuning values can be stored in a variable location. In other embodiments, a default tuning state may be maintained for a variety of operational states, such as band of operation, use case scenario (i.e., hand held, antenna up/down, slider in/out, etc.) and depending on the current operational state, the new tuning values may be stored into an appropriate default variable.

In one embodiment, the closed-loop tuning algorithm can tune one or more of the tunable components of the circuit ofFIG. 17at step1840, measure the new FOM (i.e., based on the transmitter reflected loss) at steps1820-1830, and re-adjust or retune the matching network accordingly to steps1835-1840in a continuous loop. This process can adapt a tunable circuit from a non-matched state towards a matched state one step at a time. This process can be continued or repeated to attain and/or maintain performance at the target FOM. Thus, the process identified by steps1810through1840can be repeated periodically as needed, or otherwise. The looping is beneficial because even if performance at the target FOM is attained, adjustments may be necessary as the mode of operation (such as usage conditions) of the communication device changes and/or the performance of the transmitter, the antenna or the matching circuitry change over time.

In other embodiments, the tunable components can be set based on look-up tables or a combination of look-up tables and by performing fine-tuning adjustments. For instance, the step of calculating tuning values at step1835may involve accessing initial values from a look-up table and then, on subsequent loops, fine tuning the values of the components in the circuit ofFIG. 17.

In one embodiment where a communication device is operating within a TDM environment, the tuning algorithm can be configured to optimize the operation of the transmitter during a transmit time slot. In such an embodiment, the performance metric may be the transmitter return loss. In addition, the target FOM in such an embodiment may be a function of the transmitter return loss. In this embodiment, the tuning algorithm can be configured to minimize the FOM or the transmitter return loss. More particularly, for the circuit illustrated inFIG. 17, this embodiment can operate to tune the values of PTC1and PTC2to minimize the transmitter return loss during the transmit time slot. For this particular example, the algorithm ofFIG. 18can include measuring the transmitter return loss, calculating adjustment values for PTC1and PTC2to optimize an FOM that is a function of the transmitter return loss, tuning the matching network by adjusting the values of PTC1and PTC2and then repeating the process.

The adjustment values for PTC1and PTC2can be determined in a variety of ways. For instance, in one embodiment the values may be stored in memory for various transmitter frequencies and usage scenarios. In other embodiments, the values may be heuristically determined by making adjustments to the tuning circuit, observing the effect on the transmitter return loss, and compensating accordingly. In yet another embodiment, a combination of a look-up table combined with heuristically determined tuning can be used to adjust the matching network ofFIG. 17.

During the receiver time slot, the tuning algorithm can be reconfigured to optimize or improve the performance of the receiver. Similar to the adjustments during the transmit time slot, particular performance parameters may be measured and used to calculate a current FOM. However, it may be difficult to measure such performance parameters for the receiver. In one embodiment the tuning algorithm can be configured to apply a translation to the tuning values of the matching network derived during the transmitter time slot, to improve performance during the receive time slot. During the design of the transmitter and receiver circuitry, the characteristics of performance between the transmitter operation and receiver operation can be characterized. This characterization can then be used to identify an appropriate translation to be applied. The translation may be selected as a single value that is applicable for all operational states and use cases or, individual values which can be determined for various operational states and use cases.

FIGS. 19A-19Bare plots of transmitter reflection losses for four operating frequencies of a transceiver. The contours show the increasing magnitude of the reflection loss in 1 dB increments. For instance, inFIG. 19A, the inside contour for the transmitter1906is 20 dB and the bolded contour at1904is 14 dB. Operation at the center of the contours1902is optimal during transmitter operation. In the illustrated example, by adjusting the value of PTC2by adding an offset, significant performance improvements can be achieved in the receiver time slot by moving the operation towards point1912. The translation varies depending on a variety of circumstances and modes of operation including the frequency of operation, usage of the device, housing design, and transceiver circuitry.

In the illustrated example, the performance is determined to be greatly improved for the receiver time slot if the value of PTC2for receiver operation is adjusted to be 0.6 times the value of PTC2used for the optimal transmitter setting and the value of PTC1remains the same. This is true for each of the illustrated cases except at the 915 MHz/960 MHz operational state. At 960 MHz, it is apparent that significant receiver improvement can be realized by also adjusting the value of PTC1from its transmitter value. In the illustrated example, by examining the characteristics of the circuitry it can be empirically derived that a suitable equation for operation of the receiver at 960 MHz can be:
PTC1—Rx=PTC1—Tx+1−1.8*PTC2—Tx.

It should be noted that this equation is a non-limiting example of an equation that can be used for a particular circuit under particular operating conditions and the subject disclosure is not limited to utilization of this particular equation.

FIG. 20is an illustrative embodiment of a method2000used in a TDM environment. During the transmitter time slot, the closed-loop algorithm1800presented inFIG. 18, or some other suitable algorithm, can be applied on a continual basis to move operation of the transmitter towards a target FOM. However, when the receive time slot is activated at step2005, the closed-loop algorithm can be adjusted to match for the receiver frequency. The adjustment to the receiver mode of operation may initially involve determining the current operating conditions of the communication device at step2010. Based on the current operating conditions, a translation for tuning of the various circuits of the closed-loop system can be identified at step2020.

For instance, various states, components or conditions can be sensed and analyzed to determine or detect a current state or a current use case for the communication device. Based on this information, a particular translation value or function may be retrieved and applied. Such translations can be determined during the design phase when implementing the communication device and stored in a memory device of the communication device. The translations can be applied to the closed loop system1800at step2030. When operation returns to the transmitter time slot at step2035, the closed-loop algorithm1800again takes over to optimize operation based on the target FOM.

It should be understood that the translation applied to the closed-loop tuning algorithm1800during the receiver time slot can be based on the particular tuning circuit in use and can be determined during design phase of the communication device or on an individual basis during manufacturing and testing of the communication device. As such, the specific translations identified herein are for illustrative purposes only and should not be construed to limit the embodiments described by the subject disclosure.

For TDM systems, a tuning algorithm can operate to optimize operation of the communication device by tuning the matching circuit for an antenna according to a target FOM. During the receiver time slot, a translation can be applied to the tuned components to improve receiver performance. The target FOM can be based on a variety of performance metrics such as the reflection loss of the transmitter. The values for the tuned components can be set based on operational conditions determined by a look-up table, or by the use of heuristics during operation. The translations applied during the receiver operation can be determined empirically based on the design of the circuitry and/or testing and measurements of the operation of the circuit. In one embodiment, the tuning algorithm can tune the matching circuit during transmit mode based on non-receiver related metrics and then retune the circuit during receive mode operation based on a translation to optimize or attain a desired level of receiver operation.

In one embodiment when the communication device is operating within an FDM environment, the tuning algorithm can be adjusted so that the matching characteristics represent a compromise between optimal transmitter and receiver operation. Several techniques can be applied to achieve this compromise. In one embodiment, the translation applied in the TDM illustration above can be modified to adjust a tuning circuit as a compromise between the optimal transmit and receive settings. For instance, in the example circuit illustrated inFIG. 17, the value of PTC1and PTC2can be determined and adjusted periodically, similar to a TDM operation (even though such action may temporarily have an adverse effect on the receiver). Then, a translation can be applied to the values of PTC1and PTC2for the majority of the operation time. For instance, in the TDM example shown inFIG. 19, the transmitter values were adjusted by multiplying the PTC2value by 0.6 in three modes of operation and using the above-identified equation during a forth mode of operation. This same scheme can be used in the FDM mode of operation. However, the scaling factor can be different to obtain an operation that is compromised between the optimal transmitter setting and optimal receiver setting. For example, multiplying the PTC2value by 0.8 could attain an acceptable compromise.

In another embodiment, the tuning algorithm can be configured to attain a target FOM that is based on one or more transmitter related metrics (such as return loss) and the values of the adjustable components of a tunable circuit. In this embodiment, the tuning algorithm can continuously attempt to maintain a compromised state of operation that keeps the operation of the transmitter and the receiver at a particular target FOM that serving as a compromised performance metric level.

In the particular illustration applied to the circuit ofFIG. 17, the tuning algorithm can be based on a target FOM that is an expression consisting of the transmitter return loss and the values of PTC1and PTC2. Because the algorithm is not operating to minimize the transmitter return loss in the embodiment of an FDM system, a compromised value can be specified. For instance, a specific target transmitter return loss can be pursued for both transmitter and receiver operations by tuning the matching network based on an FOM that is not only a function of the return loss, but also a function of the values of PTC1and PTC2that will encourage operation at a specific level. The target FOM can be attained when the actual transmitter return loss is equal to the target transmitter return loss and, specified preferences for PTC1and PTC2are satisfied. In one embodiment, preferences can be for the value of PTC1to be at the highest possible value and the value of PTC2to be the lowest possible value while maintaining the transmit return loss at the target value and satisfying the PTC1and PTC2preferences.

FIG. 21is a return loss contour diagram in a PTC plane for a particular frequency (i.e., 825 MHz/870 MHz operation). Optimal operation in an FDM system cannot typically be attained because the settings for optimal transmitter operation most likely do not coincide with those for optimal receiver operation. As such, a compromise is typically selected. For instance, a compromise may include operating the transmitter at a target return loss value of −12 dB and at a point at which the transmitter −12 dB contour is closest to a desired receiver contour (i.e., −12 dB).

The operational goal of a tuning algorithm can be to attempt to maintain the matching circuit at a point where the operational metrics for the transmitter are at a target value (e.g., −12 dB) and the estimated desired receiver operation is proximate. In one embodiment, an equation used to express a target FOM for such an arrangement can be stated as follows:
Target FOM=f(Tx—RL,TX—RL_Target)+f(PTC2,PTC1)

Where: TX_RL is the measure transmitter return loss and TX_RL_Target is the targeted transmitter return loss.

In an embodiment suitable for the circuit provided inFIG. 17, the FOM may be expressed as:
FOM=(Tx—RL−Tx—RL_Target)+(C2*PTC2−C1*PTC1),

In operation, the foregoing embodiments can be used in a tuning algorithm to optimize a transmitter based on a target reflected loss to attain operation at the desired contour2110(as shown inFIG. 21) while adjusting the values of PTC1and PTC2to attain operation at a desired location2130(or minimum FOM) on the contour. The portion of the FOM equation including the TxRL and TX_RL_Target values ensures operation on the targeted RL contour2110(i.e., the −12 db RL contour). By observing the contour2110, it is apparent that not all points on the target reflected loss contour can have the same value for the PTC1and PTC2. Because of this, the values of PTC1and PTC2can be incorporated into the target FOM equation to force or encourage operation at a particular location on the reflected loss contour.

In the illustrated example, the target FOM can be the point at which the reflected loss contour is closest to the expected same valued reflected loss contour for the receiver. However, other performance goals may also be sought and the subject disclosure is not limited to this particular example. For instance, in other embodiments, the target FOM may be selected to encourage operation at a mid-point between optimal transmitter performance and expected optimal receiver performance. In yet another embodiment, the target FOM may be selected to encourage operation at a point that is a mid-point between a desired transmitter metric and an estimated or measured equivalent for the receiver metric.

In the example illustrated inFIG. 21, the optimum, compromised or desired point on the target contour is the point that minimizes the value of PTC2and maximizes the value of PTC1in accordance with the equation C2*PTC2−C1*PTC1. Thus, the portion of the expression including PTC1and PTC2ensures that operation is at a particular location on the contour that is desired—namely on the lower portion of the contour and closest to the RX_RL contour2020. The tuning algorithm can operate to optimize the current FOM or, more particularly in the illustrated embodiment, to minimize the expression of C2*PTC2−C1*PTC1as long as the desired TX_RL parameter is also met. It should be appreciated that the details associated with this example are related to a specific circuit design and a wide variety of relationships between adjustable components can differ on a circuit by circuit basis and as such, the subject disclosure is not limited to this specific example.

Another embodiment of a tuning algorithm may take into consideration historical performance of the tunable components as well as current values. As an example, as the tunable components are adjusted, changes in the current FOM will occur in a particular direction (i.e., better or worse). As an example, if tuning adjustments result in the current FOM falling on the top portion of a desired performance contour, making a particular adjustment may result in making the current FOM worse or better. If the adjustment was known to cause a certain result when the current FOM is located on the bottom of the contour and this time, the opposite result occurs, then this knowledge can help identify where the current FOM is located on the contour. Thus, knowing this information can be used in combination with operation metrics to attain the operation at the target FOM. For instance, the target FOM may be a function of operational metrics, current states of the tunable components, and the knowledge of previous results from adjusting the tunable components.

Stated another way, when a current FOM is calculated, the adjustments to reach the target FOM may take into consideration past reactions to previous adjustments. Thus, the adjustment to the tunable components may be a function of the FOM associated with a current setting and, the change in the current FOM resulting from previous changes to the tunable components.

In another embodiment in which the communication device is operating in an FDM environment, the FOM may be optimized similar to the operation in the TDM environment. For example, the FOM can be a function of the transmitter reflected loss metric and the tuning algorithm can be configured to optimize the FOM based on this metric. Once optimized, the tunable components can be adjusted based on a predetermined translation to move the FOM from an optimized state for the transmitter to a position that is somewhere between the optimal transmitter setting and the optimal receiver setting.

The aforementioned embodiments of a tuning algorithm and other variants can be applied to all or a subset of the algorithms described inFIG. 16.

Upon reviewing the aforementioned embodiments, it would be evident to an artisan with ordinary skill in the art that said embodiments can be modified, reduced, or enhanced without departing from the scope and spirit of the claims described below. For example, the configurations shown inFIGS. 13-15can be modified by, for example, by eliminating some tunable circuits such as on-antenna tuning. Method1600can be adapted according to this modification. The configurations ofFIGS. 13-15can also be modified to include tunable reactive elements between antennas which may be subject to cross-coupling leakages. Method1600can be adapted to include a tuning algorithm to compensate for cross-coupling according to open-loop settings and closed-loop sampling. The initial execution order of the algorithms ofFIG. 16can be modified in any suitable order. For example, tuning algorithm of steps1622-1627can be moved to the beginning of the tuning process. The order of the remaining tuning algorithms can be maintained. It should also be noted that one or more tuning algorithms can be executed concurrently. Other embodiments are contemplated by the subject disclosure.

FIG. 22depicts an exemplary diagrammatic representation of a machine in the form of a computer system2200within which a set of instructions, when executed, may cause the machine to perform any one or more of the methods discussed above. One or more instances of the machine can operate, for example, as the communication device100ofFIG. 1. In some embodiments, the machine may be connected (e.g., using a network) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.

The computer system2200may include a processor (or controller)2202(e.g., a central processing unit (CPU), a graphics processing unit (GPU, or both), a main memory2204and a static memory2206, which communicate with each other via a bus2208. The computer system2200may further include a video display unit2210(e.g., a liquid crystal display (LCD), a flat panel, or a solid state display. The computer system2200may include an input device2212(e.g., a keyboard), a cursor control device2214(e.g., a mouse), a disk drive unit2216, a signal generation device2218(e.g., a speaker or remote control) and a network interface device2220.

The disk drive unit2216may include a tangible computer-readable storage medium2222on which is stored one or more sets of instructions (e.g., software2224) embodying any one or more of the methods or functions described herein, including those methods illustrated above. The instructions2224may also reside, completely or at least partially, within the main memory2204, the static memory2206, and/or within the processor2202during execution thereof by the computer system2200. The main memory2204and the processor2202also may constitute tangible computer-readable storage media.

In accordance with various embodiments of the subject disclosure, the methods described herein are intended for operation as software programs running on a computer processor. Furthermore, software implementations can include, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.

Although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, are contemplated by the subject disclosure.