Martijn v/d Horst [email protected]
description
Transcript of Martijn v/d Horst [email protected]
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
1
Martijn v/d [email protected]
Block Implementations ofRecursive Filters
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
2
Outline• Implementation Methods
– Look Ahead– Block-State– Incremental Output Computation
• Comparison• All-pass Filters• Conclusion
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
3
Describing Filters
• Transfer Function:
22
11
22
110
1)(
zbzbzazaazH
• Difference Equation:)2()1()2()1()()( 21210 nybnybnuanuanuany
)()()(
)()()1(
ndunxcny
nbunAxnxT
0202101
21
01
01adbaabaac
bbb
A
T
• State space form:
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
4
ImplementationWe want:• Sample rates exceeding processing rates• This means parallel inputs and outputs, also
called block implementations• Implementations which scale well
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
5
Clustered Look Ahead
• Increase the size of the recursive loop• The order of the filter increases• Might become unstable
nn-2 n-1 nn-P-1 n-P
P
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
6
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
nn-2 n-1 nn-2P n-P
PP
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
7
Block-State
The state space form can be rewritten into a state space form using input and output vectors:
)()()(
)()()1(
ndunxcny
nbunAxnxT
)()()(
)()())1((
nPuDnPxCnPy
nPuBnPxAPnx
PPPP
PPP
jibAcjidji
D
Ac
Acc
C
bbAbAB
jiTijP
PT
T
T
P
PPP
11
21
0
...
...
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
8
Block-State Architecture
PA PC
PD
PB
Input
OutputState
P
P
P
P
N N
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
9
State update
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
10
Block-State
PA PC
PD
PB
P
P
P
P
N N
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
11
I
Incremental Block-State
PA IC
ID
PB
I
P
N N
I
IA
IB
I
IC
ID
I
I
IA
IB
I
IC
ID
I
I
IA
IB
JI
JIC
JID
JI
I
I
I
JI
N NN
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
12
ComparisonEfficiency: 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.
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
13
EfficienciesCLAIncr
50
100K
50
100
N0
0.250.5
0.75
1
50
100K
BlockState
50
100K
50
100
N0
0.250.5
0.75
1
50
100K
IncrementalBlockState
50
100K
50
100
N
00.250.5
0.75
1
50
100K
ScatteredLook aheadwith Incremental Output Computation
Block-stateIncrementalBlock-state
Clustered Look ahead with Incremental Output Computation
SLAIncr
50
100K
50
100
N0
0.250.5
0.75
1
50
100K
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
14
Efficiencies
20 40 60 80 100 120K
0.2
0.4
0.6
0.8
1
EfficiencyEfficiency for N 8
20 40 60 80 100 120K
0.2
0.4
0.6
0.8
1
EfficiencyEfficiency for N 16
20 40 60 80 100 120K
0.2
0.4
0.6
0.8
1
EfficiencyEfficiency for N 32
ScatteredLook aheadwithIncremental Output Computation
Block-state
IncrementalBlock-state
N=8 N=16
N=32
20 40 60 80 100 120K
0.2
0.4
0.6
0.8
1
EfficiencyEfficiency for N 64N=64
ClusteredLook aheadwithIncremental Output Computation
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
15
All-pass Filters
22
11
21*1
*2
1)(
zczczzcczH
• Also called phase shifters
• Theoretical optimum is P N
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
16
Efficiencies w.r.t. IIRCLAIncr
50
100K
50
100
N0
0.250.5
0.75
1
50
100K
BlockState
50
100K
50
100
N0
0.250.5
0.75
1
50
100K
IncrementalBlockState
50
100K
50
100
N
00.250.5
0.75
1
50
100K
ScatteredLook aheadwith Incremental Output Computation
Block-stateIncrementalBlock-state
Clustered Look ahead with Incremental Output Computation
SLAIncr
50
100K
50
100
N0
0.250.5
0.75
1
50
100K
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
17
Efficiencies w.r.t. All-passSLAIncr
50
100K
50
100
N0
0.250.5
0.75
1
50
100K
CLAIncr
50
100K
50
100
N0
0.250.5
0.75
1
50
100K
BlockState
50
100K
50
100
N
00.250.5
0.75
1
50
100K
ScatteredLook aheadwith Incremental Output Computation
Block-stateIncrementalBlock-state
Clustered Look ahead with Incremental Output Computation
IncrementalBlockState
50
100K
50
100
N
00.250.5
0.75
1
50
100K
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
18
Efficiencies adapted
Block-statefor All-pass
IncrementalBlock-statefor All-pass
Clustered Look ahead for All-pass
CLAAllpass
50
100K
50
100
N0
0.250.5
0.75
1
50
100K
BlockStateAllpass
50
100K
50
100
N
00.250.5
0.75
1
50
100K
IncrementalBlockStateAllpass
50
100K
50
100
N
00.250.5
0.75
1
50
100K
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
19
20 40 60 80 100 120K
0.2
0.4
0.6
0.8
1
EfficiencyEfficiency for N 8
20 40 60 80 100 120K
0.2
0.4
0.6
0.8
1
EfficiencyEfficiency for N 16
20 40 60 80 100 120K
0.2
0.4
0.6
0.8
1
EfficiencyEfficiency for N 32
20 40 60 80 100 120K
0.2
0.4
0.6
0.8
1
EfficiencyEfficiency for N 64
Efficiencies ClusteredLook aheadwithIncremental Output Computation
IncrementalBlock-state
IncrementalBlock-statefor All-pass
N=8 N=16
N=32 N=64
ClusteredLook aheadforAll-pass
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
20
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
April 22, 2023 Martijn v/d Horst, [email protected]/e Computer Science, System Architecture and Networking
21
Questions?