Digital predistortion module and power amplifier arrangement

The digital predistortion module employing a pruned Volterra series with memory polynomial terms and the PVS-BDOMP algorithm effectively addresses the challenge of linearizing dual-input power amplifiers, enhancing performance and reducing energy consumption.

WO2025076816A1PCT designated stage expired Publication Date: 2025-04-17TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/124500
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-13
Publication Date
2025-04-17

AI Technical Summary

Technical Problem

Conventional digital predistortion (DPD) modules struggle to properly linearize dual-input power amplifiers, particularly load-modulated balanced amplifiers (LMBA), due to additional load modulation introducing extra cross-terms not accounted for in existing models.

Method used

A digital predistortion module utilizing a pruned Volterra series with memory polynomial terms, where the polynomial order and time delay are determined by the PVS-BDOMP algorithm based on input signals and error signals, allowing for flexible and scalable representation of nonlinear characteristics.

Benefits of technology

The proposed DPD module achieves significant performance improvement in linearizing non-linear electronic devices like dual-input PAs, reduces energy consumption, and minimizes power consumption by selectively enabling only the basis function components contributing to nonlinearity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023124500_17042025_PF_FP_ABST
    Figure CN2023124500_17042025_PF_FP_ABST
Patent Text Reader

Abstract

A digital predistortion module (DPD) (300) for linearization of a non-linear electronic device is disclosed. The DPD module (300) comprises an input module (310) configured to receive an input signal x(n) and a function module (320) defined by a pruned Volterra series with memory polynomial terms, wherein the function module comprises a set of basis function components Fj (p ( j ) 1, q ( j ) 1 p2'> > q2 (i) I A ( i ), D ( j ) 1, Di'> > Ds >, D ( j ) 4, x(n)). The polynomial order and time delay of the function module (320) are determined or calculated by algorithm based on the input signal x(n), and an error signal e(n) representing a difference between the input signal x(n) and an output signal z(n) of the non-linear electronic device. The DPD module (300) further comprises an output module (330) configured to combine outputs from the set of basic function components to output an output signal y(n).
Need to check novelty before this filing date? Find Prior Art

Description

DIGITAL PREDISTORTION MODULE AND POWER AMPLIFIER ARRANGEMENTTECHNICAL FIELD

[0001] Embodiments herein relate to digital predistortion module and power amplifier arrangement. In particular, they relate to a digital predistortion module with enhanced performance and efficiency for linearizing the power amplifier arrangement. Further, the embodiments relate to an electronic device comprising the power amplifier arrangement.BACKGROUND

[0002] In a wireless communication system, a transmitter employs power amplifiers (PA) to increase radio frequency (RF) signal power before transmission. A PA is expected to amplify input signals linearly and generate output signals with larger power but with identical characteristics to the input signals.

[0003] Energy efficiency has become increasingly important to cellular network operators due to high targets on the reduced carbon footprint. It doesn’t only impact operators’ operational expense, but also global environment. Hence, equipment vendors must improve energy efficiency of their products as much as possible by adopting cutting-edge technologies. Among these technologies, dual-input PA is one of the most important enabling components. Dual-input PA may have a variety of forms such as digital Doherty PA, outphasing PA, and load-modulated balanced amplifier (LMBA) , etc.

[0004] Figure 1 depicts a block diagram of a dual-input power amplifier 100 as one of the most critical and popular forms in dual-input PA in recent years, e.g. R. Quaglia, et. al., “Load-Modulated Balanced Amplifier: From First Invention to Recent Development” , IEEE Microwave Magazine, vol. 23, no. 12, pp. 60–70, Dec. 2022, and P. Saad, et. al., “Symmetrical Load Modulated Balanced Power Amplifier with Asymmetrical Output Coupling for Load Modulation Continuum” , IEEE Transactions on Microwave Theory and Techniques, vol. 70, no. 4, pp. 2315–2327, Apr. 2022. The power amplifier 100 contains a primary PA 110 and an auxiliary PA 120. Furthermore, the primary PA 110 comprises two amplifiers in balanced configuration, i.e. is an LMBA. The outputs of these PAs are combined at a quadrature coupler 130. In a typical configuration of the LMBA, a 90-degree 3dB coupler is used for the quadrature coupler 130. The output from the auxiliary PA 120 is injected into the control port Ctrl of the quadrature coupler 130 to modulate the load impedance of the LMBA for efficiency optimization. The output of auxiliary PA 120 can modulate the impedance of the primary PA 110, thus optimize its power consumption. There are two input signals for the power amplifier 100, one is primary signal PinM, another is auxiliary signal PinA.  Furthermore, the primary signal PinM is separated at a quadrature splitter 140, and connected to the two amplifiers in balanced configuration in the primary PA 110, and the outputs of the two amplifiers in balanced configuration are combined to one output Pout at a quadrature coupler 130. The auxiliary signal PinA is connected to the auxiliary PA 120.

[0005] Digital predistortion (DPD) is widely used to linearize nonlinear devices. A DPD module modifies an input signal of a PA so that an output signal of the PA has larger power but with identical characteristics to the input signal of the DPD module. Consequently, the combination of the DPD module and PA can be seen as a linear component.

[0006] Figure 2 shows a block diagram of a conventional DPD with direct-learning architecture (DLA) . DLA is a true predistortion whose coefficients are learned directly from the error between DPD input signal and PA output signal. Unlike other architectures, DLA can support ultra wideband signal with highly nonlinear PA. The conventional DPD is usually sufficient to reach the required performance for single-input PAs. The disclosed DPD can further improve the DPD performance when it is applied. As for dual-input PAs, because of additional load modulation, the conventional DPD may not be able to linearize it properly. Extensive experiments show that the conventional DPD cannot linearize an LMBA with satisfied performance. In the LMBA, the load impedance of the primary PA is modulated by injecting a control signal from the auxiliary PA. The additional output from the auxiliary PA provides the freedom to optimise the efficiency of the primary PA but also introduces extra complexity for a DPD module / model to model it. Nonlinearity is usually modelled in mathematics by nonlinear terms such as |x (n) | 2, |x (n) | 3, …, |x (n) | 2x (n) …, and cross-terms such as |x (n-m) | 2x (n) , x (n) y (n) etc. The modulation on the load of the primary PA by the auxiliary PA introduces extra cross-terms that is not included in the conventional DPD models.SUMMARY

