scidart library

Functions

arrayBesselI0(Array a) Array
Return modified Bessel function of order 0 for each element of Array.
besselI0(double x) double
Return modified Bessel function of order 0 for a number.
blackman(int M, {bool sym = true}) Array
Return a Blackman window. The Blackman window is a taper formed by using the first three terms of a summation of cosines. It was designed to have close to the minimal leakage possible. It is close to optimal, only slightly worse than a Kaiser window.
blackmanharris(int M, {bool sym = true}) Array
Return a minimum 4-term Blackman-Harris window.
convolution(Array input, Array kernel, {dynamic fast = false}) Array
Compute the 1D convolution of 2 signals
convolutionCircularComplex(ArrayComplex input, ArrayComplex kernel, {dynamic keepLength = false}) ArrayComplex
Computes the circular convolution of the given complex vectors. Each vector's length must be the same.
convolutionComplex(ArrayComplex input, ArrayComplex kernel) ArrayComplex
Compute the 1D convolution of 2 signals and return a ComplexArray
correlate(Array input, Array kernel, {dynamic fast = false}) Array
Compute the 1D cross-correlation of 2 signals
correlateComplex(ArrayComplex input, ArrayComplex kernel) ArrayComplex
Compute the 1D cross-correlation of 2 complex signals
dbfft(Array x, double fs, {String? window, double? ref}) List
Calculate spectrum in dB scale
fft(ArrayComplex x, {int? n, bool normalization = false, bool forceDft = false}) ArrayComplex
Compute the one-dimensional discrete Fourier Transform. Uses recursive Cooley–Tukey algorithm if N is power of 2 otherwise uses Discrete Fourier Transform algorithm.
fftFreq(int n, {double d = 1.0, bool realFrequenciesOnly = false}) Array
Return the Discrete Fourier Transform sample frequencies. The returned float array f contains the frequency bin centers in cycles per unit of the sample spacing (with zero at the start). For instance, if the sample spacing is in seconds, then the frequency unit is cycles/second. Given a window length n and a sample spacing d:: f = 0, 1, ..., n/2-1, -n/2, ..., -1 / (dn) if n is even f = 0, 1, ..., (n-1)/2, -(n-1)/2, ..., -1 / (dn) if n is odd
findPeaks(Array a, {double? threshold}) List
Find the peak of Array
firwin(int numtaps, Array cutoff, {double? width, dynamic window = 'hamming', dynamic pass_zero = true, bool scale = true, double? nyq, double? fs}) → dynamic
FIR filter design using the window method. This function computes the coefficients of a finite impulse response filter. The filter will have linear phase; it will be Type I if numtaps is odd and Type II if numtaps is even. Type II filters always have zero response at the Nyquist frequency, so a ValueError exception is raised if firwin is called with numtaps even and having a passband whose right end is at the Nyquist frequency.
flattop(int M, {bool sym = true}) Array
Return a flat top window.
generalCosine(int M, Array a, {bool sym = true}) Array
Generic weighted sum of cosine terms window
generalHamming(int M, double alpha, {bool sym = true}) Array
Return a generalized Hamming window. The generalized Hamming window is constructed by multiplying a rectangular window by one period of a cosine function 1_.
getWindow(dynamic window, int Nx, {bool fftbins = true}) Array
Return a window.
hamming(int M, {bool sym = true}) Array
Return a Hamming window. The Hamming window is a taper formed by using a raised cosine with non-zero endpoints, optimized to minimize the nearest side lobe.
hann(int M, {bool sym = true}) Array
Return a Hann window. The Hann window is a taper formed by using a raised cosine or sine-squared with ends that touch zero.
ifft(ArrayComplex X) ArrayComplex
Compute the one-dimensional inverse discrete Fourier Transform.
kaiser(int M, double beta, {bool sym = true}) Array
Return a Kaiser window. The Kaiser window is a taper formed by using a Bessel function.
kaiserAtten(int numtaps, double width) double
Compute the attenuation of a Kaiser FIR filter. Given the number of taps N and the transition width width, compute the attenuation a in dB, given by Kaiser's formula: a = 2.285 * (N - 1) * pi * width + 7.95
kaiserBeta(double a) double
Compute the Kaiser parameter beta, given the attenuation a.
lfilter(Array b, Array a, Array x) Array
Filter data along one-dimension with an IIR or FIR filter. The filter is a direct form II transposed implementation of the standard difference equation.
nuttall(int M, {bool sym = true}) Array
Return a minimum 4-term Blackman-Harris window according to Nuttall. This variation is called "Nuttall4c" by Heinzel. 1_
rfft(Array x, {dynamic n}) ArrayComplex
Compute the one-dimensional discrete Fourier Transform for a Real input.
rifft(ArrayComplex x) Array
Compute the one-dimensional inverse discrete Fourier Transform and return a Real output.