This application claims the benefit of U.S. Provisional Application No. 61/141,086, filed on Dec. 29, 2008. The entire teachings of the above application are incorporated herein by reference.
Time-interleaved Analog-to-Digital Converters (TIADC) have received considerable attention in the recent past in applications that require very high sample rates, i.e., sample rates that cannot be provided by a single ADC. In a TIADC system, a fast ADC is obtained by combining slower ADCs operating in parallel. Ideally, the slower ADCs should each have the same offset, the same gain, and the same uniform sample instants. In practice, however, due to fabrication errors, component mismatches, temperature variations, mechanical strain, environmental perturbations, etc., this requirement is difficult to achieve. The resulting errors degrade the performance of the TIADC system significantly, thus making the estimation and correction of these errors imperative to improve performance.
The present invention is a two-channel TIADC wherein offset, gain, and phase errors are estimated and corrected. For offset estimation and correction, an error expression has been developed wherein it is shown that the average offset value of the two ADCs produces a tone at DC while the difference in the offset between the two ADCs produces a tone at the Nyquist frequency. The algorithm is first used to minimize the tone at Nyquist which depends upon the difference in the offset between the two ADCs. This is achieved by making the offset on one of the ADCs equal to that of the other. The tone at DC, however, can be eliminated in a straightforward manner using well-known DC-offset correction techniques.
For gain error estimation and correction, an expression has been developed wherein it is shown that the difference in gain between the two ADCs produces an image tone reflected around the Nyquist frequency. In addition, the input signal itself is scaled by the average value of the gains of the two ADCs. We develop an algorithm that minimizes the difference in the gain values between the two ADCs. The scaling of the input signal due to the average of the gain values on the two ADCs can be corrected using a separate Automatic Gain Control (AGC) loop.
An expression for the phase error has been developed wherein it is shown that the phase error produces an image tone reflected around the Nyquist frequency. This image tone is π/2 out of phase with the tone produced due to the gain error. It is also shown that the amplitude of this tone is commensurate with the amount of phase error. The correlation between the outputs of the two ADCs is indicative of the delay between them, and, consequently, an adaptive algorithm is developed that minimizes the difference in the auto-correlation between two adjacent pairs of time samples.
The adaptive algorithms developed for correcting each error treat each error as independent of the other errors in the two-channel TIADC. Embodiments of the present invention comprise adaptive algorithms based on the signs of the respective errors wherein the input signal to the two-channel TIADC is itself the training signal and the estimation and correction of offset, gain, and phase errors are carried out in the background. In other words, the adaptation can be performed using blind adaptive techniques. The entire adaptation is a mixed-signal process wherein the estimation of the various errors are carried out in the digital domain while the correction is carried out in the analog domain. In embodiments, the estimation information in the digital domain is transferred to an appropriate correction in the analog domain by way of a look-up table (LUT). In the offset adaptation loop, for instance, a certain address to the LUT is calculated based on the offset error and the value corresponding to that address in the LUT is used to drive a digital-to-analog converter (DAC) and/or other appropriate analog circuits in the two-channel TIADC to effect the correction. Alternatively, the address of the LUT can be used to drive the DAC and/or analog circuits. Similar mixed-domain operations for gain and phase errors are carried out.
The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.
A description of example embodiments of the invention follows, beginning with a description of a two-channel time-interleaved analog-to-digital converter (TIADC). Signal processing elements in the TIADC detect and correct (1) offset error, (2) gain error, and (3) sample time error. Mathematical models describing the errors and corresponding detection and correction techniques follow the description of the TIADC.
It should be understood that the signal processing elements described herein may be embodied as discrete analog or digital circuits, as program code executing in a programmable digital processor, a combination of one or more of the same, or in other ways.
A digital signal processor (DSP) 60 monitors and corrects offset, gain, and phase errors in the outputs of the ADCs 20 and 21. Taps 100 and 101 feed the outputs of ADCs 20 and 21, respectively, into the DSP 60, which computes the error and corresponding correction using a bank of look-up tables (LUTs) 30-35 or a bank of digital-to-analog converters (DACs; not shown). In the embodiment shown in
In preferred embodiments, the DSP 60 estimates the errors in the digital domain and corrects the errors in the analog domain using values stored in the LUTs 30-35, which typically include a memory. The digital estimation information can be translated into a corresponding analog correction using the LUTs 30-35 as interfaces between the digital and analog domains. For example, analog circuits and/or DACs (not shown) can be used to correct relative and/or absolute offset error between the ADCs 20 and 21 based on a digital error signal and the corresponding address value stored in OLUTs 30 and 31. GLUTs 32 and 33 and PLUTs 34 and 35 can also store address values for digital error signals. In effect, the LUTs 30-35 perform digital-to-analog conversion by converting the error into an analog setting for the ADCs 20 and 21.
In a preferred embodiment, the adaptive processor 220 determines the sign of the offset error signal using a signum block 282, which returns a −1, 0, or 1 depending on whether the offset error signal is negative, zero, or positive, respectively. Next, the output from the signum block 282 is multiplied with an offset step size μoffsetk to control the value that adds to a bias Noffset/2 to the produce the address for OLUT2 31, as shown in
The resulting product enters a feedback loop implemented with an adder 286 and a delay register 288. A rounding block 290 rounds the output of the feedback loop to form an address step, which may be biased by a bias value Noffset/2 using an adder 292. For example, if OLUT2 31 has 256 address locations that run from 0 to 255, the bias value might be 128, which sets the offset error to the midpoint in the range of OLUT2 31.
The biased address is then fed to OLUT2 31 and an overflow/underflow block 294, which monitors the resultant address and, if necessary, resets the address of OLUT1 30 to keep the address of OLUT2 31 within an acceptable range. Of course, the bias value and range of address locations depend on the particulars of the implementation. Certain implementations may operate at zero bias, eliminating the adder 292.
In a preferred embodiment, the adaptive processor 220 determines the sign of the gain error signal using a signum block 282, the output of which is multiplied with a gain step size μgaink to control the value that adds to a bias Ngain/2 to produce the address for GLUT2 33, as shown in
In some embodiments, the adaptive processor 220 operates according to the algorithm described below. As in the offset and gain correction units 210 and 310 shown in
In a preferred embodiment, the adaptive processor 220 determines the sign of the phase error signal using the signum block 282, the output of which is multiplied with a phase step size μphasek to control the value that adds to a bias Nphase/2 to the produce the address for PLUT2 35, as shown in
Embodiments of the disclosed TIADC may use a single adaptive processor 220 to control all three sets of LUTs 30-35. In these embodiments, the offset, gain, and phase error correction are applied to the ADCs 20 and 21 in a sequential fashion (e.g., first correct the offset error, then the gain error, then the phase error, and repeat). Because all three correction units share a common adaptive processor 220, the resulting TIADC is smaller, lighter, more efficient, and simpler to manufacture than a TIADC with separate offset, gain, and phase correction units. Moreover, in other embodiments where performance is more important than size or cost, each adaptive processor 220 may be implemented with dedicated hardware or programmable processors.
Charge packets are transferred into and out of the first pipeline stage 501 with a charge-transfer circuit 505 on alternating half-cycles of a clock signal CLK, causing the voltage at node 520 to change according to the size of the transferred charge packet. A comparator 530 compares the resulting voltage at node 520 to a reference voltage VRC. A latch 522 latches the output from the comparator 530 once per clock cycle to produce a digital output VB1. A charge-redistribution driver 513 receives VB1 and outputs a charge-redistribution voltage signal VQR which to stage 502. The transition in VQR causes a corresponding change in the voltage at one node of a comparator in stage 502, meaning that the comparison result of stage 501 governs charge-redistribution in subsequent stage 502.
Outputs from the offset, gain, and phase correction units 210, 310, and 410 can be used to control various components of the pipeline stages. For example, an offset control signal 531 from an OLUT, such as OLUTs 30 and 31 in
The offset, gain, and phase correction signals can be connected to some or all of the stages in a charge-domain pipeline ADC. In addition, different correction signals can be applied to different stages for finer control in correcting errors. Those skilled in the art will appreciate that the offset, gain, and phase correction signals can be connected in a similar fashion to any suitable ADC, including charge-domain pipeline ADCs.
Offset Error
In this section, we consider a two-channel TIADC 10 operating according to the present invention provides for the estimation and correction of offset error only. To see how offset error is corrected, we assume an input signal of x(t)=cos(ωot+φ), where ωo is an arbitrary frequency and φ is an arbitrary phase of the input signal 12. The output 14 of the two-channel TIADC 10 is given by
where V1 and V2 are the offset values of ADC1 20 and ADC2 21, respectively, n is the sample number, and T is the sample period of the two-channel TIADC 10. Combining the output at even and odd time instants, we get
where
denote the average and difference in the offsets between two ADCs 20 and 21. Eqn. (2) can be written as
y(n)=cos(ωonT+φ)+Vs+cos(ωsnT/2)Vd (4)
where ωs=2π/T is the sampling frequency and (−1)n=cos (ωsnT/2). It is clear from Eqn. (4) that the average offset between the two ADCs 20 and 21 creates a DC term while the difference in offsets creates a tone at the Nyquist frequency. In embodiments, the aim is to minimize the magnitude of the latter tone, i.e., the tone at the Nyquist frequency. As will be understood, it is fairly straightforward to minimize the average offset value once the difference in offset values is eliminated or minimized (e.g., by linearly shifting the relative offset between the ADCs 20 and 21 using the OLUTs 30 and 31).
In order to minimize the magnitude of the tone at the Nyquist frequency, we need to obtain the information of the signal at this frequency. Towards this end, let y1(n) and y2(n) correspond to the outputs from the ADC1 20 and ADC2 21, respectively. The N-point DFT of y(n) corresponding to ωs/2 is given by
where
From Equation 6, it is evident that by making eoffset≈0, we can minimize the magnitude of the tone at the Nyquist frequency. The calculation of eoffset corresponds to taking the difference of the mean or, alternatively, the mean of the difference of the outputs from the two ADCs 20 and 21 over N samples. The larger the value of N, the more accurate the estimate. The number of samples can be varied depending on the processor and the application: two-way communication (e.g., communication over an Ethernet connection) typically requires fast convergence, or smaller values of N. For example, when N=1, every sample undergoes a correction. One-way communication, as in cable modems, does not require such fast convergence and can be accomplished with more samples (i.e., larger values of N).
The OLUTs 30 and 31, each of size Noffset, include entries that can be used to directly or indirectly control the offset in each of the ADCs 20, 21. Since we are dealing with the estimation and correction as a mixed-domain process, there is no loss of generality if the OLUTs 30, 31 act as interfaces between the analog and digital domains. The addresses of the OLUTs 30 and 31 are evaluated using an adaptive algorithm, such as the one described below, in the digital domain while the outputs of the OLUTs 30 and 31 directly or indirectly provide the corresponding offset correction in the analog domain. To illustrate, let the maximum difference in offsets between the two ADCs be ±X0 least significant bits (LSBs). In a typical 12-bit TIADC, the maximum tolerable difference in offsets will be about 60 LSBs, or about 3% of the total bit width. The entries of the OLUTs 30 and 31 are designed to cover this range using a linear, logarithmic, or any other distribution depending upon the analog circuitry. For a linear distribution, an entry in the OLUTs 30 and 31 differs from the next entry by 2Xo/Noffset LSBs. In a preferred embodiment, the entries in the OLUTs 30 and 31 are distributed linearly near the zero-error point and logarithmically near the edges of the distribution.
Referring again to the two-channel TIADC 10 shown in
As an example,
Algorithm for Offset Error Correction
Assuming a linear distribution of values in the OLUTs 30 and 31, the DSP 60 sets the address of OLUT1 30 to Noffset/2. Let OLUT2k denote the address of OLUT2 31 at the kth iteration. Let μ1k denote a variable at the kth iteration and let μoffsetk denote a step size for the adaptive algorithm at the kth iteration. Here, we assume that
μoffsetk∈[∥offsetmin, μoffsetmax] (7)
where μoffsetmin and μoffsetmax are the minimum and maximum values, respectively, of μoffsetk. The adaptive algorithm for correcting the offset error can now be written as
where μ11=0, μoffset1=μoffsetmax and k1 is any arbitrary positive number. As can be seen from Equation 8, μ1k provides the update of the address of OLUT2 31 based on the sign of eoffset. At convergence, OLUT2k indicates the optimal address of OLUT2 31 that produces the minimum absolute value of eoffset. For the example quoted earlier,
We now explain the operation of the adaptive algorithm using a set of parameters. Towards this end, we choose μoffsetmax=64, μoffsetmin=1, and k1=1. The address of the OLUT1 is set to 128 and μoffset1=64. In the first iteration, based on the sign of eoffset, μ12 is obtained.
It is not necessary to fix the address of OLUT1 30 at Noffset/2. If, during an iteration k in the adaptation process for offset correction, the address of OLUT2 31 exceeds the boundaries [N10,N20], where N10≧1 and N20≧Noffset, for example, the address of OLUT1 30 can be appropriately changed and the adaptation restarted.
Gain Error
In this section, we consider a two-channel TIADC 10 with gain error only. Again, assuming an input signal 12 of x(t)=cos(ω0t+φ), the output 14 of the two-channel TIADC 10 is given by
where G1 and G2 are the gains provided by ADC1 20 and ADC2 21, respectively. Combining the output 14 at even and odd time instants, we get
where
Again, using
Eqn. (10) can be re-written as
Equation 12 shows that the gain mismatch produces an image tone reflected around ωs/2 and that the amplitude of the image tone is proportional to the difference in gain values between the two ADCs 20 and 21. It can also be seen that the input signal is scaled by the average value of the gains of the two ADCs 20 and 21. This need not be a concern since an Automatic Gain Control (AGC) loop is usually employed to correct for such errors.
The minimization of the difference in gain values between the two ADCs 20 and 21 can be accomplished by minimizing the difference in the power of the signals on the two ADCs 20 and 21. Towards this end, a gain error function can be formulated as
It can be noted from the above equation that egain can be made approximately equal to zero provided a variable kgain can be found such that
As shown in
Just as in the case of offset estimation and correction, we assume that address of GLUT1 32 is such that the output from it is unity. As an example we assume a linear distribution of values in the GLUTs 32 and 33, where the size of each GLUT 32 and 33 is Ngain.
Algorithm for Gain Error Correction
Assuming a linear distribution in the GLUTs, the DSP 60 sets the address of GLUT1 32 to Ngain/2. Let GLUT2k denote the location of GLUT2 33 at the kth iteration. Let μ2k denote a variable at the kth iteration, and let μgaink denote a step size for the adaptive algorithm at the kth iteration. Here, we assume
μgaink∈[μgainminμgainmax] (15)
where μgainmin and μgainmax are the minimum and maximum values, respectively, of μgaink. The adaptive algorithm for correcting the gain error can be written as
where μ21=0, μgain1=μgainmax and k2 is any arbitrary positive number. As can be seen from the above adaptive algorithm, μ2k provides the update of the address of GLUT2 33 based on the sign of egain. At convergence, GLUT2k indicates the optimal address of GLUT2 33 that produces the minimum absolute value of egain. For the example quoted earlier,
It must be noted that it is not necessary to fix the address of GLUT1 32 at Ngain/2. If during an iteration k in the adaptation for gain correction, the address of GLUT2 32 exceeds the boundaries [N1g,N2g], where N1g≧1 and N2g≦Ngain, for example, the address of GLUT1 32 can be appropriately changed and the adaptation restarted.
Phase Error
In this section, we consider the two-channel TIADC 10 with phase error only. Again, assuming an input signal 12 of x(t)=cos(ωot+φ), the output 14 of the two-channel TIADC 10 is given by
Here it is assumed that ADC1 20 samples at time instants 2nT while ADC2 21 samples at time instants (2n+1)T+Δt. Consequently, Δt is the sample-time error. The above equation can be rewritten as
It can be seen that cos[(−1)n ω0Δt/2]=cos[ωoΔt/2] Since the sine function is an odd function, with (−1)n=cos(nπ), we get sin[(−1)n ωoΔt/2]=cos(nπ)sin[ωoΔt/2]. Using sin(a)cos (nπ)=sin(a−nπ) and nπ=ωsnT/2, the above equation can be written as
Assuming that Δt is small compared to 1/ωo, cos(ωoΔt/2)≈1 and sin(ωoΔt/2)≈ωoΔt/2. Consequently,
We can now see from the above equation that the phase error produces an image tone with an amplitude proportional to the phase error Δt. It is interesting to note that the image tone is π/2 out of phase with the tone produced due to gain error.
As is well known, a correlation between two sequences provides information about the time delay between them. Towards this end, we now define a phase error given by
An alternative expression for the phrase error given by
also provides information about the phase error between the two ADCs 20, 21.
As in the offset and gain correction presented above, the DSP 60 use PLUTs 34 and 35, each of size Nphase, to directly or indirectly control the phase of the clock signal 45 to each of the ADCs 20, 21. The addresses of the PLUTs 34, 35 are evaluated using an adaptive algorithm in the digital domain while the outputs of the PLUTs 34, 35 directly or indirectly provide the corresponding delay in the clock signal 45 used to control the ADCs 20, 21. Let the maximum phase delay between the two ADCs 20, 21 be±Xp units, where the entries of the PLUT 34, 35 are designed to cover this range. In a preferred embodiment, the maximum phase delay is about 0.3% of the period, or a time delay of ±5.75 ps for a sample frequency of 500 MHz (i.e., a sample period of 2 ns). The units for ±Xp may be in seconds, radians, or fractions of the sample frequency and the entries of the PLUTs 34, 35 can follow linear, logarithmic or any other distribution depending upon the analog circuitry effecting the correction.
Again, the DSP 60 sets the address of PLUT1 34 such that the output from PLUT1 34 is zero. In other words, there is no correction performed on ADC1 20. One embodiment employs a linear distribution of values in the PLUTs 34, 35, where the size of each PLUT 34, 35 be Nphase. As an example
Algorithm for Phase Error Correction
Assuming a linear distribution in the PLUTs 34 and 35, the DSP 60 sets the address of PLUT1 34 to Nphase/2. Let PLUT2k denote the address of PLUT2 35 at the kth iteration. Let μ3k denote a variable at the kth iteration, and let μphasek denote a step size for the adaptive algorithm at the kth iteration. Here, we assume
μphasek∈[μphasemin,μphasemax] (23)
where μphasemin and μphasemax are the minimum and maximum values, respectively, of μphasek. The adaptive algorithm for correcting the phase error can be written as
where μ31=0, μphase1=μphasemax and k3 is any arbitrary positive number. As can be seen from the above adaptive algorithm, μ3k provides the update of the address of PLUT2 35 based on the sign of ephase. At convergence, PLUT2k indicates the optimal address of PLUT2 35 that produces the minimum absolute value of ephase.
It must be noted that it is not necessary to fix the address of PLUT1 34 at Nphase/2. If, during an iteration k in the adaptation for phase correction, the address of PLUT2 35 exceeds the boundaries [N1p,N2p], where N1p≧1 and N2p≦Nphase, for example, the address of PLUT1 34 can be appropriately changed and the adaptation restarted.
It must be also mentioned that Eqn. (22) is valid for all odd Nyquist zones. For even Nyquist zones, the sign of the phase error is the negative of the phase error given in Eqn. (22). In other words, for even Nyquist zones, the phase error becomes
Offset, Gain, and Phase Error Correction for Wideband Signals
So far we have dealt with the input signal comprising of a single tone. We will now look at the offset, gain, and phase error when the signal is wideband.
Again, for a linear distribution of values in GLUT2 33 with Ngain=256,
Again, for a linear distribution of values in PLUT2 with Nphase=256,
In many applications, long convergence time may not be acceptable. As seen above, the adaptive algorithm for offset correction can be made to converge within the first 7-8 iterations using a binary search. However, for a wideband input, the errors for gain and phase are nonlinear and hence in order to expedite the convergence, we propose a two-step algorithm wherein the neighborhood of the optimal address of GLUT2 33 or PLUT2 35 is obtained in the first step. The second step is the adaptive algorithm mentioned earlier where a small value for μgain k or μphasek is used.
As can be seen from
where a and b are constants and eerr(k) represents the error value for an address location X(k). It must be recalled that eerr(k) is obtained using Eqn. (13) or Eqn. (22). It can be noted from Equation 26 that Y(k)=a+bX(k) provides a straight line fit to the variation of eerr(k), provided the constants a and b are known. Equating the derivative of R, with respect to the constants a and b, to zero, we get
By solving the above two equations we get
The neighborhood of the optimal point can be obtained by equating y(k)=0. Therefore
where Int(x) represents the integer part of x. There is no need to calculate Σk=1N
In applications where the single-step algorithm is preferred (i.e., applications where slow convergence times are acceptable), we can obtain the initial estimate with a calibration signal that comprises of a single tone input to the two-channel TIADC 10. The algorithm mentioned in this document can be used to obtain convergence. After the convergence with a single tone is obtained, the actual input can be introduced. With an appropriately chosen μgainmin and μgainmax for gain or μphasemin and μphasemax for phase, the adaptive algorithm can be restarted.
While this invention has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
6292121 | Cake et al. | Sep 2001 | B1 |
7336729 | Agazzi | Feb 2008 | B2 |
7501967 | Draxelmayr et al. | Mar 2009 | B2 |
7551114 | Joy et al. | Jun 2009 | B2 |
7693214 | Shida | Apr 2010 | B2 |
Number | Date | Country |
---|---|---|
WO 2006083199 | Aug 2006 | WO |
WO 2006083199 | Aug 2006 | WO |
Entry |
---|
Goodman, J., et al., “Polyphase Nonlinear Equalization of Timer-Interleaved Analog-to-Digital Converters,” IEEE Journal of Selected Topics in Signal Processing 3(3):362-373 (2009). |
Jamal, S.M., et al., “Calibration of Sample-Time Error in a Two-Channel Time-Interleaved Analog-to-Digital Converter,” pp. 1-29 (2003). |
Khoini-Poorfard, R., et al., “Time-Interleaved Oversampling A/D Converters: Theory and Practice,” IEEE Transactions and Circuits and Systems—II: Analog and Digital Signal Processing 44(8):634-645 (1997). |
Takashi, O., et al., “Novel Sampling Timing Background Calibration for Time-Interleaved A/D Converters,” MWSCAS: 361-364 (2009). |
ADSP-21000 Family Application Handbook vol. 1, Analog Devices, Inc., 1994, 333 pages. |
Texas Instruments “TMS320VC5420 Fixed-Point Digital Signal Processor” SPRSO8OF—Mar. 1999—Revised Oct. 2008, 82 pages. |
M. Seo, M. J. W. Rodwell and U. Madhow, “A low computation adaptive technique for blind correction of mismatch errors in multichannel time-interleaved ADCs”, IEEE international Midwest Symposium on Circuits and Systems, pp. 292-296, Sep. 2006 (Day not available). |
M. Seo and M. Rodwell, “Generalized Blind Mismatch Correction for a two-channel Time-interleaved ADC: Analytic Approach”, IEEE Transactions on Circuits and Systems, 2007, pp. 109-112, May 27-30, 2007. |
J. Elbornsson, F. Gustaffson and J. E. Eklund, “Blind Adaptive Equalization of Mismatch Errors in a time-interleaved A/D Converter System”, IEEE Transactions on Circuits and Systems-1:, vol. 51, No. 1, pp. 151-158, Jan. 2004 (Day not available). |
J. Elbornsson, F. Gustaffson and J. E. Eklund, “Blind Equalization of Time Errors in a Time-Interleaved ADC System”, IEEE Transactions on Signal Processing, vol. 53, No. 4, pp. 1413-1424, Apr. 2005 (Day not available). |
D. Camarero, Jean-Francois Naviner and P. Loumeau, “Digital background and blind calibration for clock skew error in time-interleaved analog-go-digital converters”, SBCCI, Pernambuco, Brazil, pp. 228-232, Sep. 7-11, 2004. |
B. P. Ginsburg and A. P. Chandrakasan, “Dual Scalable 500MS/s, 5b Time-Interleaved SAR ADCs for UWB Applications”, Department of Electrical Engineering and Computer Science, Masschusetts Institute of Technology, Cambridge, MA 02139, USA (Date not available). |
M. Looney, “Advanced Digital Post-Processing Techniques Enhance Performance in Time-Interleaved ADC Systems”, (Date not available). |
“Multiply Your Sampling Rate with Time-Interleaved Data Converters”, Application Note 989, [online] http://www/maxim-ic.com/an989, Mar. 1, 2001. |
Number | Date | Country | |
---|---|---|---|
61141086 | Dec 2008 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12419599 | Apr 2009 | US |
Child | 13683118 | US |