Releases: berndporr/iir1
Bugfix release
Fixes a bug where the output resulted into zero if the order in setup() was lower than the order in the template argument.
Thanks to Thomas Gulde who pointed this out!
Added documentation for setup functions overriding the filter order
Usually the order is only specified when instantiating the filter which both reserves the memory and then calculates the corresponding coefficients. This is the standard approach.
However for changes of the order during runtime one can specify the max order in the template parameter which then reserves space and specify the actual order later in setup(). To prevent a segmentation fault the setup command now checks if the actual order is equal or less to the instantiated order via the template parameter.
CMake 2.8 support
Thanks, Nils Hasler from thecaptury to submit this pull request so that also cmake 2.8 is possible to use.
RBJ type conversion fix
The filter routines for RBJ did only an implicit type conversion to double. This is now explicit so that no warnings are generated by clang/visual C++. Added also super pedantic compiler warnings so that everything is 100%.
Performance / precision improvements
Removed an unnecessary type cast in the filter routine which now makes sure internal processing from biquad to biquad is double all the time and that should also improve performance.
1.7.2
Optimsed filter operation / removed obsolete files
Filtering ops optimised and also removed the utils.cpp/h which is no longer needed.
Closed solution polynomials only
I have removed the Bessel calculation from the library which has been not very precise and bloated the code. Only those filters are implemented which have a closed solution for the poles / zeros: Butterworth, Chebyshev and RBJ.
Better to get the zeros/poles from Python's scipy with reproducible results. No point of finding the roots of polynomials every time the filter starts up with the risk of not converging.
See the example in iirdemo how to design in Python and then copy/paste the coefficients over.
RBJ updates
Added more doc to the mysterious RBJ filters and a default Q factor for a smooth transition without any resonance peak.
The filters are very useful for high sampling rate applications as they are directly implemented as one single IIR biquad. For example very useful for audio and faster than a 2nd order Butterworth.
Windows fix
Fixed a compiler issue under Visual C++. Storage needs to be public.