[0007] Therefore, it is an object of embodiments herein to provide a DPD module with improved performance and efficiency for linearization of non-linear electronic devices, such as dual-input PA, LMBA etc.

[0008] According to one aspect of embodiments herein, the object is achieved by a DPD module for linearization of a non-linear electronic device. The DPD module comprises an input module configured to receive an input signal x (n) ; a function module defined by a pruned Volterra series with memory polynomial terms. The function module comprises a set of basis function components,  where j= 1, 2…J, J is the maximum number of basis function components,  are a set  of polynomial orders of the j-th basis function component, A (j) ,  are a set of time delays of the j-th basis function component. The polynomial order and time delay of the function module are determined or calculated by algorithm based on the input signal x (n) , and an error signal e (n) representing a difference between the input signal x (n) and an output signal z (n) of the non-linear electronic device. The DPD module further comprises an output module configured to combine outputs from the set of basic function components to output an output signal y (n) .

[0009] According to some embodiments herein, each basis function component may comprise a set of filter taps. Each filter tap may comprise a look-up-table (LUT) storing coefficients with an index representing address delay of the coefficients, where l=1, 2, …L, L is the maximum number of filter taps in each basis function component. Each basis function component may further comprise a number of data streams. Each data stream has its own time delay and polynomial order such that the polynomial order and time delay of the function module are adjustable based on the input signal x (n) and the error signal e (n) .

[0010] According to some embodiments herein, the polynomial order and time delay of the function module may be calculated by pruned Volterra series block doubly orthogonal matching pursuit (PVS-BDOMP) algorithm.

[0011] According to one aspect of embodiments herein, the object is achieved by a method performed by a DPD module for determining parameters of a function module comprised in the DPD module. The function module is defined by a pruned Volterra series with memory polynomial terms. The function module comprises a set of basis function components,  where j=1, 2…J, J is the maximum number of basis function components. The method comprises initializing the DPD module; determining polynomial order and time delay of the function module by algorithm based on an input signal x (n) destined to be input to a non-linear electronic device, and an error signal e (n) representing a difference between the input signal x (n) and an output signal z (n) of the non-linear electronic device; and calculating coefficients of the function module.

[0012] According to one aspect of embodiments herein, the object is achieved by a power amplifier arrangement with digital predistortion. The power amplifier arrangement comprises a primary input (PinM) and an auxiliary input (PinA) . The power amplifier arrangement further comprises a load-modulated balanced amplifier (LMBA) . The LMBA comprises a first power amplifier, a second power amplifier, a quadrature splitter configured to split a primary input  signal at the primary input into two input signals to the first and second power amplifiers, a combiner (QC) configured to combine outputs of the first and second power amplifiers to a single output. The power amplifier arrangement further comprises a third power amplifier configured to receive an auxiliary input signal at the auxiliary input and generate a control signal to a control input of the QC. The power amplifier arrangement further comprises a digital predistortion module (DPD) . The DPD module is configured to receive an input signal x (n) destined to be input to the power amplifier arrangement, and an error signal e (n) representing a difference between the input signal x (n) and an output signal z (n) of the LMBA. The power amplifier arrangement further comprises a signal splitter configured to split an output signal y (n) of the DPD module to produce a first input signal and a second input signal, a delay module coupled between the DPD module and the primary input of the power amplifier arrangement and configured to align delay difference between the first and second input signals, and a shaping module coupled between the DPD module and the auxiliary input of the power amplifier arrangement configured to shape amplitude and phase of the second input signal.

[0013] According to one aspect of embodiments herein, the object is achieved by a method performed by a controller for operating the power amplifier arrangement described above. The method comprises the following actions: initializing the DPD module, determining the polynomial orders, time delays and coefficients of the function module comprised in the DPD module, providing the input signal to the DPD module, checking whether the error signal e (n) representing the difference between the input signal x (n) and output signal z (n) of the LMBA fulfils a condition. If the error signal e (n) fulfils the condition, continuing providing the input signal to the DPD module. If the error signal e (n) does not fulfil the condition, calculating and updating the coefficients of the function module. Checking whether the error signal e (n) fulfils a condition. If the error signal e (n) fulfils the condition, continuing providing the input signal to the DPD module. If the error signal e (n) does not fulfil the condition, calculating and updating the polynomial orders and time delays of the function module comprised in the DPD module. Checking whether the error signal e (n) fulfils a condition. If the error signal e (n) fulfils the condition, continuing providing the input signal to the DPD module. If the error signal e (n) does not fulfil the condition, repeating the actions from the beginning until the power amplifier arrangement is power down.

[0014] Embodiments herein provide some advantages:

[0015] · Outstanding performance. Since the polynomial order and time delay of the function module of the DPD module according to embodiments herein is determined by algorithm based on the input signal x (n) and the error signal e (n) , the DPD module is  more flexible and scalable, and can better represent the nonlinear characteristic of the non-linear electronic device than the existing DPD module. This gives significant performance improvement for linearization of a non-linear electronic device, e.g. a dual-input PA. This can ensure a successful roll out of dual-input PA in wireless networks.

[0016] · Reduced energy consumption. Rolling out dual-input PAs provides opportunity on reduced energy consumption of wireless networks.

[0017] · Reduced operational cost and benefit to climate change. Saving energy consumption can reduce operation cost and climate impact.

