The present invention relates to digital pre-distortion in power amplifiers with memory effects, and especially to pre-distorter training.
Power amplifiers are known to add more or less distortion to the signal they are designed to amplify. The reason for this is that a power amplifier has a non-linear input-output signal characteristic. This shows up as a broadened spectrum around the desired amplified signal, and as an unwanted inband component of the signal. As a counter-measure to decrease the effects of non-linearity, it is known to pre-distort the signal at the input of the amplifier as to give an un-distorted amplified signal at the output of the amplifier. This technique is called pre-distortion. Pre-distortion as implemented today normally uses a look-up table that is used to multiply the signal. The entry into the table is the magnitude of the signal at every time sample.
Memory effects is another problem related to power amplifiers. Memory effects typically show up as a non-symmetrical spectrum around the carrier at the output of a power amplifier. That is, although the carrier (desired signal) spectrum is perfectly symmetrical, the spurious spectrum coming from the distortion may be non-symmetrical with respect to the center of the carrier.
The methods commonly used to handle non-linearity do not in general take into account memory effects of the power amplifier. As the term “memory effects” indicates, there is a dependence not only on the present sample but also on delayed samples of the signal. Thus, a single table approach cannot take care of memory effects, but can only handle non-linearity.
Lei Ding et. al. [1] inspired by work by Kim and Konstantinou [2] have derived a pre-distortion method based on what they call “Memory Polynomials” that very well model memory effects. However, a drawback of this method is that it requires recalculation of the memory polynomials for each new input signal amplitude, which can be computationally costly, especially if many polynomials of high order are used. A further drawback of this method is the computationally costly training procedure used to determine the polynomial coefficients.
Reference [3] describes an amplifier provided with a pre-filter in the form of a FIR filter instead of a memory polynomial based pre-distorter. The coefficients of this filter are updated with an iterative least mean square algorithm.
An object of the present invention is to provide a computationally efficient training method for pre-distortion based on memory polynomials.
This object is achieved in accordance with the attached claims.
The present invention is based on a FIR filter structure including individual look-up tables for the filter taps, where each look-up table represents a discretized memory polynomial. Briefly, the training method in accordance with the invention is based on iteratively and individually (independently) determining the filter coefficients of each look-up table, preferably by a corresponding iterative LMS (Least Mean Square) based procedure.
The invention, together with further objects and advantages thereof, may best be understood by making reference to the following description taken together with the accompanying drawings, in which:
In the following description the same reference designations will be used for the same or similar elements throughout the figures of the drawings.
Before the invention is described in detail, a brief description of the underlying problem will be given below.
Memory effects is another problem related to power amplifiers. Memory effects typically show up as a non-symmetrical spectrum around the carrier at the output of a power amplifier, as illustrated in
There is a theoretical way of designing a pre-distorter that takes care of all memory effects. This is called the Volterra series. The Volterra series is an extension to the well-known Taylor series, which can be used as a pre-distorter for memory-less amplifiers. The Volterra series, however, also takes into account time-delayed terms that may quite accurately model the pre-distortion, and may therefore be used to suppress the distortion spectrum.
However, a Volterra series quite rapidly gets large in terms of the number of possible terms in the expansion. For example, a polynomial of degree 5 with a memory depth (maximum delay) of 5 sample units will give rise to at least 500 coefficients.
Since the full Volterra series can not be implemented with reasonable complexity, an approximation based on “Memory Polynomials” has been suggested in [1]. In this approximation the pre-distortion PD(n) may be expressed as:
Unfortunately this expression is still quite complicated, and a drawback of this prior art method is that the expression has to be evaluated for each new input sample x(n). However, as will be shown below, this expression may be rewritten into a more suitable form for practical implementation. The derivation essentially includes three steps:
It is noted in (2) that Tq(|x(n−q)|) are polynomials in the absolute value of the (complex) variable x(n−q). Thus, by multiplying each delayed complex sample x(n−q) by a polynomial in |x(n−q)|(which has the same delay q) and summing up the products for all delays q, the same end result P(n) as in [1] will be obtained. However, this new approach has the advantage that the polynomials Tq may be sampled at appropriate values of |x(n−q)|, as illustrated in
In the exemplary embodiment of the present invention illustrated in
The training method performed by a processing unit 48 in trainer 46 in
The training procedure is based on measuring a large batch of pre-distorter input and feedback signal pairs
(xn,yn), n=1, . . . , N
where N is the number of signal pairs in the batch (depending on the required accuracy, the number of table entries etc, N is typically between 2000 and 50 000). The measured sample pairs are stored in a memory 50.
The present invention suggests a simple method for determining the lookup tables. This method is based on determining the filter coefficients of each look-up table individually by a corresponding iterative LMS (Least Mean Square) based procedure. An example of such a method is described by the iterative least mean square based procedures for two tables:
where
From equation (3) it is noted that both lookup tables are iteratively solved by equations having the same mathematical form, but by using individual loop constants and different input samples (xk and xk−1, respectively). The real positive loop constants μ1 and μ2 may be equal, but are typically different (a larger loop constant for T0 may increase convergence speed). However, the sum of the loop constants should be less than 1 to guarantee stability of the procedure.
The procedure may be repeated until convergence is reached (i.e. until there are only insignificant changes to the approximations from one iteration to the next). Depending on he required accuracy, convergence is usually obtained after 10-20 iterations. However, if the accuracy requirements are relaxed, acceptable tables may be obtained after fewer iterations.
Thus, by solving equation (3) iteratively as described above, the training problem has been reduced to repeatedly solving two equations having the form (3), which are only single table problems of lower complexity.
Equation (3) is valid both for a first time training and for updating the look-up tables. If it is assumed that the tables have not been determined yet, T0 may, for example, initially be set to 1 and T1 may initially be set to 0. However, if the tables are updated, the current tables T0, T1 may be used as an initial guess instead, since they are probably closer to the optimal tables.
The outlined iterative method of successively improving table accuracy may be extended to include more tables. Further tables, which take into account memory effects of other time delays, may be included in the same manner as in the two-table solution. In this case the procedures may be written as:
Thus, for a general delay q one has:
As noted above, the delays q associated with the tables need not be consecutive integers, but may differ by more than 1 sample period.
Equation (5) may be simplified by replacing the values |Xk−q|2 in the elements of the sum with the average power of the samples in bin b, thereby avoiding the divisions. This gives the equation:
Here |
A variation of the above described method is obtained by inserting a post-distorter, which has the same table structure as pre-distorter 30, in the feedback loop. Such an embodiment is illustrated in
In the embodiments described so far an average correction based on a lot of samples was used to form the iterative equations. This requires storage of a large number of samples and updates all table entries. An alternative method is to update after every sample. In this case only the table entries that correspond to the bin b into which the current input sample happens to fall is updated. For this embodiment equation (5) reduces to:
while equation (6) reduces to:
Tqi(b)=Tqi−1 (b)+μq·u(b)·(xk−yk)·x*k−q:|xk−q|εMb (9)
An advantage of this embodiment is that only the latest Q (the maximum delay) sample pairs have to be stored in the batch, which requires less memory. This approach typically requires only one iteration for every new sample, since the current table entries in a stationary state should be very close to the optimal values.
In the above description the training procedure has been expressed in Cartesian form using a complex number representation. An alternative is to perform a transformation to polar form and express the procedure in two-component form, with one procedure representing the iterations in the radial component and one procedure representing the iterations in the phase component. Furthermore, in the given examples the delay q has been assumed to be positive or zero. However, negative values for q are also possible. For example, the zero delay table may be the middle table in the filter structure.
The described look-up table based pre-distorter may be implemented as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). Another possibility is to use a micro processor or a micro/signal processor combination and corresponding software. Combinations of these approaches are also possible. The actual computation of the look-up table entries may be done either in real-time on a sample by sample basis or in an off-line manner at a slow update speed, as described above.
An especially attractive feature of the present invention is that the complexity growth when tables are added only is linear instead of quadratic. This reduced complexity may be used to increase the table update rate, thereby obtaining a more accurate pre-distorter. In fact, by using the procedure in accordance with equation (8) or (9) one entry of each table is updated every sample period.
Although the present invention has been described with reference to individual LMS based iterative procedures for each table, it is also feasible to use other iterative procedures, such as RLS (Recursive Least Square) or Kalman based procedures. Although such methods are inherently more complex, they have the advantage of a faster convergence rate.
It will be understood by those skilled in the art that various modifications and changes may be made to the present invention without departure from the scope thereof, which is defined by the appended claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SE03/01825 | 11/25/2003 | WO | 00 | 5/4/2006 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2005/053153 | 6/9/2005 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4887306 | Hwang et al. | Dec 1989 | A |
5049832 | Cavers | Sep 1991 | A |
5568411 | Batruni | Oct 1996 | A |
5586068 | Rakib | Dec 1996 | A |
5742642 | Fertner | Apr 1998 | A |
5914620 | Simons et al. | Jun 1999 | A |
5923712 | Leyendecker et al. | Jul 1999 | A |
6108385 | Worley, III | Aug 2000 | A |
6362701 | Brombaugh et al. | Mar 2002 | B1 |
6591282 | Sonu | Jul 2003 | B1 |
6756845 | Mashhour | Jun 2004 | B1 |
7120656 | Lam et al. | Oct 2006 | B1 |
20030058959 | Rafie et al. | Mar 2003 | A1 |
Number | Date | Country |
---|---|---|
2385730 | Aug 2003 | GB |
Number | Date | Country | |
---|---|---|---|
20070133713 A1 | Jun 2007 | US |