Analog Filter Design

Mathematica provides a comprehensive set of methods for designing analog filters.

Analog Filter Transfer Functions

ButterworthFilterModelButterworth filter model
Chebyshev1FilterModelChebyshev type 1 filter model
Chebyshev2FilterModelChebyshev type 2 filter model
EllipticFilterModelelliptic filter model
BesselFilterModelBessel filter model

Analog filter design methods.

Each one of the classic filters is defined by a particular choice of the function , where defines the order of the filter.

Here is the Chebyshev polynomial of the first kind of order and is the Chebyshev rational function.
The Bessel filter is another popular analog filter with a formulation in terms of rational polynomials.

TransferFunctionModeltransfer function of the analog filter
TransferFunctionExpandexpanded transfer function
TransferFunctionFactorfactored transfer function

Representation of analog filters.

A second-order Butterworth filter model with cutoff frequency at .
In[52]:=
Click for copyable input
Out[52]=
Plot the magnitude of the transfer function of an order 5 Butterworth filter.
In[26]:=
Click for copyable input
Out[26]=
Transfer functions of selected orders of lowpass analog filters.
Plot the magnitude of the transfer functions of selected orders of lowpass analog filters.

Poles and Zeros of Analog Filters

TransferFunctionPolesextract poles of analog filters
TransferFunctionZerosextract zeros of analog filters

Poles and zeros of analog filters.

Show poles of a Butterworth filter.
In[70]:=
Click for copyable input
Out[70]=
In[94]:=
Click for copyable input
Out[94]=
Poles and zeros of an elliptic filter.
In[87]:=
Click for copyable input
In[90]:=
Click for copyable input
Out[90]=
In[91]:=
Click for copyable input
Out[91]=

Frequency Response of Analog Filters

Squared frequency response of a second-order Butterworth filter.
In[116]:=
Click for copyable input
Out[117]=
Plot the magnitude squared of the frequency response.
In[127]:=
Click for copyable input
Out[127]=
Bode plot of the filter.
In[128]:=
Click for copyable input
Out[128]=
Bode plots of the selected orders of lowpass analog filters.

Output Response

Symbolic step response of a Butterworth filter.
In[145]:=
Click for copyable input
Out[146]=
Step response of the filter computed numerically.
In[143]:=
Click for copyable input
Out[143]=
Plot the step response.
In[144]:=
Click for copyable input
Out[144]=
Sinusoidal response of a Butterworth filter as a function of frequency.
In[68]:=
Click for copyable input
Out[68]=
Filter out the high-frequency sinusoid.
In[88]:=
Click for copyable input
Out[91]=
Filter out the low-frequency sinusoid.
In[85]:=
Click for copyable input
Out[87]=

Different Types of Analog Filters

Create Filters of Different Types

Create a lowpass Butterworth filter with edge frequencies at 500Hz and 1000Hz and attenuations of 1dB and 20dB for passband and stopband respectively.
In[118]:=
Click for copyable input
Out[119]=
Create a highpass Butterworth filter with edge frequencies at 500Hz and 1000Hz and attenuations of 1dB and 20dB for passband and stopband respectively.
In[22]:=
Click for copyable input
Out[23]=
Create a bandpass Butterworth filter with edge frequencies at 500Hz and 1000Hz and attenuations of 1dB and 20dB for passband and stopband respectively.
In[60]:=
Click for copyable input
Out[61]=
Create a bandstop Butterworth filter with edge frequencies at 500Hz and 1500Hz and attenuations of 1dB and 20dB for passband and stopband respectively.
In[66]:=
Click for copyable input
Out[67]=

Convert between Filter Types

TransferFunctionTransformtransform a transfer function

Convert between different filter types.

Convert a lowpass analog prototype to highpass, bandpass, and bandstop.
In[90]:=
Click for copyable input
Out[90]=
New to Mathematica? Find your learning path »
Have a question? Ask support »