1. Field
Embodiments of the invention relate to electronic systems, and more particularly, to mixer systems used in telecommunication systems.
2. Description of the Related Technology
Many electronic systems operate with radio-frequency (RF) signals. Such electronic systems can include an RF transmitter that generates a wireless or wired signal (for example, a radio frequency signal) for wireless transmission or wired transmission. An RF transmitter can include various components to amplify, filter, and modulate one or more baseband signals to be transmitted to generate an RF transmit signal that carries the data. For example, an RF transmitter can use quadrature modulation in which two baseband signals are modulated one separate paths using mixers operating with 90° phase offset to generate an in-phase channel (“I-channel”) signal and a quadrature-phase channel (“Q-channel”) signal. The I-channel and Q-channel signals are combined for transmission. In addition to mixers, the I path and the Q path can also include various other electronics, such as amplifiers and filters.
In an RF transmitter such as a direct-conversion transmitter, I/Q direct current (DC) offset and imbalance can occur, for example, when the transfer function of the I path of the transmitter is different from that of the Q path of the transmitter. Offset and imbalance can occur due to imperfections and variability of the analog components of an RF transmitter, such as the filters, mixers, amplifiers, and digital-to-analog converts (“DACs”), resulting in an asymmetrical transmitter circuit with respect to the I and Q paths. Sources of such offsets and imbalances include, but are not limited to, gain and phase mismatch of the mixers, frequency responses of low-pass filters, gain and offset of DACs, DAC-clock timing mismatch, and a non-linear I/Q imbalance.
There have been various attempts to reduce or eliminate DC offset from mixers of RF transmitters. Among others, digital signal processing techniques have been used to reduce DC offset. Some of these techniques focus on generating an offset compensation signal by performing sweeps of the compensation signal to identify a nulling signal. Other techniques attempt to compensate for DC offset by performing a moving average computation on the transmit signal.
The systems, methods, and devices of the invention each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of this invention as expressed by the claims which follow, some features will now be discussed briefly. After considering this discussion, and particularly after reading the section titled “Detailed Description,” one will understand how the features of this invention provide advantages that include improving transmit signal quality by reducing the effects of biases of RF converter mixers.
In one embodiment, an electronically-implemented method for generating an estimate for a direct current (DC) offset is disclosed. The method comprises receiving samples of a first signal. The method further comprises retrieving values of a second signal. The second signal comprises a component in a third signal. The third signal is upconverted, downconverted, and filtered to generate the first signal. The method further comprises generating the estimate of a first DC offset induced by an upconverter based at least partly on at least two selected samples of the first signal and corresponding values of the second signal.
In another embodiment, an apparatus is disclosed. The apparatus comprises an interface configured to receive samples of a first signal and values of a second signal. The first signal comprises a version of a third signal that has been upconverted, downconverted, and filtered. The second signal comprises a component in the third signal. The apparatus further comprises an offset estimator configured to generate an estimate of a first DC offset induced by an upconverter based at least partly on at least two selected samples of the first signal and corresponding values of the second signal.
In another embodiment, an apparatus is disclosed. The apparatus comprises a computer program embodied in a tangible non-transitory computer-readable medium for generating an estimate for a direct current (DC) offset. The computer program comprises program instructions configured to receive electronic samples of a first signal and digital values of a second signal, wherein first signal comprises a digital version of a third signal that has been upconverted, downconverted, and filtered, wherein the second signal comprises a component in the third signal. The computer program further comprises program instructions configured to an offset estimator module configured to generate an estimate of a first DC offset induced by an upconverter based at least partly on at least two selected samples of the first signal and corresponding values of the second signal. The apparatus further comprises a processor configured to execute the program instructions of the computer program.
These drawings and the associated description herein are provided to illustrate specific embodiments of the invention and are not intended to be limiting.
The following detailed description of certain embodiments presents various descriptions of specific embodiments of the invention. However, the invention can be embodied in a multitude of different ways as defined and covered by the claims. In this description, reference is made to the drawings where like reference numerals may indicate identical or functionally similar elements.
Embodiments relate to and are described in the context of systems and methods for estimating direct current (“DC”) offset of a converter mixer of a radio frequency (“RF”) transmitter and will also be applicable to transmitter-receivers and to transceivers. DC offsets can occur independently in each of the communication channels of the RF transmitter. For example, in a quadrature modulation-based transmitter, DC offsets can occur in one of or both the in-phase (“I”) channel and the quadrature-phase (“Q”) channel. DC offsets can manifest as a portion of unmodulated carrier signal appearing at the output of the upconverter circuit. In one embodiment, the system compensates for DC offset by estimating the DC offset and then subtracting out the estimated DC offset term at the upconverter inputs in order to attenuate or at least partially negate the effects of DC offset at the upconverter output.
In one particular embodiment, the system generates estimates of a DC offset by demodulating an RF transmit signal, filtering and processing the demodulated transmit signal, estimating the DC offset based on the processed signals, and the using the estimates of the DC offset subtract out the actual DC offset. For example, the RF transmit signal can be generated with “test” or “probe” compensation signals added to I/Q baseband signals, and then upconverting the result to generate an RF transmit signal. In the presence of a DC offset for the upconverter, the RF transmit signal should also contain the undesirable DC offset terms. The RF transmit signal can be demodulated to baseband so that the DC offset terms appear as DC components. In one embodiment, the RF transmit signal can be demodulated using a model of an RF receiver circuit having fully calibrated downconverters (also referred to as a demodulator or a mixers) for demodulating the RF transmit signal without substantially introducing additional sources of DC offset. The system then preprocesses the demodulated signal to prepare the signal for DC offset estimation. The preprocessed or filtered signal is sampled two or more times. The samples and the compensation signals are used to calculate an estimate the DC offset of the converter mixer of the RF transceiver.
In another specific example, the preprocessing can include using a number of analog and/or digital filters to remove components of the signal extraneous to DC offset estimation, such as electronic noise, transmit data, and other signal components, which can adversely affect DC offset estimation. The extraneous signal components can have frequencies substantially above DC. These extraneous components can be attenuated by using one or more low-pass filters to reject frequencies substantially above DC and pass frequencies that are close to DC, thereby retaining the DC-offset relevant information of the signal. The system can decimate or downsample the signal between filtering. For example, decimation can be used where filtering reduces the bandwidth of an intermediate preprocessed signal. A decimated signal can reduce computational costs associated with DC offset estimation.
In another specific example, the system can operate in either a calibration mode or in a tracking mode. For example, operating in a calibration mode can allow the system to rapidly generate an estimate of the DC offset. Operating in tracking mode can allow the system to adjust the estimate of the DC offset to compensate for time variations of the DC offset, and to improve an initial estimate of the DC offset.
To further illustrate,
The upconverter offset compensation system 100 has an I path that includes an I-channel mixer 102 and an I-channel local oscillator (“LO”) 104 to modulate the baseband signal it on a carrier signal cos(ωt). Similarly, the upconverter offset compensation system 100 has a Q path that includes a Q-channel mixer 106 and a Q-channel LO 108 to modulate baseband signal qt on a carrier signal sin(ωt). The I-channel LO 104 has a 90 degree phase shift relative to the Q-channel LO 108. It will be appreciated that the I-channel LO 104 and the Q-channel LO 108 can be part of one LO circuit. For example, in one embodiment, one of the I-channel LO 104 or the Q-channel LO 108 is implemented by generation of a 90 degree phase shift from an output signal of the other. The I-channel signal st,i and the Q-channel signal st,q are combined at a summing junction 110 to form the RF transmit signal st. For example, the summing junction 110 can be a summing amplifier that adds the I-channel signal st,i and the Q-channel signal st,q together to form the RF transmit signal st. Other applicable types of summing junctions, including analog and digital adders, will be readily determined by one of ordinary skill in the art. During communication, the transmit signal st is transmitted through a communication channel (for example, a wired or wireless channel) to an RF receiver (not shown).
In operation, the I-channel mixer 102 and the Q-channel mixer 106 can generate unintended DC offsets. For example, the model of
t
0(t)=Re{[(i(t)+i*DC)+j*(q(t)+q*DC)]ejwt} (Equation 1)
In Equation 1, the baseband signals it(t) and qt(t) represents time-varying baseband signals to be transmitted. Equation 1 illustrates the effect of the DC offset. For instance, without offset compensation, the RF transmit signal t0(t) carries the additional feed-through term Re{[i*DC+j*q*DC]ejwt} which acts as a noise with respect to communication signal estimation and/or detection.
It will be appreciated that the offsets i*DC and q*DC shown in
When the transmit signal st (for example, an RF signal or an IF signal) is subsequently downconverted by an RF receiver circuit (not shown), a DC offset can be superimposed on the baseband signal. Moreover, since various modulation schemes involve a constant envelope modulation, such as Gaussian Frequency Shift Keying (GFSK) and Frequency-Shift Keying (FSK), DC offset can adversely affect performance. Other modulation techniques, such as Phase-Shift Keying (PSK) and QPSK, for example, are also sensitive to DC offset. DC offset reduces the signal-to-noise ratio of the transmitter-receiver, and increase the number of bit errors for a given data rate. Therefore, it is desirable to attenuate DC offset from the I path and the Q path before upconverting.
Returning to
The compensation signals can be selected to null out or attenuate the effects of the DC offsets i*DC and q*DC. For example, the RF transmit signal st can be represented by the following equation:
t
s(t)=Re{[(it(t)+i*DC+li)+j*(qt(t)+q*DC+lq)]ejwt} (Equation 2)
Equation 2 illustrates that the compensation signals are matched with the corresponding DC offset. For example, the I-channel compensation li and the I-channel DC offset i*DC are added together to form part of a first term, and the Q-channel compensation lq and the Q-channel DC offset q*DC are added together to form part of a second term. In one embodiment, the I-channel compensation signal li is based on a negative version of an estimate of the I-channel offset i*DC to cancel the I-channel DC offset i*DC. In another embodiment, the Q-channel compensation signal lq is based on a negative version of an estimate of the Q-channel DC offset q*DC to cancel the Q-channel DC offset q*DC.
The upconverter offset compensation system 100 generates estimates iDC(t) and qDC(t) of the DC offset i*DC and q*DC by processing the RF transmit signal st, and generating the compensation signals li and lq based on the generated estimates iDC(t) and qDC(t). For example, the upconverter offset compensation system 100 includes a downconverter 120, a signal preprocessor 122, and an offset estimator 124 to monitor the output of the mixers 102, 106 and to generate offset estimates iDC(t) and qDC(t) therefrom. Phase delay blocks 128, 130 have been included to model (they do not correspond to actual circuit elements) the phase difference between the carrier signal used when it was upconverted and the carrier signal used when it was downconverted. For example, after being upconverted with the carrier cos(ωt), the I-channel transmit signal st,i travels through the summing junction 110 and then to the demodulator. Because of the computational time to move along the signal path, the I-channel signal will be demodulated by the carrier signal cos(ωt+θ). In one embodiment, the signal preprocessor 122 and/or the offset estimator 124 is implemented by firmware instructions performed by a processor as will be described later in connection with
The downconverter 120 receives the RF transmit signal st and, using the LOs 104 and 108, generates a model receive signal r[n] by demodulating the RF transmit signal. The index “n” denotes that r[n] is a digital signal, as will be explained later in connection with
After demodulation of the downconverter 120, the model receive signal r[n] can be represented by the following equation:
r[n]=[(i*DC+li)+j(q*DC+lq)]ejθ+v[n] (Equation 3)
The disturbance signal v[n] represents noise and intended baseband signal of the model receive signal. The disturbance signal v[n] acts as an interference signal with respect to estimation. In some embodiments, the disturbance signal v[n] has zero mean. The phase θ represents the phase difference due to signal transportation lag between the mixers 102, 106 and the downconverter 120. One advantage, among others, is that some embodiments need not estimate the LO leakage and/or need not estimate the channel for phase θ tracking.
The signal preprocessor 122 receives the model receive signal r[n] and generates a processed signal x. In one embodiment, the signal preprocessor 122 filters out or attenuates the disturbance signal v[n] of the model receive signal r[n], as discussed in further detail in connection with
x(li,lq)=[(i*DC+li)+j(q*DC+lq)]ejθ (Equation 4)
The signal preprocessor 122 can generate a plurality of samples x1, . . . , xn of the processed signal x. For example, various compensation signals (li1, lq1), . . . , (lin, lqn) can be selected and each applied for a duration to generate the samples x1, . . . , xn. If the disturbance signal v[n] has been substantially attenuated, the samples x1, . . . , xn and the compensation signals (li1, lq1), . . . , (lin, lqn) carry information regarding the DC offset.
The offset estimator 124 receives samples of processed signal x[n] as input and generates offset estimates iDC(t) and qDC(t) as outputs. In some embodiments, the offset estimator 124 receives the compensation signals li and lq as input. In other embodiments the offset estimator retrieves values of the compensation signals li and lq. For example, some embodiments of the offset estimator 124 control the selection of the compensation signals li and lq by outputting the values of the compensation signals. The offset estimator 124 then retrieves the compensation signal li and lq internally. The offset estimator can also generate a control signal CTR that controls various aspects of the signal preprocessor 122 in accordance with the operation of the offset estimator 124, such as initialization and mode control. The control signal CTR will be discussed in more detail below in connection with
During operation, the offset estimator 124 generates the offset estimates based at least partly on at least two selected samples x1 and x2 of the processed signal x and the corresponding values of the compensation signals li and lq. A mapping of the inputs of the offset estimator 124 to the offset estimates can be represented as:
A capital letter in Equation 5 represents a vector quantity formed by collecting the corresponding samples. For example, Li denotes a collection of the corresponding samples of l1. In some embodiments, the offset estimator 124 can generate offset estimates for the I-channel, the Q-channel, and/or both. Additionally offset estimator 124 can generate estimates in real-time, dynamically, and/or without user intervention. The offset estimator 124 is described in further detail later in connection with FIGS. 3 and 6-10.
The offset compensator 126 of the upconverter offset compensation system 100 receives values (for example, the offset estimates and/or values of the control signals) for updating the compensation signals as input and generates the compensation signals as output. In one embodiment, the offset estimator 124 directly controls the values at which the offset compensator 126 generates the compensation signals. For example, the offset compensator 126 can receive the compensation values as input from offset estimator 124. In another embodiment, the offset compensator 126 receives the estimates from the offset estimator 124, but the offset compensator 126 or an external system (not shown) selects whether the compensation signal are updated based on the received offset estimation. The offset estimator 126 may update the compensation signals periodically. Additionally or alternatively, the offset compensator 126 can provide the current values of the compensation signals to the offset estimator 124 for generation of offset estimates.
In some embodiments, the compensation signals used in offset estimation are selected based on considerations other than DC offset attenuation. For example, during a calibration mode or a tracking mode (discussed below), the offset compensator 126 can provide a sequence of compensation signals not necessarily for attenuation of the DC offset, but rather for estimation. For example, increasing the magnitudes of the compensations signals can improve estimation convergence. One specific example is when the sequence li,1 and li,2 is selected such that the difference between the two compensation signals li,1 and li,2 is large. For example, the compensation signals li,1 and li,2 can be selected such that their difference is 100% the maximum value of li,1 and li,2, without causing overflow or saturation. Accordingly, li,1 can be chosen to be about 50% of the maximum positive peak value, and li,2 can be chosen to be about 50% of the maximum negative peak value. While generating samples for estimation, the compensation signals li,1 and li,2 (or compensation signals lq,1 and lq,2) can be selected such that their difference is greater than a threshold. In one embodiment, the threshold can be selected as be about 0.0001% of the allowable peak value of the baseband signals it (or qt). In another example, the threshold can be selected to be greater than about 1/32 of the allowable peak value of the baseband signals it, qt. In another, the predetermined threshold can be selected to be greater than about 25% of the allowable peak value the baseband signals it, qt. In another, the predetermined threshold can be selected to be greater than about 50% of the allowable peak value the baseband signals it, qt. In other embodiments, the compensation signals are selected in any applicable manner, with or without thresholds.
The signal preprocessor 122 can also include an averaging filter 310 and an integration filter 312. The averaging filter 310 receives the output rlp of the last decimator of the chain, such as the second decimator 308. The averaging filter 310 can further attenuate the disturbance signal v[n], including the residual baseband signals and noises having zero mean. The integration filter 312 is configured to receive the output rMA of the averaging filter 310. The integration filter 312 can have a leaky integrator transfer function. A leaky integrator is a filter that approximately behaves as an integrator over short periods of time, but is asymptotically stable. The integration filter 312 can be used to build up the signal strength of x over the sampling period.
The signal preprocessor 122 can also include a sampler 314 that receives the output rI of the integration filter 312 and generates samples of x for the offset estimator 124. The sampler 314 can reset the integration filter 312 after each sample. The sampler 314 can select the sample rate based on the MODE signal (described below) from the offset estimator 124.
As stated, the offset estimator 124 is configured to receive the processed signal x and configured to generate offset estimates idc and qdc. The processed signal can have reduced disturbance signal v[n] relative to the model receive signal r[n]. In particular, where the disturbance signal substantially reduced, the processed signal x has the follow expression:
x=[(i*DC+li)+j(q*DC+lq)]ejθ (Equation 6)
As expressed in Equation 6, the processed signal x is a function of the unknown DC offsets, the phase difference θ, and the compensation signals. A plurality of samples x1, . . . , xn can be generated for calculating the unknown DC offsets. For example, the two measurement can be made first by selecting compensation signal lq,1 as the Q-channel compensation signal for a first duration to generate a sample x(lq,1), and then selecting compensation signal lq,2 as the Q channel compensation for a second duration to generate a sample x(lq,2):
x(lq,1)=[(i*DC+li,1)+j(q*DC+lq,1)]ejθ
x(lq,2)=[(i*DC+li,1)+j(q*DC+lq,2)]ejθ (Equation 7)
The DC offset can be solved for algebraically by performing the following manipulations and solving for the DC offsets:
Equations 9 and then 10 can be used calculate the DC offsets because the right-hand sides of Equations 9 and 10 can be known, measurable, or computable. The sign ambiguity of the I-channel offset i*DC can be overcome by, for example, selecting one value and switching values if performance is unsatisfactory. The initial selection can be determined based on past selections.
In one embodiment, three samples of the processed signal x are taken to overcome the sign ambiguity of Equation 10 related to the I-channel offset i*DC. One example selection of the compensation signals for generating samples can be made as follows:
x
1=[(i*DC+li,1)+j(q*DC+lq,1)]ejθ
x
2=[(i*DC+li,1)+j(q*DC+lq,2)]ejθ
x
3=[(i*DC+li,2)+j(q*DC+lq,2)]ejθ (Equation 11)
After generating samples x1, x2, and x3 from the output of the signal preprocessor 122, the DC offsets can be calculated by using Equation 11 and solving for the DC offsets:
In Equation 12, there is no sign ambiguity with respect to either DC offsets. In both Equations 9 and 10, as well as equation 12, the offset estimates idc and qdc can be made based on calculations involving the measured output (for example, the transmit signal or the processed signal x) and the corresponding compensation signals. In some embodiments, considering Equation 12, generating the offset estimate is based at least partly on a first comparison between squared magnitudes of the first and second samples and based at least partly on a second comparison between the first and second values of the corresponding compensation signal.
The offset estimator 124 includes a calibration module 316 and a tracking module 318 for operating in a calibration mode and in a tracking mode. The way in which the offset estimator 124 generates offset estimates can vary depending on the active mode. For example, calibration mode can be entered during an initialization process. Calibration mode can use equations 9 and/or 10 to calculate the offset estimation. In another embodiment, the calibration mode can use Equation 12 to generate the offset estimation.
In tracking mode, the offset estimator 124 can make adjustments to the offset estimates idc and qdc over time. Adjustments can be desirable, for example, for improving the initial estimates generated during a calibration mode. Additionally or alternatively, tracking mode can be used to track variations in the DC offset over time. The DC offset can drift over time due to changing operating conditions (temperature, wear, degradation, etc.).
In tracking mode, the system uses an iterative algorithm involving three or more samples the processed signal generated by the signal preprocessing module 516 and values of the compensation signals li and lq during the corresponding sampling period. For example, three or more measures of the following:
x(lq,n,li,m)=v(lq,n,li,m)+[(iDC+ΔiDC+li,m)+j(qDC+Δqoffset+lq,m)]ej(θ+Δθ) (Equation 13)
In Equation 13, the incremental parameters ΔiDC, ΔqDC, Δθ represent deviations from the offset estimates. In some embodiments, the incremental parameters are unknown and not measurable. These incremental parameters can be non-zero due to inaccuracies in the initial estimation and/or due to time variations in the DC offset. Equation 13 can be approximated as follows:
x(lq,n,li,m)e−jθ=ejθv(lq,n,li,m)+[(i*DC+ΔiDC+li,m)+j(q*DC+Δqoffset+lq,m)](1+jΔθ) (Equation 14)
To simplify notation, the following definition is used herein:
λm+jηm≡dc(Li,m,Lq,m)e−jθ (Equation 15)
In some embodiments, a least-squares based approach can be used to estimate the incremental parameters ΔiDC, ΔqDC, and Δθ. For example, the following cost function can be used:
The cost function of Equation 16 can be solved by using a variety of numerical techniques. For example, a gradient based method follows:
Equation 17 can be iterated a number of times. For example, the offset estimator 124 can iterate computing Equation 17 until c(ΔiDC,ΔqDC,Δθ) is −100 dB relative to full scale (for example, 0.001% of the maximum value of r[n]). The gradients used in Equation 17 can be given by:
In some embodiments, tracking mode can be initiated periodically to maintain acceptable offset compensation. In other embodiments, tracking mode can be initiated by monitoring transmission performance (for example, based on error rates or constellation offsets determined from the model receive signal r[n]).
In one embodiment, the offset estimator can estimate the DC offset during data transmission. For example, the offset estimator 124 can perform tracking mode (for example, governed by Equations 17-20) during data transmission. In one advantage is that data communication and service need not be interrupted.
The offset estimator 124 can provide the signal preprocessor 122 two control signals, the INIT signal and the MODE signal. The INIT signal can be used to set the initial state of the integration filter 312 and the sampler 314. The MODE signal can configure the integration filter 312 and sampler 314 to operate in calibration mode or in tracking mode. The integration filter and sampler can adjust a number of parameters, including sample rate, bandwidth, forgetting factor, order of sampling, and the like
In some embodiments, the offset estimator 124 is configured to select the values of the compensation signals for the offset compensator 126. For example, the offset estimator 124 can select the compensation signals during estimation to ensure proper measurement can be made. Additionally or alternatively, the offset estimator 124 can select the compensation signals upon detection of a successful attempt in estimating the DC offset. In another embodiment, the offset estimator 124 is configured to receive or retrieve values of the compensation signal. The offset estimator 124 can use the values of the compensation signals to calculate offset estimates.
The switching control signals ui and uq open and close the switches 402 and 404. The switching signals ui and uq can be generated by the offset estimator 124 of
Now turning to
The processor 504 includes circuitry, such as a microprocessor or microcontroller, configured to execute instructions from the memory 512 and to control and operate the DAC/ADC 506, the transmitter circuitry 508, the data storage device 510, the memory 512, and the bus 514. In particular, the processor 504 can be a general purpose single- or multi-chip microprocessor (e.g., an ARM), a special purpose microprocessor (e.g., a digital signal processor (DSP)), a microcontroller, a programmable gate array, application specific integrated circuit (ASIC), etc. Although just a single processor is shown in the processor-based system 500, in an alternative configuration, a combination of processors (e.g., an ARM and DSP) could be used.
The DAC/ADC 506 is configured to convert digital signals to analog signals and to convert analog signals to digital signals, as controlled by the processor 504 executing specific instructions from the memory 512. For example, DAC/ADC 506 can convert the analog RF transmit signal to a digital signal for processing by the signal preprocessing module 516 and/or the offset estimator module 518.
The transmitter circuitry 508 includes electronics and hardware for RF transmission, such as upconverter mixers 102, 106 and the downconverter 120 of
The data storage device 510 and the memory 512 include mechanisms configured to store information by chemical, magnetic, electrical, optical, or the like means. For instance, the data storage device 510 and the memory 512 can each be a non-volatile memory device, such as flash memory or a hard-disk drive, or a volatile memory device, such as dynamic-random access memory (DRAM) or static random-access memory (SRAM). In some embodiments, the processor 504 can access the content source by accessing a content-source database of the data storage device 510.
Within the memory 512 is the signal preprocessing module 516 that includes instructions that configure the processor 504 to filter, decimate, average, integrate, and sample the model receive signal r[n]. For example, the signal preprocessing module 516 can contain instructions that implement the signal preprocessor 122 of
The offset estimator module 518, being stored in the memory 512, includes instructions that configure the processor 504 to process the processed signals x of the model receive signal r[n] and the corresponding values of the compensation signal li and lq to generate offset estimates iDC and qDC.
The offset estimator module 518 has a calibration module 522 and a tracking module 524 for providing two modes of estimations. The calibration module can be executed, for example, initially when there are no initial DC offset estimates. The calibration module 522 configures the processor-based system 500 to select two or more compensation signals for each channel of the transmit signal. Each of the selected compensation signals are applied at least for a predetermined period of time and the resulting processed signals are collected. An estimate of the DC offset calibration can be generated, for example, by performing a calculation involving the collected samples and the values of the selected compensation signals. Operating in calibration mode can rapidly provide initial estimates that are sufficiently accurate for RF transmission.
The tracking module 524 configures the processor-based system 500 to operate in a tracking mode for making adjustments to the DC offset estimates idc and qdc over time. Adjustments can be desirable, for example, for improving upon the initial estimates generated during a calibration mode. Additionally or alternatively, tracking mode can be used to track variations in the DC offset over time. The DC offset can drift over time due to changing operating conditions (temperature, electrical wear, degradation, etc.). In the tracking mode, the offset estimator module uses an iterative algorithm involving two or more samples the processed signal generated by the signal preprocessing module 516 and values of the compensation signals l1 and lq during the corresponding sampling period. The values of the compensation signals l1 and lq can be retrieved from the compensator module 520, or retrieved internally from within the offset estimator module 518 if the offset estimator module 518 controls the selection of the compensation signals li and lq. An adjustment calculation is used to update the DC offset estimates, the calculation involving selecting two or more compensation signals for each channel of the transmit signal.
Within the memory 512 is the compensator module 520 that includes instructions that configure the processor 504 to generate the compensation signals li and lq. For example, the instructions of the compensator module 520 can configure the processor 504 to receive DC offset estimates idc and qdc and to generate the compensations signals based on the received estimates (for example, li=−iDC). In one embodiment, the instructions of the compensator module 520 can configure the processor 504 to generate the compensation signals li and lq for improving estimation accuracy (for example, by selecting a large compensation signal while operating in the calibration mode).
In one embodiment during operation, the processor 504 executes instructions from the memory 512 to receive a model receive signal r[n] generated by the DAC/ADC 506. For example, the output r[n] of the downconverter 120 of
After receiving samples of the first signal, the method 600 continues to block 606 for retrieving values of a second signal, wherein the second signal comprises a component in a third signal, wherein the third signal is upconverted, downconverted, and filtered to generate the first signal. For example, the offset estimator 124 of
Once samples of the first signal have been received and the values of the second signal have been retrieved, the method 600 continues to process 608 for generating the offset estimate of a first DC offset induced by an upconverter based at least partly on at least two selected samples of the first signal and corresponding values of the second signal. For example, the offset estimator 124 of
The method 600, as a whole or in any combination of its blocks, can be performed in real-time, in the background, and/or without user interventions, by one or more processors, such as for example the processor-based system 500 of
After the signal preprocessor 122 is configured to operate in CALIBRATION MODE, the process 608 moves to process 708 to generate a DC offset estimate for calibration. The process 708 is described in further detail in connection with
Returning to decision block 704, if the offset estimator 124 is calibrated, then the process 608 proceeds to block 710 to set the operation mode to TRACKING MODE. For example, the offset estimator 124 shown in
After the signal preprocessor 122 is configured to operate in TRACKING MODE, the process 608 moves to process 712 to generate a DC offset estimate for tracking. The process 712 is described in further detail in connection with
After the compensation signals have been selected, the process 708 proceeds to block 806 for receiving a sample of a filtered version of a demodulated transmit signal generated with the corresponding compensation signal. For example, each of the at least two compensation signals are sequentially applied to a transmit channel. The resulting transmit signal is downconverted, preprocessed, and sampled. Further details are discussed below in connection with
At block 808 the process 608 generates an estimate of the DC offset calibration by performing a calculation involving the at least two samples and the at least two different compensation signals. For example, the offset estimator 124 can perform the calculation of Equations 9, 10 and/or 12. After calibration, the process 708 terminates at block 810.
At block 1006 the process 712 generate an estimate of the DC offset adjustment by updating the adjustment based at least on the plurality of samples and corresponding compensation signals. For example, the offset estimator 124 can generate offset estimates according to Equations 17-20. After adjusting or updating the offset estimation, the process 712 proceeds to decision block 1008 to determine whether tracking is complete. If tracking is complete, then the process terminates at block 1010. Otherwise, the process 712 iterates on blocks 1004 and 1006 until tracking is complete. For example, the process 712 can be performed by the offset estimator 124 as described above in connection with Equations 17-20.
Devices employing the above described schemes can be implemented into various electronic devices. Examples of the electronic devices can include, but are not limited to, consumer electronic products, parts of the consumer electronic products, electronic test equipment, etc. Examples of the electronic devices can also include memory chips, memory modules, circuits of optical networks or other communication networks, and disk driver circuits. The consumer electronic products can include, but are not limited to, a mobile phone, base stations, communication modems, a telephone, a television, a computer monitor, a computer, a hand-held computer, a personal digital assistant (PDA), a microwave, a refrigerator, an automobile, a stereo system, a cassette recorder or player, a DVD player, a CD player, a VCR, an MP3 player, a radio, a camcorder, a camera, a digital camera, a portable memory chip, a washer, a dryer, a washer/dryer, a copier, a facsimile machine, a scanner, a multi-functional peripheral device, a wrist watch, a clock, etc. Further, the electronic device can include unfinished products.
Although this invention has been described in terms of certain embodiments, other embodiments that are apparent to those of ordinary skill in the art, including embodiments that do not provide all of the features and advantages set forth herein, are also within the scope of this invention. Moreover, the various embodiments described above can be combined to provide further embodiments. In addition, certain features shown in the context of one embodiment can be incorporated into other embodiments as well. Accordingly, the scope of the present invention is defined only by reference to the appended claims.
The technology is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that can be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, processor-based systems, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
As used herein, instructions refer to computer-implemented steps for processing information in the system. Instructions can be implemented in software, firmware or hardware and include any type of programmed step undertaken by components of the system.
The system is comprised of various modules as discussed in detail. As can be appreciated by one of ordinary skill in the art, each of the modules comprises various sub-routines, procedures, definitional statements, and macros. Each of the modules are typically separately compiled and linked into a single executable program. Therefore, the description of each of the modules is used for convenience to describe the functionality of example systems. Thus, the processes that are undergone by each of the modules can be arbitrarily redistributed to one of the other modules, combined together in a single module, or made available in, for example, a shareable dynamic link library.
The system can be written in any conventional programming language such as C#, C, C++, BASIC, Pascal, or Java, and run under a conventional operating system. C#, C, C++, BASIC, Pascal, Java, and FORTRAN are industry standard programming languages for which many commercial compilers can be used to create executable code. The system can also be written using interpreted languages such as Perl, Python, or Ruby.
Those of skill will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein can be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor can be a microprocessor, but in the alternative, the processor can be any conventional processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
In one or more example embodiments, the functions and methods described can be implemented in hardware, software, or firmware executed on a processor, or any combination thereof. If implemented in software, the functions can be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media include both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage medium can be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. In addition, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
The foregoing description details certain embodiments of the systems, devices, and methods disclosed herein. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the systems, devices, and methods can be practiced in many ways. As is also stated above, it should be noted that the use of particular terminology when describing certain features or aspects of the invention should not be taken to imply that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects of the technology with which that terminology is associated.
It will be appreciated by those skilled in the art that various modifications and changes can be made without departing from the scope of the described technology. Such modifications and changes are intended to fall within the scope of the embodiments. It will also be appreciated by those of skill in the art that parts included in one embodiment are interchangeable with other embodiments; one or more parts from a depicted embodiment can be included with other depicted embodiments in any combination. For example, any of the various components described herein and/or depicted in the Figures can be combined, interchanged, or excluded from other embodiments.
With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations can be expressly set forth herein for sake of clarity.
It will be understood by those within the art that, in general, terms used herein are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims can contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should typically be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should typically be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, typically means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.”
While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting.
Moreover, the foregoing description and claims can refer to elements or features as being “connected” or “coupled” together. As used herein, unless expressly stated otherwise, “connected” means that one element/feature is directly or indirectly connected to another element/feature, and not necessarily mechanically. Likewise, unless expressly stated otherwise, “coupled” means that one element/feature is directly or indirectly coupled to another element/feature, and not necessarily mechanically. Thus, although the various schematics shown in the figures depict example arrangements of elements and components, additional intervening elements, devices, features, or components can be present in an actual embodiment (assuming that the functionality of the depicted circuits is not adversely affected).