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 © Jonathan Merritt 2013.
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
-
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
sbt/xsbt to compile the project:
$ cd scalasignal $ sbt
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.