Digital pre-distortion processing method and deviceTechnical Field
The present invention relates to a predistortion (Pre-disturber) technique, and more particularly, to a Digital Predistortion (DPD) processing method and apparatus.
Background
In electronic circuits, nonlinear distortion of a radio frequency Power Amplifier (PA) can amplify an input signal and generate new frequency (harmonic) components, interfering with the transmitted signal or signals of other channels. To improve the non-linear distortion of the PA, the prior art generally employs the DPD technique. The DPD technology is used for pre-distorting an original signal input to the PA by adding a nonlinear network at the front end of the PA, and then inputting the pre-distorted signal to the PA. The design of the nonlinear network needs to satisfy: the signal passing through the nonlinear network and the PA can be linearly amplified. Namely: the nonlinear distortion of the nonlinear network just compensates the nonlinear distortion of the PA, so that a system formed by the nonlinear network and the PA is equivalent to a linear amplifier.
Fig. 1 is a schematic structural diagram of a device for implementing DPD in the prior art. Referring to fig. 1, the apparatus includes a predistortion processing unit, a PA, an error signal calculation unit, a predistortion coefficient calculation unit, and a signal normalization unit, wherein a dotted arrow indicates that the predistortion processing unit and the predistortion coefficient calculation unit perform synchronous adjustment, wherein,
the predistortion processing unit is used for carrying out predistortion processing on an input signal x (n) according to the predistortion coefficient generated by the predistortion coefficient calculating unit and outputting a signal z (n);
the PA is used for receiving the signal z (n) output by the predistortion processing unit and outputting a signal y (n) after amplification processing;
an error signal calculation unit for comparing the signal z (n) with the estimated value of the signal z (n) generated by the predistortion coefficient calculation unit
Carrying out subtraction operation, and outputting an error signal e (n) for adjusting the predistortion coefficient calculation unit;
a predistortion coefficient calculation unit for calculating and generating predistortion coefficient according to the signal output by the signal normalization unit and the error signal e (n) output by the error signal calculation unit, and outputting the estimated value of z (n) to the error calculation unit
According to the acquired predistortion coefficient, synchronously adjusting a signal x (n) input into the predistortion processing unit;
and the signal normalization unit is used for performing normalization processing on the signal y (n) output by the PA and outputting the signal y (n) to the predistortion coefficient calculation unit.
The working principle of implementing the DPD algorithm in the prior art is briefly described as follows:
the external input signal is x (n), the output signal of the predistortion processing unit is z (n), the output signal of the PA is y (n), the input signal x (n) is processed by the predistortion processing unit, and the relation between the signal z (n) input to the PA and the output signal of the PA is as follows:
<math><mrow><mi>z</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munderover><mi>Σ</mi><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mi>kl</mi></msub><mi>y</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><msup><mrow><mo>|</mo><mi>y</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><mo>|</mo></mrow><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>
in the formula (1), l, k and n are natural numbers, and the maximum value l of lmaxFor storing the length,/maxL-1; k is the order; n is the number of samples; a isklAre predistortion coefficients.
In the formula (1), if a is obtainedklThe input signal x (n) and the feedback signal y (n) output by the rf power amplifier can be pre-distorted, and the output signal z (n) is input to the PA, so as to improve the non-linear distortion of the PA output signal y (n).
In the prior art, in order to obtain a predistortion coefficient aklThe following transformations are performed.
Is provided with
In the formula (2), G is a normalization coefficient.
Calculate u separatelykl(n) forming a column matrix u from the result of the calculation of the formula (2)klI.e. by
ukl=[ukl(0),ukl(1),...,ukl(N-1)]T (3)
Then the column matrix u obtained by the formula (3)klForming a first matrix U of predistortion coefficients;
U=[u10,u20,...,uK0,......,u1(L-1),u2(L-1),...,uK(L-1)] (4)
is provided with <math><mrow><mover><mi>z</mi><mo>→</mo></mover><mo>=</mo><mi>U</mi><mover><mi>a</mi><mo>→</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>
In the formula (5), vector
A column vector formed by the output signals z (n) of the predistortion processing unit:
<math><mrow><mover><mi>z</mi><mo>→</mo></mover><mo>=</mo><msup><mrow><mo>[</mo><mi>z</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>,</mo><mi>z</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>z</mi><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>]</mo></mrow><mi>T</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>
vector quantity
Is formed by a predistortion coefficient a
klThe column vector formed:
<math><mrow><mover><mi>a</mi><mo>→</mo></mover><mo>=</mo><msup><mrow><mo>[</mo><msub><mi>a</mi><mn>10</mn></msub><mo>,</mo><msub><mi>a</mi><mn>20</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>a</mi><mrow><mi>K</mi><mn>0</mn></mrow></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>a</mi><mrow><mn>1</mn><mrow><mo>(</mo><mi>L</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>,</mo><mo>,</mo><msub><mi>a</mi><mrow><mn>2</mn><mrow><mo>(</mo><mi>L</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>a</mi><mrow><mi>K</mi><mrow><mo>(</mo><mi>L</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>]</mo></mrow><mi>T</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>
by solving equation (5) with the least square method, a vector can be obtained
Is estimated value of
:
<math><mrow><mover><mi>a</mi><mo>^</mo></mover><msup><mrow><mo>(</mo><msup><mi>U</mi><mi>H</mi></msup><mi>U</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup><mi>U</mi><mi>H</mi></msup><mover><mi>Z</mi><mo>→</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow></math>
In the formula (DEG)HRepresenting the conjugate transpose of (·).
The predistortion coefficient obtained by the formula (8) is input to a predistortion processing unit, predistortion processing is performed on an input signal, and a signal is output <math><mrow><mi>z</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munderover><mi>Σ</mi><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mi>kl</mi></msub><mi>y</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><msup><mrow><mo>|</mo><mi>y</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><mo>|</mo></mrow><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msup></mrow></math>As the input of the PA, the nonlinear distortion of the PA is improved, and the output signal y (n) of the PA is linear.
In practical applications, the DPD algorithm is generally optimized by using orthogonal polynomials, so that the solved predistortion coefficients are more accurate and stable. The optimization algorithm is briefly described below.
The prior art optimization algorithm is to output signals of a predistortion processing unit <math><mrow><mi>z</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munderover><mi>Σ</mi><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mi>kl</mi></msub><mi>y</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><msup><mrow><mo>|</mo><mi>y</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><mo>|</mo></mrow><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msup></mrow></math>And (6) carrying out transformation.
Order to
W obtained by the formula (9)jkAnd elements of the jth row and the kth column of the W form an upper triangular matrix W, wherein the W is a predistortion coefficient intermediate transformation matrix, K and j are natural numbers, K is more than or equal to 1 and less than or equal to K, and j is more than or equal to 1 and less than or equal to K. In addition, the device is provided with a plurality of air outlets,
<math><mrow><msub><mi>ψ</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>W</mi><mi>jk</mi></msub><mi>x</mi><msup><mrow><mo>|</mo><mi>x</mi><mo>|</mo></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow></math>
then formula (1) <math><mrow><mi>z</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munderover><mi>Σ</mi><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mi>kl</mi></msub><mi>y</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><msup><mrow><mo>|</mo><mi>y</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><mo>|</mo></mrow><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msup></mrow></math>The transformation can be as follows:
<math><mrow><mi>z</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munderover><mi>Σ</mi><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mi>kl</mi></msub><msub><mi>ψ</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>x</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>
by combining formulae (9) to (11), formula (5) can be used <math><mrow><mover><mi>z</mi><mo>→</mo></mover><mo>=</mo><mi>U</mi><mover><mi>a</mi><mo>→</mo></mover></mrow></math>The data are converted into a data file,
<math><mrow><mover><mi>z</mi><mo>→</mo></mover><mo>=</mo><mi>F</mi><mover><mi>b</mi><mo>→</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></math>
where the second matrix of predistortion coefficients F ═ U0W,...,UL-1W] (13)
Here, Ul=[u1l,u2l,...,uKl],l=0,1,...,L-1.
Similarly, by solving equation (12) by the least square method, the solution forms similar to equations (7) and (8), that is, vectors, can be obtained
Is estimated value of
:
<math><mrow><mover><mi>b</mi><mo>^</mo></mover><mo>=</mo><msup><mrow><mo>(</mo><msup><mi>F</mi><mi>H</mi></msup><mi>F</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup><mi>F</mi><mi>H</mi></msup><mover><mi>Z</mi><mo>→</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow></math>
From the equations (8), (13) and (14), the predistortion coefficient estimation value can be obtained
:
The detailed flow of the optimized DPD algorithm is explained below.
Assuming that the training sequences of the input PA and the signal obtained from the output of PA are z (N) and y (N), respectively, and assuming that the number of samples of both sequences is N, wherein N ≧ KL + L-1, the estimation of predistortion coefficients obtained by z (N) and y (N) is described in detail below
The process of (1).
Fig. 2 is a schematic flowchart of a DPD algorithm in the prior art. Referring to fig. 2, the process includes:
step 201, performing digital down-conversion and filtering on the signal training sequence y (n).
In this step, y (n) cos (2 π f) is calculatedIFX t) and passes the calculation result through a 180-tap Finite Impulse Filter (FIR), resulting in an in-phase (Inphase) signal, i.e., I signal I (n). Here, fIFIs a digital down-conversionFrequency-time carrier frequency.
Calculating y (n) sin (2 π f)IFX t) and the result is filtered through a 180-tap FIR to obtain a Quadrature (Quadrature) signal, i.e., Q signal Q (n). Setting:
y′(n)=(I(n)+j×Q(n))/2 (16)
step 202, performing normalization and digitization on y' (n) and z (n).
The normalization formula for signal z (n) is:
in the formula,
<math><mrow><mrow><mo>|</mo><mo>|</mo><mi>z</mi><mo>|</mo><mo>|</mo></mrow><mo>=</mo><msqrt><mfrac><mrow><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mrow><mo>|</mo><mo>|</mo><mi>z</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mrow><mi>N</mi></mfrac></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>18</mn><mo>)</mo></mrow></mrow></math>
likewise, the normalized formula for y' (n) is:
<math><mrow><msup><mi>y</mi><mo>′</mo></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>y</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow><mrow><mo>|</mo><mo>|</mo><msup><mi>y</mi><mo>′</mo></msup><mo>|</mo><mo>|</mo></mrow></mfrac><mo>,</mo><mi>n</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>19</mn><mo>)</mo></mrow></mrow></math>
<math><mrow><mo>|</mo><mo>|</mo><msup><mi>y</mi><mo>′</mo></msup><mo>|</mo><mo>|</mo><mo>=</mo><msqrt><mfrac><mrow><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>|</mo><mo>|</mo><msup><mi>y</mi><mo>′</mo></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mrow><mi>N</mi></mfrac></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>20</mn><mo>)</mo></mrow></mrow></math>
and step 203, calculating the channel response ch of the DPD loop through the normalized y' (n) and z (n) to perform channel estimation.
The channel response ch is calculated as:
ch=z(n)Hy′(n)/N (21)
and step 204, calculating to obtain y '(n) according to the normalized y' (n) and the channel response ch.
In this step, let
y″(n)=y′(n)·ch* (22)
y″(n)=[y″(1),y″(2),y″(3),...,y″(N)] (23)
In the formula, ch*Is the conjugate of ch. The first matrix U of predistortion coefficients is made up of y "(n).
Step 205, generating vectors
In this step, vector <math><mrow><mover><mi>z</mi><mo>→</mo></mover><mo>=</mo><msup><mrow><mo>[</mo><mi>z</mi><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>,</mo><mi>z</mi><mrow><mo>(</mo><mi>L</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>z</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow><mo>]</mo></mrow><mi>T</mi></msup><mo>,</mo></mrow></math>Represents the data vector input to the PA, where the first (L-1) data samples z (1), z (2),.., z (L-1) are used to generate the first row of the matrix F.
Step 206, calculate WjkAnd is composed of WjkA matrix W is generated.
In the present step, the first step is carried out,
w obtained from the above formulajkForm an upper triangular matrix W, and will consist of WjkAnd in the subsequent flow, if the data in the upper triangular matrix W needs to be read, the data are directly read from the stored data.
For example, if K ═ 7, the upper triangular matrix W may be represented as:
step 207, generating and storing matrix F
HF and
wherein, F
HF is a third matrix of predistortion coefficients.
In this step, let <math><mrow><msub><mi>ψ</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>W</mi><mi>jk</mi></msub><mi>x</mi><msup><mrow><mo>|</mo><mi>x</mi><mo>|</mo></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msup></mrow></math>
Transforming equation (1) into: <math><mrow><mi>z</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munderover><mi>Σ</mi><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mi>kl</mi></msub><msub><mi>ψ</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>x</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><mo>)</mo></mrow></mrow></math>
by the above formula, general formula (5) <math><mrow><mover><mi>z</mi><mo>→</mo></mover><mo>=</mo><mi>U</mi><mover><mi>a</mi><mo>→</mo></mover></mrow></math>The transformation is: <math><mrow><mover><mi>z</mi><mo>→</mo></mover><mo>=</mo><mi>F</mi><mover><mi>b</mi><mo>→</mo></mover></mrow></math>
wherein F ═ U0W,...,UL-1W]
Generating a matrix F from the obtained F
HF and
and stored.
Step 208, for the matrix FHPerforming Cholesky decomposition on the F to obtain matrixes G and GH。
The cholesky decomposition algorithm formula is:
FHF=GGH (24)
wherein G is a lower triangular matrix of order (KL × KL).
In step 209, a first iteration is performed. Is provided with
<math><mrow><mover><mi>z</mi><mo>→</mo></mover><mo>=</mo><mi>F</mi><mover><mi>b</mi><mo>→</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>25</mn><mo>)</mo></mrow></mrow></math>
Equality both sides co-multiplying by FH,
<math><mrow><msup><mi>F</mi><mi>H</mi></msup><mover><mi>z</mi><mo>→</mo></mover><mo>=</mo><msup><mi>F</mi><mi>H</mi></msup><mi>F</mi><mover><mi>b</mi><mo>→</mo></mover><mo>=</mo><msup><mi>GG</mi><mi>H</mi></msup><mover><mi>b</mi><mo>→</mo></mover><mo>⇒</mo><msup><mi>G</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup><mi>F</mi><mi>H</mi></msup><mover><mi>z</mi><mo>→</mo></mover><mo>=</mo><msup><mi>G</mi><mi>H</mi></msup><mover><mi>b</mi><mo>→</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>26</mn><mo>)</mo></mrow></mrow></math>
Is provided with
<math><mrow><msup><mi>F</mi><mi>H</mi></msup><mover><mi>z</mi><mo>→</mo></mover><mo>=</mo><mover><mi>d</mi><mo>→</mo></mover><mo>,</mo></mrow></math>Wherein,
if the vector representing KL rows and 1 columns is an intermediate vector variable, equation (26) can be changed.
<math><mrow><msup><mi>G</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mover><mi>d</mi><mo>→</mo></mover><mo>=</mo><msup><mi>G</mi><mi>H</mi></msup><mover><mi>b</mi><mo>→</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>27</mn><mo>)</mo></mrow></mrow></math>
Is provided with <math><mrow><msup><mi>G</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mover><mi>d</mi><mo>→</mo></mover><mo>=</mo><mover><mi>h</mi><mo>→</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>28</mn><mo>)</mo></mrow></mrow></math>
From equations (27) and (28), it can be deduced: <math><mrow><mi>G</mi><mover><mi>h</mi><mo>→</mo></mover><mo>=</mo><mover><mi>d</mi><mo>→</mo></mover><mo>,</mo></mrow></math>that is to say
The matrix h can be obtained by the following transformation.
<math><mrow><mi>G</mi><mo>·</mo><mover><mi>h</mi><mo>→</mo></mover><mo>=</mo><mover><mi>d</mi><mo>→</mo></mover><mo>⇒</mo><msub><mi>h</mi><mn>1</mn></msub><mo>=</mo><msub><mi>d</mi><mn>1</mn></msub><mo>/</mo><msub><mi>g</mi><mn>11</mn></msub></mrow></math>
<math><mrow><msub><mi>h</mi><mi>i</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>g</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mfrac><mrow><mo>(</mo><msub><mi>d</mi><mi>i</mi></msub><mo>-</mo><munderover><mi>Σ</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>g</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi></mrow></msub><msub><mi>h</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>i</mi><mo>=</mo><mn>2,3</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>KL</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>30</mn><mo>)</mo></mrow></mrow></math>
Step 210, performing a second back substitution according to the obtained matrixes h and GHAnd calculating to obtain a matrix b.
From equations (27) and (28), it is possible to obtain:
<math><mrow><msup><mi>G</mi><mi>H</mi></msup><mo>·</mo><mover><mi>b</mi><mo>→</mo></mover><mo>=</mo><mover><mi>h</mi><mo>→</mo></mover><mo>,</mo></mrow></math>that is to say
Transforming the equation (31) to obtain a matrix b,
<math><mrow><msup><mi>G</mi><mi>H</mi></msup><mo>·</mo><mover><mi>b</mi><mo>→</mo></mover><mo>=</mo><mover><mi>h</mi><mo>→</mo></mover><mo>⇒</mo><msub><mi>b</mi><mi>KL</mi></msub><mo>=</mo><msub><mi>h</mi><mi>KL</mi></msub><mo>/</mo><msubsup><mi>g</mi><mrow><mi>KL</mi><mo>,</mo><mi>KL</mi></mrow><mo>*</mo></msubsup></mrow></math>
<math><mrow><msub><mi>b</mi><mi>i</mi></msub><mo>=</mo><mfrac><mn>1</mn><msubsup><mi>g</mi><mrow><mi>i</mi><mo>,</mo><mi>i</mi></mrow><mo>*</mo></msubsup></mfrac><mrow><mo>(</mo><msub><mi>h</mi><mi>i</mi></msub><mo>-</mo><munderover><mi>Σ</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mi>g</mi><mrow><mi>i</mi><mo>+</mo><mi>k</mi><mo>,</mo><mi>i</mi></mrow><mo>*</mo></msubsup><msub><mi>b</mi><mrow><mi>i</mi><mo>+</mo><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>,</mo><mi>i</mi><mo>=</mo><mi>KL</mi><mo>,</mo><mi>KL</mi><mo>-</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mn>1</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>32</mn><mo>)</mo></mrow></mrow></math>
in step 211, a predistortion coefficient matrix a is generated.
From formula (15), it can be obtained:
wherein,
after the predistortion coefficient matrix a is obtained, the predistortion processing unit may perform predistortion processing on the input signal x (n) according to the predistortion coefficient matrix a, and output a signal z (n).
As can be seen from the above, in the DPD algorithm optimized in the prior art, the matrix W is constructed by using the orthogonal polynomial, so that the accuracy and stability of the predistortion coefficient calculation are improved. Specifically, a matrix F is constructed from the matrix W, and the matrix FHPerforming Cholesky decomposition on the F to obtain a lower triangular matrix G and an upper triangular matrix GH. Using matrices G and GHAnd obtaining the value of the matrix b, and obtaining the predistortion coefficient a through the upper triangular matrix W, so that the obtained predistortion coefficient a is more accurate and stable. By means of the pre-distortion coefficient matrix obtained through calculation, the input signal x (n) is input into the PA after being subjected to pre-distortion treatment, and the nonlinear distortion of the PA can be effectively treated.
However, the optimized DPD algorithm requires a very large amount of memory space for its operation. For example, in step 207, memory matrix F
HF and
a large amount of system resources are required, for example, the size of the space required for the memory matrix is: k x L x N. Wherein K is more than or equal to 7, L is more than or equal to 4, and N is more than 4000; moreover, the operation is complicated, and a large number of multiplication and addition operations are required. Resulting in high cost of corresponding hardware and high requirements for hardware platforms.
Disclosure of Invention
In view of this, the present invention provides a digital predistortion processing method, which can greatly reduce the complexity of operation and reduce the space required for storage.
The invention also provides a digital predistortion processing device which can reduce the complexity of operation and reduce the space required by storage.
The invention provides a digital predistortion processing method, which comprises the following steps:
sequentially acquiring first M rows of elements of a predistortion coefficient second matrix according to an output signal of a radio frequency power amplifier and a predistortion coefficient intermediate transformation matrix obtained through calculation, initializing a predistortion coefficient third matrix, and acquiring first K rows of elements above a diagonal line in the predistortion coefficient third matrix according to the first M rows of elements of the predistortion coefficient second matrix, wherein the size of M is equal to the difference between the sample number and the storage length of the output signal, and the size of K is equal to the order of the output signal;
acquiring other row elements except the first K row elements above the diagonal line in the third matrix of the predistortion coefficients according to a second characteristic formula, and acquiring elements below the diagonal line in the third matrix of the predistortion coefficients according to a first characteristic formula;
and performing Cholesky decomposition on the third matrix of the predistortion coefficients, acquiring a predistortion coefficient matrix according to the matrix obtained by Cholesky decomposition, and performing predistortion processing on the input signals according to the acquired predistortion coefficient matrix.
The sequentially obtaining the first M rows of elements of the second matrix of the predistortion coefficients according to the output signal of the radio frequency power amplifier and the intermediate transformation matrix of the predistortion coefficients obtained by calculation, and obtaining the first K rows of elements above the diagonal line in the third matrix of the predistortion coefficients according to the first M rows of elements of the second matrix of the predistortion coefficients comprises:
generating a characteristic polynomial matrix U (n) of a first matrix U of predistortion coefficients from an output signal y (n) of the radio frequency power amplifier;
multiplying the polynomial matrix U (n) with the intermediate transformation matrix W of the predistortion coefficients to obtain a matrix F (n): f (n) ═ u (n) · W;
initializing the first K rows of elements above the diagonal line in the third matrix of the predistortion coefficient to zero, sequentially obtaining the first M rows of elements of the second matrix of the predistortion coefficient according to the matrix F (n), and after obtaining each row of elements, obtaining a row vector F formed by the current row of elements of the second matrix of the predistortion coefficientiAnd updating the first K rows of elements above the diagonal line in the third matrix of the current predistortion coefficient.
The manner of obtaining the ith row element of the second matrix F of predistortion coefficients is as follows: fi=[F(L+i),F(L+i-1),...,F(i)],1≤i≤M。
The manner of obtaining the ith row element of the second matrix F of predistortion coefficients includes:
when i is equal to 1, the matrix F (L) corresponding to n being equal to L in the matrix F (n) is converted into the matrix F (1) corresponding to n being equal to 1) As therow 1 element F of the second matrix F of predistortion coefficients1=[F(L),F(L-1),...,F(1)];
When i is greater than 1, shifting the i-1 th row of the second matrix F of predistortion coefficients to the right by K elements, and replacing the leftmost K elements with a matrix F (L + i-1) to obtain the i-th row of the second matrix F of predistortion coefficients: fi=[F(L+i-1),F(L+i-2),F(L+i-3),...,F(i)]。
The generating a feature polynomial matrix u (n) comprises: calculating a polynomial u from the output signalk(n) and in polynomial uk(n) generating the polynomial matrix u (n) for a vector, where u (n) is ═ u (n)1(n) u2(n)...uK(n)],u1(n)=y(n),uk(n)=uk-1(n)·|y(n)|,1≤k≤K。
The row vector update F formed by the current row elements of the second matrix according to the predistortion coefficientsiThe first K rows of elements above the diagonal in the third matrix of current predistortion coefficients include:
for the line vector FiCalculating FiHFiAnd correspondingly adding the calculation result to the previous K rows of elements above the diagonal line in the current third matrix of the predistortion coefficients according to the element position to form the new previous K rows of elements above the diagonal line in the third matrix of the current predistortion coefficients.
The second characteristic formula is:
FHF(m,n)=FHF(m-K,n-K)+F*(1,m)·F(1,n)-F*(N-L+1,m-K)·F(N-L+1,n-K);
the first characteristic formula is as follows: fHF(n,m)=(FHF(m,n))*。
ComputingAnd will calculate the resultant WjkAnd the K-th row and the K-th column of the j-th row of the predistortion coefficient intermediate transformation matrix W are used as elements, wherein K and j are natural numbers, K is more than or equal to 1 and less than or equal to K, and j is more than or equal to 1 and less than or equal to K.
The pre-distortion processing of the input signal according to the obtained pre-distortion coefficient matrix comprises:
processing an input signal x (n) and a feedback signal y (n) output by the radio frequency power amplifier according to the acquired predistortion coefficient matrix, and then inputting a processed signal z (n) into the radio frequency power amplifier, wherein, <math><mrow><mi>z</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munderover><mi>Σ</mi><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mi>kl</mi></msub><mi>y</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><msup><mrow><mo>|</mo><mi>y</mi><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>l</mi><mo>)</mo></mrow><mo>|</mo></mrow><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msup><mo>.</mo></mrow></math>
a digital predistortion processing apparatus, the apparatus comprising: a predistortion processing unit, a radio frequency power amplifier and a predistortion coefficient calculation unit, wherein,
the predistortion processing unit is used for carrying out predistortion processing on an input signal x (n) according to the predistortion coefficient matrix generated by the predistortion coefficient calculating unit and outputting a signal z (n) to the radio frequency power amplifier;
the radio frequency power amplifier is used for receiving the signal z (n) output by the predistortion processing unit, carrying out power amplification processing, outputting a signal y (n) to the outside, and simultaneously feeding back the output signal to the predistortion coefficient calculating unit;
the predistortion coefficient calculation unit is used for sequentially obtaining the first M rows of elements of a predistortion coefficient second matrix according to the output signal of the radio frequency power amplifier and the calculated predistortion coefficient intermediate transformation matrix, and obtaining the first K rows of elements above the diagonal line in the predistortion coefficient third matrix according to the first M rows of elements of the predistortion coefficient second matrix, wherein the size of M is equal to the difference between the sample number and the storage length of the output signal, and the size of K is equal to the order of the output signal;
acquiring other row elements except the first K row elements above the diagonal line in the third matrix of the predistortion coefficients according to a second characteristic formula, and acquiring elements below the diagonal line in the third matrix of the predistortion coefficients according to a first characteristic formula;
and performing Cholesky decomposition on the third matrix of the predistortion coefficient, and acquiring a predistortion coefficient matrix according to a matrix obtained by the Cholesky decomposition.
According to the technical scheme, the first M rows of elements of a predistortion coefficient second matrix are sequentially obtained according to an output signal of a radio frequency power amplifier and a predistortion coefficient intermediate transformation matrix obtained through calculation, a predistortion coefficient third matrix is initialized, and the first K rows of elements above the diagonal line in the predistortion coefficient third matrix are obtained according to the first M rows of elements of the predistortion coefficient second matrix, wherein the size of M is equal to the difference between the sample number and the storage length of the output signal, and the size of K is equal to the order of the output signal; acquiring other row elements except the first K row elements above the diagonal line in the third matrix of the predistortion coefficients according to a second characteristic formula, and acquiring elements below the diagonal line in the third matrix of the predistortion coefficients according to a first characteristic formula; and performing Cholesky decomposition on the third matrix of the predistortion coefficients, acquiring a predistortion coefficient matrix according to the matrix obtained by Cholesky decomposition, and performing predistortion processing on the input signals according to the acquired predistortion coefficient matrix. The times, complexity and required storage space of the third matrix operation of the predistortion coefficients are greatly reduced, operation resources are saved, and operation efficiency is improved.
Drawings
Fig. 1 is a schematic structural diagram of a device for implementing DPD in the prior art.
Fig. 2 is a schematic flowchart of a DPD algorithm in the prior art.
FIG. 3 is a flow chart of the generating matrix FHF of the present invention.
Fig. 4 is a schematic structural diagram of a device for implementing DPD according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to the accompanying drawings and examples.
In the embodiment of the invention, a DPD algorithm is improved, a matrix F is generated according to a characteristic polynomial matrix U (n) and an upper triangular matrix W, and the matrix F is utilizedHF, the two characteristics of the F are operated, so that the calculation acquisition matrix F can be reducedHThe complexity of F reduces the resources required for computation and the memory space requirements.
The invention is mainly aimed at reducing the calculation and memory matrix FHAnd F, the system resources required by the system are described in detail below. Other procedures for obtaining the predistortion coefficients are the same as those in the prior art, and are not described herein again.
One of ordinary skill in the art would recognize by pairing matrix FHAnalysis of F, the matrix F can be deducedHF has two characteristics as follows:
first characteristic formula: fHF(n,m)=(FHF(m,n))* (34)
Second characteristic formula:
FHF(m,n)=FHF(m-K,n-K)+F*(1,m)·F(1,n)-F*(N-L+1,m-K)·F(N-L+1,n-K) (35)
in the formulas (34) and (35), m is not less than K, n is not less than K, and n is not less than m. FHF (m, n) represents a matrix FHThe element in row m and column n in F, and F (m, n) represents the element in row m and column n in matrix F.
As is clear from the equations (34) and (35), the matrix FHF, only the first K rows of elements above the diagonal in the matrix need to be calculated, and the other rows of elements above the diagonal can be calculated according to the formula (35); the elements in the matrix below the diagonal line can be obtained by transformation and calculation according to equation (34).
In the present invention, let FmThe m-th row element of the matrix F is represented, then the matrix FHF can be represented as:
<math><mrow><msup><mi>F</mi><mi>H</mi></msup><mi>F</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>F</mi><mn>1</mn><mi>H</mi></msubsup></mtd><mtd><msubsup><mi>F</mi><mn>2</mn><mi>H</mi></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>F</mi><mrow><mi>N</mi><mo>-</mo><mi>L</mi><mo>-</mo><mn>1</mn></mrow><mi>H</mi></msubsup></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>F</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>F</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>F</mi><mrow><mi>N</mi><mo>-</mo><mi>L</mi><mo>+</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable></mfenced><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>-</mo><mi>L</mi><mo>+</mo><mn>1</mn></mrow></munderover><msubsup><mi>F</mi><mi>i</mi><mi>H</mi></msubsup><msub><mi>F</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>37</mn><mo>)</mo></mrow></mrow></math>
for different i, matrix FiHFiAnd matrix FHF has the same number of rows and columns.
If F has been acquirediFor the matrix FiHFiThen, from the known matrix FiGet the first K lines of elements on the diagonal line, then, according to the formula <math><mrow><msup><mi>F</mi><mi>H</mi></msup><mi>F</mi><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>-</mo><mi>L</mi><mo>+</mo><mn>1</mn></mrow></munderover><msubsup><mi>F</mi><mi>i</mi><mi>H</mi></msubsup><msub><mi>F</mi><mi>i</mi></msub></mrow></math>A matrix F can be obtainedHF is located on the first K rows of elements on the diagonal.
Thus, using the formula <math><mrow><msup><mi>F</mi><mi>H</mi></msup><mi>F</mi><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>-</mo><mi>L</mi><mo>+</mo><mn>1</mn></mrow></munderover><msubsup><mi>F</mi><mi>i</mi><mi>H</mi></msubsup><msub><mi>F</mi><mi>i</mi></msub><mo>,</mo></mrow></math>May not require computation and storage for generating the matrix FHAll rows and columns of the matrix F of F, but only one row of elements of the matrix F is calculated and stored for calculating the matrix FiHFi. The storage space required for storing one row of elements of the matrix F is KL, while the storage space required for storing the whole matrix F is KLN, where K ≧ 7, L ≧ 4, and N ≧ 4000. Thus, the storage requirements are greatly reduced compared to the prior artSpace and computational complexity.
FIG. 3 is a diagram of a generator matrix F according to the present inventionHF is a schematic flow chart. Referring to fig. 3, the process includes:
step 301, calculating and obtaining the first row elements of the matrix F, and storing the K (L-1) leftmost elements of the first row of the matrix F for the calculation of thesubsequent step 306.
In this step, the step of obtaining the first row elements of the matrix F is:
1) the absolute value v (n) of y (n) is calculated. Namely, it is
v(n)=|y(n)| (38)
2) Generating a polynomial uk(n)。
First order polynomial u1(n),u1(n)=y(n); (39)
Second order polynomial u2(n),u2(n)=u1(n)·v(n); (40)
Third order polynomial u3(n),u3(n)=u2(n)·v(n); (41)
...;
Polynomial u of order KK(n),uK(n)=uK-1(n)·v(n) (42)
3) A characteristic polynomial matrix u (n) is generated.
According to the formulae (39) to (42),
U(n)=[u1(n) u2(n)...uK(n)] (43)
4) generating a matrix F (n) according to equation (13),
F(n)=U(n)·W (44)
5) from equation (44), the first row of the matrix F is obtained.
F1=[F(L),F(L-1),...,F(1)] (45)
Wherein, F (L) is the matrix corresponding to the matrix F (n) in which n is equal to L, and after the first row of the matrix F is generated, the leftmost K (L-1) elements of the first row of the matrix F are stored.
Step 302, let i equal to 1, denote matrix F by aHF, i.e. the third matrix of predistortion coefficients, and initialize matrix FHF is A ═ FHF is 0. Namely: for all 1 ≦ m, n ≦ KL, initialize a (m, n) ≦ 0, where a (m, n) represents the mth row and nth column elements in matrix a. The first K rows of elements above the diagonal in the third matrix of predistortion coefficients may be initialized to zero.
Step 303, calculate the matrix
In this step, only the matrix F needs to be calculatediHFiAnd the first K rows of elements above the diagonal in the matrix A, and the matrix A and the matrix FiHFiThe added sum is again assigned a.
In particular, prior to this step, the i-th row element of the second matrix F of predistortion coefficients has been determined, the row vector F formed by this i-th row element in this stepiAnd updating the first K rows of elements above the diagonal line in the third matrix of the current predistortion coefficient.
For m is more than or equal to 1 and less than or equal to K and m is less than or equal to n, calculating the matrix A by using the following assignment algorithm formula:
A(m,n)=A(m,n)+F*(i,m)·F(i,n) (46)
the formula (46) represents the sum obtained by adding A (m, n) to the product obtained by multiplying F (i, m) by F (i, n), wherein F (i, n) represents FiWherein the nth element, F x (i, n), represents the conjugate of F (i, n).
Step 304, if i is less than N-L +1, let i equal to i +1, then executestep 305; otherwise,step 306 is performed.
The present steps can also be implemented with the following code segments,
Ifi<N-L+1
{
i=i+1;
goto step 305.
}
Else
{
Goto step 306
}
step 305, generate the ith row element of the matrix F, and then return to executestep 303.
First, before this step, the i-1 th row element of the matrix F is obtained:
Fi-1=[F(L+i-2),F(L+i-3),...,F(i-1)] (47)
next, F (L + i-1) is calculated.
Referring to the calculation methods of U (n) and F (n) given instep 301, U (L + i-1) is calculated first, and then F (L + i-1) ═ U (L + i-1) · W is calculated.
Then, shift the i-1 th row of matrix F to the right by K elements, and then replace the leftmost K elements with F (L + i-1), resulting in the ith row of matrix F:
Fi=[F(L+i-1),F(L+i-2),F(L+i-3),...,F(i)] (48)
for line vector FiCalculating FiHFiAdding the calculation result to the previous K rows of elements above the diagonal line in the third matrix A of the current predistortion coefficient according to the element position to form a new current predistortion coefficientThe first K rows of elements above the diagonal in the third matrix a of distortion coefficients.
Step 306, obtaining a matrix F according to the formula (35)HF other elements of the row above the diagonal.
The specific calculation formula is as follows:
A(m,n)=A(m-K,n-K)+F*(1,m)·F(1,n)-F*(N-L+1,m-K)·F(N-L+1,n-K)
(49)
wherein mn is more than or equal to K, n is more than or equal to K and n is more than or equal to m.
Step 307, obtain matrix F according to equation (34)HF elements below the diagonal.
Namely: a (n, m) ═ a (m, n)) ×
At this point, the process ends, and the matrix A obtained instep 307 is the matrix FHF。
The subsequent process of obtaining the predistortion coefficient is the same as that of the prior art, and is not described herein again.
Fig. 4 is a schematic structural diagram of a device for implementing DPD according to the present invention. Referring to fig. 4, the apparatus includes a predistortion processing unit, a PA, and a predistortion coefficient calculation unit, wherein,
the predistortion processing unit is used for carrying out predistortion processing on an input signal x (n) according to the predistortion coefficient generated by the predistortion coefficient calculating unit and outputting a signal z (n);
the PA is used for receiving the signal z (n) output by the predistortion processing unit, carrying out power amplification processing, then outputting a signal y (n) to the outside, and simultaneously feeding back the output signal to the predistortion coefficient calculating unit;
the predistortion coefficient calculation unit is used for sequentially obtaining the first M rows of elements of a predistortion coefficient second matrix F according to signals y (n) output by the PA and a predistortion coefficient intermediate transformation matrix W obtained through calculation, and obtaining the first K rows of elements above the diagonal line in the predistortion coefficient third matrix A according to the first M rows of elements of the predistortion coefficient second matrix F, wherein the size of M is equal to the difference between the number of samples of output signals and the storage length, and the size of K is equal to the order of the output signals;
acquiring other row elements except the first K row elements above the diagonal line in the third matrix of the predistortion coefficients according to the second characteristic formula, and acquiring elements below the diagonal line in the third matrix A of the predistortion coefficients according to the first characteristic formula;
and performing Cholesky decomposition on the third matrix A of the predistortion coefficients, and acquiring a predistortion coefficient matrix according to a matrix obtained by the Cholesky decomposition.
In practical application, the predistortion coefficient calculation unit calculatesAnd will calculate the resultant WjkForming an upper triangular matrix W; calculating y (n) output by PA to obtain first row element F of matrix F1And storing; initialization FHF is 0; computing matricesThe first K rows of elements above the mid diagonal. Then, the second row element F of the matrix F is obtained by calculating y (n) output by PA2And calculateThe first K rows of elements above the mid diagonal. In this manner, processing for each subsequent row proceeds in turn up to the (N-L +1) th row. Namely: for the ith row, i is more than 2 and less than or equal toN-L +1, and the ith row element F of the matrix F is obtained by calculating y (N) output by PAiAnd calculateThe first K rows of elements above the mid diagonal. Until i isN-L + 1.
Obtaining a matrix F according to equation (35)HThe other row elements above the diagonal in the F except the first K row elements; then, the matrix F is obtained by calculation according to the formula (34)HThe elements below the diagonal in F, and finally the matrix FHPerforming Cholesky decomposition on the F to obtain a lower triangular matrix G and an upper triangular matrix GHA lower triangular matrix G and an upper triangular matrix G obtained by Cholesky decompositionHAnd acquiring a predistortion coefficient matrix. While using G and GHThe pre-distortion coefficient matrix is obtained similarly to the prior art, and is not described in detail herein.
Table 1 shows a comparison of the complexity and required memory space in the prior art algorithm and the simplified algorithm of the present invention.
TABLE 1
| Multiplication operands | Addition operands | Storage space |
| Prior art FHF | 6496000 | 6495188 | KLN=7*4*4000 |
| Invention FHF | 2856924 | 2857491 | KL=7*4=28 |
| Complexity reduction | 43.98% | 43.99% | 99.99% |
The embodiment shows that the simplified DPD algorithm provided by the invention greatly reduces the complexity of matrix operation and the required storage space, saves operation resources and improves operation efficiency. Compared with the DPD algorithm in the prior art, the improved DPD algorithm can reduce the calculation matrix FHF complexity up to 43.98%, memory matrix FHThe space size required for F is further reduced to 0.01%. Due to FHThe operation complexity of F accounts for 85% of the whole existing DPD algorithm, and the matrix FHThe storage capacity of F is almost more than 95% of the storage capacity of the whole existing DPD algorithm, so that the simplified algorithm greatly reduces FHThe complexity of the operation and the memory space of the F greatly reduces the complexity of the whole DPD algorithm and reduces the memory space to a negligible degree.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.