1) Modified doxigen structure.

2) Added documentation for gnuplot interface

 Changes to be committed:
	modified:   bin/img/filter_iir_test.png
	deleted:    dspl/doc/html/_form0_tmp.ps
	deleted:    dspl/doc/html/_formulas.aux
	deleted:    dspl/doc/html/_formulas.dvi
	deleted:    dspl/doc/html/_formulas.log
	deleted:    dspl/doc/html/_formulas.tex
	new file:   dspl/doc/html/formula.repository
	modified:   dspl/dox/doxyfile_ru
	modified:   dspl/dox/ru/cheby.dox
	modified:   dspl/dox/ru/conv.dox
	modified:   dspl/dox/ru/error_list.dox
	modified:   dspl/dox/ru/filter_ap.dox
	modified:   dspl/dox/ru/filter_iir.dox
	deleted:    dspl/dox/ru/getting_started_make.dox
	deleted:    dspl/dox/ru/getting_started_mingw.dox
	modified:   dspl/dox/ru/getting_started_toolchain.dox
	modified:   dspl/dox/ru/gnuplot.dox
	modified:   dspl/dox/ru/inout.dox
	modified:   dspl/dox/ru/mainpage.dox
	modified:   dspl/dox/ru/math.dox
	modified:   dspl/dox/ru/matrix.dox
	modified:   dspl/src/inout.c
	modified:   include/dspl.c
	modified:   include/dspl.h
pull/6/merge
Dsplib 2020-01-09 23:58:32 +03:00
rodzic c9a0fd9122
commit ae5476689a
24 zmienionych plików z 281 dodań i 2351 usunięć

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 87 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 86 KiB

Wyświetl plik

