Systems and Methods of Power Amplifier Digital Pre-Distortion

Abstract
Systems and methods for power amplifier pre-distortion are provided. The systems and methods of power amplifier digital pre-distortion disclosed herein may include a generic pre-distorter architecture which can implement a variety of Volterra cross terms involving single dimension convolutions (first order dynamics). For hardware implementations, this generic pre-distorter is further fine-tuned to provide a choice between different sets of cross terms that can be selected for a given PA for optimal performance. The novel pre-distorter architecture provides flexibility to trade off memory depth for additional Volterra terms and vice versa. A further novelty is the ability to trade off both memory depth and cross terms for a higher sample rate operation, which may enable higher order non-linear pre-distortion, or support for higher signal bandwidths. A poly-phase non-linear filtering mode allows for this flexibility.
Description
TECHNICAL FIELD

The present disclosure is generally related to electronics and, more particularly, is related to power amplifiers.


BACKGROUND

Distortion may be considered to be an alteration of the original shape (or other characteristic) of an object, image, sound, waveform or other form of information or representation. Distortion is usually unwanted. In some fields, distortion is desirable, such as electric guitar (where distortion is often induced purposely with the amplifier or an electronic effect to achieve an aggressive sound where desired). The slight distortion of analog tapes and vacuum tubes is considered pleasing in certain situations. The addition of noise or other extraneous signals (hum, interference) is not considered to be distortion, though the effects of distortion are sometimes considered noise.


In telecommunication and signal processing, a noise-free “system” can be characterized by a transfer function, such that the output y(t) can be written as a function of the input x as






y(t)=F(x(t))


When the transfer function comprises only a perfect gain constant A and perfect delay T,






y(t)=A·x(t−T)


the output is undistorted. Distortion occurs when the transfer function F is more complicated than this. If F is a linear function, for instance a filter whose gain and/or delay varies with frequency, the signal may experience linear distortion. Linear distortion will not change the shape of a single sinusoid, but will usually change the shape of a multi-tone signal.


A high-pass filter will distort the shape of a square wave by reducing its low frequency components. This is seen as “droop” on the top of pulses. This “pulse distortion” can be very significant when a train of pulses must pass through an AC-coupled (high-pass filtered) amplifier, for example. As the sine wave contains only one frequency, its shape is unaltered. A low-pass filter will round the pulses by removing the high frequency components. All systems may be considered low pass to some extent. Note that the phase of the sine wave is different for the lowpass and the highpass cases, due to the phase distortion of the filters.


A slightly non-linear transfer function, such as a gently compressing function of a tube audio amplifier, will compress the peaks of the sine wave. This will cause small amounts of low order harmonics to be generated. A hard-clipping transfer function will generate high order harmonics. Parts of the transfer function are flat, which indicates that all information about the input signal has been lost in this region.


The purpose of a power amplifier (PA) is to boost a radio signal to a sufficient power level for transmission through the air interface from the transmitter to the receiver. One goal in RF amplification is to achieve good linearity with reasonable efficiency by applying linearization techniques. An important goal in linearization is to apply external linearization to a reasonably efficient but non-linear PA so that the combination of the linearizer and PA satisfy the linearity specification. Linearization can be thought of as a cancellation of distortion components. There are several sources of distortion and the distortion generated in any of these sources can undergo subsequent mixing processes, resulting in higher order distortion components than the degree of the nonlinearity suggests.


Distortion may originally be generated in the form of current, which is converted to a voltage by terminal impedance. Thus the phase and amplitude of the distortion components can be strongly influenced by the terminal impedances, and especially by the impedances of the biasing networks. One distortion analysis technique is Volterra analysis, which is based on placing polynomial distortion sources in parallel with linear transfer functions. Benefits of this technique include the ease of identification of dominant sources of distortion; identification of phase relationships between distortion contributions; accuracy of a polynomial model for fitting to measured data; and the implementation of polynomial models in harmonic balance simulators.


