I am just curious - I know there are other ways to create either type of filter. Also, if you were given a filter but didn't have any info about it, is there a good method for checking which type it is?
Thanks!
Are [lop~], [hip~], & [bp~] implemented as FIR or IIR filters?
I am just curious - I know there are other ways to create either type of filter. Also, if you were given a filter but didn't have any info about it, is there a good method for checking which type it is?
Thanks!
yes, you can check the source code. Any code that uses a previous output sample as input to the next sample is an IIR filter because if you put in an impulse, theoretically the output would continue to infinity, though for stable filters this value would get smaller and smaller in a geometric series. Hence the name "Infinite Impulse Response". When irreducible filters (meaning they can't be simplified) have a pole, they are IIR I believe.
FIR filters might use previous input samples but there is no feedback from the output, and therefore if you put in an impulse the output will eventually return to 0 once the length of the Impulse response of the filter is over (And it will be over eventually because they are Finite impulse response). FIR filters only contain what are called "zeros".
I think most simple bandpass filters are IIR.
All of these signal filters you mention are in the file d_filter.c in the pd source code. Because the comments mention each filter having a pole, I would assume they are all IIR filters.
In a "black box" scenario, where you can't look at a source code it would take quite a bit more work. I'm no DSP engineer but a good first step would be looking at the impulse response and figure out if it seems like there's feedback in it. If you're interested in black box testing of software filters you could ask the music-dsp mailing list, they usually give way more info than you'd ever want, sometimes with adjoining lengthy philosophical/mathematic discussions
Oops! Looks like something went wrong!