Baseband equivalent volterra series for digital predistortion in multi-band power amplifiers

09659120 ยท 2017-05-23

Assignee

Inventors

Cpc classification

International classification

Abstract

Methods, systems and apparatus for modelling a power amplifier and pre-distorter fed by a multi-band signal are disclosed. According to one aspect, a method includes receiving a multi-band signal and generating a discrete base band equivalent, BBE, Volterra series based on the received multi-band signal, where the series has distortion products grouped according to determined shared kernels. The shared kernels are determined based on a transformation of a real-valued continuous-time pass band Volterra series without pruning of kernels.

Claims

1. A method of modelling a power amplifier fed by a multi-band signal input, the method comprising: receiving a multi-band signal; generating a discrete base band equivalent, BBE, Volterra series based on the received multi-band signal, the discrete BBE Volterra series having distortion products grouped according to determined shared kernels, the discrete BBE Volterra series being used to model the power amplifier; and applying the discrete BBE Volterra series to pre-distort the multi-band signal and to linearize the power amplifier; and the shared kernels being determined based on a transformation of a real-valued continuous-time pass band Volterra series without pruning of kernels.

2. The method of claim 1, wherein the shared kernels are determined based on the transformation of the real-valued continuous-time pass band Volterra series by: transforming the real-valued continuous time pass band Volterra series to a multi-frequency complex-valued envelope series; transforming the multi-frequency complex-valued envelope signal to a continuous-time pass band-only series; transforming the continuous-time pass band-only signal to a continuous-time baseband equivalent series; discretizing the continuous-time baseband equivalent signal to produce the discrete base band equivalent Volterra series; and identifying the shared kernels, each shared kernel having distortion products in common with another shared kernel.

3. The method of claim 2, wherein transforming the continuous-time pass band-only signal to a continuous-time baseband equivalent signal includes: expressing the continuous-time pass band-only series in convolution form; applying a Laplace transform to the convolution form to produce a Laplace domain expression; frequency shifting the Laplace domain expression to baseband to produce a baseband equivalent expression in the Laplace domain; and applying an inverse Laplace transform to the baseband equivalent expression to produce the continuous-time baseband equivalent series.

4. The method of claim 3, wherein a number of terms in the Laplace domain expression are reduced via symmetry.

5. The method of claim 3, further comprising grouping terms of the Laplace domain expression based on frequency intervals where distortion terms are not zero.

6. The method of claim 2, wherein discretizing the continuous-time baseband equivalent series to produce the discrete base band equivalent Volterra series includes: truncating the continuous-time baseband equivalent series to a finite non-linearity order; and expressing the truncated series as summations of non-linear distortion terms, with upper limits of the summations being memory depths assigned to each order of the non-linear distortion terms.

7. The method of claim 6, wherein a distortion term is a group of distortion products multiplied by a shared kernel.

8. A digital pre-distorter (DPD) system including a power amplifier receiving a multi-band input, the system comprising: a Volterra series DPD modelling unit, the DPD modelling unit configured to: calculate a discrete base band equivalent, BBE, Volterra series, the discrete BBE Volterra series having distortion products grouped according to determined shared kernels; applying the discrete BBE Volterra series to pre-distort the multi-band signal and to linearize the power amplifier; and the shared kernels being determined based on a transformation of a real-valued continuous-time pass band Volterra series without pruning of kernels.

9. The DPD system of claim 8, wherein the power amplifier is configured to produce an output in response to the multi-band input, the output of the power amplifier provided to the Volterra series DPD modelling unit to enable the Volterra series DPD modeling unit to compute the shared kernels based on the output of the power amplifier.

10. The DPD system of claim 9, further comprising a transmitter observation receiver configured to sample the output of the power amplifier and provide the sampled output to the Volterra series DPD modelling unit.

11. The DPD system of claim 8, wherein the distortion products and their associated kernels are determined by: transforming the real-valued continuous time pass band Volterra series to a multi-frequency complex-valued envelope series; transforming the multi-frequency complex-valued envelope signal to a continuous-time pass band-only series; transforming the continuous-time pass band-only signal to a continuous-time baseband equivalent series; discretizing the continuous-time baseband equivalent signal to produce the discrete base band equivalent Volterra series; and identifying the shared kernels, each shared kernel having distortion products in common with another shared kernel.

12. The DPD system of claim 11, wherein transforming the continuous-time pass band-only signal to a continuous-time baseband equivalent signal includes: expressing the continuous-time pass band-only series in convolution form; applying a Laplace transform to the convolution form to produce a Laplace domain expression; frequency shifting the Laplace domain expression to baseband to produce a baseband equivalent expression in the Laplace domain; and applying an inverse Laplace transform to the baseband equivalent expression to produce the continuous-time baseband equivalent series.

13. The DPD system of claim 12, wherein a number of terms in the Laplace domain expression are reduced via symmetry.

14. The DPD system of claim 12, wherein transforming the continuous-time pass band-only signal to a continuous-time baseband equivalent signal further comprises grouping terms of the Laplace domain expression based on frequency intervals where distortion terms are not zero.

15. The DPD system of claim 11, wherein discretizing the continuous-time baseband equivalent series to produce the discrete base band equivalent Volterra series includes: truncating the continuous-time baseband equivalent series to a finite non-linearity order; and expressing the truncated series as summations of non-linear distortion terms, with upper limits of the summations being memory depths assigned to each order of the non-linear distortion terms.

16. The DPD system of claim 15, wherein a distortion term is a group of distortion products multiplied by a shared kernel.

17. A Volterra series digital pre-distorter, DPD, modelling unit for modeling distortion of a power amplifier receiving a multi-band input, the modelling unit comprising: a memory module, the memory module configured to store terms of a discrete base band equivalent, BBE, Volterra series; a grouping module, the grouping module configured to group distortion products of the discrete BBE Volterra series according to determined shared kernels; a shared kernel determiner, the shared kernel determiner configured to determine the shared kernels based on a transformation of a real-valued continuous-time pass band Volterra series without pruning of kernels; and a series term calculator, the series term calculator configured to calculate the terms of the discrete base band equivalent Volterra series, the terms being the distortion products multiplied by their respective shared kernels; the modelling unit being further configured to send the discrete BBE Volterra series to a digital pre-distorter to pre-distort the multi-band signal and to linearize the power amplifier.

18. The Volterra series DPD modelling unit of claim 17, wherein the BBE Volterra series terms are based on the multi-band input.

19. The Volterra series DPD modelling unit of claim 18, wherein the multi-band input is a dual band input.

20. The Volterra series DPD modelling unit of claim 17, wherein the shared kernel determiner is further configured to determine the shared kernels via a least squares estimate based on the multi-band input and an output of the power amplifier.

21. The Volterra series DPD modelling unit of claim 17, wherein the kernels and distortion products are derived from the real-valued continuous-time pass band Volterra series by: transforming the real-valued continuous time pass band Volterra series to a multi-frequency complex-valued envelope series; transforming the multi-frequency complex-valued envelope signal to a continuous-time pass band-only series; transforming the continuous-time pass band-only signal to a continuous-time baseband equivalent series; discretizing the continuous-time baseband equivalent signal to produce the discrete base band equivalent Volterra series; and identifying the shared kernels, each shared kernel having distortion products in common.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 is a block diagram of a known power amplification architecture using a separate power amplifier per input signal;

(2) FIG. 2 is a block diagram of a known power amplification architecture using a single power amplifier;

(3) FIG. 3 is an idealized signal input/output diagram for a known single input/single output system;

(4) FIG. 4 is an idealized signal input/output diagram for a known dual input/dual output system;

(5) FIG. 5 is a block diagram of grouping of distortion terms grouped according to whether the terms are self-distortion terms or inter-band distortion terms;

(6) FIG. 6 is a plot of outputs of a power amplifier with no pre-distortion, with 2D DPD, and with dual band base band equivalent (BBE) Volterra series DPD for a first input signal of a first dual band input signal;

(7) FIG. 7 is a plot of outputs of a power amplifier with no pre-distortion, with 2D DPD, and with dual band base band equivalent (BBE) Volterra series DPD for a second input signals of the first dual band input signal;

(8) FIG. 8 is a plot of outputs of a power amplifier with no pre-distortion, with 2D DPD, and with dual band base band equivalent (BBE) Volterra series DPD for a first input signal of a second dual band input signal;

(9) FIG. 9 is a plot of outputs of a power amplifier with no pre-distortion, with 2D DPD, and with dual band base band equivalent (BBE) Volterra series DPD for a second input signals of the second dual band input signal;

(10) FIG. 10 is a plot of outputs of a power amplifier with no pre-distortion, with 2D DPD, and with dual band base band equivalent (BBE) Volterra series DPD for a first input signal of a third dual band input signal;

(11) FIG. 11 is a plot of outputs of a power amplifier with no pre-distortion, with 2D DPD, and with dual band base band equivalent (BBE) Volterra series DPD for a second input signals of the third dual band input signal;

(12) FIG. 12 is a block diagram of a digital pre-distortion power amplification system constructed in accordance with principles of the present invention;

(13) FIG. 13 is a block diagram of a DPD modelling unit constructed in accordance with principles of the present invention;

(14) FIG. 14 is a flowchart of an exemplary process of modelling a power amplifier fed by a multi-band input signal;

(15) FIG. 15 is a flowchart of an exemplary process of transforming a real-valued continuous-time pass band Volterra series to a discrete base band equivalent (BBE) Volterra series;

(16) FIG. 16 is a flowchart of an exemplary process of transforming a continuous-time pass band series to a continuous-time baseband equivalent series; and

(17) FIG. 17 is a flowchart of an exemplary process of discretizing the continuous-time baseband equivalent series to produce the discrete base band equivalent Volterra series.

DETAILED DESCRIPTION

(18) Before describing in detail exemplary embodiments that are in accordance with the present invention, it is noted that the embodiments reside primarily in combinations of apparatus components and processing steps related to digital pre-distortion of wideband power amplifiers fed by a multi-band signal. Accordingly, the system and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.

