Home › Tcl Math Library tcllib
math::filters
Digital filters
literal type exactly as shown
argument replace with your value
?optional? may be omitted
Synopsis#
package require Tcl 8.6 9
package require TclOO
package require math::filters ?0.3?
::math::filters::filterButterworth lowpass order samplefreq cutofffreq
::math::filters::filter coeffs data
::math::filters::filterObj new coeffs yinit
$filterObj filter x
$filterObj reset
Description#
The math::filters package implements digital filters, notably Butterworth low-pass and high-pass filters. The procedures allow to filter an entire data series as well as filter data one by one.
Procedures#
The package defines the following public procedures:
::math::filters::filterButterworthlowpass order samplefreq cutofffreq#-
Determine the coefficients for a Butterworth filter of given order. The coefficients are returned as a list of the x-coefficients, the y-coefficients and the scale. The formula is (n is the filter order):
n n scale * y_k = sum x_(k-i) + sum y_(k-i) i=0 i=1- bool lowpass
-
Generate a low-pass filter (1) or a high-pass filter (0)
- integer lowpass
-
The order of the filter to be generated
- double samplefreq
-
Sampling frequency of the data series
- double cutofffreq
-
Cut-off frequency for the filter
::math::filters::filtercoeffs data#-
Filter the entire data series based on the filter coefficients.
- list coeffs
-
List of coefficients as generated by filterButterworth (or in fact any similar list of coefficients)
- list data
-
Data to be filtered
::math::filters::filterObjnew coeffs yinit#-
Create a filter object. The initial x data are taken as zero. The initial y data can be prescribed. If they are not given, they are taken as zero as well.
- list coeffs
-
List of coefficients as generated by filterButterworth (or in fact any similar list of coefficients)
- list yinit
-
(Optional) initial data for the filter result.
$filterObjfilter x-
Filter a single value and return the result.
- double x
-
The value to be filtered
$filterObjreset-
Reset the filter object (start anew)
Category#
Mathematics
Copyright#
Copyright (c) 2020 by Arjen Markus