Method for simultaneously implementing predistortion and pre-emphasis and its transmitter modulator circuit
By using a combination of lookup tables and selectors in the transmitter modulator, the problem of simultaneously achieving predistortion and preemphasis is solved, thus improving the modulator's performance.
Patent Information
- Application Number
- CN202110495343.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-07
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2041-05-07
AI Technical Summary
Existing technologies cannot simultaneously achieve both predistortion and preemphasis functions, which limits the performance of the transmitter modulator.
By combining lookup tables and selectors, the codeword is multiplied by the product of the predistortion coefficient and the preemphasis coefficient, and the results are added together to achieve simultaneous processing of predistortion and preemphasis.
This technology enables the simultaneous and effective execution of predistortion and preemphasis functions without increasing hardware resources, thereby improving the performance of the transmitter modulator.
Smart Images

Figure CN115314010B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of electronic circuit design, in particular to a method for simultaneously implementing pre-distortion and pre-emphasis and a transmitter modulator circuit thereof. BACKGROUND
[0002] Pre-distortion of the transmitter modulator refers to modulating the four code word levels to be sent in the opposite direction according to the characteristics of the channel, for example, if the channel attenuates the level of code word 1 among the four code word levels more than the other three code word levels, then the level of code word 1 needs to be pre-increased at the sending end, that is, p1 in formula (1) takes a larger value. The basic principle can be explained by the following formula:
[0003] z i =(x i ==0)?l0*p0:(x i ==1)?l1*p1:(x i ==2)?l2*p2:(x i ==3)?l3*p3:0 (1)
[0004] wherein x i is the level before pre-distortion processing, taking a value range of {0, 1, 2, 3}, p i is a coefficient, the number of which is consistent with the number of levels to be sent, representing the amplitude ratio of adjustment required by different levels, and z i is the data to be sent after pre-distortion processing.
[0005] Pre-emphasis of the transmitter modulator refers to pre-adding different weights to different frequency components of the sending data. In general, the sending amplitude is increased for high frequency components and the sending amplitude is decreased for low frequency components. The basic principle can be explained by the following formula:
[0006]
[0007] wherein h i is a coefficient, generally having four coefficients, which can also be other numbers, wherein one is a main coefficient, and z i is the modulated data to be sent, generally having 7 bits, which can also be other bit numbers. SUMMARY
[0008] The present application aims to provide a method for simultaneously implementing pre-distortion and pre-emphasis and a transmitter modulator circuit thereof, which can simultaneously support both pre-emphasis and pre-distortion functions.
[0009] The present application discloses a method for simultaneously implementing pre-distortion and pre-emphasis, comprising:
[0010] The first selector multiplies a first value or a second value in the codeword with a corresponding coefficient in the first lookup table, the corresponding coefficient being a product of a pre-distortion coefficient and a pre-emphasis coefficient of the first or second value;
[0011] The second selector multiplies a third value or a fourth value in the codeword with a corresponding coefficient in the second lookup table, the corresponding coefficient being a product of a pre-distortion coefficient and a pre-emphasis coefficient of the third or fourth value;
[0012] The outputs of the first selector and the second selector are added.
[0013] In one preferred embodiment, the first lookup table includes 16 sets of coefficients, including:
[0014] Lut0_00_00 = (-coeff_3) + (-coeff_2)
[0015] Lut0_00_01 = (-coeff_3) + (-pre_p1_coeff_2)
[0016] Lut0_00_10 = (-coeff_3) + (pre_p2_coeff_2)
[0017] Lut0_00_11 = (-coeff_3) + (coeff_2)
[0018] Lut0_01_00 = (-pre_p1_coeff_3) + (-coeff_2)
[0019] Lut0_01_01 = (-pre_p1_coeff_3) + (-pre_p1_coeff_2)
[0020] Lut0_01_10 = (-pre_p1_coeff_3) + (pre_p2_coeff_2)
[0021] Lut0_01_11 = (-pre_p1_coeff_3) + (coeff_2)
[0022] Lut0_10_00 = (pre_p2_coeff_3) + (-coeff_2)
[0023] Lut0_10_01 = (pre_p2_coeff_3) + (-pre_p1_coeff_2)
[0024] Lut0_10_10 = (pre_p2_coeff_3) + (pre_p2_coeff_2)
[0025] Lut0_10_11 = (pre_p2_coeff_3) + (coeff_2)
[0026] Lut0_11_00 = (coeff_3) + (-coeff_2)
[0027] Lut0_11_01 = (coeff_3) + (-pre_p1_coeff_2)
[0028] Lut0_11_10 = (coeff_3) + (pre_p2_coeff_2)
[0029] Lut0_11_11 = (coeff_3) + (coeff_2);
[0030] where coeff_i is the pre-emphasis coefficient corresponding to the i-th value, and pre_pj_coeff_i is the product of the pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, where i takes values from {2, 3} and j takes values from {1, 2}.
[0031] In one preferred example, the second lookup table includes 16 sets of coefficients, including:
[0032] Lut1_00_00 = (-coeff_1) + (-coeff_0)
[0033] Lut1_00_01 = (-coeff_1) + (-pre_p1_coeff_0)
[0034] Lut1_00_10 = (-coeff_1) + (pre_p2_coeff_0)
[0035] Lut1_00_11 = (-coeff_1) + (coeff_0)
[0036] Lut1_01_00 = (-pre_p1_coeff_1) + (-coeff_0)
[0037] Lut1_01_01 = (-pre_p1_coeff_1) + (-pre_p1_coeff_0)
[0038] Lut1_01_10 = (-pre_p1_coeff_1) + (pre_p2_coeff_0)
[0039] Lut1_01_11 = (-pre_p1_coeff_1) + (coeff_0)
[0040] Lut1_10_00 = (pre_p2_coeff_1) + (-coeff_0)
[0041] Lut1_10_01 = (pre_p2_coeff_1) + (-pre_p1_coeff_0)
[0042] Lut1_10_10 = (pre_p2_coeff_1) + (pre_p2_coeff_0)
[0043] Lut1_10_11 = (pre_p2_coeff_1) + (coeff_0)
[0044] Lut1_11_00 = (coeff_1) + (-coeff_0)
[0045] Lut1_11_01 = (coeff_1) + (-pre_p1_coeff_0)
[0046] Lut1_11_10 = (coeff_1) + (pre_p2_coeff_0)
[0047] Lut1_11_11 = (coeff_1) + (coeff_0)
[0048] wherein coeff_i is a pre-emphasis coefficient corresponding to the i-th value, pre_pj_coeff_i is a product of a pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, wherein i takes values from {0, 1} and j takes values from {1, 2}.
[0049] The application also discloses a method for simultaneously implementing pre-distortion and pre-emphasis, comprising:
[0050] The selector multiplies the first value or the second value or the third value or the fourth value in the code word with the corresponding coefficient in the lookup table, which is a product of the pre-distortion coefficient and the pre-emphasis coefficient of the first value or the second value or the third value or the fourth value;
[0051] wherein the corresponding coefficients of the second value and the third value in the lookup table are respectively: Lut0_00_00 = (-coeff_3) + (-coeff_2)
[0052] Lut0_00_01 = (-coeff_3) + (-pre_p1_coeff_2)
[0053] Lut0_00_10 = (-coeff_3) + (pre_p2_coeff_2)
[0054] Lut0_00_11 = (-coeff_3) + (coeff_2)
[0055] Lut0_01_00 = (-pre_p1_coeff_3) + (-coeff_2)
[0056] Lut0_01_01 = (-pre_p1_coeff_3) + (-pre_p1_coeff_2)
[0057] Lut0_01_10 = (-pre_p1_coeff_3) + (pre_p2_coeff_2)
[0058] Lut0_01_11 = (-pre_p1_coeff_3) + (coeff_2)
[0059] Lut0_10_00 = (pre_p2_coeff_3) + (-coeff_2)
[0060] Lut0_10_01 = (pre_p2_coeff_3) + (-pre_p1_coeff_2)
[0061] Lut0_10_10 = (pre_p2_coeff_3) + (pre_p2_coeff_2)
[0062] Lut0_10_11 = (pre_p2_coeff_3) + (coeff_2)
[0063] Lut0_11_00 = (coeff_3) + (-coeff_2)
[0064] Lut0_11_01 = (coeff_3) + (-pre_p1_coeff_2)
[0065] Lut0_11_10 = (coeff_3) + (pre_p2_coeff_2)
[0066] Lut0_11_11 = (coeff_3) + (coeff_2)
[0067] wherein the first value and the fourth value in the look-up table correspond to coefficients respectively: Lut1_00_00 = (-coeff_1) + (-coeff_0)
[0068] Lut1_00_01 = (-coeff_1) + (-pre_p1_coeff_0)
[0069] Lut1_00_10 = (-coeff_1) + (pre_p2_coeff_0)
[0070] Lut1_00_11 = (-coeff_1) + (coeff_0)
[0071] Lut1_01_00 = (-pre_p1_coeff_1) + (-coeff_0)
[0072] Lut1_01_01 = (-pre_p1_coeff_1) + (-pre_p1_coeff_0)
[0073] Lut1_01_10 = (-pre_p1_coeff_1) + (pre_p2_coeff_0)
[0074] Lut1_01_11 = (-pre_p1_coeff_1) + (coeff_0)
[0075] Lut1_10_00 = (pre_p2_coeff_1) + (-coeff_0)
[0076] Lut1_10_01 = (pre_p2_coeff_1) + (-pre_p1_coeff_0)
[0077] Lut1_10_10 = (pre_p2_coeff_1) + (pre_p2_coeff_0)
[0078] Lut1_10_11 = (pre_p2_coeff_1) + (coeff_0)
[0079] Lut1_11_00 = (coeff_1) + (-coeff_0)
[0080] Lut1_11_01 = (coeff_1) + (-pre_p1_coeff_0)
[0081] Lut1_11_10 = (coeff_1) + (pre_p2_coeff_0)
[0082] Lut1_11_11 = (coeff_1) + (coeff_0)
[0083] where coeff_i is the pre-emphasis coefficient corresponding to the i-th value, pre_pj_coeff_i is the product of the pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, where i takes values from {0, 1, 2, 3} and j takes values from {1, 2}.
[0084] The application also discloses a transmitting end modulator circuit realizing pre-distortion and pre-emphasis simultaneously, comprising:
[0085] a first lookup table for storing products of pre-distortion coefficients and pre-emphasis coefficients of the first value and the second value;
[0086] a first selector for multiplying the first value or the second value in a code word with corresponding coefficients in the first lookup table;
[0087] a second lookup table for storing products of pre-distortion coefficients and pre-emphasis coefficients of the third value and the fourth value;
[0088] a second selector for multiplying the third value or the fourth value in a code word with corresponding coefficients in the second lookup table;
[0089] an adder for adding output results of the first selector and the second selector.
[0090] In a preferred example, the first lookup table comprises 16 groups of coefficients, comprising:
[0091] Lut0_00_00 = (-coeff_3) + (-coeff_2)
[0092] Lut0_00_01 = (-coeff_3) + (-pre_p1_coeff_2)
[0093] Lut0_00_10 = (-coeff_3) + (pre_p2_coeff_2)
[0094] Lut0_00_11 = (-coeff_3) + (coeff_2)
[0095] Lut0_01_00 = (-pre_p1_coeff_3) + (-coeff_2)
[0096] Lut0_01_01 = (-pre_p1_coeff_3) + (-pre_p1_coeff_2)
[0097] Lut0_01_10 = (-pre_p1_coeff_3) + (pre_p2_coeff_2)
[0098] Lut0_01_11 = (-pre_p1_coeff_3) + (coeff_2)
[0099] Lut0_10_00 = (pre_p2_coeff_3) + (-coeff_2)
[0100] Lut0_10_01 = (pre_p2_coeff_3) + (-pre_p1_coeff_2)
[0101] Lut0_10_10 = (pre_p2_coeff_3) + (pre_p2_coeff_2)
[0102] Lut0_10_11 = (pre_p2_coeff_3) + (coeff_2)
[0103] Lut0_11_00 = (coeff_3) + (-coeff_2)
[0104] Lut0_11_01 = (coeff_3) + (-pre_p1_coeff_2)
[0105] Lut0_11_10 = (coeff_3) + (pre_p2_coeff_2)
[0106] Lut0_11_11 = (coeff_3) + (coeff_2)
[0107] where coeff_i is the pre-emphasis coefficient corresponding to the i-th value, pre_pj_coeff_i is the product of the pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, where i takes values from {2, 3} and j takes values from {1, 2}.
[0108] In a preferred example, the second lookup table comprises 16 sets of coefficients, including:
[0109] Lut1_00_00 = (-coeff_1) + (-coeff_0)
[0110] Lut1_00_01 = (-coeff_1) + (-pre_p1_coeff_0)
[0111] Lut1_00_10 = (-coeff_1) + (pre_p2_coeff_0)
[0112] Lut1_00_11 = (-coeff_1) + (coeff_0)
[0113] Lut1_01_00 = (-pre_p1_coeff_1) + (-coeff_0)
[0114] Lut1_01_01 = (-pre_p1_coeff_1) + (-pre_p1_coeff_0)
[0115] Lut1_01_10 = (-pre_p1_coeff_1) + (pre_p2_coeff_0)
[0116] Lut1_01_11 = (-pre_p1_coeff_1) + (coeff_0)
[0117] Lut1_10_00 = (pre_p2_coeff_1) + (-coeff_0)
[0118] Lut1_10_01 = (pre_p2_coeff_1) + (-pre_p1_coeff_0)
[0119] Lut1_10_10 = (pre_p2_coeff_1) + (pre_p2_coeff_0)
[0120] Lut1_10_11 = (pre_p2_coeff_1) + (coeff_0)
[0121] Lut1_11_00 = (coeff_1) + (-coeff_0)
[0122] Lut1_11_01 = (coeff_1) + (-pre_p1_coeff_0)
[0123] Lut1_11_10 = (coeff_1) + (pre_p2_coeff_0)
[0124] Lut1_11_11 = (coeff_1) + (coeff_0)
[0125] where coeff_i is the pre-emphasis coefficient corresponding to the i-th value, pre_pj_coeff_i is the product of the pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, where i takes values from {0, 1} and j takes values from {1, 2}.
[0126] The application also discloses a transmitting end modulator circuit realizing pre-distortion and pre-emphasis simultaneously, comprising:
[0127] a lookup table for storing the products of the pre-distortion coefficients and the pre-emphasis coefficients of the first to fourth values;
[0128] a selector for multiplying the first or second or third or fourth value in the code word with the corresponding coefficient in the lookup table.
[0129] In a preferred embodiment, characterized in that
[0130] The second value and the third value in the lookup table correspond to coefficients, respectively, as follows:
[0131] Lut0_00_00 = (-coeff_3) + (-coeff_2)
[0132] Lut0_00_01 = (-coeff_3) + (-pre_p1_coeff_2)
[0133] Lut0_00_10 = (-coeff_3) + (pre_p2_coeff_2)
[0134] Lut0_00_11 = (-coeff_3) + (coeff_2)
[0135] Lut0_01_00 = (-pre_p1_coeff_3) + (-coeff_2)
[0136] Lut0_01_01 = (-pre_p1_coeff_3) + (-pre_p1_coeff_2)
[0137] Lut0_01_10 = (-pre_p1_coeff_3) + (pre_p2_coeff_2)
[0138] Lut0_01_11 = (-pre_p1_coeff_3) + (coeff_2)
[0139] Lut0_10_00 = (pre_p2_coeff_3) + (-coeff_2)
[0140] Lut0_10_01 = (pre_p2_coeff_3) + (-pre_p1_coeff_2)
[0141] Lut0_10_10 = (pre_p2_coeff_3) + (pre_p2_coeff_2)
[0142] Lut0_10_11 = (pre_p2_coeff_3) + (coeff_2)
[0143] Lut0_11_00 = (coeff_3) + (-coeff_2)
[0144] Lut0_11_01 = (coeff_3) + (-pre_p1_coeff_2)
[0145] Lut0_11_10 = (coeff_3) + (pre_p2_coeff_2)
[0146] Lut0_11_11 = (coeff_3) + (coeff_2);
[0147] The first and fourth values in the lookup table correspond to coefficients, respectively, of:
[0148] Lut1_00_00 = (-coeff_1) + (-coeff_0)
[0149] Lut1_00_01 = (-coeff_1) + (-pre_pl_coeff_0)
[0150] Lut1_00_10 = (-coeff_1) + (pre_p2_coeff_0)
[0151] Lut1_00_11 = (-coeff_1) + (coeff_0)
[0152] Lut1_01_00 = (-pre_pl_coeff_1) + (-coeff_0)
[0153] Lut1_01_01 = (-pre_pl_coeff_1) + (-pre_pl_coeff_0)
[0154] Lut1_01_10 = (-pre_pl_coeff_1) + (pre_p2_coeff_0)
[0155] Lut1_01_11 = (-pre_pl_coeff_1) + (coeff_0)
[0156] Lut1_10_00 = (pre_p2_coeff_1) + (-coeff_0)
[0157] Lut1_10_01 = (pre_p2_coeff_1) + (-pre_pl_coeff_0)
[0158] Lut1_10_10 = (pre_p2_coeff_1) + (pre_p2_coeff_0)
[0159] Lut1_10_11 = (pre_p2_coeff_1) + (coeff_0)
[0160] Lut1_11_00 = (coeff_1) + (-coeff_0)
[0161] Lut1_11_01 = (coeff_1) + (-pre_p1_coeff_0)
[0162] Lut1_11_10 = (coeff_1) + (pre_p2_coeff_0)
[0163] Lut1_11_11 = (coeff_1) + (coeff_0);
[0164] Where coeff_i is the pre-emphasis coefficient corresponding to the i-th value, pre_pj_coeff_i is the product of the pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, where i takes values from {0, 1, 2, 3} and j takes values from {1, 2}.
[0165] In the embodiments of the present application, both the pre-emphasis and the pre-distortion functions can be supported simultaneously without increasing the bit width and the multiplier.
[0166] A large number of technical features are described in the specification of the present application and distributed in various technical solutions. If all possible combinations of technical features (i.e. technical solutions) of the present application are listed, the specification will be too long. In order to avoid this problem, each technical feature disclosed in the above summary of the present application, each technical feature disclosed in the following embodiments and examples, and each technical feature disclosed in the drawings can be freely combined to form various new technical solutions (which should be considered to have been described in the specification), unless such combination of technical features is technically infeasible. For example, features A+B+C are disclosed in one example, features A+B+D+E are disclosed in another example, features C and D are equivalent technical means that play the same role and can only be used alternatively, and feature E can be combined with feature C technically. Therefore, the solution of A+B+C+D should not be considered to have been described because it is technically infeasible, and the solution of A+B+C+E should be considered to have been described. BRIEF DESCRIPTION OF DRAWINGS
[0167] Figure 1 is an eye diagram schematic diagram of four code word levels according to an embodiment of the present application
[0168] Figure 2 is a schematic diagram of a transmitter modulator circuit for simultaneously implementing pre-distortion and pre-emphasis according to an embodiment of the present application DETAILED DESCRIPTION
[0169] In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. However, it will be apparent to one ordinarily skilled in the art that the present application can be practiced without these specific details and that numerous implementation-specific decisions can be made to the application described herein, based upon a variety of implementation-specific factors, within the scope of the present application.
[0170] In order to achieve the two functions simultaneously, the above two formulas (1), (2) need to be combined. Before the combination, the above two formulas need to be transformed, because the four levels correspond to three distances, i.e. l0 and l1, l1 and l2, and l2 and l3, which are referred to as eye sizes (as shown in Figure 1 To adjust the sizes of the three eyes, only the middle two levels, l1 and l2, need to be adjusted. Then the four levels can be represented by 1, p1, p2, and 1, respectively.
[0171] The formula (1) is brought into the formula (2) to obtain:
[0172]
[0173] In the formula (3), v represents the amplitude of the code word, and p and h are combined to form a new coefficient, which contains the information of the pre-distortion and the information of the pre-emphasis.
[0174] The combination of p and h is the core of the present application. Because v has only two bits, the combination of v and p requires a larger bit width to preserve the precision of p, and the multiplication of the combination result and h requires a multiplier. The combination of p and h can be pre-calculated and configured by a configuration register, without increasing the bit width and the multiplier.
[0175] The result of each addend is:
[0176] If x == 0, v i *(p i h i ) = l0 * h i = -3 * h i
[0177] If x == 1, v i *(p i h i ) = l1 * p1 * h i = -1 * p1 * h i
[0178] If x == 2, v i *(p i h i ) = l2 * p2 * h i = 1 * p2 * h i
[0179] If x == 3, v i *(p i h i ) = l3*h i = 3*h i (4)
[0180] To save hardware resources, three groups of coefficients, 3h i , p1h i and p2h i , can be given in advance, and 12 coefficients are respectively represented as (coeff_3, coeff_2, coeff_1, coeff0) (pre_p1_coeff_3, pre_p1_coeff_2, pre_p1_coeff_1, pre_p1_coeff0) and (pre_p2_coeff_3, pre_p2_coeff_2, pre_p2_coeff_1, pre_p2_coeff0).
[0181] In order to make the purpose, technical scheme and advantages of the present application more clear, the embodiments of the present application will be further described in detail below with reference to the drawings.
[0182] Embodiment one of the present application relates to a method for simultaneously implementing pre-distortion and pre-emphasis, which comprises the following steps:
[0183] Step 1, a first selector multiplies a first value or a second value in a code word with a corresponding coefficient in a first lookup table, and the corresponding coefficient is a product of a pre-distortion coefficient and a pre-emphasis coefficient of the first or second value.
[0184] In one embodiment, the first value and the second value are x3 and x2 respectively, and the first lookup table includes 16 groups of coefficients, including:
[0185] Lut0_00_00 = (-coeff_3) + (-coeff_2)
[0186] Lut0_00_01 = (-coeff_3) + (-pre_p1_coeff_2)
[0187] Lut0_00_10 = (-coeff_3) + (pre_p2_coeff_2)
[0188] Lut0_00_11 = (-coeff_3) + (coeff_2)
[0189] Lut0_01_00 = (-pre_p1_coeff_3) + (-coeff_2)
[0190] Lut0_01_01 = (-pre_p1_coeff_3) + (-pre_p1_coeff_2)
[0191] Lut0_01_10 = (-pre_p1_coeff_3) + (pre_p2_coeff_2)
[0192] Lut0_01_11 = (-pre_p1_coeff_3) + (coeff_2)
[0193] Lut0_10_00 = (pre_p2_coeff_3) + (-coeff_2)
[0194] Lut0_10_01 = (pre_p2_coeff_3) + (-pre_p1_coeff_2)
[0195] Lut0_10_10 = (pre_p2_coeff_3) + (pre_p2_coeff_2)
[0196] Lut0_10_11 = (pre_p2_coeff_3) + (coeff_2)
[0197] Lut0_11_00 = (coeff_3) + (-coeff_2)
[0198] Lut0_11_01 = (coeff_3) + (-pre_p1_coeff_2)
[0199] Lut0_11_10 = (coeff_3) + (pre_p2_coeff_2)
[0200] Lut0_11_11 = (coeff_3) + (coeff_2)
[0201] where coeff_i is the pre-emphasis coefficient corresponding to the i-th value, pre_pj_coeff_i is the product of the pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, where i takes values from {2, 3} and j takes values from {1, 2}.
[0202] Step 2, the second selector multiplies the third or fourth value in the code word with the corresponding coefficient in the second lookup table, which is the product of the pre-distortion coefficient and the pre-emphasis coefficient of the third or fourth value.
[0203] In a preferred embodiment, the first value and the second value are x1 and x0 respectively, and the second lookup table comprises 16 sets of coefficients, including:
[0204] Lut1_00_00 = (-coeff_1) + (-coeff_0)
[0205] Lut1_00_01 = (-coeff_1) + (-pre_p1_coeff_0)
[0206] Lut1_00_10 = (-coeff_1) + (pre_p2_coeff_0)
[0207] Lut1_00_11 = (-coeff_1) + (coeff_0)
[0208] Lut1_01_00 = (-pre_p1_coeff_1) + (-coeff_0)
[0209] Lut1_01_01 = (-pre_p1_coeff_1) + (-pre_p1_coeff_0)
[0210] Lut1_01_10 = (-pre_p1_coeff_1) + (pre_p2_coeff_0)
[0211] Lut1_01_11 = (-pre_p1_coeff_1) + (coeff_0)
[0212] Lut1_10_00 = (pre_p2_coeff_1) + (-coeff_0)
[0213] Lut1_10_01 = (pre_p2_coeff_1) + (-pre_p1_coeff_0)
[0214] Lut1_10_10 = (pre_p2_coeff_1) + (pre_p2_coeff_0)
[0215] Lut1_10_11 = (pre_p2_coeff_1) + (coeff_0)
[0216] Lut1_11_00 = (coeff_1) + (-coeff_0)
[0217] Lut1_11_01 = (coeff_1) + (-pre_p1_coeff_0)
[0218] Lut1_11_10 = (coeff_1) + (pre_p2_coeff_0)
[0219] Lut1_11_11 = (coeff_1) + (coeff_0)
[0220] wherein coeff_i is a pre-emphasis coefficient corresponding to the i-th value, pre_pj_coeff_i is a product of a pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, wherein i takes values of {0, 1} and j takes values of {1, 2}.
[0221] Step 3, adding the output results of the first selector and the second selector.
[0222] In this embodiment, the operation amount and the selection logic of the lookup table are comprehensively considered, and the mode of two lookup tables is selected, that is, two codewords (4 bits) form a lookup table, the size of the lookup table is 2^4 = 16, and then the numbers searched by the two lookup tables are added to obtain the final result.
[0223] Embodiment two of the application discloses a method for simultaneously implementing pre-distortion and pre-emphasis, comprising: a selector multiplying a first value or a second value or a third value or a fourth value in a codeword with a corresponding coefficient in a lookup table, the corresponding coefficient being a product of a pre-distortion coefficient and a pre-emphasis coefficient of the first value or the second value or the third value or the fourth value. In this embodiment, four codewords can also use one lookup table, and a selector can not be needed.
[0224] wherein there are 16 value conditions of the codewords x3, x2, and a value in the first lookup table is taken respectively:
[0225] 0000, Lut0_00_00 is taken
[0226] 0001, Lut0_00_01 is taken
[0227] 0010, Lut0_00_10 is taken
[0228] 0011, Lut0_00_11 is taken
[0229] 0100, Lut0_01_00 is taken
[0230] 0101, Lut0_01_01 is taken
[0231] 0110, Lut0_01_10 is taken
[0232] 0111, Lut0_01_11 is taken
[0233] 1000, Lut0_10_00 is taken
[0234] 1001, Lut0_10_01 is taken
[0235] 1010, Lut0_10_10 is taken
[0236] 1011, take Lut0_10_11
[0237] 1100, take Lut0_11_00
[0238] 1101, take Lut0_11_01
[0239] 1110, take Lut0_11_10
[0240] 1111, take Lut0_11_11
[0241] Wherein, the code word x1, x0 value condition has 16 kinds, respectively corresponding to take a value in the second lookup table:
[0242] 0000, take Lut1_00_00
[0243] 0001, take Lut1_00_01
[0244] 0010, take Lut1_00_10
[0245] 0011, take Lut1_00_11
[0246] 0100, take Lut1_01_00
[0247] 0101, take Lut1_01_01
[0248] 0110, take Lut1_01_10
[0249] 0111, take Lut1_01_11
[0250] 1000, take Lut1_10_00
[0251] 1001, take Lut1_10_01
[0252] 1010, take Lut1_10_10
[0253] 1011, take Lut1_10_11
[0254] 1100, take Lut1_11_00
[0255] 1101, take Lut1_11_01
[0256] 1110, take Lut1_11_10
[0257] 1111, take Lut1_11_11
[0258] Embodiment three of the present application relates to a kind of transmitter modulator circuit for simultaneously realizing pre-distortion and pre-emphasis, its structure is as Figure 2As shown, it comprises: a first lookup table (lut0) 101, a second lookup table (lut1) 102, a first selector 103, a second selector 104, an adder 105 and a transmitter 106.
[0259] The first lookup table 101 is used to store the product of the pre-distortion coefficient and the pre-emphasis coefficient of the first value and the second value. The first selector 103 is used to multiply the first value or the second value in the code word with the corresponding coefficient in the first lookup table. The second lookup table 102 is used to store the product of the pre-distortion coefficient and the pre-emphasis coefficient of the third value and the fourth value. The second selector 104 is used to multiply the third value or the fourth value in the code word with the corresponding coefficient in the second lookup table. The adder 105 is used to add the output of the first selector and the second selector.
[0260] Embodiment one is a method embodiment corresponding to the present embodiment, and the technical details in embodiment one can be applied to the present embodiment, and the technical details in the present embodiment can also be applied to embodiment one.
[0261] Embodiment four of the present application discloses a transmitter modulator circuit for simultaneously implementing pre-distortion and pre-emphasis, comprising: a lookup table, a selector, an adder and a transmitter. The lookup table is used to store the product of the pre-distortion coefficient and the pre-emphasis coefficient of the first to fourth values. The selector is used to multiply the first or second or third or fourth value in the code word with the corresponding coefficient in the lookup table.
[0262] Embodiment two is a method embodiment corresponding to the present embodiment, and the technical details in embodiment two can be applied to the present embodiment, and the technical details in the present embodiment can also be applied to embodiment two.
[0263] It is to be understood that the phraseology or terminology employed herein, such as "first" and "second", etc., are for descriptive purpose only and can not be construed to be indicative of a necessary order of importance, sequence, or essentiality. Furthermore, the terms "comprises", "comprising", "includes", "including", or any other variations thereof, are intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises... a", "comprising... a", "includes... a", "including... a", or the like with a double reference element, refers to the double reference element as well as to other like elements. The terms "first", "second", and the like, do not denote any order, quantity, or importance, but rather are used to identify one element from another. The terms "comprises", "comprising", or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises a", "comprises an", "comprising a", "comprising an", or the like with a single reference element, refers to the single reference element as well as to other like elements. The terms "a", "an", and the like, mean one or more. The terms "plurality" and "multiple" refer to two or more.
[0264] All documents mentioned in this specification are hereby incorporated by reference in their entirety for the purpose of providing disclosure of the application. In addition, the disclosure shows by way of illustration various embodiments of the application. It is to be understood that the application is not limited to these preferred embodiments. Therefore, other modifications and variations are within the scope of the application as can be practiced or carried out by those of ordinary skill in the art. Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. Therefore, it is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
[0265] In some cases, the actions recited in the claims can be performed in a different order and still accomplish the desired results. Additionally, the process depicted in the accompanying figures does not necessarily require the particular order illustrated, or sequential order to achieve the desired results. In certain implementations, multitasking and parallel processing can be advantageous.
Claims
1. A method of simultaneously implementing pre-distortion and pre-emphasis, characterized by, Comprise: a first selector multiplies a first value or a second value in a code word with a corresponding coefficient in a first lookup table, the corresponding coefficient being a product of a pre-distortion coefficient and a pre-emphasis coefficient of the first or second value; a second selector multiplies a third value or a fourth value in the code word with a corresponding coefficient in a second lookup table, the corresponding coefficient being a product of a pre-distortion coefficient and a pre-emphasis coefficient of the third or fourth value; adding the output results of the first selector and the second selector; wherein the first lookup table comprises 16 groups of coefficients, comprising: Lut0_00_00=(-coeff_3)+(-coeff_2) Lut0_00_01=(-coeff_3)+(-pre_p1_coeff_2) Lut0_00_10=(-coeff_3)+(pre_p2_coeff_2) Lut0_00_11=(-coeff_3)+(coeff_2) Lut0_01_00=(-pre_p1_coeff_3)+(-coeff_2) Lut0_01_01=(-pre_p1_coeff_3)+(-pre_p1_coeff_2) Lut0_01_10=(-pre_p1_coeff_3)+(pre_p2_coeff_2) Lut0_01_11=(-pre_p1_coeff_3)+(coeff_2) Lut0_10_00=(pre_p2_coeff_3)+(-coeff_2) Lut0_10_01=(pre_p2_coeff_3)+(-pre_p1_coeff_2) Lut0_10_10=(pre_p2_coeff_3)+(pre_p2_coeff_2) Lut0_10_11=(pre_p2_coeff_3)+(coeff_2) Lut0_11_00=(coeff_3)+(-coeff_2) Lut0_11_01=(coeff_3)+(-pre_p1_coeff_2) Lut0_11_10=(coeff_3)+(pre_p2_coeff_2) Lut0_11_11=(coeff_3)+(coeff_2); wherein the second lookup table comprises 16 groups of coefficients, comprising: Lut1_00_00=(-coeff_1)+(-coeff_0) Lut1_00_01=(-coeff_1)+(-pre_p1_coeff_0) Lut1_00_10=(-coeff_1)+(pre_p2_coeff_0) Lut1_00_11=(-coeff_1)+(coeff_0) Lut1_01_00=(-pre_p1_coeff_1)+(-coeff_0) Lut1_01_01 = (-pre_p1_coeff_1) + (-pre_p1_coeff_0) Lut1_01_10 = (-pre_p1_coeff_1) + (pre_p2_coeff_0) Lut1_01_11 = (-pre_p1_coeff_1) + (coeff_0) Lut1_10_00 = (pre_p2_coeff_1) + (-coeff_0) Lut1_10_01 = (pre_p2_coeff_1) + (-pre_p1_coeff_0) Lut1_10_10 = (pre_p2_coeff_1) + (pre_p2_coeff_0) Lut1_10_11 = (pre_p2_coeff_1) + (coeff_0) Lut1_11_00 = (coeff_1) + (-coeff_0) Lut1_11_01 = (coeff_1) + (-pre_p1_coeff_0) Lut1_11_10 = (coeff_1) + (pre_p2_coeff_0) Lut1_11_11 = (coeff_1) + (coeff_0) where coeff_i is a pre-emphasis coefficient corresponding to the i-th value, pre_pj_coeff_i is a product of a pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, where i takes values from {0, 1, 2, 3} and j takes values from {1, 2}.
2. A method of simultaneously implementing pre-distortion and pre-emphasis, characterized by, comprises: the selector multiplies the first value or the second value or the third value or the fourth value in the code word with a corresponding coefficient in the look-up table, the corresponding coefficient being a product of a pre-distortion coefficient and a pre-emphasis coefficient of the first value or the second value or the third value or the fourth value; wherein the corresponding coefficients of the second value and the third value in the look-up table are respectively: Lut0_00_00 = (-coeff_3) + (-coeff_2) Lut0_00_01 = (-coeff_3) + (-pre_p1_coeff_2) Lut0_00_10 = (-coeff_3) + (pre_p2_coeff_2) Lut0_00_11 = (-coeff_3) + (coeff_2) Lut0_01_00 = (-pre_p1_coeff_3) + (-coeff_2) Lut0_01_01 = (-pre_p1_coeff_3) + (-pre_p1_coeff_2) Lut0_01_10 = (-pre_p1_coeff_3) + (pre_p2_coeff_2) Lut0_01_11 = (-pre_p1_coeff_3) + (coeff_2) Lut0_10_00 = (pre_p2_coeff_3) + (-coeff_2) Lut0_10_01 = (pre_p2_coeff_3) + (-pre_p1_coeff_2) Lut0_10_10 = (pre_p2_coeff_3) + (pre_p2_coeff_2) Lut0_10_11 = (pre_p2_coeff_3) + (coeff_2) Lut0_11_00 = (coeff_3) + (-coeff_2) Lut0_11_01 = (coeff_3) + (-pre_p1_coeff_2) Lut0_11_10 = (coeff_3) + (pre_p2_coeff_2) Lut0_11_11 = (coeff_3) + (coeff_2) Lut0_10_01 = (pre_p2_coeff_3) + (-pre_p1_coeff_2) Lut0_10_10 = (pre_p2_coeff_3) + (pre_p2_coeff_2) Lut0_10_11 = (pre_p2_coeff_3) + (coeff_2) Lut0_11_00 = (coeff_3) + (-coeff_2) Lut0_11_01 = (coeff_3) + (-pre_p1_coeff_2) Lut0_11_10 = (coeff_3) + (pre_p2_coeff_2) Lut0_11_11 = (coeff_3) + (coeff_2) wherein the first and fourth values in the look-up table correspond to the coefficients of: Lut1_00_00 = (-coeff_1) + (-coeff_0) Lut1_00_01 = (-coeff_1) + (-pre_p1_coeff_0) Lut1_00_10 = (-coeff_1) + (pre_p2_coeff_0) Lut1_00_11 = (-coeff_1) + (coeff_0) Lut1_01_00 = (-pre_p1_coeff_1) + (-coeff_0) Lut1_01_01 = (-pre_p1_coeff_1) + (-pre_p1_coeff_0) Lut1_01_10 = (-pre_p1_coeff_1) + (pre_p2_coeff_0) Lut1_01_11 = (-pre_p1_coeff_1) + (coeff_0) Lut1_10_00 = (pre_p2_coeff_1) + (-coeff_0) Lut1_10_01 = (pre_p2_coeff_1) + (-pre_p1_coeff_0) Lut1_10_10 = (pre_p2_coeff_1) + (pre_p2_coeff_0) Lut1_10_11 = (pre_p2_coeff_1) + (coeff_0) Lut1_11_00 = (coeff_1) + (-coeff_0) Lut1_11_01 = (coeff_1) + (-pre_p1_coeff_0) Lut1_11_10 = (coeff_1) + (pre_p2_coeff_0) Lut1_11_11 = (coeff_1) + (coeff_0) wherein coeff_i is a pre-emphasis coefficient corresponding to the i-th value, and pre_pj_coeff_i is a product of a pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, wherein i takes values of {0, 1, 2, 3}, and j takes values of {1, 2}.
3. A transmitter modulator circuit that simultaneously implements predistortion and preemphasis, characterized in that, including: a first lookup table configured to store products of pre-distortion coefficients and pre-emphasis coefficients of the first value and the second value; a first selector configured to multiply the first value or the second value in a code word with a corresponding coefficient in the first lookup table; a second lookup table configured to store products of pre-distortion coefficients and pre-emphasis coefficients of the third value and the fourth value; a second selector configured to multiply the third value or the fourth value in a code word with a corresponding coefficient in the second lookup table; an adder configured to add outputs of the first selector and the second selector; wherein the first lookup table includes 16 groups of coefficients, including: Lut0_00_00 = (-coeff_3) + (-coeff_2) Lut0_00_01 = (-coeff_3) + (-pre_p1_coeff_2) Lut0_00_10 = (-coeff_3) + (pre_p2_coeff_2) Lut0_00_11 = (-coeff_3) + (coeff_2) Lut0_01_00 = (-pre_p1_coeff_3) + (-coeff_2) Lut0_01_01 = (-pre_p1_coeff_3) + (-pre_p1_coeff_2) Lut0_01_10 = (-pre_p1_coeff_3) + (pre_p2_coeff_2) Lut0_01_11 = (-pre_p1_coeff_3) + (coeff_2) Lut0_10_00 = (pre_p2_coeff_3) + (-coeff_2) Lut0_10_01 = (pre_p2_coeff_3) + (-pre_p1_coeff_2) Lut0_10_10 = (pre_p2_coeff_3) + (pre_p2_coeff_2) Lut0_10_11 = (pre_p2_coeff_3) + (coeff_2) Lut0_11_00 = (coeff_3) + (-coeff_2) Lut0_11_01 = (coeff_3) + (-pre_p1_coeff_2) Lut0_11_10 = (coeff_3) + (pre_p2_coeff_2) Lut0_11_11 = (coeff_3) + (coeff_2); wherein the second lookup table includes 16 groups of coefficients, including: Lut1_00_00 = (-coeff_1) + (-coeff_0) Lut1_00_01 = (-coeff_1) + (-pre_p1_coeff_0) Lut1_00_10 = (-coeff_1) + (pre_p2_coeff_0) Lut1_00_11 = (-coeff_1) + (coeff_0) Lut1_01_00 = (-pre_p1_coeff_1) + (-coeff_0) Lut1_01_01 = (-pre_p1_coeff_1) + (-pre_p1_coeff_0) Lut1_01_10 = (-pre_p1_coeff_1) + (pre_p2_coeff_0) Lut1_01_11 = (-pre_p1_coeff_1) + (coeff_0) Lut1_10_00 = (pre_p2_coeff_1) + (-coeff_0) Lut1_10_01 = (pre_p2_coeff_1) + (-pre_p1_coeff_0) Lut1_10_10 = (pre_p2_coeff_1) + (pre_p2_coeff_0) Lut1_10_11 = (pre_p2_coeff_1) + (coeff_0) Lut1_11_00 = (coeff_1) + (-coeff_0) Lut1_11_01 = (coeff_1) + (-pre_p1_coeff_0) Lut1_11_10 = (coeff_1) + (pre_p2_coeff_0) Lut1_11_11 = (coeff_1) + (coeff_0) where coeff_i is a pre-emphasis coefficient corresponding to the i-th value, pre_pj_coeff_i is a product of a pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, where i takes values from {0, 1, 2, 3} and j takes values from {1, 2}.
4. A transmitter modulator circuit that simultaneously implements predistortion and pre-emphasis, characterized by, comprises: a look-up table for storing products of pre-distortion coefficients and pre-emphasis coefficients of the first to fourth values; a selector for multiplying the first or second or third or fourth value in the code word with the corresponding coefficient in the look-up table; wherein the corresponding coefficients of the second and third values in the look-up table are respectively: Lut0_00_00 = (-coeff_3) + (-coeff_2) Lut0_00_01 = (-coeff_3) + (-pre_p1_coeff_2) Lut0_00_10 = (-coeff_3) + (pre_p2_coeff_2) Lut0_00_11 = (-coeff_3) + (coeff_2) Lut0_01_00 = (-pre_p1_coeff_3) + (-coeff_2) Lut0_01_01 = (-pre_p1_coeff_3) + (-pre_p1_coeff_2) Lut0_01_10 = (-pre_p1_coeff_3) + (pre_p2_coeff_2) Lut0_01_11 = (-pre_p1_coeff_3) + (coeff_2) Lut0_10_00 = (pre_p2_coeff_3) + (-coeff_2) Lut0_10_01 = (pre_p2_coeff_3) + (-pre_p1_coeff_2) Lut0_10_10 = (pre_p2_coeff_3) + (pre_p2_coeff_2) Lut0_10_11 = (pre_p2_coeff_3) + (coeff_2) Lut0_11_00 = (coeff_3) + (-coeff_2) Lut0_11_01 = (coeff_3) + (-pre_p1_coeff_2) Lut0_11_10 = (coeff_3) + (pre_p2_coeff_2) Lut0_11_11 = (coeff_3) + (coeff_2); The first and fourth values in the look-up table correspond to the coefficients, respectively, as follows: Lut1_00_00 = (-coeff_1) + (-coeff_0) Lut1_00_01 = (-coeff_1) + (-pre_p1_coeff_0) Lut1_00_10 = (-coeff_1) + (pre_p2_coeff_0) Lut1_00_11 = (-coeff_1) + (coeff_0) Lut1_01_00 = (-pre_p1_coeff_1) + (-coeff_0) Lut1_01_01 = (-pre_p1_coeff_1) + (-pre_p1_coeff_0) Lut1_01_10 = (-pre_p1_coeff_1) + (pre_p2_coeff_0) Lut1_01_11 = (-pre_p1_coeff_1) + (coeff_0) Lut1_10_00 = (pre_p2_coeff_1) + (-coeff_0) Lut1_10_01 = (pre_p2_coeff_1) + (-pre_p1_coeff_0) Lut1_10_10 = (pre_p2_coeff_1) + (pre_p2_coeff_0) Lut1_10_11 = (pre_p2_coeff_1) + (coeff_0) Lut1_11_00 = (coeff_1) + (-coeff_0) Lut1_11_01 = (coeff_1) + (-pre_p1_coeff_0) Lut1_11_10 = (coeff_1) + (pre_p2_coeff_0) Lut1_11_11 = (coeff_1) + (coeff_0); Wherein, coeff_i is the pre-emphasis coefficient corresponding to the i-th value, pre_pj_coeff_i is the product of the pre-distortion coefficient corresponding to the j-th value and the pre-emphasis coefficient corresponding to the i-th value, wherein i takes values of {0, 1, 2, 3}, and j takes values of {1, 2}.
Citation Information
Patent Citations
Pre-emphasis coefficient test method and device and communication device
CN108540244A
Channel equalization for multi-level signaling
CN110832589A