DSPRelated.com
Forums

Scaling cutoff freq of Butterworth filter

Started by lemon February 2, 2006
Dear group,

I am currently using a butterworth lowpass filter for filtering sets of
parameter files.
For this purpose, I found an "optimal" cutoff frequency to generate the
filter.
I have, however, the necessity of changing the "sampling rate" of the
parameter set, but at the same time get the "same" results in time.

So, is there any method of scaling the cutoff parameter of the filter
accordingly to the changes in the "sampling rate"?

Thx 

Lemon

Ps. first post here :)

Do you have the filter equations, such as the Laplace transfer
function?  If you do, you can use this equation to generate a set of
filter coefficients (paramaters) corresponding to the desired sample
rate.  This is relatively easy with a tool such as Matlab or a clone of
it with a signal processing package.

If not, there may be a way to adjust the coefficients directly, but my
understanding is that the sample rate doesn't have a nice linear effect
on the co-effecients because of the bearing on the pole - zero
locations.

A butterworth filter should have a form:

H(s) =     c / (s^2 + b*s + c)

You can use the bilinear transform, substituting s = 2 / Ts * (1-z^-1 /
1+z^-1)  where Ts is the sample rate and get your new co-efficients.

As you can see, the sample rate in a 2nd order butterwoth filter has a
quadratic effect when substituted into the s^2 term, so it may not be
simple to convert the existing paramters.

"lemon" <hepaminondas@gmail.com> wrote in message 
news:1138899620.289307.175730@f14g2000cwb.googlegroups.com...
> Dear group, > > I am currently using a butterworth lowpass filter for filtering sets of > parameter files. > For this purpose, I found an "optimal" cutoff frequency to generate the > filter. > I have, however, the necessity of changing the "sampling rate" of the > parameter set, but at the same time get the "same" results in time. > > So, is there any method of scaling the cutoff parameter of the filter > accordingly to the changes in the "sampling rate"? >
Part of the answer depends on what you consider to be "easy" or "difficult". It appears that you feel some scaling method is easier than designing a new filter. The general answer is that you need to design a new filter. If the change in sample rate is small then there may be tricks you can play which will work and not wreck the filter characteristics. For example for z=1/T the inverse of the sample interval then what happens if you substitute 1/T' for z in the filter equation and modify the coefficients accordingly? (I don't know). Or, you might ponder the Butterworth transformation and find an expression for each of the coefficients that's parametric on small changes in the sampling frequency. I don't think you will be able to successfully "scale" for anything but modest changes in the sampling frequency - if that. Fred
lemon wrote:
> Dear group, > > I am currently using a butterworth lowpass filter for filtering sets of > parameter files. > For this purpose, I found an "optimal" cutoff frequency to generate the > filter. > I have, however, the necessity of changing the "sampling rate" of the > parameter set, but at the same time get the "same" results in time.
Your use of terminology is a bit different from the standard one. Usually, one applies the Butterworth filter to a data set, not a parameter set.
> So, is there any method of scaling the cutoff parameter of the filter > accordingly to the changes in the "sampling rate"?
Yes, there is. If you look up "IIR filter design" in most DSP textbooks, there is a section on frequency transforms. Among those transforms is an LP -> LP transform that changes the cutoff frequency of an LP filter. Rune

lemon wrote:


> I am currently using a butterworth lowpass filter for filtering sets of > parameter files. > For this purpose, I found an "optimal" cutoff frequency to generate the > filter. > I have, however, the necessity of changing the "sampling rate" of the > parameter set, but at the same time get the "same" results in time. > > So, is there any method of scaling the cutoff parameter of the filter > accordingly to the changes in the "sampling rate"? >
You can certainly scale the filter coefficients to a given sample rate. However it is not going to be any simpler then designing the filter from scratch. The design of the Butterworth filter is very basic, you can find it anywhere. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Hi all,

Thx very much for all your replies and interest!
 In the end I decided to design the filter from scratch, linearly
changing the cutoff frequency.
Since I'm using matlab, it's fairly easy to do :)

Lemon