(19) As used herein, relational terms, such as first and second, top and bottom, and the like, may be used solely to distinguish one entity or element from another entity or element without necessarily requiring or implying any physical or logical relationship or order between such entities or elements.

(20) The Volterra series is an appropriate modeling framework for dual-band PAs which are recursive nonlinear dynamic systems with fading memory. The empirically pruned LPE Volterra series has been successfully applied to model and to linearize single-band PAs. However, application of a Volterra series to model and linearize a multi-band PA without pruning and having a manageable number of terms has not been presented. In some embodiments described herein, a BBE dual-band Volterra series formulation is derived from the original passband real-valued Volterra series to model and linearize dual-band PAs. This approach advantageously does not require pruning and the derivation set forth below is particularly attentive to addressing exponential growth in the number of coefficients experienced with the LPE approach. Thus, the present arrangement provides a method and system for modelling a power amplifier fed by a multi-band signal input. Methods described herein present a formulation of pre-distortion that transforms a continuous-time real valued Volterra series to a discrete base band equivalent Volterra series that has a reduced number of terms and is achieved without pruning. Steps for deriving the model are described below.

(21) Step 1: Continuous-time real-valued Volterra series modeling: The Volterra series framework is initially used to describe the relationship between the real pass-band signals at the system input and output:
y(t)=.sub.p=1.sup.NL.sub..sup..sub..sup.h.sub.p(.sub.1, . . . , .sub.p).sub.j=1.sup.px(t.sub.j)d.sub.j(6)
where x(t) and y(t) represent the PA input and output RF signals and NL is the nonlinearity order.

(22) Step 2: Real-valued to complex-valued envelope signal transformation: In the case of a dual-band PA, the band-limited input signal x(t) can be expressed as:

(23) x ( t ) = Re { x ~ 1 ( t ) j 1 t + x ~ 2 ( t ) j 2 t } = 1 2 ( x ~ 1 * ( t ) - j 1 t + x ~ 1 ( t ) j 1 t ) + ( 7 ) 1 2 ( x ~ 2 * ( t ) - j 2 t + x ~ 2 ( t ) j 2 t ) ( 8 )
where {tilde over (x)}.sub.1(t) and {tilde over (x)}.sub.2(t) represent the two complex baseband envelope signals that modulate the two different angular frequencies, .sub.1 and .sub.2. Substituting (8) into (7) yields an expression relating the output signal y(t) to {tilde over (x)}.sub.1(t), {tilde over (x)}.sub.2(t), .sub.1 to .sub.2 as follows:
y(t)=({tilde over (x)}.sub.1(t),{tilde over (x)}.sub.2(t), e.sup.jp.sup.1.sup.t, e.sup.jq.sup.2.sup.t); (p,q){1, . . . NL}.sup.2(9)
where the describing function is used to represent the real valued Volterra series (7). Since the output signal y(t) in (9) is a result of the application of a nonlinear function to a band-limited RF signal, it contains several spectrum components that involve multiple envelopes, {tilde over (y)}.sub.p,q(t), which modulate the mixing products, p.sub.1q.sub.2, of .sub.1 and .sub.2 as shown in (10):

(24) y ( t ) = .Math. p , q = NL , - NL p + q = NL 1 2 ( y ~ p , q * ( t ) .Math. - j ( p 1 + q 2 ) t + y ~ p , q ( t ) .Math. j ( p 1 + q 2 ) t ) = 1 2 ( y ~ 0 , 0 * ( t ) .Math. - 0 j t + y ~ 0 , 0 ( t ) .Math. 0 j t ) + 1 2 ( y ~ 1 , 0 * ( t ) .Math. - j 1 t ) + 1 2 ( y ~ 1 , 0 * ( t ) .Math. - j 1 t + y ~ 1 , 0 ( t ) j 1 t ) + 1 2 ( y ~ 0 , 1 * ( t ) .Math. - j 2 t + y ~ 0 , 1 ( t ) j 2 t ) + 1 2 ( y ~ 2 , - 1 * ( t ) .Math. - j ( 2 1 - 2 ) t + y ~ 2 , - 1 ( t ) j ( 2 1 - 2 ) t ) + 1 2 ( y ~ - 1 , 2 * ( t ) .Math. - j ( 2 2 - 1 ) t + y ~ - 1 , 2 ( t ) j ( 2 2 - 1 ) t ) .Math. + 1 2 ( y ~ NL , 0 * ( t ) .Math. NL j 1 t + y ~ NL , 0 ( t ) NL j 1 t ) + 1 2 ( y ~ 0 , NL * ( t ) .Math. - NL j 2 t + y ~ 0 , NL ( t ) NL j 2 t ) ( 10 )
Here, {tilde over (y)}_0,0(t) denotes the envelope at DC, {tilde over (y)}_1,0(t) and {tilde over (y)}_0,1(t) denote the envelopes of the first order in-band signals, and {tilde over (y)}_(2, 1)(t) and {tilde over (y)}_(1,2)(t), denote the envelopes of the third order inter-band signals. Finally, {tilde over (y)}_(0,NL)(t) and {tilde over (y)}_(NL,0)(t), represent the first and second NLth harmonics, respectively.

(25) Step 3: Multi frequency to passband only transformation: Equating the terms on the right sides of (9) and (10) that share the same frequency range (fundamental, mixing products) yields a multi-frequency model consisting of several distinct equations that relate the output envelopes {tilde over (y)}.sub.p,q(t) to {tilde over (x)}.sub.1(t), {tilde over (x)}.sub.2(t), .sub.1 and .sub.2. Since we are mainly interested in the relationship between the envelopes of the output and input signals around the two carriers' frequencies, only the passband components of the PA output are considered in the equation below:

(26) y pb ( t ) = 1 2 ( y ~ 1 * ( t ) .Math. - j 1 t + y ~ 1 ( t ) j 1 t ) + 1 2 ( y ~ 2 * ( t ) .Math. - j 2 t + y ~ 2 ( t ) j 2 t ) = 1 2 ( y 1 * ( t ) ) + 1 2 ( y 2 * ( t ) + y 2 ( t ) ) ( 11 )
where y.sub..sub.1(t)={tilde over (y)}.sub..sub.1(t)e.sup.j.sup.1.sup.t and y.sub..sub.2(t)={tilde over (y)}.sub..sub.2(t)e.sup.j.sup.2.sup.t

(27) Additional derivations are applied to produce the detailed expression for the first term in (11), y.sub..sub.1(t), around the first frequency Similar derivations can be used to produce the expression of the second frequency term, y.sub..sub.2(t), which can be modeled as a summation of the Volterra series nonlinear terms y.sub..sub.1.sub.,2k+1(t) of order 2k+1. The term can also be expressed as a function of the envelopes of the nonlinear terms, y.sub..sub.1.sub.,2k+1(t), denoted hereafter {tilde over (y)}.sub..sub.1.sub.,2k+1(t) and the angular frequency .sub.1 as follows:

(28) 0 y 1 ( t ) = .Math. k = 0 y 1 , 2 k + 1 ( t ) = ( .Math. k = 0 y ~ 1 , 2 k + 1 ( t ) ) .Math. j 1 t ( 12 )

(29) It is worth noting that only odd powered terms are retained and even terms are discarded since they do not appear in the pass band response. Equating the terms on the right sides of expanded (9) and (12) yields a continuous BBE DIDO Volterra series that expresses y.sub..sub.1.sub.,2k+1(t) as functions of {tilde over (x)}(t), and .sub.1. Below is the expression for y.sub..sub.1.sub.,1(t) and y.sub..sub.1.sub.,3(t).

(30) y 1 , 1 ( t ) = - h 1 ( 1 ) .Math. x ~ 1 ( t - 1 ) j 1 ( t - 1 ) .Math. 1 y 1 , 3 ( t ) = - - - h 3 ( 1 , 2 , 3 ) .Math. ( x ~ 1 ( t - 1 ) j 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) j 1 ( t - 2 ) ) ( x ~ ( t - 3 ) j 1 ( t - 2 ) ) * + ( x ~ 1 ( t - 1 ) j 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) j 1 ( t - 2 ) ) * ( x ~ 1 ( t - 3 ) j 1 ( t - 3 ) ) + ( x ~ 1 ( t - 1 ) j 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) j 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) j 2 ( t - 3 ) ) * + ( x ~ 1 ( t - 1 ) j 1 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) j 2 ( t - 2 ) ) * + ( x ~ 1 ( t - 1 ) j 1 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) j 2 ( t - 2 ) ) * ( x ~ 2 ( t - 3 ) j 2 ( t - 3 ) ) + ( x ~ 2 ( t - 1 ) j 2 ( t - 1 ) ) * ( x ~ 1 ( t - 2 ) j 1 ( t - 2 ) ) ( x ~ 2 ( t - 3 ) j 2 ( t - 3 ) ) + ( x ~ 2 ( t - 1 ) j 2 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) j 1 ( t - 2 ) ) ( x ~ 2 ( t - 3 ) j 2 ( t - 3 ) ) * + ( x ~ 2 ( t - 1 ) j 2 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) j 2 ( t - 2 ) ) * ( x ~ 1 ( t - 3 ) j 1 ( t - 3 ) ) + ( x ~ 2 ( t - 1 ) j 2 ( t - 1 ) ) * ( x ~ 2 ( t - 2 ) j 2 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) j 1 ( t - 3 ) ) ( 13 ) } .Math. 3 2 1 ( 14 )

(31) Step 4: Continuous-time Passband to baseband equivalent transformation: In order to be implementable in a digital processor with manageable complexity, a pass band model should be transformed into a baseband equivalent model. Such a model enables mimicking the RF nonlinear dynamic distortion while applying all the computations in baseband at a low sampling rate. The baseband equivalent model is obtained by frequency translating the pass band Volterra series model to baseband. For that purpose, the continuous time pass band Volterra series expressions of (13) and (14) are first rewritten in convolution form. The convolution form for) y.sub..sub.1.sub.,1(t) is given by:
y.sub..sub.1.sub.,1(t)=h.sub.1(t)*({tilde over (x)}.sub.1(t)e.sup.j.sup.1.sup.t)(15)

