<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3"/> <title>GNU Radio 3.6.4.1 C++ API: gr::filter::firdes Class Reference</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 href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <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 style="padding-left: 0.5em;"> <div id="projectname">GNU Radio 3.6.4.1 C++ API </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3 --> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('classgr_1_1filter_1_1firdes.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="classgr_1_1filter_1_1firdes-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">gr::filter::firdes Class Reference<div class="ingroups"><a class="el" href="group__filter__design.html">Digital Filter Design</a></div></div> </div> </div><!--header--> <div class="contents"> <p>Finite Impulse Response (FIR) filter design functions. <a href="classgr_1_1filter_1_1firdes.html#details">More...</a></p> <p><code>#include <<a class="el" href="firdes_8h_source.html">firdes.h</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:a5527e5ee7713055268448c55b1b235a9"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> { <br/>   <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a> = 0, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a082fccca16caae201f2da9fc2531a827">WIN_HANN</a> = 1, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9aada50ccfbac560bf7f9e2f469db6ed5a">WIN_BLACKMAN</a> = 2, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a26810a2831833c94347ad7d1e978c1c5">WIN_RECTANGULAR</a> = 3, <br/>   <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a81c930d6a1b64486c9321fe64e27d4ce">WIN_KAISER</a> = 4, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9ac79ce2faa8899fdc01091c3791c5e0d8">WIN_BLACKMAN_hARRIS</a> = 5, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9ac9864fa124129bc08fdd6f514eb657f9">WIN_BLACKMAN_HARRIS</a> = 5 <br/> }</td></tr> <tr class="separator:a5527e5ee7713055268448c55b1b235a9"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr class="memitem:a772eb5c542093d65518a6d721483aace"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#a772eb5c542093d65518a6d721483aace">low_pass</a> (double gain, double sampling_freq, double cutoff_freq, double transition_width, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> <a class="el" href="classgr_1_1filter_1_1firdes.html#a6712ee374caa81f322c3d44184a04412">window</a>=<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a>, double beta=6.76)</td></tr> <tr class="memdesc:a772eb5c542093d65518a6d721483aace"><td class="mdescLeft"> </td><td class="mdescRight">use "window method" to design a low-pass FIR filter <a href="#a772eb5c542093d65518a6d721483aace"></a><br/></td></tr> <tr class="separator:a772eb5c542093d65518a6d721483aace"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a57c2a9eb8dc61d3740d9eb0e02ebb880"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#a57c2a9eb8dc61d3740d9eb0e02ebb880">low_pass_2</a> (double gain, double sampling_freq, double cutoff_freq, double transition_width, double attenuation_dB, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> <a class="el" href="classgr_1_1filter_1_1firdes.html#a6712ee374caa81f322c3d44184a04412">window</a>=<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a>, double beta=6.76)</td></tr> <tr class="memdesc:a57c2a9eb8dc61d3740d9eb0e02ebb880"><td class="mdescLeft"> </td><td class="mdescRight">use "window method" to design a low-pass FIR filter <a href="#a57c2a9eb8dc61d3740d9eb0e02ebb880"></a><br/></td></tr> <tr class="separator:a57c2a9eb8dc61d3740d9eb0e02ebb880"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2fd3bb98d7eb35da3ef2440a8ee1224c"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#a2fd3bb98d7eb35da3ef2440a8ee1224c">high_pass</a> (double gain, double sampling_freq, double cutoff_freq, double transition_width, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> <a class="el" href="classgr_1_1filter_1_1firdes.html#a6712ee374caa81f322c3d44184a04412">window</a>=<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a>, double beta=6.76)</td></tr> <tr class="memdesc:a2fd3bb98d7eb35da3ef2440a8ee1224c"><td class="mdescLeft"> </td><td class="mdescRight">use "window method" to design a high-pass FIR filter <a href="#a2fd3bb98d7eb35da3ef2440a8ee1224c"></a><br/></td></tr> <tr class="separator:a2fd3bb98d7eb35da3ef2440a8ee1224c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afc22d9fb67312a346a365f019aa5e0b5"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#afc22d9fb67312a346a365f019aa5e0b5">high_pass_2</a> (double gain, double sampling_freq, double cutoff_freq, double transition_width, double attenuation_dB, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> <a class="el" href="classgr_1_1filter_1_1firdes.html#a6712ee374caa81f322c3d44184a04412">window</a>=<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a>, double beta=6.76)</td></tr> <tr class="memdesc:afc22d9fb67312a346a365f019aa5e0b5"><td class="mdescLeft"> </td><td class="mdescRight">use "window method" to design a high-pass FIR filter <a href="#afc22d9fb67312a346a365f019aa5e0b5"></a><br/></td></tr> <tr class="separator:afc22d9fb67312a346a365f019aa5e0b5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5a308a91ca9996feeda97197827a945e"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5a308a91ca9996feeda97197827a945e">band_pass</a> (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> <a class="el" href="classgr_1_1filter_1_1firdes.html#a6712ee374caa81f322c3d44184a04412">window</a>=<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a>, double beta=6.76)</td></tr> <tr class="memdesc:a5a308a91ca9996feeda97197827a945e"><td class="mdescLeft"> </td><td class="mdescRight">use "window method" to design a band-pass FIR filter <a href="#a5a308a91ca9996feeda97197827a945e"></a><br/></td></tr> <tr class="separator:a5a308a91ca9996feeda97197827a945e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ace8a7353054bd70e6e9a3d8dbbb1ef47"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#ace8a7353054bd70e6e9a3d8dbbb1ef47">band_pass_2</a> (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, double attenuation_dB, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> <a class="el" href="classgr_1_1filter_1_1firdes.html#a6712ee374caa81f322c3d44184a04412">window</a>=<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a>, double beta=6.76)</td></tr> <tr class="memdesc:ace8a7353054bd70e6e9a3d8dbbb1ef47"><td class="mdescLeft"> </td><td class="mdescRight">use "window method" to design a band-pass FIR filter <a href="#ace8a7353054bd70e6e9a3d8dbbb1ef47"></a><br/></td></tr> <tr class="separator:ace8a7353054bd70e6e9a3d8dbbb1ef47"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad7c0d09d28ed74682a5189341b109f39"><td class="memItemLeft" align="right" valign="top">static std::vector< <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#ad7c0d09d28ed74682a5189341b109f39">complex_band_pass</a> (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> <a class="el" href="classgr_1_1filter_1_1firdes.html#a6712ee374caa81f322c3d44184a04412">window</a>=<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a>, double beta=6.76)</td></tr> <tr class="memdesc:ad7c0d09d28ed74682a5189341b109f39"><td class="mdescLeft"> </td><td class="mdescRight">use "window method" to design a complex band-pass FIR filter <a href="#ad7c0d09d28ed74682a5189341b109f39"></a><br/></td></tr> <tr class="separator:ad7c0d09d28ed74682a5189341b109f39"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae0006277ebff2441ab1c229fa122c99e"><td class="memItemLeft" align="right" valign="top">static std::vector< <a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#ae0006277ebff2441ab1c229fa122c99e">complex_band_pass_2</a> (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, double attenuation_dB, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> <a class="el" href="classgr_1_1filter_1_1firdes.html#a6712ee374caa81f322c3d44184a04412">window</a>=<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a>, double beta=6.76)</td></tr> <tr class="memdesc:ae0006277ebff2441ab1c229fa122c99e"><td class="mdescLeft"> </td><td class="mdescRight">use "window method" to design a complex band-pass FIR filter <a href="#ae0006277ebff2441ab1c229fa122c99e"></a><br/></td></tr> <tr class="separator:ae0006277ebff2441ab1c229fa122c99e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab9da311b1d7dc7875c62efd699a3a043"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#ab9da311b1d7dc7875c62efd699a3a043">band_reject</a> (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> <a class="el" href="classgr_1_1filter_1_1firdes.html#a6712ee374caa81f322c3d44184a04412">window</a>=<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a>, double beta=6.76)</td></tr> <tr class="memdesc:ab9da311b1d7dc7875c62efd699a3a043"><td class="mdescLeft"> </td><td class="mdescRight">use "window method" to design a band-reject FIR filter <a href="#ab9da311b1d7dc7875c62efd699a3a043"></a><br/></td></tr> <tr class="separator:ab9da311b1d7dc7875c62efd699a3a043"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad71a4ba22a8401a2ac3f03d0f7b0d3a3"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#ad71a4ba22a8401a2ac3f03d0f7b0d3a3">band_reject_2</a> (double gain, double sampling_freq, double low_cutoff_freq, double high_cutoff_freq, double transition_width, double attenuation_dB, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> <a class="el" href="classgr_1_1filter_1_1firdes.html#a6712ee374caa81f322c3d44184a04412">window</a>=<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a>, double beta=6.76)</td></tr> <tr class="memdesc:ad71a4ba22a8401a2ac3f03d0f7b0d3a3"><td class="mdescLeft"> </td><td class="mdescRight">use "window method" to design a band-reject FIR filter <a href="#ad71a4ba22a8401a2ac3f03d0f7b0d3a3"></a><br/></td></tr> <tr class="separator:ad71a4ba22a8401a2ac3f03d0f7b0d3a3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afa8d6f36cca0b14c8d16b4e927a13d2b"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#afa8d6f36cca0b14c8d16b4e927a13d2b">hilbert</a> (unsigned int ntaps=19, <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> windowtype=<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a26810a2831833c94347ad7d1e978c1c5">WIN_RECTANGULAR</a>, double beta=6.76)</td></tr> <tr class="memdesc:afa8d6f36cca0b14c8d16b4e927a13d2b"><td class="mdescLeft"> </td><td class="mdescRight">design a Hilbert Transform Filter <a href="#afa8d6f36cca0b14c8d16b4e927a13d2b"></a><br/></td></tr> <tr class="separator:afa8d6f36cca0b14c8d16b4e927a13d2b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af37a0f8f92f1e0440033ccdb118df990"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#af37a0f8f92f1e0440033ccdb118df990">root_raised_cosine</a> (double gain, double sampling_freq, double symbol_rate, double alpha, int ntaps)</td></tr> <tr class="memdesc:af37a0f8f92f1e0440033ccdb118df990"><td class="mdescLeft"> </td><td class="mdescRight">design a Root Cosine FIR Filter (do we need a window?) <a href="#af37a0f8f92f1e0440033ccdb118df990"></a><br/></td></tr> <tr class="separator:af37a0f8f92f1e0440033ccdb118df990"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa851ebbcb1f36c54f1db27149f487ee4"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#aa851ebbcb1f36c54f1db27149f487ee4">gaussian</a> (double gain, double spb, double bt, int ntaps)</td></tr> <tr class="memdesc:aa851ebbcb1f36c54f1db27149f487ee4"><td class="mdescLeft"> </td><td class="mdescRight">design a Gaussian filter <a href="#aa851ebbcb1f36c54f1db27149f487ee4"></a><br/></td></tr> <tr class="separator:aa851ebbcb1f36c54f1db27149f487ee4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6712ee374caa81f322c3d44184a04412"><td class="memItemLeft" align="right" valign="top">static std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgr_1_1filter_1_1firdes.html#a6712ee374caa81f322c3d44184a04412">window</a> (<a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> type, int ntaps, double beta)</td></tr> <tr class="separator:a6712ee374caa81f322c3d44184a04412"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Finite Impulse Response (FIR) filter design functions. </p> </div><h2 class="groupheader">Member Enumeration Documentation</h2> <a class="anchor" id="a5527e5ee7713055268448c55b1b235a9"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">gr::filter::firdes::win_type</a></td> </tr> </table> </div><div class="memdoc"> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95"></a>WIN_HAMMING</em> </td><td class="fielddoc"> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a5527e5ee7713055268448c55b1b235a9a082fccca16caae201f2da9fc2531a827"></a>WIN_HANN</em> </td><td class="fielddoc"> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a5527e5ee7713055268448c55b1b235a9aada50ccfbac560bf7f9e2f469db6ed5a"></a>WIN_BLACKMAN</em> </td><td class="fielddoc"> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a5527e5ee7713055268448c55b1b235a9a26810a2831833c94347ad7d1e978c1c5"></a>WIN_RECTANGULAR</em> </td><td class="fielddoc"> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a5527e5ee7713055268448c55b1b235a9a81c930d6a1b64486c9321fe64e27d4ce"></a>WIN_KAISER</em> </td><td class="fielddoc"> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a5527e5ee7713055268448c55b1b235a9ac79ce2faa8899fdc01091c3791c5e0d8"></a>WIN_BLACKMAN_hARRIS</em> </td><td class="fielddoc"> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a5527e5ee7713055268448c55b1b235a9ac9864fa124129bc08fdd6f514eb657f9"></a>WIN_BLACKMAN_HARRIS</em> </td><td class="fielddoc"> </td></tr> </table> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a5a308a91ca9996feeda97197827a945e"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::band_pass </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sampling_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>low_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>high_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>transition_width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>window</em> = <code><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> = <code>6.76</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>use "window method" to design a band-pass FIR filter </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>sampling_freq:</code> sampling freq (Hz) <code>low_cutoff_freq:</code> center of transition band (Hz) <code>high_cutoff_freq:</code> center of transition band (Hz) <code>transition_width:</code> width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps <code>window_type:</code> What kind of window to use. Determines maximum attenuation and passband ripple. <code>beta:</code> parameter for Kaiser window </p> </div> </div> <a class="anchor" id="ace8a7353054bd70e6e9a3d8dbbb1ef47"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::band_pass_2 </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sampling_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>low_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>high_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>transition_width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>attenuation_dB</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>window</em> = <code><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> = <code>6.76</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>use "window method" to design a band-pass FIR filter </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>sampling_freq:</code> sampling freq (Hz) <code>low_cutoff_freq:</code> center of transition band (Hz) <code>high_cutoff_freq:</code> center of transition band (Hz) <code>transition_width:</code> width of transition band (Hz). <code>attenuation_dB</code> out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow –> more taps More attenuation –> more taps <code>window_type:</code> What kind of window to use. Determines maximum attenuation and passband ripple. <code>beta:</code> parameter for Kaiser window </p> </div> </div> <a class="anchor" id="ab9da311b1d7dc7875c62efd699a3a043"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::band_reject </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sampling_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>low_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>high_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>transition_width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>window</em> = <code><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> = <code>6.76</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>use "window method" to design a band-reject FIR filter </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>sampling_freq:</code> sampling freq (Hz) <code>low_cutoff_freq:</code> center of transition band (Hz) <code>high_cutoff_freq:</code> center of transition band (Hz) <code>transition_width:</code> width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps <code>window_type:</code> What kind of window to use. Determines maximum attenuation and passband ripple. <code>beta:</code> parameter for Kaiser window </p> </div> </div> <a class="anchor" id="ad71a4ba22a8401a2ac3f03d0f7b0d3a3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::band_reject_2 </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sampling_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>low_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>high_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>transition_width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>attenuation_dB</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>window</em> = <code><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> = <code>6.76</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>use "window method" to design a band-reject FIR filter </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>sampling_freq:</code> sampling freq (Hz) <code>low_cutoff_freq:</code> center of transition band (Hz) <code>high_cutoff_freq:</code> center of transition band (Hz) <code>transition_width:</code> width of transition band (Hz). <code>attenuation_dB</code> out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow –> more taps More attenuation –> more taps <code>window_type:</code> What kind of window to use. Determines maximum attenuation and passband ripple. <code>beta:</code> parameter for Kaiser window </p> </div> </div> <a class="anchor" id="ad7c0d09d28ed74682a5189341b109f39"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<<a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a>> gr::filter::firdes::complex_band_pass </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sampling_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>low_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>high_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>transition_width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>window</em> = <code><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> = <code>6.76</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>use "window method" to design a complex band-pass FIR filter </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>sampling_freq:</code> sampling freq (Hz) <code>low_cutoff_freq:</code> center of transition band (Hz) <code>high_cutoff_freq:</code> center of transition band (Hz) <code>transition_width:</code> width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps <code>window_type:</code> What kind of window to use. Determines maximum attenuation and passband ripple. <code>beta:</code> parameter for Kaiser window </p> </div> </div> <a class="anchor" id="ae0006277ebff2441ab1c229fa122c99e"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<<a class="el" href="gr__complex_8h.html#aec4bfe41433369afae9327f1b0bc9109">gr_complex</a>> gr::filter::firdes::complex_band_pass_2 </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sampling_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>low_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>high_cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>transition_width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>attenuation_dB</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>window</em> = <code><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> = <code>6.76</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>use "window method" to design a complex band-pass FIR filter </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>sampling_freq:</code> sampling freq (Hz) <code>low_cutoff_freq:</code> center of transition band (Hz) <code>high_cutoff_freq:</code> center of transition band (Hz) <code>transition_width:</code> width of transition band (Hz). <code>attenuation_dB</code> out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow –> more taps More attenuation –> more taps <code>window_type:</code> What kind of window to use. Determines maximum attenuation and passband ripple. <code>beta:</code> parameter for Kaiser window </p> </div> </div> <a class="anchor" id="aa851ebbcb1f36c54f1db27149f487ee4"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::gaussian </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>spb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>bt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ntaps</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>design a Gaussian filter </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>symbols</code> per bit: symbol rate, must be a factor of sample rate <code>ntaps:</code> number of taps </p> </div> </div> <a class="anchor" id="a2fd3bb98d7eb35da3ef2440a8ee1224c"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::high_pass </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sampling_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>transition_width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>window</em> = <code><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> = <code>6.76</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>use "window method" to design a high-pass FIR filter </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>sampling_freq:</code> sampling freq (Hz) <code>cutoff_freq:</code> center of transition band (Hz) <code>transition_width:</code> width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps <code>window_type:</code> What kind of window to use. Determines maximum attenuation and passband ripple. <code>beta:</code> parameter for Kaiser window </p> </div> </div> <a class="anchor" id="afc22d9fb67312a346a365f019aa5e0b5"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::high_pass_2 </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sampling_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>transition_width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>attenuation_dB</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>window</em> = <code><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> = <code>6.76</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>use "window method" to design a high-pass FIR filter </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>sampling_freq:</code> sampling freq (Hz) <code>cutoff_freq:</code> center of transition band (Hz) <code>transition_width:</code> width of transition band (Hz). <code>attenuation_dB</code> out of band attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow –> more taps More attenuation –> more taps <code>window_type:</code> What kind of window to use. Determines maximum attenuation and passband ripple. <code>beta:</code> parameter for Kaiser window </p> </div> </div> <a class="anchor" id="afa8d6f36cca0b14c8d16b4e927a13d2b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::hilbert </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>ntaps</em> = <code>19</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>windowtype</em> = <code><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a26810a2831833c94347ad7d1e978c1c5">WIN_RECTANGULAR</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> = <code>6.76</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>design a Hilbert Transform Filter </p> <p><code>ntaps:</code> Number of taps, must be odd <code>window_type:</code> What kind of window to use <code>beta:</code> Only used for Kaiser </p> </div> </div> <a class="anchor" id="a772eb5c542093d65518a6d721483aace"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::low_pass </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sampling_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>transition_width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>window</em> = <code><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> = <code>6.76</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>use "window method" to design a low-pass FIR filter </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>sampling_freq:</code> sampling freq (Hz) <code>cutoff_freq:</code> center of transition band (Hz) <code>transition_width:</code> width of transition band (Hz). The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps <code>window_type:</code> What kind of window to use. Determines maximum attenuation and passband ripple. <code>beta:</code> parameter for Kaiser window </p> </div> </div> <a class="anchor" id="a57c2a9eb8dc61d3740d9eb0e02ebb880"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::low_pass_2 </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sampling_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>cutoff_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>transition_width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>attenuation_dB</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>window</em> = <code><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9a8ecd24e72826deef18f376646ad3ec95">WIN_HAMMING</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> = <code>6.76</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>use "window method" to design a low-pass FIR filter </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>sampling_freq:</code> sampling freq (Hz) <code>cutoff_freq:</code> center of transition band (Hz) <code>transition_width:</code> width of transition band (Hz). <code>attenuation_dB</code> required stopband attenuation The normalized width of the transition band and the required stop band attenuation is what sets the number of taps required. Narrow –> more taps More attenuatin –> more taps <code>window_type:</code> What kind of window to use. Determines maximum attenuation and passband ripple. <code>beta:</code> parameter for Kaiser window </p> </div> </div> <a class="anchor" id="af37a0f8f92f1e0440033ccdb118df990"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::root_raised_cosine </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>gain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sampling_freq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>symbol_rate</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>alpha</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ntaps</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>design a Root Cosine FIR Filter (do we need a window?) </p> <p><code>gain:</code> overall gain of filter (typically 1.0) <code>sampling_freq:</code> sampling freq (Hz) <code>symbol</code> rate: symbol rate, must be a factor of sample rate <code>alpha:</code> excess bandwidth factor <code>ntaps:</code> number of taps </p> </div> </div> <a class="anchor" id="a6712ee374caa81f322c3d44184a04412"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static std::vector<float> gr::filter::firdes::window </td> <td>(</td> <td class="paramtype"><a class="el" href="classgr_1_1filter_1_1firdes.html#a5527e5ee7713055268448c55b1b235a9">win_type</a> </td> <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ntaps</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>beta</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="firdes_8h_source.html">firdes.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="namespacegr.html">gr</a></li><li class="navelem"><a class="el" href="namespacegr_1_1filter.html">filter</a></li><li class="navelem"><a class="el" href="classgr_1_1filter_1_1firdes.html">firdes</a></li> <li class="footer">Generated on Fri Apr 19 2013 16:20:41 for GNU Radio 3.6.4.1 C++ API by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3 </li> </ul> </div> </body> </html>