| >>>>> "HM" == Hans Mikelson writes:
HM> Greetings,
HM> Wouldn't it be possible to use numerical methods to "solve" the
HM> filter differential equation given a continuous differentiable input
HM> function X, and differential equation somewhat as follows?:
HM> a1Y+a2Y'+a3Y"=a1X+a2X'+a3X"
This formula is rather useless really, you migth get more interesting
results out of
b1Y+b2Y'+b3Y"=a1X+A2X'+a3X"
and apply the LaPlace transform to it. You will need to do a touch of
z-transform due to the sampling properties involved.
HM> Use one of the usual methods (Runge-Kutta etc.) to solve this. I
HM> would imagine you could obtain as good of an approximation of an
HM> analog filter as you could get with a sample of an analog filter. Of
HM> course it would be numerically intensive but possibly useful for
HM> rendering. My problem has been coming up with a decent differentiable
HM> function X for approximating a sawtooth, square, etc. I'm considering
HM> splines or sums of sine/cosine.
I would do some educated guessing instead. There isn't too much poles
and zeros involved in the simple filters I have seen so far, and you
really would like to know whats happening take a peek into the
sources.
I must admitt I haven't follwed all the twists of this thread but I
have gotten the feeling that it is the filters in csound being discussed.
HM> I'm in the process of doing some more work with filters and have
HM> been having some success with getting a more analog sound by
HM> "enveloping" the resonance so it doesn't jump up so suddenly.
One of the real reasons that digital/sample base filter fail in making
near emulation is that the sampling frequency creep to close the work
area. If one would let the sampling frequency become very much larger
things would become more and more closer, but this cost hardware and
money.
Digital stuff can do a lot of neat stuff, but you can't get at the
same marks as analog filters, just more or less close. It's just isn't
the same stuff theoretically. Similar, but not the same.
PS. Hans, you type very long lines there, use enter a little more
often or have your emailer insert them for you.
Cheers,
Magnus |