(32) As the kernel h.sub.3 is tri-variate, h.sub.3(.sub.1, .sub.2, .sub.3), and the output y(t) is mono-variate, the output function is re-assigned as follows: y.sub..sub.1.sub.,3(t)=y.sub..sub.1.sub.,3(t.sub.1, t.sub.2, t.sub.3).sub.|t.sub.1.sub.=t.sub.2.sub.=t.sub.3.sub.=tcustom charactery.sub..sub.1.sub.,3(t, t, t). The convolution form is given below.

(33) y 1 , 3 ( t 1 , t 2 , t 3 ) = h 3 ( t 1 , t 2 , t 3 ) * { ( x ~ 1 ( t 1 ) j 1 t 1 ) ( x ~ 1 ( t 2 ) j 1 t 2 ) ( x ~ 1 ( t 3 ) j 1 t 3 ) * + ( x ~ 1 ( t 1 ) j 1 t 1 ) ( x ~ 1 ( t 2 ) j 1 t 2 ) ( x ~ 1 ( t 3 ) j 1 t 3 ) + ( x ~ 1 ( t 1 ) j 1 t 1 ) * ( x ~ 1 ( t 2 ) j 1 t 2 ) ( x ~ 1 ( t 3 ) j 1 t 3 ) + ( x ~ 1 ( t 1 ) j 1 t 1 ) ( x ~ 2 ( t 2 ) j 2 t 2 ) ( x ~ 2 ( t 3 ) j 2 t 3 ) * + ( x ~ 1 ( t 1 ) j 1 t 1 ) ( x ~ 2 ( t 2 ) j 2 t 2 ) * ( x ~ 2 ( t 3 ) j 2 t 3 ) + ( x ~ 2 ( t 1 ) j 2 t 1 ) * ( x ~ 1 ( t 2 ) j 1 t 2 ) ( x ~ 2 ( t 3 ) j 2 t 3 ) + ( x ~ 2 ( t 1 ) j 2 t 1 ) * ( x ~ 1 ( t 2 ) j 1 t 2 ) ( x ~ 2 ( t 3 ) j 2 t 3 ) + ( x ~ 2 ( t 1 ) j 2 t 1 ) * ( x ~ 2 ( t 2 ) j 2 t 2 ) * ( x ~ 1 ( t 3 ) j 1 t 3 ) + ( x ~ 2 ( t 1 ) j 2 t 1 ) * ( x ~ 2 ( t 2 ) j 2 t 2 ) ( x ~ 1 ( t 3 ) j 1 t 3 ) } . ( 16 )

(34) The application of the Laplace transform to (15) and (16) yield the following expressions:

(35) Y 1 , 1 = ( y 1 , 1 ( t ) ) = ( h 1 ( t ) ) .Math. ( ( x ~ 1 ( t ) j 1 t ) ) = H 1 ( s ) X ~ 1 ( s - j 1 ) Y 1 , 3 ( s 1 , s 2 , s 3 ) = ( y 1 , 3 ( t 1 , t 2 , t 3 ) ) = ( h 3 ( t 1 , t 2 , t 3 ) ) .Math. { ( ( x ~ 1 ( t 1 ) j 1 t 1 ) ( x ~ 1 ( t 2 ) j 1 t 2 ) ( x ~ 1 ( t 2 ) j 1 t 3 ) * ) + ( ( x ~ 1 ( t 1 ) j 1 t 1 ) ( x ~ 1 ( t 2 ) j 1 t 2 ) * ( x ~ 1 ( t 3 ) j 1 t 3 ) ) + ( ( x ~ 1 ( t 1 ) j 1 t 1 ) * ( x ~ 1 ( t 2 ) j 1 t 2 ) ( x ~ 1 ( t 3 ) j 1 t 3 ) ) + ( ( x ~ 1 ( t 1 ) j 1 t 1 ) ( x ~ 2 ( t 2 ) j 2 t 2 ) ( x ~ 2 ( t 3 ) j 2 t 3 ) * ) + ( ( x ~ 1 ( t 1 ) j 1 t 1 ) ( x ~ 2 ( t 2 ) j 2 t 2 ) * ( x ~ 2 ( t 3 ) j 2 t 3 ) ) + ( ( x ~ 1 ( t 1 ) j 1 t 1 ) ( x ~ 2 ( t 2 ) j 2 t 2 ) * ( x ~ 2 ( t 3 ) j 2 t 3 ) ) + ( ( x ~ 2 ( t 1 ) j 1 t 2 ) * ( x ~ 1 ( t 2 ) j 1 t 2 ) ( x ~ 2 ( t 3 ) j 2 t 3 ) ) + ( ( x ~ 2 ( t 1 ) j 2 t 1 ) ( x ~ 1 ( t 2 ) j 1 t 2 ) ( x ~ 2 ( t 3 ) j 2 t 3 ) * ) + ( ( x ~ 2 ( t 1 ) j 2 t 1 ) ( x ~ 2 ( t 2 ) j 2 t 2 ) * ( x ~ 1 ( t 3 ) j 1 t 3 ) ) + ( ( x ~ 1 ( t 1 ) j 2 t 1 ) * ( x ~ 2 ( t 2 ) j 1 t 3 ) ) } = ( h 3 ( t 1 , t 2 , t 3 ) ) .Math. { ( ( x ~ 1 ( t 1 ) j 1 t 1 ) ) ( ( x ~ 1 ( t 2 ) j 1 t 2 ) ) ( ( x ~ 1 ( t 3 ) j 1 t 3 ) * ) + ( ( x ~ 1 ( t 1 ) j 1 t 1 ) ) ( ( x ~ 1 ( t 1 ) j 1 t 1 ) ) ( ( x ~ 1 ( t 2 ) j 1 t 3 ) ) + ( ( x ~ 1 ( t 1 ) j 1 t 1 ) * ) ( ( x ~ 1 ( t 2 ) j 1 t 2 ) ) ( ( x ~ 1 ( t 3 ) j 1 t 3 ) ) + ( ( x ~ 1 ( t 1 ) j 1 t 1 ) ) ( ( x ~ 2 ( t 2 ) j 2 t 2 ) ) ( ( x ~ 2 ( t 3 ) j 2 t 3 ) * ) + ( ( x ~ 1 ( t 1 ) j 1 t 1 ) ) ( ( x ~ 2 ( t 2 ) j 2 t 2 ) * ) ( ( x ~ 2 ( t 3 ) j 2 t 3 ) ) + ( ( x ~ 2 ( t 1 ) j 2 t 1 ) * ) ( ( x ~ 1 ( t 2 ) j 1 t 2 ) ) ( ( x ~ 2 ( t 3 ) j 2 t 3 ) ) + ( ( x ~ 2 ( t 1 ) j 2 t 1 ) ) ( ( x ~ 1 ( t 2 ) j 1 t 2 ) ) ( ( x ~ 2 ( t 3 ) j 2 t 3 ) * ) + ( ( x ~ 2 ( t 1 ) j 2 t 1 ) ) ( ( x ~ 2 ( t 2 ) j 2 t 2 ) * ) ( ( x ~ 1 ( t 3 ) j 1 t 3 ) ) + ( ( x ~ 2 ( t 1 ) j 2 t 1 ) * ) ( ( x ~ 2 ( t 2 ) j 2 t 2 ) ) ( ( x ~ 1 ( t 3 ) j 1 t 3 ) ) } . = H 3 ( s 1 , s 2 , s 3 ) .Math. { X ~ 1 ( s 1 - j 1 ) X 1 * ( ( s 3 - j 1 ) * ) ) + X ~ 1 ( s 1 - j 1 ) X ~ 1 * ( ( s 2 - j 1 ) * ) X ~ 1 ( s 3 - j 1 ) + X ~ 1 * ( ( s 1 - j 1 ) * ) X ~ 1 ( s 2 - j 1 ) X ~ 1 ( s 3 - j 1 ) + X ~ 1 ( s 1 - j 1 ) X ~ 2 ( s 2 - j 2 ) X ~ 2 * ( ( s 3 - j 2 ) * ) + X ~ 1 ( s 1 - j 1 ) X ~ 2 * ( ( s 2 - j 2 ) * ) X ~ 2 ( s 3 - j 2 ) + X ~ 2 * ( ( s 1 - j 2 ) * ) X ~ 1 ( s 2 - j 1 ) X ~ 2 ( s 3 - j 2 ) + X ~ 2 ( s 1 - j 2 ) X ~ 1 ( s 2 - j 1 ) X ~ 2 * ( ( s 3 - j 2 ) * ) + X ~ 2 ( s 1 - j 2 ) X ~ 2 * ( ( s 2 - j 2 ) * ) X ~ 1 ( s 3 - j 1 ) + X ~ 2 * ( ( s 1 - j 2 ) * ) X ~ 2 ( s 2 - j 2 ) X ~ 1 ( s 3 - j 1 ) } ( 17 )

(36) Since {tilde over (X)}.sub.1 and {tilde over (X)}.sub.2 are band limited signals, the third order distortion terms in (18) are non-zero only in a range of a frequency intervals. For example, {tilde over (X)}.sub.1(s.sub.1j.sub.1){tilde over (X)}.sub.2(s.sub.2j.sub.2){tilde over (X)}.sub.2*((s.sub.3j.sub.2)*) is non-zero only when s.sub.1 I.sub.1, s.sub.2 I.sub.2, s.sub.3 I.sub.2, where

(37) I 1 = [ 1 - B 2 , 1 + B 2 ] ; I 2 = [ 2 - B 2 , 2 + B 2 ]
where B designates the bandwidth of the distortion term. Accordingly, one can redefine H.sub.3(s.sub.1, s.sub.2, s.sub.3) as follows:

