Mitigation of interference from periodic noise

Information

  • Patent Application
  • 20070297521
  • Publication Number
    20070297521
  • Date Filed
    June 27, 2006
    18 years ago
  • Date Published
    December 27, 2007
    16 years ago
Abstract
A method and apparatus for mitigation of interference from periodic noise. An embodiment of a method includes receiving wireless signal data, where the data includes a periodic noise that varies in frequency over time. The method further includes performing a time-spectrum characterization of the data, and correlating the time-spectrum characterization of the data to determine a period of the periodic noise. The noise is dynamically weighted based at least in part on frequency variation of the noise.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The invention may be best understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings:



FIG. 1 is an illustration of an embodiment of a wireless device including an embodiment of the invention;



FIG. 2 is an illustration of band interference power as encountered by a wireless computing device;



FIG. 3 illustrates a spectrogram of noise received by a wireless computing device;



FIG. 4 is illustrates an embodiment of the architecture of a receiver;



FIG. 5 is an illustration of an embodiment of frequency tracking and dynamic noise weighting;



FIG. 6
a is an illustration of clock signal interference tracked in an embodiment of the invention;



FIG. 6
b illustrates the cross-correlation of clock noise in an embodiment of the invention;



FIG. 7 illustrates packet error rates in an embodiment of the invention;



FIG. 8 is a flowchart to illustrate an embodiment of clock noise mitigation; and



FIG. 9 is an illustration of a computer system for an embodiment of the invention.





DETAILED DESCRIPTION

A method and apparatus are described for mitigation of interference from periodic noise.


As used herein, “clock signal” means a regularly occurring or repeating signal, including a signal intended to synchronize or time operations for a system, apparatus, module, or component.


As used herein, “wireless receiver” means any receiver intended to receive radio signals, including, but not limited to a WLAN (wireless local area network) receiver operating pursuant to IEEE 802.11 (including 802.11a, 801.11g, and 802.11n).


As used here, “OFDM” or “orthogonal frequency division multiplexing” means an FDM (frequency division multiplexing) modulation technique for transmitting digital data over a radio wave. OFDM works by splitting the radio signal into multiple smaller sub-signals that are then transmitted simultaneously at different frequencies to the receiver. For example, 802.11a WLAN, 802.16 and WiMAX technologies use OFDM.


As used herein, “spectrogram” is generally a graphical representation of a frequency spectrum. A spectrogram may represent a short time Fourier transform (STFT) of a window of data.


In an embodiment of the invention, periodic noise is mitigated in a device or system. The noise may be noise that changes in frequency over time in a periodic pattern. The noise may represent platform noise received by a receiver that is embedded in the platform, such as a wireless network receiver (such as WLAN receiver) embedded in a laptop or portable computer or similar electronic device. In one embodiment of the invention, the effect of recurring platform noise, such as noise related to a frequency modulated clock signal, in interfering with a receiver is mitigated by a process of performing a time-spectrum characterization of the platform noise; tracking the noise signal using correlation; estimating the time domain receive channel or band that is affected; and providing dynamic noise weighting to counter the dynamic noise signal.


In electronic devices, a computer clock may generate noise that interferes with certain radio reception on the computer platform. Specifically, the operation of a frequency modulated (FM) spread clock may provide significant noise in a WLAN band and thus interfere with WLAN receiver operations. Clock spreading is unavoidable to some degree due to FCC (Federal Communications Commission) limitations on the maximum power output of a clock signal. However, the limitations on power lead to spreading the power signature over a larger spectrum. The noise signals often will not overlap directly with the spectrum of a receiver. However, harmonics of the noise signal may create interference, which may become significant if the receiver is embedded into the platform of a device that includes the clock signal. As used herein, the term “noise” includes both the spectrum of a signal and any harmonics resulting from the signal. Thus, the harmonics of an FM spread clock may provide significant interference to, for example, the WLAN 2.4 Ghz frequency band.


The characteristics of FM spread clock platform noise may include:


(1) Interference that includes harmonics of the clock frequency.


(2) Due to FCC requirements, the spread clock has between 0.25-1.0% frequency spreading of the signal.


(3) The spread clock is frequency modulated, resulting in a dynamic pattern over frequency and time.


(4) If multiple antennas are used for signal reception, the spatial correlation between the multiple antennas is very high because of the inclusion of the receiver in the platform.


