
ASLIC/ASLAC Products
41
PROGRAMMABLE FILTERS
General Description of CSD Coefficients
The filter functions are performed by a series of multiplications and accumulations. A multiplication is accomplished
by repeatedly shifting the multiplicand and summing the result with the previous value at that summation node. The
method used in the ASLAC device is known as Canonic Signed Digit (CSD) multiplication and splits each coefficient
into a series of CSD coefficients.
Each programmable FIR filter section has the following general transfer function:
Equation (1)
where the number of taps in the filter = n + 1.
The transfer function for IIR part of Z and B filters is:
1
–
–
Equation (2)
The values of the user-defined coefficients (h
i
) are assigned via the MPI. Each of the coefficients (h
i
) is defined in
the following general equation:
M
1
–
B
2
2
…
B
N
2
+
+
+
+
=
Equation (3)
where:
M
i
= the number of shifts = M
i
≤
M
i
+ 1
B
i
= sign = ±1
N = number of CSD coefficients.
The value of h
i
in Equation 3 represents a decimal number which is broken down into a sum of successive values of:
±1.0 multiplied by 2
–
0
, or 2
–
1
, or 2
–
2
…
2
–
7
…
or
±1.0 multiplied by 1, or 1/2, or 1/4
…
1/128
…
The limit on the negative powers of 2 is determined by the length of the registers in the ALU.
The coefficient h
i
in Equation 3 can be considered to be a value made up of N binary 1s in a binary register where
the left part represents whole numbers, the right part represents decimal fractions, and a decimal point separates
them. The first binary 1 is shifted M
1
bits to the right of the decimal point; the second binary 1 is shifted M
2
bits to
the right of the decimal point; the third binary 1 is shifted M
3
bits to the right of the decimal point, and so on.
Note that when M
1
is 0, the resulting value is a binary 1 in front of the decimal point, that is, no shift. If M
2
is also 0,
the result is another binary 1 in front of the decimal point, giving a total value of binary 10 in front of the decimal point
(i.e., a decimal value of 2.0). The value of N, therefore, determines the range of values the coefficient h
i
can take
(e.g., if N = 3 the maximum and minimum values are ±3, and if N = 4 the values are between ±4).
Detailed Description of ASLAC Device Coefficients
The CSD coding scheme in the ASLAC device uses a value called m
i
, where m
i
represents the distance shifted right
of the decimal point for the first binary 1. m
2
represents the distance shifted to the right of the previous binary 1, and
m
3
represents the number of shifts to the right of the second binary 1. Note that the range of values determined by
N is unchanged. Equation 3 is now modified (in the case of N = 4) to:
M
1
–
B
2
2
B
3
2
B
4
2
+
+
+
=
Equation (4)
Equation (5)
Equation (6)
HF z
( )
h
0
h
1
z
1
–
h
2
z
2
–
…
h
n
z
n
–
+
+
+
+
=
Hl Z
1
h
n
(
1
+
)
z
--------------1
=
h
i
B
1
2
M
2
–
M
N
–
h
i
B
1
2
M
2
–
M
3
–
M
4
–
h
i
C
1
2
m
1
–
C
1
C
2
2
m
1
m
2
+
(
)
–
C
1
C
2
C
3
2
m
1
m
2
m
3
+
+
(
)
–
C
1
C
2
C
3
C
4
2
m
1
m
2
m
3
m
4
+
+
+
(
)
–
+
+
+
=
h
i
C
1
2
m
1
–
1
C
2
2
m
2
–
1
C
3
2
m
3
–
1
C
4
2
m
4
–
+
(
)
+
[
]
+
=