How did you make Butterworth/etc. Peak/Shelving filters in EngineersFilter
-
DJ Saint-Hubert DJ Saint-Hubert https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=293319
- KVRer
- Topic Starter
- 23 posts since 30 Nov, 2012
... that is if you want to reveal your secrets. I've done some googling and haven't found anything articles about the how to do it, only lowpass/highpass/bandpass/etc. I wanted to maybe implement it in JS, Reaper's scripting language (although I'm not too knowledgeable in DSP really, I'd like to try anyway), to make a parametric EQ but using butterworth filters or whatever
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4295 posts since 8 Mar, 2004 from Berlin, Germany
in (classical) filter design, you typically start with an analog prototype lowpass filter with unit cutoff frequency, preferably in terms of its poles and zeros, and then transform these poles and zeros via analog frequency transformations into an analog lowpass, highpass, bandpass or bandreject filter with the desired cutoff frequency(ies) and finally transform these poles and zeros via the bilinear transform (or possibly something more fancy) into the z-domain.DJ Saint-Hubert wrote:... that is if you want to reveal your secrets. I've done some googling and haven't found anything articles about the how to do it, only lowpass/highpass/bandpass/etc. I wanted to maybe implement it in JS, Reaper's scripting language (although I'm not too knowledgeable in DSP really, I'd like to try anyway), to make a parametric EQ but using butterworth filters or whatever
for shelving- and peaking filters, you replace the normalized prototype lowpass filter with a normalized low-shelving filter. orfanidis gives explicit formulas for the poles and zeros for such a normalized low-shelving filter (for the butterworth, chebychev 1/2 and elliptic case) here:
http://www.ece.rutgers.edu/~orfanidi/ece348/hpeq.pdf
for the general case (also applicable to bessel- and papoulis-filters), i derived the following numeric approach:
http://www.rs-met.com/documents/dsp/Low ... otypes.pdf
i suppose, in the derivation of his analytical formulas for the poles and zeros, orfanidis must have gone through that step too, but unfortunately did never publish anything about it, so i had to figure out that stuff myself.