Smoothing filter for irregular update intervals

Information

  • Patent Grant
  • 8150357
  • Patent Number
    8,150,357
  • Date Filed
    Friday, March 28, 2008
    17 years ago
  • Date Issued
    Tuesday, April 3, 2012
    13 years ago
  • CPC
  • US Classifications
    Field of Search
    • US
    • 455 226200
    • 455 130000
    • 455 134000
    • 455 137000
    • 455 186100
    • 455 213000
    • 455 226100
    • 455 277200
    • 455 286000
    • 455 293000
    • 455 307000
    • 455 306000
    • 455 339000
  • International Classifications
    • H04B1/10
    • H04B17/00
    • Term Extension
      875
Abstract
A technique for determining a received signal strength from multiple messages filters noise from the received signal to provide an accurate signal strength value. Advantageously, the more accurate output signal strength value can be used to identify movement of a station as well as estimate locations and direction of movement.
Description
BACKGROUND

In radio transmissions signal attenuation through a medium such as air, a wall, or water, reduces amplitude and intensity of the signal. At a receiver the signal has an associated strength, or received signal strength, that is typically less than the signal strength at a transmitter.


Radio signal strengths are used for various purposes, such as estimating a distance of a wireless station on a network. However, signal strength measurements are subject to considerable variance, even between consecutive messages from the same transmitter. The variance creates inaccuracies in client distance estimates. In wireless networking, it is not uncommon for a signal to vary by as much as +/−6 decibels confounding attempts to pin down locations, or providing the appearance of sporadic movement of a non-moving transmitter.


Further compounding the issue is the irregularity of sent messages. A station need not send messages at consistent intervals. Existing systems are commonly based on systems that sample signal strength at discrete intervals. As a irregularly transmitted signal does not have a discrete sample rate, prior systems are limited in their ability to estimate distance, motion and/or location of a station on a wireless network.


The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent upon a reading of the specification and a study of the drawings.


SUMMARY

The following examples and aspects thereof are described and illustrated in conjunction with systems, tools, and methods that are meant to be exemplary and illustrative, not limiting in scope. In various examples, one or more of the above-described problems have been reduced or eliminated, while other examples are directed to other improvements.


A technique for determining a received signal strength value includes filtering noise from the received signal to provide an accurate signal strength value. One or more signals including a first sample and a second sample are transmitted from a transmitter to a receiver. The receiver provides values to a dynamically windowed filter. The dynamically windowed filter receives, as an input, a received signal strength value of the second sample, a dynamic time window, and a elapsed time value representing the amount of time that has passed between the receipt of the first sample and the second sample. The dynamically windowed filter weights the received signal strength value of the first sample to obtain a weighted input signal strength value. The dynamically windowed filter decays a previous output signal strength value to obtain a decayed input signal strength value. The dynamically windowed filter and adds the weighted input signal strength value to the decayed previous output signal strength value to obtain a filter output. The weighting can be a function of the dynamic time window and the time elapsed value. The technique dramatically reduces noise through filtering. Advantageously, the more accurate output signal strength can be used to identify movement or estimate distance, direction of movement, and/or current location of a station.


These and other advantages will become apparent to those skilled in the relevant art upon a reading of the following descriptions and a study of the several examples of the drawings.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 depicts an example of a system for filtering noise from an irregularly received signal through a dynamically windowed filter.



FIG. 2 depicts an example of a wireless network receiving messages at an irregular rate from a wireless station (“station”) and dynamically filtering the signal through a dynamically windowed filter.



FIG. 3 depicts an example of a filter including an input, an output and weights.



FIG. 4 depicts a diagram of an example of a plurality of graphs of sampled signal power, received signal strength, and filtered power output by a dynamically windowed filter.



FIG. 5 depicts a flowchart of an example of a method for finding an output signal strength value using a dynamically windowed filter.



FIG. 6 depicts an example of a system for monitoring movement of a station.



FIG. 7 depicts an example of a flowchart of a method for monitoring movement of a station.



FIG. 8 depicts an example of a device for monitoring movement of a station.



FIG. 9 depicts an example of a system for monitoring location and movement of a station using Access Points (APs).



FIG. 10 depicts an example of a plurality of network portals (NPs) using dynamically windowed filters to monitor movement of a station.



FIG. 11 depicts an example of a system representative of computing systems discussed herein, including various components.





DETAILED DESCRIPTION

In the following description, several specific details are presented to provide a thorough understanding. One skilled in the relevant art will recognize, however, that the concepts and techniques disclosed herein can be practiced without one or more of the specific details, or in combination with other components, etc. In other instances, well-known implementations or operations are not shown or described in detail to avoid obscuring aspects of various examples disclosed herein.



FIG. 1 depicts an example of a system for filtering noise from an irregularly received signal through a dynamically windowed filter. FIG. 1 includes a receiver 102 and a transmitter 106. The receiver includes dynamically windowed filter 104.


In the example of FIG. 1, the receiver 102 can be practically any devices operable to receive a signal by radio transmission, and the transmitter 106 can be practically any device operable to transmit a signal by radio transmission. The dynamically windowed filter 104 includes include a processor and memory, such as a memory adapted to store time values, instructions and received signal strength values. The processor and the memory can be shared with the receiver 102. Alternately the dynamically windowed filter 104 can include its own processor and memory, such as on a daughter card connected to a mainboard of the receiver 102.


In the example of FIG. 1, in operation, a dynamic time window is allocated. The window can be set in seconds, milliseconds, nanoseconds, or on any known or convenient scale. Signals in the window will be considered in the filtering calculations, however, signals received too far in the past will be outside the window and will have decayed in prior calculations.


In the example of FIG. 1, in operation, two or more transmissions occur from the transmitter 106 to the receiver 102. A first sample is received at a first time and a second sample is received at a second time. A first time value is recorded at the time that the first sample is received and a second time value is recorded at a time that the second sample is received. The difference between the first time and the second time is recorded as a time elapsed value. Receiving the second sample can start a filtering process to produce an output signal strength value, or a value that has been filtered.


In the example of FIG. 1, in operation, the first sample is associated with a first sample signal strength that is recorded as a first sample signal strength value. Where prior calculations have been performed, the first sample signal strength value is associated with a previous output signal strength value. Where no prior calculations have been performed, the previous output signal strength value is initialized to a value, e.g. 0, 1.0, or any known or convenient initialization value. The second sample signal strength value is associated with a second sample signal strength and is used as an input to the dynamically windowed filter.


In the example of FIG. 1, in operation, the dynamically windowed filter 104 decays the previous output signal strength value to find a decayed previous output signal strength value. The filter weights the second sample signal strength value to find a weighted second sample signal strength value. The filter adds the decayed previous output signal strength value to the second sample signal strength value to find a current output signal strength value. The current output signal strength value is the output of the dynamically windowed filter.


In a non-limiting example, (1−e−t/τ) can be used to weight the second sample strength value, and (e−t/τ) can be used to weight the previous output signal strength value. The weights assigned herein can be calculated using one or more formulas, and can be adjusted as is known or convenient to suit a particular application.


In a non-limiting example, the receiver 102 could be a part of an ad hoc network, or alternatively, the receiver could a part of a an 802.11 infrastructure network. In the context of an infrastructure network, the receiver 102, can be included in an authorization unit (AUTH), and the transmitter 106 can be included in a station, for example, a laptop computing device, a desktop computing device, a hand held computing device, or any other known or convenient device.



FIG. 2 depicts an example of a wireless network receiving messages at an irregular rate from a wireless station (“station”) and dynamically filtering the signal through a dynamically windowed filter. FIG. 2 includes optional network 202, AUTH 204-1, AUTH 204-2, AUTH 204-n (collectively AUTHs 204), dynamically windowed filter 206-1, dynamically windowed filter 206-2, dynamically windowed filter 206-n (dynamically windowed filters 206), and station 208. As depicted for clarity, AUTHs 204 are coupled to dynamically windowed filters 206, however, AUTHs 204 could include dynamically windowed filters 206.


