Method, device and equipment for determining pre-distorter weight coefficient and storage medium

By using an improved particle swarm optimization algorithm and fitness function, the predistorter weight coefficients are dynamically adjusted, solving the problem of low efficiency in determining weight coefficients in existing technologies. This achieves efficient adaptive weight coefficient determination in non-stationary environments and reduces resource consumption.

CN116866127BActive Publication Date: 2026-07-03PENG CHENG LAB +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
PENG CHENG LAB
Filing Date
2023-07-12
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

In existing technologies, the determination of predistorter weight coefficients is inefficient, especially when the external environment changes, and the error is large. Furthermore, it requires waiting for the power amplifier output to stabilize before retraining, resulting in low efficiency.

Method used

An improved particle swarm optimization (PSO) algorithm is adopted. By pre-setting the fitness function and the zero norm function, the weight coefficients of the predistorter are dynamically adjusted. The expected error is calculated using the expected signal power and the filter input signal power. The weight coefficients are updated when the global extremum condition is met or the number of iterations reaches the threshold.

Benefits of technology

It improves the efficiency of determining the predistorter weight coefficients, reduces the number of weight coefficients, saves FPGA resources, and realizes adaptive function in non-stationary environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116866127B_ABST
    Figure CN116866127B_ABST
Patent Text Reader

Abstract

This invention discloses a method, apparatus, device, and storage medium for determining the weight coefficients of a predistorter. The method includes: determining the desired error based on the desired signal power and the filter input signal power; calculating the fitness value of each particle based on a preset fitness function when the desired error does not meet a first preset condition; determining the global extremum based on the fitness value; determining the position vector of each particle using a preset PSO algorithm based on the global extremum; recalculating the global extremum based on the position vectors of each particle; and using the updated global extremum as the error of the predistorter when the updated global extremum meets a second preset condition or the number of iterations reaches a preset threshold, and using the position vector of the particle corresponding to the updated global extremum as the weight coefficient of the predistorter. This invention improves predistortion efficiency and saves programmable logic device resources during the implementation of digital predistortion.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of electronic communication technology, and in particular to a method, apparatus, device, and storage medium for determining the weighting coefficients of a predistorter. Background Technology

[0002] To achieve linearization of power amplifier output and improve power amplifier efficiency, traditional communication base station equipment and instruments require the use of Digital Predistortion (DPD) technology. Volterra series are used to model the nonlinearity. The expanded Volterra series uses a simplified form of the memory polynomial, expressed as follows:

[0003]

[0004] In the formula, Q represents the memory depth, z(n) is the output of the predistortion filter, and K is the Volterra order, which is an odd number. In practical applications, Q is typically set to 3 and K to 5. When modeling the power amplifier, the memory nonlinear distortion of the power amplifier is predistorted according to the Hammerstein model structure. Refer to the appendix for details. Figure 1 , Figure 1 This is a schematic diagram illustrating the function of pre-distortion compensation for memory nonlinear distortion of power amplifiers according to the Hammerstein model structure in the prior art. Figure 1 In this diagram, X(n) represents the input of the predistortion filter, Y(n) represents the output of the power amplifier, and G represents the power amplifier (PA) gain compensation coefficient. Traditional methods involve acquiring the power amplifier output signal and calculating the weighting coefficients h using the Least Mean Square (LMS), Recursive Least Squares (RLS), or Particle Swarm Optimization (PSO) algorithm. kq , will h kq Nonlinear compensation is used as model parameters to ensure a linear relationship between the input signal and the power amplifier output signal, thus achieving digital predistortion in the system. A key technology in digital predistortion is the extraction of weight coefficients. Currently, the extraction of digital predistortion weight coefficients faces the following problems: when the external environment changes (such as the operating temperature), the currently calculated weight coefficients are not at their minimum error. It is necessary to wait until the power amplifier output stabilizes before retraining the DPD to extract the weight coefficients. Furthermore, the output of many types of power amplifiers varies over time and only stabilizes after a period of time. During this process, the weight coefficients extracted by the DPD have a large error and do not reach the optimal level. Therefore, improving the efficiency of determining the predistorter weight coefficients has become an urgent technical problem to be solved.

[0005] The above content is only used to help understand the technical solution of the present invention and does not represent an admission that the above content is prior art. Summary of the Invention

[0006] The main objective of this invention is to provide a method, apparatus, device, and storage medium for determining the weight coefficients of a predistorter, aiming to solve the technical problem of low efficiency in determining the weight coefficients of a predistorter in the prior art.

[0007] To achieve the above objectives, the present invention provides a method for determining the weight coefficients of a predistorter, the method comprising the following steps:

[0008] The expected error is determined based on the expected signal power and the filter input signal power.

[0009] When the expected error does not meet the first preset condition, the fitness value of each particle is calculated based on the preset fitness function;

