Title: A1258150723abPch
1Block Implementations of Recursive Filters
Martijn v/d Horst M.G.v.d.Horst_at_tue.nl
2Outline
- Implementation Methods
- Look Ahead
- Block-State
- Incremental Output Computation
- Comparison
- All-pass Filters
- Conclusion
3Describing Filters
4Implementation
- We want
- Sample rates exceeding processing rates
- This means parallel inputs and outputs, also
called block implementations - Implementations which scale well
5Clustered Look Ahead
n
n-2
n-1
n
n-P-1
n-P
P
- Increase the size of the recursive loop
- The order of the filter increases
- Might become unstable
6Scattered Look Ahead
n
n-2
n-1
n
n-2P
n-P
P
P
- 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
7Block-State
- The state space form can be rewritten into a
state space form using input and output vectors
8Block-State Architecture
Input
State
Output
9State update
10Block-State
11Incremental Block-State
12Comparison
- 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.
13Efficiencies
Scattered Look ahead with Incremental Output
Computation
Clustered Look ahead with Incremental Output
Computation
Incremental Block-state
Block-state
14Efficiencies
Scattered Look ahead with Incremental Output
Computation
N8
N16
Clustered Look ahead with Incremental Output
Computation
N32
N64
Block-state
Incremental Block-state
15All-pass Filters
- Also called phase shifters
- Theoretical optimum is P N
16Efficiencies w.r.t. IIR
Scattered Look ahead with Incremental Output
Computation
Clustered Look ahead with Incremental Output
Computation
Incremental Block-state
Block-state
17Efficiencies w.r.t. All-pass
Scattered Look ahead with Incremental Output
Computation
Clustered Look ahead with Incremental Output
Computation
Incremental Block-state
Block-state
18Efficiencies adapted
Clustered Look ahead for All-pass
Incremental Block-state for All-pass
Block-state for All-pass
19Efficiencies
Clustered Look ahead with Incremental Output
Computation
N8
N16
Clustered Look ahead for All-pass
N32
N64
Incremental Block-state
Incremental Block-state for All-pass
20Conclusion
- 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
21Questions?