Digital predistortion method based on block uniform mapping lookup table with bilinear interpolation

Through the block uniform mapping lookup table method based on bilinear interpolation, the problem of system complexity and compensation accuracy in the existing technology cannot be balanced, and efficient pre-distortion processing is achieved in large-bandwidth and high-speed communication systems, thereby improving communication performance.

CN116471153BActive Publication Date: 2025-09-05HUAZHONG UNIV OF SCI & TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310620011.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-25
Publication Date
2025-09-05
Estimated Expiration
2043-05-25

AI Technical Summary

Technical Problem

In large-bandwidth, high-speed mobile communication systems, the existing mapping lookup tables cannot balance system complexity and compensation accuracy, resulting in an inability to meet communication requirements.

Method used

A block uniform mapping lookup table method based on bilinear interpolation is adopted to evenly segment the real and imaginary parts of the signal. The number of index blocks is determined according to the error ratio, and the pre-distortion parameters are obtained through bilinear interpolation to reduce the system complexity and improve the compensation performance.

Benefits of technology

Without increasing the complexity of the system, the compensation accuracy and communication performance of the predistortion system are improved, making it suitable for higher-rate communication scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116471153B_ABST
    Figure CN116471153B_ABST
Patent Text Reader

Abstract

The present invention discloses a digital predistortion method based on a block uniform mapping lookup table of bilinear interpolation, which belongs to the field of adaptive digital predistortion technology. The present invention performs block processing on the lookup table index according to the distribution law of the signal error, allocates a small number of indexes to the area with smaller errors, and allocates more indexes to the area with larger errors, thereby avoiding the waste of index resources of the traditional uniform lookup table. At the same time, the predistortion parameters of the signal outside the index point are solved by using the bilinear interpolation method, which reduces the number of indexes in the lookup table without reducing the compensation accuracy. The present invention adopts a block uniform mapping lookup table, and performs bilinear interpolation on the points outside the lookup table index value to calculate the corresponding predistortion parameter value, thereby reducing the complexity of the digital predistortion system and improving the performance of the digital predistortion system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of adaptive digital predistortion, and more particularly, relates to a digital predistortion method based on a bilinear interpolation block uniform mapping lookup table. Background Art

[0002] With the rapid development of mobile communications, the demand for communication speeds is increasing. To transmit more information within limited spectrum resources, high-spectrum-efficiency modulation methods such as Orthogonal Frequency Division Multiplexing (OFDM) have been proposed. Analog signals such as OFDM have high spectral efficiency, but are extremely sensitive to nonlinear channel impairments, placing high demands on system linearity. Since nonlinear link impairments are unavoidable, various linearization technologies have been proposed to improve system linearity. Among them, Digital Pre-Distortion (DPD) has been widely used due to its advantages such as good linearization effect, flexible compensation methods, and strong adaptability.

[0003] The main principle of digital pre-distortion technology is to obtain the nonlinear model of the system through digital signal processing, and make the signal produce nonlinear distortion opposite to the system before entering the nonlinear system, thereby offsetting the nonlinearity of the system and achieving the purpose of linearization.

[0004] The focus of digital pre-distortion is the selection of the system nonlinear model and the adaptive solution of the model parameters. Generally, according to the different nonlinear models, digital pre-distortion is divided into digital pre-distortion based on Volterra polynomials, digital pre-distortion based on lookup tables (LUTs), and digital pre-distortion based on neural networks. Among them, digital pre-distortion based on Volterra polynomials and digital pre-distortion based on neural networks cannot be compensated in real time due to the high complexity of the system. Digital pre-distortion based on lookup tables uses a table to store the pre-distortion parameters corresponding to the address index, generates an address index according to the characteristics of the input signal (amplitude, phase, etc.), searches for the corresponding parameters in the table according to the index, and then uses the read parameters to perform pre-distortion operations. Therefore, its complexity is relatively low, and it is currently the best choice for real-time pre-distortion.

