scalasignal icon indicating copy to clipboard operation
scalasignal copied to clipboard

Signal Processing in Scala

= 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.