Description |
This picture shows the frequency response of all the classic electronic filters. They can be both analog or digital: the output is the same. The first one is the Butterworth filter, that is the smoothest one but it has no ripples. The last one is the Elliptic filter: it is the sharpest one but it shows ripples in both the pass-band and the stop-band. The two Chebyshev filter in the middle have an average behavior, being quite sharp with ripples in part of the spectrum. All the plots have been obtained using the same parameters and the same number of coefficients, thus showing only the properties of the different filters.
In order to make it, first I created a file called electronic_filters.dat with the following Matlab code:
% order of the filters
N = 5;
% cut-off normalized frequency
band = 0.5;
% ripple in the pass-band (dB)
Rpass = 0.5;
% ripple in the stop-band (dB)
Rstop = 20;
w = 0:pi/255:pi;
[num, den] = butter(N, band, 'low');
butterfilter = abs(freqz(num, den ,w));
[num, den] = cheby1(N, Rpass, band);
cheby1filter = abs(freqz(num, den ,w));
[num, den] = cheby2(N, Rstop, band);
cheby2filter = abs(freqz(num, den ,w));
[num, den] = ellip(N, Rpass, Rstop, band);
ellipfilter = abs(freqz(num, den ,w));
F = [w/pi ; butterfilter; cheby1filter; cheby2filter; ellipfilter];
F = F';
save -ascii 'electronic_filters.dat' F;
then I created the plot with the following Gnuplot code:
# set the output
set terminal svg enhanced size 1200 960 fname "Times" fsize 25
set output "Electronic_linear_filters.svg"
# axis properties
set xrange [0:1]
set yrange [0:1.1]
set xtics axis
set xtics axis
set key off
# Set up a four-pane multiplot
set size 1,1
set origin 0,0
set multiplot
set title "Butterworth"
set size 0.5,0.5
set origin 0,0.53
plot "electronic_filters.dat" using 1:2 with lines linewidth 3
set title "Chebyshev type 1"
set size 0.5,0.5
set origin 0.5,0.53
plot "electronic_filters.dat" using 1:3 with lines linewidth 3
set title "Chebyshev type 2"
set size 0.5,0.5
set origin 0,0.03
plot "electronic_filters.dat" using 1:4 with lines linewidth 3
set title "Elliptic"
set size 0.5,0.5
set origin 0.5,0.03
plot "electronic_filters.dat" using 1:5 with lines linewidth 3
|