[0010] The global extreme value is determined based on the fitness value;

[0011] The position vector of each particle is determined using a preset PSO algorithm based on the global extremum.

[0012] The global extremum is recalculated based on the position vectors of each particle.

[0013] When the updated global extremum satisfies the second preset condition or the number of iterations reaches a preset threshold, the updated global extremum is used as the error of the predistorter, and the position vector of the particle corresponding to the updated global extremum is used as the weight coefficient of the predistorter.

[0014] Optionally, the step of determining the desired error based on the desired signal power and the filter input signal power includes:

[0015] Collect the power amplifier output power from the power amplifier port;

[0016] The desired signal power is determined based on the power amplifier output power and the power amplifier gain compensation coefficient.

[0017] Substitute the desired signal power and the filter input signal power into the following formula to calculate the expected error:

[0018] E i (n)=Y i (n) / GX(n)

[0019] Among them, E i (n) is used to characterize the expected error, Y i (n) is used to characterize the power amplifier output power, Y iX(n) / G is used to characterize the desired input signal power of the filter, X(n) is used to characterize the actual input signal power of the filter, and G is used to characterize the power amplifier gain compensation coefficient.

[0020] Optionally, the step of determining the position vector of each particle using a preset PSO algorithm based on the global extremum includes:

[0021] Based on the global extremum, the position vector of each particle is determined using the following preset PSO algorithm:

[0022]

[0023] Where k represents the number of iterations, w represents the inertia factor, c represents the acceleration factor, r is a random number in the interval [0,1], and p gbest k Used to characterize the global extremum in the k-th iteration, v k+1 x is used to characterize the particle velocity at the (k+1)th iteration. k+1 Used to characterize the position vector of the particle at the (k+1)th iteration.

[0024] Optionally, the preset fitness function is:

[0025] f i ′(n)=f i (n)+αf(||h i ||0)

[0026] f i (n)=min|Y i (n) / GX(n)| 2

[0027] Where f'(n) is used to characterize the preset fitness function, f(||h i ||0) is a zero-norm function, ||h i ||0 is the zero norm of the position vector of particle i, defined as:

[0028]

[0029] α is used to characterize the correction factor.

[0030] Optionally, before the step of calculating the fitness value of each particle based on a preset fitness function when the expected error does not meet the first preset condition, the method further includes:

[0031] Determine the length of the tap weight vector of the predistortion filter;

[0032] The zero norm function is determined based on the length of the tap weight vector.

[0033] Optionally, the step of using the updated global extremum as the error of the predistorter when the global extremum satisfies the second preset condition or the number of iterations reaches a preset threshold, and using the position vector of the particle corresponding to the updated global extremum as the weight coefficient of the predistorter, includes:

[0034] When the global extreme value satisfies the second preset condition or the number of iterations reaches a preset threshold, the power amplifier output signal power is obtained;

[0035] The target fitness value of each particle is calculated using a preset fitness function based on the power output signal power of the power amplifier and the power input signal power of the filter.

[0036] When the target fitness value satisfies the third preset condition, the updated global extremum is used as the error of the predistorter, and the position vector of the particle corresponding to the updated global extremum is used as the weight coefficient of the predistorter.

[0037] Optionally, after the step of calculating the target fitness value of each particle based on the power amplifier output signal power and the filter input signal power using a preset fitness function, the method further includes:

[0038] If the target fitness value does not meet the third preset condition, return to the step of determining the expected error based on the expected signal power and the filter input signal power.

[0039] Furthermore, to achieve the above objectives, the present invention also provides a device for determining the predistorter weight coefficients, the device comprising:

[0040] The determination module is used to determine the expected error based on the expected signal power and the filter input signal power.

[0041] The calculation module is used to calculate the fitness value of each particle based on a preset fitness function when the expected error does not meet the first preset condition.

[0042] A global extremum determination module is used to determine the global extremum based on the fitness value;

[0043] The position vector determination module is used to determine the position vector of each particle based on the global extremum using a preset PSO algorithm.

[0044] A recalculation module is used to recalculate the global extremum based on the position vectors of each particle.

[0045] The judgment module is used to take the updated global extreme value as the error of the predistorter when the updated global extreme value satisfies the second preset condition or the number of iterations reaches a preset threshold, and the position vector of the particle corresponding to the updated global extreme value is taken as the weight coefficient of the predistorter.

[0046] Furthermore, to achieve the above objectives, the present invention also proposes a device for determining predistorter weight coefficients, the device comprising: a memory, a processor, and a program for determining predistorter weight coefficients stored in the memory and executable on the processor, the program for determining predistorter weight coefficients being configured to implement the steps of the method for determining predistorter weight coefficients as described above.