(38) H 3 ( s 1 , s 2 , s 3 ) = { H 3 , s ( s 1 , s 2 , s 3 ) for s i I 1 , i = 1 ; 2 ; 3 H 3 , d 1 ( s 1 , s 2 , s 3 ) for s 1 I 1 , s i I 2 i = 2 ; 3 H 3 , d 2 ( s 1 , s 2 , s 3 ) for s 2 I 1 , s i I 2 i = 1 ; 3 H 3 , d 3 ( s 1 , s 2 , s 3 ) for s 3 I 1 , s i I 2 i = 1 ; 2
Hence, (18) can be rewritten as

(39) Y 1 , 3 ( s 1 , s 2 , s 3 ) = Y 1 , 3 , 1 ( s 1 , s 2 , s 3 ) + Y 1 , 3 , 2 ( s 1 , s 2 , s 3 ) + Y 1 , 3 , 3 ( s 1 , s 2 , s 3 ) + Y 1 , 3 , 4 ( s 1 , s 2 , s 3 ) where Y 1 , 3 , 1 ( s 1 , s 2 , s 3 ) = H 3 , s ( s 1 , s 2 , s 3 ) .Math. { X ~ 1 ( s 1 - j 1 ) X ~ 1 ( s 2 - j 1 ) X ~ 1 * ( ( s 3 - j 1 ) * ) + X ~ 1 ( s 1 - j 1 ) X ~ 1 * ( ( s 2 - j 1 ) * ) X ~ 1 ( s 3 - j 1 ) + X ~ 1 * ( ( s 1 - j 1 ) * ) X ~ 1 ( s 2 - j 1 ) X ~ 1 ( s 3 - j 1 ) } Y 1 , 3 , 2 ( s 1 , s 2 , s 3 ) = H 3 , d 1 ( s 1 , s 2 , s 3 ) .Math. { X ~ 1 ( s 1 - j 1 ) X ~ 2 ( s 2 - j 2 ) X ~ 2 * ( ( s 3 - j 2 ) * ) + X ~ 1 ( s 1 - j 1 ) X ~ 2 * ( ( s 2 - j 2 ) * ) X ~ 2 ( s 3 - j 2 ) } Y 1 , 3 , 3 ( s 1 , s 2 , s 3 ) = H 3 , d 2 ( s 1 , s 2 , s 3 ) .Math. { X 2 * ~ ( ( s 1 - j 2 ) * ) X ~ 1 ( s 2 - j 1 ) X ~ 2 ( s 3 - j 2 ) + X ~ 2 ( s 1 - j 2 ) X ~ 1 ( s 2 - j 1 ) X 2 * ~ ( ( s 3 - j 2 ) * ) } Y 1 , 3 , 4 ( s 1 , s 2 , s 3 ) = H 3 , d 3 ( s 1 , s 2 , s 3 ) .Math. { X 2 ~ ( s 1 - j 2 ) X 2 * ~ ( ( s 2 - j 2 ) * ) X ~ 1 ( s 3 - j 1 ) + X 2 * ~ ( ( s 1 - j 2 ) * ) X ~ 2 ( s 2 - j 2 ) X 1 ~ ( s 3 - j 1 ) } ( 19 )

(40) Exploiting the symmetry of H_3 (s_1,s_2,s_3), yields the following relation H.sub.3 (s.sub.1, s.sub.2, s.sub.3)=H.sub.3(s.sub.2, s.sub.1, s.sub.3)=H.sub.3(s.sub.3, s.sub.2, s.sub.1) s.sub.1, s.sub.2, s.sub.3 from which the following equalities can be deduced.
H.sub.3,d1(s.sub.1,s.sub.2,s.sub.3)=H.sub.3,d2(s.sub.2,s.sub.1,s.sub.3)=H.sub.3,d3(s.sub.3,s.sub.2,s.sub.1)

(41) Consequently a single kernel H.sub.3,d can be used instead of the three separate ones where only the variable order is adjusted each time as shown below:
H.sub.3,d1(s.sub.1,s.sub.2,s.sub.3)=H.sub.3,d(s.sub.1,s.sub.2,s.sub.3)
H.sub.3,d2(s.sub.1,s.sub.2,s.sub.3)=H.sub.3,d(s.sub.2,s.sub.1,s.sub.3)(20)
H.sub.3,d3(s.sub.1,s.sub.2,s.sub.3)=H.sub.3,d(s.sub.3,s.sub.2,s.sub.1)
Substituting (20) in (19) yields a new expression

(42) Y 1 , 3 , 1 ( s 1 , s 2 , s 3 ) = H 3 , s ( s 1 , s 2 , s 3 ) .Math. { X ~ 1 ( s 1 - j 1 ) X ~ 1 ( s 2 - j 1 ) X ~ 1 * ( ( s 3 - j 1 ) * ) + X ~ 1 ( s 1 - j 1 ) X ~ 1 * ( ( s 2 - j 1 ) * ) X ~ 1 ( s 3 - j 1 ) + X ~ 1 * ( ( s 1 - j 1 ) * ) X ~ 1 ( s 2 - j 1 ) X ~ 1 ( s 3 - j 1 ) } Y 1 , 3 , 2 ( s 1 , s 2 , s 3 ) = H 3 , d ( s 1 , s 2 , s 3 ) .Math. { X ~ 1 ( s 1 - j 1 ) X ~ 2 ( s 2 - j 2 ) X ~ 2 * ( ( s 3 - j 2 ) * ) + X ~ 1 ( s 1 - j 1 ) X ~ 2 * ( ( s 2 - j 2 ) * ) X ~ 2 ( s 3 - j 2 ) } Y 1 , 3 , 3 ( s 1 , s 2 , s 3 ) = H 3 , d ( s 2 , s 1 , s 3 ) .Math. { X 2 * ~ ( ( s 1 - j 2 ) * ) X ~ 1 ( s 2 - j 1 ) X ~ 2 ( s 3 - j 2 ) + X ~ 2 ( s 1 - j 2 ) X ~ 1 ( s 2 - j 1 ) X 2 * ~ ( ( s 3 - j 2 ) * ) } Y 1 , 3 , 4 ( s 1 , s 2 , s 3 ) = H 3 , d ( s 3 , s 2 , s 1 ) .Math. { X 2 ~ ( s 1 - j 2 ) X 2 * ~ ( ( s 2 - j 2 ) * ) X ~ 1 ( s 3 - j 1 ) + X 2 * ~ ( ( s 1 - j 2 ) * ) X ~ 2 ( s 2 - j 2 ) X 1 ~ ( s 3 - j 1 ) } ( 21 )

(43) The application of a frequency translation in Laplace domain to (17) and (21) allows for passband to baseband equivalent transformation of y.sub..sub.1.sup.,1 and y.sub..sub.1.sub.,3(t) in the time domain. The frequency translation of j.sub.k is performed by replacing s.sub.i in (17) an (21) with u.sub.i=s.sub.ij.sub.k; i=1, 2, 3; k=1, 2. Hence, the application of the frequency translation to Y.sub..sub.1.sub.,1(s). Y.sub..sub.1.sub.,3(s.sub.1, s.sub.2, s.sub.3). H.sub.1(s), H.sub.3,s(s.sub.1, s.sub.2, s.sub.3), and H.sub.3,d(s.sub.1, s.sub.2, s.sub.3) yields the following baseband equivalent expressions in the Laplace domain.

(44) Y ~ 1 , 1 ( u 1 ) = Y 1 , 1 ( u 1 + j 1 ) = H 1 ( u 1 + j 1 ) X ~ 1 ( u 1 ) = H ~ 1 ( u 1 ) X ~ ( u 1 ) ( 22 ) Y ~ 1 , 3 ( u 1 , u 2 , u 3 ) = Y ~ 1 , 3 , 1 ( u 1 , u 2 , u 3 ) + Y ~ 1 , 3 , 2 ( u 1 , u 2 , u 3 ) + Y ~ 1 , 3 , 3 ( u 1 , u 2 , u 3 ) + Y ~ 1 , 3 , 4 ( u 1 , u 2 , u 3 ) ( 23 ) where : Y ~ 1 , 3 , 1 ( u 1 , u 2 , u 3 ) = Y 1 , 3 , 1 ( u 1 + j 1 , u 2 + j 1 , u 3 + j 1 ) = H 3 , s ( u 1 + j 1 , u 2 + j 1 , u 3 + j 1 ) .Math. { X ~ 1 ( u 1 ) X ~ 1 ( u 2 ) X ~ 1 * ( ( u 3 ) * ) + X ~ 1 ( u 1 ) X ~ 1 * ( ( u 2 ) * ) X ~ 1 ( u 3 ) + X ~ 1 * ( ( u 1 ) * ) X ~ 1 ( u 2 ) X ~ 1 ( u 3 ) } = H ~ 3 , s ( u 1 , u 2 , u 3 ) .Math. { X ~ 1 ( u 1 ) X ~ 1 ( u 2 ) X ~ 1 * ( ( u 3 ) * ) + X ~ 1 ( u 1 ) X ~ 1 * ( ( u 2 ) * ) X ~ 1 ( u 3 ) + X ~ 1 * ( ( u 1 ) * ) X ~ 1 ( u 2 ) X ~ 1 ( u 3 ) } Y ~ 1 , 3 , 2 ( u 1 , u 2 , u 3 ) = Y 1 , 3 , 2 ( u 1 + j 1 , u 2 + j 2 , u 3 + j 2 ) = H 3 , d ( u 1 + j 1 , u 2 + j 2 , u 3 + j 2 ) .Math. { X ~ 1 ( u 1 ) X ~ 2 ( u 2 ) X ~ 2 * ( ( u 3 ) * ) + X ~ 1 ( u 1 ) X ~ 2 * ( ( u 2 ) * ) X ~ 2 ( u 3 ) } = H ~ 3 , d ( u 1 , u 2 , u 3 ) .Math. { X ~ 1 ( u 1 ) X ~ 2 ( u 2 ) X ~ 2 * ( ( u 3 ) * ) + X ~ 1 ( u 1 ) X ~ 2 * ( ( u 2 ) * ) X ~ 2 ( u 3 ) } Y ~ 1 , 3 , 3 ( u 1 , u 2 , u 3 ) = Y 1 , 3 , 3 ( u 1 + j 2 , u 2 + j 1 , u 3 + j 2 ) = H 3 , d ( u 2 + j 1 , u 1 + j 2 , u 3 + j 2 ) .Math. { X ~ 2 * ( ( u 1 ) * ) X ~ 1 ( u 2 ) X ~ 2 ( u 3 ) + X ~ 2 ( u 1 ) X ~ 1 ( u 2 ) X ~ 2 * ( u 3 ) * ) } = H ~ 3 , d ( u 2 , u 1 , u 3 ) .Math. { X ~ 2 * ( ( u 1 ) * ) X ~ 1 ( u 2 ) X ~ 2 ( u 3 ) + X ~ 2 ( u 1 ) X ~ 1 ( u 2 ) X ~ 2 * ( ( u 3 ) * ) } Y ~ 1 , 3 , 4 ( u 1 , u 2 , u 3 ) = Y 1 , 3 , 4 ( u 1 + j 2 , u 2 + j 2 , u 3 + j 1 ) = H 3 , d ( u 3 + j 1 , u 2 + j 2 , u 1 + j 2 ) .Math. { X ~ 2 ( u 1 ) X ~ 2 * ( ( u 2 ) * ) X ~ 1 ( u 3 ) + X ~ 2 * ( ( u 1 ) * ) X ~ 2 ( u 2 ) X ~ 1 ( u 3 ) } = H ~ 3 , d ( u 3 , u 2 , u 1 ) .Math. { X ~ 2 ( u 1 ) X ~ 2 * ( ( u 2 ) * ) X ~ 1 ( u 3 ) + X ~ 2 * ( ( u 1 ) * ) X ~ 2 ( u 2 ) X ~ 1 ( u 3 ) }

