2019-01-04 08:45:22 +00:00
DiFi++
======
2019-10-10 02:31:00 +00:00
[License BSD 2-Clause ](https://tldrlegal.com/license/bsd-2-clause-license-(freebsd )#fulltext )
2019-01-04 08:45:22 +00:00
DiFi++ is a small c++ header-only library for **DI**gital **FI**lters based on rational transfer functions such as the butterworth filter and the moving average filter. DiFi++ is using the Eigen library for math computations.
The implementation is based on well written article from Neil Robertson.
Please check out the followings
2019-10-29 08:55:25 +00:00
* [Butterworth filter ](https://www.dsprelated.com/showarticle/1119.php )
* [Highpass filters ](https://www.dsprelated.com/showarticle/1135.php )
* [Bandpass filters ](https://www.dsprelated.com/showarticle/1128.php )
* [Band-reject filters ](https://www.dsprelated.com/showarticle/1131.php )
2019-01-04 08:45:22 +00:00
The library has been tested against Matlab results.
A doxygen documentation is generated when compiling.
Installing
-----
This is an header-only library so there is nothing to compile (but the documentation)
```bash
git clone --recursive https://github.com/vsamy/DiFi++
cd DiFi++
mkdir build
cd build
cmake ..
make install
```
2019-10-29 08:55:25 +00:00
Testing
-----
To test you need to install [catch2 ](https://github.com/catchorg/Catch2 ) on your system.
2019-01-04 08:45:22 +00:00
Note
-----
2019-10-29 08:55:25 +00:00
2019-01-04 08:45:22 +00:00
The method used is close but somewhat different from Matlab methods and Butterworth band-reject has quite different results (precision of 1e-8).