Multistage multirate systems are often more efficient. Suppose
one wishes to decimate a signal by an integer factor
MM, where
MM is a composite integer
M=
M
1
M
2
…
M
p
=∏i=1p
M
i
M
M
1
M
2
…
M
p
i
1
p
M
i
. A decimator can be implemented in a multistage
fashion by first decimating by a factor
M
1
M
1
, then decimating this signal by a factor
M
2
M
2
, etc. (Figure 1)
Multistage implementations are of significant practical interest
only if they offer significant computational savings. In fact,
they often do!
The computational cost of a single-stage
interpolator is:
NM
T
0
tapssec
N
M
T
0
taps
sec
The computational cost of a multistage
interpolator is:
N
1
M
1
T
0
+
N
2
M
1
M
2
T
0
+…+
N
p
M
T
0
N
1
M
1
T
0
N
2
M
1
M
2
T
0
…
N
p
M
T
0
The first term is the most significant, since the rate is
highest. Since
N
i
∝
M
i
∝
N
i
M
i
for a lowpass filter, it is not immediately clear that
a multistage system should require less computation. However,
the multistage structure relaxes the requirements on the
filters, which reduces their length and makes the overall
computation less.
Ostensibly, the first-stage filter must be a lowpass filter
with a cutoff at
π
M
1
M
1
, to prevent aliasing after the downsampler.
However, note that aliasing outside the final
overall passband
|ω|<πM
ω
M
is of no concern, since it will be removed by later
stages. We only need prevent aliasing into the band
|ω|<πM
ω
M
; thus we need only specify the passband over the interval
|ω|<πM
ω
M
, and the stopband over the intervals
ω∈2πk
M
1
−πM2πk
M
1
+πM
ω
2
k
M
1
M
2
k
M
1
M
, for
k∈1…M−1
k
1
…
M
1
. (Figure 2)
Of course, we don't want
gain in the
transition bands, since this would need to be suppressed
later, but otherwise we don't care about the response in those
regions. Since the transition bands are so large, the
required filter turns out to be quite short. The final stage
has no "don't care" regions; however, it is operating at a low
rate, so it is relatively unimportant if the final filter
turns out to be rather long!
The overall response is a cascade of multiple filters, so the
worst-case overall passband deviation, assuming all the peaks
just happen to line up, is
1+
δ
p
ov
=∏i=1p1+
δ
p
i
1
δ
p
ov
i
1
p
1
δ
p
i
1−
δ
p
ov
=∏i=1p1−
δ
p
i
1
δ
p
ov
i
1
p
1
δ
p
i
So one could choose all filters to have equal specifications
and require for each-stage filter. For
δ
p
ov
≪1
≪
δ
p
ov
1
,
1+
δ
p
i
+
≤1+
δ
p
ov
p≈1+p-1
δ
p
ov
1
δ
p
i
+
p
1
δ
p
ov
1
p
δ
p
ov
1−
δ
p
i
-
≤1−
δ
p
ov
p≈1−p-1
δ
p
ov
1
δ
p
i
-
p
1
δ
p
ov
1
p
δ
p
ov
Alternatively, one can design later stages (at lower
computation rates) to compensate for the passband ripple in
earlier stages to achieve exceptionally accurate passband
response.
δ
s
δ
s
remains essentially unchanged, since the worst-case scenario
is for the error to alias into the passband and undergo no
further suppression in subsequent stages.
Interpolation is the flow-graph reversal of the multi-stage
decimator. The first stage has a cutoff at
πL
L
(Figure 3):
However, all subsequent stages have large bands without signal
energy, due to the earlier stages (
Figure 4):
The order of the filters is reversed, but otherwise the
filters are identical to the decimator filters.
A very narrow lowpass filter requires a very long FIR filter
to achieve reasonable resolution in the frequency
response. However, were the input sampled at a lower rate, the
cutoff frequency would be correspondingly higher, and the
filter could be shorter!
The transition band is also broader, which helps as well.
Thus, Figure 5 can be implemented as Figure 6.
and in practice the inner lowpass filter can be coupled to the
decimator or interpolator filters. If the decimator and
interpolator are implemented as multistage structures,
the overall algorithm can be dramatically more efficient than
direct implementation!