JAHA's Free Plugins

It's for people trying to learn dsp. Hopefully I can do a better tutorial later
but for now I'll just give the basic idea. In digital signal processing you have
something called the z-plane. When you make filters (lowpass,highpass,notch,etc),
you do so by adding poles (the denominator of the transfer funtion is zero) and zeros
(the numerator of the transfer function is zero) to the transfer funtion. The poles and zeros
determine the way the surface of the z-plane is shaped. To get the frequency response of the
filter, you find the values on the z-plane where the distance from the center is 1
(AKA the unit circle). For this plugin I have arranged things so that the peak of the
filter always has a gain on 1.

So...In this plugin you have a 2nd order filter (AKA Biquad...2 conjugate poles, 2
conjugate zeros). In the upper left you have a 2d representation of the z-plane.
Click and drag the poles and zeros around to see the result...drag the poles outside the
unit circle and the filter becomes unstable (which you can prove should happen - but i won't).
On the bottom left you'll see a 3d representation of the z-plane which you can rotate around.
The height of the plot represents the magnitude on the z-plane at any particular location,
while the color represents the phase at a location. Then you can see plots of the magnitude
and frequency response of the filter on the right.

Sorry, that description is piss poor but it's all I can do at the moment - if nothing else
it's fun to play around with.

I'm happy to take requests, but there's tons of things I'd like to do already - so to avoid
needless requests, future plans include:

- Arbitrary number of poles and zeros
- Zoom in 2d z-plane
- Internal noise generator and spectrum analyzer
- Better labels all around
- Typing in pole/zero locations
- Saving of state

So thats about it for now. If you use Fruityloops, here's a project setup to illustrate some stuff
If you find the plug useful or just like it drop me a mail at jaha@smartelectronix.com.
I'd especially like to hear from educators. And if you want to do a better explanation
than I did - that would be cool too.