Abstract:
An approach to digital compensation uses a particular structure for a digital pre-distorter (DPD) which acts as a relatively accurate pre-inverse of a non-linear circuit (e.g., a non-linear transmit chain involving digital-to-analog converter (DAC), lowpass filter, modulator, bandpass filter, and power amplifier) while making use of a relatively small number of parameters that characterize the non-linearity and/or parameters that provide accurate linearization without requiring continual updating.

Description:
BACKGROUND 
     This invention relates to digital compensation of a non-linear circuit, and in particular, to linearization of a non-linear power amplifier and transmitter chain. 
     A concept of applying a digital compensation to restore the quality of an original signal passed through a circuit is a routine. A power amplifier in a radio of a wireless base station or handset is compensated digitally in the baseband to minimize the spectral leakage into adjacent channels. An audio amplifier in a speaker is compensated digitally to achieve high fidelity. In many such examples, variants of Volterra series have been adopted to account for dynamical nature of nonlinearity. Wiener, Wiener-Hammerstein, General Memoryless Polynomial are popular structures for digital pre-distorters, which are used to modify an input signal prior to passing through a non-linear circuit. In general, these structures have an exponential complexity if the polynomial order exceeds 3 to 5, as well as robustness issues due to sensitivity of compensator parameters to variations of a particular device (Device Under Test, DUT), including process, temperature, supply voltage, and other operating conditions. 
     Referring to  FIG. 1 , in an example of a linearization of a radio power amplifier, a digital input signal x[n] at a baseband or intermediate frequency is passed through a Digital Pre-Distorter (DPD)  110  to produce a “pre-distorted” input y[n], which is passed through a transmit chain  140  to produce a driving signal p(t) that drives an antenna  150 . The transmit chain may include a Digital-to-Analog Converter (DAC)  142 , an analog lowpass filter (LPF)  144 , and a modulator (e.g., multiplication by a local oscillator) of the output of the LPF  144 . The output of the modulator is passed to a power amplifier (PA)  148 . The PA  148 , as well as other elements in the transmit chain, may introduce non-linearities, which may be manifested in the driving signal p(t) as harmonic and/or intermodulation distortion of the input signal x[n]. To overcome these nolinearities, the DPD  110  also introduces non-linearities that are intended to “pre-invert” (i.e. pre-distort) the non-linear effects of the transmit chain. In some examples, the DPD performs the transformation of the desired signal x[n] to the input y[n] of the transmit chain by using delay elements  120  to form a set of delayed versions of the desired signal, and then using a non-linear polynomial function  130  of those delayed inputs. In some examples, the non-linear function is a Volterra series:
 
 y[n]=h   0 +Σ p Σ τ     1     , . . . ,τ     p     h   p (τ 1 , . . . τ p )Π j=1 . . . p   x[n−τ   j ]
 