In the operation of receiver in a platform having an FM spread clock, the platform noise may appear to be a wideband signal when viewed as an average. However, the characteristics of the signal vary when the signal is viewed against time. For example, harmonics resulting from a clock signal may have a periodic repeating signal that moves in frequency in a repeating pattern. While the noise occupies a wide frequency band averaged over time, the instantaneous interference thus only occupies a narrow band, with the interference moving in a period pattern based on the frequency modulation pattern. For this reason, treating the noise as wideband noise and thus applying static noise weighting using the average power spectrum results in missing the tones causing the interference, while penalizing clear tones. For FM spread clock interference, the instantaneous power spectrum is narrow band, while the average power spectrum over an extended time period is wideband.


In conventional WLAN receivers, it is generally assumed that the noise received is channel noise. Channel noise may be random, and has varied characteristics. The channel noise may be assumed to be white Gaussian noise. However, in contrast platform noise results from aspects of the platform itself, with resulting differences in signal characteristics. With the presence of colored platform noise (which is noise having a certain limited frequency band, as opposed to white noise), radio reception performance may be significantly degraded.


In one particular example, a 12 MHz FM spread clock with modulation frequency 32 KHz does not provide interference for the entire 12 MHz band over, for example, a 3.2 μs OFDM (orthogonal frequency division multiplexing) symbol of 20 MHz bandwidth. Rather, the spread clock interferes with approximately eight subcarriers (2.4 MHz over one 3.2 μs OFDM symbol) and then interferes with approximately eight other subcarriers for the following OFDM symbol. For this reason, the use of average power spectrum as a noise weighting factor will only partially mitigate the interfered tones because the average power level does not reflect the instantaneous power of the interference, and will in addition penalize the tones that are not currently subject to interference. In an embodiment of the invention, rather than utilizing static noise weighting, dynamic noise weighting is applied by tracking the spread clock location over each OFDM symbol.


In an embodiment of the invention, the platform noise power spectrum may be estimated using a short time Fourier transform (STFT), or spectrogram. A short time Fourier transform is used to estimate the power spectrum over two dimensions, frequency and time. In different embodiments, the STFT may be implemented in a chip (in silicon) or may be performed by the host during a protocol idle period. Following the calculation of the platform noise spectrum, the noise may be evaluated to determine the noise characteristics. In an embodiment, in order to determine the period of a noise signal, a certain portion of the signal may be chosen as a template. The template may then be cross-correlated against the remainder of the signal. In addition to other advantages, cross-correlation can be simply embedded into silicon, and thus may optionally be implemented into hardware for a receiver. There generally will be very little correlation in the noise signal, but there will be peaks at the points in the recurring signal matching the template. Therefore, the time between peaks of the signal will represent the period of the noise signal, i.e., the modulation frequency. In one embodiment, the template and the power spectrum over one period then may be stored in a lookup table, which then may be used to conduct frequency tracking and dynamic noise weighting. Because the platform noise generated by a clock would generally be very stable, the loop-up table thus requires infrequent updating. In one embodiment of the invention, because spread spectrum clock estimation requires a significant amount of computation, but is stable over time, the computation can be done sparsely in the host CPU during the protocol idle period.


In an embodiment of the invention, once there is knowledge of the template and spread clock profile, the spread clock may then be tracked to determine where the clock is located in its cycle when an OFDM symbol is detected. In an embodiment of the invention, a simple frequency tracking solution may be implemented, with the frequency tracking requiring minimal additional circuitry. In this embodiment, the cross-correlation between incoming platform noise and the template is performed. Once a peak of the cross correlation is detected, a counter may be set to 1. The counter is incremented one by one with incoming samples and is reset to 1 when the next peak is detected. At the same time, a correlation circuit for OFDM packet detection is also in operation to detect OFDM symbols. Once an OFDM packet is detected, then the cross correlation circuitry for frequency tracking may be turned off for the duration of the packet, with the counter being mapped to the spectrum profile. It is then possible to identify the corresponding power spectrum and to apply dynamic noise weighting to reflect the dynamic nature of the interference.


In an embodiment of the invention, a radio receiver may include the following additional elements:


