forked from berndporr/iir1
-
Notifications
You must be signed in to change notification settings - Fork 0
IIR realtime filter library written in C++
License
nlholdem/iir1
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a powerful C++ filter library for Linux & Mac OSX which implements all standard IIR filters such as Bessel, Butterworth, Elliptic and Chebychev. The data format is floating-point throughout. There is no need to resort to MATLAB/OCTAVE/Python to calculate the filter coefficients because the library does it by itself. Just provide the sampling rate, cutoff frequency, filter order and the filter is ready to be used. For example for a lowpass: Init: #define order 4 Iir::Butterworth::LowPass<order> f; const float samplingrate = 1000; // Hz const float cutoff_frequency = 5; // Hz f.setup (order, samplingrate, cutoff_frequency); Realtime filtering sample by sample: float y = f.filter(x); The installation is done with the standard sequence: ./autogen.sh CXXFLAGS="-O3 -march=native" ./configure make sudo make install sudo ldconfig If you have Ubuntu xenial, artful or lucid then you can install it as a pre-compiled package: sudo add-apt-repository ppa:berndporr/usbdux Usage is very simple. A demo program is in the "demo" directory which sets up a lowpass and a bandstop filter. A delta pulse is sent into the filters and saved as a gnuplot/octave file. For the documentation have a look at Documentation.txt This library has been adapted form Vinnie Falco's original work which can be found here: https://github.com/vinniefalco/DSPFilters Enjoy! Bernd Porr
About
IIR realtime filter library written in C++
Resources
License
Stars
Watchers
Forks
33FB
Packages 0
No packages published
Languages
- C++ 96.6%
- C 2.4%
- Other 1.0%