
56
Am79Q02/021/031 Data Sheet
PROGRAMMABLE FILTERS
General Description of CSD Coefficients
The filter functions are performed by a series of
multiplications and accumulations. A multiplication
occurs by repeatedly shifting the multiplicand and
summing the result with the previous value at that
summation node. The method used in the QSLAC
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 the IIR part of Z and B filters:
Equation 2
The transfer function of the IIR part of the R filter is:
Equation 3
The values of the user-defined coefficients (hi) are
assigned via the MPI. Each of the coefficients (hi) is
defined in the following general equation:
Equation 4
where:
Mi = the number of shifts = Mi
≤ Mi + 1
Bi = sign = ±1
N = number of CSD coefficients.
hi in Equation 4 represents a decimal number, broken
down into a sum of successive values of:
1)
±1.0 multiplied by 2–0, or 2–1, or 2–2 … 2–7 …
2)
±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 hi in Equation 4 is a value made up of
N binary 1s in a binary register where the left part
represents whole numbers, the right part decimal
fractions, and a decimal point separates them. The
first binary 1 is shifted M1 bits to the right of the decimal
point; the second binary 1 is shifted M2 bits to the right
of the decimal point; the third binary 1 is shifted M3 bits
to the right of the decimal point, and so on.
When M1 is 0, the value is a binary 1 in front of the
decimal point, that is, no shift. If M2 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 hi 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 QSLAC Device Coefficients
The CSD coding scheme in the QSLAC device uses a value called mi, where m1 represents the distance shifted
right of the decimal point for the first binary 1. m2 represents the distance shifted to the right of the previous binary
1, and m3 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 4 is now modified (in the case of N = 4) to:
Equation 5
Equation 6
Equation 7
where:
M1 = m1
B1 = C1
M2 = m1 + m2
B2 = C1 C2
M3 = m1 + m2 + m3
B3 = C1 C2 C3
M4 = m1 + m2 + m3 + m4
B4 = C1 C2 C3 C4
HF z
() h
0
h
1z
1
–
h
2z
2
–
… h
nz
n
–
+++
+
=
HI z
()
1
1h
n1
+
()z
1
–
-------------------------------
=
HI z
()
1z
1
–
1h
n1
+
()z
1
–
-------------------------------
=
h
i
B
12
M1
–
B
22
M2
–
… B
N2
MN
–
++
+
=
h
i
B
12
m1
–
B
22
m2
–
B
32
m3
–
B
4 2
m4
–
++
+
=
h
i
C1
2
m1
–
C1
C
22
m1
m2
+
()
–
C1
C
2C
32
m1
m2
m3
++
()
–
C1
C2
C3
C4
2
m1
m2
m3
m4
+++
()
–
++
+
=
h
i
C1
2
m1
–
1C2
2
m2
–
1C3
2
m3
–
1C4
2
m4
–
+
()
+
[]
+
{}
=