(1) Cross-correlation circuitry—In one embodiment, the cross-correlation circuitry may be placed before packet detection in the receiver. The cross-correlation circuit tracks the instantaneous frequency of the spread clock. Once OFDM symbols are detected, the cross correlation circuitry may be turned off and the frequency tracking may run open loop for the duration of the packet. In one example, as long as the modulation frequency estimation is accurate to better than 100 ppm (parts per million), the open loop tracking will be accurate to each OFDM tone over the longest 802.11 a/g packet. Using the frequency tracking, dynamic noise weighting over each tone of each OFDM symbol is conducted to mitigate the spread spectrum noise.


(2) Noise weighting circuitry over each tone of each signal may be provided after the FFT (fast Fourier transform) element of the receiver.


A noise signal may not entirely overlap with the spectrum of a receiver band. For example, only a portion of a clock signal may overlap with the spectrum of a WLAN receiver. In an embodiment of the invention, only the portions of the noise signal that overlap are relevant and thus receive any action.


Channel estimation may be critical to WLAN receiver performance since incorrect channel information results in incorrect soft bit calculation. In the presence of spread clock interference, the different sets of subcarriers in long preambles may be corrupted. Therefore, conventional channel estimation provided by averaging two long preambles will result in inaccurate channel estimation of approximately 4.8 MHz. In order to overcome time varying nature of spread clock interference, an effective time domain channel estimation algorithm using MMSE (minimum mean square error) is provided. The received long preamble Yi right after the FFT is given by:






Y
i
=H+N
i
=G
FFT
h+N   (1)


where the transmit preamble X is skipped from the equation since it is known and can be normalized by multiplying its conjugate at both sides; the subscript i=1,2 is the index of the long preamble; Ni is the received spread clock interference over the i th long preamble; and GFFT is a 64×L FFT Matrix with the (k,n) entry gFFTkn=ej2π(k−1)(n−1)/N, where N=64 and L is the length of time domain channel impulse response h=[h0 . . . hL−1 0 . . . 0] with L≦LCP (LCP is the length of cyclic prefix). H and h denote frequency and time domain channel response, respectively. Since the spread clock interference power of N1 is different from that of N2, averaging two long preambles will result in incorrect channel estimation.


In an embodiment of the invention, the MMSE algorithm, by taking into account noise power difference, provides an effective way to estimate h. Thus the estimated ĥ is given by:






ĥ=M
H(MMH+R)−1Y   (2)


where MH denotes transposition and conjugate of M,







M
=

[




G
FFT






G
FFT




]


,

R
=

[




Σ
1



0




0



Σ
2




]


,




and Σi is a diagonal matrix with the j th diagonal term σij2 representing the noise power over the j th tone of the i th preamble. In order to reduce computation complexity of matrix inversion in MMSE formula, equation (2) may be converted to:













h
^

=


M
H





R


-
H

/
2




(



R


-
1

/
2




MM
H



R


-
H

/
2



+

I
64


)



-
1




R


-
1

/
2



Y







=





M
_

H



(



MM
_

H

+

I
64


)



-
1




Y
_








=



(




M
_

H



M
_


+

I
L


)


-
1





M
_

H



Y
_









(
3
)







where IL is an identity matrix of L-by-L, M=R−1/2M, and Y=R−1/2Y, which is the output of dynamic noise weighting. Thus a 128 by 128 inverse reduces to an L-by-L inverse. This estimation can be simplified further by puncturing corresponding tones with high noise power, i.e., puncturing rows in M and Y with high noise power. It is also noted that the MMSE weight is independent of the channel, and only depends on the spread clock tracking. Therefore, a series of MMSE weight values can be precalculated and stored. Once ĥ is estimated, the frequency domain channel response H can be obtained by conducting FFT on ĥ.


In an embodiment of the invention, if accurate channel information and an accurate power spectrum of spread clock over each OFDM symbol are provided, then dynamic noise weighting can be used to mitigate the impact of spread clock interference. Dynamic noise weighting can be conducted in several places in a device or system. In a first option, dynamic noise weighting can be provided immediately after FFT, i.e., the system y=hx+n over one tone of an OFDM symbol becomes








y
σ

=



h
σ


x

+

n
σ



,




