| It doesn't have to be that 'complex' to be chaotic, of course; my own
experiments got quite a long way just using x^^2 as the non-linear element,
combined with delay and linear filter elements - that's the basis of the
nlfilt opcode. The paper I wrote with John Fitch is on his site somewhere.
Richard Dobson
http://www.wkweb5.cableinet.co.uk/rwd
Check out my Soundcard Attrition Page!
Hans Mikelson wrote:
>
> Hello,
>
> I was thinking today about digital filtering and realized that most of the
> digital filters I had seen were pretty linear with some a0*yn + a1*yn-1 +
> ...=b0*xn + b1*xn-1 + ... something like that, but why not just use some
> arbitrarily complex function of xn, yn, xn-1, yn-1, ... ?
>
> yn = F(xn, xn-1, xn-2, ..., yn-1, yn-2, ...)
>
> Or with possibly multiple input signals and functions:
>
> x1n, x2n, ...
> y1n = F1(x1n, x1n-1,..., x2n, x2n-1,..., y1n-1, y1n-2, ..., y2n, y2n-1,
> y2n-2...)
> y2n = F2(....etc)
>
> Is anyone working with these systems? Complex chaotic systems come to mind.
> Of course I don't think I want to try and figure out the frequency
> response... :)
>
> Bye,
> Hans Mikelson
>
> ; Oh, and here is an example:
> ; Arbitrary Digital Filter
> ; by Hans Mikelson
> ; ORCHESTRA
> ; Note: sr must equal kr
> sr=44100
> kr=44100
> ksmps=1
> nchnls=2
>
> instr 1
>
> idur = p3
>
> axn init 0
> axnm1 init 0
> axnm2 init 0
> ayn init 0
> aynm1 init 0
> aynm2 init 0
>
> kc1 linseg .2, idur*.5, .8, idur*.5, .1
> kc2 linseg 3.5, idur*.2, .4, idur*.8, 2.1
>
> ax1n, ax2n diskin 11, 1
> axn = ax1n/32000
>
> ; Digital filter with arbitrarily complex function.
> ayn =
> kc1*sin(axn*2+3*cos(kc2*aynm2))-.3*axnm1*aynm1+.1*ayn*axnm2*sqrt(ayn*ayn+axn
> m1*axnm1)
>
> axnm2 = axnm1
> axnm1 = axn
> aynm2 = aynm1
> aynm1 = ayn
>
> outs ayn*32000, ayn*32000
>
> endin
>
> ; SCORE
> ; Sta Dur |