|
|
Invisible wrote:
> Of course, it's not quite the same. With electronics, you have to
> remember that your "10 Ohm" resisters are actually 10 Ohm +/- 10%. ;-)
Right, unless you have 1% resistors.
> And also, it seems you cannot make a digital IIR with *exactly* the same
> frequency response as the corresponding analogue IIR - although it's a
> pretty close match. But analogue IIRs are designed in the s-domain,
> which is a different "shape" to the z-domain. It's quite easy to map
> coordinates from one domain to the other, but the resulting function
> doesn't behave in exactly the same way.
That was one of things that threw me, if you look at poles and zeros
diagrams, many of them are in the s domain, so you have to remember to
wrap them around a unit circle. when you look at them.
>> I think I seriously annoyed my wife with the filtering applet. ;)
>
> Oh yeah - you have a wife, don't you?
>
> [I'm not jelous. Much.]
>
Oh, don't be. I have a son, too. :) He's getting to the "human parrot"
stage, now.. Gotta watch myself. He's great fun now. Can't wait till
he's old enough to take an interest in some of the things I do.
>> Its kind of nice knowing enough to predict what will happen when
>> moving a pole or a zero on the chart (Custom IIR)
>
> I tried to build a unit for Reaktor that does this, but without much
> success. (Again, the mathematics isn't "hard", it's just fiddly. And
> Reaktor isn't terrifically flexible...)
>
I thought about downloading the demo to play around with. What was
interesting was dragging a pole ever so slightly out of the unit circle
at certain angles (frequency) would cause it to give a screeching
feedback then go unstable. Of course a pole beyond the unit circle is
obviously not a stable configuration. It was interesting to see just how
far I could push it before the applet would decide not to render.
>> Interestingly modern computers are fast enough to run an arbitrary FIR
>> filter with little (actually no) trouble.
>
> Yes, the DSP guide talks about using IIRs to avoid needing slow FIRs,
> but today computers are that much faster that even a Java applet running
> on a JVM emulator runs easily fast enough to do a naive 2,000-point
> convolution directly. If you wanted faster, an FFT-convulation should
> easily give it to you.
>
The JVM has come a long way, too. If I understand correctly much of the
code in the VM gets translated to native machine code for the platform
its on. CLR is much the same way.
>> Though I imagine the reason the MT32 emulator went IIR is twofold: 1.
>> It approximates rather closely the original analog filter in the real
>> device, 2. 32 channels of audio need to be filtered simultaneously in
>> real time. IIR is vastly faster.
>
> Yes.
>
> If you want a digital filter to precisely disect a signal (e.g., for
> technical analysts), you want the most accurate filter you can get. But
> if you just want to make interesting noises, precision is not important.
> Indeed, resonance, ripple, and other "artifacts" that are usually to be
> avoided suddenly become useful and interesting! :-D
Of course. Much like guitarists discovered an interesting artifact of
their amplifiers. Turn up the gain so the signal starts clipping makes
the guitar sound much more interesting. :)
Dunno why, synthesizers have always fascinated me. More the
waveform-based, rather than sample-based. Twisting tones into
instruments is just cool. :)
> Ever heard of the Kurplus-Strong algorithm?
Nope :) I'm sure wikipedia has. It has, and looks like I read the
article, so Yes. :)
Very much the IIR plucked string in the applet.
--
~Mike
Post a reply to this message
|
|