where the tone and symbol indexes are skipped and σ0 is different for each tone of each OFDM symbol. Thus, the estimated channel over each tone of each symbol also needs to be weighted by the corresponding σ. In an embodiment of the invention, the remaining blocks of the device may remain unchanged from a conventional receiver. In a second option, the noise weighting can be provided immediately after channel estimation. In this case, the corresponding noise power σ2 divides the estimated channel for each tone of each OFDM symbol. In a third option, noise weighting can be conducted in soft bit computation, i.e., the soft bit is divided by the corresponding noise power σ2 over each tone of each OFDM symbol. Each option may result in slightly different performance depending on the equalization and soft bit calculation algorithm used in current Wi-Fi receivers. The computation complexity of noise weighting can be reduced by conducting binary bit shift or tone puncturing, as discussed above.


In an embodiment of the invention, cross-correlation frequency tracking, time domain MMSE channel estimation, and dynamic noise weighting algorithms are implemented in a WLAN receiver to mitigate the spread clock interference and improve the WLAN receive performance in the presence of FM spread clock induced interference. While the present application generally refers to a radio receiver, it will be apparent to those of skill in the art that embodiments of the invention are not limited to this, and that embodiments of the invention may also be implemented in transceivers or other devices having multiple functions.



FIG. 1 is an illustration of an embodiment of a wireless device including an embodiment of the invention. In this illustration, a device such as a wireless computing device 105 includes an embedded radio receiver 110. The receiver 110 may, for example, be a WLAN receiver. The radio receiver 110 is embedded into the platform of the device 105 and thus will potentially receive platform noise interference. In particular, the device 105 includes an FM spread clock 115. The clock 115 will create noise 120, including harmonics that can significantly interfere with the performance of the radio receiver 110. The noise can be expected to be dynamic in frequency, affecting only certain symbols in transmission at any point in time.


In an embodiment of the invention, the device 105 provides dynamic mitigation to the dynamic noise 120 provided by the FM spread clock 115. The mitigation may include performing a time-spectrum characterization of the platform noise; tracking the noise signal using cross-correlation; estimating the time domain channel affected; and providing dynamic noise weighting to counter the dynamic noise signal. The time-spectrum characterization may be provided by a special purpose short time Fourier transform 130 that is provided in silicon, or by a general purpose processor or processors 125.



FIG. 2 is an illustration of band interference power as encountered by a wireless computing device. The frequencies shown reflect the 2.4 GHz band. As shown, it appears that there is a wide band of interference 205 occurring. However, the appearance of the noise as an average may be deceiving. FIG. 3 illustrates a spectrogram of noise received by a wireless computing device. As shown in the spectrogram 305, there is a saw-tooth pattern to the noise, which is apparent when the image is magnified 310. Thus rather than a wideband of noise, it is apparent the noise is a narrow band of noise that changes frequency over time in a repeating pattern with a signal length of 31.25 μs. In an embodiment of the invention, the noise is dynamically mitigated to provide noise weighting that is appropriate for the noise pattern.



FIG. 4 is illustrates an embodiment of the architecture of a receiver. In one embodiment, an architecture for a Wi-Fi (802.11a/g) receiver 400 implements spread clock interference mitigation algorithms. The receiver includes an antenna 402 (or multiple antennas) and an RF (radio frequency) section 404. Those of skill in the art will recognize that that the antenna/RF block can represent multiple RF chains. The receiver further includes an ADC (analog to digital converter) 406 to convert the received data for processing. In the illustrated architecture, four important estimation functions are conducted in the time domain: packet detection 408, coarse frequency estimation 410, fine timing estimation 414, and fine frequency estimation 418. These functions may be referred to generally as data acquisition. This is due to the random access nature of the MAC. In this architecture, the NIC (network interface card) spends a significant amount of time waiting or checking for data packets. Data acquisition is then most efficiently accomplished in the time domain. The coarse frequency estimation 410 and the data from the ADC 406 are presented to the coarse frequency correction 412. The coarse frequency correction 412 and the fine timing estimate are input for the fine time synchronization 416, which is input with the fine frequency estimate 418 to the fine frequency correction 420. The fine frequency correction 420 is presented to a fast Fourier transform block 422, with the result being received by a dynamic noise weighting block 424. Also input to the dynamic noise weighting block 424 is the output of a frequency tracking element 426. In an embodiment of the invention, the dynamic noise weighting block 424 is intended to provide noise weighting that responds to the dynamic noise encountered by the receiver. The dynamic noise weighting 424, the fine frequency estimate 418, and the coarse frequency estimate 410 are providing a sample clock correction element, which results in channel equalization 436 and in channel estimation 438 for dynamic noise mitigation. The channel equalization 436 receives input from the channel estimation 438 and the sample clock correction 428, which results in soft bit demapping 434 and the Viterbi decoder operation 432, and provides feedback to pilot tracking 430.



