<?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.16.1" xml:lang="en-US">
  <compounddef id="classgr_1_1filter_1_1kernel_1_1filterbank" kind="class" language="C++" prot="public">
    <compoundname>gr::filter::kernel::filterbank</compoundname>
    <includes refid="filterbank_8h" local="no">gnuradio/filter/filterbank.h</includes>
    <sectiondef kind="protected-attrib">
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1filterbank_1a1df3dd2370e7c2143f2a0d7f7704b1a0" prot="protected" static="no" mutable="no">
        <type>std::vector&lt; std::vector&lt; float &gt; &gt;</type>
        <definition>std::vector&lt;std::vector&lt;float&gt; &gt; gr::filter::kernel::filterbank::d_taps</definition>
        <argsstring></argsstring>
        <name>d_taps</name>
        <qualifiedname>gr::filter::kernel::filterbank::d_taps</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="44" column="17" bodyfile="gr-filter/include/gnuradio/filter/filterbank.h" bodystart="44" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1filterbank_1af4e3b2386613b0cdfc52bb224ccb5750" prot="protected" static="no" mutable="no">
        <type>unsigned int</type>
        <definition>unsigned int gr::filter::kernel::filterbank::d_nfilts</definition>
        <argsstring></argsstring>
        <name>d_nfilts</name>
        <qualifiedname>gr::filter::kernel::filterbank::d_nfilts</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="45" column="18" bodyfile="gr-filter/include/gnuradio/filter/filterbank.h" bodystart="45" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1filterbank_1a59dd37ae52905a445f79302cf6635da2" prot="protected" static="no" mutable="no">
        <type>unsigned int</type>
        <definition>unsigned int gr::filter::kernel::filterbank::d_ntaps</definition>
        <argsstring></argsstring>
        <name>d_ntaps</name>
        <qualifiedname>gr::filter::kernel::filterbank::d_ntaps</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="46" column="18" bodyfile="gr-filter/include/gnuradio/filter/filterbank.h" bodystart="46" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1filterbank_1afa8aaf9240d16a718cea7c287be0f912" prot="protected" static="no" mutable="no">
        <type>std::vector&lt; <ref refid="namespacegr_1_1filter_1_1kernel_1a1262ff76f6ac8db1310e3eff81cb51c1" kindref="member">kernel::fir_filter_ccf</ref> &gt;</type>
        <definition>std::vector&lt;kernel::fir_filter_ccf&gt; gr::filter::kernel::filterbank::d_fir_filters</definition>
        <argsstring></argsstring>
        <name>d_fir_filters</name>
        <qualifiedname>gr::filter::kernel::filterbank::d_fir_filters</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="47" column="17" bodyfile="gr-filter/include/gnuradio/filter/filterbank.h" bodystart="47" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1filterbank_1a46b717dd13f6de345d11c88340914ad0" prot="protected" static="no" mutable="no">
        <type>std::vector&lt; bool &gt;</type>
        <definition>std::vector&lt;bool&gt; gr::filter::kernel::filterbank::d_active</definition>
        <argsstring></argsstring>
        <name>d_active</name>
        <qualifiedname>gr::filter::kernel::filterbank::d_active</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="48" column="17" bodyfile="gr-filter/include/gnuradio/filter/filterbank.h" bodystart="48" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1filterbank_1a331a3293feebd82b4fbd94bc227a622a" prot="protected" static="no" mutable="no">
        <type>unsigned int</type>
        <definition>unsigned int gr::filter::kernel::filterbank::d_taps_per_filter</definition>
        <argsstring></argsstring>
        <name>d_taps_per_filter</name>
        <qualifiedname>gr::filter::kernel::filterbank::d_taps_per_filter</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="49" column="18" bodyfile="gr-filter/include/gnuradio/filter/filterbank.h" bodystart="49" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="public-func">
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1filterbank_1a03e0ec0cfb99f7daf7efe3419d140c85" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>gr::filter::kernel::filterbank::filterbank</definition>
        <argsstring>(const std::vector&lt; std::vector&lt; float &gt; &gt; &amp;taps)</argsstring>
        <name>filterbank</name>
        <qualifiedname>gr::filter::kernel::filterbank::filterbank</qualifiedname>
        <param>
          <type>const std::vector&lt; std::vector&lt; float &gt; &gt; &amp;</type>
          <declname>taps</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Build the filterbank.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername><ref refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a8781bdabee28f71ac604f6ce45a8c834" kindref="member">taps</ref></parametername>
