Structures for Discrete-Time Systems 主講人:虞台文
Content Introduction Block Diagram Representation Signal Flow Graph Basic Structure for IIR Systems Transposed Forms Basic Structure for FIR Systems Lattice Structures
Structures for Discrete-Time Systems Introduction
Characterize an LTI System Impulse Response z-Transform Difference Equation
Example Noncomputable Computable
Basic Operations Addition Multiplication Delay In fact, there are unlimited variety of computational structures. Computable
Why Implement Using Different Structures? Finite-precision number representation of a digital computer. Truncation or rounding error. Modeling methods: Block Diagram Signal Flow Graph
Block Diagram Representation + x1(n) x2(n) x1(n) + x2(n) Adder x(n) a ax(n) Multiplier x(n) x(n1) z1 Unit Delay
Example + b a1 z1 a2 x(n) y(n) y(n1) y(n2)
Higher-Order Difference Equations
Block Diagram Representation (Direct Form I) + z1 b0 b1 bM1 bM x(n) x(n1) x(n2) x(nM) a1 aN1 aN y(n) y(n1) y(n2) y(nM) v(n)
Block Diagram Representation (Direct Form I) + z1 b0 b1 bM1 bM x(n) x(n1) x(n2) x(nM) a1 aN1 aN y(n) y(n1) y(n2) y(nM) v(n)
Block Diagram Representation (Direct Form I) + z1 b0 b1 bM1 bM x(n) x(n1) x(n2) x(nM) a1 aN1 aN y(n) y(n1) y(n2) y(nM) v(n)
Block Diagram Representation (Direct Form I) Implementing zeros Implementing poles Block Diagram Representation (Direct Form I) + z1 b0 b1 bM1 bM x(n) x(n1) x(n2) x(nM) a1 aN1 aN y(n) y(n1) y(n2) y(nM) v(n)
Block Diagram Representation (Direct Form I) How many Adders? How many multipliers? How many delays? Block Diagram Representation (Direct Form I) + z1 b0 b1 bM1 bM x(n) x(n1) x(n2) x(nM) a1 aN1 aN y(n) y(n1) y(n2) y(nM) v(n)
Block Diagram Representation (Direct Form II) + z1 b0 b1 bN1 bN x(n) a1 aN1 aN y(n) w(n1) w(n2) w(nN) w(n) Assume M = N
Block Diagram Representation (Direct Form II) + z1 b0 b1 bN1 bN x(n) a1 aN1 aN y(n) w(n1) w(n2) w(nN) w(n) Assume M = N
Block Diagram Representation (Direct Form II) Implementing poles Implementing zeros Block Diagram Representation (Direct Form II) + z1 b0 b1 bN1 bN x(n) a1 aN1 aN y(n) w(n1) w(n2) w(nN) w(n) Assume M = N
Block Diagram Representation (Direct Form II) How many Adders? How many multipliers? How many delays? Block Diagram Representation (Direct Form II) + z1 b0 b1 bN1 bN x(n) a1 aN1 aN y(n) w(n1) w(n2) w(nN) w(n) Assume M = N
Block Diagram Representation (Canonic Direct Form) + b0 b1 bN1 bN x(n) z1 a1 aN1 aN y(n) Assume M = N
Block Diagram Representation (Canonic Direct Form) How many Adders? How many multipliers? How many delays? max(M, N) Block Diagram Representation (Canonic Direct Form) + b0 b1 bN1 bN x(n) z1 a1 aN1 aN y(n) Assume M = N
Structures for Discrete-Time Systems Signal Flow Graph
Nodes And Branches wj(n) wk(n) Associated with each node is a variable or node value. wj(n) wk(n)
Nodes And Branches Input wj(n) wj(n) wk(n) Brach (j, k) Output: A linear transformation of input, such as constant gain and unit delay. wj(n) wk(n) Brach (j, k) Each branch has an input signal and an output signal.
More on Nodes wj(n) wk(n) An internal node serves as a summer, i.e., its value is the sum of outputs of all branches entering the node. wj(n) wk(n)
Source Nodes Nodes without entering branches xj(n) wk(n) Source node j
Sink Nodes yk(n) wj(n) Nodes that have only entering branches Sink node k
Example x(n) y(n) w1(n) w2(n) a b c d e Source Node Sink Node
Block Diagram vs. Signal Flow Graph x(n) w(n) y(n) + a z1 b1 b0 a b1 b0 z1 1 2 3 4 w1(n) x(n) y(n) w2(n) w3(n) w4(n)
Block Diagram vs. Signal Flow Graph x(n) + a z1 b1 b0 w(n) y(n) w1(n) w2(n) w3(n) 1 2 3 4 w4(n)
Block Diagram vs. Signal Flow Graph
Structures for Discrete-Time Systems Basic Structure for IIR Systems
Criteria Reduce the number of constant multipliers Increase speed Reduce the number of delays Reduce the memory requirement Modularity: VLSI design The effects of finite register length and finite-precision arithmetic.
Basic Structures Direct Forms Cascade Form Parallel Form
Direct Forms
Direct Form I x(n) v(n) y(n) b0 b1 x(n1) x(n2) x(nN) b2 bN-1 bN a1 a2 aN-1 aN y(n1) y(n2) y(nN) y(nN+1) z1 v(n)
Direct Form I x(n) v(n) y(n) b0 b1 x(n1) x(n2) x(nN) b2 bN-1 bN a1 a2 aN-1 aN y(n1) y(n2) y(nN) y(nN+1) z1 v(n)
Direct Form II x(n) y(n) w(n) b0 b1 b2 bN-1 bN a1 a2 aN-1 aN z1
Direct Form II x(n) y(n) w(n) b0 b1 b2 bN-1 bN a1 a2 aN-1 aN z1
Example x(n) y(n) x(n) y(n) Direct Form I Direct Form II z1 2 0.75 0.125 x(n) y(n) z1 2 Direct Form II 0.75 0.125
Cascade Form
Cascade Form
Cascade Form 2nd Order System
Cascade Form x(n) y(n) z1 a11 a21 b11 b21 b01 z1 a12 a22 b12 b22 b01
Another Cascade Form
Parallel Form
Parallel Form Group Real Poles Complex Poles Poles at zero Real Poles
Parallel Form z1 a1k a2k e0k e1k
Parallel Form x(n) y(n)
Example 8 x(n) y(n) z1 0.75 0.125 7
Example z1 0.5 18 8 x(n) y(n) 0.25 25
Structures for Discrete-Time Systems Transposed Forms
Signal Flow Graph Transformation To transform signal graphs into different forms while leaving the overall system function between input and output unchanged.
Transposition of Signal Flow Graph Reverse the directions of all arrows. Changes the roles of input and output. z1 a z1 a x(n) y(n) y(n) x(n)
Transposition of Signal Flow Graph Are there any relations between the two systems? x(n) y(n) z1 a
Example: x(n) y(n) z1 a y(n) x(n) x(n) y(n) z1 a z1 a
Transposition of Signal Flow Graph Reverse the directions of all arrows. Changes the roles of input and output. x(n) y(n) z1 a Detail proof see reference
Structures for Discrete-Time Systems Basic Structure for FIR Systems
FIR For causal FIR systems, the system function has only zeros.
Direct Form x(n) y(n) z1 h(0) h(1) h(2) h(M1) h(M)
Direct Form x(n) y(n) y(n) x(n) z1 h(0) h(1) h(2) h(M1) h(M) z1
Direct Form x(n) y(n) y(n) x(n) z1 h(0) h(1) h(2) h(M1) h(M) z1
Cascade Form
Cascade Form x(n) y(n) z1 b01 b11 b21 b02 b12 b22 b1Ms b2Ms b0Ms
Structures for Linear Phase Systems A generalized linear phase system satisfies: h(Mn) = h(n) for n = 0,1,…,M or h(Mn) = h(n) for n = 0,1,…,M M is even M is odd h(Mn) = h(n) h(Mn) = h(n) Type I Type II Type III Type VI
Type I
Type I x(n) y(n) z1 h(M/2) h(M/21) h(0) h(1) h(2)
Type II, III and VI Construct them in a similar manner by yourselves.
Structures for Discrete-Time Systems Lattice Structures
Consider x(n)=(n), one will see FIR Lattice
Consider x(n)=(n), one will see FIR Lattice
Consider x(n)=(n), one will see FIR Lattice
Define Consider x(n)=(n), one will see FIR Lattice
Define FIR Lattice Show that
FIR Lattice FIR Lattice i=1: Show that
FIR Lattice FIR Lattice i = n: Assumed true i = n+1 also true. Prove i = n+1 also true. Show that
FIR Lattice FIR Lattice =
FIR Lattice FIR Lattice
FIR Lattice FIR Lattice Given the lattice, to find A(z). m=0 k1 k2 k3
FIR Lattice FIR Lattice Given A(z), to find the lattice. m=0 m=1 m=2
FIR Lattice FIR Lattice Given A(z), to find the lattice. m=0 m=1 m=2
Example 1 m=0 m=1 m=2 m=3 0.6728 0.7952 0.9 0.1820 0.64 0.576
Example 0.576 0.1820 0.6728 1 m=0 m=1 m=2 m=3 0.6728 0.7952 0.1820 0.9 0.64 0.576
Inverse Filter
All-Pole Filter
All-Pole Filter
All-Pole Filter
All-Pole Filter
Example 0.576 0.1820 0.6728 0.6728 0.6728 0.1820 0.1820 0.576 0.576
Example 0.9 0.64 0.576 0.6728 0.6728 0.1820 0.1820 0.576 0.576
Stability of All-Pole Filter All zeros of A(z) have to lie within the unit circle. Necessary and sufficient conditions: All of k-parameters ki’s satisfy |ki| < 1.
Normalized Lattice
Normalized Lattice
Normalized Lattice Section i
Normalized Lattice Section i Section N N1 1
Normalized Lattice Section i Three-Multiplier Form
Normalized Lattice Four-Multiplier, Kelly-Lochbaum Form Three-Multiplier Form Four-Multiplier, Normalized Form
Normalized Lattice Three-Multiplier Form Section N N1 1
Normalized Lattice Four-Multiplier, Normalized Form Section N N1 1
Normalized Lattice Four-Multiplier, Kelly-Lochbaum Form Section N N1
Lattice Systems with Poles and Zeros Section N1 1 N c0 c1 cN2 cN1 cN
Lattice Systems with Poles and Zeros Section N1 1 N c0 c1 cN2 cN1 cN
Lattice Systems with Poles and Zeros
Example 0.6728 0.6728 0.1820 0.1820 0.576 0.576 c3 c2 c1 c0
Example 1 c3 c2 c1 c0 m=0 m=1 m=2 m=3 0.6728 0.7952 0.1820 0.9 0.64 0.6728 0.1820 0.1820 0.576 0.576 c3 c2 c1 c0 Example 1 m=0 m=1 m=2 m=3 0.6728 0.7952 0.1820 0.9 0.64 0.576
Example 0.6728 0.6728 0.1820 0.1820 0.576 0.576 1 3.9 5.4612 4.5404