FIG. 5 is an illustration of an embodiment of frequency tracking and dynamic noise weighting. In this illustration, multiple OFDM packets, shown as packet 1505 and packet 2510, are received. There is platform noise 520 interfering with the receiver operation, with the noise 520 including noise generated by harmonics from an FM clock. A template 515 is chosen and used to cross-correlate with the platform noise 520, which results in peaks 525 that can be used to determine the period of the clock noise. The template is used to track the frequency moving by conducting cross-correlation between incoming interference and the template. Once the OFDM packet 505 is detected, frequency tracking can be turned off and only open loop tracking is needed 530 for the duration of the packet. In an embodiment of the invention, dynamic noise weighting is conducted over each tone of each OFDM symbol based on the spread clock profile. In embodiments of the invention, operations regarding the spread clock profile estimation, including power spectrum over one period, the modulation frequency, and the template may conducted in the device or may be conducted by the host CPU during protocol idle period. Frequency tracking and dynamic noise weighting may be conducted in silicon for the device.



FIG. 6
a is an illustration of clock signal interference tracked in an embodiment of the invention. In this example, the spread clock noise trace is captured over channel 14 (2.474-2.494 GHz). A template 605 is chosen from the noise trace signal. In this example, a template of 32 or more time samples is chosen, and the peaks of the resulting cross-correlation between the noise trace and template may be used to identify the period of the FM spread clock. FIG. 6b illustrates the cross-correlation of clock noise in an embodiment of the invention. The two peaks in FIG. 6b, first peak 610 and second peak 615, are 714 samples apart, each sample being 50 ns. Thus, the modulation frequency=1/(714*50 ns)=32 KHz, where 64 point cross-correlation is used. Taking a 300 ms long noise trace, estimation of modulation frequency to 100 ppm may be obtained. Once the modulation frequency is identified, the power spectrum beginning with the template over one period can be stored in a lookup table as the spread clock profile that is used for dynamic noise weighting in the demodulation stage.



FIG. 7 illustrates packet error rates in an embodiment of the invention. FIG. 7 is a simulation result using cross-correlation frequency tracking, MMSE (minimum mean square error) time domain channel estimation, and dynamic noise weighting provided immediately after the FFT process. FIG. 7 shows the packet error rate (PER) performance using 54 Mbps mode over an AWGN (additive white Gaussian noise) model channel with the added platform noise, as captured by a device (a laptop computer including WLAN) over a 20 MHz wide band (2.48-2.5 GHz). The illustrated simulation considers the entire receiver performance, including packet detection, frequency error estimation, symbol synchronization, channel estimation, pilot tracking, and demodulation. FIG. 7 illustrates the performances without any platform noise solution 705, with a solution treating the noise as a wideband flat noise 710 (as shown by the average noise characterization 725), and an embodiment of a dynamic noise weighting solution 715 (as shown by the time characterization of the noise 730). Also shown is the curve for operation without any platform noise 720. As shown, treating the spread clock interference as wideband flat noise and conducting static noise weighting using average noise power 710 provides only a 1 dB gain over the case without any platform noise mitigation solution 705. However, in an embodiment of the invention providing a dynamic solution using frequency tracking and dynamic noise weighting 715, 8 dB gain is achieved. The simulation illustrates the effectiveness of dynamic noise weighting to mitigate the spread clock interference.



FIG. 8 is a flowchart to illustrate an embodiment of clock noise mitigation. In this illustration, a wireless signal is received 805. The signal includes noise introduced by a clock present on the platform. Clock is an FM spread clock, and thus the interference created will move in frequency over time, providing an average wideband noise signature that is actually a narrowband signal at a point in time. The signal thus may interfere with different symbols over time. A time-spectrum characterization of the platform noise is performed 810. The characterization may be performed as a STFT (generating a spectrogram). The noise signal is then tracked using cross-correlation 815. For example, a segment of the noise signal may be chosen as a template which is then cross-correlated with the remainder of the signal. The tracking of the noise signal provides providing a measurement of the period of the clock signal 820. An estimate is then made of the time domain channel to allow proper response to the signal 825. Based on the determinations, dynamic noise weighting is provided to counter the dynamic clock noise signal 830.



