-
Notifications
You must be signed in to change notification settings - Fork 690
Signal Processing Cheat Sheet
alex-kachur-jibo edited this page Oct 23, 2017
·
7 revisions
needs import breeze.signal._
Note: many of these functions have extensive optional parameters in breeze.
See the ScalaDoc for a description of each parameter.
Operation | Breeze | Numpy | Matlab |
---|---|---|---|
Convolve | convolve[Input, KernelType, Output] |
conv(u,v) |
conv(u,v) |
Correlate | correlate[Input, KernelType, Output] |
xcorr(u,v) |
xcorr(u,v) |
these Breeze functions will use fft convolution by default for floating point DenseMatrixes and DenseVectors. For Int and Long DV/DMs, you can specify fft convolution by specifying the optional argument optMethod = OptMethod.FFT
Operation | Breeze | Numpy | Matlab |
---|---|---|---|
1D Fourier transform | fourierTr( data: Array[Complex ) |
fft( a ) |
fft( a ) |
1D Inverse Fourier transform | iFourierTr(data: Array[Complex]) |
ifft( a ) |
ifft( a ) |
2D Fourier Transform | fourierTr2C(data: Array[Array[Complex]]) |
fft2( a ) |
fft2( a ) |
2D Inverse Fourier Transform | iFourierTr( data: Array[Array[Complex]] ) |
ifft2( a ) |
ifft2( a ) |
Operation | Breeze | Numpy | Matlab |
---|---|---|---|
Fourier frequencies |
fourierFreq( n, dt = (timestep) ) or fourierFreq( n, fs = (sample freq) )
|
fftfreq(n, dt) |
--- |
Fourier shift | fourierShift( data: Array[Double] ) |
fftshift( a ) |
fftshift( a ) |
(inverse) | iFourierShift( data: Array[Double] ) |
ifftshift( a ) |
ifftshift( a ) |
Operation | Breeze | Numpy | Matlab |
---|---|---|---|
Filter | filter( data: Input, kernel: Kernel, overhang: OptOverhang = OptOverhang.PreserveLength, padding: OptPadding = OptPadding.Zero ) |
--- |
--- |
Bandpass Filter | filterBP( data: Array[Double], omegaLow: Double, omegaHigh: Double, sampleRate: Double, taps = 512 ) |
--- |
--- |
Bandstop Filter | filterBS( data: Array[Double], omegaLow: Double, omegaHigh: Double, sampleRate: Double, taps = 512 ) |
--- |
--- |
Lowpass Filter | filterLP( data: Array[Double], omega: Double, sampleRate: Double, taps = 512 ) |
--- |
--- |
Highpass Filter | filterHP( data: Array[Double], omega: Double, sampleRate: Double, taps = 512 ) |
--- |
--- |
Median Filter | filterMedian( data: DenseVector[Input], windowLength: Int, overhang: OptOverhang = OptOverhang.PreserveLength ) |
--- |
--- |
Breeze is a numerical processing library for Scala. http://www.scalanlp.org