(45) The application of the inverse Laplace to (22) and (23) yields the following time domain expressions of the baseband equivalent terms:

(46) y ~ 1 , 1 ( t ) = - h ~ 1 ( 1 ) .Math. x ~ 1 ( t - 1 ) .Math. 1 y ~ 1 , 3 , 1 ( t ) = - - - h ~ 3 , s ( 1 , 2 , 3 ) .Math. { ( x ~ 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) * + ( x ~ 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) * ( x ~ 1 ( t - 3 ) ) + ( x ~ 1 ( t - 1 ) ) * ( x ~ 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) } .Math. 3 2 1 y ~ 1 , 3 , 2 ( t ) = - - - h ~ 3 , d ( 1 , 2 , 3 ) .Math. { ( x ~ 1 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) ) * + ( x ~ 2 ( t - 3 ) ) + ( x ~ 1 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) ) * ( x ~ 2 ( t - 3 ) ) } .Math. 3 2 1 y ~ 1 , 3 , 3 ( t ) = - - - h ~ 3 , d ( 2 , 1 , 3 ) .Math. { + ( x ~ 2 ( t - 1 ) ) * ( x ~ 1 ( t - 2 ) ) ( x ~ 2 ( t - 3 ) ) + ( x ~ 2 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) ( x ~ 2 ( t - 3 ) ) * } .Math. 3 2 1 y ~ 1 , 3 , 4 ( t ) = - - - h ~ 3 , d ( 3 , 2 , 1 ) .Math. { + ( x ~ 2 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) ) * ( x ~ 1 ( t - 3 ) ) + ( x ~ 2 ( t - 1 ) ) * ( x ~ 2 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) } } .Math. 3 2 1 ( 24 )

(47) Swapping .sub.2with .sub.1 in {tilde over (y)}.sub..sub.1.sub.,3,3(t) and .sub.3with .sub.1 in {tilde over (y)}.sub..sub.1.sub.,3,4 yields the following equality
{tilde over (y)}.sub..sub.1.sub.,3,2(t)={tilde over (y)}.sub..sub.1.sub.,3,3(t)={tilde over (y)}.sub..sub.1.sub.,3,4(t)
Hence, the third order baseband equivalent Volterra term could be re-written as:

(48) 0 y ~ 1 , 3 ( t ) = y ~ 1 , 3 , 1 ( t ) + 3 y ~ 1 , 3 , 2 ( t ) = y ~ 1 , 3 , s ( t ) + y ~ 1 , 3 , d ( t ) ( 25 )
where {tilde over (y)}.sub..sub.1.sub.,3,s(t)={tilde over (y)}.sub..sub.1.sub.,3,1(t) designates the PA third order single-band self-distortion term 20 and {tilde over (y)}.sub..sub.1.sub.,3,d(t)=3{tilde over (y)}.sub..sub.1.sub.,3,2(t) denotes the PA third order dual-band inter-band-distortion term 22, as shown in FIG. 5. These terms are, collectively, the baseband equivalent Volterra series which, when discretized as explained below, model the pre-distortion of a dual band power amplifier.

(49) The same derivations were applied to construct the fifth order Volterra distortion term expression which is found to be

(50) y ~ 1 , 5 ( t ) = y ~ 1 , 5 , s ( t ) + y ~ 1 , 5 , d1 ( t ) + y ~ 1 , 5 d2 ( t ) where .Math. y ~ 1 , 5 , s ( t ) = - - - - - h ~ 5 , s ( 1 , 2 , 3 , 4 , 5 ) .Math. { ( x ~ 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) ( x ~ 1 ( t - 4 ) ) * ( x ~ 1 ( t - 5 ) ) * + ( x ~ 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) * ( x ~ 1 ( t - 4 ) ) ( x ~ 1 ( t - 5 ) ) * + ( x ~ 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) * ( x ~ 1 ( t - 3 ) ) ( x ~ 1 ( t - 4 ) ) ( x ~ 1 ( t - 5 ) ) * + ( x ~ 1 ( t - 1 ) ) * ( x ~ 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) ( x ~ 1 ( t - 4 ) ) ( x ~ 1 ( t - 5 ) ) * + ( x ~ 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) * ( x ~ 1 ( t - 4 ) ) * ( x ~ 1 ( t - 1 ) ) + ( x ~ 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) * ( x ~ 1 ( t - 3 ) ) ( x ~ 1 ( t - 4 ) ) * ( x ~ 1 ( t - 5 ) ) + ( x ~ 1 ( t - 1 ) ) * ( x ~ 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) ( x ~ 1 ( t - 4 ) ) * ( x ~ 1 ( t - 5 ) ) + ( x ~ 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) * ( x ~ 1 ( t - 3 ) ) * ( x ~ 1 ( t - 4 ) ) ( x ~ 1 ( t - 5 ) ) + ( x ~ 1 ( t - 1 ) ) * ( x ~ 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) * ( x ~ 1 ( t - 4 ) ) ( x ~ 1 ( t - 5 ) ) + ( x ~ 1 ( t - 1 ) ) * ( x ~ 1 ( t - 2 ) ) * ( x ~ 1 ( t - 3 ) ) ( x ~ 1 ( t - 4 ) ) ( x ~ 1 ( t - 5 ) ) } .Math. 5 4 3 2 1 y ~ 1 , 5 , d 1 ( t ) = - - - - - h ~ 5 , d 1 ( 1 , 2 , 3 , 4 , 5 ) .Math. { + ( x ~ 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) * ( x ~ 1 ( t - 3 ) ) ( x ~ 2 ( t - 4 ) ) ( x ~ 2 ( t - 5 ) ) * + ( x ~ 1 ( t - 1 ) ) * ( x ~ 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) ( x ~ 2 ( t - 4 ) ) ( x ~ 2 ( t - 5 ) ) * + ( x ~ 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) * ( x ~ 2 ( t - 4 ) ) * ( x ~ 2 ( t - 5 ) ) + ( x ~ 1 ( t - 1 ) ) ( x ~ 1 ( t - 2 ) ) * ( x ~ 1 ( t - 3 ) ) ( x ~ 2 ( t - 4 ) ) * ( x ~ 2 ( t - 5 ) ) + ( x ~ 1 ( t - 1 ) ) * ( x ~ 1 ( t - 2 ) ) ( x ~ 1 ( t - 3 ) ) ( x ~ 2 ( t - 4 ) ) * ( x ~ 2 ( t - 5 ) ) } .Math. 5 4 3 2 1 y ~ 1 , 5 , d 2 ( t ) = - - - - - h ~ 5 , d 1 ( 1 , 2 , 3 , 4 , 5 ) .Math. { ( x ~ 1 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) ) ( x ~ 2 ( t - 3 ) ) ( x ~ 2 ( t - 4 ) ) * ( x ~ 2 ( t - 5 ) ) * + ( x ~ 1 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) ) ( x ~ 2 ( t - 3 ) ) * ( x ~ 2 ( t - 3 ) ) ( x ~ 2 ( t - 4 ) ) ( x ~ 2 ( t - 5 ) ) * + ( x ~ 1 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) ) * ( x ~ 2 ( t - 3 ) ) ( x ~ 2 ( t - 4 ) ) ( x ~ 2 ( t - 5 ) ) * + ( x ~ 1 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) ) ( x ~ 2 ( t - 3 ) ) * ( x ~ 2 ( t - 4 ) ) * ( x ~ 2 ( t - 5 ) ) + ( x ~ 1 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) ) * ( x ~ 2 ( t - 3 ) ) ( x ~ 2 ( t - 4 ) ) * ( x ~ 2 ( t - 5 ) ) + ( x ~ 1 ( t - 1 ) ) ( x ~ 2 ( t - 2 ) ) * ( x ~ 2 ( t - 3 ) ) * ( x ~ 2 ( t - 4 ) ) ( x ~ 2 ( t - 5 ) ) } .Math. 5 4 3 2 1 ( 26 )
Hence, the continuous-time dual-band baseband equivalent Volterra series model for each band is given by:
{tilde over (y)}.sub..sub.1(t)={tilde over (y)}.sub..sub.1.sub.,1(t)+{tilde over (y)}.sub..sub.1.sub.,3(t)+{tilde over (y)}.sub..sub.1.sub.,5(t)+ (27)