[0018] · Additional saving on power consumption. Since the DPD module is flexible and scalable, only the basis function components with major contribution to the nonlinearity are selected and enabled, power consumption for the DPD module is further reduced.

[0019] · The DPD module is built up based on the input signal x (n) and error signal e (n) during operating of the non-linear electronic device and is therefore a data driven method. Extensive experiments or testing and complicate analysis to gain the physical information or knowledge on the nonlinear characteristic of the non-linear electronic device are not needed since the physical information or knowledge on the nonlinear characteristic is not required.

[0020] · The polynomial order and time delay of the function module of the DPD module are calculated using PVS-BDOMP algorithm. Extensive searching on all possible polynomial orders and time delays is avoided by creating a small candidate list of polynomial orders for the number of data streams wherein the total polynomial order of the number of data streams is below a predefined order. In this way, time and effort for calculating the polynomial order and time delay of the function module are saved.

[0021] · Reduced design to market time. Time-to-market and development investment are significantly reduced due to the DPD module is built up with data driven method during operating of the non-linear electronic device.

[0022] · Easy for implementation. Proposed approach and DPD module can be straightforwardly implemented in different applications for linearization of non-linear electronic devices.

[0023] Therefore, embodiments herein provide an improved DPD module and approach for linearization of non-linear electronic devices regarding performance and efficiency.BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Examples of embodiments herein are described in more detail with reference to attached drawings in which:

[0025] Figure 1 is a schematic block diagram illustrating an LMBA according to prior art;

[0026] Figure 2 is a schematic block diagram illustrating a direct-learning architecture DPD according to prior;

[0027] Figure 3 is a schematic block diagram illustrating a DPD module according to embodiments herein;

[0028] Figure 4 is a schematic block diagram showing an example structure of a basis function component according to embodiments herein;

[0029] Figure 5 is a schematic block diagram showing a power amplifier arrangement according to embodiments herein;

[0030] Figure 6 are flow charts showing methods for determining parameters of DPD module according to embodiments herein;

[0031] Figure 7 is a flow chart showing a method for operating the power amplifier arrangement according to embodiments herein; and

[0032] Figure 8 is a block diagram illustrating an electronic device / apparatus in which embodiments herein may be implemented.DETAILED DESCRIPTION

[0033] As part of developing embodiments herein problems and drawbacks with the existing DPD are identified and will first be discussed.

[0034] As discussed in the background, the modulation on the load of balanced PA from the auxiliary PA introduces extra cross-terms that is not included in the conventional DPD models. Adding cross-terms into the conventional DPD model is unfortunately the only way to improve performance. However, which cross-terms should be added is troublesome for DPD design.

[0035] The foundation of DPD model is Volterra series, which can be expressed as

[0036] Here, x and y denote DPD input and output, respectively. Due to its prohibitive complexity, full Volterra series have not been used in any DPD product.

[0037] Most of the practical DPD models are built upon Volterra series with some kind of pruning techniques. Different pruning may lead to different models, such as memory polynomials (MP) , generalized memory polynomials (GMP) , dynamic deviation reduction (DDR) , basis-propagating selection (BAPS) , multi-delay taps (MDT) , etc. For compactness,  this type of DPD models is referred to as pruned Volterra series (PVS) DPD models. The PVS DPD models are outstanding than others due to their better trade-off between performance and complexity.

[0038] There are some drawbacks in these PVS models. Firstly, they are built based on physical knowledge on nonlinear characteristic of PAs. As PA architecture becomes more complex, especially for dual-input PA, the acquisition of such physical knowledge requires extensive time and so much work. Secondly, they focus too much on polynomial orders, too little on time delays, also known as memory depths. As signal bandwidth continuously grows, the time delays cannot be ignored. It is needed to select or set both polynomial orders and time delays of the DPD models. However, since the polynomial orders and time delays are intertwined together, how to select them is a long-lasting problem. Thirdly, these DPD models are predefined in the offline test, cannot change according to application environment. For instance, in some carrier configurations, such as input signals with single carrier and narrow bandwidth, the linearization is quite simple and the DPD model is indeed overdesigned, that results in meaningless power consumption. In some carrier configurations, such as input signals with multiple carriers and wide bandwidth, the linearization is quite difficult and the DPD model is not good enough to meet the requirement. Due to that, the DPD model must be flexible and scalable to reduce power consumption, meanwhile ensuring an acceptable good performance.

[0039] Embodiments herein provide a DPD module and design method, aiming to linearize a non-linear electronic device, e.g. a dual-input PA, especially LMBA, with improved performance compared to the existing DPD modules.

[0040] Figure 3 shows a schematic block diagram of a DPD module 300 according to embodiments herein.

[0041] The DPD module 300 comprises an input module 310 configured to receive an input signal x (n) .

[0042] The DPD module 300 further comprises a function module 320 defined by a pruned Volterra series with memory polynomial terms.

[0043] The function module 320 comprises a set of basis function components:

[0044] Where j denotes the index of basis function, j=1, 2…J, J is the maximum number of basis function components,  are a set of polynomial orders of the j-th basis function component, and A (j) ,  are a set of time delays of a number of data streams in the j-th basis function component.

[0045] The DPD module 300 further comprises an output module 330 configured to combine outputs from the set of basic function components to output an output signal y (n) .

[0046] The DPD module 300 may further comprises a delay module 340 connected between the input module 310 and output module 330 for providing a direct path between the input signal x (n) and output signal y (n) .

[0047] Figure 4 shows a schematic block diagram of a basis function component 400, e.g. the j-th basis function component.

[0048] Each basis function component comprises a set of filter taps, wherein each filter tap comprises a look-up-table (LUT) , storing coefficients with an index representing address delay of the coefficients, where l denote the filter tap, l=1, 2, …L, L is the maximum number of filter taps in each basis function.

[0049] Each basis function component further comprises a number of data streams, e.g. 4 data streams as shown in Figure 4. Each data stream has its own time delay and polynomial order here the time delays and polynomial orders are denoted by j which denotes the index of basis function, i.e. the j-th basis function component.

