Signal Processing Cheat Sheet - scalanlp/breeze GitHub Wiki
needs import breeze.signal._
Note: many of these functions have extensive optional parameters in breeze.
See the ScalaDoc for a description of each parameter.
Basic Operations
| 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
Transforms
| 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 ) |
Convenience Functions for DFT
| 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 ) |
Filtering
| 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 ) |
--- |
--- |