In the example of FIG. 2, the network 202 couples AUTHs 204. The network 202 can be practically any type of communications network, such as, by way of example but not limitation, the Internet or an infrastructure network. The term “Internet” as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (the web).


In the example of FIG. 2, AUTHs 204 are hardware units acting as communication nodes by linking wireless mobile stations such as personal computers (PCs) to controller 202 via dynamically windowed filters 206. The AUTHs 204 may generally perform authentication operations to associate stations. In an example, the AUTHs 204 connect users to other users, and may serve as a point of connection to a wired network. An AUTH includes a radio. In a non-limiting embodiment, the radio is configured for 802.11 standard transmissions.


In the example of FIG. 2, the AUTHs 204 communicate as peer-entities including distributed intelligence otherwise included in a controller. The distributed intelligence could be equivalent to that of a controller across the distributed AUTHs. Where a controller is used, the controller oversees the network and monitors connections of stations to AUTHs and can monitor location and movement of stations relative to AUTHs.


In the example of FIG. 2, the AUTHs 204-2 is coupled to the dynamically windowed filter 206-2. The dynamically windowed filter 206-2 can include its own processor and memory.


In the example of FIG. 2, the station 208 can be any computing device capable of wireless local area network (WLAN) communication. The station 208 is depicted as associated with AUTH 204-2, however, the station could associate with any one of the AUTHs 204. As associated with AUTHs 204-2, the station 208 can transmit signals to the AUTH 204-2 and the dynamically windowed filter 206-2 can filter the received signals.


In the example of FIG. 2, in operation, the station 208 transmits one or more messages to the AUTH 204-2. Each message is encoded as a wireless signal. A second to last signal received at the AUTH 204-2 can be referred to as a first sample. The first sample is received at a first time and has an associated signal strength value. The dynamically windowed filter 206-2 has a previous output signal strength value, such as from previous calculations or from initialization (where no prior calculations have been performed, the previous output signal strength value is initialized to a value, e.g. 0, 1.0, or any known or convenient initialization value).


In the example of FIG. 2, in operation, the station 208 transmits a second sample. The filter 206 determines an elapsed time value capturing an amount of time elapsed between the receipt of the first sample and the receipt of the second sample. The filter 206 weights the previous output signal strength value and the second sample signal strength value. Then the filter 206 adds the weighted previous output signal strength value to the weighted second sample signal strength value to find a current output signal strength value.



FIG. 3 depicts an example of a filter 300 including an input, an output and weights. FIG. 3 includes xi (second sample signal strength value) 304, input weight 306, summation (Σ) module 308, x′i-1 (previous filter output value) 310, decay weight 312, and filter output 314.


In the example of FIG. 3, the second sample signal strength value 304 is a recorded value. The input weight 306 can include 1−e−t/τ where τ is the dynamic time window and t is the elapsed time value.


In the example of FIG. 3, the summation module 308 can be an addition module, such as a hardware adding machine, or in software as instructions executing on a processor to perform an addition function.


In the example of FIG. 3, the previous filter output value 310 is a value storing the previous output of the filter 310. Where no previous output of the filter has been determined, the previous filter output value 310 is initialized to an initialization value such as 0, 0.5, a pre-determined constant value, or any other known or convenient value.


In the example of FIG. 3, the decay weight 312 can include e−t/τ where t is the elapsed time value discussed in reference to current signal strength weight 306 and τ is the dynamical time window discussed in reference to the input weight 306.


In the example of FIG. 3, the filter output 314 is a value that has been filtered by a dynamically windowed filter.


In the example of FIG. 3, in operation, a second sample signal strength value 304 is multiplied by the input weight which can include [1−e−t/τ]. The previous filter output value 310 is multiplied by the decay weight 312 to find a decayed previous output signal strength value. The summation module 308 adds the decayed previous output signal strength value to the weighted second sample signal strength value 304 to find a current filter output value. Then, the current filter output value is stored in the previous filter output value 310 for use in a subsequent calculation.



FIG. 4 depicts a diagram of an example of a plurality of graphs of sampled signal power, received signal strength, and filtered power output by a dynamically windowed filter. FIG. 4 includes power per message 402, received signal strength 404, and filtered power 406. Power per message 402 includes irregularly received signal 408 and dynamic time window 410. Received signal strength 404 includes value decayed by output weight 412 and value added by input weight 414. In the example of FIG. 4, a station transmitting signals is not moving, and variation in signal power is attributed to noise on the signal.


Power per message 402 includes a number of points in irregularly received signal 408 representing signal strength values collected at various points in time. Some points cluster together indicating rapid transmission, but other points spread apart indicating less frequent transmission. The dynamic time window 410 indicates a time window over which to filter, such as 1 second, 100 milliseconds, 10 milliseconds, or on any known or convenient time scale.


The received signal strength 404 indicates a graph of signal strength to time without filtering. Such a graph could be found by interpolation, average, or any known or convenient manner. Value decayed by output weight 412 indicates a positive displacement that is attributable to noise, e.g. +6 db, and value added by input weight 414 indicates a negative displacement that is also attributable to noise, e.g. −6 db. The filtered power 406 includes a single value derived by dynamically filtering the points included in power per message 402 through the exemplary dynamic time window 410. Noise is removed.



FIG. 5 depicts a flowchart of an example of a method for finding an output signal strength value using a dynamically windowed filter. The method is organized as a sequence of modules in the flowchart 500. However, it should be understood that these and other modules associated with other methods described herein may be reordered for parallel execution or into different sequences of modules.


In the example of FIG. 5, the flowchart begins at module 502 with providing a dynamic time window, a previous output signal strength value and a time elapsed value. If a first sample was received, or other prior calculations have been made, the previous output signal strength value is defined as the previous output of the filter based on a calculation using the first sample. If the previous output signal strength value is undefined, the previous output signal strength value can be set to a value of 0, a pre-defined numerical constant, or any known or convenient initialization value. The time elapsed value is a value representing the time that has passed since the receipt of a first sample.


In the example of FIG. 5, the flowchart continues to module 504 with receiving, at a radio, a signal having a signal strength value. The signal strength value is stored and the time elapsed value is set to the difference in time between the receipt of a first sample and receipt of the current signal. If no first sample was received, the time elapsed value is set to a value indicating the amount of time that the filter has been operating up to a maximum of the dynamic time window.


In the example of FIG. 5, the flowchart continues to module 506 with decaying the previous output signal strength value with a first function of the time elapsed value and the dynamic time window to obtain a decayed previous output signal strength value. The previous output signal strength value can be weighted by multiplying by a function of, e.g., e−t/τ. The function can include parameters for the dynamically allocated time constant value and the elapsed time. The result is the weighted previous output value.


In the example of FIG. 5, the flowchart continues to module 508 with weighting the signal strength value with a second function of the time elapsed value and the dynamic time window to obtain a weighted current signal strength value. The function can be expressed as 1−e−t/τ and the dynamically allocated time constant value. The result is a weighted signal strength value.


In the example of FIG. 5, the flowchart continues to module 510 with adding the decayed previous output signal strength value to the weighted signal strength value to find a current output signal strength value. Together the weighted output signal strength value and the weighted signal strength value produce the current output signal strength value. The current output signal strength value can be saved as a previous output signal strength value for future calculations. Having found a current output signal strength value, the flowchart terminates.



FIG. 6 depicts an example of a system for monitoring movement of a station. FIG. 6 includes station 601, NP 602, trend detector 604, NP 606, and report 612. The NP 602 includes first dynamically windowed filter 608. Trend detector 604 includes comparison module 610. NP 606 includes second filter dynamically windowed filter 607. In the example of FIG. 6, NP 602 and NP 606 are coupled to the trend detector 604, such as by one or more networking units connected by, e.g., wired interface.


