Preliminary Technical Data UG-1828
Rev. PrB | Page 183 of 277
DPD Model 4 tap configuration used to generate the final pre-distorted data x(t) is shown in Figure 175:
x
x
+ +
Z
1
TAP
1
TAP
3
TAP
2
TAP
0
Z
1
Z
1
x
Z
1
Z
1
Z
1
Z
1
LUT
0
1
3
2
d(t)
d(t)
d
(t –
1
)
d(t – 2)
x
(t)
|d(t
)|
24159-149
Figure 176. ADRV9001 DPD Model 4 LUT Configuration
As shown in Figure 175, d(t) is the raw complex transmit signal before predistortion. Its amplitude is the basis that the DPD actuator
uses to predistort the d(t) via its LUT. The LUT consists of four taps, which are calculated with precomputed DPD coefficients α, as the
following:
TAP
0
= a
0,0,0
+ a
0,0,1
|d(t)| + a
0,0,2
|d(t)|
2
+ a
0,0,3
|d(t)|
3
+ a
0,0,4
|d(t)|
4
TAP
1
= a
1,1,0
+ a
1,1,1
|d(t − 1)| + a
1,1,2
|d(t − 1)|
2
+ a
1,1,3
|d(t − 1)|
3
+ a
1,1,4
|d(t − 1)|
4
+ a
1,1,5
|d(t – 1)|
5
+ a
1,1,6
|d(t – 1)|
6
TAP
2
= a
2,2,0
+ a
2,2,1
|d(t − 2)| + a
2,2,2
|d(t − 2)|
2
+ a
2,2,3
|d(t − 2)|
3
+ a
2,2,4
|d(t − 2)|
4
TAP
3
= a
3,2,1
|d(t − 2)| + a
3,2,2
|d(t − 2)|
2
+ a
3,2,3
|d(t − 2)|
3
+ a
3,2,4
|d(t − 2)|
4
Note the TAPx equations represent the default power term setting for each tap in Model 4, from which,
can be easily derived as the
following depending if a power term is included or excluded:
Tap 0: b
0,0,0
= 1, b
0,0,1
= 1, b
0,0,2
= 1, b
0,0,3
= 1, b
0,0,4
= 1, b
0,0,5
= 0, b
0,0,6
= 0, b
0,0,7
= 0
Tap 1: b
1,1,0
= 1, b
1,1,1
= 1, b
1,1,2
= 1, b
1,1,3
= 1, b
1,1,4
= 1, b
1,1,5
= 1, b
1,1,6
= 1, b
1,1,7
= 0
Tap 2: b
2,2,0
= 1, b
2,2,1
= 1, b
2,2,2
= 1, b
2,2,3
= 1, b
2,2,4
= 1, b
2,2,5
= 0, b
2,2,6
= 0, b
2,2,7
= 0
Tap 3: b
3,2,0
= 0, b
3,2,1
= 1, b
3,2,2
= 1, b
3,2,3
= 1, b
3,2,4
= 1, b
3,2,5
= 0, b
3,2,6
= 0, b
3,2,7
= 0
If using an array B for 4 taps and for each tap using a byte to represent the above setting (the least significant bit represents the 0th power
term), it is clear that the default setting is equivalent to B[0] = 0x1F, B[1] = 0x7F, B[2] = 0x1F and B[3] = 0x1E.
The connections from the 4 outputs are combined to produce the final output, x(t) as the following:
x(t) = TAP
0
[|d(t)|] × d(t) + {TAP
1
[|d(t − 1)|] + TAP
3
[|d(t − 2)|]} × d(t – 1) + TAP
2
[|d(t − 2)|] × d(t – 2)
changeModelTapOrders
This flag is used to provide user an option to select the default model tap orders or choose a customized model tap orders. If this flag is
set to be “TRUE”, the next field in the data structure “modelOrdersForEachTap”, should be used to set the model tap orders for the
specified channel. If it is “FALSE”, then “modelOrdersForEachTap” will be ignored and it will use the default tap orders as discussed
(B[0] = 0x1F, B[1] = 0x7F, B[2] = 0x1F and B[3] = 0x1E).
modelOrdersForEachTap
This is an array of bitmaps for each tap t (t=0 to 3), formulated in the same way as discussed above for the default
setting. It provides user an option to customize the order so that a power term could be included or excluded in the polynomial to better
model the power amplifier. Table 79 shows recommendations for setting this field. The user could try those suggestions and find out the
best model through tests. The method of selecting the best model tap orders is discussed in the DPD Tuning and Testing section as a part
of DPD tuning recommendations.
Table 79. Suggested Model Orders for Narrow-Band Waveforms
Taps Model Orders for Each Tap
Tap 1 B[1] = 0x1F, 0x3F, 0x7F, 0xFF
Tap 0 and Tap 2 B[0] = B[2] = 0x03, 0x07, 0x0F, 0x1F, (Tap 0 and Tap 2 should be the same.)
Tap 3 B[3] = 0x0, 0x02, 0x06, 0x0E, 0x1E, 0x3E