<?xml version='1.0' encoding='UTF-8' standalone='no'?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.7.3"> <compounddef id="group__filter__design" kind="group"> <compoundname>filter_design</compoundname> <title>Digital Filter Design</title> <innerclass refid="classgr__firdes" prot="public">gr_firdes</innerclass> <sectiondef kind="func"> <memberdef kind="function" id="group__filter__design_1ga46cf4a6243c0610020572566e1a3198b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type><ref refid="classstd_1_1vector" kindref="compound">std::vector</ref>< double ></type> <definition>std::vector<double> gr_remez</definition> <argsstring>(int order, const std::vector< double > &bands, const std::vector< double > &ampl, const std::vector< double > &error_weight, const std::string filter_type="bandpass", int grid_density=16)</argsstring> <name>gr_remez</name> <param> <type>int</type> <declname>order</declname> </param> <param> <type>const <ref refid="classstd_1_1vector" kindref="compound">std::vector</ref>< double > &</type> <declname>bands</declname> </param> <param> <type>const <ref refid="classstd_1_1vector" kindref="compound">std::vector</ref>< double > &</type> <declname>ampl</declname> </param> <param> <type>const <ref refid="classstd_1_1vector" kindref="compound">std::vector</ref>< double > &</type> <declname>error_weight</declname> </param> <param> <type>const std::string</type> <declname>filter_type</declname> <defval>"bandpass"</defval> </param> <param> <type>int</type> <declname>grid_density</declname> <defval>16</defval> </param> <exceptions> throw (std::runtime_error)</exceptions> <briefdescription> <para>Parks-McClellan FIR filter design. </para> </briefdescription> <detaileddescription> <para>Calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse reponse given a set of band edges, the desired reponse on those bands, and the weight given to the error in those bands.</para><para><parameterlist kind="param"><parameteritem> <parameternamelist> <parametername>order</parametername> </parameternamelist> <parameterdescription> <para>filter order (number of taps in the returned filter - 1) </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>bands</parametername> </parameternamelist> <parameterdescription> <para>frequency at the band edges [ b1 e1 b2 e2 b3 e3 ...] </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>ampl</parametername> </parameternamelist> <parameterdescription> <para>desired amplitude at the band edges [ a(b1) a(e1) a(b2) a(e2) ...] </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>error_weight</parametername> </parameternamelist> <parameterdescription> <para>weighting applied to each band (usually 1) </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>filter_type</parametername> </parameternamelist> <parameterdescription> <para>one of "bandpass", "hilbert" or "differentiator" </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>grid_density</parametername> </parameternamelist> <parameterdescription> <para>determines how accurately the filter will be constructed. \ The minimum value is 16; higher values are slower to compute.</para></parameterdescription> </parameteritem> </parameterlist> Frequency is in the range [0, 1], with 1 being the Nyquist frequency (Fs/2)</para><para><simplesect kind="return"><para>vector of computed taps</para></simplesect> <parameterlist kind="exception"><parameteritem> <parameternamelist> <parametername>std::runtime_error</parametername> </parameternamelist> <parameterdescription> <para>if args are invalid or calculation fails to converge. </para></parameterdescription> </parameteritem> </parameterlist> </para> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/gnuradio-core/src/lib/general/gr_remez.h" line="61"/> </memberdef> </sectiondef> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> </compounddef> </doxygen>