210 likes | 222 Views
Explore different implementations of recursive filters including Clustered Look Ahead, Scattered Look Ahead, and Block-State architectures. Learn about efficiency comparisons and optimal multipliers usage for improved processing rates.
E N D
Block Implementations of Recursive Filters Martijn v/d Horst M.G.v.d.Horst@tue.nl
Outline • Implementation Methods • Look Ahead • Block-State • Incremental Output Computation • Comparison • All-pass Filters • Conclusion
Describing Filters • Transfer Function: • Difference Equation: • State space form:
Implementation We want: • Sample rates exceeding processing rates • This means parallel inputs and outputs, also called block implementations • Implementations which scale well
Clustered Look Ahead • Increase the size of the recursive loop • The order of the filter increases • Might become unstable n-2 n-1 n n n-P-1 n-P P
Scattered Look Ahead • Increase the size of the recursive loop • The order of the filter increases • Remains stable • Can be implemented with P parallel filters • Non-recursive part can be decomposed n-2 n-1 n n-2P n-P n P P
Block-State The state space form can be rewritten into a state space form using input and output vectors:
Block-State Architecture Input State Output
Comparison Efficiency: The number of multipliers used by an implementation compared to the theoretical optimum number. A single input, single output implementation of an IIR filter of order N requires 2 N + 1 multipliers. Therefore the theoretical optimum for an implementation handling P simultaneous inputs and outputs is P (2 N + 1) multipliers.
Efficiencies Scattered Look ahead with Incremental Output Computation Clustered Look ahead with Incremental Output Computation Incremental Block-state Block-state
Efficiencies Scattered Look ahead with Incremental Output Computation N=16 N=8 Clustered Look ahead with Incremental Output Computation N=32 N=64 Block-state Incremental Block-state
All-pass Filters • Also called phase shifters • Theoretical optimum is P N
Efficiencies w.r.t. IIR Scattered Look ahead with Incremental Output Computation Clustered Look ahead with Incremental Output Computation Incremental Block-state Block-state
Efficiencies w.r.t. All-pass Scattered Look ahead with Incremental Output Computation Clustered Look ahead with Incremental Output Computation Incremental Block-state Block-state
Efficiencies adapted Clustered Look ahead for All-pass Incremental Block-state for All-pass Block-state for All-pass
Efficiencies Clustered Look ahead with Incremental Output Computation N=16 N=8 Clustered Look ahead for All-pass N=32 N=64 Incremental Block-state Incremental Block-state for All-pass
Conclusion • Efficient block implementations for IIR filters exist • These implementations can be used for all-pass filters • Theoretically there is room for improvement in implementing all-pass filters • We can adapt some of the implementations for All-pass filters