FIG. 9 is an illustration of a computer system for an embodiment of the invention. Certain standard and well-known components that are not germane to the present invention are not shown. Under an embodiment of the invention, a computer 900 comprises a bus 905 or other communication means for communicating information, and a processing means such as two or more processors 910 (shown as a first processor 915 and a second processor 920) coupled with the bus 905 for processing information. The processors 910 may comprise one or more physical processors and one or more logical processors. Further, each of the processors 910 may include multiple processor cores. The computer 900 is illustrated with a single bus 905 for simplicity, but the computer may have multiple different buses and the component connections to such buses may vary. The bus 905 shown in FIG. 9 is an abstraction that represents any one or more separate physical buses, point-to-point connections, or both connected by appropriate bridges, adapters, or controllers. The bus 905, therefore, may include, for example, a system bus, a Peripheral Component Interconnect (PCI) bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), IIC (I2C) bus, or an Institute of Electrical and Electronics Engineers (IEEE) standard 1394 bus, sometimes referred to as “Firewire”. (“Standard for a High Performance Serial Bus” 1394-1995, IEEE, published Aug. 30, 1996, and supplements) In an embodiment of the invention, the processors 910 may be used to process and mitigate received dynamic platform noise.


The computer 900 further comprises a random access memory (RAM) or other dynamic storage device as a main memory 925 for storing information and instructions to be executed by the processors 910. Main memory 925 also may be used for storing temporary variables or other intermediate information during execution of instructions by the processors 910. RAM memory includes dynamic random access memory (DRAM), which requires refreshing of memory contents, and static random access memory (SRAM), which does not require refreshing contents, but at increased cost. DRAM memory may include synchronous dynamic random access memory (SDRAM), which includes a clock signal to control signals, and extended data-out dynamic random access memory (EDO DRAM). The uses of the main memory may include the storage of data related to the mitigation of dynamic platform noise. The computer 900 also may comprise a read only memory (ROM) 930 and/or other static storage device for storing static information and instructions for the processors 910.


A data storage device 935 may also be coupled to the bus 905 of the computer 900 for storing information and instructions. The data storage device 935 may include a magnetic disk or optical disc and its corresponding drive, flash memory or other nonvolatile memory, or other memory device. Such elements may be combined together or may be separate components, and utilize parts of other elements of the computer 900.


The computer 900 may also be coupled via the bus 905 to a display device 940, such as a cathode ray tube (CRT) display, a liquid crystal display (LCD), a plasma display, or any other display technology, for displaying information to an end user. In some environments, the display device may be a touch-screen that is also utilized as at least a part of an input device. In some environments, display device 940 may be or may include an audio device, such as a speaker for providing audio information. An input device 945 may be coupled to the bus 905 for communicating information and/or command selections to the processors 910. In various implementations, input device 945 may be a keyboard, a keypad, a touch-screen and stylus, a voice-activated system, or other input device, or combinations of such devices. Another type of user input device that may be included is a cursor control device 950, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to the one or more processors 910 and for controlling cursor movement on the display device 940.


A communication device 955 may also be coupled to the bus 905. Depending upon the particular implementation, the communication device 955 may include a transceiver, a wireless modem, a network interface card, LAN (Local Area Network) on motherboard, or other interface device. The uses of a communication device 955 may include reception of signals from wireless devices. For radio communications, the communication device 955 may include one or more antennas 958. In an embodiment of the invention, the communication device includes a WLAN receiver, the receiver includes processing for the mitigation of dynamic platform noise. In one embodiment, the communication device 955 may include a firewall to protect the computer 900 from improper access. The computer 900 may be linked to a network or to other devices using the communication device 955, which may include links to the Internet, a local area network, or another environment. The computer 900 may also comprise a power device or system 960, which may comprise a power supply, a battery, a solar cell, a fuel cell, or other system or device for providing or generating power. The power provided by the power device or system 960 may be distributed as required to elements of the computer 900.


In the description above, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form.


The present invention may include various processes. The processes of the present invention may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor or logic circuits programmed with the instructions to perform the processes. Alternatively, the processes may be performed by a combination of hardware and software.