In some examples, the non-linear function is reduced set of Volterra terms, for example a delay polynomial:
 
 y[n]=h   0 +Σ p Σ τ   h   p (τ) x[n−τ]|x[n−τ|   (p-1)  
 
     In order to invert the non-linear effects of the transmit chain, in general, a relatively large number of terms of such a series representation are needed, and the coefficients of those terms (e.g., the h p  terms) must be accurately set. In general, the coefficients in such approaches are continually updated to maintain good linearization. Various approaches to such continual updating are used, for example, based on incremental updates using y[n] and observation of p(t) (e.g., after demodulation). 
     SUMMARY 
     In a general aspect, an approach to digital compensation uses a particular structure for a digital pre-distorter (DPD) which acts as a relatively accurate pre-inverse of a non-linear circuit (e.g., a non-linear transmit chain involving digital-to-analog converter (DAC), lowpass filter, modulator, bandpass filter, and power amplifier) while making use of a relatively small number of parameters that characterize the non-linearity and/or parameters that provide accurate linearization without requiring continual updating. 
     In general, this approach is more closely related to the underlying sources of non-linearity arising from the modulation and subsequent (e.g., non-linear) amplification of the modulated signal. In particular, the approach more directly captures harmonic and intermodulation distortion effects without requiring a large number of parameters. 
     In one aspect, in general, a pre-distorter implements an overall non-linear transformation of a sampled input signal u[n] (e.g., an upsampled version of a baseband encoding of a desired signal to be transmitted) to yield an input y[m] to a transmit chain. The overall non-linear transformation is implemented using a combination of time filtered versions of linear and non-linear functions of the input signal. In this description, these time filtered versions are referred to as basis functions of the input signal. Some examples of such basis functions include
 
 w   i   =G   i (ƒ i ( u ))
 
where ƒ i  (u) may be a non-linear function of u, for example, |u| k , and G i ( ) may be a linear time domain filtering.
 
     In some examples, a set of basis functions is combined using a “balanced polynomial” form, which can be expressed as: 
     
       
         
           
             
               y 
               ⁡ 
               
                 [ 
                 n 
                 ] 
               
             
             = 
             
               
                 ∑ 
                 k 
               
               ⁢ 
               
                 
                   a 
                   k 
                 
                 ⁡ 
                 
                   ( 
                   
                     
                       ( 
                       
                         
                           ∏ 
                           i 
                         
                         ⁢ 
                         
                           
                             ( 
                             
                               
                                 w 
                                 i 
                               
                               ⁡ 
                               
                                 [ 
                                 n 
                                 ] 
                               
                             
                             ) 
                           
                           
                             b 
                             
                               k 
                               , 
                               i 
                             
                           
                         
                       
                       ) 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           ∏ 
                           j 
                         
                         ⁢ 
                         
                           
                             ( 
                             
                               
                                 w 
                                 i 
                                 * 
                               
                               ⁡ 
                               
                                 [ 
                                 n 
                                 ] 
                               
                             
                             ) 
                           
                           
                             c 
                             
                               k 
                               , 
                               j 
                             
                           
                         
                       
                       ) 
                     
                   
                   ) 
                 
               
             
           
         
       
       
         
           where 
         
       
       
         
           
             
               
                 
                   ∑ 
                   i 
                 
                 ⁢ 
                 
                   b 
                   
                     k 
                     , 
                     i 
                   
                 
               
               = 
               
                 1 
                 + 
                 
                   
                     ∑ 
                     j 
                   
                   ⁢ 
                   
                     c 
                     
                       k 
                       , 
                       j 
                     
                   
                 
               
             
             , 
           
         
       
     
     In some cases, the exponents {b k,i } and {c k,j } are predetermined, and the parameters Θ={a k } are determined, for example, using various approaches to system identification. 
     In some examples, the parameters for a device are determined prior to operation, for example, at a fabrication, manufacture, deployment, and/or periodic maintenance time, and then set for subsequent operation. In some examples, different sets of parameters are determined for different operating conditions (e.g., operating temperature, supply voltage, etc.), and in operation different sets of parameters are used according to sensing of the operating conditions. In some examples, external parameters such as temperature, supply voltage, output power, modulation mode, part age, sampling rate and part signature are inputs to a previously configured predictor unit. Based on these, the unit determines the regime of operation and outputs updated coefficients for the compensator. In some examples, the part signature is obtained by short fabrication-time characterization (e.g. few tones or a special transmit sequence). 
     One or more approaches described above have advantages including reduced operation-time computation complexity, thereby reducing power requirements and use of other computation-related resources, while providing relatively accurate linearization (e.g., relative to other approaches that use comparable computation resources). By using a structure of the pre-distorter that matches the non-linear structure of the circuit, the number of coefficients needed to accurately linearize the system is reduced and these parameters are more robust to variation of the system, thereby avoiding the need to continually update the parameters based on the observation of the output signals (e.g. p(t)). Note that the predictor can continuously update the coefficients in response to, for example, temperature changes, or supply voltage changes. 
     Other features and advantages of the invention are apparent from the following description, and from the claims. 
    
    
     
       DESCRIPTION OF DRAWINGS 
         FIG. 1  is a block diagram of a conventional digital pre-distortion approach; 
         FIG. 2  is a block diagram representing a number of embodiments of the present approach; 
         FIG. 3  is a block diagram illustrates a coefficient interpolation approach; 
         FIG. 4  is a block diagram that shows a operation-time parameter estimation approach; 
         FIG. 5  is a block diagram that shows a pre-operation coefficient modeling approach; 
         FIG. 6  is a block diagram showing a combined coefficient interpolation and operation time parameter estimation approach; 
         FIG. 7  is a block diagram of an exemplary basis formation and polynomial combination embodiment; and 
         FIG. 8  is a block diagram of an alternative basis formation approach incorporating normalization. 
     
    
    
     DESCRIPTION 
     Referring to  FIG. 2 , a first embodiment of a Digital Pre-Distorter  200  accepts a desired input signal x[m] in digital form (e.g., 12-14 bits per time sample), sampled at a sampling rate sufficient to represent the bandwidth (e.g., 20-120 MHz) of the desired signal. In general, the input signal is complex, with the real and imaginary parts representing quadrature components of the signal to be transmitted. For example, the desired input is a baseband encoding (e.g., an OFDM encoding) of one or more channels of communication, for instance, for a cellular telephone transmitter (e.g., according to an LTE communication standard). The input signal is upsampled using a conventional upsampling/interpolation component  210 , for example, in some embodiments by a factor equal to one plus the degree of nonlinearity of interest in the transmit chain divided by two (e.g., if nonlinearity of interest is 7 th  order, then upsampling by a factor of four is used), and then optionally filtered. Upsampling enables the DPD by shrinking the spectrum to avoid aliasing of undesirable harmonics in the target band. 
     In some examples, an optional LTI (Linear Time Invariant) filtering component  212  processes the signal after upsampling. The LTI filter is selected to “mimic” the long-term behavior of the elements of the transmit chain  140 , for example, for the DAC  142 , the LPF  144 , etc. For example the fixed-coefficient reconstruction filter mimics the zero-order hold properties of the DAC. The upsampled and filtered input signal u(n) is then used to compute S basic signals, w 1 [n] through w S  [n], each sampled at the upsampled rate, using a set of basis formation elements  220   a - s , most of which represent non-linear transformations (e.g., polynomial function) of the input. The basis formation can incorporate polynomial function of the input, or alternatively non-polynomial function, for example, a polynomial X|X| 2 , or a non-polynomial (X|X| 2 )/avg(|X| 2 ). The basis signals are applied to balanced polynomial computation element  230 , or in alternative embodiments another form of non-linear combination, which outputs a combined signal z[n] at the upsampled rate. This combined signal is then downsampled in a downsampling/filtering component  240 , and optionally further filtered in a LTI filtering component  242 , for example, yielding the original sampling rate of the input signal x[m], to produce an output y[m] of the DPD  200 . 
     Referring to  FIG. 3 , in some embodiments, the output y[m] of the DPD  200  is passed through a transmit chain  140  to produce the driving signal p(t) for the antenna  150  of the transmitter. As shown in  FIG. 2 , the DPD  200 , and more particularly the balanced polynomial computation is configured according to numerical parameters, the DPD coefficients Θ  235 . In this embodiment, these coefficients are determined using a database of coefficients  344 , and values that essentially characterize the operation “regime” (i.e., a class of physical conditions) of the transmit chain. These values (e.g., quantitative or categorical digital variables) include environment variables  342  (e.g., temperature, transmitter power level, supply voltage, frequency band) and/or a part “signature”  343 , which represents substantially invariant characteristics and which may be unique to the electronic parts of the transmit chain  140 . The coefficient interpolator  340  takes these inputs and the coefficient database and outputs corresponding DPD coefficients  235 . A variety of approaches may be implemented by the coefficient interpolator, including selection and/or interpolation of coefficient values in the database according to the inputs, and/or applying a mathematical mapping of the input represented by values in the coefficient database. 
     Referring to  FIG. 4 , in another embodiment, the DPD coefficients  235  are determined during operation of the system by using a receive chain  430  processes a sensing of the output p(t), and though substantially linear demodulation, and digitization, produces a digital output q[m] at the same sampling interval as the input y[m] of the transmit chain. In some examples, the coefficients are adjusted in a substantially continuous manner during operation, while in other examples, the coefficients are updated relatively infrequently in batches (e.g., once an hour, day, etc.) using non-operational inputs. The determination of these parameters is discussed more fully below, and generally relies on sensing of an output of the transmit chain  140 , and processing that sensed output using a receive chain  330 , which is assumed to be substantially linear. 
     Referring to  FIG. 5 , an approach to forming the coefficient database  344  (see  FIG. 3 ) makes use of an analysis the transmit chain  140  prior to operational use. More generally, a set of instances of transmit chains (e.g., using separately manufactured parts) are analyzed to sample manufacturing and other part-to-part variations. Generally, different test signals x[m] are used to drive the transmit chain  140 , and corresponding input y[m] and received output q[m] (i.e., after demodulating through the received chain  430 ), are used to estimate DPD coefficients  235  under various environmental conditions. The DPD coefficients  235  and corresponding environment variables  342  are provided to the coefficient modeler  560 , which stores them (optionally pre-processing them, for example, for from a piecewise linear model) in the coefficient database  344 . 
     Continuing to refer to  FIG. 5 , each instance of the transmit chain may be characterized by passing specific test signals through the transmit chain  140  and using a signature measurement module  550  to determine signature values (e.g., quantitative or categorical values) from those measurements. For example, multi-tone test signals may be passed through the transmit chain and the magnitude of distortion products may be measured and recorded as elements of the part signature. As part of the manufacturing or other pre-operational stage, the part signature for a transmit chain is provided in association with that transmit chain, and used in operation, for example, as part signature  343  as illustrated in  FIG. 3 . For example, the part signature may be stored on a computer readable medium (e.g., non-volatile semiconductor memory) in, coupled to, or otherwise associated with the transmit chain or its components. When used by the DPD  200 , the part signature imparts specific functionality on the DPD to compensate for non-linearities of the specific instance of the transmit chain. 
     It should be understood that environment variables and signature variables may be used independently or in combination. Also, it should be understood that the coefficient interpolator  340  (e.g.,  FIG. 3 ) may implement various forms or interpolation or approximation as long as they are compatible with the coefficient modeler  560  (e.g.,  FIG. 5 ). Such techniques can include the use of a piecewise linear interpolation as a non-essential example. Other ways of mapping from the environment and signature variables include use of other piecewise smooth functions, kernel approach, etc. . . . . 
     Referring to  FIG. 6 , yet another embodiment combines aspects shown in  FIG. 3  and in  FIG. 4 , namely that the DPD coefficients  235  depend not only on an interpolation based on a coefficient database  344  and environment variables  342  and/or part signature  343 , but also depend on feedback of sensed and demodulated via a receive chain  330  of the output of the transmit chain  140 . 
     Referring to  FIG. 7 , and also referring back to  FIG. 2 , the set of basis formation elements  220   a - s  include elements that can be represented as basis formation element  220   i  shown in  FIG. 7 . Generally, each such basis formation element includes a representative transformation element  410   i  and a (e.g., LTI) filter element  420   i . The transformation elements are generally non-linear (e.g., polynomial) and memoryless, represented as v i [n]=ƒ i (u[n]). Various functional forms may be used, for example, ƒ(u)=|u| 2 , ƒ(u)=|u| 3 , ƒ(u)=u|u| 2 , etc. The filter elements are generally linear and time invariant (LTI), for example, implementing one-pole or two-pole linear infinite-impulse-response (IIR) filters. For example, the poles of such filters may correspond to time constants of 1 to 4 samples and Q factors of 10. In general, at least some of the basis transformations include transformations (i.e., v i  [n]=u[n]) and/or pure delay filters (i.e., w i  [n]=v i [n−τ]) for one or more values of τ. 
     Continuing to refer to  FIG. 7 , in some examples, the non-linear combination of the basis functions uses a balanced polynomial computation element  230 , which can be represented in a general form as: 
               y   ⁡     [   n   ]       =       H   ⁡     (         w   1     ⁡     [   n   ]       ,   …   ⁢           ,       w   S     ⁡     [   n   ]         )       =       ∑   k     ⁢       a   k     ⁡     (       (       ∏   i     ⁢       (       w   i     ⁡     [   n   ]       )       b     k   ,   i           )     ⁢     (       ∏   j     ⁢       (       w   i   *     ⁡     [   n   ]       )       c     k   ,   j           )       )                 
