Автор: Sergey Bakhurin (http://dsplib.org), Viacheslav N. Mezentsev (viacheslavmezentsev@ya.ru). Создано в рамках проекта SMath. Опубликовано пользователем уни.
Это проект с открытыми исходными кодами. Исходные коды опубликованы под лицензией MIT и доступны в публичном хранилище SVN.

Функциональность DSP Library

Функции (53 шт.):

  • dspl_bessel_i0("вектор") — (x) модифицированная функция Бесселя первого рода I0(x).
  • dspl_butter_ap("1:число", "2:число") — (x) рассчитывает коэффициенты передаточной характеристики H(s) аналогового нормированного ФНЧ Баттерворта.
  • dspl_butter_ap_zp("1:число", "2:число") — (x) рассчитывает значения нулей и полюсов передаточной функции H(s) аналогового нормированного ФНЧ Баттерворта.
  • dspl_cdft("вектор") — (x) рассчитывает n-точечное дискретное преобразование Фурье комплексного сигнала x.
  • dspl_cfft("вектор") — (x) рассчитывает n-точечное быстрое преобразование Фурье комплексного сигнала x.
  • dspl_cgoertzel("1:вектор", "2:вектор") — (x) рассчитывает спектральные отсчеты n-точечного ДПФ, заданные вектором индексов ind (алгоритм Гёрцеля).
  • dspl_cheby1_ap("1:число", "2:число") — (x) рассчитывает коэффициенты передаточной характеристики H(s) аналогового нормированного ФНЧ Чебышёва первого рода.
  • dspl_cheby1_ap_zp("1:число", "2:число") — (ord,rp) рассчитывает значения нулей и полюсов передаточной функции H(s) аналогового нормированного ФНЧ Чебышёва первого рода порядка.
  • dspl_cheby2_ap("1:число", "2:число") — (rs,ord) рассчитывает коэффициенты передаточной характеристики H(s) аналогового нормированного ФНЧ Чебышёва второго рода.
  • dspl_cheby2_ap_zp("1:число", "2:число") — (ord,rs) рассчитывает значения нулей и полюсов передаточной функции H(s) аналогового нормированного ФНЧ Чебышёва второго рода.
  • dspl_cidft("вектор") — (x) рассчитывает n-точечное обратное дискретное преобразование Фурье комплексного спектра x.
  • dspl_cifft("вектор") — (x) рассчитывает n-точечное обратное быстрое преобразование Фурье комплексного вектора x.
  • dspl_concat("1:вектор", "2:вектор") — (a,b) соединяет массивы a и b.
  • dspl_conv("1:вектор", "2:вектор") — (a,b) рассчитывает линейную свертку двух векторов.
  • dspl_decimate("1:вектор", "2:число") — (x,d) производит децимацию вещественного вектора x в d раз.
  • dspl_dft("вектор") — (x) рассчитывает n-точечное дискретное преобразование Фурье вещественного сигнала x.
  • dspl_ellip_ap("1:число", "2:число", "3:число") — (rp,rs,ord) рассчитывает коэффициенты передаточной характеристики H(s) аналогового нормированного эллиптического ФНЧ.
  • dspl_ellip_ap_zp("1:число", "2:число", "3:число") — (ord,rp,rs) рассчитывает значения нулей и полюсов передаточной функции H(s) аналогового нормированного эллиптического ФНЧ.
  • dspl_farrow_lagrange("1:вектор", "2:число", "3:число") — (s,p,q) осуществляет передискретизацию входного сигнала s в p/q раз.
  • dspl_farrow_lagrange("1:вектор", "2:число", "3:число", "4:число") — (s,p,q,frd) осуществляет передискретизацию входного сигнала s в p/q раз со смещением дробной задержки frd.
  • dspl_farrow_spline("1:вектор", "2:число", "3:число") — (s,p,q) осуществляет передискретизацию входного сигнала s в p/q раз.
  • dspl_farrow_spline("1:вектор", "2:число", "3:число", "4:число") — (s,p,q,frd) осуществляет передискретизацию входного сигнала s в p/q раз со смещением дробной задержки frd.
  • dspl_fcoeff("1:вектор", "2:вектор", "3:число", "4:число") — (t,x,T,nw) рассчитывает коэффициенты разложения в ряд Фурье вещественного вектора x.
  • dspl_fft("вектор") — (x) рассчитывает n-точечное быстрое преобразование Фурье вещественного сигнала x.
  • dspl_fft_mag("1:вектор", "2:число") — (x,fs) рассчитывает АЧХ для вещественного вектора x.
  • dspl_fft_mag("1:вектор", "2:число", "3:строка") — (x,fs,flag) рассчитывает АЧХ для вещественного вектора x.
  • dspl_fft_shift("вектор") — (x) производит перестановку спектральных отсчетов ДПФ и переносит нулевую частоту в центр вектора ДПФ.
  • dspl_filter_freq_resp("1:вектор", "2:вектор", "3:число", "4:вектор", "5:строка") — (b,a,ord,w,flag) рассчитывает АЧХ, ФЧХ и ГВЗ аналогового или цифрового фильтра.
  • dspl_filter_iir("1:вектор", "2:вектор", "3:число", "4:вектор") — (b,a,ord,s) фильтрация вещественного сигнала s вещественным БИХ-фильтром.
  • dspl_fir_linphase("1:число", "2:число", "3:число", "4:строка", "5:строка", "6:число") — (ord,w0,w1,ftype,wtype,wprm) рассчитывает коэффициенты линейно-фазового КИХ-фильтра методом оконного взвешивания.
  • dspl_flipip("вектор") — (x) производит отражение комплексного вектора x.
  • dspl_freqs("1:вектор", "2:вектор", "3:число", "4:вектор") — (b,a,ord,w) рассчитывает значения комплексного коэффициента передачи H(jω) аналогового фильтра.
  • dspl_freqz("1:вектор", "2:вектор", "3:число", "4:вектор") — (b,a,ord,w) рассчитывает значения комплексного коэффициента передачи H(e^jω) цифрового фильтра.
  • dspl_fseries("1:матрица", "2:вектор") — (ws,t) восстанавливает функцию с помощью коэффициентов ряда Фурье.
  • dspl_fseries("1:вектор", "2:вектор", "3:вектор") — (w,s,t) восстанавливает функцию с помощью коэффициентов ряда Фурье.
  • dspl_goertzel("1:вектор", "2:вектор") — (x,ind) рассчитывает спектральные отсчеты n-точечного ДПФ, заданные вектором индексов ind (алгоритм Гёрцеля).
  • dspl_group_delay("1:вектор", "2:вектор", "3:число", "4:строка", "5:вектор") — (b,a,ord,flag,w) рассчитывает групповое время запаздывания цифрового или аналогового фильтра.
  • dspl_iir("1:число", "2:число", "3:число", "4:число", "5:число", "6:строка") — (rp,rs,ord,w0,w1,ftype) рассчитывает коэффициенты передаточной характеристики H(z) цифрового БИХ фильтра.
  • dspl_linspace("1:число", "2:число", "3:число", "4:строка") — (x0,x1,n,type) заполняет массив линейно-нарастающими, равноотстоящими значениями от x0 до x1.
  • dspl_logspace("1:число", "2:число", "3:число", "4:строка") — (x0,x1,n,type) заполняет массив x длиной n значениями в диапазоне от 10^x0 до 10^x1.
  • dspl_ones("число") — (n) возвращает вектор заполненный единицами.
  • dspl_phase_delay("1:вектор", "2:вектор", "3:число", "4:строка", "5:вектор") — (b,a,ord,flag,w) рассчитывает фазовую задержку цифрового или аналогового фильтра.
  • dspl_randb("число") — (n) генерирует бинарный униполярный [0, 1] псевдослучайный вектор.
  • dspl_randb2("число") — (n) генерирует бинарный униполярный [-1, 1] псевдослучайный вектор.
  • dspl_randi("1:число", "2:число", "3:число") — (n,start,stop) генерирует псевдослучайный вектор целых чисел в диапазоне от start до stop включительно.
  • dspl_randinit("1:строка", "2:число") — (type,seed) инициализация датчиков псевдослучайных чисел.
  • dspl_randn("1:число", "2:число", "3:число") — (n,mu,sigma) генерирует вектор нормально распределенных псевдослучайных чисел.
  • dspl_randu("число") — (n) генерирует вектор равномерно-распределенных в интервале от 0 до 1 псевдослучайных чисел.
  • dspl_scale_lin("1:вектор", "2:число", "3:число", "4:число", "5:число") — (x,xmin,xmax,dx,h) линейное растяжение вектора данных x.
  • dspl_sum("вектор") — (x) возвращает сумму элементов вещественного вектора x.
  • dspl_sum_sqr("вектор") — (x) возвращает сумму квадратов элементов вещественного вектора x.
  • dspl_window("1:число", "2:строка") — (n,wtype) рассчитывает периодическую или симметричную оконную функцию.
  • dspl_window("1:число", "2:строка", "3:число") — (n,wtype,wprm) рассчитывает периодическую или симметричную оконную функцию.