SUMMARY

Example embodiments of the present disclosure provide systems of power amplifier pre-distortion. Briefly described, in architecture, one example embodiment of the apparatus, among others, can be implemented as follows: an input to index sub-module that maps a complex input into a real signal; a real data tap delay line with Nr elements; a complex data tap delay line with Nc elements; a plurality K of non-linear functions, each non-linear function comprising at least one real input, at least one complex input and at least one complex output; and a configurable connectivity crossbar multiplexer that connects K of the Nr real tap delay line elements to real inputs of the K non-linear functions and that connects K of the Nc complex tap delay line elements to complex inputs of the K non-linear functions.


Embodiments of the present disclosure can also be viewed as providing methods for power amplifier pre-distortion. In this regard, one embodiment of such a method, among others, can be broadly summarized by the following: receiving a complex input signal; mapping the complex input into a real signal; determining a number Nc of complex delay elements; determining a number Nr of real delay elements; determining a number K of non-linear function elements; applying the complex input signal to the Nc complex delay elements; applying the real signal to the Nr complex delay elements; applying the delayed real signal and delayed complex signal to the K non-linear function elements; combining the outputs of the K non-linear function elements; and transmitting the combined outputs.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of an example embodiment of a system of power amplifier pre-distortion used in an RF amplifier.



FIG. 2 is a block diagram of an example embodiment of the DPD cell of FIG. 1 delayed.



FIG. 3 is a block diagram of an example embodiment of the FIR filter of FIG. 2.



FIG. 4 is a block diagram of an example embodiment of the DPD cell of FIG. 5A is a block diagram of an example embodiment of a configuration of at least one DPD cell of FIG. 4.



FIG. 5B is a block diagram of an example embodiment of a configuration of at least one DPD cell of FIG. 4.



FIG. 5C is a block diagram of an example embodiment of a configuration of at least one DPD cell of FIG. 4.



FIG. 6A is a block diagram of an example embodiment of a configuration of at least one DPD cell of FIG. 4.



FIG. 6B is a block diagram of an example embodiment of a configuration of at least one DPD cell of FIG. 4.



FIG. 6C is a block diagram of an example embodiment of a configuration of at least DPD cell of FIG. 4.



FIG. 7A is a block diagram of an example embodiment of a configuration of at least one DPD cell of FIG. 4.



FIG. 7B is a block diagram of an example embodiment of a configuration of at least one DPD cell of FIG. 4.



FIG. 8 is a block diagram of an example embodiment of a configuration of a DPD block in 1× mode.



FIG. 9A is a block diagram of an example embodiment of a configuration of at least one DPD cell of FIG. 8.



FIG. 9B is a block diagram of an example embodiment of a configuration of at least one DPD cell of FIG. 8.



FIG. 9C is a block diagram of an example embodiment of a configuration of at least one DPD cell of FIG. 8.



FIG. 10A is a block diagram of an example embodiment of an input block of the DPD block of FIG. 8.



FIG. 10B is a block diagram of an example embodiment of an input block of the DPD block of FIG. 8.



FIG. 10C is a block diagram of an example embodiment of an output block of the DPD block of FIG. 8.



FIG. 10D is a block diagram of an example embodiment of an output block of the DPD block of FIG. 8.



FIG. 10E is a block diagram of an example embodiment of an output block of the DPD block of FIG. 8.



FIG. 11 is a block diagram of an example embodiment of a configuration of a DPD block in 2× mode.



FIG. 12 is a flow diagram of an example embodiment of a method of power amplifier pre-distortion.





DETAILED DESCRIPTION

Embodiments of the present disclosure will be described more fully hereinafter with reference to the accompanying drawings in which like numerals represent like elements throughout the several figures, and in which example embodiments are shown. Embodiments of the claims may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. The examples set forth herein are non-limiting examples and are merely examples among other possible examples.


