All Projects → berndporr → iirj

berndporr / iirj

Licence: Apache-2.0 License
An efficient IIR filter library written in JAVA

Programming Languages

java
68154 projects - #9 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to iirj

Iir1
IIR realtime filter library written in C++
Stars: ✭ 224 (+135.79%)
Mutual labels:  signal-processing, filter, filters
Moogladders
🔉 Collected C++ implementations of the classic 4-pole moog ladder filter
Stars: ✭ 211 (+122.11%)
Mutual labels:  signal-processing, filters
spark-ar-creators
List of 9500 (and counting) Spark AR Creators. Open an issue or contact me if you want to be added.❤️
Stars: ✭ 122 (+28.42%)
Mutual labels:  filter, filters
susa
High Performance Computing (HPC) and Signal Processing Framework
Stars: ✭ 55 (-42.11%)
Mutual labels:  signal-processing, filters
filtering-stft-and-laplace-transform
Simple demo of filtering signal with an LPF and plotting its Short-Time Fourier Transform (STFT) and Laplace transform, in Python.
Stars: ✭ 50 (-47.37%)
Mutual labels:  signal-processing, filter
filter-c
Elegant Butterworth and Chebyshev filter implemented in C, with float/double precision support. Works well on many platforms. You can also use this package in C++ and bridge to many other languages for good performance.
Stars: ✭ 56 (-41.05%)
Mutual labels:  signal-processing, filter
django-admin-search
Modal filter for django admin
Stars: ✭ 60 (-36.84%)
Mutual labels:  filter, filters
Pgo
Go library for PHP community with convenient functions
Stars: ✭ 51 (-46.32%)
Mutual labels:  filter, filters
Filters
An Arduino finite impulse response and infinite impulse response filter library.
Stars: ✭ 36 (-62.11%)
Mutual labels:  filter, iir
vesdk-android-demo
VideoEditor SDK: A fully customizable video editor for your app.
Stars: ✭ 90 (-5.26%)
Mutual labels:  filter, filters
Android-FilterView
Build a simple filter view with customizable controls.
Stars: ✭ 20 (-78.95%)
Mutual labels:  filter, filters
Pixelsdk
The modern photo and video editor for your iPhone / iPad app. A fully customizable image & video editing iOS Swift framework.
Stars: ✭ 192 (+102.11%)
Mutual labels:  filter, filters
Gl React Instagramfilters
Instagram filters for gl-react and gl-react-native
Stars: ✭ 157 (+65.26%)
Mutual labels:  filter, filters
Wavelets.jl
A Julia package for fast discrete wavelet transforms and utilities
Stars: ✭ 118 (+24.21%)
Mutual labels:  signal-processing, filter
Obs Streamfx
StreamFX is a plugin for OBS Studio which adds many new effects, filters, sources, transitions and encoders - all for free! Be it 3D Transform, Blur, complex Masking, or even custom shaders, you'll find it all here.
Stars: ✭ 1,128 (+1087.37%)
Mutual labels:  filter, filters
express-mquery
Expose mongoose query API through HTTP request.
Stars: ✭ 37 (-61.05%)
Mutual labels:  filter, filters
Ewma
Exponentially Weighted Moving Average Filter
Stars: ✭ 21 (-77.89%)
Mutual labels:  filter, filters
Pornlist
Ad-blocking porn websites filter list for Adblock Plus and uBlock Origin.
Stars: ✭ 21 (-77.89%)
Mutual labels:  filter, filters
DDCToolbox
Create and edit DDC headset correction files
Stars: ✭ 70 (-26.32%)
Mutual labels:  signal-processing, iir
filter-bar
适用于移动端列表页面的筛选条插件。
Stars: ✭ 14 (-85.26%)
Mutual labels:  filter, filter-plugin

iirj

An IIR filter library written in JAVA.

Highpass, lowpass, bandpass and bandstop as Butterworth, Bessel and Chebyshev Type I/II.

You can also calculate the filter coefficients with Python's scipy and then create your custom IIR filter. See the python-design subdirectory.

It's based on the IIR1 library [https://github.com/berndporr/iir1] which in turn is based on Vinnie Falco's DSPFilters [https://github.com/vinniefalco/DSPFilters].

alt tag

Usage

import uk.me.berndporr.iirj.*;

Constructor

Butterworth butterworth = new Butterworth();

Initialisation

  1. Bandstop

    butterworth.bandStop(order,Samplingfreq,Center freq,Width in frequ);

  2. Bandpass

    butterworth.bandPass(order,Samplingfreq,Center freq,Width in frequ);

  3. Lowpass

    butterworth.lowPass(order,Samplingfreq,Cutoff frequ);

  4. Highpass

    butterworth.highPass(order,Samplingfreq,Cutoff frequ);

Filtering

Sample by sample for realtime processing:

v = butterworth.filter(v)

Coding examples

See the *Test.java files for complete examples for all filter types. Run them with mvn test. These test programs write the different impulse responses of the filters to text files.

Installation

Just run: mvn install to add it to your local maven respository or just point your project to Maven Central:

Maven central

Click on Maven Central to get the latest version.

Android Studio

dependencies {
    implementation group: 'uk.me.berndporr', name:'iirj', version: '1.4'
}

Documentation

  • Online: https://berndporr.github.io/iirj/
  • mvn javadoc:javadoc generates the JavaDocs
  • mvn site generates the web pages containing the documentation under target/site describing all commands in detail.

Testing

mvn test creates impulse responses in the subdirectories for the different filters: target/surefire-reports.

To see the impulse and frequency responses run:

python3 ./plot_impulse_fresponse.py <filter>

where is is bessel, butterworth, chebyshevI or chebyshevII.

The script DetectorTest uses a bandpass filter to detect the heartbeats of an ECG recording faking a matched filter which could be also seen as a 1st approximation of a wavelet. The heartrate is stored in hr.txt.

Have fun

/Bernd Porr [http://www.berndporr.me.uk]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].