</parameternamelist>
<parameterdescription>
<para>(vector of vector of floats / list of list of floats) Populates the filters. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="58" column="5"/>
        <references refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a8781bdabee28f71ac604f6ce45a8c834">taps</references>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1filterbank_1ab0c20c80b4b928bb6ce4f5870c108913">filterbank</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1filterbank_1ab0c20c80b4b928bb6ce4f5870c108913" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>gr::filter::kernel::filterbank::filterbank</definition>
        <argsstring>(filterbank &amp;&amp;)=default</argsstring>
        <name>filterbank</name>
        <qualifiedname>gr::filter::kernel::filterbank::filterbank</qualifiedname>
        <param>
          <type>filterbank &amp;&amp;</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="59" column="5"/>
        <references refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a03e0ec0cfb99f7daf7efe3419d140c85">filterbank</references>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1filterbank_1a28c7662b13b38eec09a62915a546e8f8" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type></type>
        <definition>virtual gr::filter::kernel::filterbank::~filterbank</definition>
        <argsstring>()=default</argsstring>
        <name>~filterbank</name>
        <qualifiedname>gr::filter::kernel::filterbank::~filterbank</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="60" column="13"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1filterbank_1a47f397c30b415becb972c2dfc21af28d" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>virtual void gr::filter::kernel::filterbank::set_taps</definition>
        <argsstring>(const std::vector&lt; std::vector&lt; float &gt; &gt; &amp;taps)</argsstring>
        <name>set_taps</name>
        <qualifiedname>gr::filter::kernel::filterbank::set_taps</qualifiedname>
        <param>
          <type>const std::vector&lt; std::vector&lt; float &gt; &gt; &amp;</type>
          <declname>taps</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Update the filterbank&apos;s filter taps.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername><ref refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a8781bdabee28f71ac604f6ce45a8c834" kindref="member">taps</ref></parametername>
</parameternamelist>
<parameterdescription>
<para>(vector of vector of floats / list of list of floats) The prototype filter to populate the filterbank. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="68" column="18"/>
        <references refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a8781bdabee28f71ac604f6ce45a8c834">taps</references>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1filterbank_1a2e2578a17464e05ce9114607c2f54e14" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void gr::filter::kernel::filterbank::print_taps</definition>
        <argsstring>()</argsstring>
        <name>print_taps</name>
        <qualifiedname>gr::filter::kernel::filterbank::print_taps</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Print all of the filterbank taps to screen. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="73" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1filterbank_1a8781bdabee28f71ac604f6ce45a8c834" prot="public" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
        <type>std::vector&lt; std::vector&lt; float &gt; &gt;</type>
        <definition>std::vector&lt; std::vector&lt; float &gt; &gt; gr::filter::kernel::filterbank::taps</definition>
        <argsstring>() const</argsstring>
        <name>taps</name>
        <qualifiedname>gr::filter::kernel::filterbank::taps</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Return a vector&lt;vector&lt;&gt;&gt; of the filterbank taps </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="78" column="17"/>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a03e0ec0cfb99f7daf7efe3419d140c85">filterbank</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a47f397c30b415becb972c2dfc21af28d">set_taps</referencedby>
      </memberdef>
    </sectiondef>
    <briefdescription>
<para>A filter bank with generic taps. </para>
    </briefdescription>
    <detaileddescription>
