1. Field
The present disclosure relates generally to wireless devices, and, more specifically, to systems and methods for determining and calibrating DC offset in a wireless device with the antenna connected.
2. Related Art
A wireless network generally includes two or more wireless devices that communicate with each other over a wireless medium. One example of a wireless network is a wireless local area network (WLAN) designed to operate according to IEEE 802.11 standards.
DC offset is usually undesirable because it causes saturation or change in the operating point of an amplifier in the wireless device. When a receiver (or wireless chipset) is integrated in a final product and connected to an antenna, it is exposed to all kind of interferences from other transmitters, microwave ovens, other appliances, and the like. DC Offset is particularly sensitive to input impedance. Although a manufacturer of a wireless chipset could calibrate the chipset itself, the final product would still suffer from DC offset because the impedance of the antenna is different for each product. In addition, DC offset can also be affected whenever there is saturation caused by interferences or when there is interference at very low frequency offsets from LO frequencies.
Examples of factors that affect DC offset measurements include the non-linear effect of high power jammers, carrier leakage or subcarrier close to receiver local oscillator (LO) frequency, leakage power that is smaller than total interference power, leakage phase that is zero-mean random process, transmitter and receiver are asynchronous, and the delay in propagation is random. Depending on the LO leakage power level, all receivers suffer from DC offset caused by self-mixing of the LO with its leakage. Therefore, DC offset in the receive paths varies across the designs as the antenna impedance changes. It is impossible and impractical to predict the impedance in the final products; thus, it is impossible to predict the DC offset in the final products. This uncertainty causes a problem in determining DC offset cancellation.
While FFT based spectrum analysis may allow for detection and elimination of some interferences, it requires higher resolution and very complicated algorithms to analyze the spectrum. Additionally, manufacturer calibration is expensive, and it is even more expensive to calibrate over variations in temperature.
The following summary of the invention is included in order to provide a basic understanding of some aspects and features of the invention. This summary is not an extensive overview of the invention and as such it is not intended to particularly identify key or critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented below.
DC offset is a universal problem in receivers, especially in receivers using direct conversion architecture. One major contributor of DC offset is the self-mixing of the LO leakage with LO itself. The antenna is the key component in this scenario. Therefore, it is important to be able to measure and cancel the DC in the receiver with the antenna connected to the receiver input. With the antenna connected, inevitably interferences are picked up by the receiver at the time of measurements. Embodiments of the invention relate to systems and methods that can tolerate interferences and still provide accurate DC measurements and cancel DC out of the receive chain. Further embodiments of the invention relate to DC offset calibration that can be performed with the antenna connected, after the wireless chipset is integrated into the final product.
In accordance with an aspect of the invention, a wireless device is disclosed that includes a receiver to receive a receive signal from one or more other wireless devices; an antenna connected to the receiver; a processor to determine a DC offset value of the wireless device with antenna connected, and calibrate the wireless device using the determined DC offset value; and memory to store the DC offset value.
The wireless device may further include a digital to analog converter, and wherein the wireless device is calibrated by adjusting the value at the digital to analog converter.
The wireless device may further include a receive chain, and wherein the wireless device is calibrated by adjusting the gain at the receive chain.
The wireless device may be calibrated by adjusting the gain in multiple components of the wireless device.
In accordance with yet another aspect of the invention, a method is disclosed that includes performing an energy detection algorithm on a plurality of received signals at a wireless device having an antenna connected thereto; and applying an averaging algorithm to determine the DC offset of the wireless device.
The method may further include performing a calibration algorithm to adjust the DC cancellation based on the determined DC offset. The DC cancellation may be adjusted in a closed-loop fashion to cancel the DC offset to within a predefined range for the wireless device.
The method may further include receiving a signal. Performing the energy detection algorithm may include determining the total energy of the received signal. Performing the energy detection algorithm may further include comparing the total energy determined with previously averaged values of energy of received signals. Data captured from the received signal may be discarded if the total energy is higher than the previously averaged value. The total energy may be used to update the previously averaged value if the total energy is the same as or lower than the previously averaged value.
The wireless device may be calibrated by adjusting the gain at a digital to analog converter. The wireless device may be calibrated by adjusting the gain at a receive chain. The wireless device may be calibrated by adjusting the gain in multiple components of the wireless device.
The accompanying drawings, which are incorporated into and constitute a part of this specification, illustrate one or more examples of embodiments and, together with the description of example embodiments, serve to explain the principles and implementations of the embodiments.
The network 100 illustrated in
A wireless local area network (WLAN) generally refers to a wireless network, which facilitates multiple devices to communicate with each other over a wireless medium, and typically includes both wireless stations and an access point. Wireless stations refer to end devices, which transmit and receive packets for communication with other wireless stations and/or other devices within or external to the WLAN. Access points typically refer to devices that are typically intended for receiving and transmitting packets to and receiving packets from the wireless stations and devices external to the WLAN. Access points also manage access to the network, controlling which stations may join, authenticating stations and managing security mechanisms. Access points typically forward or switch packets, send periodic beacons and in general communicate using packet formats designed for operation as an access point.
Access point 110F is connected by a wired medium 141 to wired network backbone 140, which is connected to wired network 130. Each of the clients 110A-110E may communicate with access point 110F as well as with one another wirelessly. The client devices 110A-110E communicate with the wired network 130 through the access point 110F. The wired network 130 may represent the Internet or World Wide Web. The clients 110A-110E may be, for example, a laptop computer, smart phone, wireless sensor, or the like.
Wireless network manager 150 transmits configuration and control messages to the access point 110F. Configuration and control messages that are addressed to the clients 110A-110E are forwarded by the access point 110F to the intended client device recipient 110A-110E by sending either a unicast or a broadcast message. Although the wireless network manager 150 is shown as a separate component from the access point 110F in
Wireless network manager 150 may additionally be designed to operate as a controller of the BSS and issue network commands to and receive data from one or more of the client devices 110A-110E, and may thus operate to provide certain desired features, such as, for example, building or plant automation, monitoring medical patients, remotely controlling a content storage device, etc. depending on the environment in which the network is deployed. The data received from the client devices 110A-110E may represent measured values of desired parameters, such as, for example, temperature, pressure, humidity, etc. in the case of building automation, measured medical data (e.g., heartbeat, blood pressure, blood glucose, temperature, etc.) about the patient in the case of medical monitoring, video or other data type content in the case of remote control of a content storage device. For example, the access point 110F may be a remote control that controls a client device 110A, and the client device 110A may be a GoPro video recorder. In another example, the client device 110A may be a human wearable tag for collecting blood pressure and the access point 110F may be a mobile phone for communicating the collected blood pressure data to a remote server accessible by a health care professional. It will be appreciated that embodiments of the invention may be implemented in numerous other scenarios.
One or more of client devices 110A-110E may be designed to operate in a “power-save” mode. For example, in the context of IEEE 802.11 standards operation, a client device (e.g., client device 110A) may operate in the standard Power Save Poll Mode (PSPM, or power-save mode, in general). Upon joining the BSS, the client device 110A periodically “wakes up”, i.e., powers-ON for full functionality from a low power state, to transmit data to or receive data from the access point 110F or other client devices 110B-110E.
Embodiments of the invention include an energy detection algorithm to decide whether the signal is clean enough that it can be used to for DC measurements and an averaging algorithm tightly coupled with the energy detection algorithm that averages the DC measurements to further eliminate the uncertainty in the measurements. Embodiments of the invention use averaging to remove linear interference, use long averaging window to remove carrier/sub-carrier close to the receiver LO, and monitor the total energy in the data captures and rejects those captures with high energy. In one embodiment, captures above about 10 dB are rejected. Embodiments of the invention are also directed to a calibration or cancellation algorithm that adjusts the DC cancellation according to the energy detection measurements in a closed-loop fashion to cancel the DC offset to a predefined range.
Instead of trying to distinguish all kind of interferences, the energy detection algorithm measures the total power in-band. If the measured value shows an abrupt increase from current value, the signal is considered jammed and should be discarded. An abrupt decrease is acceptable because this can happen if the current value was arrived from power measured with jammers. To further smooth out the randomness due to the nature of thermal noise (modeled as Gaussian), a moving average had been applied to the DC offset measurements.
Details of the exemplary energy detection and averaging algorithm for determining the DC offset of the wireless device will now be described. In one embodiment, the following procedure is performed each time when the receiver has filled the 1024-sample buffer from the ADC. First, the average of 1024 samples is determined to obtain the DC of the system. The total power of the 1024 samples is computed—this value includes the contribution of DC. The AC power is computed by subtracting DC power (voltage squared) from the total power. This AC power is compared with a predetermined threshold. In one embodiment, the predetermined threshold is 0.5 dB above current power value. It will be appreciated that the predetermined threshold may be any value or range of values less than 0.05 dB or any value or range of values greater than 0.05 dB. If the new AC power is higher than this threshold, the new measurement is ignored. If the new AC power is below this threshold, the moving average buffers are updated. The new averaged AC power and DC offsets are computed from the data in buffers.
In one embodiment, there is a counter to count the number of ignored measurements. This counter is reset to 0 each time an update occurs. In one embodiment, the buffers need to be re-initialized when this counter exceeds 3,000 (current setting that is more than 38 ms).
Current IQ ADCs' outputs are 10-bit SIGNED integers and the processor supports 32-bit SIGNED integers natively. The process of computing the averaged power or DC will not cause any over flow for the given 1024-sample size. In the example, the current averaged power is Pc and the new measurement is Pn. Using the 0.5 dB criterion, Pc is compared with Pn×1122/1000. Once Pn has passed the test, the moving average buffer is updated with this new measurement (both power and DC in their respective buffers), and the averaging results. If the sum of the values in the buffer is Sn at time n, the averaged result is simply Sn/64.
The new value is denoted as x in
As shown in
The method 800 continues by computing the total energy of the captured signal (block 808). The total energy is compared either against the previously averaged value or is set as the initial value if it is the first time data is being captured.
The method 800 continues by identifying the captured data as being contaminated if the energy is higher than previous value and discarding the data (block 812). If the data is not higher than the previous value, the captured data value is used to update the average (block 812).
The method 800 continues by determining the DC by averaging over the capture size if the capture is determined to not be contaminated in the previous step (block 816). The result is used together with previously obtained DC values for further smoothing (averaging) (block 816).
The method 800 continues by averaging the DC values to determine the true DC offset of the wireless device (block 820). In one embodiment, the DC value is averaged after a predefined number of successful (non-contaminated) captures have been obtained. For example, the predefined number may be any value or range of values between about three and twenty captures.
The energy detection algorithm and the averaging algorithm coupled with the energy detection are described above with reference to
The calibration algorithm completes the DC offset cancellation.
The method 900 continues by performing DC offset cancellation based on the stored DC offset (block 912). The closed-loop DC cancelation takes the output from the averaging algorithm to complete cancellation. The closed-loop cancelation can achieve good results only when there is accurate DC offset measurement provided by energy detection and averaging. The calibration algorithm can be changed for different architectures. It will be appreciated that the calibration algorithm is not required if the sole purpose is just to characterize DC offset in the receiver.
The DC offset may be injected in the digital domain, baseband or multiple locations. The gain can be determined at each stage and the gain can be changed with multiple measurements. In one embodiment, the DC offset calibration is performed by adjusting the value at the digital to analog converter. In another embodiment, the DC offset calibration is performed by adjusting the gain at the receive chain. It will be appreciated that the DC offset calibration may be performed by adjusting the gain in multiple components of the wireless device.
Exemplary implementations of wireless device 1000 are disclosed in U.S. Pat. No. 7,941,682, entitled “Optimum Power Management of System on Chip Based on Tiered States of Operation”, issued May 10, 2011, and U.S. Patent Publication Nos. 2009/0016251, entitled “Management System and Method of Low Power Consuming Devices, filed Jul. 13, 2007, 2009/0077404, entitled “Method and System for Reducing Power Consumption of System on Chip Based Analog-to-Digital Control Circuitry,” filed Sep. 14, 2007, each of which is assigned to Gainspan, Inc., the entireties of each of which are hereby incorporated by reference. It will be appreciated that other implementations of the wireless device 1000 are contemplated and such wireless device 1000 should not be limited to the disclosures incorporated by reference or the exemplary wireless device illustrated in
Wireless device 1000 includes a data processing system 1010, flash memory 1020, random access (RAM) memory 1030 a real-time clock (RTC) 1040, power supply 1045, non-volatile memory 1050, sensor(s) 1060, a transmitter 1070, a receiver 1080, switch 1090 and antenna 1095. It will be appreciated that the wireless device 1000 may be implemented as a system-on-chip (SoC) or as separate integrated circuits (IC) or combinations thereof. Additionally, it will be appreciated that the wireless device 1000 may have fewer or greater components than those shown in
Data processing system 1010 is a processor that may contain one or more processing units. In embodiments in which the data processing system 1000 includes multiple processing units, each processing unit may be designed for a specific task. Alternatively, the data processing system 1010 may contain a general purpose processing unit. In yet another embodiment, the data process system 1010 may contain multiple general purpose processing units that share processing for all tasks in a mutual way.
Flash memory 1020 contains memory locations organized as blocks. A block represents a set of memory locations (typically continuous in terms of memory address) which are to be all erased before data can be rewritten into any location. Flash memory 1020 may be used to store data from sensor(s) 1060 via data processing system 1010 and/or store program code.
RAM 1030 and non-volatile memory 1050 (which may be implemented in the form of read-only memory (ROM)) constitute computer program products or machine readable medium which provide instructions to data processing system 1010. RAM 1030 communicates with data processing system via path 1031. The non-volatile memory 1050 may include sub-components (not shown), such as OTP and EEPROM.
RTC 1040 operates as a clock and provides the current time to data processing system 1010 on path 1041. RTC 1040 may be backed-up by power supply 1045. RTC 1040 may also contain memory to store critical information received from the data processing system 1010.
Non-volatile memory 1050 is a non-transitory computer readable medium that stores instructions, which when executed by the data processing system 1010, cause the wireless device 1000 to process the data and messages received from the receiver and generate the data and messages for transmission by the transmitter. The non-volatile memory communicates with data process system 1010 via path 1051.
Sensor(s) 1060 may include one or more sensors as well as corresponding signal conditioning circuitry. As an alternative, sensor(s) may instead be any data capture device, such as a video recording device or other data collection or capture devices. Sensed parameters or data are transmitted on path 1061 via a wired path 1062 or wireless path 1063.
Transmitter 1070 receives data to be transmitted from data processing system 1010 on path 1071. Further, the transmitter 1070 generates a modulated radio frequency (RF) signal according to IEEE 802.11 standards and transmits the RF signal via switch 1090 and antenna 1095.
Receiver 1080 receives an RF signal bearing data via switch 1090 and antenna 1095. The receiver 1080 further demodulates the RF signal and provides extracted data to the data processing system 1010 on path 1081.
Antenna 1095 operates to receive from and transmit to a wireless medium wireless signals containing data and messages. Switch 1090 may be controlled by the data processing system 1010 to connect antenna 1095 to the receiver 1080 via path 1089 or transmitter via path 1079 depending on whether the wireless station is receiving or transmitting.
One or more of the methodologies or functions described herein may be embodied in a computer-readable medium on which is stored one or more sets of instructions (e.g., software). The software may reside, completely or at least partially, within memory, as described above, and/or within the data processing system during execution thereof. The software may further be transmitted or received over a network.
The term “computer-readable medium” should be taken to include a single medium or multiple media that store the one or more sets of instructions. The term “computer-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by a machine and that cause a machine to perform any one or more of the methodologies of the invention. The term “computer-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media.
Embodiments of the invention have been described through processes or flow diagrams at times, which are defined by executable instructions recorded on computer readable media which cause a computer, microprocessors or chipsets to perform method steps when executed. The process steps have been segregated for the sake of clarity. However, it should be understood that the steps need not correspond to discreet blocks of code and the described steps can be carried out by the execution of various code portions stored on various media and executed at various times.
It should be understood that processes and techniques described herein are not inherently related to any particular apparatus and may be implemented by any suitable combination of components. Further, various types of general purpose devices may be used in accordance with the teachings described herein. It may also prove advantageous to construct specialized apparatus to perform the method steps described herein. The invention has been described in relation to particular examples, which are intended in all respects to be illustrative rather than restrictive. Those skilled in the art will appreciate that many different combinations of hardware, software, and firmware will be suitable for practicing the present invention.
The present invention has been described in relation to particular examples, which are intended in all respects to be illustrative rather than restrictive. Those skilled in the art will appreciate that many different combinations will be suitable for practicing the present invention. Moreover, other implementations of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. Various aspects and/or components of the described embodiments may be used singly or in any combination. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5623227 | Everline | Apr 1997 | A |
5650769 | Campana, Jr. | Jul 1997 | A |
6434186 | Dowling | Aug 2002 | B2 |
6859488 | Azenkot et al. | Feb 2005 | B2 |
7941682 | Adams | May 2011 | B2 |
8321626 | Hiremath et al. | Nov 2012 | B2 |
8526604 | Batra et al. | Sep 2013 | B2 |
8583812 | Vyas et al. | Nov 2013 | B2 |
8665744 | Viswanathan et al. | Mar 2014 | B2 |
8755404 | Viswanathan et al. | Jun 2014 | B2 |
8761066 | Vyas et al. | Jun 2014 | B2 |
8831121 | Qi et al. | Sep 2014 | B1 |
9413574 | Timofeev | Aug 2016 | B1 |
20020042256 | Baldwin | Apr 2002 | A1 |
20030223573 | Tehernezhaadi | Dec 2003 | A1 |
20050153676 | Ruelke et al. | Jul 2005 | A1 |
20050219092 | Chang et al. | Oct 2005 | A1 |
20050237984 | Benveniste | Oct 2005 | A1 |
20060280268 | Sobchak | Dec 2006 | A1 |
20070211748 | Stephens | Sep 2007 | A1 |
20080195821 | Adams et al. | Aug 2008 | A1 |
20080195918 | Adams | Aug 2008 | A1 |
20080232256 | Douglas et al. | Sep 2008 | A1 |
20080297365 | Welles et al. | Dec 2008 | A1 |
20080310337 | Welles | Dec 2008 | A1 |
20090016251 | Adams et al. | Jan 2009 | A1 |
20090077404 | Herring et al. | Mar 2009 | A1 |
20100067626 | Sankabathula et al. | Mar 2010 | A1 |
20100086017 | Shumarayev | Apr 2010 | A1 |
20100135447 | Sapozhnykov et al. | Jun 2010 | A1 |
20110215857 | Nonin | Sep 2011 | A1 |
20130114643 | Shope et al. | May 2013 | A1 |
20130195215 | Manglani | Aug 2013 | A1 |
20130272180 | Hiremath et al. | Oct 2013 | A1 |
20130290377 | Purohit | Oct 2013 | A1 |
20130294426 | Vyas et al. | Nov 2013 | A1 |
20140044158 | Raghu | Feb 2014 | A1 |
20140169349 | Vyas et al. | Jun 2014 | A1 |
20140192691 | Vyas et al. | Jul 2014 | A1 |
20140211674 | Hiremath | Jul 2014 | A1 |
20150365118 | Khan | Dec 2015 | A1 |
20160112955 | Grau | Apr 2016 | A1 |
20160308695 | Lin | Oct 2016 | A1 |
20160309353 | Lin | Oct 2016 | A1 |
Entry |
---|
Office Action in U.S. Appl. No. 14/519,063, mailed Apr. 6, 2016. |
Yin et al., “Calibration Techniques for Low-Power Wireless Multiband Transceiver”, Hindawi Publishing Corporation, Int'l Journal of Distributed Sensor Networks, vol. 2013, Article 754206, 8 pgs. |
Number | Date | Country | |
---|---|---|---|
20160308695 A1 | Oct 2016 | US |