DSPRelated.com
Code

Analog IIR Butterworth Filter - Scilab

Senthilkumar March 22, 20111 comment Coded in Scilab

To Design an Analog Butterworth Filter For the given cutoff frequency Wc = 500 Hz and filter order

// To Design an Analog Butterworth Filter
//For the given cutoff frequency and filter order
//Wc = 500 Hz 
omegap =  500; //pass band edge frequency
omegas =  1000;//stop band edge frequency
delta1_in_dB = -3;//PassBand Ripple in dB
delta2_in_dB = -40;//StopBand Ripple in dB
delta1 = 10^(delta1_in_dB/20)
delta2 = 10^(delta2_in_dB/20)
 //Caculation of filter order
N = log10((1/(delta2^2))-1)/(2*log10(omegas/omegap)) 
N = ceil(N) //Rounding off nearest integer                  
omegac = omegap;
h=buttmag(N,omegac,1:1000);//Analog Butterworth filter magnitude response
mag=20*log10(h);//Magntitude Response in dB
plot2d((1:1000),mag,[0,-180,1000,20]);
a=gca();
a.thickness = 3;
a.foreground = 1;
a.font_style = 9; 
xgrid(5)
xtitle('Magnitude Response of Butterworth LPF Filter Cutoff frequency = 500 Hz','Analog frequency in Hz--->','Magnitude in dB -->');