Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

uk.me.berndporr:iirj

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

uk.me.berndporr:iirj

A selection of standard IIR filters such as Butterworth, Bessel and Chebyshev which are set up with a single command and then can be used for realtime processing: outsample = filter(insample).

  • 1.7
  • Source
  • Maven
  • Socket score

Version published
Maintainers
1
Source

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

Local install

  • Clone this repository
  • Run mvn install to add it to your local maven respository

Maven central

At Maven Central click on the iirj version number and then choose the appropriate installation option, for example for Android studio.

Android Studio

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

Android studio will automatically notify you if a new IIR library is available.

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 butterworth, bessel, 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]

FAQs

Package last updated on 07 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc