Envelope tracking RF transmitter calibration
09794006 · 2017-10-17
Assignee
Inventors
Cpc classification
H03F2200/111
ELECTRICITY
H03F2200/102
ELECTRICITY
International classification
H03F1/02
ELECTRICITY
H03F1/32
ELECTRICITY
Abstract
An envelope tracking RF transmitter calibration procedure calculates both a supply voltage to apply to a power amplifier for a modulated signal envelope to achieve ISO-gain, and a timing delay adjustment to time-align the applied supply voltage and the modulated signal to minimize distortion due to time delay error. An ISO-gain surface is calculated, as a function of the envelope of a modulated signal and the power amplifier supply voltage, for each of a plurality of desired gain values. As the envelope is swept through a predetermined range of values, demodulated outputs at predetermined points are sampled, and a set of non-linear functions relating the supply voltage to the envelope, which achieve the desired gain at the sampled points, are derived, using surface interpolation between the predetermined gain surface points. Data defining the functions are stored for use during transmitter operation. Distortion components in the transmitter output are detected, and are separated into even components representing time delay error distortion, and odd components representing transmitter saturation distortion. A timing delay value is calculated that minimizes the time delay error distortion.
Claims
1. A method of estimating a gain of a transmitter in a wireless communication terminal, the transmitter including an upconverter receiving an input signal, a power amplifier receiving a variable supply voltage and operative to amplify an upconverter output, and a downconverter operative to downconvert a power amplifier output, the method comprising: applying as the input signal to the upconverter a time repetitive signal u.sub.mod(t) having a repetition period T and for which an envelope of the input signal |u.sub.mod(t)| includes all relevant values within a predetermined range and is a slowly time-varying signal; applying to the power amplifier the variable supply voltage V.sub.PA that is a function of the envelope of the input signal |u.sub.mod(t)|, wherein the function relating the envelope of the input signal |u.sub.mod(t)| to the variable supply voltage V.sub.PA is determined by: sampling the downconverter output U.sub.out.sub._.sub.demod(t) m times for each repetition period T, where m is an integer; for each sampled downconverter output U.sub.out.sub._.sub.demod-j, time and phase aligning the sampled downconverter output U.sub.out.sub._.sub.demod-j with the input signal u.sub.mod-j to generate an aligned output U′.sub.out.sub._.sub.demod-j, where j=0 . . . m−1, wherein u.sub.mod-j is the j.sup.th sampled point of the input signal u.sub.mod(t); and repeating said sampling and said time and phase aligning over k repetition periods, where k is an integer, and wherein in each repetition i where i=0 . . . k−1, the variable supply voltage V.sub.PA-i has known values as a function f.sub.i of the envelope of the input signal |u.sub.mod(t)|, using a different function f.sub.i for each repetition; estimating a gain at each sample point |G.sub.i,j| as a function of the envelope of the time aligned output signal |U.sub.out.sub._.sub.demod-i,j′| and the envelope of the input signal |u.sub.mod-j|; and calculating a function f where V.sub.PA=ƒ(|u.sub.mod|) yields a desired transmitter gain of |G.sub.0| using the gain estimation samples |G.sub.i,j|.
2. The method of claim 1 wherein the input signal u.sub.mod(t) selected as
3. The method of claim 1 further comprising: calculating a nominal gain G.sub.nominal as a root of average nominal output power over one modulation cycle divided by a root of average modulation power over one modulation cycle; and calculating a scaled gain G′ by scaling the estimated gain to the nominal gain according to
4. The method of claim 1 wherein the downconverter output is related to the input signal and the gain as U.sub.out.sub._.sub.demod=u.sub.mod(t).Math.e.sup.j((ω.sup.
5. The method of claim 1 wherein sampling an integer number of samples of the downconverter output U.sub.out.sub._.sub.demod comprises sampling over a plurality of consecutive repetition periods of the input signal.
6. The method of claim 1 further comprising averaging all samples into one or more repetitive periods.
7. The method of claim 4 further comprising, if ω.sub.0≠ω.sub.0′: estimating a frequency difference ω.sub.0−ω.sub.0′; and rotating the samples to compensate for the frequency difference prior to aligning the U.sub.out.sub._.sub.demod with the u.sub.mod.
8. The method of claim 7 wherein estimating the frequency difference comprises: averaging, over a number of sample pairs, a calculation U.sub.out.sub._.sub.demod(t).Math.U*.sub.out.sub._.sub.demod(t+nT) where U*.sub.out.sub._.sub.demod denotes the conjugate of the U.sub.out.sub._.sub.demod and nT denotes a duration corresponding to n repetitive cycles; and calculating the frequency difference as a phase of a complex value given by the averaging, divided by the time nT.
9. The method of claim 8 further comprising rotating the samples by the frequency difference to remove an unwanted rotation of the U.sub.out.sub._.sub.demod.
10. The method of claim 1 further comprising: repeating the steps of claim 1 k times, where k is an integer and wherein for each repetition i where i=0 . . . k−1, V.sub.PA(i) has a known value as a function of an absolute value of the input signal |u.sub.mod|, wherein the function is different for each repetition i; calculating a gain estimation in each repetition i as
11. The method of claim 10 wherein the functions f.sub.i relating the |.sub.mod| to the V.sub.PA are selected such that every function has at least one crossing point with at least one other function.
12. The method of claim 11 further comprising: generating a frequency corrected, averaged, time and phase aligned downconverter output U.sub.out.sub._.sub.demod″ by aligning an unknown phase rotation φ, having different values in each measurement of the U.sub.out.sub._.sub.demod′, in the crossing points; and calculating a complex gain surface as
13. The method of claim 1 wherein a number of the gain estimation samples |G.sub.i,j| over the gain surface is an integer value km.
14. The method of claim 1 wherein the input signal u.sub.mod and the functions f are selected to cover an uncertainty region of the transmitter gain.
15. The method of claim 1 wherein the function f for V.sub.PA=ƒ(|u.sub.mod|) yielding a desired transmitter gain of |G.sub.0| for all relevant input signals u.sub.mod is calculated using surface interpolation between the gain estimation samples |G.sub.i,j|.
16. The method of claim 15 further comprising at each modulation value j, performing a first one-dimensional interpolation to calculate a supply voltage value V.sub.PA′ yielding the desired gain |G.sub.0| from among the k gain estimations
17. The method of claim 16 wherein the first one-dimensional interpolation is performed by identifying a sampling point closest to the desired gain |G.sub.0|; the second one-dimensional interpolation is performed by identifying a sampling point closest to the selected input signal u.sub.mod; for each interpolation, an integer number of samples on each side of the closest points is used as input; and statistical behavior of the gain surface is used to determine integer values and interpolation type.
18. The method of claim 17 wherein the interpolation type is linear.
19. The method of claim 17 wherein the interpolation type is cubic spline.
20. The method of claim 1 wherein the function f where V.sub.PA=ƒ(|u.sub.mod|) yielding a desired transmitter gain |G.sub.0| is calculated for a plurality of |u.sub.mod| points and stored in a Look Up Table for use during operation of the transmitter.
21. The method of claim 11 wherein the time repetitive input signal u.sub.mod(t) has a frequency sufficiently high to identify time delay errors; selecting one of the functions f.sub.i relating the |u.sub.mod(t)| to the V.sub.PA to set the gain |G|≈G.sub.0 for all relevant levels of time invariant |u.sub.mod|, where G.sub.0 is a desired gain value; and further comprising calculating from the aligned output U.sub.out.sub._.sub.demod′ a first distortion component u.sub.saturation.sub._.sub.distortion resulting from an inability of the selected function to adequately control the gain, and a second distortion component u.sub.delay.sub._.sub.distortion resulting from a time error τ in the selected function, where V.sub.PA=ƒ(|u.sub.mod(t+τ)|).
22. The method of claim 21 further comprising: dividing U.sub.out.sub._.sub.demod′ into an odd component u.sub.odd, where u.sub.odd(t)=−u.sub.odd(−t), and an even component u.sub.even, where u.sub.even(t)=u.sub.even(−t), such that U.sub.out.sub._.sub.demod′(t)=u.sub.odd(t)+u.sub.even(t); selecting u.sub.mod(t) as a pure even function; calculating u.sub.saturation.sub._.sub.distortion as the even part of U.sub.out.sub._.sub.demod′−G.sub.0u.sub.mod; and calculating u.sub.delay.sub._.sub.distortion as the even part of U.sub.out.sub._.sub.demod′−G.sub.0*u.sub.mod, where G.sub.0* is the conjugate of G.sub.0.
23. The method of claim 22 further comprising calculating a time delay error τ from the relationship
24. The method of claim 23 further comprising, prior to sampling U.sub.out.sub._.sub.demod: pre-calculating
25. The method of claim 23 further comprising: inserting a positive or negative time delay t.sub.delay into the input signal, u.sub.mod(t+t.sub.delay), prior to applying the input to the upconverter; adjusting the value of t.sub.delay and calculating the resulting time delay error τ; and iteratively repeating the adjusting and calculating steps until the delay error τ is below a predetermined threshold; and storing the final value of t.sub.delay for use by the transmitter during operation.
26. The method of claim 25 further comprising: for each of M repetitions, where M is an integer, set the time delay t.sub.delay to a different value, the range of values over the M repetitions covering an uncertainty region of time delay error; and calculate a time delay error τ, using a set of time delay errors, estimate a function f where τ=ƒ(t.sub.delay); use the function f to calculate a time delay t.sub.delay value minimizing the corresponding time delay error τ; and store that time delay t.sub.delay value for use by the transmitter during operation.
27. The method of claim 26 wherein estimating a function f where τ=ƒ(t.sub.delay) comprises performing a suitable polynomial regression using a least squares method.
28. The method of claim 25 further comprising: for each of M repetitions, where M is an integer, set the time delay t.sub.delay to a different value, the range of values over the M repetitions covering an uncertainty region of time delay error; and calculate a time delay error τ, using a set of time delay errors, estimate a function f where time delay distortion u.sub.delay.sub._.sub.distortion=ƒ(t.sub.delay); use the function f to calculate a time delay t.sub.delay value minimizing the corresponding time delay distortion; and store that time delay t.sub.delay value for use by the transmitter during operation.
29. The method of claim 28 wherein estimating a function f where u.sub.delay.sub._.sub.distortion=ƒ(t.sub.delay) comprises performing a suitable polynomial regression using a least squares method.
30. The method of claim 1, further comprising: estimating a time delay t.sub.delay as a function of the input signal u.sub.mod and the aligned output U.sub.out.sub._.sub.demod′, wherein the input signal is delayed by the time delay t.sub.delay prior to applying the input signal to the upconverter.
31. The method of claim 1, wherein said time and phase aligning the sampled downconverter output U.sub.out.sub._.sub.demod is relative to the input signal u.sub.mod.
32. A transmitter operative in a wireless communication terminal, comprising: an upconverter operative to receive an input signal; a power amplifier receiving a variable supply voltage and operative to amplify an upconverter output; and a downconverter operative to downconvert a power amplifier output; and a baseband processor operative to receive the downconverter output; wherein the input signal to the upconverter is a time repetitive signal u.sub.mod(t) having a repetition period T and for which an envelope of the input signal |u.sub.mod(t)| includes all relevant values within a predetermined range and is a slowly time-varying signal; a variable supply voltage V.sub.PA applied to the power amplifier is a function of the envelope of the input signal |u.sub.mod(t)|; an integer number of samples of the downconverter output U.sub.out.sub._.sub.demod(t) are sampled; and wherein the baseband processor is further operative to: sample the downconverter output U.sub.out.sub._.sub.demod(t) m times for each repetition period T, where m is an integer; for each sampled downconverter output U.sub.out.sub._.sub.demod-j, time and phase align the sampled downconverter output U.sub.out.sub._.sub.demod-j with the input signal u.sub.mod-j to generate an aligned output U′.sub.out.sub._.sub.demod-j, where j=0 . . . m−1, wherein U.sub.mod-j is the j.sup.th sampled point of the input signal u.sub.mod(t); and repeat said sampling and said time and phase aligning over k repetition periods, where k is an integer, and wherein in each repetition i where =0 . . . k−1, the variable supply voltage V.sub.PA-i has known values as a function f.sub.i of the envelope of the input signal |u.sub.mod(t)|, using a different function f.sub.i for each repetition; estimate a gain at each sample point |G.sub.i,j| as a function of the envelope of the time aligned output signal |U.sub.out.sub._.sub.demod-i,j′| and the envelope of the input signal |u.sub.mod-j|; and calculate a function f where V.sub.PA=ƒ(|u.sub.mod|) yields a desired transmitter gain of |G.sub.0| using the gain estimation samples |G.sub.i,j|.
33. The transmitter of claim 32 wherein the baseband processor is operative to: repeat the steps of claim 32 k times, where k is an integer and wherein for each repetition i where i=0 . . . k−1, V.sub.PA(i) has a known value as a function of an absolute value of the input signal |u.sub.mod|, wherein the function is different for each repetition i; calculate a gain estimation in each repetition i as
34. The transmitter of claim 33 wherein functions f.sub.i relating |u.sub.mod| to V.sub.PA are selected such that every function has at least one crossing point with at least one other function.
35. The transmitter of claim 34 wherein the time repetitive input signal u.sub.mod(t) has a frequency sufficiently high to identify time delay errors; the function relating |u.sub.mod(t)| to V.sub.PA is selected to set the gain |G|≈G.sub.0 for all relevant levels of time invariant |u.sub.mod|, where G.sub.0 is a desired gain value; and wherein the baseband processor is further operative to calculate from the aligned output U.sub.out.sub._.sub.demod′ a first distortion component u.sub.saturation.sub._.sub.distortion resulting from an inability of the function to adequately control the gain, and a second distortion component u.sub.delay.sub._.sub.distortion resulting from a time error τ in the function, where V.sub.PA=ƒ(|u.sub.mod(t+τ)|).
36. The transmitter of claim 35 wherein the baseband processor is further operative to: divide U.sub.out.sub._.sub.demod′ into an odd component u.sub.odd, where u.sub.odd(t)=−.sub.odd(−t), and an even component u.sub.even, where u.sub.even(t)=u.sub.even(−t), such that U.sub.out.sub._.sub.demod′(t)=u.sub.odd(t)+u.sub.even(t); select u.sub.mod(t) as a pure even function; calculate u.sub.saturation.sub._.sub.distortion as the even part of U.sub.out.sub._.sub.demod′−G.sub.0u.sub.mod; and calculate u.sub.delay.sub._.sub.distortion as the even part of U.sub.out.sub._.sub.demod′−G.sub.0*u.sub.mod.
37. The transmitter of claim 36 wherein the baseband processor is further operative to calculate a time delay error τ from the relationship
38. The transmitter of claim 37 wherein the baseband processor is further operative to: insert a positive or negative time delay t.sub.delay into the-input signal, u.sub.mod(t+t.sub.delay), prior to applying the input to the upconverter; adjust the value of t.sub.delay and calculate the resulting time delay error τ; and iteratively repeat the adjusting and calculating steps until the delay error τ is below a predetermined threshold; and store the final value of t.sub.delay for use by the transmitter during operation.
39. A non-transitory computer readable medium having stored thereon instructions operative to cause a processing circuit in a User Equipment featuring a transmitter including an upconverter receiving an input signal, a power amplifier receiving a variable supply voltage and operative to amplify the upconverter output, and a downconverter operative to demodulate the amplifier output, to perform the steps of: applying as the input signal to the upconverter a time repetitive signal u.sub.mod(t) having a repetition period T and for which an envelope of the input signal |u.sub.mod(t)| includes all relevant values within a predetermined range and is a slowly time-varying signal; applying to the power amplifier a variable supply voltage V.sub.PA that is a function of the envelope of the input signal |u.sub.mod(t)|, wherein the function relating the envelope of the input signal |u.sub.mod(t)| to the variable supply voltage V.sub.PA is determined by: sampling the downconverter output U.sub.out.sub._.sub.demod(t) m times for each repetition period T, where m is an integer; for each sampled downconverter output U.sub.out.sub._.sub.demod-j, time and phase aligning the sampled downconverter output U.sub.out.sub._.sub.demod-j with the input signal u.sub.mod-j to generate an aligned output U′.sub.out.sub._.sub.demod-j, where j=0 . . . m−1, wherein u.sub.mod-j is the j.sup.th sampled point of the input signal u.sub.mod(t); and repeating said sampling and said time and phase aligning over k repetition periods, where k is an integer, and wherein in each repetition i where i=0 . . . k−1, the variable supply voltage V.sub.PA-i has known values as a function f.sub.i of the envelope of the input signal |u.sub.mod(t)|, using a different function f.sub.i for each repetition; estimating a gain at each sample point |G.sub.i,j| as a function of the envelope of the time aligned output signal |U.sub.out.sub._.sub.demod-i,j′| and the envelope of the input signal |u.sub.mod-j|; and calculating a function f where V.sub.PA=ƒ(|u.sub.mod|) yields a desired transmitter gain of |G.sub.0| using the gain estimation samples |G.sub.i,j|.
40. The computer readable medium of claim 39 wherein the instructions are further operative to cause the processing circuit to perform the steps of: calculating the gain estimation in each calculation as
41. The computer readable medium of claim 40 wherein functions f.sub.i relating |u.sub.mod| to V.sub.PA are selected such that every function has at least one crossing point with at least one other function.
42. The computer readable medium of claim 41 wherein the time repetitive input signal u.sub.mod(t) has a frequency sufficiently high to identify time delay errors; the function relating |u.sub.mod(t)| to V.sub.PA is selected to set the gain |G|≈G.sub.0 for all relevant levels of time invariant |u.sub.mod|, where G.sub.0 is a desired gain value; and wherein the instructions are further operative to cause the processing circuit to perform the steps of calculating from the aligned output U.sub.out.sub._.sub.demod′ a first distortion component u.sub.saturation.sub._.sub.distortion resulting from an inability of the function to adequately control the gain, and a second distortion component u.sub.delay.sub._.sub.distortion resulting from a time error τ in the function, where V.sub.PA=ƒ(|u.sub.mod(t+τ)|).
43. The computer readable medium of claim 42 wherein the instructions are further operative to cause the processing circuit to perform the steps of: dividing U.sub.out.sub._.sub.demod′ into an odd component u.sub.odd, where u.sub.odd(t)=−u.sub.odd(−t), and an even component u.sub.even, where u.sub.even(t)=u.sub.even(−t), such that U.sub.out.sub._.sub.demod′(t)=u.sub.odd(t)+u.sub.even(t); selecting u.sub.mod(t) as a pure even function; calculating u.sub.saturation.sub._.sub.distortion as the even part of U.sub.out.sub._.sub.demod′−G.sub.0u.sub.mod; and calculating u.sub.delay.sub._.sub.distortion as the even part of U.sub.out.sub._.sub.demod′−G.sub.0*u.sub.mod.
44. The computer readable medium of claim 43 wherein the instructions are further operative to cause the processing circuit to perform the step of calculating a time delay error τ from the relationship
45. The computer readable medium of claim 44 wherein the instructions are further operative to cause the processing circuit to perform the steps of: inserting a positive or negative time delay t.sub.delay into the input signal, u.sub.mod(t+t.sub.delay), prior to applying the input to the upconverter; adjusting the value of t.sub.delay and calculating the resulting time delay error τ; and iteratively repeating the adjusting and calculating steps until the delay error τ is below a predetermined threshold; and storing the final value of t.sub.delay for use by the transmitter during operation.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown. However, this invention should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION
(11) It should be understood at the outset that although illustrative implementations of one or more embodiments of the present disclosure are provided below, the disclosed systems and/or methods may be implemented using any number of techniques, whether currently known or in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
(12) As described above, envelope tracking is a method of dynamically varying the supply power applied to a Power Amplifier (PA) 14 in a transmitter, in order to maximize the efficiency of the PA 14 operation. Ideally, the PA 14 should apply a selected, static gain—referred to herein as ISO-gain—at all times. This reduces distortion in the PA 14 and minimizes current consumption. However, the gain of the PA 14 is difficult to control. In general, the PA 14 gain varies in a non-linear manner with both the applied RF signal amplitude and the applied supply power level.
(13) In some embodiments, the required supply voltage the Power Management Unit (PMU) 18 should apply to the PA 14 for a given RF signal amplitude envelope is determined by parameters retrieved from an appropriate pre-distortion Look-Up Table (LUT) 48, indexed by the current envelope value. This LUT 48 may be populated in a calibration procedure, which utilizes test signals generated by the test signal generator 24 on the RF IC. In one embodiment, nine tables are tuned for each frequency band of interest (three frequencies per band, and three gains per frequency). The gain may be determined by calculating IQ values from the receiver circuit 56, rather than using dedicated hardware. Calibration calculations are performed in the digital broadband processing circuit 60.
(14) However, ascertaining the proper supply voltage that the PMU 18 should apply to the PA 14 for a given RF signal envelope value (to achieve the desired constant gain) is only half of the solution. In addition, the determined supply voltage must be applied to the PA 14 at precisely the right time. In general, the RF signal processing path 28 and the envelope tracking processing path 30 have different delays. Accordingly, the two paths 28, 30 must be time-synchronized, to within less than 1 nsec. in one embodiment, such as by adjusting one or both of the delay control blocks 34, 50. To determine the proper timing, timing errors may be determined in a calibration procedure. The test signal generator 24 on the RF IC is also used as a signal source in the timing delay calibration. IQ values from the receiver circuit 56 are determined, and calibration calculations are performed in the digital broadband processing circuit 60.
(15) In a calibration procedure, two things must thus be determined: values to populate the pre-distortion LUT 48 to achieve ISO-gain, and the timing error.
Gain Calculation
(16) According to embodiments described herein, the RF circuit 10 is calibrated to generate and store a number of LUTs, which provide parameters during operation for the RF circuit 10 to operate at a constant gain.
(17) In one embodiment, one lookup table relates supply voltage as a nonlinear function of the baseband envelop. One table is relevant for a gain corresponding to a selected compression point at a given radio frequency. A number of tables are needed based on different frequencies and compression points. As one representative example, to support eight generic frequency bands, three sub-bands per band, and three gains per frequency, a total 72 tables are required. A conservative estimate of the calibration time for a typical case with eight bands is 400 ms.
(18) As mentioned above, in general the gain varies with both signal envelope and supply voltage. To minimize the tests, test signals are used in which both the signal envelope and the supply voltage are changed in one measurement. Rx BB 58 IQ values are then sampled and analyzed. This provides greater flexibility than the use of dedicated hardware blocks to calculate gain.
(19) In one representative example, the Rx 56 includes a 10-bit analog to digital converter operating at 78 MHz. The sample rate in the Rx 56 is set to 78 MHz.
(20)
(21) Input_1=u.sub.mod is the time varying modulation information to be transmitted;
(22) Input_2=ω.sub.0 is the carrier frequency of the transmitter;
(23) Input_3=V.sub.PA is the supply voltage to the PA 74;
(24) Input_4=ω.sub.0′ is the carrier frequency used in the demodulator 78 (ideally, ω.sub.0′=ω.sub.0);
(25) φ is the random phase rotation in the complete transmitter;
(26) G is the gain of the PA 74;
(27) Output_1=U.sub.out is the output signal of the transmitter over the load r.sub.load 76; and
(28) Output_2=U.sub.out.sub._.sub.demod is the demodulated output signal (with carrier frequency removed).
(29) The PA 74 gain G is a function of u.sub.mod and V.sub.PA: G=ƒ(u.sub.mod, V.sub.PA). The output signal U.sub.out can mathematically be described as U.sub.out=u.sub.mod(t).Math.e.sup.j(ω.sup.
(30) According to one embodiment, the unknown and potentially non-linear gain G of the PA 74 is identified as follows. Input_1, u.sub.mod is a time repetitive signal, u.sub.mod(t+T)=u.sub.mod(t) where T is the period of repetition. The absolute value of Input_1, u.sub.mod(t) includes all relevant values to be analyzed, and it is a slowly varying signal, to avoid distortion from error in time delay. In one embodiment, f=19.5/512 MHz≈38 kHz, yielding a cycle time of ≈26 usec.
(31) At every time t, the Output_2, U.sub.out.sub._.sub.demod has a value that is a good approximation of the corresponding demodulated signal using a time invariant u.sub.mod. Input_3, V.sub.PA has known value as a function of the absolute value of Input_1, |u.sub.mod(t)|.
(32) Output_2, U.sub.out.sub._.sub.demod is sampled with a sufficiently high frequency to fully capture the time varying signal. In one embodiment, to have approximately the same number of measurements when ramping envelops from zero to full signal as the number of points in the lookup table, 64 samples are selected, yielding 256 samples per cycle, for a sample frequency of 19.5/2 MHz., or ≈9.75 MHz. An integer number of samples is captured each repetition period T. To reduce the impact from measurement noise, several consecutive repetition periods may be sampled.
(33) When the same local oscillator is used for both the upconverter 72 and demodulator 78, no frequency correction is necessary (however, time and phase must still be aligned, as discussed below). In general, however, different equipment could be used, each with a separate LO. In this case, the carrier frequency of the demodulator 78 will not be identical to the carrier frequency of the upconverter 72, and the frequency difference must be identified. The samples are then rotated to compensate for the frequency difference. To reduce the complexity of the analysis, all samples may be averaged into one or a few repetitive periods. The sampled U.sub.out.sub._.sub.demod signal is not time synchronized with u.sub.mod; accordingly, these signals are time and phase aligned. U.sub.out.sub._.sub.demod denotes the sampled sequence after frequency correction, averaging, and time and phase alignment. The phase aligning will remove the unknown phase rotation φ in the upconverter 72. Finally, the unknown gain G can be estimated as a function of the absolute value of Input_1, |u.sub.mod| as
(34)
(35) In one embodiment, the frequency difference ω.sub.0−ω.sub.0′ is identified. First, the frequency difference is estimated by averaging the following calculation over a number of sample pairs: U.sub.out.sub._.sub.demod(t).Math.U.sub.out.sub._.sub.demod(t+nT)* where U.sub.out.sub._.sub.demod* denotes the conjugate of U.sub.out.sub._.sub.demod and nT denotes a time corresponding to n repetitive cycles. The frequency distance is then calculated as the phase of the complex value given by the averaging, divided by the time nT. Samples are rotated by the determined frequency difference to remove the unwanted rotation of U.sub.out.sub._.sub.demod.
(36) In one embodiment, a complete gain surface is estimated as follows. The above-described method of gain estimation is repeated k times, where k is an integer. In each repetition i where i=0 . . . k−1, the supply voltage V.sub.PA(i) has a (different) known value as a function of the absolute value of Input_1, |u.sub.mod(t)|. The function is different for each repetition. The functions are selected to cover the relevant values of V.sub.PA=ƒ(|u.sub.mod|). The gain estimation is calculated as
(37)
Note that only absolute values can be calculated since the phase relationship between repetitions is unknown. These repeated measurements create a three-dimensional gain surface, where the absolute value of gain amplitude as a function of the absolute values of Input_1 and Input_3, |G|=ƒ(|u.sub.mod|,V.sub.PA), is represented as sample points over the surface.
(38) In one embodiment, the set of functions selected to determine V.sub.PA is determined by considering Input_3 as a function of Input_1 for different repetitions, V.sub.PA(i)=ƒ.sub.i(|u.sub.mod|). Functions f.sub.i are selected in such a way that every function has at least one crossing point with at least one other function, in such a way that all functions are connected through these crossing points. As used herein, the term “crossing point” means a point at which different functions f yield the same output V.sub.PA for the same input value |u.sub.mod|. Measured complex values U′.sub.out.sub._.sub.demod at crossing points are used to align the unknown phase rotation φ having different values in each measurement. U″.sub.out.sub._.sub.demod denotes Output_2 after frequency correction, averaging, and time and phase alignment, including the phase alignment between repetitions using different functions f. The complex gain surface is then calculated as
(39)
(40) In one embodiment, Input_1 is selected as
(41)
where A is the amplitude of the signal and T is the period of repetition.
(42) In one embodiment, the calculated gain is scaled to the nominal gain of the transmitter. The nominal gain is calculated as the root of the average nominal output power over one modulation cycle, divided by the root of the average modulation power over one modulation cycle. G′ denotes the calculated gain after scaling,
(43)
(44) With the information collected about the transmitter 70, the appropriate V.sub.PA for a given envelope |u.sub.mod| can be applied, to achieve the desired gain. In general, the gain is a complex value.
Calibrating the Transmitter for Gain
(45)
(46) In one embodiment, as described above, the gain may be estimated an integer k times, using a different function f.sub.i for each iteration i=0 . . . k−1. In each calculation, the gain is calculated as
(47)
and repeated measurements create a three-dimensional gain surface represented by sample points over the surface. In greater detail, in one embodiment the value of Output_2, the demodulated output signal U.sub.out.sub._.sub.demod, is sampled an integer m number of times for each modulation period, and the U.sub.out.sub._.sub.demod measurement is repeated an integer k number of times, as described above. The gain estimation at each sample point is then calculated as
(48)
where i=0 . . . k−1 and j=0 . . . m−1. The total number of gain values calculated over the gain surface is then the integer value k*m. The modulation signal u.sub.mod and known functions for V.sub.PA(i) are selected to cover the uncertainty regions of transmitter gain. The desired gain |G.sub.0| may be found on the gain surface defined by gain estimations |G.sub.i,j|. A function f where V.sub.PA=ƒ(|u.sub.mod|) giving a transmitter gain of |G.sub.0| is calculated using gain estimation samples |G.sub.i,j|.
(49) In one embodiment, the function f is calculated using surface interpolation between gain estimation samples |G.sub.i,j|. That is, surface interpolation is performed to identify the function f in V.sub.PA=ƒ(|u.sub.mod|) yielding a transmitter gain of |G.sub.0| for all relevant modulation signals u.sub.mod. This approach minimizes the required calibration measurements. Alternatively, a gain surface may be defined comprising significantly more samples, and the closest sample chosen, without interpolation. However, such an approach required significantly longer calibration, and a much greater volume of data to be maintained.
(50) The surface interpolation may be split up into two one-dimensional interpolations. First, for each modulation value j there are k gain estimations for different supply voltages,
(51)
where i=0 . . . k−1. For each modulation value the transmitter gain is a function of the supply voltage V.sub.PA. V′.sub.PA denotes the supply voltage yielding the desired gain |G.sub.0| at each modulation value. One-dimensional interpolation may be used to calculate V′.sub.PA from the gain estimations. Second, m values of V′.sub.PA(j) have now been calculated, where j=0 . . . m−1, that yield the desired transmitter gain |G.sub.0| for each modulation signal u.sub.mod-j. V|.sub.PA(u.sub.mod) denotes the supply voltage yielding the desired gain |G.sub.0| for any arbitrarily selected modulation signal u.sub.mod. One-dimensional interpolation is used to calculate V″.sub.PA(u.sub.mod) from V′.sub.PA at sampled points of u.sub.mod.
(52) In one embodiment, the one-dimensional interpolation is performed locally by first identifying the sampling point with the closest distance to the search point that is, |G.sub.0| in the first interpolation and u.sub.mod in the second interpolation. An integer number of samples on each side of the closest point may be used as input to the interpolation. Statistical behavior of the gain surface is used to determine the integer value and interpolation type, such as linear, cubic spline, or the like.
(53) In one embodiment, the function f in V.sub.PA=ƒ(|u.sub.mod) yielding a transmitter gain of |G.sub.0| is calculated for a limited number of |u.sub.mod| points and stored in a Look Up Table (LUT) to be accessed when using the transmitter.
Time Delay Analysis—Small Signal Model
(54)
(55) u.sub.mod=modulated input signal (complex I, Q values)
(56) s=|u.sub.mod| is the envelope of the input signal
(57) V.sub.PA=supply voltage applied to the PA
(58) G=power amplifier gain
(59) t.sub.e=timing error
(60) s.sub.e=error in signal envelope caused by t.sub.e
(61) V.sub.e=error signal in supply voltage caused by t.sub.e
(62) G.sub.e=error in gain caused by t.sub.e
(63) u.sub.e=output error signal caused by t.sub.e
(64) A gain surface as a function of signal envelope and supply voltage, G=ƒ(s,V.sub.PA) has been defined for each desired gain G. For every point (G, s, V.sub.PA) on the ISO-gain surface along a constant gain curve, the following small signal behavior is true:
(65)
That is, a small perturbation along the s axis gain change must be followed with perturbation along the V axis causing the same gain change with opposite sign, to maintain a constant gain. Thus, the ISO-gain pre-distortion curve can be defined by the small signal relationship:
(66)
Furthermore, a time error between the signal input and supply voltage at the power amplifier can be modeled as an added small signal error on the envelope signal in the pre-distortion path: s.sub.e(t)=s(t+t.sub.e)−s(t). This signal can be viewed as a small added perturbation in the envelope path prior to the pre-distortion non-linearity function.
(67) The output error signal u.sub.e is
(68)
The quantity
(69)
is known from the ISO-gain calibration. Accordingly, the error signal can be calculated.
Time Delay Analysis—Transmitter Model
(70) Turning now to
(71) A second source of distortion arises even if the function f performs ideally, but there is an unwanted delay, such that V.sub.PA=ƒ(|u.sub.mod(t+τ)|) where t is time and T is a time delay error.
(72)
Note that the distortion is proportional to the time delay error.
(73) In reality, both of these sources of distortion exist, and must be analyzed. Distortion due to the function f not controlling gain adequately is referred to as u.sub.saturation.sub._.sub.distortion, and distortion due to time delay error is denoted u.sub.delay.sub._.sub.distortion.
(74) In one embodiment, Input_1 is a time repetitive signal, u.sub.mod(t+T)=u.sub.mod(t) where t is time and T is the period of repetition. The absolute value of Input_1, |u.sub.mod(t)|, includes all relevant values to be analyzed. The speed of variation of |u.sub.mod(t)| is selected to be high enough to identify time delay errors, but low enough to limit the signal to within the bandwidth of transmitter, and also allow time distortion components to pass within the bandwidth of the demodulator. Input_3, V.sub.PA, has known value as a function of absolute value of Input_1, |u.sub.mod(t)|. The function f is selected to set the Gain |G|≈G.sub.0 for all relevant levels of time invariant |u.sub.mod|.
(75) Output_2, U.sub.out.sub._.sub.demod, is sampled with high enough frequency to fully capture the time varying signal. An integer number of samples is captured each repetition period T. To reduce the impact from measurement noise, several consecutive repetition periods can be sampled. If the carrier frequency of the demodulator 78 is not identical to the carrier frequency of the upconverter 72 then the frequency difference (ω.sub.0−ω.sub.0′) must be identified, and the samples rotated to compensate for the frequency difference. To reduce the complexity of analysis, all samples may be averaged into one or a few repetitive periods. The sampled U.sub.out.sub._.sub.demod signal is not time synchronized with u.sub.mod; accordingly, these signals are time and phase aligned. U′.sub.out.sub._.sub.demod denotes the sampled sequence after frequency correction, averaging, and time and phase alignment. The phase aligning will remove the unknown phase rotation φ in the upconverter 72. U′.sub.out.sub._.sub.demod is used to calculate distortion, and to separate the distortion components u.sub.saturation.sub._.sub.distortion, and u.sub.delay.sub._.sub.distortion.
(76) U′.sub.out.sub._.sub.demod is a periodic signal with period T. The signal is decomposed into odd and even components u.sub.odd and u.sub.even, respectively. U′.sub.out.sub._.sub.demod(t)=u.sub.odd(t)+u.sub.even(t) where u.sub.odd(t)=−u.sub.odd(−t) and u.sub.even(t)=u.sub.even(−t). If u.sub.mod(t) is selected as a pure even function, then u.sub.saturation.sub._.sub.distortion is the even part of U′.sub.out.sub._.sub.demod−G.sub.0*U.sub.mod and u.sub.delay.sub._.sub.distortion is the odd part of U′.sub.out.sub._.sub.demod−G.sub.0*U.sub.mod.
(77) The time periodic time delay distortion u.sub.delay.sub._.sub.distortion is used to estimate the time delay error. The time delay error is calculated from
(78)
The part within parenthesis can be pre-calculated prior to sampling Output_2, U.sub.out.sub._.sub.demod. The function is periodic and shows the signal behavior of the distortion as a function of time over the full period.
(79)
can be pre-calculated as a function of Input_1, u.sub.mod(t).
(80)
can be pre-calculated using the gain surface estimated as described above and the selected V.sub.PA=ƒ(|u.sub.mod|) where the function f yielding a gain of |G.sub.0| is calculated using surface interpolation between gain estimation samples |G.sub.i,j|, as described above. Either time domain distortion u.sub.delay.sub._.sub.distortion or distortion transformed to the frequency domain can be used to estimate the time delay error τ.
Calibrating the Transmitter for Time Delay
(81)
(82) The time delay error τ is estimated as described above. The estimated time delay error τ is used to update Input_5, t.sub.delay minimize the time delay error. The time delay error τ estimate is iteratively repeated, and the time delay t.sub.delay is updated until the measured absolute value of time delay error |τ| is sufficiently small (or disappears). The final time delay value t.sub.delay is then stored, for use during normal operation of the transmitter 70.
(83) In one embodiment, with an integer number M of repetitions, the time delay is set to different values covering the uncertainty region of time delay error. For each repetition, the time delay error τ is calculated as described above. The resulting set of time delay errors is then used to estimate a function f where time delay error τ=ƒ(t.sub.delay). This function is used to calculate the time delay t.sub.delay minimizing the time delay error. The resulting time delay value t.sub.delay is stored for use during normal operation of the transmitter 70. In one embodiment, the function f is estimated using suitable polynomial regression using a least square method.
(84) In one embodiment, with an integer number M of repetitions, the time delay is set to different values covering the uncertainty region of time delay error. For each repetition, the time delay error τ is calculated as described above. The resulting set of time delay errors is then used to estimate a function f where time delay distortion u.sub.delay.sub._.sub.distortion=ƒ(t.sub.delay). This function is used to calculate the time delay t.sub.delay minimizing the time delay distortion. The resulting time delay value t.sub.delay is stored for use during normal operation of the transmitter 70. In one embodiment, the function f is estimated using suitable polynomial regression using a least square method.
Implementation
(85)
(86) The processor 104 may comprise any sequential state machine operative to execute machine instructions stored as machine-readable computer programs in the memory, such as one or more hardware-implemented state machines (e.g., in discrete logic, FPGA, ASIC, etc.); programmable logic together with appropriate firmware; one or more stored-program, general-purpose processors, such as a microprocessor or Digital Signal Processor (DSP), together with appropriate software; or any combination of the above.
(87) The memory 106 may comprise any non-transitory, machine-readable media known in the art or that may be developed, including but not limited to magnetic media (e.g., floppy disc, hard disc drive, etc.), optical media (e.g., CD-ROM, DVD-ROM, etc.), solid state media (e.g., SRAM, DRAM, DDRAM, ROM, PROM, EPROM, Flash memory, solid state disc, etc.), or the like.
(88) The radio circuitry may comprise one or more transceivers 108 used to communicate with one or more other transceivers via a Radio Access Network according to one or more communication protocols known in the art or that may be developed, such as IEEE 802.xx, CDMA, WCDMA, GSM, LTE, UTRAN, WiMax, or the like. The transceiver 108 implements transmitter 10, 70 and receiver functionality appropriate to the Radio Access Network links (e.g., frequency allocations and the like). The transmitter and receiver functions may share circuit components and/or software, or alternatively may be implemented separately. In particular, the transceiver 108 includes an envelope tracking transmitter 10, 70, together with a transmitter measurement receiver and baseband circuit 20 as described herein with respect to
(89) In the transmitter 70 models of
Advantages
(90) Embodiments of the present invention present numerous advantages over the prior art. Envelope tracking calibrations are typically performed on each RF IC in production, and the resulting calibration data, which is unique to each device, is associated with, or stored in, the device. Since any operations, such as calibration, that slow production are to be avoided, the techniques and methods of embodiments of the present invention which are very fast, achieve high accuracy, and require the storage of only small LUTs, as compared to prior art approaches—are particularly advantageous. In addition to high speed and accuracy, the calibration approach described and claimed herein also produces a measurement of normal distortion.
(91) Envelope tracking allows for efficient operation of a transmitter 70 even in the case of a non-linear PA 74. By providing a quick, efficient, high-performance calibration to achieve constant gain in the face of highly non-linear envelope and supply voltage relationships, a lower quality (that is, more non-linear), and hence less expensive, PA 74 may be utilized while maintaining high overall transmitter 70 efficiency and performance.
(92) Finally, those of skill in the art will note that, although the methods herein are described as calibration methods, those of skill in the art will readily recognize that they can be developed into a methods of dynamically tuning transmitters during normal operation, to reduce distortion and/or maximize power performance.
(93) The present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.