(51) Step 5: Discrete-time baseband equivalent Volterra series model: In order to implement the dual band BBE Volterra model in a digital processor, the following signal and systems properties and approximations are used to further simplify (27). 1. Truncation of the Volterra model to a finite nonlinearity order NL, generally in the range of 5 to 7. 2. Limitation of the integral bounds (, +) to (0, T.sub.) using the signal and system causality, and the fading memory assumption (transient response time invariant Volterra series is defined as t<T.sub.) [43]. Since the impulse responses of different Volterra kernels, i.e. {tilde over (h)}.sub..sub.1.sub.,1{tilde over (h)}.sub..sub.1.sub.,3,s,{tilde over (h)}.sub..sub.1.sub.,3,d, {tilde over (h)}.sub..sub.1.sub.,5,s, . . . represent different aspects of the system, the memory spans used in the computation of the different distortion terms can be set to be different. 3. Using the symmetry of the terms inside the integral (Distortion components are symmetrical and Volterra kernels can be symmetrized), the number of required kernels is significantly reduced.

(52) Digitizing the dual band BBE Volterra model yields:

(53) y ~ 1 , 1 ( n ) = y ~ 1 , 1 ( n ) + y ~ 1 , 3 ( n ) + y ~ 1 , 5 ( n ) + .Math. ( 28 ) y ~ 1 , 1 ( n ) = .Math. i 1 = 0 M 1 h ~ 1 , 1 ( i 1 ) x ~ 1 , s ( n , i 1 ) y ~ 1 , 3 ( n ) = .Math. i 1 = 0 M 3 , s .Math. i 2 = i 1 M 3 , s .Math. i 3 = i 2 M 3 , s h ~ 1 , 3 , s ( i 1 , i 2 , i 3 ) .Math. x ~ 3 , s ( n , i 1 , i 2 , i 3 ) + .Math. i 1 = 0 M 3 , d .Math. i 2 = i 1 M 3 , d .Math. i 3 = i 2 M 3 , d h ~ 1 , 3 , d ( i 1 , i 2 , i 3 ) .Math. x ~ 3 , d ( n , i 1 , i 2 , i 3 ) y ~ 1 , 5 ( n ) = .Math. i 1 = 0 M 5 , s .Math. i 2 = i 1 M 5 , s .Math. i 3 = i 2 M 5 , s .Math. i 4 = i 3 M 5 , s .Math. i 5 = i 4 M 5 , s h ~ 1 , 5 , s ( i 1 , i 2 , i 3 , i 4 , i 5 ) .Math. x ~ 5 , s ( n , i 1 , i 2 , i 3 , i 4 , i 5 ) + .Math. i 1 = 0 M 5 , d 1 .Math. i 2 = i 1 M 5 , d 1 .Math. i 3 = i 2 M 5 , d 1 .Math. i 4 = i 3 M 5 , d 1 .Math. i 5 = i 4 M 5 , d 1 h ~ 1 , 5 , d 1 ( i 1 , i 2 , i 3 , i 4 , i 5 ) .Math. x ~ 5 , d 1 ( n , i 1 , i 2 , i 3 , i 4 , i 5 ) + .Math. i 1 = 0 M 5 , d 2 .Math. i 2 = 0 M 5 , d 2 .Math. i 3 = i 2 M 5 , d 2 .Math. i 4 = i 3 M 5 , d 2 .Math. i 5 = i 4 M 5 , d 2 h ~ 1 , 5 , d 2 ( i 1 , i 2 , i 3 , i 4 , i 5 ) .Math. x ~ 5 , d 2 ( n , i 1 , i 2 , i 3 , i 4 , i 5 ) where x ~ 1 , s ( n , i 1 ) = x ~ ( n - i 1 ) x ~ 3 , s ( n , i 1 , i 2 , i 3 ) = x 1 ~ ( n - i 1 ) x ~ 1 ( n - i 2 ) x ~ 1 * ( n - i 3 ) + x ~ 1 * ( n - i 1 ) x ~ 1 ( n - i 2 ) x ~ 1 ( n - i 3 ) x ~ 3 , d ( n , i 1 , i 2 , i 2 ) = x ~ 1 ( n - i 1 ) x ~ 2 ( n - i 2 ) x ~ 2 * ( n - i 2 ) + x ~ 1 ( n - i i ) x ~ 2 * ( n - i 2 ) x ~ 2 ( n - i 2 ) x ~ 5 , s ( n , i 1 , i 2 , i 3 , i 4 , i 5 ) = x ~ 1 ( n - i 1 ) x ~ 1 ( n - i 2 ) x ~ 1 ( n - i 3 ) x ~ 1 * ( n - i 4 ) x ~ 1 * ( n - i s ) + x ~ 1 ( n - i 1 ) x ~ 1 ( n - i 2 ) x ~ 1 * ( n - i 2 ) x ~ 1 * ( n - i 3 ) x ~ 1 ( n - i 4 ) x ~ 1 * ( n - i 5 ) + x ~ 1 ( n - i 1 ) x ~ 1 * ( n - i 2 ) x ~ 1 ( n - i 3 ) x ~ 1 ( n - i 4 ) x ~ 1 * ( n - i 5 ) + x ~ 1 ( n - i 1 ) x ~ 1 ( n - i 2 ) x ~ 1 * ( n - i 3 ) x ~ 1 * ( n - i 4 ) x ~ 1 ( n - i 5 ) + x ~ 1 * ( n - i 1 ) x ~ 1 * ( n - i 2 ) x ~ 1 * ( n - i 3 ) x ~ 1 * ( n - i 4 ) x ~ 1 ( n - i 5 ) + x ~ 1 ( n - i 1 ) x ~ 1 * ( n - i 2 ) x ~ 1 * ( n - i 3 ) x ~ 1 ( n - i 4 ) x ~ 1 ( n - i 5 ) + x ~ 1 * ( n - i 1 ) x ~ 1 ( n - i 2 ) x ~ 1 * ( n - i 3 ) x ~ 1 ( n - i 4 ) x ~ 1 ( n - i 5 ) + x ~ 1 * ( n - i 1 ) x ~ 1 * ( n - i 2 ) x ~ 1 ( n - i 3 ) x ~ 1 ( n - i 4 ) x ~ 1 ( n - i 5 ) x ~ 5 , d 1 ( n , i 1 , i 2 , i 3 , i 4 , i 5 ) = x ~ 1 ( n - i 1 ) x ~ 1 ( n - i 2 ) x ~ 1 * ( n - i 3 ) x ~ 2 ( n - i 4 ) x ~ 1 ( n - i 5 ) + x ~ 1 ( n - i 1 ) x ~ 1 * ( n - i 2 ) x ~ 2 ( n - i 3 ) x ~ 2 ( n - i 4 ) x ~ 2 * ( n - i 5 ) + x ~ 1 * ( n - i 1 ) x ~ 1 ( n - i 2 ) x ~ 1 ( n - i 3 ) x ~ 2 ( n - i 4 ) x ~ 2 * ( n - i 5 ) + x ~ 1 ( n - i 1 ) x ~ 1 ( n - i 2 ) x ~ 1 * ( n - i 3 ) x ~ 2 * ( n - i 4 ) x ~ 2 ( n - i 5 ) + x ~ 1 ( n - i 1 ) x ~ 1 * ( n - i 2 ) x ~ 1 ( n - i 3 ) x ~ 2 * ( n - i 4 ) x ~ 2 ( n - i 5 ) + x ~ 1 * ( n - i 1 ) x ~ 1 ( n - i 2 ) x ~ 2 * ( n - i 3 ) x ~ 2 * ( n - i 4 ) x ~ 2 ( n - i 5 ) x ~ 5 , d 2 ( n , i 1 , i 2 , i 3 , i 4 , i 5 ) = x ~ 1 ( n - i 1 ) x ~ 2 ( n - i 2 ) x ~ 2 ( n - i 3 ) x ~ 2 * ( n - i 4 ) x ~ 2 * ( n - i 5 ) + x ~ 1 ( n - i 1 ) x ~ 2 ( n - i 2 ) x ~ 2 * ( n - i 3 ) x ~ 2 ( n - i 4 ) x ~ 2 * ( n - i 5 ) + x ~ 1 ( n - i 1 ) x ~ 2 * ( n - i 2 ) x ~ 2 ( n - i 3 ) x ~ 2 ( n - i 4 ) x ~ 2 * ( n - i 5 ) + x ~ 1 ( n - i 1 ) x ~ 2 ( n - i 2 ) x ~ 2 * ( n - i 3 ) x ~ 2 * ( n - i 4 ) x ~ 2 * ( n - i 5 ) + x ~ 1 ( n - i 1 ) x ~ 2 * ( n - i 2 ) x ~ 2 ( n - i 3 ) x ~ 2 * ( n - i 4 ) x ~ 2 ( n - i 5 ) + x ~ 1 ( n - i 1 ) x ~ 2 * ( n - i 2 ) x ~ 2 * ( n - i 3 ) x ~ 2 ( n - i 4 ) x ~ 2 ( n - i 5 )

