electricpy.sim.digifiltersim¶
- electricpy.sim.digifiltersim(fin, filter, freqs, NN=1000, dt=0.01, title='', legend=True, xlim=False, xmxscale=None, figsize=None)[source]¶
Digital Filter Simulator.
Given an input function and filter parameters (specified in the z-domain) this function will plot the input function over NN time-steps of an unspecified size (the step-size must be specified outside the scope of this function). This function will also plot the resultant (output) function over the NN time-steps after having been filtered by that filter which is specified.
The applied filter should be of the form:
\[\frac{b_0+b_1z^{-1}+b_2z^{-2}}{1-a_1z^{-1}-a_2z^{-2}}\]Where each row corresponds to a 1- or 2-pole filter.
- Parameters:
fin (function) – The input function, must be callable with specified step-size.
filter (array_like) –
The filter parameter set as shown here:
[[ a11, a12, b10, b11, b12], [ a21, a22, b20, b21, b22], [ ... ], [ an1, an2, bn0, bn1, bn2]]
freqs (list of float) – The set of frequencies to plot the input and output for.
NN (int, optional) – The number of time-steps to be plotted; default=1000
dt (float, optional) – The time-step size; default=0.01
title (str, optional) – The title presented on each plot; default=””
xlim (list, optional) – Limit in x-axis for graph plot. Accepts tuple of: (xmin, xmax). default=False.
xmxscale (float, optional) – Scaling limit of the x-axis, will set the maximum of the x-axis to xmxscale/(dt*freq) where freq is the current frequency being plotted.
legend (str, optional) – An argument to control whether the legend is shown, default=True.
figsize (tuple, optional) – The figure dimensions for each subplot, default=None