[0005] According to the different index generation methods, the lookup table can be divided into amplitude lookup table, mapping lookup table and polar coordinate lookup table. The amplitude lookup table uses the amplitude of the signal as the index, so the number of indexes of the amplitude lookup table is relatively small, but the amplitude lookup table only considers the amplitude of the signal, ignores the influence of the phase, and the index is relatively sparse, so the compensation effect is not ideal. The mapping lookup table separates the real and imaginary parts of the complex signal and uses them as the horizontal and vertical coordinates of the rectangular coordinates respectively. The intersection of the horizontal and vertical coordinates is the index, which is similar to a constellation diagram, in which each constellation point corresponds to an index. The index of the mapping lookup table is relatively fine and the size of the lookup table is large, so the compensation effect is better. The polar coordinate lookup table makes a compromise between table complexity and compensation accuracy, and replaces the more complex two-dimensional mapping lookup table with two one-dimensional lookup tables consisting of a one-dimensional amplitude lookup table and a phase lookup table. In order to ensure the compensation effect of pre-distortion, the present invention uses a mapping lookup table to perform pre-distortion operation.

[0006] Traditional lookup table solutions use Volterra polynomials or simplified Volterra polynomials to model and compensate for system nonlinearities. The lookup table entries store the corresponding polynomial coefficients. The more accurate the compensation, the more complex the corresponding polynomial. Therefore, traditional lookup table solutions require adaptive filtering algorithms such as LMS or RLS to solve and update the coefficients stored in the lookup table entries. Adaptive filtering algorithms like LMS require a large amount of computation, requiring a large number of computing units and time in actual operation, which increases the complexity of the predistorter.

[0007] The amplitude of the transmitted signal is a continuous analog signal, while the address index of the lookup table is discrete. During the predistortion process, there will inevitably be situations where the signal is outside the index. For this situation, the traditional method is to use the proximity principle to select the parameters corresponding to the index closest to the signal as the predistortion parameters of the signal. This proximity principle is applicable when the indexes are relatively dense, but it undoubtedly increases the size of the table, which also increases the complexity of the predistorter.

[0008] Existing mapping lookup tables all use uniform indexing for address indices, meaning they use equally spaced table indices for the real and imaginary parts of the input signal. However, in reality, the nonlinear distortion experienced by a signal is positively correlated with its amplitude. When the signal amplitude is small, the system nonlinearity is weak, the predistortion parameters are also small, and the changes in the predistortion parameters are slow and linear. When the signal amplitude is large, the system nonlinearity is strong, the predistortion parameters are also large, and the changes in the predistortion parameters are more rapid. Therefore, directly using equally spaced indices would waste memory and computing resources to match the data.

[0009] Through the above analysis, the problems and defects of the existing mapping lookup table are: the existing pre-distortion technology is limited by system complexity and compensation accuracy and cannot meet the requirements of the current large-bandwidth and high-speed mobile communication system.

[0010] The significance of solving the above problems and defects is:

[0011] Reducing the complexity of the pre-distortion system can serve higher-speed communication scenarios, while also improving the compensation performance of the pre-distortion system. Summary of the Invention

[0012] In response to the defects of the existing technology and the need for improvement, the present invention provides a digital predistortion method based on a block uniform mapping lookup table with bilinear interpolation, aiming to solve the technical problem that the existing predistortion technology is limited by system complexity and compensation accuracy and cannot meet the requirements of current large-bandwidth and high-speed mobile communication systems.

[0013] To achieve the above objectives, in a first aspect, the present invention provides a digital predistortion method based on a bilinear interpolation block uniform mapping lookup table, comprising:

[0014] The real and imaginary parts of the signal are uniformly segmented, and the number of indexes in each segment is determined based on the ratio of the signal error in the segment to the total error. The segment is uniformly indexed based on the number of indexes to obtain N*N index blocks; wherein the number of entries in the mapping lookup table is N*N;

[0015] According to the same principle, a point on each index block is used as an index point, and the predistortion parameter corresponding to each index point in the mapping lookup table is obtained;

[0016] Then, bilinear interpolation is used to obtain the predistortion parameters of other signal points other than the index point;

[0017] A corresponding predistortion signal is generated according to all the obtained predistortion parameters.

[0018] Furthermore, the real part and the imaginary part of the signal are uniformly segmented, the number of indexes in the segment is determined according to the ratio of the signal error in the segment to the total error, and the segment is uniformly indexed according to the number to obtain N*N index blocks, including:

[0019] The real and imaginary parts of the signal are evenly divided into M segments, and the error ratio E corresponding to each segment is calculated. m ;

[0020] Among them, the error ratio E m The calculation formula is:

[0021]

[0022] |e(n)| 2 =|G·x(n)-y(n)|

[0023] Where x(n) is the input signal of the system, G is the gain of the system, G·x(n) is the ideal output of the system, and y(n) is the actual output of the system; ∑ m |e(n)| 2 is the sum of the errors of all signals whose real or imaginary parts are in the mth segment, is the sum of the errors of all signals in segment M;

[0024] Divide the mth segment evenly into N·E m Segments to obtain N*N index blocks.

[0025] Furthermore, obtaining the predistortion parameter corresponding to each index point in the mapping lookup table includes:

[0026] A number of signal points are selected from each index block, and their signal distortions are summed and averaged to serve as predistortion parameters for the index points corresponding to the index block.

[0027] Furthermore, the adopting bilinear interpolation to obtain predistortion parameters of signal points other than the index point includes:

[0028] For other signal points u(j)=x+y·i outside the index point, the signals corresponding to its four adjacent index points are x1+y1·i, x1+y2·i, x2+y1·i, and x2+y2·i, respectively. The predistortion parameters corresponding to the four index points are LUTe(x1,y1), LUTe(x1,y2), LUTe(x2,y1), and LUTe(x2,y2).

[0029] Linear interpolation is performed in the x direction to obtain the predistortion parameter value LUTe(x,y1) of the Q1 point with a coordinate value of (x,y1), and linear interpolation is performed in the y direction to obtain the predistortion parameter value LUTe(x,y2) of the Q2 point with a coordinate value of (x,y2), where:

[0030]

[0031]

[0032] Linear interpolation of Q1 and Q2 is performed to obtain the predistortion parameter value LUTe(j) of the signal point u(j):

[0033]

[0034] In a second aspect, the present invention provides a digital predistortion device based on a block uniform mapping lookup table of bilinear interpolation, comprising:

[0035] An index partitioning module is used to uniformly segment the real and imaginary parts of the signal, determine the number of indexes in each segment based on the ratio of the signal error in the segment to the total error, and uniformly index the segment based on the number of indexes to obtain N*N index blocks; wherein the number of entries in the mapping lookup table is N*N;

[0036] A first predistortion parameter calculation module is used to take a point on each index block as an index point according to the same principle, and obtain the predistortion parameter corresponding to each index point in the mapping lookup table;

[0037] A second predistortion parameter calculation module, configured to obtain predistortion parameters of other signal points other than the index point by using bilinear interpolation;

[0038] The predistortion processing module is used to generate a corresponding predistortion signal according to all the obtained predistortion parameters.

[0039] Furthermore, the index partitioning module is specifically configured to:

[0040] The real and imaginary parts of the signal are evenly divided into M segments, and the error ratio E corresponding to each segment is calculated. m ;

[0041] Among them, the error ratio E m The calculation formula is:

[0042]

[0043] |e(n)| 2 =|G·x(n)-y(n)|

[0044] Where x(n) is the input signal of the system, G is the gain of the system, G·x(n) is the ideal output of the system, and y(n) is the actual output of the system; ∑ m |e(n)| 2 is the sum of the errors of all signals whose real or imaginary parts are in the mth segment, is the sum of the errors of all signals in segment M;

[0045] Divide the mth segment evenly into N·E m Segments to obtain N*N index blocks.

[0046] Furthermore, the first predistortion parameter calculation module is specifically configured to:

[0047] A number of signal points are selected from each index block, and their signal distortions are summed and averaged to serve as predistortion parameters for the index points corresponding to the index block.

[0048] Furthermore, the second predistortion parameter calculation module is specifically configured to:

[0049] For other signal points u(j)=x+y·i outside the index point, the signals corresponding to its four adjacent index points are x1+y1·i, x1+y2·i, x2+y1·i, and x2+y2·i, respectively. The predistortion parameters corresponding to the four index points are LUTe(x1,y1), LUTe(x1,y2), LUTe(x2,y1), and LUTe(x2,y2).

[0050] Linear interpolation is performed in the x direction to obtain the predistortion parameter value LUTe(x,y1) of the Q1 point with a coordinate value of (x,y1), and linear interpolation is performed in the y direction to obtain the predistortion parameter value LUTe(x,y2) of the Q2 point with a coordinate value of (x,y2), where:

[0051]

[0052]

[0053] Linear interpolation of Q1 and Q2 is performed to obtain the predistortion parameter value LUTe(j) of the signal point u(j):

[0054]

[0055] In general, the above technical solutions conceived by the present invention can achieve the following beneficial effects:

[0056] 1. The present invention divides the lookup table index into blocks according to the distribution law of signal errors. Areas with smaller errors are allocated a smaller number of indexes, while areas with larger errors are allocated a larger number of indexes, thereby avoiding the waste of traditional uniform lookup table index resources. At the same time, the pre-distortion parameters of the signal outside the index points are solved using the bilinear interpolation method, reducing the number of lookup table indexes without reducing compensation accuracy.

[0057] 2. The present invention adopts a summing and averaging method to replace the adaptive filtering algorithm in the traditional lookup table to obtain the predistortion parameters, thereby reducing the complexity of obtaining the predistortion parameters. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] Figure 1 1 is an overall architecture diagram of the predistortion structure provided by an embodiment of the present invention;

[0059] Figure 2 A structural diagram of an experimental system provided by an embodiment of the present invention;

[0060] Figure 3A flowchart of a digital predistortion method based on a block uniform mapping lookup table of bilinear interpolation provided by an embodiment of the present invention;

[0061] Figure 4 A schematic diagram of bilinear interpolation provided by an embodiment of the present invention;

[0062] Figure 5 A constellation diagram of a received signal before predistortion provided by an embodiment of the present invention;

[0063] Figure 6 A constellation diagram of a received signal after predistortion provided by an embodiment of the present invention;

[0064] Figure 7 This is a performance diagram of digital predistortion provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0065] In order to make the objectives, system components, technical solutions, and advantages of the present invention more clearly understood, the present invention is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are intended only to illustrate the present invention and are not intended to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.

[0066] In the present invention, the terms "first", "second", etc. (if any) in the present invention and the drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0067] The predistortion structure of this embodiment is as follows: Figure 1 As shown, the baseband signal generated by the transmitter first enters the FIR filter to compensate for the memory effect, and then enters the lookup table predistorter to compensate for static nonlinearity. Figure 2 The experimental system shown includes: an arbitrary waveform generator (AWG, Keysight M8195A), a radio frequency optical transceiver module, a digital sampling oscilloscope (DSO Tektronix DPO 73304D) and a personal computer (PC).

[0068] When the system does not perform predistortion processing, the PC generates a 64-QAM OFDM baseband signal x(n) using MATLAB code and up-converts the baseband signal to obtain an RF signal. The RF signal is converted into a digital signal using the ADC in the AWG. The digital signal is transmitted through the RF optical transceiver module and then acquired using the DSO. The acquired signal is input into the PC and processed using MATLAB code to obtain the receiving end baseband signal y(n), and the corresponding signal quality assessment is performed.

[0069] When the system performs predistortion processing, a transmitting end baseband signal x(n) and a receiving end baseband signal y(n) are substituted into the digital predistortion MATLAB code based on the bilinear interpolation block uniform mapping lookup table to extract predistortion parameters, and a predistortion operation is performed on the baseband signal x(n) according to the extracted predistortion parameters to obtain a predistorted signal x(n); then, the predistorted signal x(n) is input into the AWG to perform a signal transmission experiment; signal acquisition is performed through the DSO; and the acquired signal is processed by MATLAB software.

[0070] The digital predistortion method provided in this embodiment based on the above experimental system includes the following steps:

[0071] Step 1: Set the FIR filter and the lookup table predistorter to an inoperative state, collect the system input baseband signal x(n) and the output baseband signal y(n), and synchronize and align the signals.

[0072] Step 2: Obtain the tap coefficients of the FIR filter based on the input baseband signal x(n) and the output baseband signal y(n).

[0073] The relationship between the input and output of the FIR filter is:

[0074]

[0075] Where h l is the tap coefficient of the FIR filter, L is the total number of taps, and the total impulse response h of the filter is:

[0076] h=[h0,h1,…,h L-1 ]

[0077] Furthermore, the LMS algorithm is used to solve the FIR filter coefficients. The LMS algorithm minimizes the error e(n) between the output of the FIR filter and the expected output through iteration. At the (k+1)th iteration, the calculation formula of the impulse response h is:

[0078] h(k+1)=h(k)+2μe(k)X(k)

[0079] Where μ is the step size of the iterative algorithm, which controls the convergence rate, and e(k) is the error of the k-th output, which is the difference between the expected output value and the actual output value. X(k) is the vector composed of the k-th input signal:

[0080] X(k)=[x(k),…,x(k+L-1)] T

[0081] When the number of iterations is sufficient, the error e(k) is small enough and the tap coefficient h of the FIR filter can be obtained.

[0082] Step 3: Obtain predistortion parameters based on the FIR filter output signal u(n) and the system receiving end baseband signal y(n).