(54) In (28), M.sub.1, M.sub.3,s, M.sub.3,d, M.sub.5,s, M.sub.5,d1 and M.sub.3,d2 denote the memory depth of the first, third, and fifth order Volterra series distortion terms. The dual-band complex valued BBE Volterra Series in (28) includes only nonlinear distortion products of up to order 5. Expression of the dual band BBE Volterra model with higher nonlinearity can be similarly derived. In addition, only odd powered terms are retained and even terms are discarded since they do not appear in the pass band. It is worth mentioning that the distortion terms {tilde over (x)}.sub.3,s(n, i.sub.1, i.sub.2, i.sub.3) and {tilde over (x)}.sub.5,s(n, i.sub.1, i.sub.2, i.sub.3, i.sub.4, i.sub.5) are linear combinations of three third and ten fifth order distortion products, respectively.

(55) According to (28) and FIG. 5, the BBE Volterra is formed by two categories of distortion terms, namely self-distortion terms 20 and inter-band band distortion terms 22. Each of these two families of terms represents a different dynamic distortion mechanism and therefore call for different values for memory depth M.sub.1, M.sub.3,s, M.sub.3,d, M.sub.5,s, M.sub.5,d1 and M.sub.5,d2 as shown in (28). Here, M.sub.1, M.sub.3,s and M.sub.5,s represent the memory depth of the first, third and fifth order of the self-dynamic distortion terms, respectively, and M.sub.3,d, M.sub.5,d1 and M.sub.5,d2 represent the memory depth of the third and fifth order inter-band dynamic distortion terms. Hence, the proposed model formulation provides the capacity to separate memory depth values in each distortion mechanism as opposed to the other approaches, such as 2D-DPD, that use a global memory depth parameter M for all of the distortion terms. This represents an additional degree of freedom for limiting the implementation complexity of the multiband BBE.

(56) An example of the dual band BBE Volterra model of (28) is given for NL=3 and M.sub.1=M.sub.3,s=M.sub.3,d=1 in (29).
{tilde over (y)}(n)={tilde over (h)}.sub..sub.1.sub.,1(0){tilde over (x)}.sub.1(n)+{tilde over (h)}.sub..sub.1.sub.,1(1){tilde over (x)}.sub.1(n1) +3{tilde over (h)}.sub..sub.1.sub.,3,s(0,0,0){tilde over (x)}.sub.1(n){tilde over (x)}.sub.1(n){tilde over (x)}.sub.1*(n)+{tilde over (h)}.sub..sub.1.sub.,3,s(0,0,1)(2{tilde over (x)}.sub.1(n){tilde over (x)}.sub.1(n1){tilde over (x)}.sub.1*(n)+{tilde over (x)}.sub.1(n){tilde over (x)}.sub.1(n){tilde over (x)}.sub.1*(n1))+{tilde over (h)}.sub..sub.1.sub.,3,s(0,1,1)(2{tilde over (x)}.sub.1(n){tilde over (x)}.sub.1(n1){tilde over (x)}.sub.1*(n1)+{tilde over (x)}.sub.1(n1){tilde over (x)}.sub.1(n1){tilde over (x)}.sub.1*(n))+3{tilde over (h)}.sub..sub.1.sub.,3,s(1,1,1){tilde over (x)}.sub.1(n1){tilde over (x)}.sub.1(n1){tilde over (x)}.sub.1*(n1)+2{tilde over (h)}.sub..sub.1.sub.,3,d(0,0,0){tilde over (x)}.sub.1(n){tilde over (x)}.sub.2(n){tilde over (x)}.sub.2*(n)+{tilde over (h)}.sub..sub.1.sub.,3,d(0,0,1)({tilde over (x)}.sub.1(n){tilde over (x)}.sub.2(n){tilde over (x)}.sub.2*(n1)+{tilde over (x)}.sub.1(n){tilde over (x)}.sub.2*(n){tilde over (x)}.sub.2(n1))+2{tilde over (h)}.sub..sub.1.sub.,3,d(0,1,1){tilde over (x)}.sub.1(n){tilde over (x)}.sub.2(n1){tilde over (x)}.sub.2*(n1)+2{tilde over (h)}.sub..sub.1.sub.,3,d(1,0,0){tilde over (x)}.sub.1(n1){tilde over (x)}.sub.2(n){tilde over (x)}.sub.2*(n)+{tilde over (h)}.sub..sub.1.sub.,3,d(1,0,1)({tilde over (x)}.sub.1(n1){tilde over (x)}.sub.2(n){tilde over (x)}.sub.2*(n1)+{tilde over (x)}.sub.1(n1){tilde over (x)}.sub.2*(n){tilde over (x)}.sub.2(n1))+2{tilde over (h)}.sub..sub.1.sub.,3,d(1,1,1){tilde over (x)}.sub.1(n1){tilde over (x)}.sub.2(n1){tilde over (x)}.sub.2*(n1) (29)

(57) A close examination of (28) reveals a number of important attributes of the dual band BBE Volterra model: Inclusion of all the possible distortion terms attributed to the static and dynamic nonlinear behavior of the PA. These involve either only the envelope of the first band signal, e.g. {tilde over (x)}.sub.1*(n){tilde over (x)}.sub.1.sup.2(n), and {tilde over (x)}.sub.1*(n){tilde over (x)}.sub.1(n){tilde over (x)}.sub.1(n1), or result from the mixing between the two bands' envelopes, e.g. {tilde over (x)}.sub.1(n){tilde over (x)}.sub.2*(n){tilde over (x)}.sub.2(n), and {tilde over (x)}.sub.1(n){tilde over (x)}.sub.2*(n1){tilde over (x)}.sub.2(n). A large number of the distortion terms included in (28) were not incorporated in the 2D-DPD model (i.e., {tilde over (x)}.sub.2*(n){tilde over (x)}.sub.2(n){tilde over (x)}.sub.1(n1) and {tilde over (x)}.sub.2*(n1){tilde over (x)}.sub.2(n){tilde over (x)}.sub.1(n1)).

(58) While the dual band BBE Volterra model described herein includes larger number of distortion products than other models, according to (28) these products are grouped into different sets. Each set forms a distortion term, e. g. the distortion term {tilde over (x)}.sub.3,s(n, i.sub.1, i.sub.2, i.sub.3) represents the grouping of the following distortion products {tilde over (x)}.sub.1(ni.sub.1){tilde over (x)}.sub.1(ni.sub.2){tilde over (x)}.sub.1*(ni.sub.3), {tilde over (x)}.sub.1(ni.sub.1){tilde over (x)}.sub.1*(ni.sub.2){tilde over (x)}.sub.1(ni.sub.3),{tilde over (x)}.sub.1*(ni.sub.1){tilde over (x)}.sub.1(ni.sub.2){tilde over (x)}.sub.1(ni.sub.3). The distortion products that belong to a given set share the same kernel. For example, for every possible triplet (i.sub.1, i.sub.2, i.sub.3) {0 . . . M}.sup.3, three 3.sup.rd order distortion products are combined to form {tilde over (x)}.sub.3,s(n, i.sub.1, i.sub.2, i.sub.3) and consequently share one kernel {tilde over (h)}.sub..sub.1.sub.,3,s(i.sub.1, i.sub.2, i.sub.3) in (28). Similarly, for every possible quintuplet (i.sub.i, i.sub.2, i.sub.3, i.sub.4, i.sub.5) {0 . . . M}.sup.5, ten 5.sup.th order distortion products are combined to form {tilde over (x)}.sub.5,s(n, i.sub.1, i.sub.2, i.sub.3, i.sub.4, i.sub.5) and share one kernel {tilde over (h)}.sub..sub.1.sub.,5,s(i.sub.1, i.sub.2, i.sub.3, i.sub.4, i.sub.5) in (28). Hence, despite the fact that the models described herein involve more distortion terms, the models use comparable numbers of kernels compared to the 2D-DPD scheme.

(59) The expression of the dual band BBE Volterra model of (28) preserves the linearity property with respect to its coefficients. Hence, the least square error (LSE) estimator can be applied to identify the kernels in (28) for a given RF PA. Equation (30) details the expression used to compute the LSE solution of (28):
A.Math.h=Y (30)
where A denotes the distortion products matrix, h is the kernels' vector to be estimated and Y is the vector formed by the output signal sample. Each of these variables (A, h and Y) is defined in (31) where L represents the data stream size:

(60) A = ( x ~ 1 , s ( M 1 + 1 ) .Math. x ~ 1 , s ( 1 ) x ~ 3 , s ( M 3 , s + 1 , 0 , 0 , 0 ) .Math. x ~ 3 , s ( 1 , M 3 , s , M 3 , 5 , M 3 , s ) x ~ 3 , d ( M 3 , d _ 1 , 0 , 0 , 0 , 0 , 0 ) .Math. .Math. .Math. .Math. .Math. .Math. .Math. .Math. .Math. .Math. .Math. .Math. .Math. .Math. x ~ 1 , s ( L ) .Math. x ~ 1 , s ( L - M 1 ) x ~ 3 , s ( L , 0 , 0 , 0 ) .Math. x ~ 3 , s ( L - M 3 , s , M 3 , s , M 3 , 5 , M 3 , 5 ) x ~ 3 , d ( L , 0 , 0 , 0 , 0 , 0 ) .Math. .Math. ) h = ( h 0 .Math. h M 1 h 0 , 0 , 0 .Math. ) T , Y = ( y ~ 1 , 0 ( M 1 + 1 ) .Math. y ~ 1 , 0 ( L ) ) T ( 31 )
The LSE solution to equation (30) is computed using:
=(A.sup.T.Math.A).sup.1.Math.A.sup.T.Math.Y(32)
where is the estimate of h.

(61) To summarize the approach, a discrete base band equivalent, BBE, Volterra series is generated based on a received multi-band signal. The series has distortion products grouped according to determined shared kernels. The shared kernels are determined based on a transformation of a real-valued continuous-time pass band Volterra series without pruning of kernels. The transformation includes transforming the real-valued continuous time pass band Volterra series to a multi-frequency complex-valued envelope series. The multi-frequency complex-valued envelope signal is then transformed to a continuous-time pass band-only series. The continuous-time pass band-only signal is transformed to a continuous-time baseband equivalent series. The continuous-time baseband equivalent signal is discretized to produce the discrete base band equivalent Volterra series. Shared kernels of the discrete base band equivalent Volterra series are identified, where each shared kernel has distortion products in common with another shared kernel.