[0047] Furthermore, to achieve the above objectives, the present invention also proposes a storage medium storing a program for determining predistorter weight coefficients, wherein when the program for determining predistorter weight coefficients is executed by a processor, it implements the steps of the method for determining predistorter weight coefficients as described above.

[0048] This invention determines the expected error based on the desired signal power and the filter input signal power; when the expected error does not meet a first preset condition, the fitness value of each particle is calculated based on a preset fitness function; a global extremum is determined based on the fitness value; the position vector of each particle is determined based on the global extremum using a preset PSO algorithm; the global extremum is recalculated based on the position vectors of each particle; when the updated global extremum meets a second preset condition or the number of iterations reaches a preset threshold, the updated global extremum is used as the error of the predistorter, and the position vector of the particle corresponding to the updated global extremum is used as the weight coefficient of the predistorter. Compared with the existing method of achieving digital predistortion by waiting for the power amplifier output to stabilize before training, the above method of this invention can improve the predistortion efficiency. Attached Figure Description

[0049] Figure 1 This is a schematic diagram illustrating the function of pre-distortion compensation for memory nonlinear distortion of power amplifiers according to the Hammerstein model structure in the prior art.

[0050] Figure 2 This is a schematic diagram of the device for determining the predistorter weight coefficients in the hardware operating environment involved in the embodiments of the present invention;

[0051] Figure 3 This is a flowchart illustrating the first embodiment of the method for determining the predistorter weight coefficients of the present invention.

[0052] Figure 4 This is a flowchart illustrating the second embodiment of the method for determining the predistorter weight coefficients of the present invention.

[0053] Figure 5 This is a structural block diagram of the first embodiment of the device for determining the predistorter weight coefficients of the present invention.

[0054] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0055] It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of the invention.

[0056] Reference Figure 1 , Figure 1 This is a schematic diagram of the device structure for determining the predistorter weight coefficients in the hardware operating environment involved in the embodiments of the present invention.

[0057] like Figure 1 As shown, the device for determining the predistorter weight coefficients may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The communication bus 1002 is used to establish communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wireless-Fidelity (Wi-Fi) interface). The memory 1005 may be high-speed random access memory (RAM) or stable non-volatile memory (NVM), such as a disk drive. The memory 1005 may also optionally be a storage device independent of the aforementioned processor 1001.

[0058] Those skilled in the art will understand that Figure 1 The structure shown does not constitute a limitation on the device for determining the predistorter weight coefficients and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0059] like Figure 1 As shown, the memory 1005, which serves as a storage medium, may include an operating system, a network communication module, a user interface module, and a program for determining the predistorter weight coefficients.

[0060] exist Figure 1In the device for determining the predistorter weight coefficients shown, the network interface 1004 is mainly used for data communication with the network server; the user interface 1003 is mainly used for data interaction with the user; the processor 1001 and memory 1005 in the device for determining the predistorter weight coefficients of the present invention can be set in the device for determining the predistorter weight coefficients. The device for determining the predistorter weight coefficients calls the predistorter weight coefficient determination program stored in the memory 1005 through the processor 1001 and executes the method for determining the predistorter weight coefficients provided in the embodiment of the present invention.

[0061] Based on the aforementioned device for determining predistorter weight coefficients, this embodiment of the invention provides a method for determining predistorter weight coefficients, referring to... Figure 3 , Figure 3 This is a flowchart illustrating the first embodiment of the method for determining the predistorter weight coefficients of the present invention.

[0062] In this embodiment, the method for determining the predistorter weight coefficients includes the following steps:

[0063] Step S10: Determine the expected error based on the expected signal power and the filter input signal power.

[0064] It should be noted that the executing entity in this embodiment can be a computing service device with data processing, network communication, and program execution functions, such as a mobile phone, tablet computer, or personal computer, or an electronic device capable of performing the above functions or a device for determining the predistorter weight coefficients. The following description uses the device for determining the predistorter weight coefficients as an example to illustrate this embodiment and the subsequent embodiments.

[0065] It should be noted that, to ensure the accuracy of the determined predistorter weighting coefficients, the desired signal power can be the desired filter input signal power under ideal conditions, derived from the actual tested power amplifier output signal power and power amplifier gain compensation coefficients. It can be determined according to the following formula: Y i (n) / G, where Y i (n) represents the output signal power of the power amplifier obtained from actual testing, and G represents the power amplifier gain compensation coefficient. The expected error E can be determined using the following formula. i (n):

[0066] E i (n)=Y i (n) / GX(n)

[0067] Among them, E i (n) is used to characterize the expected error, Y i (n) is used to characterize the output power of the power amplifier, Y iX(n) / G is used to characterize the desired input signal power of the filter, X(n) is used to characterize the actual input signal power of the filter, and G is used to characterize the power amplifier gain compensation coefficient.

[0068] Step S20: When the expected error does not meet the first preset condition, calculate the fitness value of each particle based on the preset fitness function.

