Sounds Logical
home

WaveWarp 2.0 Example DrawingBoard

Index Current Example DrawingBoard Group Previous Example DrawingBoard Group Next Example DrawingBoard Group Previous Example DrawingBoard Next Example DrawingBoard Bottom of Page

Description | Components Used

NonAlgebraicLoopEducationalExample2

Description
This seemingly trivial example demonstrates how WaveWarp handles feedback connections and avoids algebraic loops. (see also NonAlgebraicLoopEducationalExample1.dwb"). NOTE: THIS DRAWINGBOARD WILL NOT RUN IN THE DEMO VERSION SINCE THE OUTPUT FILE FUNCTIONALITY HAS BEEN DISABLED. At face value, this Drawing Board appears to contain an "algebraic loop" which is the term given to a feedback network which has a feedback loop consisting of a sequence of blocks which all have direct feedthrough. In this simple but instructive example, the output of the "Simple Summer" block is connected to one of its inputs. At face value, the difference equation of this system would be (where "k" represents the sample instance): output( k ) = input ( k ) + output ( k ) This is a clear example of an algebraic loop where an equation must be solved to determine the correct input-to-output relation for a given time k. In fact, this simple example has no solution for non-zero input. Not all algebraic loops are degenerate like this example. Generally, however, they are rather more complicated requiring nonlinear (and generally iterative) equation solvers at each time step. Since such solutions are computationally intensive, and since audio applications don't generally require systems with algebraic loops, WaveWarp AVOIDS THEM COMPLETELY by simply inserting an implicit unit-delay at each feedback connection. In other words, the internal WaveWarp representation of the above system has the following difference equation: output( k ) = input (k) + output (k -1 ) This is no longer an algebraic loop, and can simply be propagated in time without the need of an equation solver. Thus, for an input sequence given by [,1,2,3,4,5...] the output sequence would be [1,3,6,10,15,...] etc. This is precisely the result produced by WaveWarp as can be seen by running the DrawingBoard and inspecting the files "input1to10.txt" and "output.txt" with a text editor. It is important to note that WaveWarp's insertion of an implict delay into any feedback connection leads to a slight loss of generality when constructing DrawingBoards. However, this is generally not important for audio applications though the user must exhibit some caution when building DrawingBoards with feedback since "what you see" is not exactly "what you get" in terms of difference equations.
Components used:

Index Current Example DrawingBoard Group Previous Example DrawingBoard Group Next Example DrawingBoard Group Previous Example DrawingBoard Next Example DrawingBoard Top of Page

home - news - products - store - support - site map - company info
© 2007 Sounds Logical. All rights reserved.
Sounds Logical
legal notice - privacy statement