1/26/2008

01-26-08 - 1

BTW if anybody has good links to highpass/lowpass/bandpass filter info, drop me a line. I've read some articles about generating filter coefficients, and it's all very complicated. I found some Java applets to give you coefficients, but they take the frequency as numeric parameter which is horrible, I want functions of the frequency. I have some code from Jeff which appears to be a biquad filter. Biquad filters are 2nd order discretizations of the traditional analog filters; biquad filters are a general class which can be gauranteed to be stable, unlike other filters which can blow up badly at poles (not all biquad filters are stable but the ones you want are). The site "MusicDSP" has this cool BiQuad Filter Cookbook . Actually there's a lot of fun stuff at MusicDSP. Their other code section has a lot of random contributed code snippets, some of which are intended as optimizations and are totally retarded, some of which are interesting.

Well, all these biquad ones I've looked at are just junk because they're so low order. Low order means they introduce very little delay which is nice, but they're like super low-order shape approximations of what you want. Just playing around it seems like need to get to like order 20 or more to get decent filter response that actually looks like what you want, eg. in my case a highpass with a very narrow transition band and a very quiet stop band. Also sort of an odd thing but it seems hugely preferable to filter in non-real-time. That is, instead of only filtering using past data, which is asymmetric and introduces a big delay, it would be better to filter time-centered on offline data.

No comments:

old rants