Sergey Bakhurin (http://dsplib.org), Viacheslav N. Mezentsev (viacheslavmezentsev@ya.ru)SMath项目的作用域中创建。由уни发布。
这是一个开源项目。MIT许可证下共享的源代码SVN存储库

Features of DSP Library

版本2.0.8501.16571

Functions

Additional components that add new mathematical functions to the SMath Studio program, necessary for solving problems from various fields.

  1. dspl_bessel_i0("vector")
    (x) modified bessel function of the first kind I0(x).
  2. dspl_butter_ap("1:number", "2:number")
    (x) calculates the transfer function H(s) coefficients of analog normalized lowpass Butterworth filter.
  3. 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).
  4. dspl_cdft("vector")
    (x) calculates the n-point discrete Fourier transform complex signal x.
  5. dspl_cfft("vector")
    (x) calculated n-points FFT for the complex vector x.
  6. dspl_cgoertzel("1:vector", "2:vector")
    (x) calculates samples of n-point DFT, according to ind indexes vector (Goertzel algorithm).
  7. dspl_cheby1_ap("1:number", "2:number")
    (x) calculates the transfer function H(s) coefficients of analog normalized lowpass Chebyshev type 1 filter.
  8. 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).
  9. dspl_cheby2_ap("1:number", "2:number")
    (rs,ord) calculates the transfer function H(s) coefficients of analog normalized lowpass Chebyshev type 2 filter.
  10. 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).
  11. dspl_cidft("vector")
    (x) calculates the n-point inverse discrete transform Fourier complex spectrum x.
  12. dspl_cifft("vector")
    (x) calculates n-point IFFT of complex data x.
  13. dspl_concat("1:vector", "2:vector")
    (a,b) concatenate arrays a and b.
  14. dspl_conv("1:vector", "2:vector")
    (a,b) convolves two complex vectors.
  15. dspl_decimate("1:vector", "2:number")
    (x,d) decimates the real vector x by d times.
  16. dspl_dft("vector")
    (x) calculates the n-point discrete Fourier transform real signal x.
  17. 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.
  18. 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).
  19. dspl_farrow_lagrange("1:vector", "2:number", "3:number")
    (s,p,q) resamples the input signal s by p/q times.
  20. 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.
  21. dspl_farrow_spline("1:vector", "2:number", "3:number")
    (s,p,q) resamples the input signal s by p/q times.
  22. 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.
  23. dspl_fcoeff("1:vector", "2:vector", "3:number", "4:number")
    (t,x,T,nw) calculates Fourier series coefficient for real vector x.
  24. dspl_fft("vector")
    (x) calculated n-points FFT for the real vector x.
  25. dspl_fft_mag("1:vector", "2:number")
    (x,fs) calculates the frequency response for a real vector x.
  26. dspl_fft_mag("1:vector", "2:number", "3:string")
    (x,fs,flag) calculates the frequency response for a real vector x.
  27. 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.
  28. 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.
  29. dspl_filter_iir("1:vector", "2:vector", "3:number", "4:vector")
    (b,a,ord,s) calculates real IIR filter output for real signal s.
  30. 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.
  31. dspl_flipip("vector")
    (x) flips complex vector x in the memory.
  32. 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.
  33. 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.
  34. dspl_fseries("1:matrix", "2:vector")
    (ws,t) reconstructs the time function from Fourier series coefficients.
  35. dspl_fseries("1:vector", "2:vector", "3:vector")
    (w,s,t) reconstructs the time function from Fourier series coefficients.
  36. dspl_goertzel("1:vector", "2:vector")
    (x,ind) calculates samples of n-point DFT, according to ind indexes vector (Goertzel algorithm).
  37. 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.
  38. 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).
  39. 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.
  40. 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.
  41. dspl_ones("number")
    (n) returns vector filled by ones values.
  42. 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.
  43. dspl_randb("number")
    (n) generates a binary unipolar [0, 1] pseudo-random vector.
  44. dspl_randb2("number")
    (n) generates a binary unipolar [-1, 1] pseudo-random vector.
  45. dspl_randi("1:number", "2:number", "3:number")
    (n,start,stop) generates a pseudo-random vector of integers ranging from start to stop inclusive.
  46. dspl_randinit("1:string", "2:number")
    (type,seed) pseudorandom numbers generators initialization.
  47. dspl_randn("1:number", "2:number", "3:number")
    (n,mu,sigma) generates a vector of normally distributed pseudo-random numbers.
  48. dspl_randu("number")
    (n) generates a vector of uniformly distributed pseudo-random numbers in the range from 0 to 1.
  49. dspl_scale_lin("1:vector", "2:number", "3:number", "4:number", "5:number")
    (x,xmin,xmax,dx,h) vector x linear transformation.
  50. dspl_sum("vector")
    (x) returns the sum of the elements of a real vector x.
  51. dspl_sum_sqr("vector")
    (x) returns the sum of squares of the elements of a real vector x.
  52. dspl_window("1:number", "2:string")
    (n,wtype) calculates a periodic or symmetric window function.
  53. dspl_window("1:number", "2:string", "3:number")
    (n,wtype,wprm) calculates a periodic or symmetric window function.