Version: 0.99-devel (using KDE 3.2 BRANCH >= 20040204, Mandrake Linux Cooker i586 - Cooker) Compiler: gcc version 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk) OS: Linux (i686) release 2.6.3-7mdk The pass filter plugins are labeled as butterworth filters but they are not. Butterworth filters are causal, and have a complicated phase vs freq relationship... See for example http://www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html The filter used is generally better than a butterworth (being 0 phase and acausal) but the name should be changed. Perhaps just drop 'buttworth' from the short names, and add '0 phase butterworth' to the description.
Hi Barth, As I understand it (and its quite possible I don't) a Butterworth lowpass filter is defined by: H = 1/(1+(D+D_0)^2n), where D_0 is the cutoff frequency and n the order. (Such a filter is preferable to a rectangular response function in the frequency domain as it prevents some unpleasent side-effects like ringing). It is possible to generate causal code (such as given in the website you link to) to approximate a Butterworth filter. This is desirable for situations where you don't want to store all the preceeding values; of particular importance in linear circuits. I think what we have is a Butterworth filter. If it isn't why would we refer to it (as you suggest) as a '0 phase butterworth' in the description.
It appears to be at best ambiguous. Common usage historically has referred to Butterworth filters as including the phase shift, but some sources do not mention this. Consequently, I suggest that we use the unambiguous terminology "0 phase butterworth" in the description, so user's won't be expecting the phase shifts. I suggest: Plugin Name: Filter Low Pass Description: Zero phase Butterworth ---- Input Vector - Y: C1-GYRO1 (ie, not "X-Array") Input Scalar - Order: [ ] Input Scalar - Cutoff Freq/Samp Rate [ ] (ie, not "Cutoff Frequency") ---- Output Vector - Filtered [ ] (ie, not "X Filtered") and similar for the other filters....
CVS commit by arwalker: Refer only to a zero phase Butterworth. Changed various names and descriptions. CCMAIL: 87446-done@bugs.kde.org M +3 -3 butterworth_bandpass/butterworth_bandpass.cpp 1.4 M +7 -7 butterworth_bandpass/butterworth_bandpass.xml 1.6 M +2 -2 butterworth_bandstop/butterworth_bandstop.cpp 1.4 M +7 -7 butterworth_bandstop/butterworth_bandstop.xml 1.6 M +2 -2 butterworth_highpass/butterworth_highpass.cpp 1.5 M +6 -6 butterworth_highpass/butterworth_highpass.xml 1.5 M +2 -2 butterworth_lowpass/butterworth_lowpass.cpp 1.3 M +6 -6 butterworth_lowpass/butterworth_lowpass.xml 1.5