Skip to content

Butterworth Filter

Sambit Paul edited this page Dec 2, 2023 · 3 revisions
The examples provided here use this signal:

$\sin(10\pi t) + \sin(30\pi t) + \sin(60\pi t)$

Butterworth Filter

butterworth

Low-Pass Filter

The parameters for this filter are as follows:

  • Order ⇨ 4
  • Cutoff Frequency ⇨ 9Hz
  • Sampling Frequency ⇨ 100Hz
Code
int Fs = 100; //Sampling Frequency in Hz  
int order = 4; //order of the filter  
int cutOff = 9; //Cut-off Frequency  
Butterworth flt = new Butterworth(Fs); //signal is of type double[]  
double[] result = flt.lowPassFilter(signal, order, cutOff); //get the result after filtering  

High-Pass Filter

The parameters for this filter are as follows:

  • Order ⇨ 4
  • Cutoff Frequency ⇨ 29Hz
  • Sampling Frequency ⇨ 100Hz
Code
int Fs = 100; //Sampling Frequency in Hz  
int order = 4; //order of the filter  
int cutOff = 29; //Cut-off Frequency  
Butterworth flt = new Butterworth(Fs); //signal is of type double[]  
double[] result = flt.highPassFilter(signal, order, cutOff); //get the result after filtering  

Band-Pass Filter

The parameters for this filter are as follows:

  • Order ⇨ 4
  • Lower Cutoff Frequency ⇨ 12Hz
  • Upper Cutoff Frequency ⇨ 18Hz
  • Sampling Frequency ⇨ 100Hz
Code
int Fs = 100; //Sampling Frequency in Hz  
int order = 4; //order of the filter  
int lowCutOff = 12; //Lower Cut-off Frequency  
int highCutOff = 18; //Higher Cut-off Frequency  
Butterworth flt = new Butterworth(Fs); //signal is of type double[]  
double[] result = flt.bandPassFilter(signal, order, lowCutOff, highCutOff); //get the result after filtering  

Band-Stop Filter

The parameters for this filter are as follows:

  • Order ⇨ 4
  • Lower Cutoff Frequency ⇨ 7Hz
  • Upper Cutoff Frequency ⇨ 28Hz
  • Sampling Frequency ⇨ 100Hz
Code
int Fs = 100; //Sampling Frequency in Hz  
int order = 4; //order of the filter  
int lowCutOff = 7; //Lower Cut-off Frequency  
int highCutOff = 28; //Higher Cut-off Frequency  
Butterworth flt = new Butterworth(Fs); //signal is of type double[]  
double[] result = flt.bandStopFilter(signal, order, lowCutOff, highCutOff); //get the result after filtering  
Clone this wiki locally