## General IIR Filters

From: andrew cooke <andrew@...>

Date: Sun, 7 Sep 2014 22:48:05 -0300

I just wasted a weekend on this...

When you read about IIR filters they're always drawn in a certain way, as a
rather orderly set of delays, scales, and sums.  It struck me that there must
be a lot more variety if you allow general (directed) graphs.  So I had the
idea to write some Julia code that would evolve filters, using a GA, given a
target response function.  The GA doesn't really "care" that the graphs are
complex, and the hope was to generate much more compact expressions for useful
filters.

Well, the code didn't get that far.  I wrote a few basic data structures and
the routines to generate graphviz plots of the filters (the graphs).  To test
this I decided to define and graph a filter from a DSP textbook.  The most
complicated I could find was in a section that showed how arbitrary
combinations of filters could be reduced to the orderly canonical form...

So by looking for a nice filter to test I found the evidence that what I was
doing was pointless - it doesn't provide anything that the canonical approach
doesn't also provide (well, that's not completely true - it's possible it
might find a way to use less memory space, but there's no possibility for a
"completely new kind of filter").

Ah well.  Live and learn.  At least I wanted to program in my spare time,
which has been unusual this last 6 months or so.

Andrew