<para>This block takes in a vector of N complex inputs, passes them through N FIR filters, and outputs a vector of N complex outputs.</para>
<para>The only advantage of using this block over N individual FIR filter blocks is that it places less of a load on the scheduler.</para>
<para>The number of filters cannot be changed dynamically, however filters can be deactivated (i.e. no processing is done for them) by passing a vector of filter taps containing all zeros to them. In this case their entry in the output vector is a zero. </para>
    </detaileddescription>
    <collaborationgraph>
      <node id="1">
        <label>gr::filter::kernel::filterbank</label>
        <link refid="classgr_1_1filter_1_1kernel_1_1filterbank"/>
        <childnode refid="2" relation="usage">
          <edgelabel>d_taps</edgelabel>
        </childnode>
        <childnode refid="4" relation="usage">
          <edgelabel>d_fir_filters</edgelabel>
        </childnode>
        <childnode refid="6" relation="usage">
          <edgelabel>d_active</edgelabel>
        </childnode>
      </node>
      <node id="5">
        <label>gr::filter::kernel::fir_filter&lt; gr_complex, gr_complex, float &gt;</label>
        <link refid="classgr_1_1filter_1_1kernel_1_1fir__filter"/>
      </node>
      <node id="6">
        <label>std::vector&lt; bool &gt;</label>
      </node>
      <node id="3">
        <label>std::vector&lt; float &gt;</label>
      </node>
      <node id="4">
        <label>std::vector&lt; gr::filter::kernel::fir_filter&lt; gr_complex, gr_complex, float &gt; &gt;</label>
        <childnode refid="5" relation="usage">
          <edgelabel>elements</edgelabel>
          <edgelabel>p</edgelabel>
        </childnode>
      </node>
      <node id="2">
        <label>std::vector&lt; std::vector&lt; float &gt; &gt;</label>
        <childnode refid="3" relation="usage">
          <edgelabel>elements</edgelabel>
          <edgelabel>p</edgelabel>
        </childnode>
      </node>
    </collaborationgraph>
    <location file="gr-filter/include/gnuradio/filter/filterbank.h" line="41" column="1" bodyfile="gr-filter/include/gnuradio/filter/filterbank.h" bodystart="42" bodyend="79"/>
    <listofallmembers>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a46b717dd13f6de345d11c88340914ad0" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::filterbank</scope><name>d_active</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1afa8aaf9240d16a718cea7c287be0f912" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::filterbank</scope><name>d_fir_filters</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1af4e3b2386613b0cdfc52bb224ccb5750" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::filterbank</scope><name>d_nfilts</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a59dd37ae52905a445f79302cf6635da2" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::filterbank</scope><name>d_ntaps</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a1df3dd2370e7c2143f2a0d7f7704b1a0" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::filterbank</scope><name>d_taps</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a331a3293feebd82b4fbd94bc227a622a" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::filterbank</scope><name>d_taps_per_filter</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a03e0ec0cfb99f7daf7efe3419d140c85" prot="public" virt="non-virtual"><scope>gr::filter::kernel::filterbank</scope><name>filterbank</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1ab0c20c80b4b928bb6ce4f5870c108913" prot="public" virt="non-virtual"><scope>gr::filter::kernel::filterbank</scope><name>filterbank</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a2e2578a17464e05ce9114607c2f54e14" prot="public" virt="non-virtual"><scope>gr::filter::kernel::filterbank</scope><name>print_taps</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a47f397c30b415becb972c2dfc21af28d" prot="public" virt="virtual"><scope>gr::filter::kernel::filterbank</scope><name>set_taps</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a8781bdabee28f71ac604f6ce45a8c834" prot="public" virt="non-virtual"><scope>gr::filter::kernel::filterbank</scope><name>taps</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1filterbank_1a28c7662b13b38eec09a62915a546e8f8" prot="public" virt="virtual"><scope>gr::filter::kernel::filterbank</scope><name>~filterbank</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