[0050] Referring to Figure 3 and 4, the DPD module 300 may be expressed as:

[0051] where,

[0052] where, j and l denote the index of basis function and filter tap, respectively. The numbers of basis function components and filter taps are denoted by J and L, respectively.  denote the polynomial orders of four data streams, respectively.  denote the time delays of four data streams, respectively.  is the address delay, used to index the coefficients stored in the LUT. x*represents conjugate of x.

[0053] Expression (2) is not hardware friendly because many power series are involved in the computation. A compact version may be written as

[0054] where, θ (x (n) ) =arctan (imag (x (n) )  / real (x (n) ) ) .                            (3)

[0055] It is seen that power series and multiplications are replaced by multiplications and adds / subtracts. Therefore, both complexity and numerical stability are improved.

[0056] The DPD module 300 may be used to linearize a non-linear electronic device, e.g. a dual-input PA. Figure 5 shows a schematic block diagram of an amplifier arrangement 500 with the DPD module 300 according to embodiments herein.

[0057] The amplifier arrangement 500 comprises a primary input PinM, an auxiliary input PinA, and a load-modulated balanced amplifier (LMBA) 510. The LMBA 510 comprises a first power amplifier PA1, a second power amplifier PA2, a quadrature splitter QS configured to split a primary input signal at the primary input PinM into two input signals Pin1, Pin2 to the first and second power amplifiers PA1, PA2, a combiner QC configured to combine outputs of the first and second power amplifiers PA1, PA2 to a single output Pout. The amplifier arrangement 500 further comprises a third power amplifier PA3 configured as a control amplifier to receive an auxiliary input signal at the auxiliary input PinA and generate a control signal to a control input Ctrl of the QC to modulate the load of the LMBA 510. That is the load impedance of LMBA 510 is modulated by the control signal injected to the quadrature combiner QC from the third power amplifier PA3.

[0058] The amplifier arrangement 500 further comprises a DPD module 300 described above. The input module 310 of the DPD module 300 is configured to receive an input signal x (n) destined to be input to the amplifier arrangement 500 and an error signal e (n) representing a difference between the input signal x (n) and an output signal z (n) of the LMBA 510.

[0059] The amplifier arrangement 500 further comprises a signal splitter SP configured to split an output signal y (n) of the DPD module 300 to produce a first input signal S1 and a second input signal S2.

[0060] The amplifier arrangement 500 further comprises a delay module DM coupled between the output module 330 of the DPD module 300 and the primary input PinM of the amplifier arrangement 500 and configured to align delay difference between the first and second input signals S1, S2.

[0061] The amplifier arrangement 500 further comprises a shaping module SHM coupled between the output module 330 of the DPD module 300 and the auxiliary input PinA of the amplifier arrangement 500 configured to shape amplitude and phase of the second input signal S2.

[0062] The amplifier arrangement 500 may further comprises a controller CL configured to operating the DPD 300 and the amplifier arrangement 500.

[0063] According to embodiments herein, the polynomial order and time delay of the function module 320 in the DPD module 300 are determined or calculated by algorithm based on the input signal x (n) , and the error signal e (n) representing a difference between the input signal x (n) and an output signal z (n) of the non-linear electronic device. Since each data stream of each basis function component has its own time delay and polynomial order the polynomial order and time delay of the function module 320 are adjustable based on the input signal x (n) and the error signal e (n) .

[0064] In the following, an efficient algorithm for determining the polynomial order and time delay of the function module 320 will be described in detail.

[0065] Even though the DPD module 300 expressed in (2) or (3) is very powerful, it is not practical because there are too many parameters involved in the formula. If no efficient method exits, it may need very long time to find out the optimal parameters and coefficients for the the function module 320. To overcome this problem, a method called Block Doubly Orthogonal Matching Pursuit (BDOMP) is provided according to embodiments herein, which significantly reduces the required time for calculating the parameters and coefficients. The BDOMP method is first proposed and presented in the international application WO2023 / 137649 A1 by the same applicant as the present application. However, this method is specifically designed for GMP model and used only for optimizing the time delays. In the present application, it is extended to the proposed DPD module 300 with the function module 320 defined by a pruned Volterra series (PVS) with memory polynomial terms and used for optimizing both time delays and polynomial orders.

[0066] The algorithms for determining optimal time delays and polynomial orders are described in Table 1 and Table 2, respectively.

[0067] Table 1 Description of Algorithm 1 for determining optimal time delays

[0068] In Algorithm 1, Z and r are the temporary variables for basis function X and residual error e as seen in Table 1. They are updated in iterations when the selected time delays and the contributions from these selected time delays are gradually removed.  is a list that stores the indexes of selected time delays. S denotes the size of the list for all candidate time delays that are to be assessed. λ is also used to stabilize the numerical computation.

[0069] In Algorithm 1, it is assumed that is already known. The basis function can be expressed as a matrix For sake of compactness, it is omitted here the description of how to build up based on x (n) and Similar step has been given in the international application WO2023 / 137649 A1 for see page 11, line 11 to page 12, line 13 of the international publication of WO2023 / 137649 A1 published on 27 July 2023.

[0070] It is not difficult to extend it for any value of Meanwhile, the input error is denoted by a vector e, which is composed of the error between the DPD 300 input x (n) and the nonlinear device output z (n) . Based on and input error e, the optimal time delays for each data streams can be obtained for the j-th basis function component. This part is similar as the method presented in the international application WO2023 / 137649 A1, but with more complicated basis functions.

[0071] Table 2 Description of Algorithm 2 for determining optimal polynomial orders

