ADAU1373
Rev. 0 | Page 63 of 296
COEFFICIENT CALCULATIONS
Peak Filter Setting
With fS as the input signal sampling frequency, fC as the
required peak filter center frequency, BW as the bandwidth,
and G (dB) as the gain, use the following steps for coefficient
calculation:
1.
Transfer the gain in decibels (dB) to decimal domain.
20
10
G
k
=
2.
Calculate the double precision coefficients.
)
2
cos(
))
2
sin(
1
(
π
α
×
=
S
f
BW
f
BW
)
2
cos(
π
β
×
=
S
C
f
2
)
1
(
)
1
(
α
×
+
=
k
p0
β
α ×
+
=
)
1
(
p1
2
)
1
(
)
1
(
α
×
+
=
k
p2
β
α ×
+
=
)
1
(
d1
α
=
d2
3.
Transfer the double precision coefficients to integer values
represented by registers.
p0 = round(p0 × 8192)
p1 = round(p1 × 8192)
p2 = round(p2 × 8192)
d1 = round(d1 × 8192)
d2 = round(d2 × 8192)
4.
Transfer the decimal integer values to 16-bit, twos
complement hexadecimal values.
Low-Pass Shelving Filter
The low-pass shelving filter transfer function is
1
)
(
×
×
+
=
z
d1
z
p1
p0
z
H
With fS as the input signal sampling frequency, fC as the required
filter cutoff frequency, and G (dB) as the gain, use the following
steps for coefficient calculation:
1.
Transfer the gain in decibels (dB) to decimal domain.
20
10
G
k
=
2.
Calculate the double precision coefficients.
)
2
cos(
))
2
sin(
1
(
π
α
×
=
S
C
S
C
f
2
)
1
(
)
1
(
α
×
+
=
k
p0
2
)
1
(
)
1
(
α
×
+
=
k
p1
α
=
d1
3.
Transfer the double precision coefficients to integer values
represented by registers.
p0 = round(p0 × 8192)
p1 = round(p1 × 8192)
d1 = round(d1 × 8192)
4.
Transfer the decimal integer values to twos complement
hexadecimal values.
High-Pass Shelving Filter
The high-pass shelving filter transfer function is
1
)
(
×
×
+
=
z
d1
z
p1
p0
z
H
With fS as the input signal sampling frequency, fC as the required
filter cutoff frequency, and G (dB) as the gain, use the following
steps for coefficient calculation:
1.
Transfer the gain in decibels (dB) to decimal domain.
20
10
G
k
=
2.
Calculate the double precision coefficients.
)
2
cos(
))
2
sin(
1
(
π
α
×
=
S
C
S
C
f
2
)
1
(
)
1
(
α
×
+
=
k
p0
2
)
1
(
)
1
(
α
×
+
=
k
p1
α
=
d1
3.
Transfer the double precision coefficients to integer values
represented by registers.
p0 = round(p0 × 8192)
p1 = round(p1 × 8192)
d1 = round(d1 × 8192)
4.
Transfer the decimal integer values to twos complement
hexadecimal values.