Digital ButterWorth Filter Design

Started by April 21, 2014
Hi All,

I am working in Digital ButterWorth filter design.  I am using
Fourth-order, zero-lag filter design. The Coeffecients calculation by using
formula
dCutoff2 = dCutoffFrequency * 1.247
Wc = Tan((Application.Pi() * dCutoff2) / dSampleFrequency)
K1 = Sqr(2) * Wc
K2 = Wc ^ 2
A0 = K2 / (1 + K1 + K2)
A1 = 2 * A0
A2 = A0
K3 = (2 * A0) / K2
B1 = -2 * A0 + K3
B2 = 1 - (2 * A0) - K3
It uses forward and reverse process. In the forward process input of first
two value assign to output of first two value and also last two of forward
input value assign to reverse output value. But the result by slight
varation in the end part. I need any algorithm to create butterworth filter
or any correction in the formulae.

_____________________________
Posted through www.DSPRelated.com
On 4/21/14 12:44 PM, jeeva123 wrote:
> Hi All, > > I am working in Digital ButterWorth filter design. I am using > Fourth-order, zero-lag filter design. The Coeffecients calculation by using > formula > dCutoff2 = dCutoffFrequency * 1.247 > Wc = Tan((Application.Pi() * dCutoff2) / dSampleFrequency) > K1 = Sqr(2) * Wc > K2 = Wc ^ 2 > A0 = K2 / (1 + K1 + K2) > A1 = 2 * A0 > A2 = A0 > K3 = (2 * A0) / K2 > B1 = -2 * A0 + K3 > B2 = 1 - (2 * A0) - K3
judging that there are three "A" coefs and two "B" coefs, may i presume that the "B" coefs go into the denominator of the transfer function? what is the difference equations for this filter? is it: y[n] = A0*x[n] + A1*x[n-1] + A2*x[n-2] + B1*y[n-1] + B2*y[n-2] ? perhaps the signs are opposite on the "B" coefs? and then the question is: how are these different for the two different 2nd-order sections? for a 4th-order Butterworth, the two 2nd-order sections have identical resonant frequency but different Q. how does the Q get determined with your intermediate "K" values?
> It uses forward and reverse process. In the forward process input of first > two value assign to output of first two value and also last two of forward > input value assign to reverse output value.
i dunno what this means.
> But the result by slight variation in the end part.
nor this.
> I need any algorithm to create butterworth filter > or any correction in the formulae.
-- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
>On 4/21/14 12:44 PM, jeeva123 wrote: >> Hi All, >> >> I am working in Digital ButterWorth filter design. I am
using
>> Fourth-order, zero-lag filter design. The Coeffecients calculation by
using
>> formula >> dCutoff2 = dCutoffFrequency * 1.247 >> Wc = Tan((Application.Pi() * dCutoff2) / dSampleFrequency) >> K1 = Sqr(2) * Wc >> K2 = Wc ^ 2 >> A0 = K2 / (1 + K1 + K2) >> A1 = 2 * A0 >> A2 = A0 >> K3 = (2 * A0) / K2 >> B1 = -2 * A0 + K3 >> B2 = 1 - (2 * A0) - K3 > > >judging that there are three "A" coefs and two "B" coefs, may i presume >that the "B" coefs go into the denominator of the transfer function? > >what is the difference equations for this filter? is it: > > y[n] = A0*x[n] + A1*x[n-1] + A2*x[n-2] + B1*y[n-1] + B2*y[n-2] > >? > >perhaps the signs are opposite on the "B" coefs? > >and then the question is: how are these different for the two different >2nd-order sections? for a 4th-order Butterworth, the two 2nd-order >sections have identical resonant frequency but different Q. how does >the Q get determined with your intermediate "K" values? > >> It uses forward and reverse process. In the forward process input of
first
>> two value assign to output of first two value and also last two of
forward
>> input value assign to reverse output value. > >i dunno what this means. > >> But the result by slight variation in the end part. > >nor this. > >> I need any algorithm to create butterworth filter >> or any correction in the formulae. > > > >-- > >r b-j rbj@audioimagination.com > >"Imagination is more important than knowledge." > > >
The Algorithm get from VBA Script. I need any algorithm to create butterworth filter. _____________________________ Posted through www.DSPRelated.com
On 4/22/14 3:37 AM, jeeva123 wrote:
>> On 4/21/14 12:44 PM, jeeva123 wrote: >>> Hi All, >>> >>> I am working in Digital ButterWorth filter design. I am > using >>> Fourth-order, zero-lag filter design. The Coeffecients calculation by > using >>> formula >>> dCutoff2 = dCutoffFrequency * 1.247 >>> Wc = Tan((Application.Pi() * dCutoff2) / dSampleFrequency) >>> K1 = Sqr(2) * Wc >>> K2 = Wc ^ 2 >>> A0 = K2 / (1 + K1 + K2) >>> A1 = 2 * A0 >>> A2 = A0 >>> K3 = (2 * A0) / K2 >>> B1 = -2 * A0 + K3 >>> B2 = 1 - (2 * A0) - K3 >> >> >> judging that there are three "A" coefs and two "B" coefs, may i presume >> that the "B" coefs go into the denominator of the transfer function? >> >> what is the difference equations for this filter? is it: >> >> y[n] = A0*x[n] + A1*x[n-1] + A2*x[n-2] + B1*y[n-1] + B2*y[n-2] >>
dunno that this question was answered. it's sorta fundamental.
> > The Algorithm get from VBA Script. I need any algorithm to create > butterworth filter.
well, i am not reverse-engineering that VBA Script or whatever it is. i can tell it computes coefficients for a second-order section (or "biquad"), there are parameters: dSampleFrequency and dCutoffFrequency, but not one for Q or "dResonance". you will need such because the two second-order sections that make up a fourth-order Butterworth do not have the same Q. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."