I want to design some specific slope highpass filter to enhance speech; just like $1$ dB/octave, $2$ dB/octave and more. Is there a method to calculate the coefficients by specific slope?
-
$\begingroup$ uhm, you want that slope specification to be continuous? $\endgroup$ – robert bristow-johnson Apr 5 '16 at 3:07
-
$\begingroup$ probably check out what a shelving filter is. google "Audio EQ Cookbook". $\endgroup$ – robert bristow-johnson Apr 5 '16 at 3:08
-
$\begingroup$ In other words: do you want a piece-wise linear enhancement in the frequency domain? For instance flat in the low-frequency part, and $+x$ dB above one specfic frequency? $\endgroup$ – Laurent Duval Apr 5 '16 at 5:36
-
$\begingroup$ Thanks for everyone.Actually,what I want is just like the respone in this website.support.biamp.com/Tesira/Programming/AEC_in_Tesira (Pre-Emphasis Filter) But,I want to design a program to calculate more slope to use in deffient implementation. Further more,I am try to use fft to implement. $\endgroup$ – RongJun Huang Apr 6 '16 at 2:33
-
$\begingroup$ Here's a related question (if you swap poles and zeros) I want to link here because it is so difficult to find otherwise: IIR filters with variable roll-off $\endgroup$ – Olli Niemitalo May 18 '17 at 19:00
The order of a filter determines its slope. Normally orders are positive integers (1, 2, 3, ...). So the slopes are fixed to multiples of approximately 3db/octave. However, taking the case of a Butterworth filter, someone has applied partial calculus to obtain fractional order Butterworth filters which will effectively allow you to chose the slope. If you do a Google search for fractional order Butterworth filters you will get back some papers on the subject. For instance here: https://arxiv.org/ftp/arxiv/papers/1210/1210.8194.pdf
If you need a different filter type you could apply the same thinking, but the maths may be more complicated for, say, an elliptic filter.
You can design a Butterworth low pass filter and convert it into high pass filter. The slope in these filters is Cn dB/decade where C is a constant and n is the filter order. The polynomial for these filters are tabulated.
-
$\begingroup$ How would you design a 2dB/octave high-pass filter using this approach? $\endgroup$ – Matt L. Apr 5 '16 at 7:36