Non-constant envelope modulation schemes like those used in 3G and other emerging air interface standards are spectrally more efficient, but have high peak to average signal to noise ratios, necessitating a higher Power Amplifier (PA) back-off. This decreases PA efficiency, and increases the cooling and operational costs of a base-station, for example. The systems and methods of power amplifier pre-distortion disclosed herein present an efficient and flexible hardware implementation of a Volterra-based digital pre-distortion linearizer to provide efficiency enhancements for a variety of high power PA's. The adaptive digital pre-distortion solution presented herein extends the linear range of PA's and enables them to be driven harder and more efficiently while meeting transmit spectral efficiency and modulation accuracy requirements.


RF PA's exhibit highly complex non-linear behavior and can exhibit significant memory effects. This behavior varies considerably depending on the PA topology (including, but not limited to Class AB, Doherty, etc.), transistor technology (including, but not limited to LDMOS, GaN, GaAs, etc.), and transmit power levels. An efficient pre-distorter is preferably adaptable to the application and provides comprehensive coverage of all types of non-linear behavior.


A Volterra model may be effective at modeling the kind of non-linear behavior with memory exhibited by RF PA's. But for the memory depths and non-linear orders to be considered, a generic Volterra model becomes highly impractical for a real time pre-distorter. For a given PA type, a generic Volterra model can be highly pruned for a pre-distorter implementation without any noticeable degradation in linearization performance. Many digital pre-distorters may include a small sub-set of Volterra terms, usually only the diagonal terms (often called a memory polynomial pre-distorter).


A considerable improvement in performance may be found across a variety of commercial PA's by including a variety of Volterra cross-terms in addition to the diagonal terms in the pre-distorter. The cross-terms that provide benefit vary from PA to PA. Additionally, the pre-distorter memory depth and non-linear order required also vary from PA to PA.


The systems and methods of power amplifier digital pre-distortion disclosed herein may include a generic pre-distorter architecture which can implement a variety of Volterra cross terms involving single dimension convolutions (first order dynamics). For hardware implementations, this generic pre-distorter is further fine-tuned to provide a choice between different sets of cross terms that can be selected for a given PA for optimal performance. The novel pre-distorter architecture provides flexibility to trade off memory depth for additional Volterra terms and vice versa. A further novelty is the ability to trade off both memory depth and cross terms for a higher sample rate operation, which may enable higher order non-linear pre-distortion, or support for higher signal bandwidths. A poly-phase non-linear filtering mode allows for this flexibility.


The systems and methods of power amplifier digital pre-distortion disclosed herein may provide coverage over a vast range of Volterra terms while remaining easily implementable in hardware. The systems and methods of power amplifier digital pre-distortion disclosed herein may provide a variety of operational modes, including, but not limited to:

    • a) Long memory depth with limited number of cross terms;
    • b) Shorter memory depth with higher number of cross terms; and
    • c) Shorter memory depth and limited number of cross terms, but with support for higher sample rate operation, enabling higher non-linear order or higher signal bandwidths.



FIG. 1 provides block diagram 100 of digital pre-distortion in a class-D amplifier. A signal is input into pre-crest factor reduction (CFR) module 110 and interpolated by pre-CFR module 110. The output of pre-CFR module 110 is applied to CFR module 120 and automatic gain control module 170. The Crest Factor Reduction module reduces the peak to average ratio of the signal. The output of CFR module 120 is applied to pre-digital pre-distortion (pre-DPD) module 130 for further interpolation. The output of pre-DPD module 130 is applied to mixer 150 and to DPD top module 140. The output of DPD top module 140 is applied to AGC 170 and to mixer 150. An input signal is applied to Real to Complex (R2C) module 180, which is used to set the gain level of AGC module 170.



