Bilinear form of nonlinear one pole lpf
-
- KVRian
- Topic Starter
- 513 posts since 3 Sep, 2009 from Poland
Any idea how to transform this kind of nonlinear lpf into bilinear form?
y = y + a * (shape(y) - shape(in))
Edit: Of course I mean using bilinear transform instead of backward Euler
y = y + a * (shape(y) - shape(in))
Edit: Of course I mean using bilinear transform instead of backward Euler
Last edited by itoa on Sat Jul 26, 2014 6:47 pm, edited 1 time in total.
giq
- KVRist
- 406 posts since 6 Apr, 2008
What's a "bilinear form"?
-
- KVRian
- Topic Starter
- 513 posts since 3 Sep, 2009 from Poland
Ok, so I came up to this form
iin =shape( input) - shape(lastOut)
out = buf + f * iin
buf = f * iin + out
lastOut = out
But it needs 2 state variables buf and lastOut, so I thought I don't get something important.
iin =shape( input) - shape(lastOut)
out = buf + f * iin
buf = f * iin + out
lastOut = out
But it needs 2 state variables buf and lastOut, so I thought I don't get something important.
giq
-
- KVRian
- Topic Starter
- 513 posts since 3 Sep, 2009 from Poland
Ok continuing my own private thread
It turned out that using bilinear integrator with additional delay makes this filter as bad as its 'naive' form.
And.. I can do nothing else than TPT and solving higher order equations (shaping). Welcome to hell
It turned out that using bilinear integrator with additional delay makes this filter as bad as its 'naive' form.
And.. I can do nothing else than TPT and solving higher order equations (shaping). Welcome to hell
giq
-
- KVRAF
- 1607 posts since 12 Apr, 2002
Try using the "cheap" version (applying the nonlinearities on top, after solving the linear ZDF equation). Or use mystran's method (each approach has pros and cons).itoa wrote:Ok continuing my own private thread
It turned out that using bilinear integrator with additional delay makes this filter as bad as its 'naive' form.
And.. I can do nothing else than TPT and solving higher order equations (shaping). Welcome to hell