(62) To assess the performance of the model described above, the formulation was used to model and linearize a high power dual-band RF PA. The device under test was a broadband 45 W single ended GaN PA driven with a dual-band multi-standard signal. Three test scenarios are defined: Case 1: 20MHz (1001) WCDMA and 20 MHz LTE signals centered @2.1 GHz and 2.2 GHz respectively. The PAPR of the dual-band signal is equal to 10.3 dB. Case 2: 20 MHz (1001) WCDMA and 20 MHz LTE signals centered @2.1 GHz and 2.4 GHz, respectively. The PAPR of the dual-band signal is equal to 10.3 dB. Case 3: 20 MHz 4 C WCDMA and 20 MHz LTE signals centered @2.1 GHz and 2.8 GHz respectively. The PAPR of the dual-band signal is equal to 10.1 dB.

(63) The proposed dual-band BBE Volterra and 2D-DPD models were each used to linearize a DUT PA. The training of the two models was conducted using samples of the PA output signals in each band sampled at 100MSPS. The nonlinearity order and memory depth of each model were individually set to achieve the best performance versus complexity trade-off in each case. For the first and third cases, the 2D-DPD and dual-band BBE Volterra parameters were set to (NL=7 and M=3) and (NL=7, M.sub.1=2, M.sub.3,s=M.sub.3,d=1, M.sub.5,s=M.sub.5,d1=M.sub.5,d2=0, M.sub.7,s=0), respectively. However, in Case 2, (NL=9 and M=3) and (NL=9, M.sub.1=2, M.sub.3,s=M.sub.3,d=1, M.sub.5,s=M.sub.5,d1 =M.sub.5,d2=0, M.sub.7=0, M.sub.9=0) were found to be adequate for the 2D-DPD and the dual-band BBE Volterra, respectively.

(64) The linearization results for the three test scenarios are shown in FIGS. 6-11 and summaries of the corresponding performances are given in Table I-III. In each of FIGS. 6-11 the results are given for no DPD, for 2D-DPD and for the linearization method described herein. In all test scenarios, the DIDO BBE Volterra model successfully linearized the PA with significantly lower complexity and slightly better performance than the 2D-DPD model. A reduction of the spectrum regrowth of about 20 dB and an ACPR of about 50 dBc were achieved by the dual-band BBE Volterra in all test scenarios.

(65) TABLE-US-00001 TABLE I Dual band standard linearization results: Case 1 Without DPD With Volterra DPD With 2D-DPD Band 1 Band 2 Band 1 Band 2 Band 1 Band 2 @ 2.1 @ 2.2 @ 2.1 @ 2.2 @ 2.1 @ 2.2 GHz GHz GHz GHz GHz GHz Number of 0 0 20 20 84 84 coefficients NMSE 19 18 38 37 37 36 (dB) ACLR 35 27 51 48 50 46 (dBc)

(66) TABLE-US-00002 TABLE II Dual band standard linearization results: Case 2 Without DPD With Volterra DPD With 2D-DPD Band 1 Band 2 Band 1 Band 2 Band 1 Band 2 @ 2.1 @ 2.4 @ 2.1 @ 2.4 @ 2.1 @ 2.4 GHz GHz GHz GHz GHz GHz Number of 0 0 25 25 135 135 coefficients NMSE 18 17 38 36 36 36 (dB) ACLR 35 25 51 47 48 45 (dBc)

(67) TABLE-US-00003 TABLE III Dual band standard linearization results: Case 3 Without DPD With Volterra DPD With 2D-DPD Band 1 Band 2 Band 1 Band 2 Band 1 Band 2 @ 2.1 @ 2.8 @ 2.1 @ 2.8 @ 2.1 @ 2.8 GHz GHz GHz GHz GHz GHz Number of 0 0 20 20 84 84 coefficients NMSE 19 17 38 35 36 35 (dB) ACLR 32 27 48 47 47 47 (dBc)

(68) FIG. 12 is a block diagram of a power amplification system 24 having a digital pre-distorter modelling unit 26 implementing the dual band BBE Volterra model presented herein. Note that although FIG. 12 shows only two bands, the invention is not limited to two bands but rather, can be implemented for more than two bands according to the steps described above. The power amplification system 24 includes digital pre-distorters 28a and 28b, referred to collectively as DPDs 28. The DPDs 28 receive input from the pre-distorter modelling unit 26, and pre-distort the input signals {tilde over (x)}.sub.1 and {tilde over (x)}.sub.2 to produce pre-distorted signals {tilde over (x)}.sub.1p and {tilde over (x)}.sub.2p. Each pre-distorted signal is input to a digital modulator 30 to impress the baseband signal onto a respective carrier, converted to analog by a digital (A/D) to analog converter 32, low pass filtered by a filter 34, and mixed to radio frequency (RF) by a mixer 36 to prepare the signal for amplification by an RF PA amplifier. Accordingly, the RF signals in the two paths are summed by an adder 38 and input to a power amplifier 40. A transmitter observation receiver 42 samples the output of the power amplifier 40 in each band and produces output signals y.sub.w1 and y.sub.w2 These output signals are used by the DPD modeling unit 26 to derive the kernel vector h according to equation (30). The DPD modelling unit 26 calculates a discrete baseband equivalent Volterra series having distortion products grouped according to determined shared kernels, where the shared kernels are based on a transformation of a real-valued continuous-time pass band Volterra series without pruning of kernels.

(69) FIG. 13 is a more detailed view of the DPD modelling unit 26, which includes a memory module 44 in communication with a processor 46. The DPD modelling unit 26 receives the input signals {tilde over (x)}.sub.1 and {tilde over (x)}.sub.2 and output signals {tilde over (y)}.sub.1 and {tilde over ()}.sub.2 from the transmitter observation receiver 42 and derives the modelling vector h according to equation (32). The modelling vector h. is input to the DPDs 28 to pre-distort the input signals {tilde over (x)}.sub.1 and {tilde over (x)}.sub.2 to produce pre-distorted signals {tilde over (x)}.sub.1p and {tilde over (x)}.sub.2p. The processor 46 includes a grouping module 50, a shared kernel determiner 52 and a series term computer 54. The grouping module is configured to group distortion products of the series according to determined shared kernels. The shared kernel determiner is configured to determine the shared kernels based on a transformation of a real-valued continuous-time pass band Volterra series without pruning of kernels. The series term calculator is configured to calculate the terms of the discrete base band equivalent Volterra series, the terms being the distortion products multiplied by their respective shared kernels. The memory module 44 is configured to store terms of the discrete base band equivalent (BBE) Volterra series 48, generated by the processor 46.

(70) FIG. 14 is a flowchart of a process for modelling a power amplifier 40 fed by a multi-band input signal. A multi-band signal is received by a digital pre-distorter 28 (block S100). A discrete BBE Volterra series is generated by the DPD modelling unit 26 based on the received multi-band input signal (block S102). The series has distortion products that are grouped by the grouping module 50 according to determined shared kernels determined by shared kernel determiner 52. The shared kernels are determined based on a transformation of a real-valued continuous-time pass band Volterra series without pruning of kernels.

(71) FIG. 15 is a flowchart of a process for transforming a real-valued continuous time pass band Volterra series to a discrete base band equivalent Volterra series in which shared kernels are identified as set out in block S102 of FIG. 14. The real-valued continuous time pass band Volterra series is transformed to a multi-frequency complex-valued envelope series (block S104). The multi-frequency complex-valued envelope signal is transformed to a continuous-time pass band-only series (block S106). The continuous-time pass band-only signal is transformed to a continuous-time baseband equivalent series (block S108). The continuous-time baseband equivalent signal is discretized to produce the discrete base band equivalent Volterra series (block S110). Shared kernels of the discrete base band equivalent Volterra series are identified, where a shared kernel has distortion products in common with another shared kernel (block S112).

(72) FIG. 16 is a flowchart of a process of transforming the continuous-time pass band-only signal to a continuous-time baseband equivalent signal as shown in block S108 of FIG. 15. The continuous-time pass band-only series is expressed in convolution form (block S114). Then, the Laplace transform is applied to the convolution form to produce a Laplace domain expression (block S116). A number of terms in the Laplace domain expression may be reduced based on symmetry (block S118). The Laplace domain expression is frequency-shifted to baseband to produce a baseband equivalent expression in the Laplace domain (block S120). An inverse Laplace transform is applied to the baseband equivalent expression to produce the continuous-time baseband equivalent series (block S122).

(73) FIG. 17 is a flowchart of a process of discretizing the continuous-time baseband equivalent series to produce the discrete base band equivalent Volterra series, as shown in block S110 of FIG. 15. The process includes truncating the continuous-time baseband equivalent series to a finite non-linearity order (block S124). The process also includes expressing the truncated series as summations of non-linear distortion terms, with upper limits of the summations being memory depths assigned to each order of the non-linear distortion terms (block S126).

(74) Thus, a dual band BBE Volterra series-based behavioral model has been described herein to mimic and linearize the dynamic nonlinear behavior of a concurrently driven dual-band amplifier. Starting with a real-valued, continuous-time, pass band Volterra series and using a number of signal and system transformations, a low complexity complex-valued, and discrete BBE Volterra formulation was derived. While the formulation presented herein includes all possible distortion terms, it involved fewer kernels than its 2D-DPD counterpart. The model is successfully applied to digitally predistort and linearize a dual-band 45 Watt class AB GaN PA driven with different dual-band dual-standard test signals. For each band, the model used less than 25 coefficients to reduce the ACLR by up to 25 dB.

(75) It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described herein above. In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. A variety of modifications and variations are possible in light of the above teachings without departing from the scope and spirit of the invention, which is limited only by the following claims