[0069] It should be noted that the first preset condition may include an error threshold preset according to the accuracy requirement. When the expected error is greater than the preset error threshold, it is determined that the first preset condition is not currently met. The preset fitness function f'(n) may be:

[0070] f i ′(n)=f i (n)+αf(||h i ||0)

[0071] f i (n)=min|Y i (n) / GX(n)| 2

[0072] Among them, f i '(n) is used to characterize the preset fitness function, f(||h i ||0) is a zero-norm function, ||h i ||0 is the zero norm of the position vector of particle i, defined as:

[0073]

[0074] α is used to characterize the correction factor, and D is used to characterize the length of the predistortion filter tap weight vector, which can be a preset value.

[0075] Step S30: Determine the global extreme value based on the fitness value.

[0076] It should be noted that the fitness value can be the optimal position corresponding to each particle, that is, the individual optimal value of the particle, and the global extreme value can be the optimal position searched from the entire particle swarm selected from the individual optimal values.

[0077] Step S40: Determine the position vector of each particle using a preset PSO algorithm based on the global extremum.

[0078] It should be noted that the preset PSO algorithm can be:

[0079] v i =w*v i +c1r1(p i -x i )+c2r2(pg -x i )

[0080] x i =x i +v i

[0081] Where w represents the inertia factor, c1 and c2 represent the acceleration factors, r1 and r2 are random numbers in the interval [0,1], and p g Used to characterize global extrema, v i x is used to characterize the velocity of the i-th particle. i The position vector used to characterize the i-th particle. i Used to characterize the individual optimal value of the i-th particle.

[0082] Furthermore, when using the Particle Swarm Optimization (PSO) algorithm to extract weight coefficients in digital predistortion (DPO), the standard PSO algorithm exhibits inheritance; that is, the optimal value of an individual particle is compared vertically with itself, inheriting the optimal values ​​obtained historically. Simultaneously, all particles also obtain the current optimal solution through horizontal comparison. This structure ensures that the currently obtained optimal solution is the globally optimal solution obtained throughout the entire particle swarm's history. Such a search structure is unsuitable for adaptive predistortion weight coefficient extraction operating in non-stationary environments. Therefore, the PSO algorithm needs to be modified to be suitable for solving time-varying optimal solutions.

[0083] It should be understood that the process of particle swarm optimization involves initializing a swarm of M particles, with the current position of the i-th particle being x. i The "flight" speed of the i-th particle is v i The optimal position found so far by the i-th particle is called the individual extreme value, denoted as p. i The optimal position found so far by the entire particle swarm is the global extremum, denoted as p. g Upon finding these two optimal values, the particle updates its velocity and position according to the following formulas (1) and (2):