where for w=a+jb, where j=√{square root over (−1)}, and w*=a−jb represents the complex conjugate of w, and therefore w w*=|w| 2 , and where for each term (k) the degree (Σ j b k,i ) of the non-conjugated terms is one greater than the degree (Σ j c k,j ) of the conjugated terms, that is
 
                 ∑   i     ⁢     b     k   ,   i         =     1   +       ∑   j     ⁢     c     k   ,   j                 
Examples of such functions include H(w 1 , w 2 )=|w 1 | 2  w 2 −3w 1   2 w 2 *(i.e., a 1 =1, a 2 =−3, b 1,1 =1, b 1,2 =1, c 1,1 =1, c 1,2 =0, b 2,1 =2, b 2,2 =0, c 2,1 =0, c 2,2 =1) and H(w 1 , w 2 , w 3 )=−j w 1  w 1 w 2 *+w 3 .
 
     Referring to  FIG. 8 , in some embodiments, some or all of the basis formation blocks  220   a - s  may use “non-polynomial” forms. For example, as illustrated in  FIG. 8 , a normalization block  820   i  may be used to normalize a basis value by dividing by an average value (e.g., a long time scale decaying average). It should be recognized that this type of normalization is only an example of a non-polynomial form of basis formation. 
     Referring back to  FIG. 2 , the output z[n] is then downsampled and filtered, for example, to the original sampling rate of the input x[m] to yield the output y[m]. In some examples, this downsampling may be omitted, or the sampling rate of the output may be between the sampling rate of the input and the upsampled rate. In some examples, an optional LTI filtering stage  242  is applied at the output of the DPD  200  prior to passing the signal to the transmit chain. 
     The structure of the DPD described above is robust to variation during operation and does not necessarily have to be adapted quickly during operation in order to maintain the linearization of the system. For example, the parameters for the DPD may be estimated once for long periods of operation, for example, being estimated during manufacturing or deployment of the system. 
     Referring back to  FIG. 5 , in an approach to estimation of the parameters Θ for the DPD, a receive chain  330  processes a sensing of the output p(t), and though substantially linear demodulation, and digitization, produces an digital output q[m] at the same sampling rate as the input y[m] of the transmit chain. Note that as introduced above, this estimation may be uses as part of formation of the coefficients of the database  344 , and may also be used in operational adjustment of the coefficients as illustrated in  FIGS. 4 and 6 . 
     In some examples, data comprising input to the transmit chain, y[m], and corresponding sensed (i.e., including demodulation) output of the transmit chain, q[m], are collected in a series of iterations, with the parameters Θ={a k } being determined from the collected data. In some examples, the collected data sequences e K-1 [m]., representing the pre-distortion added to the original signal, are obtained through iterations as follows:
         Assume q 0 [m]=y 0  [m]+e 0  [m], where y 0 [m] is the original signal sequence without the pre-distortion.   Iterate the training sequence y 1  [m]=y 0  [m]−e 0  [m], and find e 1  [m]=q 1 [m]−y 0 [m].   Continue iterating y k [m]=y 0 [m]−e k-1 [m], and find e k [m]=q k [m]−y 0 [m], for k=2,3, . . . .   After a final iteration (K), the pre-distorter is configured such that for an input q k [m]=y 0 [m]+e k [m] the predistorter produces an output y K [m]=y 0 [m]−e K-1 [m]       

     In an alternative approach, the nonlinear transformation of y 0  [m] to yield q 0 [m] is used to characterize the transmit chain (e.g., according to a different parameterization than is used for the pre-distorter). The parameters Θ={a k } are then determined to best “invert” the estimated characteristics of the transmit chain. 
     In some implementations, the parameters Θ are determined based on a predictor, which accepts parameters, for instance, temperature, power supply voltage (Vdd), sampling rate, modulation mode, frequency band, part signature (e.g., obtained by short in-fab part characterization using a few tones or a special transmit sequences), and part age. Based on these, the predictor unit determines the regime of operation for the compensator and outputs updated coefficients for the compensator and selects parameters of a predetermined set of parameters. 
     Implementations of the approaches described above may use hardware, software, or a combination of hardware and software. Software may include instructions for a general purpose, a special purpose processor or a heterogeneous processor, with the instructions being stored on a non-transitory machine readable medium and read from the medium for execution by the processor. The instructions may be machine level, or may be represented in programming language form. In some examples, at least some of the transmit chain is implemented in software, and the DPD approach is implemented as further software executed on the sample signal processor or system that implements that part of the transmit chain. In some examples, the software is executed on a processor specifically dedicated to implementation of the DPD. 
     At least some implementations of the DPD make use of circuitry, which generally includes circuitry for digital signal processing (e.g., arithmetic computation circuitry) which may be dedicated (e.g., as application specific integrated circuits, ASICs, or Field-Programmable Gate Arrays) to particular functions described above and/or may be controlled by software instructions that implement the functions. In some implementations, a computer accessible storage medium includes a database representative of some or all of a DPD  200 . Generally speaking, a computer accessible storage medium may include any non-transitory storage media accessible by a computer during use to provide instructions and/or data to the computer. For example, a computer accessible storage medium may include storage media such as magnetic or optical disks and semiconductor memories. Generally, the database representative of the system may be a database or other data structure which can be read by a program and used, directly or indirectly, to fabricate the hardware comprising the system. For example, the database may be a behavioral-level description or register-transfer level (RTL) description of the hardware functionality in a high level design language (HDL) such as Verilog or VHDL. The description may be read by a synthesis tool which may synthesize the description to produce a netlist comprising a list of gates from a synthesis library. The netlist comprises a set of gates which also represent the functionality of the hardware comprising the DPD The netlist may then be placed and routed to either produce the configuration bitfile for the Field-Programmable Gate Array or produce a data set describing geometric shapes to be applied to masks. The masks may then be used in various semiconductor fabrication steps to produce a semiconductor circuit or circuits corresponding to the DPD In other examples, Alternatively, the database may itself be the netlist (with or without the synthesis library) or the data set 
     It is to be understood that the foregoing description is intended to illustrate and not to limit the scope of the invention, which is defined by the scope of the appended claims. Other embodiments are within the scope of the following claims.