kopia lustrzana https://github.com/Dsplib/libdspl-2.0
109 wiersze
15 KiB
HTML
109 wiersze
15 KiB
HTML
<!-- HTML header for doxygen 1.8.13
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||
-->
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||
<meta name="generator" content="Doxygen 1.8.15"/>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
<title>libdspl-2.0: Исходный файл F:/dsplib.org/libdspl-2.0/examples/src/butter_ap_test.c</title>
|
||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="jquery.js"></script>
|
||
<script type="text/javascript" src="dynsections.js"></script>
|
||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<link href="doxy_stylesheet.css" rel="stylesheet" type="text/css" />
|
||
<link href="http://dsplib.org/dsplib-stylesheet.css".css" rel="stylesheet" type="text/css">
|
||
</head>
|
||
<body>
|
||
<!-- Yandex.Metrika counter -->
|
||
<script type="text/javascript" >
|
||
(function (d, w, c) {
|
||
(w[c] = w[c] || []).push(function() {
|
||
try {
|
||
w.yaCounter32971694 = new Ya.Metrika({
|
||
id:32971694,
|
||
clickmap:true,
|
||
trackLinks:true,
|
||
accurateTrackBounce:true
|
||
});
|
||
} catch(e) { }
|
||
});
|
||
var n = d.getElementsByTagName("script")[0],
|
||
s = d.createElement("script"),
|
||
f = function () { n.parentNode.insertBefore(s, n); };
|
||
s.type = "text/javascript";
|
||
s.async = true;
|
||
s.src = "https://mc.yandex.ru/metrika/watch.js";
|
||
if (w.opera == "[object Opera]") {
|
||
d.addEventListener("DOMContentLoaded", f, false);
|
||
} else { f(); }
|
||
})(document, window, "yandex_metrika_callbacks");
|
||
</script>
|
||
<noscript><div><img src="https://mc.yandex.ru/watch/32971694" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
||
<!-- /Yandex.Metrika counter -->
|
||
<div class = "header-bar">
|
||
<div class = "menu-bar">
|
||
<nav>
|
||
<ul>
|
||
<div class = "dsplib-logo"><img src="http://dsplib.org/logo.png" /> </div>
|
||
<li><a href="http://ru.dsplib.org">Содержание</a></li>
|
||
<li><a href="http://ru.dsplib.org/dspl">DSPL</a></li>
|
||
<li><a href="http://ru.dsplib.org/forum">Форум</a></li>
|
||
<li>
|
||
<div class="search-bar">
|
||
<div class="ya-site-form ya-site-form_inited_no" onclick="return {'action':'http://ru.dsplib.org/search_results.html','arrow':false,'bg':'transparent','fontsize':12,'fg':'#000000','language':'ru','logo':'rb','publicname':'ru.dsplib.org поиск','suggest':true,'target':'_self','tld':'ru','type':2,'usebigdictionary':true,'searchid':2332185,'input_fg':'#000000','input_bg':'#ffffff','input_fontStyle':'normal','input_fontWeight':'normal','input_placeholder':'поиск','input_placeholderColor':'#000000','input_borderColor':'#7f9db9'}"><form action="https://yandex.ru/search/site/" method="get" target="_self" accept-charset="utf-8"><input type="hidden" name="searchid" value="2332185"/><input type="hidden" name="l10n" value="ru"/><input type="hidden" name="reqenc" value=""/><input type="search" name="text" value="" style = "height: 24px; font-family: verdana,arial; font-size: 12px"/><input type="submit" value="Найти" style = "display: none;"/></form></div><style type="text/css">.ya-page_js_yes .ya-site-form_inited_no { display: none; }</style><script type="text/javascript">(function(w,d,c){var s=d.createElement('script'),h=d.getElementsByTagName('script')[0],e=d.documentElement;if((' '+e.className+' ').indexOf(' ya-page_js_yes ')===-1){e.className+=' ya-page_js_yes';}s.type='text/javascript';s.async=true;s.charset='utf-8';s.src=(d.location.protocol==='https:'?'https:':'http:')+'//site.yandex.net/v2.0/js/all.js';h.parentNode.insertBefore(s,h);(w[c]||(w[c]=[])).push(function(){Ya.Site.Form.init()})})(window,document,'yandex_site_callbacks');</script>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
<div class="main-dsplib">
|
||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||
<div id="titlearea">
|
||
<table cellspacing="0" cellpadding="0">
|
||
<tbody>
|
||
<tr style="height: 56px;">
|
||
<td id="projectalign" style="padding-left: 0.5em;">
|
||
<div id="projectname">libdspl-2.0
|
||
</div>
|
||
<div id="projectbrief">Библиотека алгоритмов цифровой обработки сигналов</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<!-- end header part -->
|
||
<!-- Создано системой Doxygen 1.8.15 -->
|
||
<div id="nav-path" class="navpath">
|
||
<ul>
|
||
<li class="navelem"><a class="el" href="dir_d28a4824dc47e487b107a5db32ef43c4.html">examples</a></li><li class="navelem"><a class="el" href="dir_95b57effb8038f90624a8a5b60361b2e.html">src</a></li> </ul>
|
||
</div>
|
||
</div><!-- top -->
|
||
<div class="header">
|
||
<div class="headertitle">
|
||
<div class="title">butter_ap_test.c</div> </div>
|
||
</div><!--header-->
|
||
<div class="contents">
|
||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#include <stdio.h></span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#include <stdlib.h></span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor">#include <string.h></span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include "dspl.h"</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#define ORD 3</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#define N 1000</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> </div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>* argv[])</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> {</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  <span class="keywordtype">void</span>* handle; <span class="comment">// DSPL handle</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  handle = dspl_load(); <span class="comment">// Load DSPL function</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  <span class="keywordtype">double</span> a[ORD+1], b[ORD+1];</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  <span class="keywordtype">double</span> Rp = 1.0;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  <span class="keywordtype">double</span> w[N], mag[N], phi[N], tau[N];</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keywordtype">int</span> k;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <span class="keywordtype">int</span> res = <a class="code" href="group___i_i_r___f_i_l_t_e_r___d_e_s_i_g_n___g_r_o_u_p.html#ga65df99359f211937e4dc1141f57ef571">butter_ap</a>(Rp, ORD, b, a);</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  <span class="keywordflow">if</span>(res != <a class="code" href="group___e_r_r_o_r___c_o_d_e___g_r_o_u_p.html#ga312c04ce416e0afdbd653394e36a117d">RES_OK</a>)</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  printf(<span class="stringliteral">"error code = 0x%8x\n"</span>, res);</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <span class="keywordflow">for</span>(k = 0; k < ORD+1; k++)</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  printf(<span class="stringliteral">"b[%2d] = %9.3f a[%2d] = %9.3f\n"</span>, k, b[k], k, a[k]);</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="group___s_p_e_c___m_a_t_h___c_o_m_m_o_n___g_r_o_u_p.html#gad18821174e4a11f75c5d381732249122">logspace</a>(-2.0, 2.0, N , DSPL_SYMMETRIC, w);</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <a class="code" href="group___f_i_l_t_e_r___a_n_a_l_y_s_i_s___g_r_o_u_p.html#gaf560a289e243876971cd4a9af6ce855b">filter_freq_resp</a>(b, a, ORD, w, N, </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  DSPL_FLAG_LOGMAG|DSPL_FLAG_UNWRAP|DSPL_FLAG_ANALOG, </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  mag, phi, tau);</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="group___i_n___o_u_t___g_r_o_u_p.html#gae30c87757d5bf57584904e543fb1efd2">writetxt</a>(w, mag, N, <span class="stringliteral">"dat/butter_ap_test_mag.txt"</span>);</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="group___i_n___o_u_t___g_r_o_u_p.html#gae30c87757d5bf57584904e543fb1efd2">writetxt</a>(w, phi, N, <span class="stringliteral">"dat/butter_ap_test_phi.txt"</span>);</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="group___i_n___o_u_t___g_r_o_u_p.html#gae30c87757d5bf57584904e543fb1efd2">writetxt</a>(w, tau, N, <span class="stringliteral">"dat/butter_ap_test_tau.txt"</span>);</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="comment">/* run GNUPLOT script */</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  res = <a class="code" href="group___i_n___o_u_t___g_r_o_u_p.html#ga8dbaffeb9039ba3eee17c9371d5d7a4c">gnuplot_script</a>(argc, argv, <span class="stringliteral">"gnuplot/butter_ap_test.plt"</span>);</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  dspl_free(handle); <span class="comment">// free dspl handle</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> }</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="ttc" id="group___i_i_r___f_i_l_t_e_r___d_e_s_i_g_n___g_r_o_u_p_html_ga65df99359f211937e4dc1141f57ef571"><div class="ttname"><a href="group___i_i_r___f_i_l_t_e_r___d_e_s_i_g_n___g_r_o_u_p.html#ga65df99359f211937e4dc1141f57ef571">butter_ap</a></div><div class="ttdeci">int butter_ap(double rp, int ord, double *b, double *a)</div><div class="ttdoc">Расчет передаточной характеристики аналогового нормированного ФНЧ Баттерворта.</div><div class="ttdef"><b>Definition:</b> <a href="filter__ap_8c_source.html#l00033">filter_ap.c:33</a></div></div>
|
||
<div class="ttc" id="group___f_i_l_t_e_r___a_n_a_l_y_s_i_s___g_r_o_u_p_html_gaf560a289e243876971cd4a9af6ce855b"><div class="ttname"><a href="group___f_i_l_t_e_r___a_n_a_l_y_s_i_s___g_r_o_u_p.html#gaf560a289e243876971cd4a9af6ce855b">filter_freq_resp</a></div><div class="ttdeci">int filter_freq_resp(double *b, double *a, int ord, double *w, int n, int flag, double *mag, double *phi, double *tau)</div><div class="ttdoc">Расчет амплитудно-частотной (АЧХ), фазочастотной характеристик (ФЧХ), а также группового времени запа...</div><div class="ttdef"><b>Definition:</b> <a href="filter__an_8c_source.html#l00035">filter_an.c:35</a></div></div>
|
||
<div class="ttc" id="group___i_n___o_u_t___g_r_o_u_p_html_gae30c87757d5bf57584904e543fb1efd2"><div class="ttname"><a href="group___i_n___o_u_t___g_r_o_u_p.html#gae30c87757d5bf57584904e543fb1efd2">writetxt</a></div><div class="ttdeci">int writetxt(double *x, double *y, int n, char *fn)</div><div class="ttdoc">Сохранить вещественные данные в текстовый файл</div><div class="ttdef"><b>Definition:</b> <a href="inout_8c_source.html#l00236">inout.c:236</a></div></div>
|
||
<div class="ttc" id="group___s_p_e_c___m_a_t_h___c_o_m_m_o_n___g_r_o_u_p_html_gad18821174e4a11f75c5d381732249122"><div class="ttname"><a href="group___s_p_e_c___m_a_t_h___c_o_m_m_o_n___g_r_o_u_p.html#gad18821174e4a11f75c5d381732249122">logspace</a></div><div class="ttdeci">int logspace(double x0, double x1, int n, int type, double *x)</div><div class="ttdoc">Функция заполняет массив значениями логарифмической шкале</div><div class="ttdef"><b>Definition:</b> <a href="fillarray_8c_source.html#l00068">fillarray.c:68</a></div></div>
|
||
<div class="ttc" id="group___i_n___o_u_t___g_r_o_u_p_html_ga8dbaffeb9039ba3eee17c9371d5d7a4c"><div class="ttname"><a href="group___i_n___o_u_t___g_r_o_u_p.html#ga8dbaffeb9039ba3eee17c9371d5d7a4c">gnuplot_script</a></div><div class="ttdeci">int gnuplot_script(int argc, char *argv[], char *fn)</div><div class="ttdoc">Функция вызова скрипта пакета GNUPLOT для построения графика.</div><div class="ttdef"><b>Definition:</b> <a href="inout_8c_source.html#l00048">inout.c:48</a></div></div>
|
||
<div class="ttc" id="group___e_r_r_o_r___c_o_d_e___g_r_o_u_p_html_ga312c04ce416e0afdbd653394e36a117d"><div class="ttname"><a href="group___e_r_r_o_r___c_o_d_e___g_r_o_u_p.html#ga312c04ce416e0afdbd653394e36a117d">RES_OK</a></div><div class="ttdeci">#define RES_OK</div><div class="ttdoc">Функция завершилась корректно. Ошибки отсутствуют.</div><div class="ttdef"><b>Definition:</b> <a href="dspl_8h_source.html#l00094">dspl.h:94</a></div></div>
|
||
</div><!-- fragment --></div><!-- contents -->
|
||
<!-- HTML footer for doxygen 1.8.13-->
|
||
<!-- start footer part -->
|
||
<hr class="footer"/><address class="footer"><small>
|
||
Документация по libdspl-2.0. Последние изменения: Пн 4 Ноя 2019 16:56:52. Создано системой  <a href="http://www.doxygen.org/index.html">
|
||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||
</a> 1.8.15
|
||
</small></address>
|
||
</div>
|
||
</body>
|
||
</html> |