[0072] The above description of Algorithm 2 explains how to find out the optimal polynomial orders Suppose there exists a list that contains all possible values for One may sweep the list and evaluate the contribution of each value. Then, one can select the major ones and put it into the selected set of polynomial orders, meanwhile remove it from the list. The contribution of the selected ones is also removed from  the residual error, resulting in an updated residual error. Repeat the steps1-6 until J basis functions are selected and evaluated.

[0073] In Algorithm 2 as seen in Table 2, r is the temporary variable for residual error, which is updated in iterations when the selected basis functions and the contributions from these basis functions are gradually removed. The process can be terminated earlier even j<J, if the residual error rj is less than a threshold. That means, not all J basis functions are needed to meet the requirement. Such condition can significantly reduce the power consumption of DPD.  is the list to store the index of selected basis functions.

[0074] It needs to search every polynomial order as well as their optimal time delays Fortunately, not all polynomial orders need to be computed, only the polynomial orders that introduce distortion have major impact on the performance. For this reason, one may create a candidate list for the polynomial orders having major impact on the nonlinearity. In Table 3, a candidate list of polynomial orders up to 5th total order is shown. The total order is defined as p1+q1+p2+q2. The candidate list only contains a very small part of the full searching space of all possible polynomial orders, so the complexity is considerably reduced.

[0075] Table 3 List of polynomial orders that may distort the signal

[0076] Filter coefficients are the values stored in the LUT. Once the parameters for the time delays and polynomial orders are determined, coefficients can be computed according to recursive least squares (RLS) or least mean squares (LMS) . The algorithm description is given in Table 4.

[0077] Table 4 Description of Algorithm 3 for filter coefficients

[0078] The basis function X is composed of with all determined parameters in Algorithm 1 and 2. The error vector e is composed of the error between the DPD 300 input signal x (n) and the output signal z (n) of the nonlinear device. The step 1 in Algorithm 3 is RLS, the step 2 in Algorithm 3 is LMS. RLS has higher complexity but better performance than LMS.

[0079] In Algorithm 3, X and e are basis function and residual error, respectively. λ is used to stabilize the numerical computation. μ is the step size, which is smaller than 1. XH is the Hermitian transpose of X. w denotes the coefficients used by the DPD 300. In each iteration, an increment part of coefficients Δw is computed and added into the coefficients w. The iterations will not stop until the DPD 300 is halt or restarted.

[0080] The method described above with Algorithm 1-3 may be summarized as follows. Firstly, determining the parameters of polynomial orders in Algorithm 2 and the parameters of time delays in Algorithm 1; Secondly, computing the coefficients in Algorithm 3. These steps can be integrated together and implemented online.

[0081] The procedure of such integration is illustrated in Figure 6 (a) and Figure 6 (b) . A method performed by the DPD module 300 for determining parameters of a function module 320 comprised in the DPD module 300 will be described with reference to Figure 6 (a)  /  (b) . The method comprises the following Actions or steps which may be performed in any suitable order and performed online during operating of the non-linear electronic device.

[0082] Action 610

[0083] Once the DPD module 300 is started, the function module 320 of the DPD module 300 is initialized by e.g. setting polynomial order to predefined values; setting time delay to predefined values; and setting coefficients to predefined values.

[0084] Action 620

[0085] The polynomial order and time delay of the function module 320 is determined by Algorithm 1-2 described above, based on the input signal x (n) destined to be input to a non-linear electronic device, and an error signal e (n) representing a difference between the input signal x (n) and an output signal z (n) of the non-linear electronic device.

[0086] The determining of polynomial order and time delay of the function module 320 comprises four sweep loops:

[0087] 1) for j = 1: J , i.e. sweep j from 1 to J, J is the max number of basis functions;

[0088] 2) for s = 1: S, i.e. sweep s from 1 to S, S is the size of list of polynomial orders;

[0089] 3) for l= 1: L , i.e. sweep l from 1 to L, L is the max number of filter taps per basis function;

[0090] 4) for k= 1: K, i.e. sweep k from 1 to K, K is the size of list of time delays.

[0091] The four sweep loops and determining of polynomial order and time delay of the function module 320 are described by the following steps as shown in Figure 6 (b) .

[0092] S01: obtaining the input signal x (n) and the error signal e (n) .

[0093] S02: composing a residual error vector r according to the error signal e (n) .

[0094] S03: setting a polynomial orders list storing indexes of selected basis functions to a vector of zeros.

[0095] S04: creating a candidate list of polynomial orders for the number of data streams, wherein the total polynomial order of the number of data streams is below a predefined order.

[0096] For j from 1 to J,

[0097] for each set of polynomial orders s=1, 2…S, where S denoting the size of the candidate list,

[0098] for each of the filter taps l from 1 to L,

[0099] S05: composing a basis function based on the input signal x (n) and a selected set of time delays from a list of time delays, k=1, 2…K, where K denoting the size of list of time delays. The list of time delays is normally from 0 to N, for example, N=20.

[0100] S06: calculating a residual error for each basis function by removing the contribution of each basis function from the residual error vector r.

[0101] S07: finding out the minimum residual error among the calculated residual errors for all selected time delays k=1, 2…K.

[0102] S08: storing the set of time delays having the minimum residual error as the optimum time delays for its corresponding polynomial orders.

[0103] Repeating the steps S05 to S08 until all L time delays are selected for polynomial orders

[0104] S09: finding out the minimum residual error among the calculated residual errors for all selected polynomial orders s=1, 2…S.

[0105] S10: storing the set of polynomial orders having the minimum residual error as the optimum time delays for its corresponding polynomial orders.

[0106] S11: removing the set of polynomial order from the list of candidate polynomial orders.

[0107] Repeating the steps S05 to S11 until all J polynomial orders are selected or if the residual error is less than a threshold Eth.

[0108] S12: storing an index of the set of polynomial orders having the minimum residual error to the polynomial orders list

[0109] S13: determining the polynomial orders and time delays of the function module 320 based on the stored polynomial orders and time delays.

[0110] Action 630

[0111] The coefficients of the function module 320 is calculated with the Algorithm 3 described above.

