|
| WaveWarp 2.0 Example DrawingBoard

SimpleIIRhighpassFilterBuiltFromScratchEducationalExample_2
Description
Simple IIR high-pass filter built from scratch
Illustrates how to build a simple high-pass filter from a single delay and two gains (Simple gains), connected
using a feedback path. The output of the filter is a weighted difference of the current input and the previous output. This
filter is known as an "Infinite Impulse Response" (FIR) filter since the output depends on the weighted sequence of inputs
and outputs (by contrast, a "Finite Impulse Response" (FIR) filter utilises only the past and present inputs, and not the
outputs). Play the DrawingBoard and observe the characteristic high-pass response displayed in the magnitude plot. Adjust
the gain values and note how they determine the frequency response characteristics of the filter.
IMPORTANT: Since WaveWarp does not allow algebraic loops (see the Users' Guide), there is an implicit delay built in to
every feedback connection. Hence, when building this filter, there is no need for an explicit delay in the feedback path (as
per the signal flow diagram for the filter) since it is already part of the feedback connection. This means that caution must
be exercised when building feedback networks since "what you see" in terms of the DrawingBoard component layout "is
not quite what you get" because of the "hidden" implicit delays. For most audio applications, this is an unimportant detail
since very long delays are typically required, and an extra one in the feedback connection is negligible. However, when
building basic filter networks (e.g. for educational purposes) it is important to account for the hidden delays when analysing
filter performance from input/ouput numerical data.
For a detailed discussion on this basic filter, see: "The Computer Music Tutorial", Curtis Roads, The MIT Press, 1996
(p.409).
Delays and gains are the elemental buliding blocks of all filters. Try building more elaborate filters from these basic blocks.
Note that ASCII input and output files (included but unconnected in this DrawingBoard) are very useful when prototyping
a filter design since they allow direct access to the exact input/output numerical data, without the scaling inherent to WAV
I/O conversions.
Components used:

|
|