FIG. 2 provides a block diagram of DPD top module 140 from FIG. 1. In an example embodiment, DPD top module 140 may comprise a DPD module and an FIR filter module that can be configured in either serial or parallel depending on the mode selector. The output of pre-DPD module 130 is applied to DPD module 200 and first mode selector 220. The output of DPD module 200 is applied to first mode selector 220 and second mode selector 210. A mode selection signal is applied to first mode selector 220 and second mode selector 210. The output of first mode selector 220 is applied to finite impulse response (FIR) filter 230. The output of FIR filter 230 and the output of second mode selector 210 are summed.



FIG. 3 provides a block diagram of FIR filter 230. The output of first mode selector 220 is applied to IQ splitter 310 in which the digital input is split into in-phase (I) and quadrature-phase (Q) components. The I components are applied to FIR I filter 320 and the Q components are applied to FIR Q filter 330.



FIG. 4 provides a block diagram of DPD 200 of FIG. 2. In DPD 200, the input is split into real and complex inputs. The top data path of taps 405a, 405b, 405c, . . . 405n is complex while the bottom data path of taps 407a, 407b, 407c, . . . 407n is real. Parameters used in the configuration include Nc, Nr, and K. Nc is the number of complex taps. Nr is the number of real taps. K is the number of non-linear function (NLF) modules 425a, 425b, 425c, . . . 425n. In an example embodiment, input to index (121) module 410 is used to map the complex input into a real signal. The connectivity multiplexer on the complex (top) and real (bottom) paths can be implemented as a fully connected crossbar in which each NLF has two indices for the top (nc,k) and bottom (nr,k) tap delay lines. Multiplexer 415 receives complex inputs for the non-linear functions and multiplexer 420 receives real inputs for the non-linear functions.


This example topology allows implementation of the following Volterra terms:








y
5



(
n
)


=




k
=
1

K








NLF
k



(





x


(

n
-

n

r
,
k



)




2

,

x


(

n
-

n

c
,
k



)



)








with





0
<

n

c
,
k


<

N
c







0
<

n

r
,
k


<

N
r





An example embodiment of an NLF takes a complex input x (top) and a real input z (bottom) and may produce the complex output y (right) as follows:






y=f(z)x


with f( ) a complex valued function of a real value. There are multiple non-limiting options for the NLF implementation: (1) a look-up table (LUT) which may introduce relatively high latency to transfer coefficients from a digital signal processor (DSP); (2) a polynomial implementation with reduced latency to transfer coefficients from DSP, but with large complexity, inflexible in terms of order and basis functions; and (3) LUT+ polynomial to LUT parameters (PTT) engine with reduced latency to transfer coefficients from DSP, flexible in terms of order and basis functions, but with moderate complexity. An example embodiment of the PTT engine takes polynomial coefficient, basis function parameters and LUT index to update; calculates the LUT parameters and updates the corresponding LUT. In an example embodiment, the LUT may be updated on the fly without interrupting the flow of information on the data path. An example embodiment of the polynomial implementation may include an approximation of the polynomial function with an interpolating LUT where linear interpolation is performed between the LUT entries to improve modeling accuracy. Example embodiments of |2| module 410 include functions such as, but not limited to |.|2, |.|, Log2 (|.|2), μ-law, and LUT.


In an example embodiment, pre-distortion processing may be accomplished using a combination of DPD cells and equalizer cells. The DPD cells may be used to implement non-linear function terms; the equalizer (EQ) cells may be used to implement a transmit equalizer. The DPD and EQ cells may be configured in multiple modes as provided in FIGS. 5A, 5B, 5C, 6A, 6B, 6C, 7A, and 7B.


In FIG. 5A, a one sample per two clock cycle example embodiment, the DPD cells are configured for five times bandwidth (BW) and double memory for a single antenna. In FIG. 5B, a one sample per four clock cycle example embodiment, the DPD cells are configured for five times BW and double memory for dual antennas. In FIG. 5C, a one sample per eight clock cycle example embodiment, the DPD cells are configured for five times bandwidth and double memory for four antennas. In FIG. 5A-5C, the DPD cells are arranged sequentially, while the outputs of the summers in individual DPD blocks are added together, effectively computing one large filter with twice the memory.


