An open API service indexing awesome lists of open source software.

https://github.com/lancelet/scalasignal

Signal Processing in Scala
https://github.com/lancelet/scalasignal

Last synced: about 1 month ago
JSON representation

Signal Processing in Scala

Awesome Lists containing this project

README

        

= ScalaSignal - Signal Processing Library for Scala =

== Introduction ==

ScalaSignal is a fledgling signal processing library for the Scala
language, with the eventual aim of implementing much of the functionality
found in other signal processing toolboxen.

ScalaSignal is released under the LGPL. See LICENSE for details.
Copyright (C) Jonathan Merritt 2013.

== Current Functionality ==

ScalaSignal currently implements the following:

- `bandwidth(pd, fract)` - Signal bandwidth estimation
- `butterSOSEven(n, Wn)` - SOS coefficients for even-order Butterworth
filters
- `detrend(x)` - Removes a linear trend from a signal
- `filter(b, a, x, si)` - digital filtering with FIR or IIR filters
- `filtfilt(b, a, x)` - forward-reverse zero phase lag digital filtering
- `fft(x)` - Fast Fourier Transform
- `ifft(h)` - Inverse Fast Fourier Transform
- `psd(x, fs)` - Power spectral density estimation
- `sosfilt(sos, x)` - second order section (SOS) / biquad filtering
- Windowing functions:
** `hann(n, periodic)` - Hann (Hanning / raised cosine) window
** `rectwin(n)` - rectangular (identity) window
** `tukeywin(n, a)` - Tukey (tapered cosine) window

== Installation ==

Check out the project from GitHub (this command uses the Read-Only
repository):

$ git clone git://github.com/lancelet/scalasignal.git

This will create a new directory called `scalasignal`. Next, use
https://github.com/harrah/xsbt[sbt/xsbt] to compile the project:

$ cd scalasignal
$ sbt

https://github.com/harrah/xsbt[sbt/xsbt] will launch, and collect
everything it needs for the project. Within `sbt`, you can then run:

> test

This will run the packaged unit tests for the project.