A digital predistortion method based on fixed-point modulus mapping lookup table
Patent Information
- Application Number
- CN202311536555.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-17
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2043-11-17
AI Technical Summary
[0016]1、和的计算需要不少的乘加运算,需要不少的计算资源;
[0028] 1. Reduce the operation and storage resources of the system
Smart Images

Figure CN117579441B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of adaptive digital predistortion technology in wireless communication technology, and in particular to a digital predistortion method based on a fixed-point modulus mapping lookup table. Background Technology
[0002] In wireless communication, it is necessary to reduce signal distortion while utilizing energy more efficiently. However, in existing communication systems, these two goals are contradictory. This is because the nonlinearity of the transmitter's core component, the radio frequency power amplifier (PA), is inevitable, especially when the PA operates near the saturation region. The input and output signal power amplitudes cannot maintain a linear relationship, leading to significant data transmission error rates and interference with adjacent channels.
[0003] To address this issue, existing technologies have proposed Digital Pre-Distortion (DPD) technology, which effectively corrects the nonlinearity of RF power amplifiers, enabling them to achieve both high linearity and high efficiency. The key to DPD technology is to first extract an inverse model of the RF power amplifier (PA), and then cascade the extracted model at the front end of the PA, thereby making the system exhibit linear characteristics, such as... Figure 1 As shown. In existing technologies, the commonly used DPD structure takes two forms: direct learning structure and indirect learning structure, such as... Figure 2 As shown. These two structures select different data nodes when calculating model parameters or evaluating performance. The PA inverse model used by the pre-distorter usually adopts the Generalized Memory Polynomial (GMP) model or the simplified Memory Polynomial (MP) model that omits the memory interleaving term. The latter is more efficient in specific hardware implementations, saving storage and computing resources, while its performance basically meets the requirements. This model can be represented as:
[0004]
[0005] Where K is the nonlinear order, T is the memory depth, the former describes the degree of nonlinearity, and the latter represents the correlation between the preceding and following signals; w is the coefficient, and x is the input signal.
[0006] The most commonly used implementation method is the lookup table method. Observing the expression, we can see that each term being added is a product of a coefficient w and a power of the magnitude of the input signal data and the magnitude of the current signal data. Therefore, each term can be considered as:
[0007] x(n)*Lut(x(n)),Lut(x(n))=W*|x(n)| k-1
[0008] Therefore, the implementation of the lookup table is the implementation of the mapping relationship between x(n) and the lookup table function Lut(x(n)), hence the design of the pre-distorter is as follows: Figure 3 As shown.
[0009] The input-output correspondence of each lookup table is similar to... Figure 1 or Figure 4 In this curve, the horizontal axis represents the input, and the vertical axis represents the output. The output needs to be obtained based on the input value, i.e., the magnitude of the input signal. A common method is piecewise linear interpolation: the mapping curve is divided into multiple parts along the horizontal axis, and each part is fitted with a linear segment, such as... Figure 4 This is represented in Chinese. Understandably, the more segments there are, the more accurate the corresponding fitted curve becomes, but the greater the storage and computational resources required. Let the input points for the segmentation be x0, x1, x2...x... m The k-th segment can be represented as:
[0010] f k (x)=a k +b k x,X k-1 <x<X k
[0011] Where a k and b k It can be passed through the two endpoints (x) of this segment k-1 ,y k-1 ) and (x k ,y k )Sure:
[0012]
[0013] In hardware implementation, a set of x(n) is divided according to the scaling range of the input signal. Each time the model parameters are updated, a corresponding set of y(n) needs to be calculated. Then, a set of a is calculated and saved using x(n) and y(n). k and b k Each signal data point x k When the data arrives, the first step is to determine the magnitude of the data point, select the corresponding segment, and then substitute it into the piecewise linear function to obtain the required lookup table result.
[0014] In addition, there are other models that use general memory polynomials or some improvements such as non-uniform piecewise division, which are similar.
[0015] However, all of the above methods have the following problems when implemented:
[0016] 1. Calculating sums requires a lot of multiplication and addition operations, which requires a lot of computing resources;
[0017] 2. The preservation of [specific content] requires a significant amount of storage resources;
[0018] 3. To determine the segment in which each point lies, a search is required;
[0019] 4. Substituting the data point still requires calculations, including a multiplication and an addition. Summary of the Invention
[0020] In view of this, the present invention provides a digital predistortion method based on a fixed-point modulus mapping lookup table. This method can simplify the lookup process, save operations and storage during the lookup, simplify the design process of implementing the lookup table hardware, and reduce the resources required by the system.
[0021] The technical solution adopted by the present invention is as follows:
[0022] A digital predistortion method based on a fixed-point modulus mapping lookup table, comprising the following steps:
[0023] Step 1: According to the scaling range CmSn of the input data of the digital predistorter, which is also the input data of the lookup table, the input data is evenly divided into 2^q parts, where q < m, denoted as x(i); where C represents a complex number, m represents the total bit width of the number in binary is m bits, S represents the number is a signed number, and n is the fractional bit width of the number;
[0024] Step 2: Substitute x(i) into the lookup table formula to obtain a corresponding set of outputs y(i), and store y(i) as the required lookup table lut(i);
[0025] Step 3: According to the modulus value of each predistortion input data, take the first q bits of its binary number and convert it to a decimal number idx, and idx + 1 is the index of the required output in the lookup table;
[0026] Step 4: Obtain the lookup table output corresponding to each predistortion input data according to the index, which is the required predistortion output, and complete the predistortion process.
[0027] Compared with the prior art, the present invention has the following beneficial effects:
[0028] 1. Reduce the operation and storage resources of the system
[0029] Since the implementation of the lookup table in the commonly used digital predistortion system today requires interpolation operations, it is necessary to calculate and save the slope and intercept of each linear segment. When looking up the table, it is also necessary to query the specific segment and substitute it for calculation and fitting, which undoubtedly consumes operation resources and storage resources. By this method, there is no need to fit and save the piecewise function and substitute it for solution, which can greatly save resources.
[0030] 2. Facilitate hardware implementation and fast table lookup
[0031] Through the high q - bits of the input data, the hardware directly intercepts them as indices. Without query operations, they can be directly corresponding one by one, and the input of the lookup table can be quickly obtained. There is no need to search for segments and substitute them for fitting, which reduces the design overhead and maintenance cost for hardware design.
[0032] 3. Flexible design and easy to improve
[0033] This method can flexibly design the segmentation depth of the lookup table according to the calibration of the data and the required precision, and can be combined with common methods to further improve the precision and performance according to the requirements, which is easy to improve. Description of the drawings
[0034] Figure 1 It is the input - output characteristic diagram of PA and DPD.
[0035] Figure 2 It is the schematic diagram of the learning structure of DPD. Among them, the upper figure is the direct learning structure, and the lower figure is the indirect learning structure.
[0036] Figure 3 It is the schematic diagram of the implementation principle of the lookup table.
[0037] Figure 4 It is the schematic diagram of piece - wise linear interpolation.
[0038] Figure 5 It is the schematic diagram of high q - bit index. Detailed implementation manners
[0039] The following further elaborates on the present invention in conjunction with the drawings.
[0040] A digital predistortion method based on a fixed - point modulus mapping lookup table designs the lookup table of the digital predistorter based on the fixed - point modulus mapping lookup table, so as to quickly obtain the output result, including the following steps:
[0041] Step 1, according to the calibration range C m S n of the input data of the digital predistorter, that is, the input data of the lookup table, the input data is evenly divided into 2^q parts, q < m, denoted as x(i).
[0042] Step 2, substitute x(i) into the lookup table formula to obtain a corresponding set of outputs y(i), and store them as the required lookup table lut(i).
[0043] Step 3, according to the modulus value of each predistortion input data, take the first q bits of its binary number and convert them into a decimal number idx, and idx + 1 is the index of the required output in the lookup table.
[0044] Step 4: Obtain the lookup table output corresponding to each predistortion input based on the index, which is the required predistortion output, and complete the predistortion process.
[0045] Here is a more specific example:
[0046] For a digital predistortion method with an indirect learning structure, the following steps can be taken:
[0047] Step 1: Assume the input data modulus of the pre-distorter is calibrated to R10U8, and divide it into 256 segments evenly according to this calibration.
[0048] Step 2: Based on the segmented input modulus, calculate the corresponding lookup table output using the formula and model parameters, and save it.
[0049] Step 3: Calculate the modulus of the input data and extract the first 8 bits as the index. For example, if the input data is 2, its first 8 bits are 01000000, which is 64 in decimal. The 64th item in the lookup table is the required lookup table output.
[0050] Step four: The obtained pre-distortion output is used in subsequent power amplification, post-distortion, and parameter iteration.
[0051] Step 5: The parameters of the iteration are used to calculate the new lookup table in Step 2.
[0052] From the above examples, it can be seen that the present invention greatly reduces the amount of computation and storage space, making system design more convenient.
[0053] This method first requires defining the scaling of the input data, primarily the system scaling at the lookup table implementation: [The text abruptly ends here, so the translation stops as well.] Figure 3 For example, let the index of the input data x(n) be CmSn, where C represents a complex number, m represents the total bit width of the number in binary (m bits), S represents a signed number, and n represents the decimal width of the data. The index of the input |x(n)| to the lookup table is RmUn, where R represents a real number, m represents the total bit width of the number in binary (m bits), U represents an unsigned number, and n represents the decimal width of the data. The index of |x(n)| determines the range of its data size, i.e., the maximum value x. max =2 m-n -2 -n and minimum value x min =0. Divide this range evenly into segments Q = 2. q Given x0, x1, ..., xm, where 0 ≤ q ≤ m, we have x0, x1, ..., xm. Q-1 Substituting these values into the lookup table formula will yield y0, y1, ..., yQ-1.
[0054] At this point, the high q bits of any input data x(n) in binary must be related to x0, x1, ..., xn.Q-1 A number x p The high q bits correspond to, i.e., x p The starting or ending point of the data segment corresponding to x(n) is the point closest to the pattern, and its index is the decimal number of the high q bits. When the size of Q is appropriate, no interpolation is needed, and x... p The corresponding y p This is the output of the required lookup table, and p is the decimal representation of the high q bits of x(n), such as... Figure 5 As shown. Obviously, when Q = m, each point corresponds one-to-one. Of course, the larger Q is, the larger the table size is, and the more storage resources are required. Therefore, it is necessary to flexibly control and balance the scaling.
Claims
1. A digital predistortion method based on fixed-point modulus mapping lookup table, characterized by, It includes the following steps: Step 1: According to the scaling range CmSn of the input data of the digital pre-distorter, i.e., the input data of the look-up table, the input data is evenly divided into 2^q parts, where q < m, denoted as x(i); where C represents a complex number, m represents that the total bit width of the number in binary is m bits, S represents that the number is a signed number, and n is the fractional bit width of the number; Step 2: Substitute x(i) into the look-up table formula to obtain a corresponding set of outputs y(i), and store y(i) as the required look-up table lut(i); Step 3: According to the modulus value of each pre-distortion input data, take the first q bits of its binary number and convert them into a decimal number idx, and idx + 1 is the index of the required output in the look-up table; Step 4: Obtain the look-up table output corresponding to each pre-distortion input data according to the index, that is, the required pre-distortion output, and complete the pre-distortion process.
Citation Information
Patent Citations
Predistorter, predistortion method and predistortion system
CN101895259A
Lookup table optimization method for digital predistortion system
CN104468439A