In FIG. 6A, a one sample per two clock cycle example embodiment, the DPD cells are configured for five times BW with increased cross terms compared to the embodiments of FIG. 5A-5C. FIG. 6A is configured for a single antenna. In FIG. 6B, a one sample per four clock cycle example embodiment, the DPD cells are configured for five times BW with increased cross terms compared to the embodiments of FIG. 5A-5C. FIG. 6B is configured for dual antennas. In FIG. 6C, a one sample per eight clock cycle example embodiment, the DPD cells are configured for five times BW with increased cross terms compared to the embodiments of FIG. 5A-5C. FIG. 6C is configured for four antennas.


In FIG. 7A, a one sample per four clock cycle example embodiment, the DPD cells are configured for ten times BW for two antennas. In FIG. 7B, a one sample per eight clock cycle example embodiment, the DPD cells are configured for ten times BW for two antennas.



FIG. 8 provides a system block diagram of an example embodiment of a system of digital pre-distortion with the cross connection as provided in FIG. 7A. Terms from DPD cells 930a-930e are multiplexed in multiplexer 922. FIG. 8 provides a 1× mode embodiment.



FIGS. 9A-9C provide example embodiments of the DPD cells of FIG. 8. FIG. 9A provides an example embodiment of DPD cells 930 in FIG. 8.



FIGS. 10A and 10B provide example embodiments of DPD input sub-modules. In FIG. 10A, modes 1, 2, and 3, corresponding to the DPD in module 917 in FIG. 9, produce x1, x2, and x3 outputs that feed the first DPD cell 930 in FIG. 9. In FIG. 10B, mode 4 in which x and x2 outputs are combined to produce x3 output, produce x1, x2, and x3 outputs for that feed the first DPD cell 930 in FIG. 9. FIGS. 0C-E provide example embodiments of DPD output sub-modules. Modes 1-4 implement different example embodiments for nonlinear terms. The input and output sub-blocks provided in FIGS. 10A-E aggregate common processing functionality to save hardware.



FIG. 11 provides a system block diagram of an example embodiment of a system of digital pre-distortion with the cross connection as provided in FIG. 6B. Terms from DPD cells 1130a-1130e are multiplexed in multiplexer 1122. FIG. 11 provides a 2× mode embodiment. The example embodiment of FIG. 11 is a modified mode of the example embodiment of FIG. 10 in which two DPD blocks work in tandem to operate in 2× mode with maximum cross term capability.



FIG. 12 provides a flow diagram for an example embodiment of method 1200 of power amplifier digital pre-distortion. In block 1210, an input signal is received. In block 1220, the input signal is split into a real part and a complex part. In block 1230, a first delay is applied to the real part. In block 1240, a second delay is applied to the complex part. In block 1250, one or more non-linear functions are developed based on a determination of quantity of the one or more non-linear functions and available memory. In block 1260, the one or more non-linear functions are implemented to combine the real and complex data.


The flow chart of FIG. 12 shows the architecture, functionality, and operation of a possible implementation of the digital pre-distortion software. In this regard, each block represents a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order noted in FIG. 12. For example, two blocks shown in succession in FIG. 12 may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. Any process descriptions or blocks in flow charts should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the example embodiments in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved. In addition, the process descriptions or blocks in flow charts should be understood as representing decisions made by a hardware structure such as a state machine.


The logic of the example embodiment(s) can be implemented in hardware, software, firmware, or a combination thereof. In example embodiments, the logic is implemented in software or firmware that is stored in a memory and that is executed by a suitable instruction execution system. If implemented in hardware, as in an alternative embodiment, the logic can be implemented with any or a combination of the following technologies, which are all well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc. In addition, the scope of the present disclosure includes embodying the functionality of the example embodiments disclosed herein in logic embodied in hardware or software-configured mediums.


