I've figured out the cutoff frequency correction factor necessary to force a 2-pole Bessel lowpass filter to exhibit 3 dB of power attenuation at the cutoff frequency I specify, for a single pass of the filter. The problem is, if I stack up multiple passes, I can't seem to get it right. Here's what I've done so far. Filter response function H = W^2 / (W^2 + 3W + 3) [1] This will have a 3 dB cutoff when H^2 = 1/2, or more simply H=p where p=sqrt(1/2). Solving for the angular cutoff frequency W, I get: W = [3 + sqrt(12/p - 3)] / (2/p - 2) [2] Now, the corrected angular cutoff frequency to use in the filter is Wc = tan(pi * r * Fc / Fs), where r is the correction factor I want to determine, Fc is the 3 dB cutoff frequency in Hertz I want and Fs is my sampling frequency. If I set r to r = arctan(W) / pi [3] this works well when I test it. I get 3 dB attenuation at exactly the cutoff frequency Fc that I want, for a single pass of the filter. The problem arises when I try to cascade the filters to get a higher-order filter (I know this higher order filter won't be a Bessel anymore, but that's not the point). In this case, for n cascades, the filter response function is: H = [W^2 / (W^2 + 3W + 3)] ^ n Right? If so, then the 3 dB cutoff W is again equation [2] above, but with p = sqrt(1/2) ^ (1/n). The problem is, r in [3] doesn't give me a correction factor that results in 3 dB of attenuation at my desired frequency Fc. Empirically, if I divide r in [3] by sqrt(n), I get pretty darn close to where I want, but it's not correct I have no mathematical basis for doing it (the result is about 3.23 dB at Fc for n=3). What am I failing to understand? Thanks. I'm trying to fill in my 2-pole filter reference table at http://unicorn.us.com/alex/buttercrit.html -- I got the Butterworth and Critical Damped filter corrections from the papers referenced at the bottom of the page. I'm trying to figure out the Bessel on my own and I'm stumped. -Alex
Help on cascaded filter freq correction
Started by ●August 11, 2004
Reply by ●August 11, 20042004-08-11
axlq wrote:> I've figured out the cutoff frequency correction factor necessary > to force a 2-pole Bessel lowpass filter to exhibit 3 dB of power > attenuation at the cutoff frequency I specify, for a single pass of > the filter. The problem is, if I stack up multiple passes, I can't > seem to get it right....> What am I failing to understand?Each section has 3 dB attenuation at the design cut-off frequency. Cascade two such sections to get 6 dB, 3 sections to get 9 dB, etc. How many sections do you intend to cascade? If 2, design for 1.5 dB per section. If 3, 1.0. Jerry -- ... the worst possible design that just meets the specification - almost a definition of practical engineering. .. Chris Bore ������������������������������������������������������������������������
Reply by ●August 11, 20042004-08-11
In article <411a2748$0$5900$61fed72c@news.rcn.com>, Jerry Avins <jya@ieee.org> wrote:>axlq wrote: >> I've figured out the cutoff frequency correction factor necessary >> to force a 2-pole Bessel lowpass filter to exhibit 3 dB of power >> attenuation at the cutoff frequency I specify, for a single pass of >> the filter. The problem is, if I stack up multiple passes, I can't >> seem to get it right. > >> What am I failing to understand? > >Each section has 3 dB attenuation at the design cut-off frequency. >Cascade two such sections to get 6 dB, 3 sections to get 9 dB, etc. >How many sections do you intend to cascade? If 2, design for 1.5 dB per >section. If 3, 1.0.That's what I did. The "p" variable in my original article, where p = 2^(-1/2n), means that attenuation is 20 log p at the cutoff. So when the number of cascades n=1, one gets 20 log 2^(-1/2) or -3 dB, which works as I expect. At n=2, one gets 10 log 2^(-1/4) or 1.5 dB, just like you say. However, the correction factor doesn't work right for n>=2. -Alex