In the example of FIG. 2, the station 601 can be any computing device capable of wireless local area network (WLAN) communication.


NP 602 and NP 606 are hardware units acting as communication nodes by linking wireless mobile stations such as laptop personal computers to trend detector 604. First dynamically windowed filter 608 and second dynamically windowed filter 607 each determine current output signal strengths from irregularly received signals of one or more wireless stations in range of both NP 602 and NP 606.


Report 612 includes information about the station 601, such as direction of movement and can be data displayed to an administrator, saved to a log, or otherwise used or saved.


For the station 601, signal strengths increase as the wireless station approaches an NP. Where the signal strength is stronger at a first NP, than at a second NP, the station is closer to the NP having the stronger signal strength. Relative differences between the filter output signal strengths at the NP 602 and the NP 606 can be used to identify the direction of motion of a station.


In the example of FIG. 6, in operation, the comparison module 610 receives signal strengths of the station 601 in range of the NP 602 and/or the NP 606. The signal strength of the station 601 varies as the station moves closer or farther away. The comparison module 610 monitors the changing signal strengths and determines a direction of movement of the station relative to the NP 602 and the NP 606.



FIG. 7 depicts an example of a flowchart 700 of a method for monitoring movement of a station. The method is organized as a sequence of modules in the flowchart 700. However, it should be understood that these and other modules associated with other methods described herein may be reordered for parallel execution or into different sequences of modules.


In the example of FIG. 7, the flowchart starts at module 702 with filtering an irregularly received signal through a first dynamic time window at a first network portal (NP) to obtain a first received signal strength value of the irregularly received signal at a first location. A station transmits messages to the first NP at irregular times, thus the signal is irregularly received. Each messages is associated with a signal having a signal strength value. The filter assigns weights to a previous output signal strength value and a current signal strength value and adds the weighted previous output signal strength and the weighted current signal strength to obtain a filter output. The weights include a function of a time elapsed value and a first dynamically allocated time constant. The output can be the first received signal strength.


In the example of FIG. 7, the flowchart continues to module 704 with filtering the irregularly received signal through a second dynamic time window at a second NP to find a second received signal strength value of the irregularly received signal at a second location. The irregularly received signal at the second NP is filtered in the same manner as the first NP however, the second NP can use the same time constant as the first NP, or a different time constant from the first NP.


In the example of FIG. 7, the flowchart continues to module 706 with comparing the first received signal strength and the second received signal strength to identify a direction of movement of a source of the irregularly received signal. Where the first NP has a stronger received signal strength than the second NP it can be said that the station is closer to the first NP than to the second NP. Over time signal strength values change as the station moves. The signal strength changes are monitored, and a direction of movement produced. Having identified the direction of movement the flowchart terminates.



FIG. 8 depicts an example of a device for monitoring movement of a station. FIG. 8 includes transmitter 802 and receiver 804. Receiver 804 includes trend detector 806 and report 814.


In the example of FIG. 8, the transmitter 802 can be practically any device operable to transmit a signal by radio transmission. The receiver 804 can be any device operable to receive a signal by radio transmission.


In the example of FIG. 8, the trend detector 806 includes first dynamically windowed filter 808, second dynamically filtered window 810 and comparison module 812. In the example of FIG. 8 the trend detector 806 is integrated into the receiver 804. The components depicted can be included on a single hardware unit, such as a motherboard, or can be constructed from one or more cards coupled to a circuit board of the receiver 804.


In the example of FIG. 8, the first dynamically windowed filter 808 has a first dynamic time window τ1 and the second dynamically windowed filter 810 has a second dynamic time window τ2. τ1 and τ2 are different so that the output of the first dynamically windowed filter 808 and the output of the second dynamically windowed filter 810 can be compared to determine whether an object is moving towards the receiver, away from the receiver, or is stationary relative to the receiver.


In a non-limiting example, where τ1 is associated with a smaller dynamic time window than τ2 and dynamically windowed filter 808 outputs a higher value than dynamically windowed filter 810, it can be estimated that the transmitter has moved closer to the receiver 804 because the signal has strengthened in the short term. The opposite could indicate that the transmitter 802 had moved farther away from the receiver 804. Where the output of dynamically windowed filter 808 equaled the output of dynamically windowed filter 810, the transmitter 802 can be said to be stationary relative to the receiver 804.


In the example of FIG. 8, information determined by comparing the output of the comparison module 812 could be used to decide whether or not to generate report 814. The trend detector 806 can be used to selectively generate more reports on transmitters with interesting trends, such as those moving rapidly toward the receiver, slowly away from the receiver, or any known or convenient trend suited for a particular application.


In the example of FIG. 8 in operation, the transmitter transmits a signal to the receiver 804 on an irregular basis. The trend detector 806 filters the signal twice, once with the first dynamically windowed filter 808 and also with the second dynamically windowed filter 810. The filter outputs are compared by the comparison module 812 to produce report 814.



FIG. 9 depicts an example of a system for monitoring location and movement of a station. FIG. 9 includes controller 902, Access Point (AP) 904-1, AP 904-2, AP 904-n (collectively APs 904), and station 908. AP 904-1 includes filter 906-1, AP 904-2 includes filter 906-2, and AP 904-n includes filter 906-n (collectively filters 906).


In the example of FIG. 9 the controller 902 is coupled to APs 904. The controller 902 oversees the network and monitors connections of stations to APs. The APs provide filtered signal strength values received from the APs 904 for stations in range of the APs. The controller 902 is aware of the physical location of each of APs 904. The filters 906 provide filtered signal strength values for stations in range of the APs 904.


In the example of FIG. 9 in operation, the APs 904 provide wireless network connectivity to the station 908. The station 908 moves in direction 910 while controller 902 monitors filtered signal strength outputs of the APs 904. The controller 902 interprets the filtered signal strength outputs of the APs 904 to identify a location and a direction of movement of the station 908. Advantageously, the location of the station 908 is constant as the noise in the transmitted signal is filtered.


In a non-limiting example, the direction could be identified by relating the filtered signal strength of the station to the known positions of the APs. If signal strength at both of AP 904-1 and AP 904-2 is decreasing, but stronger at AP 904-2, the station can be found to be moving to the right of AP 904-2. Specific identification of a direction, and speed can be extrapolated, for example, 1 foot/second in a direction of East.



FIG. 10 depicts an example of a plurality of network portals (NPs) using dynamically windowed filters to monitor movement of a station. FIG. 10 includes network 1002, NP 1004-1, NP 1004-2, NP 1004-n (collectively NPs 1004), and station 1008.


NPs 1004 include dynamically windowed filter 1006-1, dynamically windowed filter 1006-2, dynamically windowed filter 1006-n (collectively dynamically windowed filters 1006). The NPs 1004 are peer entities, that is the NPs 1004 operate together to allow access to the network 1002 and share information.


In the example of FIG. 10, the network 1002 couples NPs 1004. The network 1002 can be practically any type of communications network, such as, by way of example but not limitation, the Internet or an infrastructure network. The term “Internet” as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (the web).


In the example of FIG. 10, in operation, the station 1008 moves in direction 1010. The NPs monitor location and movement of the station by filtering received signal strength values from signals received from the station 1008. The NPs transmit filtered signal strength values to each other via network 1002. Each NP 1004 is aware of the physical location of the other NPs and is operable to obtain a direction of the station 1008 using the information received from the other NPs 1004.



FIG. 11 depicts an example of a system representative of computing systems discussed herein, including various components. The system 1100 may be a conventional computer system that can be used as a client computer system, such as a wireless client or a workstation, or a server computer system. The system 1100 includes a device 1102, I/O devices 1104, radio 1124 and a display device 1106. The device 1102 includes a processor 1108, a communications interface 1110, memory 1112, display controller 1114, non-volatile storage 1116, I/O controller 1118, clock 1122. The device 1102 may be coupled to or include the I/O devices 1104, the radio 1124, and the display device 1106.


