Академический Документы
Профессиональный Документы
Культура Документы
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 1 / 19
Direct Forms
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
B(z)
Numerator
Summary
MATLAB routines
Structures: 10 2 / 19
Direct Forms
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
B(z)
y[n] =
PM
k=0 b[k]x[n
k]
PN
k=1 a[k]y[n
k]
Numerator
Summary
MATLAB routines
Structures: 10 2 / 19
Direct Forms
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
B(z)
y[n] =
PM
k=0 b[k]x[n
k]
PN
k=1 a[k]y[n
k]
Numerator
Summary
MATLAB routines
Structures: 10 2 / 19
Direct Forms
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
B(z)
y[n] =
PM
k=0 b[k]x[n
k]
PN
k=1 a[k]y[n
k]
Numerator
Summary
MATLAB routines
Structures: 10 2 / 19
Direct Forms
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
B(z)
y[n] =
PM
k=0 b[k]x[n
k]
PN
k=1 a[k]y[n
k]
Numerator
Summary
MATLAB routines
Structures: 10 2 / 19
Direct Forms
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
B(z)
y[n] =
PM
k=0 b[k]x[n
k]
PN
k=1 a[k]y[n
k]
Numerator
Summary
MATLAB routines
Structures: 10 2 / 19
Direct Forms
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
B(z)
y[n] =
PM
k=0 b[k]x[n
k]
PN
k=1 a[k]y[n
k]
Numerator
Summary
MATLAB routines
Structures: 10 2 / 19
Direct Forms
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
B(z)
y[n] =
PM
k=0 b[k]x[n
k]
PN
k=1 a[k]y[n
k]
Numerator
Summary
MATLAB routines
Structures: 10 2 / 19
Direct Forms
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
B(z)
y[n] =
PM
k=0 b[k]x[n
k]
PN
k=1 a[k]y[n
k]
Structures: 10 2 / 19
Transposition
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 3 / 19
Transposition
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 3 / 19
Transposition
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 3 / 19
Transposition
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 3 / 19
Transposition
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 3 / 19
Transposition
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 3 / 19
Transposition
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 3 / 19
Transposition
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 3 / 19
Transposition
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 3 / 19
State Space
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 4 / 19
State Space
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
P=
a[1] 1
a[2] 0
Structures: 10 4 / 19
State Space
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
P=
a[1] 1
a[2] 0
q=
b[1] b[0]a[1]
b[2] b[0]a[2]
Structures: 10 4 / 19
State Space
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
P=
rT =
a[1] 1
a[2] 0
1 0
q=
b[1] b[0]a[1]
b[2] b[0]a[2]
Structures: 10 4 / 19
State Space
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
P=
rT =
a[1] 1
a[2] 0
1 0
q=
b[1] b[0]a[1]
b[2] b[0]a[2]
s = b[0]
Structures: 10 4 / 19
State Space
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
P=
rT =
a[1] 1
a[2] 0
1 0
q=
b[1] b[0]a[1]
b[2] b[0]a[2]
s = b[0]
Structures: 10 4 / 19
State Space
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
H(z) =
B(z)
A(z)
det(zIP+qrT )
det(zIP)
+s1
Numerator
Summary
MATLAB routines
P=
rT =
a[1] 1
a[2] 0
1 0
q=
b[1] b[0]a[1]
b[2] b[0]a[2]
s = b[0]
Structures: 10 4 / 19
State Space
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
H(z) =
B(z)
A(z)
det(zIP+qrT )
det(zIP)
+s1
Numerator
Summary
MATLAB routines
P=
rT =
a[1] 1
a[2] 0
1 0
q=
b[1] b[0]a[1]
b[2] b[0]a[2]
s = b[0]
b[0]z 2 +b[1]z+b[2]
z 2 +a[1]z+a[2]
Structures: 10 4 / 19
State Space
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
H(z) =
B(z)
A(z)
det(zIP+qrT )
det(zIP)
T
+s1
and q r
same H(z)
Numerator
Summary
MATLAB routines
P=
rT =
a[1] 1
a[2] 0
1 0
q=
b[1] b[0]a[1]
b[2] b[0]a[2]
s = b[0]
b[0]z 2 +b[1]z+b[2]
z 2 +a[1]z+a[2]
Structures: 10 4 / 19
Precision Issues
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
If all computations were exact, it would not make any difference which of
the equivalent structures was used.
Numerator
Summary
MATLAB routines
Structures: 10 5 / 19
Precision Issues
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
If all computations were exact, it would not make any difference which of
the equivalent structures was used. However ...
Coefficient precision
Numerator
Summary
MATLAB routines
Structures: 10 5 / 19
Precision Issues
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
If all computations were exact, it would not make any difference which of
the equivalent structures was used. However ...
Coefficient precision
Coefficients are stored to finite precision and so are not exact.
Numerator
Summary
MATLAB routines
Structures: 10 5 / 19
Precision Issues
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
If all computations were exact, it would not make any difference which of
the equivalent structures was used. However ...
Coefficient precision
Coefficients are stored to finite precision and so are not exact.
The filter actually implemented is therefore incorrect.
Numerator
Summary
MATLAB routines
Structures: 10 5 / 19
Precision Issues
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
If all computations were exact, it would not make any difference which of
the equivalent structures was used. However ...
Coefficient precision
Coefficients are stored to finite precision and so are not exact.
The filter actually implemented is therefore incorrect.
Arithmetic precision
Arithmetic calculations are not exact.
Numerator
Summary
MATLAB routines
Structures: 10 5 / 19
Precision Issues
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
If all computations were exact, it would not make any difference which of
the equivalent structures was used. However ...
Coefficient precision
Coefficients are stored to finite precision and so are not exact.
The filter actually implemented is therefore incorrect.
Arithmetic precision
Arithmetic calculations are not exact.
Worst case for arithmetic errors is when calculating the
difference between two similar values:
Numerator
Summary
MATLAB routines
Structures: 10 5 / 19
Precision Issues
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
If all computations were exact, it would not make any difference which of
the equivalent structures was used. However ...
Coefficient precision
Coefficients are stored to finite precision and so are not exact.
The filter actually implemented is therefore incorrect.
Arithmetic precision
Numerator
Summary
MATLAB routines
Structures: 10 5 / 19
Precision Issues
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
If all computations were exact, it would not make any difference which of
the equivalent structures was used. However ...
Coefficient precision
Coefficients are stored to finite precision and so are not exact.
The filter actually implemented is therefore incorrect.
Arithmetic precision
Numerator
Summary
MATLAB routines
Structures: 10 5 / 19
Coefficient Sensitivity
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
The roots of high order polynomials can be very sensitive to small changes
in coefficient values.
Numerator
Summary
MATLAB routines
Structures: 10 6 / 19
Coefficient Sensitivity
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
The roots of high order polynomials can be very sensitive to small changes
in coefficient values.
Wilkinsons polynomial: (famous example)
f (x) =
Q20
20
19
18
(x
n)
=
x
210x
+
20615x
...
n=1
Numerator
Summary
MATLAB routines
Structures: 10 6 / 19
Coefficient Sensitivity
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
The roots of high order polynomials can be very sensitive to small changes
in coefficient values.
Wilkinsons polynomial: (famous example)
f (x) =
Q20
20
19
18
(x
n)
=
x
210x
+
20615x
...
n=1
Numerator
Summary
MATLAB routines
-5
0
10
15
20
25
Structures: 10 6 / 19
Coefficient Sensitivity
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
The roots of high order polynomials can be very sensitive to small changes
in coefficient values.
Wilkinsons polynomial: (famous example)
f (x) =
Q20
20
19
18
(x
n)
=
x
210x
+
20615x
...
n=1
Numerator
Summary
MATLAB routines
-5
0
10
15
20
25
Structures: 10 6 / 19
Coefficient Sensitivity
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
The roots of high order polynomials can be very sensitive to small changes
in coefficient values.
Wilkinsons polynomial: (famous example)
f (x) =
Q20
20
19
18
(x
n)
=
x
210x
+
20615x
...
n=1
Numerator
Summary
MATLAB routines
-5
-5
10
15
20
25
10
15
20
25
Structures: 10 6 / 19
Coefficient Sensitivity
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
The roots of high order polynomials can be very sensitive to small changes
in coefficient values.
Wilkinsons polynomial: (famous example)
f (x) =
Q20
20
19
18
(x
n)
=
x
210x
+
20615x
...
n=1
Numerator
Summary
MATLAB routines
-5
-5
10
15
20
25
10
15
20
25
Structures: 10 6 / 19
Coefficient Sensitivity
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
The roots of high order polynomials can be very sensitive to small changes
in coefficient values.
Wilkinsons polynomial: (famous example)
f (x) =
Q20
20
19
18
(x
n)
=
x
210x
+
20615x
...
n=1
Numerator
Summary
MATLAB routines
-5
-5
10
15
20
25
10
15
20
25
Moral: Avoid using direct form for filters orders over about 10.
Structures: 10 6 / 19
Cascaded Biquads
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Q
(1+bk,1 z1 +bk,2 z2 )
Q
g (1+ak,1 z1 +ak,2 z2 )
Numerator
Summary
MATLAB routines
Structures: 10 7 / 19
Cascaded Biquads
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Q
(1+bk,1 z1 +bk,2 z2 )
Q
g (1+ak,1 z1 +ak,2 z2 ) =
1+bk,1 z 1 +bk,2 z 2
k=1 1+ak,1 z 1 +ak,2 z 2
QK
Numerator
Summary
MATLAB routines
Structures: 10 7 / 19
Cascaded Biquads
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Q
(1+bk,1 z1 +bk,2 z2 )
Q
g (1+ak,1 z1 +ak,2 z2 ) =
1+bk,1 z 1 +bk,2 z 2
k=1 1+ak,1 z 1 +ak,2 z 2
QK
M N
.
where K = max
2 ,
2
Numerator
Summary
MATLAB routines
Structures: 10 7 / 19
Cascaded Biquads
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Q
(1+bk,1 z1 +bk,2 z2 )
Q
g (1+ak,1 z1 +ak,2 z2 ) =
1+bk,1 z 1 +bk,2 z 2
k=1 1+ak,1 z 1 +ak,2 z 2
QK
M N
.
where K = max
2 ,
2
The term
1+bk,1 z 1 +bk,2 z 2
1+ak,1 z 1 +ak,2 z 2
Numerator
Summary
MATLAB routines
Structures: 10 7 / 19
Cascaded Biquads
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Q
(1+bk,1 z1 +bk,2 z2 )
Q
g (1+ak,1 z1 +ak,2 z2 ) =
1+bk,1 z 1 +bk,2 z 2
k=1 1+ak,1 z 1 +ak,2 z 2
QK
M N
.
where K = max
2 ,
2
The term
1+bk,1 z 1 +bk,2 z 2
1+ak,1 z 1 +ak,2 z 2
Numerator
Summary
MATLAB routines
Direct Form II
Transposed
Structures: 10 7 / 19
Cascaded Biquads
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Q
(1+bk,1 z1 +bk,2 z2 )
Q
g (1+ak,1 z1 +ak,2 z2 ) =
1+bk,1 z 1 +bk,2 z 2
k=1 1+ak,1 z 1 +ak,2 z 2
QK
M N
.
where K = max
2 ,
2
The term
1+bk,1 z 1 +bk,2 z 2
1+ak,1 z 1 +ak,2 z 2
We need to choose:
(a) which poles to pair with which zeros in each biquad
Numerator
Summary
MATLAB routines
Direct Form II
Transposed
Structures: 10 7 / 19
Cascaded Biquads
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Q
(1+bk,1 z1 +bk,2 z2 )
Q
g (1+ak,1 z1 +ak,2 z2 ) =
1+bk,1 z 1 +bk,2 z 2
k=1 1+ak,1 z 1 +ak,2 z 2
QK
M N
.
where K = max
2 ,
2
The term
1+bk,1 z 1 +bk,2 z 2
1+ak,1 z 1 +ak,2 z 2
We need to choose:
(a) which poles to pair with which zeros in each biquad
(b) how to order the biquads
Direct Form II
Transposed
Structures: 10 7 / 19
Pole-zero Pairing/Ordering
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
1
0.5
0
-0.5
-1
-1
0
z
Numerator
Summary
MATLAB routines
Gain (dB)
20
0
-20
-40
0
0.5
1.5
2.5
Structures: 10 8 / 19
Pole-zero Pairing/Ordering
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
1
0.5
0
-0.5
-1
-1
0
z
Numerator
Summary
MATLAB routines
Gain (dB)
20
0
-20
-40
0
0.5
1.5
2.5
Structures: 10 8 / 19
Pole-zero Pairing/Ordering
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
1
0.5
0
-0.5
-1
-1
0
z
Numerator
Summary
MATLAB routines
Gain (dB)
20
0
-20
-40
0
0.5
1.5
2.5
Structures: 10 8 / 19
Pole-zero Pairing/Ordering
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
1
0.5
0
-0.5
-1
-1
0
z
Numerator
Summary
MATLAB routines
Gain (dB)
20
0
-20
-40
0
0.5
1.5
2.5
Structures: 10 8 / 19
Pole-zero Pairing/Ordering
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
1
0.5
0
-0.5
-1
-1
0
z
Numerator
Summary
MATLAB routines
Gain (dB)
20
0
-20
-40
0
0.5
1.5
2.5
Structures: 10 8 / 19
Pole-zero Pairing/Ordering
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
1
0.5
0
-0.5
-1
-1
0
z
Numerator
Summary
MATLAB routines
Nearest
Gain (dB)
20
0
-20
-40
0
0.5
1.5
2.5
Structures: 10 8 / 19
Pole-zero Pairing/Ordering
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
1
0.5
0
-0.5
-1
-1
0
z
Numerator
Summary
MATLAB routines
Nearest
Gain (dB)
20
0
-20
-40
0
0.5
1.5
2.5
Structures: 10 8 / 19
Pole-zero Pairing/Ordering
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
1
0.5
0
-0.5
-1
-1
0
z
Numerator
Summary
MATLAB routines
Nearest
0
-20
-40
0
0.5
1.5
2.5
Farthest
20
Gain (dB)
Gain (dB)
20
0
-20
-40
0
0.5
1.5
2.5
Structures: 10 8 / 19
Pole-zero Pairing/Ordering
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
1
0.5
0
-0.5
-1
-1
0
z
Numerator
Poles near the unit circle have the highest peaks and introduce most
Summary
MATLAB routines
0
-20
-40
0
0.5
1.5
2.5
Farthest
20
Gain (dB)
Gain (dB)
20
0
-20
-40
0
0.5
1.5
2.5
Structures: 10 8 / 19
Linear Phase
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 9 / 19
Linear Phase
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 9 / 19
Linear Phase
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
H(z) =
PM
m
h[m]z
m=0
h[M m] = h[m]
Numerator
Summary
MATLAB routines
Structures: 10 9 / 19
Linear Phase
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
PM
m
h[M m] = h[m]
h[m]z
m=0
M M P M2 1
m
mM
= h 2 z 2 + m=0 h[m] z
+z
H(z) =
[m even]
Numerator
Summary
MATLAB routines
Structures: 10 9 / 19
Linear Phase
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
PM
m
h[M m] = h[m]
h[m]z
m=0
M M P M2 1
m
mM
= h 2 z 2 + m=0 h[m] z
+z
H(z) =
[m even]
Numerator
Summary
MATLAB routines
M = 6:
Structures: 10 9 / 19
Linear Phase
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
PM
m
h[M m] = h[m]
h[m]z
m=0
M M P M2 1
m
mM
= h 2 z 2 + m=0 h[m] z
+z
H(z) =
[m even]
Numerator
Summary
MATLAB routines
M = 6:
1
For M odd (no central coefficient), we only need M
+
2
2 multiplies.
Structures: 10 9 / 19
Hardware Implementation
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Software Implementation:
All that matters is the total number of multiplies and adds
Numerator
Summary
MATLAB routines
Structures: 10 10 / 19
Hardware Implementation
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Software Implementation:
All that matters is the total number of multiplies and adds
Hardware Implementation:
Delay elements (z 1 ) represent storage registers
The maximum clock speed is limited by the number of sequential
operations between registers
Numerator
Summary
MATLAB routines
Structures: 10 10 / 19
Hardware Implementation
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Software Implementation:
All that matters is the total number of multiplies and adds
Hardware Implementation:
Delay elements (z 1 ) represent storage registers
The maximum clock speed is limited by the number of sequential
operations between registers
Example: Symmetric Linear Phase Filter
Direct form: Maximum sequential delay = 4a + m
Numerator
Summary
MATLAB routines
Structures: 10 10 / 19
Hardware Implementation
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Software Implementation:
All that matters is the total number of multiplies and adds
Hardware Implementation:
Delay elements (z 1 ) represent storage registers
The maximum clock speed is limited by the number of sequential
operations between registers
Example: Symmetric Linear Phase Filter
Direct form: Maximum sequential delay = 4a + m
Transpose form: Maximum sequential delay = a + m ,
a and m are the delays of adder and multiplier respectively
Summary
MATLAB routines
Structures: 10 10 / 19
Allpass Filters
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
b[n] = a[N n]
Numerator
Summary
MATLAB routines
Structures: 10 11 / 19
Allpass Filters
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
b[n] = a[N n]
B(z) = z N A(z 1 )
Numerator
Summary
MATLAB routines
Structures: 10 11 / 19
Allpass Filters
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
b[n] = a[N n]
j
H(e ) 1
B(z) = z N A(z 1 )
Numerator
Summary
MATLAB routines
Structures: 10 11 / 19
Allpass Filters
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
b[n] = a[N n]
j
H(e ) 1
B(z) = z N A(z 1 )
Numerator
Summary
MATLAB routines
Structures: 10 11 / 19
Allpass Filters
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
b[n] = a[N n]
j
H(e ) 1
B(z) = z N A(z 1 )
a[1]+z 1
1+a[1]z 1
Numerator
Summary
MATLAB routines
Structures: 10 11 / 19
Allpass Filters
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
b[n] = a[N n]
j
H(e ) 1
B(z) = z N A(z 1 )
a[1]+z 1
1+a[1]z 1
a[2]+a[1]z 1 +z 2
1+a[1]z 1 +a[2]z 2
Numerator
Summary
MATLAB routines
Structures: 10 11 / 19
Allpass Filters
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
b[n] = a[N n]
j
H(e ) 1
B(z) = z N A(z 1 )
a[1]+z 1
1+a[1]z 1
a[2]+a[1]z 1 +z 2
1+a[1]z 1 +a[2]z 2
Numerator
Summary
MATLAB routines
Structures: 10 11 / 19
Lattice Stage
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z N A(z 1 )
A(z)
Numerator
Summary
MATLAB routines
Structures: 10 12 / 19
Lattice Stage
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z N A(z 1 )
A(z)
Numerator
Summary
MATLAB routines
Structures: 10 12 / 19
Lattice Stage
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z N A(z 1 )
A(z)
1
1+kGz 1 X(z)
Numerator
Summary
MATLAB routines
Structures: 10 12 / 19
Lattice Stage
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z N A(z 1 )
A(z)
1
1+kGz 1 X(z)
Numerator
Summary
MATLAB routines
Structures: 10 12 / 19
Lattice Stage
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z N A(z 1 )
A(z)
1
1+kGz 1 X(z)
Y (z) = kV (z) + Gz
V (z) =
k+z 1 G
1+kGz 1 X(z)
Numerator
Summary
MATLAB routines
Structures: 10 12 / 19
Lattice Stage
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z N A(z 1 )
A(z)
1
1+kGz 1 X(z)
Y (z) = kV (z) + Gz
If |k| < 1 then
Y (z)
X(z)
V (z) =
k+z 1 G
1+kGz 1 X(z)
j j
<1
is stable since kG(e )e
Numerator
Summary
MATLAB routines
Structures: 10 12 / 19
Lattice Stage
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z N A(z 1 )
A(z)
1
1+kGz 1 X(z)
Y (z) = kV (z) + Gz
If |k| < 1 then
Y (z)
X(z)
Y (z)
X(z)
V (z) =
k+z 1 G
1+kGz 1 X(z)
j j
<1
is stable since kG(e )e
kA(z)+z N 1 A(z 1 )
A(z)+kz N 1 A(z 1 )
Numerator
Summary
MATLAB routines
Structures: 10 12 / 19
Lattice Stage
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z N A(z 1 )
A(z)
1
1+kGz 1 X(z)
Y (z) = kV (z) + Gz
If |k| < 1 then
Y (z)
X(z)
Y (z)
X(z)
V (z) =
k+z 1 G
1+kGz 1 X(z)
j j
<1
is stable since kG(e )e
kA(z)+z N 1 A(z 1 )
A(z)+kz N 1 A(z 1 )
z (N +1) D(z 1 )
D(z)
Numerator
Summary
MATLAB routines
Structures: 10 12 / 19
Lattice Stage
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
z N A(z 1 )
A(z)
1
1+kGz 1 X(z)
Y (z) = kV (z) + Gz
If |k| < 1 then
Y (z)
X(z)
Y (z)
X(z)
V (z) =
k+z 1 G
1+kGz 1 X(z)
j j
<1
is stable since kG(e )e
kA(z)+z N 1 A(z 1 )
A(z)+kz N 1 A(z 1 )
z (N +1) D(z 1 )
D(z)
Obtaining {d[n]}
from {a[n]}:
n=0
1
d[n] = a[n] + ka[N + 1 n] 1 n N
k
n=N +1
Structures: 10 12 / 19
Lattice Stage
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
z N A(z 1 )
A(z)
1
1+kGz 1 X(z)
Y (z) = kV (z) + Gz
If |k| < 1 then
Y (z)
X(z)
Y (z)
X(z)
V (z) =
k+z 1 G
1+kGz 1 X(z)
j j
<1
is stable since kG(e )e
kA(z)+z N 1 A(z 1 )
A(z)+kz N 1 A(z 1 )
z (N +1) D(z 1 )
D(z)
Obtaining {d[n]}
from {a[n]}:
n=0
1
d[n] = a[n] + ka[N + 1 n] 1 n N
k
n=N +1
k = d[N + 1]
DSP and Digital Filters (2014-5560)
a[n] =
d[n]kd[N +1n]
1k2
Structures: 10 12 / 19
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
A(z) = 1 + 4z 1 6z 2 + 10z 3
k = 0.5, N = 3
Numerator
Summary
MATLAB routines
Structures: 10 13 / 19
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
A(z) = 1 + 4z 1 6z 2 + 10z 3
k = 0.5, N = 3
A(z) D(z)
A(z)
z 4 A(z 1 )
D(z) = A(z) + kz 4 A(z 1 )
z0
1
1
z 1
4
10
9
z 2
6
6
9
z 3
10
4
12
z 4
1
0.5
Numerator
Summary
MATLAB routines
Structures: 10 13 / 19
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
A(z) = 1 + 4z 1 6z 2 + 10z 3
k = 0.5, N = 3
A(z) D(z)
z0
1
A(z)
z 4 A(z 1 )
D(z) = A(z) + kz 4 A(z 1 )
z 1
4
10
9
z 2
6
6
9
z 3
10
4
12
z 4
1
0.5
D(z) A(z)
D(z)
k = d[N + 1]
z 4 D(z 1 )
D(z) kz 4 D(z 1 )
A(z) =
D(z)kz 4 D(z 1 )
1k2
z0
1
z 1
9
z 2
9
z 3
12
0.5
0.75
12
3
9
4.5
9
7.5
z 4
0.5
0.5
1
0
10
Structures: 10 13 / 19
Allpass Lattice
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z M A(z 1 )
A(z)
as a lattice filter
with M stages:
Numerator
Summary
MATLAB routines
Structures: 10 14 / 19
Allpass Lattice
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z M A(z 1 )
A(z)
as a lattice filter
with M stages:
Numerator
Summary
MATLAB routines
Structures: 10 14 / 19
Allpass Lattice
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z M A(z 1 )
A(z)
as a lattice filter
with M stages:
Numerator
Summary
MATLAB routines
Structures: 10 14 / 19
Allpass Lattice
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z M A(z 1 )
A(z)
as a lattice filter
with M stages:
Numerator
Summary
MATLAB routines
Structures: 10 14 / 19
Allpass Lattice
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z M A(z 1 )
A(z)
as a lattice filter
with M stages:
am [n]k[m]am [mn]
1k2 [m]
for 0 n m 1
Numerator
Summary
MATLAB routines
Structures: 10 14 / 19
Allpass Lattice
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z M A(z 1 )
A(z)
as a lattice filter
with M stages:
am [n]k[m]am [mn]
1k2 [m]
for 0 n m 1
Am (z)k[m]z m Am (z 1 )
1k2 [m]
Numerator
Summary
MATLAB routines
Structures: 10 14 / 19
Allpass Lattice
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
z M A(z 1 )
A(z)
as a lattice filter
with M stages:
am [n]k[m]am [mn]
1k2 [m]
for 0 n m 1
Am (z)k[m]z m Am (z 1 )
1k2 [m]
Numerator
Summary
MATLAB routines
A(z) is stable iff |k[m]| < 1 for all m (good stability test)
Structures: 10 14 / 19
Lattice Filter
Vm (z)
Um (z)
z m Am (z 1 )
Am (z)
Structures: 10 15 / 19
Lattice Filter
Vm (z)
Um (z)
z m Am (z 1 )
Am (z)
1
1+k[m]z 1 Hm1 (z)
Structures: 10 15 / 19
Lattice Filter
Vm (z)
Um (z)
z m Am (z 1 )
Am (z)
1
1+k[m]z 1 H
m1 (z)
Am1 (z)
Am1 (z)+k[m]z m Am1 (z 1 )
Structures: 10 15 / 19
Lattice Filter
Vm (z)
Um (z)
z m Am (z 1 )
Am (z)
1
1+k[m]z 1 H
m1 (z)
Am1 (z)
Am1 (z)+k[m]z m Am1 (z 1 )
Am1 (z)
Am (z)
Structures: 10 15 / 19
Lattice Filter
Vm (z)
Um (z)
z m Am (z 1 )
Am (z)
1
1+k[m]z 1 H
m1 (z)
Am1 (z)
Am1 (z)+k[m]z m Am1 (z 1 )
Am1 (z)
Am (z)
Hence:
Um (z)
X(z)
Am (z)
A(z)
Structures: 10 15 / 19
Lattice Filter
Vm (z)
Um (z)
z m Am (z 1 )
Am (z)
1
1+k[m]z 1 H
m1 (z)
Am1 (z)
Am1 (z)+k[m]z m Am1 (z 1 )
Am1 (z)
Am (z)
Hence:
Um (z)
X(z)
Am (z)
A(z)
and
Vm (z)
X(z)
Um (z)
X(z)
Vm (z)
Um (z)
Structures: 10 15 / 19
Lattice Filter
Vm (z)
Um (z)
z m Am (z 1 )
Am (z)
1
1+k[m]z 1 H
m1 (z)
Am1 (z)
Am1 (z)+k[m]z m Am1 (z 1 )
Am1 (z)
Am (z)
Hence:
Um (z)
X(z)
Am (z)
A(z)
and
Vm (z)
X(z)
Um (z)
X(z)
Vm (z)
Um (z)
z m Am (z 1 )
A(z)
Structures: 10 15 / 19
Lattice Filter
Vm (z)
Um (z)
z m Am (z 1 )
Am (z)
1
1+k[m]z 1 H
m1 (z)
Am1 (z)
Am1 (z)+k[m]z m Am1 (z 1 )
Am1 (z)
Am (z)
Hence:
Um (z)
X(z)
Am (z)
A(z)
and
Vm (z)
X(z)
Um (z)
X(z)
Vm (z)
Um (z)
z m Am (z 1 )
A(z)
V (z)
m
is of order m so you can create any numerator of order M by
The numerator of X(z)
summing appropriate multiples of Vm (z):
w[n] =
PM
m=0 cm vm [n]
Structures: 10 15 / 19
Lattice Filter
Vm (z)
Um (z)
z m Am (z 1 )
Am (z)
1
1+k[m]z 1 H
m1 (z)
Am1 (z)
Am1 (z)+k[m]z m Am1 (z 1 )
Am1 (z)
Am (z)
Hence:
Um (z)
X(z)
Am (z)
A(z)
and
Vm (z)
X(z)
Um (z)
X(z)
Vm (z)
Um (z)
z m Am (z 1 )
A(z)
V (z)
m
is of order m so you can create any numerator of order M by
The numerator of X(z)
summing appropriate multiples of Vm (z):
w[n] =
PM
m=0 cm vm [n]
W (z) =
PM
m=0
cm z m Am (z 1 )
A(z)
Structures: 10 15 / 19
Lattice Example
Structures: 10 16 / 19
Lattice Example
Structures: 10 16 / 19
Lattice Example
k[2] = 0.281 a1 [ ] =
= [1, 0.357]
Structures: 10 16 / 19
Lattice Example
k[2] = 0.281 a1 [ ] =
= [1, 0.357]
k[1] = 0.357 a0 [ ] = 1
Structures: 10 16 / 19
Lattice Example
k[2] = 0.281 a1 [ ] =
= [1, 0.357]
k[1] = 0.357 a0 [ ] = 1
V0 (z)
X(z)
1
1+0.2z 1 0.23z 2 +0.2z 3
Structures: 10 16 / 19
Lattice Example
k[2] = 0.281 a1 [ ] =
= [1, 0.357]
k[1] = 0.357 a0 [ ] = 1
V0 (z)
X(z)
1
1
1+0.2z 0.23z 2 +0.2z 3
V1 (z)
X(z)
0.357+z 1
1+0.2z 1 0.23z 2 +0.2z 3
Structures: 10 16 / 19
Lattice Example
k[2] = 0.281 a1 [ ] =
= [1, 0.357]
k[1] = 0.357 a0 [ ] = 1
V0 (z)
X(z)
1
1
1+0.2z 0.23z 2 +0.2z 3
V2 (z)
X(z)
0.281+0.256z 1 +z 2
1+0.2z 1 0.23z 2 +0.2z 3
V1 (z)
X(z)
0.357+z 1
1+0.2z 1 0.23z 2 +0.2z 3
Structures: 10 16 / 19
Lattice Example
k[2] = 0.281 a1 [ ] =
= [1, 0.357]
k[1] = 0.357 a0 [ ] = 1
V0 (z)
X(z)
V2 (z)
X(z)
1
1
1+0.2z 0.23z 2 +0.2z 3
V1 (z)
X(z)
0.357+z 1
1+0.2z 1 0.23z 2 +0.2z 3
0.281+0.256z 1 +z 2
1+0.2z 1 0.23z 2 +0.2z 3
V3 (z)
X(z)
0.20.23z 1 +0.2z 2 +z 3
1+0.2z 1 0.23z 2 +0.2z 3
Structures: 10 16 / 19
Lattice Example
k[2] = 0.281 a1 [ ] =
= [1, 0.357]
k[1] = 0.357 a0 [ ] = 1
V0 (z)
X(z)
V2 (z)
X(z)
1
1
1+0.2z 0.23z 2 +0.2z 3
V1 (z)
X(z)
0.357+z 1
1+0.2z 1 0.23z 2 +0.2z 3
0.281+0.256z 1 +z 2
1+0.2z 1 0.23z 2 +0.2z 3
V3 (z)
X(z)
0.20.23z 1 +0.2z 2 +z 3
1+0.2z 1 0.23z 2 +0.2z 3
V (z)
B(z)
m
to create an arbitrary 1+0.2z 1 0.23z 2 +0.2z 3
Add together multiples of X(z)
Structures: 10 16 / 19
PM
m=0 cm vm [n]
Structures: 10 17 / 19
W (z) =
PM
m=0 cm Vm (z) =
B(z)
1
1+0.2z 0.23z 2 +0.2z 3 X(z)
PM
m=0 cm vm [n]
Structures: 10 17 / 19
W (z) =
PM
m=0 cm Vm (z) =
B(z)
1
1+0.2z 0.23z 2 +0.2z 3 X(z)
V0 (z)
X(z)
V2 (z)
X(z)
PM
m=0 cm vm [n]
1
1+0.2z 1 0.23z 2 +0.2z 3
V1 (z)
X(z)
0.281+0.256z 1 +z 2
1+0.2z 1 0.23z 2 +0.2z 3
V3 (z)
X(z)
0.357+z 1
1+0.2z 1 0.23z 2 +0.2z 3
0.20.23z 1 +0.2z 2 +z 3
1+0.2z 1 0.23z 2 +0.2z 3
Structures: 10 17 / 19
W (z) =
PM
m=0 cm Vm (z) =
B(z)
1
1+0.2z 0.23z 2 +0.2z 3 X(z)
V0 (z)
X(z)
V2 (z)
X(z)
PM
m=0 cm vm [n]
1
1+0.2z 1 0.23z 2 +0.2z 3
V1 (z)
X(z)
0.281+0.256z 1 +z 2
1+0.2z 1 0.23z 2 +0.2z 3
V3 (z)
X(z)
b[0]
b[1]
We have
b[2]
b[3]
0.357+z 1
1+0.2z 1 0.23z 2 +0.2z 3
0.20.23z 1 +0.2z 2 +z 3
1+0.2z 1 0.23z 2 +0.2z 3
c0
1 0.357 0.281
0.2
0
1
0.256 0.23
c1
=
0
0
1
0.2 c2
c3
0
0
0
1
Structures: 10 17 / 19
W (z) =
PM
m=0 cm Vm (z) =
B(z)
1
1+0.2z 0.23z 2 +0.2z 3 X(z)
V0 (z)
X(z)
V2 (z)
X(z)
PM
m=0 cm vm [n]
1
1+0.2z 1 0.23z 2 +0.2z 3
V1 (z)
X(z)
0.281+0.256z 1 +z 2
1+0.2z 1 0.23z 2 +0.2z 3
V3 (z)
X(z)
b[0]
b[1]
We have
b[2]
b[3]
1 0.357
0
1
=
0
0
0
0
c0
c1
Hence choose cm as
c2 =
c3
0.357+z 1
1+0.2z 1 0.23z 2 +0.2z 3
0.20.23z 1 +0.2z 2 +z 3
1+0.2z 1 0.23z 2 +0.2z 3
c0
0.281
0.2
0.256 0.23
c1
1
0.2 c2
c3
0
1
1
1 0.357 0.281
0.2
0
1
0.256 0.23
0
0
1
0.2
0
0
0
1
b[0]
b[1]
b[2]
b[3]
Structures: 10 17 / 19
Summary
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 18 / 19
Summary
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 18 / 19
Summary
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 18 / 19
Summary
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 18 / 19
Summary
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
Numerator
Summary
MATLAB routines
Structures: 10 18 / 19
MATLAB routines
10: Digital Filter Structures
Direct Forms
Transposition
State Space
Precision Issues
Coefficient Sensitivity
Cascaded Biquads
Pole-zero Pairing/Ordering
Linear Phase
Hardware Implementation
Allpass Filters
Lattice Stage
Example
A(z) D(z)
Allpass Lattice
Lattice Filter
Lattice Example
Lattice Example
residuez
tf2sos,sos2tf
zp2sos,sos2zp
zp2ss,ss2zp
tf2ss,ss2tf
poly
b(z 1)
a(z 1 )
b(z 1)
a(z 1 )
k 1prkkz1
Q b0,l +b1,l z1 +b2,l z2
{zm , pk , g}
l 1+a1,l z 1 +a2,l z 2
Q b0,l +b1,l z1 +b2,l z2
l 1+a1,l z 1 +a2,l z 2
(
x = Ax + Bu
{zm , pk , g}
y = Cx + Du
(
x = Ax + Bu
b(z 1)
a(z 1 )
y = Cx + Du
poly(A) = det (zIA)
Numerator
Summary
MATLAB routines
Structures: 10 19 / 19