[0112] The calculating of coefficients of the function module may comprise the following steps as shown in Figure 6 (b) :

[0113] S14: composing a basis function with the stored polynomial orders and time delays determined by the Algorithm 1-2.

[0114] S15: calculating the filter taps coefficients of the basis function based on the input signal x (n) and the error signal e (n) . The filter taps coefficients may be calculated according to RLS or LMS algorithm.

[0115] Action 640

[0116] Checking if the filter taps coefficients needs to be updated. The filter taps coefficients may be updated as needed to improve the performance of the DPD module 300 according to the linearity requirement of the nonlinear device during operating or when operating condition or environment of the nonlinear device is changing. When it is needed to update the filter taps coefficients, Action 630 is performed again to calculate the coefficients of the function module 320.

[0117] Action 650

[0118] Checking if the parameters of polynomial orders and time delays of the function module 320 need to be updated. The parameters of polynomial orders and time delays of the function module 320 may also be updated as needed to improve the performance of the DPD module 300 according to the linearity requirement of the nonlinear device during operating or when operating condition or environment of the nonlinear device is changing. When it is needed to update the polynomial orders and time delays of the function module 320, Action 620 is performed again to calculate the polynomial orders and time delays.

[0119] As an example, a flow chart of a method performed by the controller CL for operating the DPD 300 and the power amplifier arrangement 500 is shown in Figure 7. The method comprises the following actions which may be performed in any suitable order and performed online during operating of the power amplifier arrangement 500.

[0120] Action 710

[0121] Initializing the DPD module 300.

[0122] Action 720

[0123] Determining the polynomial order, time delays and coefficients of the function module 320 comprised in the DPD module 300.

[0124] Action 730

[0125] Providing the input signal to the DPD module 300.

[0126] Action 740

[0127] Checking whether the error signal e (n) representing the difference between the input signal x (n) and output signal z (n) of the LMBA fulfils a condition. For example, whether the error signal e (n) is below a predefined threshold Eth. The predefined threshold Eth may be determined based on the linearity requirement on the amplifier arrangement 500.

[0128] If the error signal e (n) fulfils the condition, continuing Action 730: providing the input signal to the DPD module 300.

[0129] If the error signal e (n) does not fulfil the condition, performing the following actions:

[0130] Action 750

[0131] Calculating and updating the coefficients of the function module 320.

[0132] Action 760

[0133] Checking whether the error signal e (n) fulfils a condition.

[0134] If the error signal e (n) fulfils the condition, continuing Action 730: providing the input signal to the DPD module 300.

[0135] If the error signal e (n) does not fulfil the condition, performing the following actions.

[0136] Action 770

[0137] Calculating and updating polynomial orders and time delays

[0138] Action 780

[0139] Checking whether the error signal e (n) fulfils a condition.

[0140] If the error signal e (n) fulfils the condition, continuing Action 730: providing the input signal to the DPD module 300.

[0141] If the error signal e (n) does not fulfil the condition, repeating the Actions 710 to 780 until the power amplifier arrangement 500 is power down.

[0142] According to some embodiments herein, the coefficients of the function module 320 may be updated more often than the polynomial order and time delays of the function module 320.

[0143] Therefore, the above Action 740: checking the error signal e (n) , and Action 750: calculating and updating the coefficients of the function module 320 may be performed one or more times during a first time period, e.g. several times per second.

[0144] The above Action 760: checking the error signal e (n) , and Action 770: calculating and updating the polynomial order and time delays of the function module 320 may be performed one or more times during a second time period, e.g. once a few hours.

[0145] To summarize, the DPD module 300 according to embodiments herein comprises a set of basis function components, where each basis function component contains several filter taps, where each filter tap is composed of one look-up-table (LUT) and several data streams, where each data stream has its own time delay and polynomial order. The proposed DPD module 300 may be more flexible and powerful than all mentioned existing PVS models, but very compact than full Volterra series, thanks to a new PVS model and its simplified version is provided. Furthermore, BDOMP method is used to optimize the parameters for each basis function. The proposed method is therefore referred as “PVS-BDOMP” which is an efficient algorithm. The coefficients of the DPD module are calculated with efficient algorithm RLS / LMS. The proposed method is driven by data, i.e. the real-time input and output signal  of the nonlinear device, no need for physical knowledge of the nonlinear device. The proposed PVS-BDOMP method can find out time delays and polynomial orders very quickly, even they are intertwined. The PVS-BDOMP method can stop at any time once the performance of the nonlinear device meets the requirement. As a result, power consumption may be minimized, and performance is also guaranteed.

[0146] To prove the proposed PVS-BDOMP method, intensive experiments are carried out based on LMBA PA. The results show that the proposed PVS-BDOMP method outperforms existing DPD method by adding extra freedom to compensate the cross terms by introducing PVS with memory polynomial terms in the DPD module 300. The DPD module 300 are built on-line based on the input signal and output signal of the nonlinear device during operation, so the polynomial order and time delay of the function module 320 are determined and adjustable based on the actual nonlinearity situation of the nonlinear device during real-time operation.

[0147] The power amplifier arrangement 500 according to embodiments herein may be employed in various electronic devices or apparatus etc. Figure 8 shows a block diagram for an electronic device or apparatus 800. The electronic device or apparatus 800 comprises a nonlinear device 810, e.g. the power amplifier arrangement 500, according to embodiments herein. The electronic device 800 may be a transmitter, a transceiver, a base station, a mobile device, a user equipment, a wireless communication device, a radar for a communication system. The electronic device 800 may comprise other units, where a memory 820, a processing unit 830 are shown. The memory 820 in the electronic device 800 may comprise one or more memory units and may be arranged to be used to store information, measurements, data, parameters, configurations to perform the methods herein when being executed in the electronic device 800.