The device 1102 interfaces to external systems through the communications interface 1110, which may include a modem or network interface. It will be appreciated that the communications interface 1110 can be considered to be part of the system 1100 or a part of the device 1102. The communications interface 1110 can be an analog modem, ISDN modem or terminal adapter, cable modem, token ring IEEE 1102.5 interface, Ethernet/IEEE 1102.3 interface, wireless 1102.11 interface, satellite transmission interface (e.g. “direct PC”), WiMAX/IEEE 1102.16 interface, Bluetooth interface, cellular/mobile phone interface, third generation (3G) mobile phone interface, code division multiple access (CDMA) interface, Evolution-Data Optimized (EVDO) interface, general packet radio service (GPRS) interface, Enhanced GPRS (EDGE/EGPRS), High-Speed Downlink Packet Access (HSPDA) interface, or other interfaces for coupling a computer system to other computer systems.


The processor 1108 may be, for example, a conventional microprocessor such as an Intel Pentium microprocessor or Motorola power PC microprocessor. The memory 1112 is coupled to the processor 1108 by a bus 1120. The memory 1112 can be Dynamic Random Access Memory (DRAM) and can also include Static RAM (SRAM). The bus 1120 couples the processor 1108 to the memory 1112, also to the non-volatile storage 1116, to the display controller 1114, and to the I/O controller 1118.


The I/O devices 1104 can include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device. The display controller 1114 may control in the conventional manner a display on the display device 1106, which can be, for example, a cathode ray tube (CRT) or liquid crystal display (LCD). The display controller 1114 and the I/O controller 1118 can be implemented with conventional well known technology.


The radio 1124 can include any combination of electronic components, for example, transistors, resistors and capacitors. The radio is operable to transmit and/or receive signals.


The non-volatile storage 1116 is often a magnetic hard disk, flash memory, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory 1112 during execution of software in the device 1102. One of skill in the art will immediately recognize that the terms “machine-readable medium” or “computer-readable medium” includes any type of storage device that is accessible by the processor 1108.


Clock 1122 can be any kind of oscillating circuit creating an electrical signal with a precise frequency. In a non-limiting example, clock 1122 could be a crystal oscillator using the mechanical resonance of vibrating crystal to generate the electrical signal.