[0083] Among them, the calculation formula of the FIR filter output signal u(n) is:

[0084]

[0085] The specific process of solving the predistortion parameters is as follows: Figure 3 As shown, it includes operations S1 to S4.

[0086] Operation S1, respectively, uniformly segment the real and imaginary parts of the signal, determine the number of indexes in this segment according to the ratio of the signal error in this segment to the total error, and uniformly index this segment according to the said number to obtain N*N index blocks; wherein the number of entries in the mapping lookup table is N*N.

[0087] Specifically, the real part of the signal is evenly divided into M segments, and the error ratio E corresponding to each segment is calculated. m .

[0088] Among them, the error ratio E m The calculation formula is:

[0089]

[0090] |e(n)| 2 =|G·x(n)-y(n)|

[0091] Where x(n) is the input signal of the system, G is the gain of the system, G·x(n) is the ideal output of the system, and y(n) is the actual output of the system; ∑ m |e(n)| 2 is the sum of the errors of all signals whose real parts are in the mth segment, is the sum of the errors of all signals in segment M. Therefore, the error ratio E m It can measure the proportion of the error of the signal whose real part is in the mth segment to the error of all signals.

[0092] The total number of lookup table entries is N*N, so the number of segments that need to be divided is:

[0093] n m =N·E m

[0094] Finally, according to n m The mth segment is evenly divided to obtain the index division of the real part of the signal. Because the error distribution of the signal is symmetrical, the index division of the imaginary part of the signal is the same as the index division of the real part. Combining the index of the real and imaginary parts can obtain the index of the entire mapping lookup table.

[0095] Operation S2: According to the same principle, a point on each index block is used as an index point, and the predistortion parameter corresponding to each index point in the mapping lookup table is obtained.

[0096] Specifically, several signal points are selected from each index block, and their signal distortions are summed and averaged to serve as pre-distortion parameters of the index points corresponding to the index block.

[0097] In addition, the predistortion parameters of the index points in the lookup table may also be solved and updated using an adaptive filtering algorithm such as LMS or RLS.

[0098] Here, according to the same principle, a point on each index block is used as the index point, which may be the center point of each index block or the upper left vertex of each index block.

[0099] In operation S3, bilinear interpolation is used to obtain predistortion parameters of other signal points other than the index point.

[0100] Specifically, if Figure 4 As shown in Figure 2, if the signal falls outside the index point, the predistortion parameters of the signal are obtained by bilinear interpolation:

[0101] For other signal points u(j)=x+y·i other than the index point, the four adjacent index points P 11 、P 12 、P 21 、P 22 The corresponding signals are x1+y1·i, x1+y2·i, x2+y1·i, and x2+y2·i, and the predistortion parameters corresponding to the four index points are LUTe(x1,y1), LUTe(x1,y2), LUTe(x2,y1), and LUTe(x2,y2).

[0102] Linear interpolation is performed in the x direction to obtain the predistortion parameter value LUTe(x,y1) of the Q1 point with a coordinate value of (x,y1), and linear interpolation is performed in the y direction to obtain the predistortion parameter value LUTe(x,y2) of the Q2 point with a coordinate value of (x,y2), where:

[0103]

[0104]

[0105] Linear interpolation of Q1 and Q2 is performed to obtain the predistortion parameter value LUTe(j) of the signal point u(j):

[0106]

[0107] Operation S4: generating a corresponding predistortion signal according to all the obtained predistortion parameters.

[0108] Among them, the corresponding predistortion signal is:

[0109] u(j)=u(j)-λ*LUTe(j)

[0110] Where λ is the predistortion weight. Usually, due to the influence of system noise and solution error, the obtained predistortion parameter is not the optimal predistortion value. The degree of predistortion can be controlled by adjusting the size of the predistortion weight to achieve a better predistortion effect.

[0111] Step 4: input the pre-distorted signal u(j) into the AWG to perform a signal transmission experiment; collect the signal through the DSO; and process the collected signal through the code in MATLAB.

[0112] Before predistortion, the constellation diagram of the received signal is as follows: Figure 5 As shown, the BER of the signal is 1.42e-2; after predistortion, the constellation diagram of the received signal is as follows Figure 6 As shown, the BER of the signal is 1.61e-4; before and after predistortion, the signal spectrum is compared. Figure 7 It can be seen that after the pre-distortion processing of the present invention is adopted, the linearity of the system is greatly improved.