Software embodiments, which comprise an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, or communicate the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), and a portable compact disc read-only memory (CDROM) (optical). In addition, the scope of the present disclosure includes embodying the functionality of the example embodiments of the present disclosure in logic embodied in hardware or software-configured mediums.

Claims
  • 1. A digital pre-distortion apparatus in a data path comprising: an input to index sub-module that maps a complex input into a real signal;a real data tap delay line with Nr elements;a complex data tap delay line with Nc elements;a plurality K of non-linear functions, each non-linear function comprising at least one real input, at least one complex input and at least one complex output; anda configurable connectivity crossbar multiplexer that connects K of the Nr real tap delay line elements to real inputs of the K non-linear functions and that connects K of the Nc complex tap delay line elements to complex inputs of the K non-linear functions.
  • 2. The apparatus of claim 1, wherein the configurable connectivity crossbar multiplexer is configured to implement one or more non-linear functions to combine the complex data and the real data.
  • 3. The apparatus of claim 2, wherein the indices of the non-linear function are based on a determination of a quantity of non-linear functions and a determination of available memory.
  • 4. The apparatus of claim 1, wherein at least one of the non-linear functions is implemented with a look-up table (LUT).
  • 5. The apparatus of claim 4, wherein the contents of the LUT are updated without interrupting a flow of information on the data path.
  • 6. The apparatus of claim 1, wherein at least one of the non-linear functions is implemented with a polynomial.
  • 7. The apparatus of claim 6, wherein the polynomial is approximated with an interpolating look-up table (LUT), the interpolating performed between LUT entries.
  • 8. The apparatus of claim 1, wherein at least one of the non-linear functions is implemented with a look-up table (LUT) and polynomial to LUT parameters (PTT) engine.
  • 9. The apparatus of claim 8, wherein the PTT engine receives at least one of a polynomial coefficient, a basis function parameter, and a LUT index; calculates parameters of the LUT, and updates the LUT.
  • 10. The apparatus of claim 1, wherein the input to index sub-module implements at least one of |.|2, |.|, Log2 (|.|2), μ-law, and a look-up table (LUT).
  • 11. A method of pre-distortion processing on a data path comprising: receiving a complex input signal;mapping the complex input into a real signal;determining a number Nc of complex delay elements;determining a number Nr of real delay elements;determining a number K of non-linear function elements;applying the complex input signal to the Nc complex delay elements;applying the real signal to the Nr complex delay elements;applying the delayed real signal and delayed complex signal to the K non-linear function elements;combining the outputs of the K non-linear function elements; andtransmitting the combined outputs.
  • 12. The method of claim 11, wherein the step of mapping the complex input into a real signal is performed with an input to index sub-module.
  • 13. The method of claim 12, wherein the input to index sub-module implements at least one of |.|2, |.|, Log2 (|.|2), μ-law, and a look-up table (LUT).
  • 14. The method of claim 11, wherein the combining the outputs of the K non-linear functions comprises combining the outputs in a configurable connectivity crossbar multiplexer.
  • 15. The method of claim 11, wherein the indices of the non-linear function are based on the determination of K and a determination of available memory.
  • 16. The method of claim 11, wherein at least one of the non-linear functions is implemented with a look-up table (LUT).
  • 17. The method of claim 16, wherein the contents of the LUT are updated without interrupting a flow of information on the data path.
  • 18. The method of claim 11, wherein at least one of the non-linear functions is implemented with a polynomial.
  • 19. The method of claim 18, wherein the polynomial is approximated with an interpolating look-up table (LUT), the interpolating performed between LUT entries.
  • 20. The method of claim 11, wherein at least one of the non-linear functions is implemented with a look-up table (LUT) and polynomial to LUT parameters (PTT) engine.
  • 21. The method of claim 16, wherein the PTT engine receives at least one of a polynomial coefficient, a basis function parameter, and a LUT index; calculates parameters of the LUT, and updates the LUT.