The system 1100 is one example of many possible computer systems which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be an I/O bus for the peripherals and one that directly connects the processor 1108 and the memory 1112 (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.


Network computers are another type of computer system that can be used in conjunction with the teachings provided herein. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 1112 for execution by the processor 1108. A Web TV system, which is known in the art, is also considered to be a computer system, but it may lack some of the features shown in FIG. 11, such as certain input or output devices. A typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor.


In addition, the system 1100 is controlled by operating system software which includes a file management system, such as a disk operating system, which is part of the operating system software. One example of operating system software with its associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems. Another example of operating system software with its associated file management system software is the Linux operating system and its associated file management system. The file management system is typically stored in the non-volatile storage 1116 and causes the processor 1108 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non-volatile storage 1116.


Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.


It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is Appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.


The present example also relates to apparatus for performing the operations herein. This Apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, flash memory, magnetic or optical cards, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.


The algorithms and displays presented herein are not inherently related to any particular computer or other Apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized Apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present example is not described with reference to any particular programming language, and various examples may thus be implemented using a variety of programming languages.


As used herein as a number, “e” refers Euler's number, the mathematical constant. While e is a real number, approximations of varying accuracy can be used for efficiency in calculations by one or more processing systems implementing the techniques disclosed herein. Approximation of calculations including Euler's number disclosed herein can be made by, e.g. an expression of a Taylor polynomial. Such an expression could be provided in integer calculations to avoid the need for floating point calculation hardware.


As used herein, a dynamic time window “τ” (tau) is a value of time at any convenient scale, e.g., nanoseconds or milliseconds. For a calculation of a single current output signal strength, τ is constant across one or more different sub-calculations of the current output signal strength value. τ can be dynamically adjusted between calculations of current output signal strength values.


As used herein, an “elapsed time value” is a value representing an amount of time that has passed between receipt of a first sample and receipt of a second sample. The value can be expressed in seconds, milliseconds, nanoseconds, or on any known or convenient time scale. The value can be represented as a number in a binary, base 10, or in another convenient numerical representation system.

Claims
  • 1. A system implemented in at least one of a memory or a processing device, comprising: a dynamically windowed filter configured to be coupled to a radio receiving a current sample signal associated with a current sample signal strength value;the dynamically windowed filter is configured to calculate a weighted input signal strength value from the current sample signal strength value;the dynamically windowed filter is configured to calculate a decayed previous filter output value from a previous output value;the dynamically windowed filter is configured to add the decayed previous filter output value to the weighted input signal strength value to define a filter output.
  • 2. The system of claim 1, wherein the previous output value is based on a a previous sample signal received by the radio, the previous sample signal associated with a previous sample signal strength value.
  • 3. The system of claim 1, wherein the dynamically windowed filter is configured to obtain a dynamic time window value, the dynamic time window being dynamically allocated as a factor of a weight applied to an input signal and a factor of a weight applied to a previous output signal.
  • 4. The system of claim 1, wherein the dynamically windowed filter is configured to calculate the decayed previous filter output value by multiplying the previous filter output value by e−t/τ, wherein t is a time elapsed value of a difference in time between receipt of a previous sample signal and receipt of the current sample signal and τ represents a dynamic time window value.
  • 5. The system of claim 1, wherein the dynamically windowed filter is configured to calculate the weighted input signal strength value by 1−e−t/τ, wherein t is a time elapsed value of a difference in time between receipt of a previous sample signal and receipt of the current sample signal and τ represents a dynamic time window value.
  • 6. The system of claim 1, wherein the dynamically windowed filter is configured to calculate the weighted input signal strength by calculating a function expressed as a Taylor polynomial approximation.
  • 7. The system of claim 1, wherein the filter output is a first filter output, the dynamically windowed filter configured to define a second filter output based on a subsequent sample signal strength value and the current output signal strength value, the subsequent sample signal strength value based on a suqbsequent sample signal received by the radio.
  • 8. The system of claim 1, wherein the dynamically windowed filter is configured to be coupled to a processor determining an elapsed time value by comparing (1) a first time value received from a clock when a previous sample signal is received with (2) a second time value received from the clock when the current sample signal was received.
  • 9. A method, comprising: receiving a previous output signal strength value, a current signal strength value, and a time elapsed value;decaying the previous output signal strength value with (1) a first function of the time elapsed value and (2) a dynamic time window, to obtain a decayed previous output signal strength value;weighting the current signal strength value with (1) a second function of the time elapsed value and (2) the dynamic time window, to obtain a weighted current signal strength value;adding the decayed previous output signal strength value to the weighted current signal strength value to find a current output signal strength value.
  • 10. The method of claim 9, wherein the first function and the second function include a ratio of the time elapsed value to a dynamically allocated time constant value.
  • 11. The method of claim 9, wherein the first function is 1−e−t/τ, wherein t is the time elapsed value and τ represents a dynamic time window value.
  • 12. The method of claim 9, wherein the time elapsed value is determined as a difference between a first time when the current sample signal strength value is recorded and a second time when a previous sample signal strength value is recorded.
  • 13. The method of claim 9, further comprising: receiving a subsequent signal strength value; andadding a weighted subsequent signal strength value to a decayed current output signal strength value to find a subsequent output signal strength value.
  • 14. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause a processor to: define a weighted input signal strength value based on a current sample signal strength value;define a decayed previous filter output value based on a previous filter output value;combine the decayed previous filter output value and the weighted input signal strength value to obtain a filter output.
  • 15. The non-transitory processor-readable medium of claim 14, wherein the previous filter output value is based on a previous sample signal, the previous sample signal associated with a previous sample signal strength value.
  • 16. The non-transitory processor-readable medium of claim 14, the code further comprising code to cause a processor to receive a dynamic time window value, the dynamic time window is dynamically allocated as a factor of a weight applied to the sample signal strength value and a factor of a weight applied to a previous output filter value.
  • 17. The non-transitory processor-readable medium of claim 14, wherein the decayed previous filter output value is defined by multiplying the previous filter output value by e−t/τ, wherein t is a time elapsed value of a difference in time between receipt of (1) a current sample signal associated with a current sample signal strength value and (2) a previous sample signal associated with previous filter output value, and τ represents a dynamic time window value.
  • 18. The non-transitory processor-readable medium of claim 14, wherein the weighted input signal strength value is defined by 1−e−t/τ, wherein t is a time elapsed value of a difference in time between receipt of a (1) a current sample signal associated with a current sample signal strength value and (2) a previous sample signal associated with previous filter output value and τ represents a dynamic time window value.
  • 19. The non-transitory processor-readable medium of claim 14, wherein the weighted input signal strength value is defined by calculating a function expressed as a Taylor polynomial approximation and based on the sample signal strength value.
  • 20. An apparatus, comprising: a dynamic window filter configured to receive (1) a current signal strength value, (2) a previous output signal strength value, (3) a dynamic time window value, and (4) a time elapsed value,the dynamic window filter configured to define a decayed previous output signal strength value based on the previous output signal strength, a first function of the time elapsed value, and the dynamic time window value,the dynamic window filter configured to define a weighted current signal strength value based on the current signal strength value, a second function of the time elapsed value, and the dynamic time window value,the dynamic window filter configured to define a current output signal strength value based on the decayed previous output signal strength value and the weighted current signal strength value.
US Referenced Citations (568)
Number Name Date Kind
3641433 Mifflin et al. Feb 1972 A
4168400 de Couasnon et al. Sep 1979 A
4176316 DeRosa et al. Nov 1979 A
4247908 Lockhart et al. Jan 1981 A
4291401 Bachmann Sep 1981 A
4291409 Weinberg et al. Sep 1981 A
4409470 Shepard et al. Oct 1983 A
4460120 Shepard et al. Jul 1984 A
4475208 Ricketts Oct 1984 A
4494238 Groth, Jr. Jan 1985 A
4500987 Hasegawa Feb 1985 A
4503533 Tobagi et al. Mar 1985 A
4550414 Guinon et al. Oct 1985 A
4562415 McBiles Dec 1985 A
4630264 Wah Dec 1986 A
4635221 Kerr Jan 1987 A
4639914 Winters Jan 1987 A
4644523 Horwitz Feb 1987 A
4672658 Kavehrad Jun 1987 A
4673805 Shepard et al. Jun 1987 A
4707839 Andren et al. Nov 1987 A
4730340 Frazier Mar 1988 A
4736095 Shepard et al. Apr 1988 A
4740792 Sagey et al. Apr 1988 A
4758717 Shepard et al. Jul 1988 A
4760586 Takeda Jul 1988 A
4789983 Acampora et al. Dec 1988 A
4829540 Waggener et al. May 1989 A
4850009 Zook et al. Jul 1989 A
4872182 Mcrae et al. Oct 1989 A
4894842 Broekhoven et al. Jan 1990 A
4901307 Gilhousen et al. Feb 1990 A
4933952 Albrieux et al. Jun 1990 A
4933953 Yagi Jun 1990 A
4955053 Siegmund Sep 1990 A
4995053 Simpson et al. Feb 1991 A
5008899 Yamamoto Apr 1991 A
5027343 Chan et al. Jun 1991 A
5029183 Tymes Jul 1991 A
5103459 Gilhousen et al. Apr 1992 A
5103461 Tymes Apr 1992 A
5109390 Gilhousen et al. Apr 1992 A
5119502 Kallin et al. Jun 1992 A
5142550 Tymes Aug 1992 A
5151919 Dent Sep 1992 A
5157687 Tymes Oct 1992 A
5187575 Lim Feb 1993 A
5231633 Hluchy et al. Jul 1993 A
5280498 Tymes et al. Jan 1994 A
5285494 Sprecher et al. Feb 1994 A
5327144 Stilp et al. Jul 1994 A
5329531 Diepstraten Jul 1994 A
5339316 Diepstraten Aug 1994 A
5371783 Rose et al. Dec 1994 A
5418812 Reyes et al. May 1995 A
5444851 Woest Aug 1995 A
5448569 Huang et al. Sep 1995 A
5450615 Fortune et al. Sep 1995 A
5465401 Thompson Nov 1995 A
5479441 Tymes et al. Dec 1995 A
5483676 Mahany et al. Jan 1996 A
5488569 Kaplan et al. Jan 1996 A
5491644 Pickering et al. Feb 1996 A
5517495 Lund May 1996 A
5519762 Bartlett May 1996 A
5528621 Heiman et al. Jun 1996 A
5542100 Hatakeyama Jul 1996 A
5546389 Wippenbeck et al. Aug 1996 A
5561841 Markus Oct 1996 A
5568513 Croft et al. Oct 1996 A
5570366 Baker et al. Oct 1996 A
5584048 Wieczorek Dec 1996 A
5598532 Liron Jan 1997 A
5630207 Gitlin et al. May 1997 A
5640414 Blakeney et al. Jun 1997 A
5649289 Wang et al. Jul 1997 A
5668803 Tymes et al. Sep 1997 A
5677954 Hirata et al. Oct 1997 A
5706428 Boer et al. Jan 1998 A
5715304 Nishida et al. Feb 1998 A
5729542 Dupont Mar 1998 A
5742592 Scholefield et al. Apr 1998 A
5774460 Schiffel et al. Jun 1998 A
5793303 Koga Aug 1998 A
5794128 Brockel et al. Aug 1998 A
5812589 Sealander et al. Sep 1998 A
5815811 Pinard et al. Sep 1998 A
5828653 Goss Oct 1998 A
5828960 Tang et al. Oct 1998 A
5835061 Stewart Nov 1998 A
5838907 Hansen Nov 1998 A
5844900 Hong et al. Dec 1998 A
5852722 Hamilton Dec 1998 A
5862475 Zicker et al. Jan 1999 A
5872968 Knox et al. Feb 1999 A
5875179 Tikalsky Feb 1999 A
5887259 Zicker et al. Mar 1999 A
5896561 Schrader et al. Apr 1999 A
5909686 Muller et al. Jun 1999 A
5915214 Reece et al. Jun 1999 A
5920821 Seazholtz et al. Jul 1999 A
5933607 Tate et al. Aug 1999 A
5938721 Dussell et al. Aug 1999 A
5949988 Feisullin et al. Sep 1999 A
5953669 Stratis et al. Sep 1999 A
5960335 Umemoto et al. Sep 1999 A
5969678 Stewart Oct 1999 A
5970066 Lowry et al. Oct 1999 A
5977913 Christ Nov 1999 A
5980078 Krivoshein et al. Nov 1999 A
5982779 Krishnakumar et al. Nov 1999 A
5987062 Engwer et al. Nov 1999 A
5987328 Ephremides et al. Nov 1999 A
5991817 Rowett et al. Nov 1999 A
5999813 Lu et al. Dec 1999 A
6005853 Wang et al. Dec 1999 A
6011784 Brown Jan 2000 A
6012088 Li et al. Jan 2000 A
6029196 Lenz Feb 2000 A
6041240 McCarthy et al. Mar 2000 A
6041358 Huang et al. Mar 2000 A
6070243 See et al. May 2000 A
6073075 Kondou et al. Jun 2000 A
6073152 De Vries Jun 2000 A
6078568 Wright Jun 2000 A
6088591 Trompower et al. Jul 2000 A
6101539 Kennelly et al. Aug 2000 A
6115390 Chuah Sep 2000 A
6118771 Tajika et al. Sep 2000 A
6119009 Baranger et al. Sep 2000 A
6122520 Want et al. Sep 2000 A
6144638 Obenhuber et al. Nov 2000 A
6148199 Hoffman et al. Nov 2000 A
6154776 Martin Nov 2000 A
6160804 Ahmed et al. Dec 2000 A
6177905 Welch Jan 2001 B1
6188649 Birukawa et al. Feb 2001 B1
6199032 Anderson Mar 2001 B1
6208629 Jaszewski et al. Mar 2001 B1
6208841 Wallace et al. Mar 2001 B1
6212395 Lu et al. Apr 2001 B1
6218930 Katzenberg et al. Apr 2001 B1
6240078 Kuhnel et al. May 2001 B1
6240083 Wright et al. May 2001 B1
6240291 Narasimhan et al. May 2001 B1
6246751 Bergl et al. Jun 2001 B1
6249252 Dupray Jun 2001 B1
6256300 Ahmed et al. Jul 2001 B1
6256334 Adachi Jul 2001 B1
6259405 Stewart et al. Jul 2001 B1
6262988 Vig Jul 2001 B1
6269246 Rao et al. Jul 2001 B1
6285662 Watanabe Sep 2001 B1
6304596 Yamano et al. Oct 2001 B1
6304906 Bhatti et al. Oct 2001 B1
6317599 Rappaport et al. Nov 2001 B1
6326918 Stewart Dec 2001 B1
6336035 Somoza et al. Jan 2002 B1
6336152 Richman et al. Jan 2002 B1
6347091 Wallentin et al. Feb 2002 B1
6356758 Almeida et al. Mar 2002 B1
6393290 Ulfongene May 2002 B1
6397040 Titmuss et al. May 2002 B1
6404772 Beach et al. Jun 2002 B1
6421714 Rai et al. Jul 2002 B1
6429879 Sturgeon et al. Aug 2002 B1
6446206 Feldbaum Sep 2002 B1
6456239 Werb et al. Sep 2002 B1
6470025 Wilson et al. Oct 2002 B1
6473449 Cafarella et al. Oct 2002 B1
6493679 Rappaport et al. Dec 2002 B1
6496290 Lee Dec 2002 B1
6512916 Forbes, Jr. Jan 2003 B1
6526275 Calvert Feb 2003 B1
6535732 McIntosh et al. Mar 2003 B1
6564380 Murphy May 2003 B1
6567146 Hirakata et al. May 2003 B2
6567416 Chuah May 2003 B1
6574240 Tzeng Jun 2003 B1
6580700 Pinard et al. Jun 2003 B1
6587680 Ala-Laurila et al. Jul 2003 B1
6587835 Treyz et al. Jul 2003 B1
6603970 Huelamo Platas et al. Aug 2003 B1
6614787 Jain et al. Sep 2003 B1
6615276 Mastrianni et al. Sep 2003 B1
6624762 End, III Sep 2003 B1
6625454 Rappaport et al. Sep 2003 B1
6631267 Clarkson et al. Oct 2003 B1
6650912 Chen et al. Nov 2003 B2
6658389 Alpdemir Dec 2003 B1
6659947 Carter et al. Dec 2003 B1
6661787 O'Connell et al. Dec 2003 B1
6674403 Gray et al. Jan 2004 B2
6677894 Sheynblat et al. Jan 2004 B2
6678516 Nordman et al. Jan 2004 B2
6678802 Hickson Jan 2004 B2
6687498 McKenna et al. Feb 2004 B2
6697415 Mahany Feb 2004 B1
6721334 Ketcham Apr 2004 B1
6725260 Philyaw Apr 2004 B1
6738629 McCormick et al. May 2004 B1
6747961 Ahmed et al. Jun 2004 B1
6756940 Oh et al. Jun 2004 B2
6760324 Scott et al. Jul 2004 B1
6785275 Boivie et al. Aug 2004 B1
6798788 Viswanath et al. Sep 2004 B1
6801782 McCrady et al. Oct 2004 B2
6826399 Hoffman et al. Nov 2004 B1
6839338 Amara et al. Jan 2005 B1
6839348 Tang et al. Jan 2005 B2
6839388 Vaidyanathan Jan 2005 B2
6847620 Meier Jan 2005 B1
6847892 Zhou et al. Jan 2005 B2
6856800 Henry et al. Feb 2005 B1
6879812 Agrawal et al. Apr 2005 B2
6901439 Bonasia et al. May 2005 B1
6917688 Yu et al. Jul 2005 B2
6934260 Kanuri Aug 2005 B1
6937566 Forslow Aug 2005 B1
6938079 Anderson et al. Aug 2005 B1
6957067 Iyer et al. Oct 2005 B1
6973622 Rappaport et al. Dec 2005 B1
6978301 Tindal Dec 2005 B2
6980533 Abraham et al. Dec 2005 B1
6985469 Leung Jan 2006 B2
6993683 Bhat et al. Jan 2006 B2
6996630 Masaki et al. Feb 2006 B1
7013157 Norman et al. Mar 2006 B1
7020438 Sinivaara et al. Mar 2006 B2
7020773 Otway et al. Mar 2006 B1
7024199 Massie et al. Apr 2006 B1
7024394 Ashour et al. Apr 2006 B1
7027773 McMillin Apr 2006 B1
7031705 Grootwassink Apr 2006 B2
7035220 Simcoe Apr 2006 B1
7039037 Wang et al. May 2006 B2
7058414 Rofheart et al. Jun 2006 B1
7062566 Amara et al. Jun 2006 B2
7068999 Ballai Jun 2006 B2
7079537 Kanuri et al. Jul 2006 B1
7089322 Stallmann Aug 2006 B1
7092529 Yu et al. Aug 2006 B2
7110756 Diener Sep 2006 B2
7116979 Backes et al. Oct 2006 B2
7126913 Patel et al. Oct 2006 B1
7134012 Doyle et al. Nov 2006 B2
7139829 Wenzel et al. Nov 2006 B2
7142867 Gandhi et al. Nov 2006 B1
7146166 Backes et al. Dec 2006 B2
7155236 Chen et al. Dec 2006 B2
7155518 Forslow Dec 2006 B2
7158777 Lee et al. Jan 2007 B2
7159016 Baker Jan 2007 B2
7221927 Kolar et al. May 2007 B2
7224970 Smith et al. May 2007 B2
7239862 Clare et al. Jul 2007 B1
7246243 Uchida Jul 2007 B2
7263366 Miyashita Aug 2007 B2
7274730 Nakabayashi Sep 2007 B2
7280495 Zweig et al. Oct 2007 B1
7290051 Dobric et al. Oct 2007 B2
7293136 More et al. Nov 2007 B1
7310664 Merchant et al. Dec 2007 B1
7317914 Adya et al. Jan 2008 B2
7320070 Baum Jan 2008 B2
7324468 Fischer Jan 2008 B2
7324487 Saito Jan 2008 B2
7324489 Iyer et al. Jan 2008 B1
7350077 Meier et al. Mar 2008 B2
7359676 Hrastar Apr 2008 B2
7370362 Olson et al. May 2008 B2
7376080 Riddle et al. May 2008 B1
7379423 Caves et al. May 2008 B1
7382756 Barber et al. Jun 2008 B2
7417953 Hicks et al. Aug 2008 B2
7421248 Laux et al. Sep 2008 B1
7421487 Peterson et al. Sep 2008 B1
7440416 Mahany et al. Oct 2008 B2
7443823 Hunkeler et al. Oct 2008 B2
7447502 Buckley Nov 2008 B2
7460855 Barkley et al. Dec 2008 B2
7466678 Cromer et al. Dec 2008 B2
7475130 Silverman Jan 2009 B2
7477894 Sinha Jan 2009 B1
7480264 Duo et al. Jan 2009 B1
7483390 Rover et al. Jan 2009 B2
7489648 Griswold Feb 2009 B2
7493407 Leedom et al. Feb 2009 B2
7505434 Backes Mar 2009 B1
7509096 Palm et al. Mar 2009 B2
7529925 Harkins May 2009 B2
7551574 Peden, II et al. Jun 2009 B1
7551619 Tiwari Jun 2009 B2
7558266 Hu Jul 2009 B2
7570656 Raphaeli et al. Aug 2009 B2
7573859 Taylor Aug 2009 B2
7577453 Matta Aug 2009 B2
7592906 Hanna et al. Sep 2009 B1
7636363 Chang et al. Dec 2009 B2
7680501 Sillasto et al. Mar 2010 B2
7693526 Qian et al. Apr 2010 B2
7715432 Bennett May 2010 B2
7716379 Ruan et al. May 2010 B2
7724703 Matta et al. May 2010 B2
7724704 Simons et al. May 2010 B2
7729278 Chari et al. Jun 2010 B2
7733868 Van Zijst Jun 2010 B2
7746897 Stephenson et al. Jun 2010 B2
7788475 Zimmer et al. Aug 2010 B2
7805529 Galluzzo et al. Sep 2010 B2
7817554 Skog et al. Oct 2010 B2
7844298 Riley Nov 2010 B2
7865713 Chesnutt et al. Jan 2011 B2
7873061 Gast et al. Jan 2011 B2
7894852 Hansen Feb 2011 B2
7912982 Murphy Mar 2011 B2
7929922 Kubo Apr 2011 B2
7945399 Nosovitsky et al. May 2011 B2
20010024953 Balogh Sep 2001 A1
20020021701 Lavian et al. Feb 2002 A1
20020052205 Belostotsky et al. May 2002 A1
20020060995 Cervello et al. May 2002 A1
20020062384 Tso May 2002 A1
20020069278 Forslow Jun 2002 A1
20020078361 Giroux et al. Jun 2002 A1
20020080790 Beshai Jun 2002 A1
20020087699 Karagiannis et al. Jul 2002 A1
20020094824 Kennedy et al. Jul 2002 A1
20020095486 Bahl Jul 2002 A1
20020101868 Clear et al. Aug 2002 A1
20020116655 Lew et al. Aug 2002 A1
20020157020 Royer Oct 2002 A1
20020174137 Wolff et al. Nov 2002 A1
20020176437 Busch et al. Nov 2002 A1
20020191572 Weinstein et al. Dec 2002 A1
20020194251 Richter et al. Dec 2002 A1
20030014646 Buddhikot et al. Jan 2003 A1
20030018889 Burnett et al. Jan 2003 A1
20030043073 Gray et al. Mar 2003 A1
20030055959 Sato Mar 2003 A1
20030107590 Levillain et al. Jun 2003 A1
20030120764 Laye et al. Jun 2003 A1
20030133450 Baum Jul 2003 A1
20030134642 Kostic et al. Jul 2003 A1
20030135762 Macaulay Jul 2003 A1
20030156586 Lee et al. Aug 2003 A1
20030174706 Shankar et al. Sep 2003 A1
20030193910 Shoaib et al. Oct 2003 A1
20030204596 Yadav Oct 2003 A1
20030227934 White et al. Dec 2003 A1
20040002343 Brauel et al. Jan 2004 A1
20040003285 Whelan et al. Jan 2004 A1
20040019857 Teig et al. Jan 2004 A1
20040025044 Day Feb 2004 A1
20040029580 Haverinen et al. Feb 2004 A1
20040030777 Reedy et al. Feb 2004 A1
20040038687 Nelson Feb 2004 A1
20040044749 Harkin Mar 2004 A1
20040047320 Eglin Mar 2004 A1
20040053632 Nikkelen et al. Mar 2004 A1
20040054569 Pombo et al. Mar 2004 A1
20040054774 Barber et al. Mar 2004 A1
20040054926 Ocepek et al. Mar 2004 A1
20040062267 Minami et al. Apr 2004 A1
20040064560 Zhang et al. Apr 2004 A1
20040068668 Lor et al. Apr 2004 A1
20040078598 Barber et al. Apr 2004 A1
20040093506 Grawrock et al. May 2004 A1
20040095914 Katsube et al. May 2004 A1
20040095932 Astarabadi et al. May 2004 A1
20040106403 Mori et al. Jun 2004 A1
20040111640 Baum Jun 2004 A1
20040114546 Seshadri et al. Jun 2004 A1
20040119641 Rapeli Jun 2004 A1
20040120370 Lupo Jun 2004 A1
20040143428 Rappaport et al. Jul 2004 A1
20040165545 Cook Aug 2004 A1
20040174900 Volpi et al. Sep 2004 A1
20040184475 Meier Sep 2004 A1
20040208570 Reader Oct 2004 A1
20040214572 Thompson et al. Oct 2004 A1
20040221042 Meier Nov 2004 A1
20040230370 Tzamaloukas Nov 2004 A1
20040233234 Chaudhry et al. Nov 2004 A1
20040236702 Fink et al. Nov 2004 A1
20040246937 Duong et al. Dec 2004 A1
20040246962 Kopeikin et al. Dec 2004 A1
20040252656 Shiu et al. Dec 2004 A1
20040255167 Knight Dec 2004 A1
20040259542 Viitamaki et al. Dec 2004 A1
20040259555 Rappaport et al. Dec 2004 A1
20040259575 Perez-Breva et al. Dec 2004 A1
20050015592 Lin Jan 2005 A1
20050021979 Wiedmann et al. Jan 2005 A1
20050025105 Rue Feb 2005 A1
20050026611 Backes Feb 2005 A1
20050030894 Stephens Feb 2005 A1
20050030929 Swier et al. Feb 2005 A1
20050037818 Seshadri et al. Feb 2005 A1
20050040968 Damarla et al. Feb 2005 A1
20050054326 Rogers Mar 2005 A1
20050054350 Zegelin Mar 2005 A1
20050058132 Okano et al. Mar 2005 A1
20050059405 Thomson et al. Mar 2005 A1
20050059406 Thomson et al. Mar 2005 A1
20050064873 Karaoguz et al. Mar 2005 A1
20050068925 Palm et al. Mar 2005 A1
20050073980 Thomson et al. Apr 2005 A1
20050078644 Tsai et al. Apr 2005 A1
20050097618 Arling et al. May 2005 A1
20050114649 Challener et al. May 2005 A1
20050120125 Morten et al. Jun 2005 A1
20050122927 Wentink Jun 2005 A1
20050122977 Lieberman Jun 2005 A1
20050128142 Shin et al. Jun 2005 A1
20050128989 Bhagwat et al. Jun 2005 A1
20050144237 Heredia et al. Jun 2005 A1
20050154933 Hsu et al. Jul 2005 A1
20050157730 Grant et al. Jul 2005 A1
20050159154 Goren Jul 2005 A1
20050163078 Oba et al. Jul 2005 A1
20050163146 Ota et al. Jul 2005 A1
20050175027 Miller et al. Aug 2005 A1
20050180345 Meier Aug 2005 A1
20050180358 Kolar et al. Aug 2005 A1
20050181805 Gallagher Aug 2005 A1
20050190714 Gorbatov et al. Sep 2005 A1
20050193103 Drabik Sep 2005 A1
20050207336 Choi et al. Sep 2005 A1
20050213519 Relan et al. Sep 2005 A1
20050220033 DelRegno et al. Oct 2005 A1
20050223111 Bhandaru et al. Oct 2005 A1
20050239461 Verma et al. Oct 2005 A1
20050240665 Gu et al. Oct 2005 A1
20050243737 Dooley et al. Nov 2005 A1
20050245258 Classon et al. Nov 2005 A1
20050245269 Demirhan et al. Nov 2005 A1
20050259597 Benedetto et al. Nov 2005 A1
20050259611 Bhagwat et al. Nov 2005 A1
20050270992 Sanzgiri et al. Dec 2005 A1
20050273442 Bennett et al. Dec 2005 A1
20050276218 Ooghe et al. Dec 2005 A1
20050286466 Tagg et al. Dec 2005 A1
20060030290 Rudolf et al. Feb 2006 A1
20060035662 Jeong et al. Feb 2006 A1
20060039395 Perez-Costa et al. Feb 2006 A1
20060041683 Subramanian et al. Feb 2006 A1
20060045050 Floros et al. Mar 2006 A1
20060046744 Dublish et al. Mar 2006 A1
20060050742 Grandhi et al. Mar 2006 A1
20060073847 Pirzada et al. Apr 2006 A1
20060094440 Meier et al. May 2006 A1
20060098607 Zeng et al. May 2006 A1
20060104224 Singh et al. May 2006 A1
20060114872 Hamada Jun 2006 A1
20060117174 Lee Jun 2006 A1
20060128415 Horikoshi et al. Jun 2006 A1
20060143496 Silverman Jun 2006 A1
20060152344 Mowery Jul 2006 A1
20060160540 Strutt et al. Jul 2006 A1
20060161983 Cothrell et al. Jul 2006 A1
20060165103 Trudeau et al. Jul 2006 A1
20060168383 Lin Jul 2006 A1
20060174336 Chen Aug 2006 A1
20060178168 Roach Aug 2006 A1
20060182118 Lam et al. Aug 2006 A1
20060189311 Cromer et al. Aug 2006 A1
20060193258 Ballai Aug 2006 A1
20060200862 Olson et al. Sep 2006 A1
20060206582 Finn Sep 2006 A1
20060215601 Vleugels et al. Sep 2006 A1
20060217131 Alizadeh-Shabdiz et al. Sep 2006 A1
20060245393 Bajic Nov 2006 A1
20060248229 Saunderson et al. Nov 2006 A1
20060248331 Harkins Nov 2006 A1
20060274774 Srinivasan et al. Dec 2006 A1
20060276192 Dutta et al. Dec 2006 A1
20060285489 Francisco et al. Dec 2006 A1
20060292992 Tajima et al. Dec 2006 A1
20070002833 Bajic Jan 2007 A1
20070008884 Tang Jan 2007 A1
20070011318 Roth Jan 2007 A1
20070025265 Porras et al. Feb 2007 A1
20070025306 Cox et al. Feb 2007 A1
20070027964 Herrod et al. Feb 2007 A1
20070054616 Culbert Mar 2007 A1
20070058598 Ling Mar 2007 A1
20070064673 Bhandaru et al. Mar 2007 A1
20070064718 Ekl et al. Mar 2007 A1
20070067823 Shim et al. Mar 2007 A1
20070070937 Demirhan et al. Mar 2007 A1
20070076694 Iyer et al. Apr 2007 A1
20070083924 Lu Apr 2007 A1
20070086378 Matta et al. Apr 2007 A1
20070086397 Taylor Apr 2007 A1
20070086398 Tiwari Apr 2007 A1
20070091845 Brideglall Apr 2007 A1
20070091889 Xiao et al. Apr 2007 A1
20070098086 Bhaskaran May 2007 A1
20070104197 King May 2007 A1
20070115842 Matsuda et al. May 2007 A1
20070133494 Lai et al. Jun 2007 A1
20070135866 Baker et al. Jun 2007 A1
20070136372 Proctor et al. Jun 2007 A1
20070160046 Matta Jul 2007 A1
20070171909 Pignatelli Jul 2007 A1
20070183375 Tiwari Aug 2007 A1
20070189222 Kolar et al. Aug 2007 A1
20070195793 Grosser et al. Aug 2007 A1
20070230457 Kodera et al. Oct 2007 A1
20070248009 Petersen Oct 2007 A1
20070253380 Jollota et al. Nov 2007 A1
20070255116 Mehta et al. Nov 2007 A1
20070258448 Hu Nov 2007 A1
20070260720 Morain Nov 2007 A1
20070268506 Zeldin Nov 2007 A1
20070268514 Zeldin et al. Nov 2007 A1
20070268515 Freund et al. Nov 2007 A1
20070268516 Bugwadia et al. Nov 2007 A1
20070286208 Kanada et al. Dec 2007 A1
20070287390 Murphy et al. Dec 2007 A1
20070291689 Kapur et al. Dec 2007 A1
20070297329 Park et al. Dec 2007 A1
20080002588 McCaughan et al. Jan 2008 A1
20080008117 Alizadeh-Shabdiz Jan 2008 A1
20080013481 Simons et al. Jan 2008 A1
20080014916 Chen Jan 2008 A1
20080031257 He Feb 2008 A1
20080056200 Johnson Mar 2008 A1
20080056211 Kim et al. Mar 2008 A1
20080064356 Khayrallah Mar 2008 A1
20080069018 Gast Mar 2008 A1
20080080441 Park et al. Apr 2008 A1
20080102815 Sengupta et al. May 2008 A1
20080107077 Murphy May 2008 A1
20080114784 Murphy May 2008 A1
20080117822 Murphy et al. May 2008 A1
20080151844 Tiwari Jun 2008 A1
20080159319 Gast et al. Jul 2008 A1
20080162921 Chesnutt et al. Jul 2008 A1
20080226075 Gast Sep 2008 A1
20080228942 Lor et al. Sep 2008 A1
20080250496 Namihira Oct 2008 A1
20080261615 Kalhan Oct 2008 A1
20080276303 Gast Nov 2008 A1
20090031044 Barrack et al. Jan 2009 A1
20090046688 Volpi et al. Feb 2009 A1
20090059930 Ryan et al. Mar 2009 A1
20090067436 Gast Mar 2009 A1
20090073905 Gast Mar 2009 A1
20090131082 Gast May 2009 A1
20090198999 Harkins Aug 2009 A1
20090257437 Tiwari Oct 2009 A1
20090260083 Szeto et al. Oct 2009 A1
20090274060 Taylor Nov 2009 A1
20090287816 Matta et al. Nov 2009 A1
20090293106 Gray et al. Nov 2009 A1
20100002610 Bowser et al. Jan 2010 A1
20100024007 Gast Jan 2010 A1
20100040059 Hu Feb 2010 A1
20100067379 Zhao et al. Mar 2010 A1
20100172276 Aragon Jul 2010 A1
20100180016 Bugwadia et al. Jul 2010 A1
20100195549 Aragon et al. Aug 2010 A1
20100261475 Kim et al. Oct 2010 A1
20100329177 Murphy et al. Dec 2010 A1
20110128858 Matta et al. Jun 2011 A1
20110158122 Murphy et al. Jun 2011 A1
Foreign Referenced Citations (17)
Number Date Country
0 992 921 Apr 2000 EP
1 542 409 Jun 2005 EP
2 329 801 Mar 1999 GB
2429080 Feb 2007 GB
2000-215169 Aug 2000 JP
2003-234751 Aug 2003 JP
2003274454 Sep 2003 JP
2004-032525 Jan 2004 JP
WO 9403986 Feb 1994 WO
WO 9911003 Mar 1999 WO
WO 0006271 Feb 2000 WO
WO 0018148 Mar 2000 WO
WO 02089442 Nov 2002 WO
WO 03085544 Oct 2003 WO
WO 2004013986 Feb 2004 WO
WO 2004095192 Nov 2004 WO
WO 2004095800 Nov 2004 WO
Related Publications (1)
Number Date Country
20090247103 A1 Oct 2009 US