[0148] The embodiments herein for determining parameters of the DPD module 300 and for operating the power amplifier arrangement 500 may be implemented through one or more processors, such as the processing unit 830 in the electronic device 800, together with computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product 840, for instance in the form of a data carrier carrying computer program code 850 for performing the embodiments herein when being loaded into the electronic device 800. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server or cloud and downloaded to the electronic device 800.

[0149] The embodiments herein are not limited to the above described preferred embodiments. Various alternatives, modifications and equivalents may be used. Those skilled in the art will understand that the power amplifier arrangement 500 according to embodiments herein may be implemented in Printed Circuit Board with discreate transistors or any semiconductor technology, e.g. Bi-polar, N-type Metal Oxide Semiconductor (NMOS) , P-type Metal Oxide Semiconductor (PMOS) , Complementary Metal Oxide Semiconductor (CMOS) , Silicon on Insulator (SOI) CMOS, field-effect transistor (FET) , MOSFET technology etc.

[0150] Those skilled in the art will also appreciate that the input module 310, the function module 320, the output module 330, the delay module 340 described above for the DPD module 300, may be referred to as one circuit or one module, a combination of analog and digital circuits, one or more processors configured with software and / or firmware and / or any other digital hardware performing the function of each module. One or more of these processors, the combination of analog and digital circuits as well as the other digital hardware, may be included in a single application-specific integrated circuitry (ASIC) , or several processors and various analog / digital hardware may be distributed among several separate components, whether individually packaged or assembled into a system-on-a-chip (SoC) .

[0151] When using the word "comprise" or “comprising” it shall be interpreted as non-limiting, i.e. meaning "consist at least of" . Therefore, the above embodiments should not be taken as limiting the scope of the invention, which is defined by the appended claims.

Claims

