I. Field
The subject technology relates generally to communications systems and methods, and more particularly to systems and methods that selectively turn on and off resources in a mobile communications device in order to minimize power consumption in the device.
II. Background
When signals are transmitted from base station to receivers in a wireless network, various types of signal processing systems may be applied to reconstruct an accurate and high fidelity signal that may have arrived at the receiver impaired by multiple path effects. One such system for processing the respective paths is known as a Rake receiver which can also be part of a wireless transmitter/receiver system referred to as a modem (modulator/demodulator). Another example is the equalizer. In general, Rake receivers employ several base band correlators to individually process several signal multi-path components in a concurrent manner. The correlator outputs are then combined to achieve improved communications reliability and performance. On the other hand, the equalizer estimates the impulse response of the radio channel and based on the estimate removes the effects of the channel on the transmitted signal.
In many applications, both the base station and mobile receivers use Rake receiver techniques for communications, where each correlator in a Rake receiver is deemed a Rake-receiver finger. The base station combines the outputs of its Rake-receiver fingers non-coherently, whereby the outputs are added in power. The mobile receiver generally combines its Rake-receiver finger outputs coherently, where the outputs are added in voltage. Typically mobile receivers and base stations utilize several fingers in their receivers.
Rake based estimators are commonly employed for channel estimation in single-carrier systems. In such a system, “fingers” are assigned to the dominant paths in the channel. The channel magnitude for each finger is then typically computed by correlation with an appropriately delayed version of a pilot PN sequence, wherein the sequence refers to a pair of modified maximal length PN (Pseudorandom Noise) sequences utilized to spread quadrature components of a channel. An averaging filter can be employed on this channel estimate to trade-off channel estimation accuracy with Doppler tolerance, wherein the filter generally applies a finger management algorithm for assignment, de-assignment, and tracking, of the respective signal components processed at the respective fingers.
Power consumption is an important consideration for battery operated wireless modems that employ some of the Rake techniques described above. Generally, power budget analysis indicates that power consumption is not symmetric and thus, the receiver of the modem generally consumes more power than the transmitter side of the modem and hence, the resources it uses to process received samples is an important factor in determining the overall power consumption and how long the device battery will last. Different sections in the modem such as analog baseband, digital baseband and radio frequency (RF) portions consume different powers. For short range devices, the baseband receive section is an important factor to consider for the power budget. The receiver is generally designed with a fixed number of resources such as Rake fingers, equalizer taps, A-to-D converter (ADC) bits, and so forth based on certain metrics such as energy per bit to thermal noise density (Eb/No), Received Signal Strength Indicator (RSSI), Block Error Rate (BLER), Packet Error Rate (PER), Signal-to-Noise-Ratio (SNR), Link Quality Indicator (LQI), Bit Error Rate (BER), and so forth or any other metrics derived from these examples, to maintain certain quality-of-service (QoS) in various channels. One problem in managing power beforehand is to guarantee a desired QoS. This commitment often consumes additional power in the receiver however.
The following presents a simplified summary of various embodiments in order to provide a basic understanding of some aspects of the embodiments. This summary is not an extensive overview. It is not intended to identify key/critical elements or to delineate the scope of the embodiments disclosed herein. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
Systems and methods are provided for dynamically controlling resources and minimizing power consumption in a wireless mobile device. A resource manager monitors various parameters of a mobile wireless device such as signal-to-noise ratio (SNR), channel estimation, quality-of-service (QoS), and so forth to determine a respective threshold for such parameters. Depending on the threshold or other resource utilization considerations, various components within the wireless mobile device can be selectively turned on or off to minimize power consumption in the device. For example, it may be determined from a channel estimation that the QoS for a given device based upon its current location can be met with less resources. Thus, it may be possible for the resource manager to disable one or more resources or components within the device in order to conserve power in the device. As QoS or other signal quality degrades, the resource manager can dynamically enable components as desired to facilitate that a desired service quality is maintained. In this manner, by selectively and dynamically controlling resources as communications circumstances dictate, power consumption in the device can be conserved thus facilitating such aspects as improving battery life in the device. In one specific application, dynamic controls can be applied to ultra wideband systems which generally require low power consumption. Similarly, dynamic resource management can be applied substantially to any type of wireless mobile device.
To the accomplishment of the foregoing and related ends, certain illustrative embodiments are described herein in connection with the following description and the annexed drawings. These aspects are indicative of various ways in which the embodiments may be practiced, all of which are intended to be covered.
Systems and methods are provided for minimizing power consumption in a wireless mobile device. In one embodiment, a computer implemented method is provided that facilitates utilization of resources of a mobile device. This includes identifying available resources of a device and dynamically disabling or enabling subsets of the resources as a function of at least a channel estimation to improve or optimize performance of the device. Various components of the mobile device can be improved or optimized for dynamic power consumption controls including an adaptive Rake receiver, adaptive filter taps, cluster finger managers, word length managers, sampling managers, equalizer tap managers, and other components. Although examples may be provided showing ultra wideband configurations, the embodiments described herein can be applied to any code division multiple access (CDMA) system. Also, certain example metrics are described herein for controlling power. These metrics can include but are not limited to the following list that includes energy per bit to thermal noise density (Eb/No), Received Signal Strength Indicator (RSSI), Block Error Rate (BLER), Packet Error Rate (PER), Signal-to-Noise-Ratio (SNR), Link Quality Indicator (LQI), Bit Error Rate (BER), and so forth. It is to be appreciated when any of these metrics are discussed that the other metrics appearing in this list (or others not on the list) may also be employed along with the described metric for controlling power and desired service.
As used in this application, the terms “component,” “network,” “system,” and the like are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a communications device and the device can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. Also, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate over local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a wired or wireless network such as the Internet). It is further noted that terms such as minimize can be read as minimize or reduce. Similarly, terms such as maximize can be read as maximize or increase, whereas terms such as optimize can be read as optimize or improve.
In general, the system 100 supports a link adaptive receiver architecture that utilizes hardware (or software) resources in the device 120 in an optimum or suitable manner to minimize power consumption. The architecture can be applied to but not limited to, a direct sequence spread spectrum type ultra wideband (UWB) communication systems, for example. An example usage for UWB systems is in high speed local connectivity in vehicle, home and office type networks. Another usage of UWB systems is in very low data rate sensor networks. Some attributes of the UWB device are low energy consumption and hence extended battery life, where the large bandwidth of UWB systems includes components operating at very high speeds thereby, consuming significant power if ran continuously without proper management. Another characteristic of the UWB system is that it operates using a fixed transmit power. In such systems, dynamically adjusting the receiver parameters in an intelligent manner based on channel conditions results in significant power savings of the device 120.
As noted above, the system 100 is not limited to UWB devices and such dynamic power conservation principles can be applied to substantially any mobile device 120. The following description will now illustrate various components of the link adaptive architecture noted above. Such components include a Link Adaptive Receive Control, an Adaptive Rake Receiver, Adaptive Filter Taps, a Cluster Finger Manager, an Analog to Digital (ADC) Wordlength Manager, an ADC Sampling Manager, and an Equalizer Tap Manager which are described in more detail below.
The LARC 200 can apply Open Loop and/or Closed Loop controls 210 and 220, respectively. Under Open Loop conditions, the LARC 200 measures the signal-to-noise ratio (SNR) of the incoming received samples 230 and performs a course adjustment of device resources at 234. The open loop control reduces the power consumption to some extent and exceeds the desired QoS requirement. Under Closed Loop conditions, the LARC 200 uses the SNR along with other metrics or parameters 240 such as PER to refine resource utilization and to further minimize the power consumption while achieving and maintaining the desired QoS. It is to be appreciated that other metrics such as RSSI, Eb/No, BLER, and so forth can be employed to perform resource adaptation in this manner. Before proceeding, it is noted that the open loop controls 210 and/or the closed loop controls 220 can be employed within the LARC 200 or outside the LARC as shown. The controls 210 and 220 can be associated with various resource control components that are illustrated in more detail with respect to
A cluster finger manager 330 (CFM) determines the optimum or suitable number of Rake clusters to use and number of fingers within a cluster to use to achieve the desired demodulation performance. The number of clusters is determined based on estimated SNR, channel estimation or time estimation 336, or probability of demodulation error event 340 or any combination of these including parameters derived or equivalent to these. For example, the optimum or suitable cluster and fingers within a cluster could also be determined based on the channel conditions or acquisition result. As shown, switching logic 344 is provided to select a desired number of cluster resources, where FINGER_SELECT control signals from the CFM 330 are shown at 346-350 and cluster select controls at 352. It is noted that the outputs shown at 336 can include one or more output signals. In this example, output 336 includes channel estimate data or signals and time estimate data or signals.
At 354, an ADC Wordlength Manager (AWM) is provided. The AWM 354 determines the optimum or suitable word length (number of bits) for an analog to digital converter (ADC) 358 based on the estimate of the received signal-to-noise ratio at 360. The power consumption of the ADC 358 is proportional to the number of bits used. Significant power savings can be achieved by scaling the ADC 358 word length based on the required signal-to-noise ratio 360 or other channel conditions. It is noted that channel conditions can include an estimated SNR, a channel estimation, a probability of demodulation error event, or any combination of these or other channel condition/parameter derived or equivalent to these. A favorable channel condition could be used to reduce the word length of the ADC 358. Based on the received SNR 360, the AWM 354 produces a control signal NBIT 364 that indicates the number of bits to be used by the ADC. This signal is then used to control the ADC word length. In systems employing large processing gains i.e., larger symbol times, the extra gain and link margin could be used to minimize the ADC 358 word length requirements.
At 368, an ADC Sampling Manager (ASM) is provided. A common method of processing the received waveform is to sample it at a rate equal to at least two times the significant bandwidth. For large bandwidths as is in UWB systems, the sampling rate of the A-to-D converter 358 can be large resulting in higher power consumption. The over-sampling of the signal by two or more provides a means to adjust for timing errors due to mismatch between the transmitter and receiver. The continuous or periodic adjustment of timing is useful in rapidly varying channels. However, in stationary channels and with packet sizes much smaller than the channel coherence time, the timing can be adjusted at the beginning of the packet during a preamble/pilot period and then kept constant during the rest of the packet. In such a scenario, the received waveform can be over-sampled during the preamble portion where the timing is adjusted. After that time, the remaining portion of the packet can be sampled at the correct time using a rate of one times the signal bandwidth thus, providing power savings directly proportional to the reduction in over-sampling. For example, changing the sampling rate from Fs to Fs/2 can result in a savings of up to 50% in power consumption.
In time varying channels or when the transmitted packet duration is larger than the channel coherence time, it may be necessary to adjust the timing during the preamble portion as well as periodically during the remainder of the packet. In such scenarios, the sampling rate can be increased to the desired value to provide the timing adjustments. The ADC Sampling Manager 368 determines the appropriate sampling rate using information such as channel conditions, portion of the packet that is being processed, and so forth. As illustrated a searcher and channel estimation component 374 can be provided to provide output channel estimations and/or time estimations at 336, which are employed as channel estimation and/or time estimation inputs by the fingers of the K clusters at 380-384. An error event measurement component is illustrated at 388 and generates error event 340 discussed above. It is noted that in an alternative embodiment, output 340 from the error event measurement component 388 can be employed as input to the AWM 354 which can serve as a further control of ADC word length at 364.
In this example, an architecture is provided that permits the adjustment of taps based on channel conditions and demodulation performance. Under favorable channel conditions, the number of taps can be reduced, thus reducing the power consumption and extending the battery life of the device. A symbol rate decision feedback equalizer having variable forward taps 434 and feedback taps 438 is introduced. The taps 434 and 438 can be adjusted based on channel conditions or data rates. For example, a longer channel, i.e., one with a larger delay spread, may need more feedback taps than a channel with shorter delay spread. Another example is when the adjustment of taps is based on the processing gain, i.e., number of chips per symbol. In the limiting case of unity processing gain, the symbol rate out of the Rake combiner at 410 is the same as the chip rate. In this case, the Rake block shown in
An Equalizer Tap Manager (ETM) 450 determines an optimum or suitable number of equalizer taps to use to achieve the desired demodulation performance. The number of equalizer taps can be determined based on channel conditions such as estimated SNR, channel estimation, probability of demodulation error event, or any combination of these or other parameter derived or equivalent to these. For example, the optimum or suitable number of taps could be determined based on the channel delay parameters such as mean and RMS delay spreads that are estimated from the channel estimation algorithm. For a linear equalizer, the ETM 450 can adjust the number of feed-forward (FF) taps 434 while disabling the feedback (FB) taps 438 and decision device 444. For a non-linear equalizer such as a decision feedback equalizer (DFE), the ETM 450 can adjust both the feed-forward (FF) taps 434 and feedback (FB) taps 438. In systems employing large processing gains, i.e., lower data rates, the symbol times are longer and hence, the equalizer requirement can be reduced. Based on the data rate and channel conditions, the ETM 450 determines the number of equalizer taps to use to meet the target performance while minimizing the power consumption. Other components in the system 400 can include a de-map component 454, a de-interleaver component 456, and a decoder 460.
Depending on the channel conditions as determined by the Channel Estimation/Searcher unit (shown at 374 of
The input of the RUT 910 is Delta shown at 920 and the output is the resource utilization at 930 with an example shown below in Table 2. The resources could be Rake fingers, ADC bits, equalizer taps or a combination of these resources. More than one combination of resources can yield the same performance or target SNR. In such scenarios, the CFM selects the appropriate combination to minimize the modem power consumption. The RUT 910 can be generated based on one or more loss tables such as a Rake Loss Table (RLT), ADC Loss Table (ALT) and the Equalizer Loss Table (ELT) shown in example Tables 3-5 below. The RLT provides the SNR loss when using reduced number of fingers relative to the maximum number of fingers. The ALT provides the SNR loss when using reduced number of ADC bits relative to the maximum number of bits. The ELT provides the SNR loss when using reduced number of equalizer taps relative to the maximum number of taps. Each of these tables: RLT, ALT and ELT can be generated a priori based on prior channel measurements and simulations. These tables can then be updated during the course of modem operation to generate more precise estimates of the SNR loss while operating with different resource utilizations.
Proceeding to 1010, one or more parameters or metrics are monitored in an adaptive receiver. As noted previously, these can include signal to noise ratios (SNRs), channel estimation information, error event data, and other conditions within a receiver that may indicate signal quality and so forth. In addition, alternative aspects include selectively enabling or disabling resources based upon auxiliary or policy aspects associated with the device and these aspects can be monitored in addition to the parameters or metrics previously described. For example, a user may set certain policies or circumstances that can be automatically detected that determine when one or more resources can be disabled. This can include employment of intelligent components such as classifiers to learn respective patterns associated with a device. These may include setting or detecting usage patterns for the device and disabling resources accordingly (e.g., after 1:00 AM maintain minimal resources for emergencies only).
At 1020, the parameters described above are compared with one or more threshold conditions. These can include dynamically updatable resource tables that define such conditions. Also, electronic or data settings can be maintained within the device to define a plurality of thresholds that may be used to determine when to enable or disable resources in view of the given threshold. At 1030, a determination is made as to whether or not one or more resources are adequately enabled in view of current operating conditions for the receiver. For example, an SNR monitor may be compared to an SNR threshold that defines the number of Rake clusters and/or fingers that should be enabled in view of the currently detected SNR. As can be appreciated, a plurality of thresholds can be compared in this manner. If resource utilization is currently adequate at 1030, the process proceeds to 1040 where current resources are maintained in the receiver and then the process returns to 1010 and continues to monitor receiver parameters. If resource utilization is not currently adequate at 1030, the process proceeds to 1050. At 1050, one or more device resources are selectively enabled or disabled depending on the comparison at 1030. For example, if excellent SNR conditions were detected, one or more device resources may be disabled to conserve power. Conversely, if poor signal conditions were detected, one or more device resources may be enabled in order to facilitate a desired quality of service at the receiver. When suitable resources have been enabled or disabled at 1050, the process proceeds back to 1010 and monitors receiver parameters.
Referring now to
TMTR 1220 receives and converts the stream of symbols into one or more analog signals and further conditions (e.g., amplifies, filters, and frequency up converts) the analog signals to generate a downlink signal suitable for transmission over the wireless channel. The downlink signal is then transmitted through an antenna 1225 to the receiving device 1230. At the receiving device 1230, an antenna 1235 receives the downlink signal and provides a received signal to a receiver unit (RCVR) 1240. Receiver unit 1240 conditions (e.g., filters, amplifies, and frequency down converts) the received signal and digitizes the conditioned signal to obtain samples. A symbol demodulator 1245 demodulates and provides received pilot symbols to a processor 1250 for channel estimation. Symbol demodulator 1245 further receives a frequency response estimate for the downlink from processor 1250, performs data demodulation on the received data symbols to obtain data symbol estimates (which are estimates of the transmitted data symbols), and provides the data symbol estimates to an RX data processor 1255, which demodulates (i.e., symbol de-maps), de-interleaves, and decodes the data symbol estimates to recover the transmitted traffic data.
The processing by symbol demodulator 1245 and RX data processor 1255 is complementary to the processing by symbol modulator 1215 and TX data processor 1210, respectively, at transmitting device 1205. On the uplink, a TX data processor 1260 processes traffic data and provides data symbols. A symbol modulator 1265 receives and multiplexes the data symbols with pilot symbols, performs modulation, and provides a stream of symbols. A transmitter unit 1270 then receives and processes the stream of symbols to generate an uplink signal, which is transmitted by the antenna 1235 to the transmitting device 1205.
At transmitting device 1205, the uplink signal from terminal 1230 is received by the antenna 1225 and processed by a receiver unit 1275 to obtain samples. A symbol demodulator 1280 then processes the samples and provides received pilot symbols and data symbol estimates for the uplink. An RX data processor 1285 processes the data symbol estimates to recover the traffic data transmitted by terminal 1230. A processor 1290 performs channel estimation for each active terminal transmitting on the uplink. Multiple terminals may transmit pilot concurrently on the uplink on their respective assigned sets of pilot subbands, where the pilot subband sets may be interlaced. Processors 1290 and 1250 direct (e.g., control, coordinate, manage, etc.) operation at transmitting device 1205 and receiving device 1230, respectively. Respective processors 1290 and 1250 can be associated with memory units (not shown) that store program codes and data. Processors 1290 and 1250 can also perform computations to derive frequency and impulse response estimates for the uplink and downlink, respectively.
For a multiple-access system (e.g., FDMA, OFDMA, CDMA, TDMA, etc.), multiple terminals can transmit concurrently on the uplink. For such a system, the pilot subbands may be shared among different terminals. The channel estimation techniques may be used in cases where the pilot subbands for each terminal span the entire operating band (possibly except for the band edges). Such a pilot subband structure would be desirable to obtain frequency diversity for each terminal. The techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units used for channel estimation may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. With software, implementation can be through modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in memory unit and executed by the processors 1290 and 1250.
For a software implementation, the techniques described herein may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in memory units and executed by processor components. The memory unit may be implemented within the processor component or external to the processor component, in which case it can be communicatively coupled to the processor component via various means as is known in the art.
What has been described above includes exemplary embodiments. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the embodiments, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. Accordingly, these embodiments are intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.