kopia lustrzana https://github.com/Dsplib/libdspl-2.0
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.hpull/6/merge
rodzic
c9a0fd9122
commit
ae5476689a
Plik binarny nie jest wyświetlany.
Przed Szerokość: | Wysokość: | Rozmiar: 87 KiB Po Szerokość: | Wysokość: | Rozmiar: 86 KiB |
Plik diff jest za duży
Load Diff
|
@ -1 +0,0 @@
|
|||
\relax
|
Plik binarny nie jest wyświetlany.
|
@ -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).
|
|
@ -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}
|
|
@ -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}$
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
**************************************************************************** */
|
|
@ -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
|
||||
***************************************************************************** */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -82,9 +82,6 @@ err = 0
|
|||
|
||||
\image html bilinear.png
|
||||
|
||||
Скрипт GNUPLOT для построения графиков из текстовых файлов:
|
||||
\include bilinear_test.plt
|
||||
|
||||
\author
|
||||
Бахурин Сергей
|
||||
www.dsplib.org
|
||||
|
|
|
@ -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
|
||||
|
||||
На этом установка всех компонент и сборка проекта окончена.
|
||||
|
||||
|
||||
*/
|
|
@ -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` и
|
||||
увидим окно с графиками функции.
|
||||
|
||||
|
||||
*/
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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
|
||||
**************************************************************************** */
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
***************************************************************************** */
|
||||
|
|
@ -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"
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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*
|
||||
|
|
Ładowanie…
Reference in New Issue