1.A power amplifier arrangement (500) with digital predistortion comprising:a primary input (PinM) and an auxiliary input (PinA) ;a load-modulated balanced amplifier, LMBA (510) , wherein the LMBA (510) comprises a first power amplifier (PA1) , a second power amplifier (PA2) , a quadrature splitter (QS) configured to split a primary input signal at the primary input (PinM) into two input signals (Pin1, Pin2) to the first and second power amplifiers (PA1, PA2) , a combiner (QC) configured to combine outputs of the first and second power amplifiers (PA1, PA2) to a single output (Pout) ;a third power amplifier (PA3) configured to receive an auxiliary input signal at the auxiliary input (PinA) and generate a control signal to a control input of the QC;Characterized in that the power amplifier arrangement (500) further comprises:a digital predistortion module, DPD (300) , wherein the DPD module (300) is configured to receive an input signal x (n) destined to be input to the power amplifier arrangement (500) , and an error signal e (n) representing a difference between the input signal x (n) and an output signal z (n) of the LMBA (510) ;a signal splitter (SP) configured to split an output signal y (n) of the DPD module (300) to produce a first input signal (S1) and a second input signal (S2) ;a delay module (DM) coupled between the DPD module (300) and the primary input (PinM) of the power amplifier arrangement (500) and configured to align delay difference between the first and second input signals (S1, S2) ;a shaping module (SHM) coupled between the DPD module (300) and the auxiliary input (PinA) of the power amplifier arrangement (500) configured to shape amplitude and phase of the second input signal (S2) .2.The power amplifier arrangement (500) according to claim 1, wherein the DPD module (300) comprises:an input module (310) configured to receive an input signal x (n) ;a function module (320) defined by a pruned Volterra series with memory polynomial terms, wherein the function module comprises a set of basis function components, where j=1, 2…J, J is the maximum number of basis function components, are a set of polynomial orders of the j-th basis function component, A (i) , are a set of time delays of the j-th basis function component, and wherein polynomial order and time delay of the function module are determined or calculated by algorithm based on the input signal x (n) , and an error signal e (n) representing a difference between the input signal x (n) and an output signal z (n) of the non-linear electronic device;an output module (330) configured to combine outputs from the set of basic function components to output an output signal y (n) .3.The power amplifier arrangement (500) according to claim 2, wherein each basis function component comprises:a set of filter taps, wherein each filter tap comprises a look-up-table storing coefficientswith an indexrepresenting address delay of the coefficients, where l=1, 2, …L, L is the maximum number of filter taps in each basis function; anda number of data streams, wherein each data stream has its own time delay and polynomial ordersuch that the polynomial order and time delay of the function module are adjustable based on the input signal x (n) and the error signal e (n) .4.The power amplifier arrangement (500) according to any one of claims 2-3, wherein the DPD module (300) further comprises:a delay module (340) connected between the input module (310) and output module (320) for providing a direct path between the input signal x (n) and output signal y (n) .5.A digital predistortion, DPD, module (300) for linearization of a non-linear electronic device, the DPD module (300) comprising:an input module (310) configured to receive an input signal x (n) ;a function module (320) defined by a pruned Volterra series with memory polynomial terms, wherein the function module comprises a set of basis function components, where j=1, 2…J, J is the maximum number of basis function components, are a set of polynomial orders of the j-th basis function component, A (i) , are a set of time delays of the j-th basis function component, and wherein polynomial order and time delay of the function module are determined or calculated by algorithm based on the input signal x (n) , and an error signal e (n) representing a difference between the input signal x (n) and an output signal z (n) of the non-linear electronic device;an output module (330) configured to combine outputs from the set of basic function components to output an output signal y (n) .6.The DPD module according to claim 5, wherein each basis function component comprises:a set of filter taps, wherein each filter tap comprises a look-up-table storing coefficientswith an indexrepresenting address delay of the coefficients, where l=1, 2, …L, L is the maximum number of filter taps in each basis function; anda number of data streams, wherein each data stream has its own time delayand polynomial ordersuch that the polynomial order and time delay of the function module are adjustable based on the input signal x (n) and the error signal e (n) .7.The DPD module according to any one of claims 5-6, further comprising:a delay module (340) connected between the input module (310) and output module (320) for providing a direct path between the input signal x (n) and output signal y (n) .8.A method performed by a digital predistortion, DPD, module (300) for determining parameters of a function module (320) comprised in the DPD module (300) , wherein the function module (320) is defined by a pruned Volterra series with memory polynomial terms, and the function module (320) comprises a set of basis function components,  where j=1, 2…J, J is the maximum number of basis function components, the method comprising:initializing (610) the DPD module (300) ;determining (620) polynomial order and time delay of the function module (320) by algorithm based on an input signal x (n) destined to be input to a non-linear electronic device, and an error signal e (n) representing a difference between the input signal x (n) and an output signal z (n) of the non-linear electronic device; andcalculating (630) coefficients of the function module (320) .9.The method according to claim 8, wherein each basis function component comprises:a set of filter taps, wherein each filter tap comprises a look-up-table storing coefficientswith an index, representing address delay of the coefficients, where l=1, 2, …L, L is the maximum number of filter taps in each basis function; anda number of data streams, wherein each data stream has its own time delayand polynomial order10.The method according to any one of claims 8-9, wherein initializing the DPD module (300) comprises:setting polynomial orderto predefined values;setting time delayto predefined values;setting coefficientsto predefined values.11.The method according to any one of claims 8-10, wherein determining polynomial order and time delay of the function module comprises:obtaining (S01) the input signal x (n) and the error signal e (n) ;composing (S02) a residual error vector r according to the error signal e (n) ;setting (S03) a polynomial orders liststoring indexes of selected basis functions to a vector of zeros;creating (S04) a candidate list of polynomial orders for the number of data streams, wherein the total polynomial order of the number of data streams is below a predefined order;for j from 1 to J,for each set of polynomial orderswhere S denoting the size of the candidate list,for each of the filter taps l from 1 to L,composing (S05) a basis functionbased on the input signal x (n) and a selected set of time delaysfrom a list of time delays, k=1, 2…K, where K denoting the size of list of time delays,calculating (S06) a residual errorfor each basis function by removing the contribution of the each basis function from the residual error vector r,finding out (S07) the minimum residual erroramong the calculated residual errorsfor all selected time delaysstoring (S08) the set of time delayshaving the minimum residual erroras the optimum time delays for its corresponding polynomial orders;repeating the steps (S05) to (S08) until all L time delaysare selected for polynomial ordersfinding out (S09) the minimum residual erroramong the calculated residual errorsfor all selected polynomial ordersstoring (S10) the set of polynomial ordershaving the minimum residual erroras the optimum time delays for its corresponding polynomial orders;removing (S11) the set of polynomial orderfrom the list of candidates polynomial orders;repeating the steps (S05) to (S11) until all J polynomial ordersare selected or if the residual erroris less than a threshold;storing (S12) an index of the set of polynomial orders having the minimum residual error to the polynomial orders listdetermining (S13) the polynomial orders and time delays of the function module based on the stored polynomial orders and time delays.12.The method according to any one of claims 8-11, wherein calculating coefficients of the function module (320) comprises:composing (S14) a basis function with the stored polynomial orders and time delays;calculating (S15) the filter taps coefficientsof the basis function based on the input signal x (n) and the error signal e (n) .13.The method according to claim 12, wherein the filter taps coefficients are calculated according to recursive least squares, RLS or least mean squares, LMS, algorithm.14.The method according to any one of claims 8-13, wherein determining parameters of a function module (320) comprised in the DPD module (300) are performed online during operating of the non-linear electronic device.15.A method performed by a controller (CL) for operating the power amplifier arrangement (500) according to claim 1, the method comprising:initializing (710) the DPD module (300) ;determining (720) the polynomial order, time delays and coefficients of the function module (320) comprised in the DPD module (300) ;providing (730) the input signal to the DPD module (300) ;checking (740) whether the error signal e (n) representing the difference between the input signal x (n) and output signal z (n) of the LMBA (510) fulfils a condition;if the error signal e (n) fulfils the condition,continuing providing (703) the input signal to the DPD module (300) ;if the error signal e (n) does not fulfil the condition,calculating and updating (750) the coefficients of the function module (320) ;checking (760) whether the error signal e (n) fulfils a condition;if the error signal e (n) fulfils the condition,continuing providing (730) the input signal to the DPD module (300) ;if the error signal e (n) does not fulfil the condition,calculating and updating (770) the polynomial orders and time delays of the function module (320) comprised in the DPD module (300) ;checking (780) whether the error signal e (n) fulfils a condition;if the error signal e (n) fulfils the condition,continuing providing (730) the input signal to the DPD module (300) ;if the error signal e (n) does not fulfil the condition,repeating the steps of initializing (710) the DPD module (300) to checking (780) whether the error signal e (n) fulfils a condition until the power amplifier arrangement (300) is power down.16.The method according to claim 15, wherein checking (740) the error signal e (n) , calculating and updating (750) the coefficients of the function module (320) are performed one or more times during a first time period.17.The method according to any one of claims 15-16, wherein checking (760) the error signal e (n) , calculating and updating (770) the polynomial order and time delays are performed one or more times during a second time period.18.An electronic device (800) comprising a power amplifier arrangement (500) according to any one of claims 1-4.19.The electronic device (800) according to claim 18 is any one of a transmitter, a transceiver, a base station, a mobile device, a user equipment, a wireless communication device for a communication system.20.A computer program product (840) comprising program code (850) which when the program is executed by a computer / processor, cause the computer / processor to carry out the method for determining parameters of a function module (320) comprised in the DPD module (300) according to any one of the claims 8-14.21.A computer program product (840) comprising program code (850) which when the program is executed by a processor, cause the processor to carry out the method for operating a power amplifier arrangement (500) according to any one of the claims 15-17.

Citation Information

Patent Citations

  • Digital pre-distorter for non-linear electronic devices

    WO2023137649A1