diff --git a/.gitignore b/.gitignore
old mode 100644
new mode 100755
diff --git a/LICENSE b/LICENSE
old mode 100644
new mode 100755
diff --git a/Makefile b/Makefile
old mode 100644
new mode 100755
diff --git a/Makefile.dirs b/Makefile.dirs
old mode 100644
new mode 100755
diff --git a/Makefile.dspl b/Makefile.dspl
old mode 100644
new mode 100755
diff --git a/Makefile.test b/Makefile.test
old mode 100644
new mode 100755
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
diff --git a/dox/doxyfile_ru b/dox/doxyfile_ru
old mode 100644
new mode 100755
index 3490ded..03a421b
--- a/dox/doxyfile_ru
+++ b/dox/doxyfile_ru
@@ -786,7 +786,8 @@ INPUT = ru \
../dspl/src \
../include \
../test/dox/ru \
- ../test/src
+ ../test/src \
+ ../test/bin/gnuplot
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -853,7 +854,8 @@ FILE_PATTERNS = *.c \
*.ucf \
*.qsf \
*.as \
- *.js
+ *.js \
+ *.plt
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
@@ -902,7 +904,8 @@ EXCLUDE_SYMBOLS =
# command).
EXAMPLE_PATH = ../test/src \
- ../test/dox
+ ../test/dox \
+ ../test/bin/gnuplot
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
diff --git a/dox/makedoc.sh b/dox/makedoc.sh
new file mode 100755
index 0000000..1fcb3c3
--- /dev/null
+++ b/dox/makedoc.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+cd ../
+make
+cd test/bin
+for file in *.exe
+do
+ "./$file"
+done
+cd ../../dox
+
+doxygen doxyfile_ru
+
+cd ../
+make clean
+cd dox
diff --git a/dox/ru/error_list.dox b/dox/ru/error_list.dox
old mode 100644
new mode 100755
diff --git a/dox/ru/groups_define.dox b/dox/ru/groups_define.dox
old mode 100644
new mode 100755
diff --git a/dox/ru/mainpage.dox b/dox/ru/mainpage.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/complex.dox b/dspl/dox/ru/complex.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/conv.dox b/dspl/dox/ru/conv.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/dft.dox b/dspl/dox/ru/dft.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/ellipj.dox b/dspl/dox/ru/ellipj.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/fft.dox b/dspl/dox/ru/fft.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/fillarray.dox b/dspl/dox/ru/fillarray.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/filter_an.dox b/dspl/dox/ru/filter_an.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/filter_ap.dox b/dspl/dox/ru/filter_ap.dox
old mode 100644
new mode 100755
index 66de975..90bf31b
--- a/dspl/dox/ru/filter_ap.dox
+++ b/dspl/dox/ru/filter_ap.dox
@@ -154,9 +154,51 @@
`RES_OK` Фильтр рассчитан успешно.
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".
+
+
+Пример использования функции `cheby1_ap`:
+
+\include cheby1_ap_test.c
+
+Результат работы программы:
+
+\verbatim
+b[ 0] = 0.125 a[ 0] = 0.177
+b[ 1] = 0.000 a[ 1] = 0.405
+b[ 2] = 0.000 a[ 2] = 1.169
+b[ 3] = 0.000 a[ 3] = 0.582
+b[ 4] = 0.000 a[ 4] = 1.000
+\endverbatim
+
+
+В каталоге `dat` будут созданы три файла:
+
+
+cheby1_ap_test_mag.txt АЧХ фильтра
+cheby1_ap_test_phi.txt ФЧХ фильтра
+cheby1_ap_test_tau.txt ГВЗ фильтра
+
+
+Кроме того программа GNUPLOT произведет построение следующих графиков
+по сохраненным в файлах данным:
+
+АЧХ фильтра: `cheby1_ap_test_mag.png`
+\image html cheby1_ap_test_mag.png
+
+ФЧХ фильтра: `cheby1_ap_test_phi.png`
+\image html cheby1_ap_test_phi.png
+
+ГВЗ фильтра: `butter_ap_test_tau.png`
+\image html cheby1_ap_test_tau.png
+
+
+Скрипт GNUPLOT для построения графиков из текстовых файлов:
+\include cheby1_ap_test.plt
+
+
\author
- Бахурин Сергей
+ Бахурин Сергей
www.dsplib.org
***************************************************************************** */
diff --git a/dspl/dox/ru/filter_ft.dox b/dspl/dox/ru/filter_ft.dox
new file mode 100644
index 0000000..b280ed9
--- /dev/null
+++ b/dspl/dox/ru/filter_ft.dox
@@ -0,0 +1,199 @@
+/*! ****************************************************************************
+\ingroup IIR_FILTER_DESIGN_GROUP
+\fn int low2high (double* b, double* a, int ord, double w0, double w1,
+ double* beta, double* alpha)
+\brief Частотное преобразование ФНЧ-ФВЧ
+
+Функция производит перобразование передаточной функции \f$ H(s) \f$
+аналогового ФНЧ с частотой среза `w0` рад/c
+в передаточную функцию \f$ F(s) \f$ аналоговго ФВЧ с частотой среза `w1` рад/c.
+
+Неравномерность АЧХ в полосе пропускания, уровень подавления в полосе
+заграждения и порядок фильтра остаются неизменными.
+
+\param[in] b Указатель на вектор коэффициентов
+ числителя передаточной функции \f$H(s)\f$
+ исходного аналогового ФНЧ.
+ Размер вектора `[ord+1 x 1]`.
+ Память должна быть выделена.
+
+\param[in] a Указатель на вектор коэффициентов знаменателя
+ передаточной функции \f$H(s)\f$
+ исходного аналогового ФНЧ.
+ Размер вектора `[ord+1 x 1]`.
+ Память должна быть выделена.
+
+\param[in] ord Порядок исходного фильтра и
+ фильтра после переобразования.
+
+\param[in] w0 Частота среза исходного ФНЧ.
+
+\param[in] w1 Требуемая частота среза ФВЧ
+ после преобразования.
+
+
+\param[in,out] beta Указатель на вектор коэффициентов
+ числителя передаточной функции \f$F(s)\f$
+ ФВЧ после преобразования.
+ Размер вектора `[ord+1 x 1]`.
+ Память должна быть выделена.
+
+\param[in,out] alpha Указатель на вектор коэффициентов знаменателя
+ передаточной функции \f$F(s)\f$
+ аналогового ФВЧ после преобразования.
+ Размер вектора `[ord+1 x 1]`.
+ Память должна быть выделена.
+
+
+\return
+ `RES_OK` Преоборазование расчитано успешно.
+ В противном случае
+ \ref ERROR_CODE_GROUP "код ошибки".
+
+\author
+ Бахурин Сергей
+ www.dsplib.org
+***************************************************************************** */
+
+
+
+
+
+
+
+/*! ****************************************************************************
+\ingroup IIR_FILTER_DESIGN_GROUP
+\fn int low2low(double* b, double* a, int ord, double w0, double w1,
+ double* beta, double* alpha)
+\brief Частотное преобразование ФНЧ-ФНЧ
+
+Функция производит перобразование передаточной функции \f$ H(s) \f$
+аналогового ФНЧ с частотой среза `w0` рад/c
+в передаточную функцию \f$ F(s) \f$ аналоговго ФНЧ с частотой среза `w1` рад/c.
+
+Неравномерность АЧХ в полосе пропускания, уровень подавления в полосе
+заграждения и порядок фильтра остаются неизменными.
+
+\param[in] b Указатель на вектор коэффициентов
+ числителя передаточной функции \f$H(s)\f$
+ исходного аналогового ФНЧ.
+ Размер вектора `[ord+1 x 1]`.
+ Память должна быть выделена.
+
+\param[in] a Указатель на вектор коэффициентов знаменателя
+ передаточной функции \f$H(s)\f$
+ исходного аналогового ФНЧ.
+ Размер вектора `[ord+1 x 1]`.
+ Память должна быть выделена.
+
+\param[in] ord Порядок исходного фильтра и
+ фильтра после переобразования.
+
+\param[in] w0 Частота среза исходного ФНЧ.
+
+\param[in] w1 Требуемая частота среза ФНЧ
+ после преобразования.
+
+
+\param[in,out] beta Указатель на вектор коэффициентов
+ числителя передаточной функции \f$F(s)\f$
+ ФНЧ после преобразования.
+ Размер вектора `[ord+1 x 1]`.
+ Память должна быть выделена.
+
+\param[in,out] alpha Указатель на вектор коэффициентов знаменателя
+ передаточной функции \f$F(s)\f$
+ аналогового ФНЧ после преобразования.
+ Размер вектора `[ord+1 x 1]`.
+ Память должна быть выделена.
+
+
+\return
+ `RES_OK` Преоборазование расчитано успешно.
+ В противном случае
+ \ref ERROR_CODE_GROUP "код ошибки".
+
+\author
+ Бахурин Сергей
+ www.dsplib.org
+***************************************************************************** */
+
+
+
+
+
+
+
+
+
+/*! ****************************************************************************
+\ingroup IIR_FILTER_DESIGN_GROUP
+\fn int ratcompos( double* b, double* a, int n,
+ double* c, double* d, int p,
+ double* beta, double* alpha)
+\brief Рациональная композиця
+
+Функция рассчитывает композицию вида \f$Y(s) = (H \circ F)(s) = H(F(s))\f$, где
+
+\f[
+H(s) = \frac{\sum\limits_{m = 0}^{n} b_m s^m}
+{\sum\limits_{k = 0}^{n} a_k s^k}, \ \ \ \
+F(s) = \frac{\sum\limits_{m = 0}^{p} d_m s^m}
+{\sum\limits_{k = 0}^{p} с_k s^k}, \ \ \ \
+Y(s) = \frac{\sum\limits_{m = 0}^{n \cdot p} \beta_m s^m}
+{\sum\limits_{k = 0}^{n \cdot p} \alpha_k s^k}
+\f]
+
+Функция рациональной композиции необходима для произведения частотных
+преобразований передаточных характеристик аналоговых и цифровых фильтров,
+а также для билинейного преобразования передаточных характеристик аналоговых
+фильтров в соответствующие передаточные характеристики цифровых фильтров.
+
+\param[in] b Указатель на вектор коэффициентов
+ числителя функции \f$H(s)\f$.
+ Размер вектора `[n+1 x 1]`.
+ Память должна быть выделена.
+
+\param[in] a Указатель на вектор коэффициентов знаменателя
+ функции \f$H(s)\f$.
+ Размер вектора `[n+1 x 1]`.
+ Память должна быть выделена.
+
+\param[in] n Порядок полиномов рациональной
+ функции \f$H(s)\f$.
+
+
+\param[in] c Указатель на вектор коэффициентов
+ числителя функции \f$F(s)\f$.
+ Размер вектора `[p+1 x 1]`.
+ Память должна быть выделена.
+
+\param[in] d Указатель на вектор коэффициентов знаменателя
+ функции \f$F(s)\f$.
+ Размер вектора `[p+1 x 1]`.
+ Память должна быть выделена.
+
+\param[in] p Порядок полиномов рациональной
+ функции \f$F(s)\f$.
+
+\param[in,out] beta Указатель на вектор коэффициентов
+ числителя функции \f$Y(s) = (H \circ F)(s)\f$.
+ Размер вектора `[n*p+1 x 1]`.
+ Память должна быть выделена.
+
+\param[in,out] alpha Указатель на вектор коэффициентов знаменателя
+ функции \f$Y(s) = (H \circ F)(s)\f$.
+ Размер вектора `[n*p+1 x 1]`.
+ Память должна быть выделена.
+
+
+\return
+ `RES_OK` Рациональная композиция рассчитана успешно.
+ В противном случае
+ \ref ERROR_CODE_GROUP "код ошибки".
+
+\author
+ Бахурин Сергей
+ www.dsplib.org
+***************************************************************************** */
+
diff --git a/dspl/dox/ru/fourier_series.dox b/dspl/dox/ru/fourier_series.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/goertzel.dox b/dspl/dox/ru/goertzel.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/inout.dox b/dspl/dox/ru/inout.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/polyval.dox b/dspl/dox/ru/polyval.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/randgen.dox b/dspl/dox/ru/randgen.dox
old mode 100644
new mode 100755
diff --git a/dspl/dox/ru/resampling.dox b/dspl/dox/ru/resampling.dox
old mode 100644
new mode 100755
diff --git a/dspl/obj/.gitignore b/dspl/obj/.gitignore
old mode 100644
new mode 100755
diff --git a/dspl/src/array.c b/dspl/src/array.c
old mode 100644
new mode 100755
diff --git a/dspl/src/cheby.c b/dspl/src/cheby.c
old mode 100644
new mode 100755
diff --git a/dspl/src/complex.c b/dspl/src/complex.c
old mode 100644
new mode 100755
diff --git a/dspl/src/conv.c b/dspl/src/conv.c
old mode 100644
new mode 100755
diff --git a/dspl/src/dft.c b/dspl/src/dft.c
old mode 100644
new mode 100755
diff --git a/dspl/src/ellipj.c b/dspl/src/ellipj.c
old mode 100644
new mode 100755
diff --git a/dspl/src/fft.c b/dspl/src/fft.c
old mode 100644
new mode 100755
diff --git a/dspl/src/fillarray.c b/dspl/src/fillarray.c
old mode 100644
new mode 100755
diff --git a/dspl/src/filter_an.c b/dspl/src/filter_an.c
old mode 100644
new mode 100755
diff --git a/dspl/src/filter_ap.c b/dspl/src/filter_ap.c
old mode 100644
new mode 100755
diff --git a/dspl/src/filter_ft.c b/dspl/src/filter_ft.c
old mode 100644
new mode 100755
index 3cd256f..6b198e3
--- a/dspl/src/filter_ft.c
+++ b/dspl/src/filter_ft.c
@@ -25,6 +25,33 @@
+/******************************************************************************
+ * low 2 high transformation
+ *******************************************************************************/
+int DSPL_API low2high(double* b, double* a, int ord, double w0, double w1,
+ double* beta, double* alpha)
+{
+
+ double num[2] = {0.0, 0.0};
+ double den[2] = {0.0, 1.0};
+
+ if(!b || !a || !beta || !alpha)
+ return ERROR_PTR;
+ if(ord < 1)
+ return ERROR_FILTER_ORD;
+ if(w0 <= 0.0 || w1 <= 0.0)
+ return ERROR_FILTER_FT;
+
+ num[0] = w1 / w0;
+
+ return ratcompos(b, a, ord, num, den, 1, beta, alpha);
+}
+
+
+
+
+
+
/******************************************************************************
low 2 low transformation
@@ -43,7 +70,7 @@ int DSPL_API low2low(double* b, double* a, int ord, double w0, double w1,
if(w0 <= 0.0 || w1 <= 0.0)
return ERROR_FILTER_FT;
- den[0] = w0 / w1;
+ den[0] = w1 / w0;
return ratcompos(b, a, ord, num, den, 1, beta, alpha);
}
diff --git a/dspl/src/fourier_series.c b/dspl/src/fourier_series.c
old mode 100644
new mode 100755
diff --git a/dspl/src/goertzel.c b/dspl/src/goertzel.c
old mode 100644
new mode 100755
diff --git a/dspl/src/inout.c b/dspl/src/inout.c
old mode 100644
new mode 100755
diff --git a/dspl/src/math.c b/dspl/src/math.c
old mode 100644
new mode 100755
diff --git a/dspl/src/polyval.c b/dspl/src/polyval.c
old mode 100644
new mode 100755
diff --git a/dspl/src/randgen.c b/dspl/src/randgen.c
old mode 100644
new mode 100755
diff --git a/dspl/src/resampling.c b/dspl/src/resampling.c
old mode 100644
new mode 100755
diff --git a/dspl/src/signals.c b/dspl/src/signals.c
old mode 100644
new mode 100755
diff --git a/dspl/src/trapint.c b/dspl/src/trapint.c
old mode 100644
new mode 100755
diff --git a/include/dspl.c b/include/dspl.c
old mode 100644
new mode 100755
index 064ea06..7d7f375
--- a/include/dspl.c
+++ b/include/dspl.c
@@ -95,6 +95,7 @@ p_linspace linspace ;
p_log_cmplx log_cmplx ;
p_logspace logspace ;
p_low2low low2low ;
+p_low2high low2high ;
p_poly_z2a_cmplx poly_z2a_cmplx ;
p_polyval polyval ;
p_polyval_cmplx polyval_cmplx ;
@@ -223,6 +224,7 @@ void* dspl_load()
LOAD_FUNC(log_cmplx);
LOAD_FUNC(logspace);
LOAD_FUNC(low2low);
+ LOAD_FUNC(low2high);
LOAD_FUNC(poly_z2a_cmplx);
LOAD_FUNC(polyval);
LOAD_FUNC(polyval_cmplx);
diff --git a/include/dspl.h b/include/dspl.h
old mode 100644
new mode 100755
index 4202f7f..fee91ba
--- a/include/dspl.h
+++ b/include/dspl.h
@@ -522,6 +522,14 @@ DECLARE_FUNC(int, logspace, double
COMMA int
COMMA double*);
//------------------------------------------------------------------------------
+DECLARE_FUNC(int, low2high, double* b
+ COMMA double* a
+ COMMA int ord
+ COMMA double w0
+ COMMA double w1
+ COMMA double* beta
+ COMMA double* alpha);
+//------------------------------------------------------------------------------
DECLARE_FUNC(int, low2low, double* b
COMMA double* a
COMMA int ord
diff --git a/release/doc/.gitignore b/release/doc/.gitignore
old mode 100644
new mode 100755
diff --git a/release/doc/ru/.gitignore b/release/doc/ru/.gitignore
old mode 100644
new mode 100755
diff --git a/release/include/dspl.c b/release/include/dspl.c
old mode 100644
new mode 100755
index 064ea06..7d7f375
--- a/release/include/dspl.c
+++ b/release/include/dspl.c
@@ -95,6 +95,7 @@ p_linspace linspace ;
p_log_cmplx log_cmplx ;
p_logspace logspace ;
p_low2low low2low ;
+p_low2high low2high ;
p_poly_z2a_cmplx poly_z2a_cmplx ;
p_polyval polyval ;
p_polyval_cmplx polyval_cmplx ;
@@ -223,6 +224,7 @@ void* dspl_load()
LOAD_FUNC(log_cmplx);
LOAD_FUNC(logspace);
LOAD_FUNC(low2low);
+ LOAD_FUNC(low2high);
LOAD_FUNC(poly_z2a_cmplx);
LOAD_FUNC(polyval);
LOAD_FUNC(polyval_cmplx);
diff --git a/release/include/dspl.h b/release/include/dspl.h
old mode 100644
new mode 100755
index 4202f7f..fee91ba
--- a/release/include/dspl.h
+++ b/release/include/dspl.h
@@ -522,6 +522,14 @@ DECLARE_FUNC(int, logspace, double
COMMA int
COMMA double*);
//------------------------------------------------------------------------------
+DECLARE_FUNC(int, low2high, double* b
+ COMMA double* a
+ COMMA int ord
+ COMMA double w0
+ COMMA double w1
+ COMMA double* beta
+ COMMA double* alpha);
+//------------------------------------------------------------------------------
DECLARE_FUNC(int, low2low, double* b
COMMA double* a
COMMA int ord
diff --git a/release/lib/.gitignore b/release/lib/.gitignore
old mode 100644
new mode 100755
diff --git a/test/bin/.gitignore b/test/bin/.gitignore
old mode 100644
new mode 100755
diff --git a/test/bin/dat/.gitignore b/test/bin/dat/.gitignore
old mode 100644
new mode 100755
diff --git a/test/bin/gnuplot/butter_ap_test.plt b/test/bin/gnuplot/butter_ap_test.plt
old mode 100644
new mode 100755
diff --git a/test/bin/gnuplot/cheby1_ap_test.plt b/test/bin/gnuplot/cheby1_ap_test.plt
old mode 100644
new mode 100755
diff --git a/test/bin/img/.gitignore b/test/bin/img/.gitignore
old mode 100644
new mode 100755
diff --git a/test/obj/.gitignore b/test/obj/.gitignore
old mode 100644
new mode 100755
diff --git a/test/src/butter_ap_test.c b/test/src/butter_ap_test.c
old mode 100644
new mode 100755
diff --git a/test/src/cheby1_ap_test.c b/test/src/cheby1_ap_test.c
old mode 100644
new mode 100755
index a17e585..35156a5
--- a/test/src/cheby1_ap_test.c
+++ b/test/src/cheby1_ap_test.c
@@ -3,41 +3,50 @@
#include
#include "dspl.h"
+// Порядок фильтра
#define ORD 4
+
+// размер векторов частотной характериситки фильтра
#define N 1000
int main()
{
- void* handle; // DSPL handle
- handle = dspl_load(); // Load DSPL function
+ void* handle; // DSPL handle
+ handle = dspl_load(); // Load DSPL function
+
+ double a[ORD+1], b[ORD+1]; // коэффицинеты H(s)
+ double Rp = 3.0; // неравномерность в полосе пропускания 3дБ
+ // Частота (w), АЧХ (mag), ФЧХ (phi) и ГВЗ (tau)
+ double w[N], mag[N], phi[N], tau[N];
+ int k;
- double a[ORD+1], b[ORD+1];
- double Rp = 3.0;
- double w[N], mag[N], phi[N], tau[N];
-
-
- int k;
- int res = cheby1_ap(Rp, ORD, b, a);
- if(res != RES_OK)
- printf("error code = 0x%8x\n", res);
-
- for(k = 0; k < ORD+1; k++)
- printf("b[%2d] = %9.3f a[%2d] = %9.3f\n", k, b[k], k, a[k]);
-
-
- logspace(-2.0, 2.0, N , DSPL_SYMMETRIC, w);
- freqs_resp(b, a, ORD, w, N, DSPL_FLAG_LOG|DSPL_FLAG_UNWRAP, mag, phi, tau);
-
- writetxt(w, mag, N, "dat/cheby1_ap_test_mag.txt");
- writetxt(w, phi, N, "dat/cheby1_ap_test_phi.txt");
- writetxt(w, tau, N, "dat/cheby1_ap_test_tau.txt");
-
- dspl_free(handle); // free dspl handle
-
- res = system("gnuplot gnuplot/cheby1_ap_test.plt");
-
- return 0;
+ // рассчитываем нормированный ФНЧ Чебышева 1 рода
+ int res = cheby1_ap(Rp, ORD, b, a);
+ if(res != RES_OK)
+ printf("error code = 0x%8x\n", res);
+
+ // печать коэффициентов фильтра
+ for(k = 0; k < ORD+1; k++)
+ printf("b[%2d] = %9.3f a[%2d] = %9.3f\n", k, b[k], k, a[k]);
+
+ // вектор частоты в логарифмической шакале от 0.01 до 100 рад/c
+ logspace(-2.0, 2.0, N , DSPL_SYMMETRIC, w);
+
+ //частотные характеристика фильтра
+ freqs_resp(b, a, ORD, w, N, DSPL_FLAG_LOG|DSPL_FLAG_UNWRAP,
+ mag, phi, tau);
+
+ // Сохранить характеристики для построения графиков
+ writetxt(w, mag, N, "dat/cheby1_ap_test_mag.txt");
+ writetxt(w, phi, N, "dat/cheby1_ap_test_phi.txt");
+ writetxt(w, tau, N, "dat/cheby1_ap_test_tau.txt");
+
+ dspl_free(handle); // free dspl handle
+
+ // выполнить скрипт GNUPLOT для построения графиков
+ // по рассчитанным данным
+ return system("gnuplot gnuplot/cheby1_ap_test.plt");;
}
diff --git a/test/src/cheby2_ap_zp_test.c b/test/src/cheby2_ap_zp_test.c
old mode 100644
new mode 100755
diff --git a/test/src/conv_fft_cmplx_test.c b/test/src/conv_fft_cmplx_test.c
old mode 100644
new mode 100755
diff --git a/test/src/dft_cmplx_test.c b/test/src/dft_cmplx_test.c
old mode 100644
new mode 100755
diff --git a/test/src/dft_test.c b/test/src/dft_test.c
old mode 100644
new mode 100755
diff --git a/test/src/dspl_info_test.c b/test/src/dspl_info_test.c
old mode 100644
new mode 100755
diff --git a/test/src/ellip_landen_test.c b/test/src/ellip_landen_test.c
old mode 100644
new mode 100755
diff --git a/test/src/fft_cmplx_test.c b/test/src/fft_cmplx_test.c
old mode 100644
new mode 100755
diff --git a/test/src/fft_test.c b/test/src/fft_test.c
old mode 100644
new mode 100755