Datasheet

AD9548 Data Sheet
Rev. E | Page 110 of 112
If x is an integer, then y = x. Otherwise, y is the nearest integer to
x. For example, round(2.1) = 2, round(2.5) = 3, and round(3.1) =
3.
The ceil() function
y = ceil(x)
If x is an integer, then y = x. Otherwise, y is the next integer to
the right on the number line. For example, ceil(2.8) = 3,
whereas ceil(2.8) = −2.
The min() function
y = min(x
0
, x
1
, ... x
n
)
where x
0
through x
n
is a list of real numbers, and the value of y
is the number in the list that is the farthest to the left on the
number line.
The max() function
y = max(x
0
, x
1
, ... x
n
)
where x
0
through x
n
is a list of real numbers, and the value of y
is the number in the list that is the farthest to the right on the
number line.
The log
2
() function
)2(ln
)(ln
)(log
2
x
x =
where ln() is the natural log function and x is a positive,
nonzero number.
Assume that the coefficient calculations for α, β, γ, and δ yield
the following results:
012735446.0=
α
5
1098672.6
×=
β
5
1050373.7
×=
γ
002015399.
0=
δ
These values are floating point numbers that must be quantized
according to the bit widths of the linear and exponential
components of the coefficients as they appear in the register
map. Note that the calculations that follow indicate a positive
value for the register entries of β and γ. The reason is that β and
γ, which are supposed to be negative values, are stored in the
AD9548 registers as positive values. The AD9548 converts the
stored values to negative numbers within its signal processing
core. A detailed description of the register value computations
for α, β, γ, and δ is contained in the Calculation of the α
Register Values section to the Calculation of the δ Register
Values section.
CALCULATION OF THE
α
REGISTER VALUES
The quantized α coefficient consists of four components, α
0
, α
1
,
α
2
, and α
3
according to
32
1
0
quantized
α
αα
ααα
++
×=
16
2
where α
0
, α
1
, α
2
, and α
3
are the register values. α
2
provides
front-end gain and α
3
provides back-end gain, and α
1
shifts the
binary decimal point of α
0
to the left to accommodate small
values of α. Calculation of α
1
is a two-step process, as follows:
)0)),((logceil,1(if
2
αα
<=w
[ ]
)0,),0max(,63min,1(if
1
w<=
αα
If gain is necessary (that is, α > 1), then it is beneficial to apply
most or all of it to the front-end gain (α
2
) implying that the
calculation of α
2
is to be done before α
3
. Calculation of α
2
is a
three-step process that leads directly to the calculation of α
3
.
)0)),((logceil,1(if
2
αα
>=x
[ ]
)0,),0max(,22min,1(if xy >=
α
),7,8
(if
2
yy
=
α
)0,7,8(if
3
= yy
α
Calculation of α
0
is a two-step process, as follows:
)2(round
16
321
z
ααα
α
+
×=
[ ]
),1max(
,535,65min z
0
=
α
Using the example value of α = 0.012735446 yields
w = 6, so
α
1
= 6
x = 0 and y = 0, so
α
2
= 0 and
α
3
= 0
z = 53,416.332099584, so
α
0
= 53,416
This leads to the following quantized value, which is very close
to the desired value of 0.012735446:
10127356682
.0
253416
22
×
=
quantized
α
CALCULATION OF THE β REGISTER VALUES
The quantized β coefficient consists of two components, β
0
and
β
1
according to
)17(
1
2
β
βββ
+
×=
0quantized
where β
0
and β
1
are the register values. Calculation of β
1
is a
two-step process that leads to the calculation of β
0
, which is also
a two-step process.
))((logceil
2
β
=x
[ ]
),0max(,31min x
1
=
β
)2(round
17
1
y
β
β
+
×=
[ ]
),1max(,071,131min y
0
=
β
Using the example value of β = 6.98672 × 10
−5
yields
x = 13, so β
1
= 13
y = 75,019.3347657728, so β
0
= 75,019
This leads to the following quantized value, which is very close
to the desired value of 6.98672x10
−5
:
530
10986688823.62019,75
××=
quantized
β