Skip to content

Releases: berndporr/iir1

Custom Python coefficients

29 Dec 12:04
Compare
Choose a tag to compare

I have removed the Elliptic / Legendre calculations and instead added an easy import from Python for these more obscure filters. Given that they are rarely used and the design was incomplete I leave it to the much better python design commands. There is demo code which shows how to generate the coefficients and copy/paste them over to C++.

IIRNotch added

27 Dec 16:16
Compare
Choose a tag to compare

The RBJ filters have now also the filter known as "IIRNotch" which is a pure digital notch with a Q factor which can be used to get maximum rejection and narrow bandwidth. iirdemo shows an example.

Documentation improvements / Exceptions

26 Dec 01:11
Compare
Choose a tag to compare

All functions which are relevant to the user are now properly documented and doxygen generates the appropriate documentation for it: in HTML and as a PDF via LaTeX.

Exceptions are now thrown if any frequency provided via setup() is above the Nyquist frequency.

Simplified setup()

25 Dec 14:45
Compare
Choose a tag to compare

The setup command no longer requires the filter order:

	const int order = 4;

	// 1st up: Butterworth lowpass
	Iir::Butterworth::LowPass<order> f;
	const float samplingrate = 1000; // Hz
	const float cutoff_frequency = 100; // Hz
	f.setup (samplingrate, cutoff_frequency);

this makes it much safer in that the filter order is now only specified once in a template argument and then remembered by the setup command.

RBJ bugfix

15 Dec 08:58
Compare
Choose a tag to compare

Removed assert statements which cause wrong asserts if compiled as s debug version.

Bug fix release

19 Mar 08:31
Compare
Choose a tag to compare

Fixed a bug which prevented it from compiling under the most recent gcc versions.

minor RBJ improvements / simplifications

07 Mar 01:30
Compare
Choose a tag to compare

RBJ is now always using DirectFormI internally as recommended by the original author.
Added also a reset function to the RBJ so that also there the delay line can be set to zero.

CMake, RBJ filters, unit tests and doc

06 Mar 20:17
Compare
Choose a tag to compare

Now unit tests are included which check that after an impulse input the filters relax to zero and won't generate NaN.
The RBJ filters now also have a "filter" command included which previously had to be added manually. With that addition the RBJs behave as all the other filter types and are no longer different in any way. Generally, a "setup" command does the trick. RBJ filters are widely used for audio processing. They are all 2nd order. Check them out.
The build system is now CMake so that for all different platforms just one build system is needed.
A couple of comments have been added to the header files to make it easier for doxygen to create meaningful documentation.
Both static and dynamic libraries are generated. For Linux/Mac the dynamic ones are recommended (.so) and for Windows the static one (.lib).

bug fix release

28 Oct 21:37
Compare
Choose a tag to compare

This library is based on DSPfilters by Vinnie Falco and there has been a bug report in the RBJ filters which I've worked into this library. Also there were a couple of functions which are not used but actually had bugs. I've removed these.