Portions of the present invention may be provided as a computer program product, which may include a machine-readable medium having stored thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process according to the present invention. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs (compact disk read-only memory), and magneto-optical disks, ROMs (read-only memory), RAMs (random access memory), EPROMs (erasable programmable read-only memory), EEPROMs (electrically-erasable programmable read-only memory), magnet or optical cards, flash memory, or other type of media/machine-readable medium suitable for storing electronic instructions. Moreover, the present invention may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).


Many of the methods are described in their most basic form, but processes can be added to or deleted from any of the methods and information can be added or subtracted from any of the described messages without departing from the basic scope of the present invention. It will be apparent to those skilled in the art that many further modifications and adaptations can be made. The particular embodiments are not provided to limit the invention but to illustrate it. The scope of the present invention is not to be determined by the specific examples provided above but only by the claims below.


It should also be appreciated that reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature may be included in the practice of the invention. Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims are hereby expressly incorporated into this description, with each claim standing on its own as a separate embodiment of this invention.

Claims
  • 1. A method comprising: receiving wireless signal data, the data including a periodic noise, the noise varying in frequency over time;performing a time-spectrum characterization of the data;correlating the time-spectrum characterization of the data to determine a period of the periodic noise; anddynamically weighting the noise based at least in part on frequency variation of the noise.
  • 2. The method of claim 1, wherein the noise occurs over a plurality of different channels, and further comprising estimating the channels affected by the noise at a point in time.
  • 3. The method of claim 2, wherein the signal comprises OFDM (orthogonal frequency division multiplexing) channels.
  • 4. The method of claim 1, wherein the noise comprises a clock signal.
  • 5. The method of claim 4, wherein the clock signal is a frequency modulated (FM) spread clock signal.
  • 6. The method of claim 1, wherein the correlation comprises performing a cross-correlation of a portion of the clock noise with the remainder of the signal data.
  • 7. The method of claim 1, wherein the time-spectrum characterization of the data comprises a short time Fourier transform (STFT).
  • 8. A receiver comprising: a signal input to receive signal data for one or more wireless devices, the data including a periodic noise that varies in frequency;a frequency tracking module to track the frequency of the periodic noise; anda dynamic noise weighting module to apply weighting to the periodic noise.
  • 9. The receiver of claim 8, further comprising a channel estimation module to estimate frequency channels that are affected by the dynamic noise.
  • 10. The receiver of claim 8, further comprising a spectrogram module to produce a frequency characterization of the signal data.
  • 11. The receiver of claim 8, wherein the receiver is a WLAN (wireless local area network) receiver.
  • 12. The receiver of claim 8, wherein the receiver is embedded in the platform of a device.
  • 13. The receiver of claim 12, wherein the noise comprises platform noise.
  • 14. The receiver of claim 8, wherein the frequency tracking module utilizes cross-correlation of the signal data to track the frequency.
  • 15. A computer system comprising: a communication device to receive wireless signals;a frequency modulated (FM) clock, the clock producing noise that overlaps at least in part with a frequency range of the communication device;an asynchronous dynamic random access memory (SDRAM) to hold wireless device signal data, the data including noise generated by the clock; anda processor to process the signal data, wherein processing the signal data includes applying dynamic noise weighting to the signal data.
  • 16. The computer system of claim 15, wherein the processor is to perform a short time Fourier transform (STFT) on the data to generate a spectrogram image of the data.
  • 17. The computer system of claim 15, wherein the communication device includes a module to perform a short time Fourier transform (STFT) on the data to generate a spectrogram image of the data.
  • 18. The computer system of claim 15, wherein the communication device comprises a WLAN (wireless local area network) receiver.
  • 19. The computer system of claim 15, wherein the noise includes harmonics of the clock signal.
  • 20. The computer system of claim 15, wherein the dynamic noise weighting tracks the frequency of the noise over time.
  • 21. A machine-readable medium having stored thereon data representing sequences of instructions that, when executed by a machine, cause the machine to perform operations comprising: receiving wireless signal data, the data including noise generated by a frequency modulated clock;performing a short time Fourier transform of the data to generate a time-spectrum characterization of the signal data;correlating the time-spectrum characterization of the data to determine the period of the periodic noise; anddynamically weighting the noise to mitigate the effect of the noise.
  • 22. The medium of claim 21, wherein the noise occurs over a plurality of different channels, and further comprising estimating which of the channels are affected by the noise at a point in time.
  • 23. The medium of claim 21, wherein the correlation comprises performing a cross-correlation of a portion of the clock noise with the remainder of the signal data.