@ -1 +0,0 @@
\relax

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -1,106 +0,0 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/W32TeX) (preloaded format=latex 2019.12.29) 2 JAN 2020 18:08
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**_formulas.tex
(./_formulas.tex
LaTeX2e <2019-10-01> patch level 3
(c:/texlive/2019/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/10/25 v1.4k Standard LaTeX document class
(c:/texlive/2019/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2019/10/25 v1.4k Standard LaTeX file (size option)
)
\c@part=\count80
\c@section=\count81
\c@subsection=\count82
\c@subsubsection=\count83
\c@paragraph=\count84
\c@subparagraph=\count85
\c@figure=\count86
\c@table=\count87
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(c:/texlive/2019/texmf-dist/tex/latex/base/ifthen.sty
Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC)
)
(c:/texlive/2019/texmf-dist/tex/latex/graphics/epsfig.sty
Package: epsfig 2017/06/25 v1.7b (e)psfig emulation (SPQR)
(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
(c:/texlive/2019/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(c:/texlive/2019/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR)
(c:/texlive/2019/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
)
(c:/texlive/2019/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: dvips.def on input line 105.
(c:/texlive/2019/texmf-dist/tex/latex/graphics-def/dvips.def
File: dvips.def 2017/06/20 v3.1d Graphics/color driver for dvips
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
\epsfxsize=\dimen105
\epsfysize=\dimen106
)
(c:/texlive/2019/texmf-dist/tex/latex/base/inputenc.sty
Package: inputenc 2018/08/11 v1.3c Input encoding file
\inpenc@prehook=\toks15
\inpenc@posthook=\toks16
)
(c:/texlive/2019/texmf-dist/tex/latex/newunicodechar/newunicodechar.sty
Package: newunicodechar 2018/04/08 v1.2 Defining Unicode characters
)
(./_formulas.aux)
\openout1 = `_formulas.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 12.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 12.
[1
] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
[14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28]
[29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43]
[44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58]
[59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73]
[74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88]
[89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102]
[103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114]
[115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126]
(./_formulas.aux) )
Here is how much of TeX's memory you used:
696 strings out of 492164
8713 string characters out of 6129101
70744 words of memory out of 5000000
5117 multiletter control sequences out of 15000+600000
3640 words of font info for 14 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
38i,6n,27p,290b,92s stack positions out of 5000i,500n,10000p,200000b,80000s
Output written on _formulas.dvi (126 pages, 17432 bytes).

Wyświetl plik

@ -1,390 +0,0 @@
\documentclass{article}
\usepackage{ifthen}
\usepackage{epsfig}
\usepackage[utf8]{inputenc}
\usepackage{newunicodechar}
\newunicodechar{}{${}^{-}$}% Superscript minus
\newunicodechar{²}{${}^{2}$}% Superscript two
\newunicodechar{³}{${}^{3}$}% Superscript three
\pagestyle{empty}
\begin{document}
\[ e = \max \left( \frac{|x(k) - y(k)| }{ |x(k)|} \right), \quad \quad |x(k)| > 0, \]
\pagebreak
\[ e = \max(|x(k) - y(k)| ), ~\qquad \quad~|x(k)| = 0, \]
\pagebreak
$ e$
\pagebreak
$ C_ord(x)$
\pagebreak
\[ C_ord(x) = 2 x C_{ord-1}(x) - C_{ord-2}(x), \]
\pagebreak
$ C_0(x) = 1 $
\pagebreak
$ C_1(x) = x$
\pagebreak
$ U_{ord}(x)$
\pagebreak
\[ U_{ord}(x) = 2 x U_{ord-1}(x) - U_{ord-2}(x), \]
\pagebreak
$ U_0(x) = 1 $
\pagebreak
$ U_1(x) = 2x$
\pagebreak
$ x = a + j b $
\pagebreak
\[ |x|^2 = x x^* = a^2 + b^2. \]
\pagebreak
\[ \textrm{Arccos}(x) = \frac{\pi}{2} - \textrm{Arcsin}(x) = \frac{\pi}{2} -j \textrm{Ln}\left( j x + \sqrt{1 - x^2} \right) \]
\pagebreak
\[ \textrm{Arcsin}(x) = j \textrm{Ln}\left( j x + \sqrt{1 - x^2} \right) \]
\pagebreak
\[ \textrm{cos}(x) = \frac{\exp(jx) + \exp(-jx)}{2} \]
\pagebreak
\[ \textrm{Ln}(x) = j \varphi + \ln(|x|), \]
\pagebreak
$\varphi$
\pagebreak
\[ \textrm{sin}(x) = \frac{\exp(jx) - \exp(-jx)}{2j} \]
\pagebreak
\[ y(k) = \sqrt{x(k)}, \qquad k = 0 \ldots n-1. \]
\pagebreak
$ c = a * b$
\pagebreak
$a$
\pagebreak
$b$
\pagebreak
$n = n_0 \times n_1 \times n_2 \times n_3 \times \ldots \times n_p \times m$
\pagebreak
$n_i = 2,3,5,7$
\pagebreak
$m $
\pagebreak
\[ H(z) = \frac{\sum_{n = 0}^{N} b_n z^{-n}} {1+{\frac{1}{a_0}}\sum_{m = 1}^{M} a_m z^{-m}}, \]
\pagebreak
$a_0$
\pagebreak
$N=M=$
\pagebreak
$s(t) = \sin(2\pi \cdot 0.05 t) + n(t)$
\pagebreak
$n(t)$
\pagebreak
$ n $
\pagebreak
$ x(m) $
\pagebreak
$ m = 0 \ldots n-1 $
\pagebreak
\[ Y(k) = \sum_{m = 0}^{n-1} x(m) \exp \left( -j \frac{2\pi}{n} m k \right), \]
\pagebreak
$ k = 0 \ldots n-1 $
\pagebreak
$x(m)$
\pagebreak
$n$
\pagebreak
$Y(k)$
\pagebreak
$ n^2 $
\pagebreak
\[ y(k) = \sum_{m = 0}^{n-1} x(m) \exp \left( j \frac{2\pi}{n} m k \right), \]
\pagebreak
$y(k)$
\pagebreak
$ u = \textrm{cd}^{-1}(w, k)$
\pagebreak
$ w $
\pagebreak
$ k $
\pagebreak
$ u = \textrm{sn}^{-1}(w, k)$
\pagebreak
$ y = \textrm{cd}(u K(k), k)$
\pagebreak
$ u $
\pagebreak
$ k_i $
\pagebreak
$ K(k) $
\pagebreak
\[ K(k) = \frac{\pi}{2} \prod_{i = 1}^{\infty}(1+k_i), \]
\pagebreak
$ k_0 = k$
\pagebreak
\[ k_i = \left( \frac{k_{i-1}} { 1+\sqrt{1-k_{i-1}^2} } \right)^2 \]
\pagebreak
$ k<1 $
\pagebreak
$ y = \textrm{sn}(u K(k), k)$
\pagebreak
\[ Y(k) = \frac{1}{N} \sum_{m = 0}^{n-1} x(m) \exp \left( j \frac{2\pi}{n} m k \right), \]
\pagebreak
$ n = 725760 $
\pagebreak
$725760 = 2 \cdot 3 \cdot 4 \cdot 5 \cdot 6 \cdot 7 \cdot 9 \cdot 16 $
\pagebreak
$ n = 172804 = 43201 \cdot 4 $
\pagebreak
$ n = 13 \cdot 17 \cdot 23 \cdot 13 = 66079 $
\pagebreak
$\sqrt{2^{31}} = 46340.95$
\pagebreak
$x_0$
\pagebreak
$x_1$
\pagebreak
$x(k) = x_0 + k \cdot dx$
\pagebreak
$dx = \frac{x_1 - x_0}{n-1}$
\pagebreak
$k = 0 \ldots n-1.$
\pagebreak
$dx = \frac{x_1 - x_0}{n}$
\pagebreak
$10^{x_0}$
\pagebreak
$10^{x_1}$
\pagebreak
$x(k) = 10^{x_0} \cdot dx^k$
\pagebreak
$dx = \sqrt[n-1]{10^{x_1 - x_0}}$
\pagebreak
$dx = \sqrt[n]{10^{x_1 - x_0}}$
\pagebreak
$ H(j \omega) $
\pagebreak
$ H(j \omega)$
\pagebreak
$ H(s) $
\pagebreak
\[ H(s) = \frac {\sum_{k = 0}^{N} b_k s^k} {\sum_{m = 0}^{N} a_m s^m}, \]
\pagebreak
$ N $
\pagebreak
$ s = j \omega $
\pagebreak
$ \omega $
\pagebreak
$H(s)$
\pagebreak
$H(z)$
\pagebreak
$ H \left(\mathrm{e}^{j\omega} \right) $
\pagebreak
$ 2\pi $
\pagebreak
$ \pi $
\pagebreak
$ -\pi $
\pagebreak
$ H \left(e^{j \omega} \right)$
\pagebreak
\[ H(z) = \frac {\sum_{k = 0}^{N} b_k z^{-k}} {\sum_{m = 0}^{N} a_m z^{-m}}, \]
\pagebreak
$N$
\pagebreak
$z = e^{j \omega} $
\pagebreak
$\omega$
\pagebreak
$ 2 \pi-$
\pagebreak
$2 \pi$
\pagebreak
$-\pi$
\pagebreak
$ \pi$
\pagebreak
$ H \left(e^{j \omega} \right) = H^* \left(e^{-j \omega} \right)$
\pagebreak
$\pi$
\pagebreak
$ -R_p $
\pagebreak
$ H(s)$
\pagebreak
$-R_p$
\pagebreak
$ R_p $
\pagebreak
$-R_s$
\pagebreak
$H(j\cdot 1) = -R_s$
\pagebreak
\[ H(s) = \frac{\sum_{n = 0}^{N_z} b_n \cdot s^n}{\sum_{m = 0}^{N_p} a_m \cdot s^m} = \frac{\prod_{n = 0}^{N_z}(s-z_n)}{\prod_{m = 0}^{N_p} (s-p_m)} \]
\pagebreak
$ F(s) $
\pagebreak
$F(s)$
\pagebreak
$Y(s) = (H \circ F)(s) = H(F(s))$
\pagebreak
\[ H(s) = \frac{\sum\limits_{m = 0}^{n} b_m s^m}{\sum\limits_{k = 0}^{n} a_k s^k}, \quad F(s) = \frac{\sum\limits_{m = 0}^{p} d_m s^m}{\sum\limits_{k = 0}^{p} c_k s^k}, \quad Y(s) = \frac{\sum\limits_{m = 0}^{n p} \beta_m s^m}{\sum\limits_{k = 0}^{n p} \alpha_k s^k} \]
\pagebreak
$Y(s) = (H \circ F)(s)$
\pagebreak
\[ s \leftarrow \frac{1 - z^{-1}}{1 - z^{-1}}. \]
\pagebreak
$\Omega$
\pagebreak
\[ \Omega = \tan(\omega / 2). \]
\pagebreak
\[ s(t) = \sum\limits_{n = 0}^{n_{\omega}-1} S(\omega_n) \exp(j\omega_n t) \]
\pagebreak
$\omega_n$
\pagebreak
$S(\omega_n)$
\pagebreak
$ I_0(x)$
\pagebreak
$ x $
\pagebreak
$[0 \ 3]$
\pagebreak
$ \textrm{sinc}(x,a) = \frac{\sin(ax)}{ax}$
\pagebreak
\[ \textrm{Si}(x) = \int_{0}^{x} \frac{\sin(x)}{x} \, dx\]
\pagebreak
$[-6\pi \ 6\pi]$
\pagebreak
$a_{ij}$
\pagebreak
$P_N(x)$
\pagebreak
$N-$
\pagebreak
\[ P_N(x) = a_0 + a_1 \cdot x + a_2 \cdot x^2 + a_3 \cdot x^3 + ... a_N \cdot x^N. \]
\pagebreak
\[ P_N(x) = a_0 + x \cdot (a_1 + x \cdot (a_2 + \cdot ( \ldots x \cdot (a_{N-1} + x\cdot a_N) \ldots ))) \]
\pagebreak
$10^{56}$
\pagebreak
\end{document}

Wyświetl plik

@ -0,0 +1,125 @@
\form#0:\[ e = \max \left( \frac{|x(k) - y(k)| }{ |x(k)|} \right), \quad \quad |x(k)| > 0, \]
\form#1:\[ e = \max(|x(k) - y(k)| ), ~\qquad \quad~|x(k)| = 0, \]
\form#2:$ e$
\form#3:$ C_ord(x)$
\form#4:\[ C_ord(x) = 2 x C_{ord-1}(x) - C_{ord-2}(x), \]
\form#5:$ C_0(x) = 1 $
\form#6:$ C_1(x) = x$
\form#7:$ U_{ord}(x)$
\form#8:\[ U_{ord}(x) = 2 x U_{ord-1}(x) - U_{ord-2}(x), \]
\form#9:$ U_0(x) = 1 $
\form#10:$ U_1(x) = 2x$
\form#11:$ x = a + j b $
\form#12:\[ |x|^2 = x x^* = a^2 + b^2. \]
\form#13:\[ \textrm{Arccos}(x) = \frac{\pi}{2} - \textrm{Arcsin}(x) = \frac{\pi}{2} -j \textrm{Ln}\left( j x + \sqrt{1 - x^2} \right) \]
\form#14:\[ \textrm{Arcsin}(x) = j \textrm{Ln}\left( j x + \sqrt{1 - x^2} \right) \]
\form#15:\[ \textrm{cos}(x) = \frac{\exp(jx) + \exp(-jx)}{2} \]
\form#16:\[ \textrm{Ln}(x) = j \varphi + \ln(|x|), \]
\form#17:$\varphi$
\form#18:\[ \textrm{sin}(x) = \frac{\exp(jx) - \exp(-jx)}{2j} \]
\form#19:\[ y(k) = \sqrt{x(k)}, \qquad k = 0 \ldots n-1. \]
\form#20:$ c = a * b$
\form#21:$a$
\form#22:$b$
\form#23:$n = n_0 \times n_1 \times n_2 \times n_3 \times \ldots \times n_p \times m$
\form#24:$n_i = 2,3,5,7$
\form#25:$m $
\form#26:\[ H(z) = \frac{\sum_{n = 0}^{N} b_n z^{-n}} {1+{\frac{1}{a_0}}\sum_{m = 1}^{M} a_m z^{-m}}, \]
\form#27:$a_0$
\form#28:$N=M=$
\form#29:$s(t) = \sin(2\pi \cdot 0.05 t) + n(t)$
\form#30:$n(t)$
\form#31:$ n $
\form#32:$ x(m) $
\form#33:$ m = 0 \ldots n-1 $
\form#34:\[ Y(k) = \sum_{m = 0}^{n-1} x(m) \exp \left( -j \frac{2\pi}{n} m k \right), \]
\form#35:$ k = 0 \ldots n-1 $
\form#36:$x(m)$
\form#37:$n$
\form#38:$Y(k)$
\form#39:$ n^2 $
\form#40:\[ y(k) = \sum_{m = 0}^{n-1} x(m) \exp \left( j \frac{2\pi}{n} m k \right), \]
\form#41:$y(k)$
\form#42:$ u = \textrm{cd}^{-1}(w, k)$
\form#43:$ w $
\form#44:$ k $
\form#45:$ u = \textrm{sn}^{-1}(w, k)$
\form#46:$ y = \textrm{cd}(u K(k), k)$
\form#47:$ u $
\form#48:$ k_i $
\form#49:$ K(k) $
\form#50:\[ K(k) = \frac{\pi}{2} \prod_{i = 1}^{\infty}(1+k_i), \]
\form#51:$ k_0 = k$
\form#52:\[ k_i = \left( \frac{k_{i-1}} { 1+\sqrt{1-k_{i-1}^2} } \right)^2 \]
\form#53:$ k<1 $
\form#54:$ y = \textrm{sn}(u K(k), k)$
\form#55:\[ Y(k) = \frac{1}{N} \sum_{m = 0}^{n-1} x(m) \exp \left( j \frac{2\pi}{n} m k \right), \]
\form#56:$ n = 725760 $
\form#57:$725760 = 2 \cdot 3 \cdot 4 \cdot 5 \cdot 6 \cdot 7 \cdot 9 \cdot 16 $
\form#58:$ n = 172804 = 43201 \cdot 4 $
\form#59:$ n = 13 \cdot 17 \cdot 23 \cdot 13 = 66079 $
\form#60:$\sqrt{2^{31}} = 46340.95$
\form#61:$x_0$
\form#62:$x_1$
\form#63:$x(k) = x_0 + k \cdot dx$
\form#64:$dx = \frac{x_1 - x_0}{n-1}$
\form#65:$k = 0 \ldots n-1.$
\form#66:$dx = \frac{x_1 - x_0}{n}$
\form#67:$10^{x_0}$
\form#68:$10^{x_1}$
\form#69:$x(k) = 10^{x_0} \cdot dx^k$
\form#70:$dx = \sqrt[n-1]{10^{x_1 - x_0}}$
\form#71:$dx = \sqrt[n]{10^{x_1 - x_0}}$
\form#72:$ H(j \omega) $
\form#73:$ H(j \omega)$
\form#74:$ H(s) $
\form#75:\[ H(s) = \frac {\sum_{k = 0}^{N} b_k s^k} {\sum_{m = 0}^{N} a_m s^m}, \]
\form#76:$ N $
\form#77:$ s = j \omega $
\form#78:$ \omega $
\form#79:$H(s)$
\form#80:$H(z)$
\form#81:$ H \left(\mathrm{e}^{j\omega} \right) $
\form#82:$ 2\pi $
\form#83:$ \pi $
\form#84:$ -\pi $
\form#85:$ H \left(e^{j \omega} \right)$
\form#86:\[ H(z) = \frac {\sum_{k = 0}^{N} b_k z^{-k}} {\sum_{m = 0}^{N} a_m z^{-m}}, \]
\form#87:$N$
\form#88:$z = e^{j \omega} $
\form#89:$\omega$
\form#90:$ 2 \pi-$
\form#91:$2 \pi$
\form#92:$-\pi$
\form#93:$ \pi$
\form#94:$ H \left(e^{j \omega} \right) = H^* \left(e^{-j \omega} \right)$
\form#95:$\pi$
\form#96:$ -R_p $
\form#97:$ H(s)$
\form#98:$-R_p$
\form#99:$ R_p $
\form#100:$-R_s$
\form#101:$H(j\cdot 1) = -R_s$
\form#102:\[ H(s) = \frac{\sum_{n = 0}^{N_z} b_n \cdot s^n}{\sum_{m = 0}^{N_p} a_m \cdot s^m} = \frac{\prod_{n = 0}^{N_z}(s-z_n)}{\prod_{m = 0}^{N_p} (s-p_m)} \]
\form#103:$ F(s) $
\form#104:$F(s)$
\form#105:$Y(s) = (H \circ F)(s) = H(F(s))$
\form#106:\[ H(s) = \frac{\sum\limits_{m = 0}^{n} b_m s^m}{\sum\limits_{k = 0}^{n} a_k s^k}, \quad F(s) = \frac{\sum\limits_{m = 0}^{p} d_m s^m}{\sum\limits_{k = 0}^{p} c_k s^k}, \quad Y(s) = \frac{\sum\limits_{m = 0}^{n p} \beta_m s^m}{\sum\limits_{k = 0}^{n p} \alpha_k s^k} \]
\form#107:$Y(s) = (H \circ F)(s)$
\form#108:\[ s \leftarrow \frac{1 - z^{-1}}{1 - z^{-1}}. \]
\form#109:$\Omega$
\form#110:\[ \Omega = \tan(\omega / 2). \]
\form#111:\[ s(t) = \sum\limits_{n = 0}^{n_{\omega}-1} S(\omega_n) \exp(j\omega_n t) \]
\form#112:$\omega_n$
\form#113:$S(\omega_n)$
\form#114:$ I_0(x)$
\form#115:$ x $
\form#116:$[0 \ 3]$
\form#117:$ \textrm{sinc}(x,a) = \frac{\sin(ax)}{ax}$
\form#118:\[ \textrm{Si}(x) = \int_{0}^{x} \frac{\sin(x)}{x} \, dx\]
\form#119:$[-6\pi \ 6\pi]$
\form#120:$P_N(x)$
\form#121:$N-$
\form#122:\[ P_N(x) = a_0 + a_1 \cdot x + a_2 \cdot x^2 + a_3 \cdot x^3 + ... a_N \cdot x^N. \]
\form#123:\[ P_N(x) = a_0 + x \cdot (a_1 + x \cdot (a_2 + \cdot ( \ldots x \cdot (a_{N-1} + x\cdot a_N) \ldots ))) \]
\form#124:$10^{56}$

Wyświetl plik

@ -1,4 +1,4 @@
# Doxyfile 1.8.17
# Doxyfile 1.8.15
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
@ -197,16 +197,6 @@ SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line
# such as
# /***************
# as being the beginning of a Javadoc-style comment "banner". If set to NO, the
# Javadoc-style will behave just like regular comments and it will not be
# interpreted by doxygen.
# The default value is: NO.
JAVADOC_BANNER = NO
# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
# line (until the first dot) of a Qt-style comment as the brief description. If
# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
@ -309,7 +299,7 @@ OPTIMIZE_OUTPUT_SLICE = NO
# parses. With this tag you can assign which parser to use for a given
# extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and
# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice,
# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
@ -339,7 +329,7 @@ MARKDOWN_SUPPORT = YES
# to that level are automatically included in the table of contents, even if
# they do not have an id attribute.
# Note: This feature currently applies only to Markdown headings.
# Minimum value: 0, maximum value: 99, default value: 5.
# Minimum value: 0, maximum value: 99, default value: 0.
# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
TOC_INCLUDE_HEADINGS = 0
@ -475,12 +465,6 @@ EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
# methods of a class will be included in the documentation.
# The default value is: NO.
EXTRACT_PRIV_VIRTUAL = NO
# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
# scope will be included in the documentation.
# The default value is: NO.
@ -535,8 +519,8 @@ HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
# declarations. If set to NO, these declarations will be included in the
# documentation.
# (class|struct|union) declarations. If set to NO, these declarations will be
# included in the documentation.
# The default value is: NO.
HIDE_FRIEND_COMPOUNDS = NO
@ -559,7 +543,7 @@ INTERNAL_DOCS = NO
# names in lower-case letters. If set to YES, upper-case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
# (including Cygwin) ands Mac users are advised to set this option to NO.
# and Mac users are advised to set this option to NO.
# The default value is: system dependent.
CASE_SENSE_NAMES = NO
@ -855,10 +839,8 @@ INPUT_ENCODING = UTF-8
# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment),
# *.doc (to be provided as doxygen C comment), *.txt (to be provided as doxygen
# C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f, *.for, *.tcl, *.vhd,
# *.vhdl, *.ucf, *.qsf and *.ice.
# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice.
FILE_PATTERNS = *.c \
*.cc \
@ -1303,9 +1285,9 @@ HTML_TIMESTAMP = YES
# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
# documentation will contain a main index with vertical navigation menus that
# are dynamically created via JavaScript. If disabled, the navigation index will
# are dynamically created via Javascript. If disabled, the navigation index will
# consists of multiple levels of tabs that are statically embedded in every HTML
# page. Disable this option to support browsers that do not have JavaScript,
# page. Disable this option to support browsers that do not have Javascript,
# like the Qt help browser.
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.
@ -1456,7 +1438,7 @@ QCH_FILE =
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
# Project output. For more information please see Qt Help Project / Namespace
# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
# (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_QHP is set to YES.
@ -1464,7 +1446,7 @@ QHP_NAMESPACE = org.doxygen.Project
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
# Help Project output. For more information please see Qt Help Project / Virtual
# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-
# Folders (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-
# folders).
# The default value is: doc.
# This tag requires that the tag GENERATE_QHP is set to YES.
@ -1473,7 +1455,7 @@ QHP_VIRTUAL_FOLDER = doc
# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
# filter to add. For more information please see Qt Help Project / Custom
# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
# Filters (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
@ -1481,7 +1463,7 @@ QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
# custom filter to add. For more information please see Qt Help Project / Custom
# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
# Filters (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
@ -1489,7 +1471,7 @@ QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
# project's filter section matches. Qt Help Project / Filter Attributes (see:
# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
# http://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_SECT_FILTER_ATTRS =
@ -1593,14 +1575,8 @@ FORMULA_FONTSIZE = 14
FORMULA_TRANSPARENT = YES
# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands
# to create new LaTeX commands to be used in formulas as building blocks. See
# the section "Including formulas" for details.
FORMULA_MACROFILE =
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
# https://www.mathjax.org) which uses client side JavaScript for the rendering
# https://www.mathjax.org) which uses client side Javascript for the rendering
# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
# installed or if you want to formulas look prettier in the HTML output. When
# enabled you may also need to install MathJax separately and configure the path
@ -1608,7 +1584,7 @@ FORMULA_MACROFILE =
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
USE_MATHJAX = YES
USE_MATHJAX = NO
# When MathJax is enabled you can set the default output format to be used for
# the MathJax output. See the MathJax site (see:
@ -1670,7 +1646,7 @@ MATHJAX_CODEFILE =
SEARCHENGINE = NO
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a web server instead of a web client using JavaScript. There
# implemented using a web server instead of a web client using Javascript. There
# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
# setting. When disabled, doxygen will generate a PHP script for searching and
# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
@ -1774,11 +1750,10 @@ LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
# generate index for LaTeX. In case there is no backslash (\) as first character
# it will be automatically added in the LaTeX code.
# generate index for LaTeX.
# Note: This tag is used in the generated output file (.tex).
# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.
# The default value is: makeindex.
# The default value is: \makeindex.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_MAKEINDEX_CMD = \makeindex
@ -2272,6 +2247,12 @@ EXTERNAL_GROUPS = YES
EXTERNAL_PAGES = YES
# The PERL_PATH should be the absolute path and name of the perl script
# interpreter (i.e. the result of 'which perl').
# The default file (with absolute path) is: /usr/bin/perl.
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
@ -2285,6 +2266,15 @@ EXTERNAL_PAGES = YES
CLASS_DIAGRAMS = NO
# You can define message sequence charts within doxygen comments using the \msc
# command. Doxygen will then run the mscgen tool (see:
# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
# documentation. The MSCGEN_PATH tag allows you to specify the directory where
# the mscgen tool resides. If left empty the tool is assumed to be found in the
# default search path.
MSCGEN_PATH =
# You can include diagrams made with dia in doxygen documentation. Doxygen will
# then run dia to produce the diagram and insert it in the documentation. The
# DIA_PATH tag allows you to specify the directory where the dia binary resides.

Wyświetl plik

@ -49,9 +49,6 @@ cheby_poly1_ord4.txt
\image html cheby_poly1.png
Скрипт GNUPLOT для построения графиков из текстовых файлов:
\include cheby_poly1.plt
\author Бахурин Сергей www.dsplib.org
**************************************************************************** */
@ -108,8 +105,5 @@ cheby_poly2_ord4.txt
\image html cheby_poly2.png
Скрипт GNUPLOT для построения графиков из текстовых файлов:
\include cheby_poly2.plt
\author Бахурин Сергей www.dsplib.org
**************************************************************************** */

Wyświetl plik

@ -186,7 +186,7 @@ cc[5] = 0.0+24.0j
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\n ote Данная функция наиболее эффективна при вычислении длинных сверток.
\note Данная функция наиболее эффективна при вычислении длинных сверток.
Пример использования функции:
@ -376,9 +376,6 @@ dat/sf.txt - сигнал на выходе фильтра.
\image html filter_iir_test.png
Скрипт GNUPLOT для построения графиков из текстовых файлов:
\include filter_iir.plt
\author Бахурин Сергей www.dsplib.org
***************************************************************************** */

Wyświetl plik

@ -8,7 +8,7 @@
/*!
\ingroup ERROR_CODE_GROUP
\def ERROR_ELLIP_K
\def ERROR_ELLIP_MODULE
\brief Модуль эллиптического интеграла Якоби должен быть от 0 до 1.
Данная ошибка возникает при расчете эллиптических функций Якоби
при неверном задании параметра эллиптического модуля.
@ -86,15 +86,6 @@
/*!
\ingroup ERROR_CODE_GROUP
\def ERROR_FS
\brief Частота дискретизации задана неверно.
Частота дискретизации должна быть положительным числом.
*/
/*!
\ingroup ERROR_CODE_GROUP
\def ERROR_FFT_SIZE

Wyświetl plik

@ -179,9 +179,6 @@ cheby1_ap_test_tau.txt ГВЗ фильтра
\image html cheby1_ap_test.png
Скрипт GNUPLOT для построения графиков из текстовых файлов:
\include cheby1_ap_test.plt
\author
Бахурин Сергей
www.dsplib.org

Wyświetl plik

@ -82,9 +82,6 @@ err = 0
\image html bilinear.png
Скрипт GNUPLOT для построения графиков из текстовых файлов:
\include bilinear_test.plt
\author
Бахурин Сергей
www.dsplib.org

Wyświetl plik

@ -1,57 +0,0 @@
/*! \page getting_started_make Компиляция libdspl-2.0 утилитой make
Предварительно необходимо установить все необходимые утилиты.
Если этот шаг не сделан, то смотри раздел: \n \n
\ref getting_started_toolchain
\n
\n
Скачиваем с сайта Github.com
<a href="https://github.com/Dsplib/libdspl-2.0">
сайта Github.com
</a>
исходные коды DSPL:
\image html dspl_github.png
Разархивируем в рабочий каталог.
Вы можете разархивировать в любой каталог, `libdspl-2.0` будет
обозначать каталог, в который разархивированы исходные коды.
В качестве примера, исходные коды были разархивированы в
каталог `J:\libdspl-2.0`. \n
Переходим в указанный каталог: \n
\image html libdspl_dir.png
Выделяем в строку адреса и вводим туда `cmd`: \n
\image html libdspl_cmd.png
В результате откроется консоль Windows в которую можно вводить команды. \n
Вводим команду `ming32-make`:\n
\image html winconsole_1.png
После нажатия `[Enter]` начнется сборка всех компонент библиотеки.
\note Время первой сборки зависит от производительности компьютера и может
занимать от двух до двадцати минут. Последующие сборки будут значительно
быстрее, потому что при первой сборке компилируются библиотеки BLAS и
LAPACK, которые линкуются в дальнейшем из готовых объектных файлов.
После сборки проекта можно перейти в каталог `bin` в котором сохранены
программы примеры. Также в данном каталоге можно найти готовую библиотеку
`libdspl.dll`:
\image html libdspl_bin.png
На этом установка всех компонент и сборка проекта окончена.
*/

Wyświetl plik

@ -1,239 +0,0 @@
/*! \page getting_started_windows_gcc Быстрый старт использования библиотеки в системе Windows (GCC компилятор)
\tableofcontents
Запуск DSPL в системе Windows требует установки компилятора, Unix-утилит, и
пакета построения графиков GNUPlot. Также желательно установить консольный
файловый менеджер Far.
\subsection install_gcc Установка компилятора GCC в системе Windows
<a name = "install_gcc"></a>
<h2> Установка компилятора GCC в системе Windows </h2>
GCC компилятор в системе Windows реализован в проекте MinGW64.
Скачиваем дистрибутив MinGW64 с сайта
<a href = "https://sourceforge.net/projects/mingw-w64/files/">
sourceforge.net
</a>, соответствующий разрядности вашей системы Windows.
Для 64-битной системы вы можете скачать по
<a href = "https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/sjlj/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0.7z">
прямой ссылке
</a>.<BR>
Разархивируем дистрибутив на диск `C:\`. В результате на диске `C:\`
появится директория `mingw64` в которой будет несколько папок.
Перейдя в директорию `C:\mingw64\bin` можно увидеть множество исполняемых
файлов, в частности `gcc.exe` который вызывается для компиляции кода.
\image html mingw_bin.png
Теперь надо операционной системе прописать в системную
переменную `Path` путь к директории `C:\mingw64\bin`,
чтобы при вызове компиляции система искала `gcc.exe` по указанному пути.
В системе Windows необходимо открыть свойства компьютера,
и перейти в дополнительные параметры системы. После открыть переменные среды:
\image html path_1.png
нажать кнопку Создать и добавить путь `C:\mingw64\bin`,
как это показано на следующем рисунке:
\image html path_2.png
Если вы используете opensource приложения, например GNU Octave,
то они могут в своем составе также иметь GCC компилятор.
Поэтому рекомендуется ставить путь `C:\mingw64\bin`
в списке переменной `Path` самым первым, нажатием кнопки Вверх:
\image html path_3.png
В предыдущих версиях Windows переменная редактировалась в одной строке:
\image html path_old.png
В этом случае надо вставить `C:\mingw64\bin;` вначало строки переменной `Path`.
После того как переменная `Path` изменена система должна увидеть GCC.
Открываем консоль и проверяем, система увидела GCC компилятор.
Для этого нажимаем Пуск-> Все приложения -> Служебные Windows
и выбираем Командная строка.
В консоли вводим
\verbatim
gcc --version
\endverbatim
и вывод должен быть следующий:
\image html gcc_ver.png
На этом настройка компилятора GCC окончена.
\subsection install_unixutils Установка Unix утилит в системе Windows
<a name = "install_unixutils"></a>
<h2> Установка Unix утилит в системе Windows</h2>
Для работы с кроссплатформенным компилятором gcc необходимо установить
дополнительный набор Unix-утилит.
Скачиваем набор Unix-утилит со
<a href = "https://sourceforge.net/projects/unxutils/files/latest/download">
страницы SourceForge</a>
Распаковываем в директорию `C:\UnxUtils`
Тогда в директории `C:\UnxUtils\usr\local\wbin`
будет набор утилит:
\image html unxutils.png
Для того чтобы эти утилиты увидела система, директорию `C:\UnxUtils\usr\local\wbin`
Также надо добавить к переменной `Path`,
также как это было описано выше для GCC компилятора:
\image html path_unx.png
На этом настройка Unix-утилит окончена.
\subsection install_gnuplot Установка программы построения графиков GNUPlot
<a name = "install_gnuplot"></a>
<h2>Установка программы построения графиков GNUPlot</h2>
При работе с DSPL требуется строить графики сигналов, спектров и т.д.
Для этого используется кроссплатформенный пакет GNUPlot.
Скачиваем архив с пакетом построения графиков
со
<a href = "https://sourceforge.net/projects/gnuplot/files/gnuplot/5.2.4/gp524-win64-mingw_3.7z/download">
страницы SourceForge</a>
Pазархивируем на диск `C:\`.
Получаем следующую директорию с исполняемыми файлами GNUPlot:
\image html gnuplot.png
Снова прописываем путь к директории `C:\gnuplot\bin` в переменную `Path`
\image html path_gnuplot.png
На этом настройка GNUPlot окончена.
\subsection install_far Установка консольного файлового менеджера Far manager
<a name = "install_far"></a>
<h2>Установка консольного файлового менеджера Far manager</h2>
На самом деле это не обязательный шаг, но Far сильно облегчает работу
с командной строкой в Windows.
Скачиваем дистрибутив с
<a href = "https://www.farmanager.com/download.php?l=ru">
официального сайта
</a> и устанавливаем его.
После установки запускаем и видим две панели консольного файлового менеджера:
\image html far_manager.png
В сети можно найти
<a href = "https://documentation.help/Far-Manager-ru/PanelCmd.html">
множество информации по использованию Far</a>.
Итак, мы установили компилятор MinGW64, набор Unix утилит,
программу построения графиков GNUPlot и консольный файловый менеджер.
Теперь можно компилировать DSPL и запускать программы с ее использованием.
\subsection compile_gcc Компиляция libdspl-2.0 и запуск программы с ее использованием
<a name = "compile_gcc"></a>
<h2>Компиляция libdspl-2.0 и запуск программы с ее использованием</h2>
Скачиваем с сайта Github.com
<a href="https://github.com/Dsplib/libdspl-2.0">
сайта Github.com
</a>
исходные коды DSPL:
\image html dspl_github.png
Разархивируем в рабочую директорию.
Вы можете разархивировать в любую директорию, libdspl-2.0 будет
обозначать директорию в которую разархивированы исходные коды.
Запускаем Far manager и переходим в директорию libdspl-2.0.
\image html dspl_dir.png
Далее нажимаем `Ctrl-O` и скрываем панели Far, после вводим команду `mingw32-make`
Если все настроено верно, то вы увидите процесс компиляции библиотеки и всех тестовых программ.
\image html compileproc.png
По завершению компиляции снова нажимаем `Ctrl-O` (возвращаем панели Far),
переходим в директорию `libdspl-2.0/example/bin` и видим скомпилированные exe-файлы:
\image html dspl_exe.png
Можно выполнить любой exe-файл. Например выполним `sinc_test.exe` и
увидим окно с графиками функции.
*/

Wyświetl plik

@ -1,5 +1,6 @@
/*! \page getting_started_toolchain Установка DSPLIB toolchain в системе Windows
\section download_toolchain_windows Загрузка установщика
Запуск DSPL в системе Windows требует установки компилятора, Unix-утилит, и
пакета построения графиков GNUPlot. Также желательно установить консольный
@ -13,9 +14,7 @@ DSPLIB toolchain - полный набор утилит необходимых
\subsection install_gcc Установка DSPLIB toolchain в системе Windows
<a name = "install_toolchain"></a>
<h2> DSPLIB toolchain в системе Windows </h2>
\section install_gcc Установка DSPLIB toolchain в системе Windows
Запускаем установщик и выбираем директорию в которую будет произведена установка
всех компонент.
@ -67,10 +66,61 @@ PATH, а на рабочем столе будут созданы иконки F
Теперь вы можете производить сборку библиотеки и работать с ней. \n \n
Смотри также: \n
\section getting_started_make Компиляция libdspl-2.0 утилитой make
\ref getting_started_make
Предварительно необходимо установить все необходимые утилиты.
Если этот шаг не сделан, то смотри раздел: \n \n
\ref getting_started_toolchain
\n
\n
Скачиваем
<a href="https://github.com/Dsplib/libdspl-2.0">
с сайта Github.com
</a>
исходные коды DSPL:
\image html dspl_github.png
Разархивируем в рабочий каталог.
Вы можете разархивировать в любой каталог, `libdspl-2.0` будет
обозначать каталог, в который разархивированы исходные коды.
В качестве примера, исходные коды были разархивированы в
каталог `J:\libdspl-2.0`. \n
Переходим в указанный каталог: \n
\image html libdspl_dir.png
Выделяем в строку адреса и вводим туда `cmd`: \n
\image html libdspl_cmd.png
В результате откроется консоль Windows в которую можно вводить команды. \n
Вводим команду `ming32-make`:\n
\image html winconsole_1.png
После нажатия `[Enter]` начнется сборка всех компонент библиотеки.
\note Время первой сборки зависит от производительности компьютера и может
занимать от двух до двадцати минут. Последующие сборки будут значительно
быстрее, потому что при первой сборке компилируются библиотеки BLAS и
LAPACK, которые линкуются в дальнейшем из готовых объектных файлов.
После сборки проекта можно перейти в каталог `bin` в котором сохранены
программы примеры. Также в данном каталоге можно найти готовую библиотеку
`libdspl.dll`:
\image html libdspl_bin.png
На этом установка всех компонент и сборка проекта окончена.
\n \n
*/

Wyświetl plik

@ -49,12 +49,10 @@ handle графика и появляется возможность посыл
В противном случае \ref ERROR_CODE_GROUP "код ошибки".\n
При возникновении ошибки по адресу `hplot` будет записан `NULL`.\n
\note Если в `argv[1]` задан параметр `--noplot`, то функция вернет `RES_OK`,
но по адресу `hplot` также будет записан `NULL`.
\n
но по адресу `hplot` также будет записан `NULL`. \n
После построения графиков необходимо закрыть хэндл GNUPLOT функцией
\ref `gnuplot_close`.
\ref gnuplot_close. \n
Пример построения графиков синуса и косинуса привден в следующем листинге:
@ -77,3 +75,59 @@ handle графика и появляется возможность посыл
**************************************************************************** */
/*! ****************************************************************************
\ingroup PLOT_GROUP
\fn void gnuplot_close(void* h)
\brief Закрыть хэндл GNUPLOT.
Данная функция закрывает открытый ранее хэндл GNUPLOT после передачи всех
команд построения графиков.
\note С точки зрения системы, `h` является указателем на открытый файл,
в который можно записывать команды для исполнения пакетом GNUPLOT. Данная
функция закрывает этот файл.\n
Важно отметить, что закрытие хэндла не означает закрытия окна графика.
После закрытия хэндла пакета, пользователь не может посылать команды построения
графика, но окно графика остается открытым, так как обрабатывается пакетом
независимо.
\param[in] h Хэндл пакета GNUPLOT. \n \n
\author Бахурин Сергей, www.dsplib.org
**************************************************************************** */
/*! ****************************************************************************
\ingroup PLOT_GROUP
\fn void gnuplot_cmd(void* h, char* cmd)
\brief Функция посылает команду `cmd` пакету GNUPLOT, для построения
или оформления графика, соответсвующего хэндлу `h`.
Данная функция закрывает открытый ранее хэндл GNUPLOT после передачи всех
команд построения графиков.
\note С точки зрения системы, `h` является указателем на открытый файл,
в который можно записывать команды для исполнения пакетом GNUPLOT. Данная
функция записывает в данный файл строку `cmd`. \n \n
С точки зрения пользователя, вызов функции `gnuplot_cmd` равносильно выполнению
одной строки скрипта GNUPLOT. \n \n
Исчерпывающее описание возможностей построения графиков пакетом GNUPLOT,
с примерами команд можно найти на
<a href = "http://gnuplot.sourceforge.net/demo_5.2/">сайте проекта GNUPLOT</a>.
\param[in] h Хэндл графика GNUPLOT. \n \n
\param[in] cmd Тектовая строка команды построения или оформления
графика. \n \n
\author Бахурин Сергей, www.dsplib.org
**************************************************************************** */

Wyświetl plik

@ -1,100 +1,3 @@
/*! ****************************************************************************
\ingroup IN_OUT_GROUP
\fn int gnuplot_script(int argc, char* argv[], char* fn)
\brief Функция вызова скрипта
<a href = "http://www.gnuplot.info/">пакета GNUPLOT</a>
для построения графика.
Данная функция использует параметры вызова программы `argc` и `argv[]`
и обрабатывает их для построения графиков.
Механизм построения графиков при помощи данной функции следующий:
1. Основная программа производит расчет данных и сохранение их в текстовых
файлах. \n
2. Для построения графика из текстовых файлов необходимо подготовить
plt-скрипт - текстовый файл описывающий стиль отображения графика
и файлы данных. \n
3. Основная программа вызывает функцию `gnuplot_script` в которую транслирует
параметры отображения и имя plt-скрипта для построения графика.
В зависимости от передаваемых программой параметров график может быть
построен в отдельном окне, или сохранен в png-файл. \n
\param[in] argc Число параметров вызова основной программы. \n
Данный параметр указывает размер массива
параметров `argv[]`. \n \n
\param[in] argv[] Указатель на массив строк, передаваемых параметров. \n
`argv[0]` -- имя программы. \n
`argv[1]` -- параметр, который задает отображение графика
пакетом GNUPLOT. \n
Параметр `argv[1]` может принимать следующие значения: \n
`--noplot` произвести расчет данных без
построения графиков. \n
`--plotwin` построение графика в отдельном окне. \n
`--plotpng` построение графика в png-файл. \n \n
\param[in] fn Имя файла plt-скрипта построения графика. \n \n
\return
`RES_OK` График построен успещно. \n
В противном случае возвращается код ошибки пакета GNUPLOT. \n
Рассмотрим пример. Пусть основная программа рассчитывает некоторые данные
(отрезок синсоиды и косинусоиды) и сохраняет их в текстовые
файлы `dat/sine.txt` и `dat/cosine.txt`: \n
\include gnuplot_script_test.c
\n \n
В каталоге `gnuplot` расположен plt-файл `gnuplot/gnuplot_script.plt`: \n
\include gnuplot_script.plt
\n \n
После компиляции основной программы возможны следующие варианты: \n
1. Программа вызвана без параметров.
Тогда будет построен график в отдельном окне
\image html gnuplot_script_wxt.png
2. Программа вызвана с параметром `--noplot`.
Построения графика не будет, но в дириктории `dat` будут
сохранены данные в текстовых файлах. \n
3. Программа вызвана с параметром `--plotwin`.
Также будет построен график в отдельном окне. \n
4. Программа вызвана с параметром `--plotpng`.
График не будет выведен в отдельное окно, но будет создан графический
файл `img/gnuplot_script.png`
\image html gnuplot_script.png
\n \n
\note Для изменения стиля отображения графика, цвета линий, подписей и др.
необходимо модифицировать plt-файл. Документацию по оформлению графиков
можно найти на <a href="http://gnuplot.sourceforge.net/demo_5.2/">
сайте проекта GNUPLOT.</a>
\n
\n
функция передает параметр `plotterm` в plt-скрипт. Поэтому строки
\verbatim
if(!exists("plotterm")) plotterm = 'wxt'
if(plotterm eq "pngcairo") set output 'img/gnuplot_script.png'
\endverbatim
необходимо сохранить. Но имя файла `img/gnuplot_script.png` может быть
произвольным.
\author
Бахурин Сергей.
www.dsplib.org
***************************************************************************** */
/*! ****************************************************************************
\ingroup IN_OUT_GROUP
\fn int writebin(void* x, int n, int dtype, char* fn)
@ -201,7 +104,7 @@
\endverbatim
Файл может быть использован для построения графика сторонней программой,
например пакетом GNUPLOT (см. функцию \ref gnuplot_script). \n \n
например пакетом GNUPLOT (см. раздел \ref PLOT_GROUP). \n \n
\param[in] x Указатель на первый вектор. \n
Размер вектора `[n x 1]`. \n \n

Wyświetl plik

@ -22,8 +22,6 @@ DSPL-2.0 - свободная библиотека алгоритмов цифр
\ref getting_started_toolchain \n
\ref getting_started_toolchain \n
\ref getting_started_make \n
<H3>
@ -54,7 +52,7 @@ DSPL-2.0 - свободная библиотека алгоритмов цифр
<B>Прочие алгоритмы:</B>\n
\ref RESAMPLING_GROUP \n
\ref IN_OUT_GROUP \n \n
\ref IN_OUT_GROUP \n
\ref PLOT_GROUP \n

Wyświetl plik

@ -40,8 +40,6 @@
\image html bessel_i0.png
Скрипт GNUPLOT для построения графиков из текстовых файлов:
\include bessel_i0.plt
\author
Бахурин Сергей
@ -124,9 +122,6 @@ www.dsplib.org
\image html sine_int.png
Скрипт GNUPLOT для построения графиков из текстовых файлов:
\include sine_int.plt
\author
Бахурин Сергей
www.dsplib.org

Wyświetl plik

@ -1,115 +0,0 @@
/*! ****************************************************************************
\ingroup SPEC_MATH_LINALG_GROUP
\struct matrix_t
\brief Структура данных объекта матриц и векторов
Структура описывает вещественные и комплексные матрицы и векторы.
\param dat Указатель на область памяти, которая
хранит матрицу или вектор \n \n
\param n Количество строк матрицы. \n \n
\param m Количество столбцов матрицы. \n \n
\param type Тип матрицы. \n \n
Параметр `dat` преставляет собой указатель типа `void*` ввиду того, что матрица
может содержать как вещественные, так и комплексные значения. Если матрица
вещественная, то перед обращением к элементам матрицы необходимо указатель
`dat` привести к типу `double*`. Аналогично, указатель `dat` необходимо привести
к типу `complex_t*`, если матрица комплексная.
Матрицу заданного размера и типа можно создать функцией \ref matrix_create.
Например
\code
matrix_t a, b; // объявляем объекты матриц
// обнуляем все поля и указатели.
// Данные шаг рекомендуется ввиду того, что некоторые компиляторы
// при создании переменной не инициализируют ее нулем.
memset(&a, 0, sizeof(matrix_t));
memset(&b, 0, sizeof(matrix_t));
//создаем вещественную матрицу a размерности [3 x 4]
err = matrix_create(&a, 3, 4, DAT_DOUBLE);
// создаем комплексную матрицу b размерности [3 x 2]
err = matrix_create(&b, 3, 2, DAT_COMPLEX);
// ....
// работа с матрицами a и b
// ....
//очистить память перед выходом
matrix_free(&a);
matrix_free(&b);
\endcode
Двумереные матрицы размером `n` на `m` расположены в памяти в виде линейного
вектора, который организован по строкам. Так некий элемент матрицы \f$a_{ij}\f$
матрицы размерности `n` на `m` будет иметь индекс `j*n+i` (индексация матриц
начинается с нуля). Например:
\code
matrix_t a; // объявляем объекты матриц
// обнуляем все поля и указатели.
// Данные шаг рекомендуется ввиду того, что некоторые компиляторы
// при создании переменной не инициализируют ее нулем.
memset(&a, 0, sizeof(matrix_t));
// создаем вещественную матрицу a размерности [3 x 4]
err = matrix_create(&a, 3, 4, DAT_DOUBLE);
// приводим указатель к double*
double* x = (double*)(a.dat);
// присваиваем элемент a[2,3] = 3.0
x[3 * a.n + 2] = 3.0;
//очистить память перед выходом
matrix_free(&a);
\endcode
Если требуется изменить размер матрицы, то можно повторно вызывать функцию
\ref matrix_create. Например:
\code
matrix_t a; // объявляем объекты матриц
// обнуляем все поля и указатели.
// Данные шаг рекомендуется ввиду того, что некоторые компиляторы
// при создании переменной не инициализируют ее нулем.
memset(&a, 0, sizeof(matrix_t));
// создаем вещественную матрицу a размерности [3 x 4]
err = matrix_create(&a, 3, 4, DAT_DOUBLE);
// .....
// изменяем размер матрицы а на [6 x 7]
err = matrix_create(&a, 6, 7, DAT_DOUBLE);
// очистить память перед выходом
matrix_free(&a);
\endcode
\author
Бахурин Сергей.
www.dsplib.org
***************************************************************************** */

Wyświetl plik

@ -33,8 +33,8 @@ Print DSPL info
void DSPL_API dspl_info()
{
printf("\n\n D S P L - 2.0\n");
printf(" version 2.19.10.20\n");
printf("\n Copyright (C) 2015-2019\n");
printf(" version 2.20.01.09\n");
printf("\n Copyright (C) 2015-2020\n");
printf(" Sergey Bakhurin www.dsplib.org\n");
printf(" ---------------------------------------------\n");
printf(" BLAS and LAPACK ver.: 3.8.0 www.netlib.org\n");
@ -42,46 +42,6 @@ void DSPL_API dspl_info()
}
/*******************************************************************************
run gnuplot script
*******************************************************************************/
int DSPL_API gnuplot_script(int argc, char* argv[], char* fn)
{
char cmd[1024] = {0};
if(!fn)
return ERROR_PTR;
if(argc > 1 && argv)
{
if(!strcmp(argv[1], "--noplot"))
{
return RES_OK;
}
if(!strcmp(argv[1], "--plotwin"))
{
sprintf(cmd, "gnuplot -e \"plotterm = 'wxt'\" -p %s", fn);
goto script_label;
}
if(!strcmp(argv[1], "--plotpng"))
{
sprintf(cmd, "gnuplot -e \"plotterm = 'pngcairo'\" -p %s", fn);
goto script_label;
}
return ERROR_GNUPLOT_TERM;
}
{
sprintf(cmd, "gnuplot -e \"plotterm = 'wxt'\" -p %s", fn);
goto script_label;
}
script_label:
return system(cmd);
}
/******************************************************************************
Write a real array to the binary file "fn"

Wyświetl plik

@ -1,5 +1,5 @@
/*
* Copyright (c) 2015-2019 Sergey Bakhurin
* Copyright (c) 2015-2020 Sergey Bakhurin
* Digital Signal Processing Library [http://dsplib.org]
*
* This file is part of libdspl-2.0.
@ -109,7 +109,6 @@ p_freqz freqz ;
p_gnuplot_close gnuplot_close ;
p_gnuplot_cmd gnuplot_cmd ;
p_gnuplot_create gnuplot_create ;
p_gnuplot_script gnuplot_script ;
p_goertzel goertzel ;
p_goertzel_cmplx goertzel_cmplx ;
@ -304,7 +303,6 @@ void* dspl_load()
LOAD_FUNC(gnuplot_close);
LOAD_FUNC(gnuplot_cmd);
LOAD_FUNC(gnuplot_create);
LOAD_FUNC(gnuplot_script);
LOAD_FUNC(goertzel);
LOAD_FUNC(goertzel_cmplx);

Wyświetl plik

@ -1,5 +1,5 @@
/*
* Copyright (c) 2015-2019 Sergey Bakhurin
* Copyright (c) 2015-2020 Sergey Bakhurin
* Digital Signal Processing Library [http://dsplib.org]
*
* This file is part of libdspl-2.0.
@ -644,10 +644,6 @@ DECLARE_FUNC(int, gnuplot_create, int argc
COMMA char* fn_png
COMMA void** hplot);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, gnuplot_script, int argc
COMMA char* argv[]
COMMA char* fn);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, goertzel, double*
COMMA int
COMMA int*