[0113] It will be easily understood by those skilled in the art that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A digital predistortion method based on a block uniform mapping lookup table of bilinear interpolation, characterized in that: include: The real and imaginary parts of the signal are uniformly segmented, and the number of indexes in the segment is determined according to the ratio of the signal error in the segment to the total error. The segment is evenly indexed according to the number to obtain N*N index blocks; wherein the number of entries in the mapping lookup table is N*N; specifically, the real and imaginary parts of the signal are uniformly divided into M segments, and the error ratio E corresponding to each segment is calculated. m ; Divide the mth segment evenly into N·E m Segments to obtain N*N index blocks; where the error ratio E m The calculation formula is: |e(n)| 2 =|G·x(n)-y(n)| Where x(n) is the input signal of the system, G is the gain of the system, G·x(n) is the ideal output of the system, and y(n) is the actual output of the system; ∑ m |e(n)| 2 is the sum of the errors of all signals whose real or imaginary parts are in the mth segment, is the sum of the errors of all signals in segment M; According to the same principle, a point on each index block is used as an index point, and the predistortion parameter corresponding to each index point in the mapping lookup table is obtained. Specifically, the method includes: selecting a number of signal points from each index block, summing and averaging their signal distortions, and using the summed average as the predistortion parameter corresponding to the index point of the index block; Bilinear interpolation is then used to obtain predistortion parameters for other signal points other than the index point. Specifically, for other signal points u(j) = x+y·i other than the index point, the signals corresponding to its four adjacent index points are x1+y1·i, x1+y2·i, x2+y1·i, and x2+y2·i, respectively. The predistortion parameters corresponding to the four index points are LUTe(x1,y1), LUTe(x1,y2), LUTe(x2,y1), and LUTe(x2,y2). Linear interpolation is performed in the x direction to obtain the predistortion parameter value LUTe(x,y1) of the point Q1 with a coordinate value of (x,y1), and linear interpolation is performed in the y direction to obtain the predistortion parameter value LUTe(x,y2) of the point Q2 with a coordinate value of (x,y2). Linear interpolation is performed on Q1 and Q2 to obtain the predistortion parameter value LUTe(j) of the signal point u(j), where: A corresponding predistortion signal is generated according to all the obtained predistortion parameters.

2. A digital predistortion device based on a block uniform mapping lookup table of bilinear interpolation, characterized in that: include: The index division module is used to evenly segment the real and imaginary parts of the signal, determine the number of indexes in the segment according to the ratio of the signal error in the segment to the total error, and evenly index the segment according to the number to obtain N*N index blocks; wherein the number of mapping lookup table entries is N*N; specifically, it is used to evenly divide the real and imaginary parts of the signal into M segments, and calculate the error ratio E corresponding to each segment. m ; Divide the mth segment evenly into N·E m Segments to obtain N*N index blocks; where the error ratio E m The calculation formula is: Where x(n) is the input signal of the system, G is the gain of the system, G·x(n) is the ideal output of the system, and y(n) is the actual output of the system; ∑ m |e(n)| 2 is the sum of the errors of all signals whose real or imaginary parts are in the mth segment, is the sum of the errors of all signals in segment M; A first predistortion parameter calculation module is configured to use a point on each index block as an index point according to the same principle and to obtain the predistortion parameter corresponding to each index point in the mapping lookup table. The module is specifically configured to select a number of signal points from each index block, sum and average their signal distortions, and use the sum and average as the predistortion parameter corresponding to the index point in the index block. The second predistortion parameter calculation module is configured to use bilinear interpolation to obtain predistortion parameters of signal points other than the index point. Specifically, for signal point u(j)=x+y·i other than the index point, the signals corresponding to the four adjacent index points are x1+y1·i, x1+y2·i, x2+y1·i, and x2+y2·i, respectively, and the predistortion parameters corresponding to the four index points are LUTe(x1,y1), LUTe(x1,y2), LUTe(x2,y1), and LUTe(x2,y2); linear interpolation is performed in the x direction to obtain a predistortion parameter value LUTe(x,y1) of point Q1 with a coordinate value of (x,y1), linear interpolation is performed in the y direction to obtain a predistortion parameter value LUTe(x,y2) of point Q2 with a coordinate value of (x,y2), and linear interpolation is performed on Q1 and Q2 to obtain a predistortion parameter value LUTe(j) of signal point u(j), wherein: The predistortion processing module is used to generate a corresponding predistortion signal according to all the obtained predistortion parameters.