Created by Sergey Bakhurin (http://dsplib.org), Viacheslav N. Mezentsev (viacheslavmezentsev@ya.ru) in the scope of SMath project. Published by уни.
This is Open Source project. Sources shared under MIT Licence and available in public SVN repository.

Features of DSP Library

Functions (53 items):

  • dspl_bessel_i0("vector") — (x) modified bessel function of the first kind I0(x).
  • dspl_butter_ap("1:number", "2:number") — (x) calculates the transfer function H(s) coefficients of analog normalized lowpass Butterworth filter.
  • dspl_butter_ap_zp("1:number", "2:number") — (x) calculates arrays of zeros and poles for analog normlized lowpass Batterworth filter transfer function H(s).
  • dspl_cdft("vector") — (x) calculates the n-point discrete Fourier transform complex signal x.
  • dspl_cfft("vector") — (x) calculated n-points FFT for the complex vector x.
  • dspl_cgoertzel("1:vector", "2:vector") — (x) calculates samples of n-point DFT, according to ind indexes vector (Goertzel algorithm).
  • dspl_cheby1_ap("1:number", "2:number") — (x) calculates the transfer function H(s) coefficients of analog normalized lowpass Chebyshev type 1 filter.
  • dspl_cheby1_ap_zp("1:number", "2:number") — (ord,rp) calculates arrays of zeros and poles for analog normlized lowpass Chebyshev type 1 filter transfer function H(s).
  • dspl_cheby2_ap("1:number", "2:number") — (rs,ord) calculates the transfer function H(s) coefficients of analog normalized lowpass Chebyshev type 2 filter.
  • dspl_cheby2_ap_zp("1:number", "2:number") — (ord,rs) calculates arrays of zeros and poles for analog normlized lowpass Chebyshev type 2 filter transfer function H(s).
  • dspl_cidft("vector") — (x) calculates the n-point inverse discrete transform Fourier complex spectrum x.
  • dspl_cifft("vector") — (x) calculates n-point IFFT of complex data x.
  • dspl_concat("1:vector", "2:vector") — (a,b) concatenate arrays a and b.
  • dspl_conv("1:vector", "2:vector") — (a,b) convolves two complex vectors.
  • dspl_decimate("1:vector", "2:number") — (x,d) decimates the real vector x by d times.
  • dspl_dft("vector") — (x) calculates the n-point discrete Fourier transform real signal x.
  • dspl_ellip_ap("1:number", "2:number", "3:number") — (rp,rs,ord) calculates the transfer function H(s) coefficients of analog normalized lowpass elliptic filter.
  • dspl_ellip_ap_zp("1:number", "2:number", "3:number") — (ord,rp,rs) calculates arrays of zeros and poles for analog normlized lowpass elliptic filter transfer function H(s).
  • dspl_farrow_lagrange("1:vector", "2:number", "3:number") — (s,p,q) resamples the input signal s by p/q times.
  • dspl_farrow_lagrange("1:vector", "2:number", "3:number", "4:number") — (s,p,q,frd) resamples the input signal s by p/q times with a fractional delay offset frd.
  • dspl_farrow_spline("1:vector", "2:number", "3:number") — (s,p,q) resamples the input signal s by p/q times.
  • dspl_farrow_spline("1:vector", "2:number", "3:number", "4:number") — (s,p,q,frd) resamples the input signal s by p/q times with a fractional delay offset frd.
  • dspl_fcoeff("1:vector", "2:vector", "3:number", "4:number") — (t,x,T,nw) calculates Fourier series coefficient for real vector x.
  • dspl_fft("vector") — (x) calculated n-points FFT for the real vector x.
  • dspl_fft_mag("1:vector", "2:number") — (x,fs) calculates the frequency response for a real vector x.
  • dspl_fft_mag("1:vector", "2:number", "3:string") — (x,fs,flag) calculates the frequency response for a real vector x.
  • dspl_fft_shift("vector") — (x) perform a shift of the vector x, for use with the fft and ifft functions, in order to move the frequency 0 to the center.
  • dspl_filter_freq_resp("1:vector", "2:vector", "3:number", "4:vector", "5:string") — (b,a,ord,w,flag) calculates magnitude, phase response and group delay vectors for digital or analog filter.
  • dspl_filter_iir("1:vector", "2:vector", "3:number", "4:vector") — (b,a,ord,s) calculates real IIR filter output for real signal s.
  • dspl_fir_linphase("1:number", "2:number", "3:number", "4:string", "5:string", "6:number") — (ord,w0,w1,ftype,wtype,wprm) calculates linear-phase FIR filter coefficients by window method.
  • dspl_flipip("vector") — (x) flips complex vector x in the memory.
  • dspl_freqs("1:vector", "2:vector", "3:number", "4:vector") — (b,a,ord,w) calculates the values of the complex gain H(jω) of the analog filter.
  • dspl_freqz("1:vector", "2:vector", "3:number", "4:vector") — (b,a,ord,w) calculates the values of the complex gain H(e^jω) of the digital filter.
  • dspl_fseries("1:matrix", "2:vector") — (ws,t) reconstructs the time function from Fourier series coefficients.
  • dspl_fseries("1:vector", "2:vector", "3:vector") — (w,s,t) reconstructs the time function from Fourier series coefficients.
  • dspl_goertzel("1:vector", "2:vector") — (x,ind) calculates samples of n-point DFT, according to ind indexes vector (Goertzel algorithm).
  • dspl_group_delay("1:vector", "2:vector", "3:number", "4:string", "5:vector") — (b,a,ord,flag,w) calculates group delay for digital or analog filter.
  • dspl_iir("1:number", "2:number", "3:number", "4:number", "5:number", "6:string") — (rp,rs,ord,w0,w1,ftype) calculates the coefficients of the digital IIR filter transfer fucntion H(z).
  • dspl_linspace("1:number", "2:number", "3:number", "4:string") — (x0,x1,n,type) fills a vector with n linearly spaced elements between x0 and x1.
  • dspl_logspace("1:number", "2:number", "3:number", "4:string") — (x0,x1,n,type) fills a vector with n logarithmically spaced elements between 10^x0 and 10^x1.
  • dspl_ones("number") — (n) returns vector filled by ones values.
  • dspl_phase_delay("1:vector", "2:vector", "3:number", "4:string", "5:vector") — (b,a,ord,flag,w) calculates phase delay for digital or analog filter.
  • dspl_randb("number") — (n) generates a binary unipolar [0, 1] pseudo-random vector.
  • dspl_randb2("number") — (n) generates a binary unipolar [-1, 1] pseudo-random vector.
  • dspl_randi("1:number", "2:number", "3:number") — (n,start,stop) generates a pseudo-random vector of integers ranging from start to stop inclusive.
  • dspl_randinit("1:string", "2:number") — (type,seed) pseudorandom numbers generators initialization.
  • dspl_randn("1:number", "2:number", "3:number") — (n,mu,sigma) generates a vector of normally distributed pseudo-random numbers.
  • dspl_randu("number") — (n) generates a vector of uniformly distributed pseudo-random numbers in the range from 0 to 1.
  • dspl_scale_lin("1:vector", "2:number", "3:number", "4:number", "5:number") — (x,xmin,xmax,dx,h) vector x linear transformation.
  • dspl_sum("vector") — (x) returns the sum of the elements of a real vector x.
  • dspl_sum_sqr("vector") — (x) returns the sum of squares of the elements of a real vector x.
  • dspl_window("1:number", "2:string") — (n,wtype) calculates a periodic or symmetric window function.
  • dspl_window("1:number", "2:string", "3:number") — (n,wtype,wprm) calculates a periodic or symmetric window function.