[0084] v i =w*v i +c1r1(p i -x i )+c2r2(p g -x i (1)

[0085] x i =x i +v i (2)

[0086] Where r1 and r2 are random numbers in the interval [0,1], c1 and c2 are acceleration factors, and w is an inertia factor. When c1 = 0, it means that the particles have lost their cognitive abilities and become a social model, called the global PSO algorithm. At this time, the particles have the ability to expand the search space and have a faster convergence speed. However, due to the lack of local search, it is more prone to getting trapped in local optima than the standard PSO algorithm for complex problems. When c2 = 0, there is no social information between the particles, and the model becomes a cognitive model. This is called the local PSO algorithm. Since there is no information exchange between individuals, the entire group is equivalent to multiple particles blindly and randomly searching, resulting in a slow convergence speed and a low probability of obtaining the optimal solution.

[0087] In fact, a major reason why the standard PSO algorithm is prone to convergence to local optima is that the excessive inheritance of individual optima causes iterative particles to become stagnant, making it impossible for them to escape the local optimum trap even with continuous iteration. Therefore, in order to solve the above problem, the individual optimum terms in the above formulas (1) and (2) are removed, thus obtaining a new preset PSO algorithm for dynamic search. Its iterative process is as follows:

[0088] v i k+1 =w*v i k +cr(p g k -x i k (3)

[0089] x i k+1 =x i k +v i k+1 (4)

[0090] Substituting formula (3) into formula (4), we get:

[0091] x i k+1 =w*v i k +(1-cr)x i k +crp g k (5)

[0092] Combining formulas (3) and () in matrix form, we get:

[0093]

[0094] According to the convergence theorem for iterative processes, the necessary and sufficient condition for the above equation to converge is:

[0095] 0 <c<2+2w<4

[0096] Where k represents the number of iterations, w represents the inertia factor, c represents the acceleration factor, r is a random number in the interval [0,1], and p gbest k Used to characterize the global extremum in the k-th iteration, v k+1 x is used to characterize the particle velocity at the (k+1)th iteration. k+1 Used to characterize the position vector of the particle at the (k+1)th iteration.

[0097] Step S50: Recalculate the global extremum based on the position vectors of each particle;

[0098] It should be noted that the recalculation of the global extremum based on the position vectors of each particle can be performed using the following formula:

[0099] f i (n)=min|Y i (n) / GX(n)| 2

[0100] Step S60: When the updated global extremum satisfies the second preset condition or the number of iterations reaches a preset threshold, the updated global extremum is used as the error of the predistorter, and the position vector of the particle corresponding to the updated global extremum is used as the weight coefficient of the predistorter.

[0101] It should be noted that the second preset condition may include the condition of satisfying the global extreme value preset according to the accuracy requirement, and this embodiment does not limit it here.

[0102] It should be understood that when the global extremum does not satisfy the second preset condition, it is necessary to return to the step of determining the expected error between the expected signal power and the filter input signal power. Therefore, the number of iterations can be the number of times the process returns to the step of determining the expected error between the expected signal power and the filter input signal power. The preset threshold can be a pre-set number of iterations.

[0103] Furthermore, before the step of calculating the fitness value of each particle based on a preset fitness function when the expected error does not meet the first preset condition, the method further includes:

[0104] Determine the length of the tap weight vector of the predistortion filter;

[0105] The zero norm function is determined based on the length of the tap weight vector.

[0106] It should be understood that this embodiment improves the fitness function by determining the number of zero elements in the weight coefficients of each particle. The more zero elements, the smaller the fitness function value, thus reducing the number of non-zero weight coefficients. Based on the above explanation, a preset fitness function based on the zero norm is introduced, which can be modified as follows:

[0107] f i ′(n)=f i (n)+αf(||h i ||0)

[0108] Among them, f i '(n) is used to characterize the fitness function, which is f i (n)=min|Y i (n) / GX(n)| 2 ,||h i ||0 is the zero norm of the position vector of particle i, defined as

[0109]

[0110] D is the dimension of the particle's position vector, i.e., the length of the tap weight vector of the predistortion filter, f(||h i ||0) is defined as follows:

[0111]

[0112] The above formula shows that the zero norm function is calculated by calculating h. i The number of non-zero elements in the coefficient vector is used to determine the value of the coefficient vector. The more zero elements there are, the smaller the value. By modifying the fitness function, a "penalty" factor is added to the second term to reward particles with smaller numerical dimensions. This factor is proportional to the number of non-zero elements in the particle's position vector. This modification to the particle swarm optimization's fitness function forces particles to attempt to find the optimal trade-off between accuracy and the number of zero coefficients in the coefficient vector, thus reducing the number of weight coefficients.

[0113] The second term in the formula has a correction factor α. From an intuitive point of view, α can be regarded as an important indicator of the number of non-zero coefficient vectors compared with the calculation accuracy. This parameter should be handled by a trade-off between size and accuracy. Here, α is taken as 0.1 to 0.2, and can be adjusted according to the actual fitness function.

[0114] In practice, each dimension of the position vector of each particle corresponds to a tap coefficient. During each iteration, the magnitude of each dimension of the position vector of each particle is judged in time. When the magnitude is less than 0.02 of the maximum dimension value in the position vector, the position value of this dimension is forcibly set to 0.

[0115] The method for determining the predistorter weight coefficients proposed in this embodiment extracts the weight coefficients of digital predistortion using a particle swarm optimization algorithm. The position iteration formula v in the particle swarm optimization algorithm... i =w*v i +c1r1(p i -x i )+c2r2(p g -x i Modify the formula by removing the individual optimality from the iterative formula to obtain the preset fitness function for dynamic search.

[0116] Simultaneously, a zero-norm function for the filter weight coefficients is added to the existing fitness function. This function must have a value less than or equal to 0. The more zeros in the filter coefficients, the smaller the value. This allows for a trade-off between the output mean square error and the number of weight coefficients, selecting a set of weight coefficients that minimizes both the mean square error and the number of weight coefficients. In low-bandwidth scenarios, this not only achieves adaptive digital predistortion but also minimizes the number of digital predistortion weight coefficients, reducing the use of multipliers in FPGA implementation and saving FPGA resources.

[0117] Further, step S60 may include: when the global extremum satisfies a second preset condition or the number of iterations reaches a preset threshold, obtaining the power amplifier output signal power; calculating the target fitness value of each particle based on the power amplifier output signal power and the filter input signal power through a preset fitness function; when the target fitness value satisfies a third preset condition, using the updated global extremum as the error of the predistorter, and using the position vector of the particle corresponding to the updated global extremum as the predistorter weight coefficient.

[0118] It should be noted that, to ensure the accuracy of the power amplifier output signal power, the power amplifier output signal power can be the actual tested power amplifier output signal power. The third preset condition can be a pre-set accuracy requirement, which is not limited in this embodiment. When the target fitness value does not meet the third preset condition, the process returns to the step of determining the expected error between the desired signal power and the filter input signal power.

[0119] This embodiment determines the expected error based on the desired signal power and the filter input signal power. When the expected error does not meet a first preset condition, the fitness value of each particle is calculated based on a preset fitness function. The global extremum is determined based on the fitness value. The position vector of each particle is determined based on the global extremum using a preset PSO algorithm. The global extremum is recalculated based on the position vectors of each particle. When the updated global extremum meets a second preset condition or the number of iterations reaches a preset threshold, the updated global extremum is used as the error of the predistorter, and the position vector of the particle corresponding to the updated global extremum is used as the weight coefficient of the predistorter. Compared with the existing method of achieving digital predistortion by waiting for the power amplifier output to stabilize before training, the above method in this embodiment can improve the predistortion efficiency.

[0120] refer to Figure 4 , Figure 4 This is a flowchart illustrating the second embodiment of the method for determining the predistorter weight coefficients of the present invention.

[0121] Based on the first embodiment described above, in this embodiment, step S10 includes:

[0122] Step S101: Collect the power amplifier output power from the power amplifier port.

[0123] In practice, the power amplifier output power is obtained by collecting the actual output power of the power amplifier port.

[0124] It should be understood that the filter's output power can be determined based on the filter's input signal power and the weighting coefficient matrix corresponding to the particles. The weighting coefficient matrix corresponding to the particles can be the particle weighting coefficient matrix determined during particle initialization. The filter's output power can be determined using the following formula:

[0125] Z i (n)=W i H (n)X(n)

[0126] Among them, Z i (n) is used to characterize the output power of the filter, W i H X(n) is used to characterize the weight coefficient matrix corresponding to the particle, and X(n) is used to characterize the power of the input signal of the filter.

[0127] Step S102: Determine the desired signal power based on the power amplifier output power and the power amplifier gain compensation coefficient.

[0128] It should be noted that the determination of the desired signal power based on the power amplifier output power and the power amplifier gain compensation coefficient can be achieved by using the following formula: Y i (n) / G, where Y i (n) is used to characterize the output power of the power amplifier, and G is used to characterize the gain compensation coefficient of the power amplifier.

[0129] Step S103: Substitute the desired signal power and the filter input signal power into the following formula to calculate the desired error:

[0130] E i (n)=Y i (n) / GX(n)

[0131] Among them, E i (n) is used to characterize the expected error, Y i (n) is used to characterize the power amplifier output power, Y i X(n) / G is used to characterize the desired input signal power of the filter, X(n) is used to characterize the actual input signal power of the filter, and G is used to characterize the power amplifier gain compensation coefficient.

[0132] It should be understood that, in order to ensure the accuracy of the power amplifier output power, the power amplifier output power can also be obtained through actual testing.

[0133] In this embodiment, the filter output power is determined based on the filter input signal power and the weighting coefficient matrix corresponding to the particles; the desired signal power is determined based on the output power and the power amplifier gain compensation coefficient; and the desired signal power and the filter input signal power are substituted into the following formula to calculate the desired error:

[0134] E i (n)=Y i (n) / GX(n)

[0135] Among them, E i (n) is used to characterize the expected error, Y i (n) is used to characterize the output power of the power amplifier, Y i X(n) / G is used to characterize the expected input signal power of the filter, X(n) is used to characterize the actual input signal power of the filter, and G is used to characterize the power amplifier gain compensation coefficient. This embodiment determines whether to adaptively estimate the current predistorter weight coefficients by calculating the expected error, which can improve the accuracy of the predistorter weight coefficients.

[0136] Reference Figure 5 , Figure 5 This is a structural block diagram of the first embodiment of the device for determining the predistorter weight coefficients of the present invention.

[0137] like Figure 5As shown, the device for determining the predistorter weight coefficients proposed in this embodiment of the invention includes:

[0138] The determination module 10 is used to determine the expected error between the desired signal power and the filter input signal power;

[0139] The calculation module 20 is used to calculate the fitness value of each particle based on a preset fitness function when the expected error does not meet the first preset condition.

[0140] The global extremum determination module 30 is used to determine the global extremum based on the fitness value;

[0141] The position vector determination module 40 is used to determine the position vector of each particle based on the global extremum using a preset PSO algorithm.

[0142] The recalculation module 50 is used to recalculate the global extremum based on the position vectors of each particle.

[0143] The judgment module 60 is used to, when the updated global extremum satisfies a second preset condition or the number of iterations reaches a preset threshold, use the updated global extremum as the error of the predistorter, and the position vector of the particle corresponding to the updated global extremum as the weight coefficient of the predistorter. In this embodiment, the expected error is determined based on the expected signal power and the filter input signal power; when the expected error does not satisfy the first preset condition, the fitness value of each particle is calculated based on a preset fitness function; the global extremum is determined based on the fitness value; the position vector of each particle is determined based on the global extremum using a preset PSO algorithm; when the global extremum satisfies the second preset condition or the number of iterations reaches a preset threshold, the global extremum is used as the error of the predistorter, and the position vector of the particle corresponding to the global extremum is used as the weight coefficient of the predistorter. Compared to the existing method of achieving digital predistortion by waiting for the power amplifier output to stabilize before training, the above method in this embodiment can improve predistortion efficiency.

[0144] It should be noted that the workflow described above is merely illustrative and does not limit the scope of protection of this invention. In practical applications, those skilled in the art can select some or all of the workflow to achieve the purpose of this embodiment according to actual needs, and no restrictions are imposed here.

[0145] In addition, for technical details not described in detail in this embodiment, please refer to the method for determining the predistorter weight coefficient provided in any embodiment of the present invention, which will not be repeated here.

[0146] Based on the first embodiment of the device for determining the predistorter weight coefficients of the present invention, a second embodiment of the device for determining the predistorter weight coefficients of the present invention is proposed.

[0147] In this embodiment, the determining module 10 is further used to determine the output power of the filter based on the filter input signal power and the weight coefficient matrix corresponding to the particle, and to test the power amplifier output power.

[0148] The desired signal power is determined based on the power amplifier output power and the power amplifier gain compensation coefficient.

[0149] Substitute the desired signal power and the filter input signal power into the following formula to calculate the expected error:

[0150] E i (n)=Y i (n) / GX(n)

[0151] Among them, E i (n) is used to characterize the expected error, Y i (n) is used to characterize the output power of the power amplifier, Y i X(n) / G is used to characterize the desired input signal power of the filter, X(n) is used to characterize the actual input signal power of the filter, and G is used to characterize the power amplifier gain compensation coefficient.

[0152] Furthermore, the position vector determination module 40 is also used to determine the position vector of each particle based on the global extremum using the following preset PSO algorithm:

[0153]

[0154] Where k represents the number of iterations, w represents the inertia factor, c represents the acceleration factor, r is a random number in the interval [0,1], and p gbest k Used to characterize the global extremum in the k-th iteration, v k+1 x is used to characterize the particle velocity at the (k+1)th iteration. k+1 Used to characterize the position vector of the particle at the (k+1)th iteration.

[0155] Furthermore, the preset fitness function is:

[0156] f i ′(n)=f i (n)+αf(||h i ||0)

[0157] f i (n)=min|Y i (n) / GX(n)| 2

[0158] Among them, f i '(n) is used to characterize the preset fitness function, f(||h i ||0) is a zero-norm function, ||hi ||0 is the zero norm of the position vector of particle i, defined as:

[0159]

[0160] α is used to characterize the correction factor.

[0161] Furthermore, the determining module 10 is also used to determine the length of the tap weight vector of the predistortion filter;

[0162] The zero norm function is determined based on the length of the tap weight vector.

[0163] Furthermore, the judgment module 60 is also used to obtain the power amplifier output port signal power when the global extreme value satisfies the second preset condition or the number of iterations reaches a preset threshold.

[0164] The target fitness value of each particle is calculated using a preset fitness function based on the power output signal power of the power amplifier and the power input signal power of the filter.

[0165] When the target fitness value satisfies the third preset condition, the updated global extremum is used as the error of the predistorter, and the position vector of the particle corresponding to the updated global extremum is used as the weight coefficient of the predistorter.

[0166] Furthermore, the judgment module 60 is also used to determine the expected error between the expected signal power and the filter input signal power when the target fitness value does not meet the third preset condition.

[0167] Other embodiments or specific implementations of the device for determining the predistorter weight coefficients of the present invention can be found in the above-described method embodiments, and will not be repeated here.

[0168] Furthermore, this embodiment of the invention also proposes a storage medium storing a program for determining the predistorter weight coefficients. When the program for determining the predistorter weight coefficients is executed by a processor, it implements the steps of the method for determining the predistorter weight coefficients as described above.

[0169] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.

[0170] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0171] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as read-only memory / random access memory, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0172] The above are merely preferred embodiments of the present invention and do not limit the scope of the patent. Any equivalent structural or procedural transformations made based on the description and drawings of the present invention, or direct or indirect applications in other related technical fields, are similarly included within the scope of patent protection of the present invention.

Claims

1. A method for determining the weighting coefficients of a predistorter, characterized in that, The method for determining the predistorter weight coefficients includes the following steps: The expected error is determined based on the expected signal power and the filter input signal power. When the expected error does not meet the first preset condition, the fitness value of each particle is calculated based on the preset fitness function; The global extreme value is determined based on the fitness value; The position vector of each particle is determined using a preset PSO algorithm based on the global extremum. The global extremum is recalculated based on the position vectors of each particle. When the updated global extremum satisfies the second preset condition or the number of iterations reaches the preset threshold, the updated global extremum is used as the error of the predistorter, and the position vector of the particle corresponding to the updated global extremum is used as the weight coefficient of the predistorter. The step of determining the position vector of each particle based on the global extremum using a preset PSO algorithm includes: Based on the global extremum, the position vector of each particle is determined using the following preset PSO algorithm: Where k represents the number of iterations, w represents the inertia factor, c represents the acceleration factor, and r is a random number in the interval [0,1]. Used to characterize the global extremum in the k-th iteration. Used to characterize the particle velocity at the (k+1)th iteration. The vector representing the position of a particle at the (k+1)th iteration must satisfy the necessary and sufficient convergence condition. .

2. The method for determining the predistorter weight coefficients as described in claim 1, characterized in that, The step of determining the expected error based on the expected signal power and the filter input signal power includes: Collect the power amplifier output power from the power amplifier port; The desired signal power is determined based on the power amplifier output power and the power amplifier gain compensation coefficient. Substitute the desired signal power and the filter input signal power into the following formula to calculate the expected error: in, Used to characterize the expected error Used to characterize the output power of a power amplifier. Used to characterize the desired input signal power of the filter. Used to characterize the actual input signal power of the filter. Used to characterize the power amplifier gain compensation coefficient.

3. The method for determining the predistorter weight coefficients as described in claim 2, characterized in that, The preset fitness function is: in, Used to characterize the preset fitness function It is a zero-norm function. For particles The zero norm of the position vector is defined as: Used to characterize the correction factor.

4. The method for determining the predistorter weight coefficients as described in claim 3, characterized in that, Before the step of calculating the fitness value of each particle based on a preset fitness function when the expected error does not meet the first preset condition, the method further includes: Determine the length of the tap weight vector of the predistortion filter; The zero norm function is determined based on the length of the tap weight vector.

5. The method for determining the predistorter weight coefficients as described in claim 1, characterized in that, The step of using the updated global extremum as the error of the predistorter and the position vector of the particle corresponding to the updated global extremum as the weight coefficient of the predistorter when the updated global extremum satisfies the second preset condition or the number of iterations reaches a preset threshold includes: When the updated global extremum satisfies the second preset condition or the number of iterations reaches the preset threshold, the power amplifier output signal power is obtained. The target fitness value of each particle is calculated using a preset fitness function based on the power output signal power of the power amplifier and the power input signal power of the filter. When the target fitness value meets the third preset condition, the updated global extremum is used as the error of the predistorter, and the position vector of the particle corresponding to the updated global extremum is used as the weight coefficient of the predistorter.

6. The method for determining the predistorter weight coefficients as described in claim 5, characterized in that, After the step of calculating the target fitness value of each particle based on the power amplifier output signal power and the filter input signal power using a preset fitness function, the method further includes: If the target fitness value does not meet the third preset condition, return to the step of determining the expected error based on the expected signal power and the filter input signal power.

7. A device for determining the weighting coefficients of a predistorter, characterized in that, The device for determining the predistorter weight coefficients includes: The determination module is used to determine the expected error based on the expected signal power and the filter input signal power. The calculation module is used to calculate the fitness value of each particle based on a preset fitness function when the expected error does not meet the first preset condition. A global extremum determination module is used to determine the global extremum based on the fitness value; The position vector determination module is used to determine the position vector of each particle based on the global extremum using a preset PSO algorithm. A recalculation module is used to recalculate the global extremum based on the position vectors of each particle. The judgment module is used to take the updated global extreme value as the error of the predistorter when the updated global extreme value satisfies the second preset condition or the number of iterations reaches the preset threshold, and the position vector of the particle corresponding to the updated global extreme value is used as the weight coefficient of the predistorter. The step of determining the position vector of each particle based on the global extremum using a preset PSO algorithm includes: Based on the global extremum, the position vector of each particle is determined using the following preset PSO algorithm: Where k represents the number of iterations, w represents the inertia factor, c represents the acceleration factor, and r is a random number in the interval [0,1]. Used to characterize the global extremum in the k-th iteration. Used to characterize the particle velocity at the (k+1)th iteration. The vector representing the position of a particle at the (k+1)th iteration must satisfy the necessary and sufficient convergence condition. .

8. A device for determining the weighting coefficients of a predistorter, characterized in that, The device includes: a memory, a processor, and a program for determining predistorter weight coefficients stored in the memory and executable on the processor, the program for determining predistorter weight coefficients being configured to implement the steps of the method for determining predistorter weight coefficients as described in any one of claims 1 to 6.

9. A storage medium, characterized in that, The storage medium stores a program for determining the predistorter weight coefficients, which, when executed by a processor, implements the steps of the method for determining the predistorter weight coefficients as described in any one of claims 1 to 6.