<?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.13.2" xml:lang="en-US">
  <compounddef id="classgr_1_1filter_1_1kernel_1_1iir__filter" kind="class" language="C++" prot="public">
    <compoundname>gr::filter::kernel::iir_filter</compoundname>
    <includes refid="iir__filter_8h" local="no">gnuradio/filter/iir_filter.h</includes>
    <templateparamlist>
      <param>
        <type>class i_type</type>
      </param>
      <param>
        <type>class o_type</type>
      </param>
      <param>
        <type>class tap_type</type>
      </param>
      <param>
        <type>class acc_type</type>
      </param>
    </templateparamlist>
    <sectiondef kind="protected-attrib">
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1af58c880389f9f7064419a476571399ab" prot="protected" static="no" mutable="no">
        <type>bool</type>
        <definition>bool gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_oldstyle</definition>
        <argsstring></argsstring>
        <name>d_oldstyle</name>
        <qualifiedname>gr::filter::kernel::iir_filter::d_oldstyle</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="167" column="10" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="167" bodyend="-1"/>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ad5416a12b2ed9b6e77c1d29ed16ebf1b" compoundref="iir__filter_8h" startline="108" endline="114">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::iir_filter</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aab840f98c9ead93ff0739ffa36a95075" compoundref="iir__filter_8h" startline="139" endline="164">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::set_taps</referencedby>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1ac9d315cada76af12d8f370d4591b7f3f" prot="protected" static="no" mutable="no">
        <type>std::vector&lt; tap_type &gt;</type>
        <definition>std::vector&lt;tap_type&gt; gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_fftaps</definition>
        <argsstring></argsstring>
        <name>d_fftaps</name>
        <qualifiedname>gr::filter::kernel::iir_filter::d_fftaps</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="168" column="17" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="168" bodyend="-1"/>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" compoundref="iir__filter_8h" startline="180" endline="215">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a1fe054bcfa5367de931613b29bf57c6c" compoundref="iir__filter_8h" startline="133" endline="133">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::ntaps_ff</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aab840f98c9ead93ff0739ffa36a95075" compoundref="iir__filter_8h" startline="139" endline="164">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::set_taps</referencedby>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1a72da1f3a4f5a16bd8e63ddc4ca4b5699" prot="protected" static="no" mutable="no">
        <type>std::vector&lt; tap_type &gt;</type>
        <definition>std::vector&lt;tap_type&gt; gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_fbtaps</definition>
        <argsstring></argsstring>
        <name>d_fbtaps</name>
        <qualifiedname>gr::filter::kernel::iir_filter::d_fbtaps</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="169" column="17" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="169" bodyend="-1"/>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" compoundref="iir__filter_8h" startline="180" endline="215">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a769419b28329e074229b1cf31c5aabdb" compoundref="iir__filter_8h" startline="134" endline="134">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::ntaps_fb</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aab840f98c9ead93ff0739ffa36a95075" compoundref="iir__filter_8h" startline="139" endline="164">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::set_taps</referencedby>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1aa385487f2d068791a0d44f740db73b17" prot="protected" static="no" mutable="no">
        <type>int</type>
        <definition>int gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_latest_n</definition>
        <argsstring></argsstring>
        <name>d_latest_n</name>
        <qualifiedname>gr::filter::kernel::iir_filter::d_latest_n</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="170" column="9" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="170" bodyend="-1"/>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" compoundref="iir__filter_8h" startline="180" endline="215">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aa859c40115cb1ba8a9fe1e7e6818ea8e" compoundref="iir__filter_8h" startline="116" endline="116">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::iir_filter</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aab840f98c9ead93ff0739ffa36a95075" compoundref="iir__filter_8h" startline="139" endline="164">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::set_taps</referencedby>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1ae3bd52e05acd62e95205e7f635f4a8b4" prot="protected" static="no" mutable="no">
        <type>int</type>
        <definition>int gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_latest_m</definition>
        <argsstring></argsstring>
        <name>d_latest_m</name>
        <qualifiedname>gr::filter::kernel::iir_filter::d_latest_m</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="171" column="9" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="171" bodyend="-1"/>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" compoundref="iir__filter_8h" startline="180" endline="215">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aa859c40115cb1ba8a9fe1e7e6818ea8e" compoundref="iir__filter_8h" startline="116" endline="116">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::iir_filter</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aab840f98c9ead93ff0739ffa36a95075" compoundref="iir__filter_8h" startline="139" endline="164">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::set_taps</referencedby>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1a7d1fddd3cca9bd105a00d24bf1fa851f" prot="protected" static="no" mutable="no">
        <type>std::vector&lt; acc_type &gt;</type>
        <definition>std::vector&lt;acc_type&gt; gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_prev_output</definition>
        <argsstring></argsstring>
        <name>d_prev_output</name>
        <qualifiedname>gr::filter::kernel::iir_filter::d_prev_output</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="172" column="17" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="172" bodyend="-1"/>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" compoundref="iir__filter_8h" startline="180" endline="215">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aab840f98c9ead93ff0739ffa36a95075" compoundref="iir__filter_8h" startline="139" endline="164">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::set_taps</referencedby>
      </memberdef>
      <memberdef kind="variable" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1a6e61f162679e3d5998cf7de687207d5b" prot="protected" static="no" mutable="no">
        <type>std::vector&lt; i_type &gt;</type>
        <definition>std::vector&lt;i_type&gt; gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_prev_input</definition>
        <argsstring></argsstring>
        <name>d_prev_input</name>
        <qualifiedname>gr::filter::kernel::iir_filter::d_prev_input</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="173" column="17" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="173" bodyend="-1"/>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" compoundref="iir__filter_8h" startline="180" endline="215">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter</referencedby>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aab840f98c9ead93ff0739ffa36a95075" compoundref="iir__filter_8h" startline="139" endline="164">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::set_taps</referencedby>
      </memberdef>
    </sectiondef>
    <sectiondef kind="public-func">
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1ad5416a12b2ed9b6e77c1d29ed16ebf1b" prot="public" static="no" const="no" explicit="no" inline="yes" noexceptexpression="false" virt="non-virtual">
        <type></type>
        <definition>gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::iir_filter</definition>
        <argsstring>(const std::vector&lt; tap_type &gt; &amp;fftaps, const std::vector&lt; tap_type &gt; &amp;fbtaps, bool oldstyle=true)</argsstring>
        <name>iir_filter</name>
        <qualifiedname>gr::filter::kernel::iir_filter::iir_filter</qualifiedname>
        <param>
          <type>const std::vector&lt; tap_type &gt; &amp;</type>
          <declname>fftaps</declname>
        </param>
        <param>
          <type>const std::vector&lt; tap_type &gt; &amp;</type>
          <declname>fbtaps</declname>
        </param>
        <param>
          <type>bool</type>
          <declname>oldstyle</declname>
          <defval>true</defval>
        </param>
        <briefdescription>
<para>Construct an IIR with the given taps. </para>
        </briefdescription>
        <detaileddescription>
<para>This filter uses the Direct Form I implementation, where <computeroutput>fftaps</computeroutput> contains the feed-forward taps, and <computeroutput>fbtaps</computeroutput> the feedback ones.</para>
<para><computeroutput>oldstyle:</computeroutput> The old style of the IIR filter uses feedback taps that are negative of what most definitions use (scipy and Matlab among them). This parameter keeps using the old GNU Radio style and is set to TRUE by default. When taps generated from scipy, Matlab, or gr_filter_design, use the new style by setting this to FALSE.</para>
<para>When <computeroutput>oldstyle</computeroutput> is set FALSE, the input and output satisfy a difference equation of the form</para>
<para><formula id="65">\[y[n] + \sum_{k=1}^{M} a_k y[n-k] = \sum_{k=0}^{N} b_k x[n-k]
\]</formula></para>
<para>with the corresponding rational system function</para>
<para><formula id="66">\[H(z) = \frac{\sum_{k=0}^{N} b_k z^{-k}}{1 + \sum_{k=1}^{M} a_k z^{-k}}
\]</formula> where: <formula id="9">$x$</formula> - input signal, <formula id="59">$y$</formula> - output signal, <formula id="67">$a_k$</formula> - k-th feedback tap, <formula id="68">$b_k$</formula> - k-th feed-forward tap, <formula id="17">$M$</formula> - <computeroutput>len(fbtaps)-1</computeroutput>, <formula id="51">$N$</formula> - <computeroutput>len(fftaps)-1</computeroutput>.</para>
<para><formula id="69">$a_0$</formula>, that is <computeroutput>fbtaps</computeroutput>[0], is ignored. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="108" column="5" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="108" bodyend="114"/>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1af58c880389f9f7064419a476571399ab" compoundref="iir__filter_8h" startline="167">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_oldstyle</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aab840f98c9ead93ff0739ffa36a95075" compoundref="iir__filter_8h" startline="139" endline="164">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::set_taps</references>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1aa859c40115cb1ba8a9fe1e7e6818ea8e" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type></type>
        <definition>gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::iir_filter</definition>
        <argsstring>()</argsstring>
        <name>iir_filter</name>
        <qualifiedname>gr::filter::kernel::iir_filter::iir_filter</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="116" column="5" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="116" bodyend="116"/>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ae3bd52e05acd62e95205e7f635f4a8b4" compoundref="iir__filter_8h" startline="171">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_latest_m</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aa385487f2d068791a0d44f740db73b17" compoundref="iir__filter_8h" startline="170">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_latest_n</references>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>o_type</type>
        <definition>o_type gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter</definition>
        <argsstring>(const i_type input)</argsstring>
        <name>filter</name>
        <qualifiedname>gr::filter::kernel::iir_filter::filter</qualifiedname>
        <param>
          <type>const i_type</type>
          <declname>input</declname>
        </param>
        <briefdescription>
<para>compute a single output value. </para>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="return"><para>the filtered input value. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="122" column="12" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="180" bodyend="215"/>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a72da1f3a4f5a16bd8e63ddc4ca4b5699" compoundref="iir__filter_8h" startline="169">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_fbtaps</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ac9d315cada76af12d8f370d4591b7f3f" compoundref="iir__filter_8h" startline="168">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_fftaps</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ae3bd52e05acd62e95205e7f635f4a8b4" compoundref="iir__filter_8h" startline="171">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_latest_m</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aa385487f2d068791a0d44f740db73b17" compoundref="iir__filter_8h" startline="170">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_latest_n</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a6e61f162679e3d5998cf7de687207d5b" compoundref="iir__filter_8h" startline="173">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_prev_input</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a7d1fddd3cca9bd105a00d24bf1fa851f" compoundref="iir__filter_8h" startline="172">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_prev_output</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a769419b28329e074229b1cf31c5aabdb" compoundref="iir__filter_8h" startline="134" endline="134">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::ntaps_fb</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a1fe054bcfa5367de931613b29bf57c6c" compoundref="iir__filter_8h" startline="133" endline="133">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::ntaps_ff</references>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1adc64d5f3cad2c737589da0d91676f38f" compoundref="iir__filter_8h" startline="218" endline="224">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter_n</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1adc64d5f3cad2c737589da0d91676f38f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter_n</definition>
        <argsstring>(o_type output[], const i_type input[], long n)</argsstring>
        <name>filter_n</name>
        <qualifiedname>gr::filter::kernel::iir_filter::filter_n</qualifiedname>
        <param>
          <type>o_type</type>
          <declname>output</declname>
          <array>[]</array>
        </param>
        <param>
          <type>const i_type</type>
          <declname>input</declname>
          <array>[]</array>
        </param>
        <param>
          <type>long</type>
          <declname>n</declname>
        </param>
        <briefdescription>
<para>compute an array of N output values. <computeroutput>input</computeroutput> must have N valid entries. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="128" column="10" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="218" bodyend="224"/>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" compoundref="iir__filter_8h" startline="180" endline="215">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter</references>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1a1fe054bcfa5367de931613b29bf57c6c" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>unsigned</type>
        <definition>unsigned gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::ntaps_ff</definition>
        <argsstring>() const</argsstring>
        <name>ntaps_ff</name>
        <qualifiedname>gr::filter::kernel::iir_filter::ntaps_ff</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="return"><para>number of taps in filter. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="133" column="14" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="133" bodyend="133"/>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ac9d315cada76af12d8f370d4591b7f3f" compoundref="iir__filter_8h" startline="168">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_fftaps</references>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" compoundref="iir__filter_8h" startline="180" endline="215">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1a769419b28329e074229b1cf31c5aabdb" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>unsigned</type>
        <definition>unsigned gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::ntaps_fb</definition>
        <argsstring>() const</argsstring>
        <name>ntaps_fb</name>
        <qualifiedname>gr::filter::kernel::iir_filter::ntaps_fb</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="134" column="14" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="134" bodyend="134"/>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a72da1f3a4f5a16bd8e63ddc4ca4b5699" compoundref="iir__filter_8h" startline="169">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_fbtaps</references>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" compoundref="iir__filter_8h" startline="180" endline="215">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::filter</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1aab840f98c9ead93ff0739ffa36a95075" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>void gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::set_taps</definition>
        <argsstring>(const std::vector&lt; tap_type &gt; &amp;fftaps, const std::vector&lt; tap_type &gt; &amp;fbtaps)</argsstring>
        <name>set_taps</name>
        <qualifiedname>gr::filter::kernel::iir_filter::set_taps</qualifiedname>
        <param>
          <type>const std::vector&lt; tap_type &gt; &amp;</type>
          <declname>fftaps</declname>
        </param>
        <param>
          <type>const std::vector&lt; tap_type &gt; &amp;</type>
          <declname>fbtaps</declname>
        </param>
        <briefdescription>
<para>install new taps. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="139" column="10" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="139" bodyend="164"/>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a72da1f3a4f5a16bd8e63ddc4ca4b5699" compoundref="iir__filter_8h" startline="169">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_fbtaps</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ac9d315cada76af12d8f370d4591b7f3f" compoundref="iir__filter_8h" startline="168">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_fftaps</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ae3bd52e05acd62e95205e7f635f4a8b4" compoundref="iir__filter_8h" startline="171">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_latest_m</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aa385487f2d068791a0d44f740db73b17" compoundref="iir__filter_8h" startline="170">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_latest_n</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1af58c880389f9f7064419a476571399ab" compoundref="iir__filter_8h" startline="167">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_oldstyle</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a6e61f162679e3d5998cf7de687207d5b" compoundref="iir__filter_8h" startline="173">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_prev_input</references>
        <references refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a7d1fddd3cca9bd105a00d24bf1fa851f" compoundref="iir__filter_8h" startline="172">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::d_prev_output</references>
        <referencedby refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ad5416a12b2ed9b6e77c1d29ed16ebf1b" compoundref="iir__filter_8h" startline="108" endline="114">gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;::iir_filter</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1ad3b614a0e90af4b0443f554973e1521c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref></type>
        <definition>gr_complex gr::filter::kernel::iir_filter&lt; gr_complex, gr_complex, float, gr_complex &gt;::filter</definition>
        <argsstring>(const gr_complex input)</argsstring>
        <name>filter</name>
        <qualifiedname>gr::filter::kernel::iir_filter::filter</qualifiedname>
        <param>
          <type>const <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref></type>
          <declname>input</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="228" column="12" declfile="gr-filter/include/gnuradio/filter/iir_filter.h" declline="228" declcolumn="12"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1a06a5e265341957169bf0e2960cedf070" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref></type>
        <definition>gr_complex gr::filter::kernel::iir_filter&lt; gr_complex, gr_complex, double, gr_complexd &gt;::filter</definition>
        <argsstring>(const gr_complex input)</argsstring>
        <name>filter</name>
        <qualifiedname>gr::filter::kernel::iir_filter::filter</qualifiedname>
        <param>
          <type>const <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref></type>
          <declname>input</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="232" column="12" declfile="gr-filter/include/gnuradio/filter/iir_filter.h" declline="232" declcolumn="12"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1filter_1_1kernel_1_1iir__filter_1a3227811c1c0f2314b6ca5f6b738f90d0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref></type>
        <definition>gr_complex gr::filter::kernel::iir_filter&lt; gr_complex, gr_complex, gr_complexd, gr_complexd &gt;::filter</definition>
        <argsstring>(const gr_complex input)</argsstring>
        <name>filter</name>
        <qualifiedname>gr::filter::kernel::iir_filter::filter</qualifiedname>
        <param>
          <type>const <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref></type>
          <declname>input</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="235" column="23" declfile="gr-filter/include/gnuradio/filter/iir_filter.h" declline="235" declcolumn="23"/>
      </memberdef>
    </sectiondef>
    <briefdescription>
<para>Base class template for Infinite Impulse Response filter (IIR) </para>
    </briefdescription>
    <detaileddescription>
<para>This class provides a templated kernel for IIR filters. These iir_filters can be instantiated with a set of feed-forward and feed-back taps in the constructor. We then call the <ref refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" kindref="member">iir_filter::filter</ref> function to add a new sample to the filter, or <ref refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1adc64d5f3cad2c737589da0d91676f38f" kindref="member">iir_filter::filter_n</ref> to add a vector of samples to be filtered.</para>
<para>Instantiating a filter means defining the templates for the data types being processed by the filter. There are four templates:</para>
<para><itemizedlist>
<listitem><para>i_type the data type of the input data (i.e., float). </para>
</listitem>
<listitem><para>o_type the data type of the output data (i.e., float). </para>
</listitem>
<listitem><para>tap_type the data type of the filter taps (i.e., double). </para>
</listitem>
<listitem><para>acc_type the data type of the internal accumulator (i.e., double).</para>
</listitem>
</itemizedlist>
The acc_type is specified to control how data is handled internally in the filter. This should always be the highest precision data type of any of the first three. Often, IIR filters require double-precision values in the taps for stability, and so the internal accumulator should also be double precision.</para>
<para>Example:</para>
<para><programlisting><codeline><highlight class="normal">gr::filter::kernel::iir_filter&lt;float,float,double,double&gt;<sp/>iir_filt(fftaps,<sp/>fbtaps);</highlight></codeline>
<codeline><highlight class="normal">...</highlight></codeline>
<codeline><highlight class="normal">float<sp/>y<sp/>=<sp/>iir_filt.filter(x);</highlight></codeline>
<codeline><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal">&lt;or&gt;</highlight></codeline>
<codeline><highlight class="normal"></highlight></codeline>
<codeline><highlight class="normal">iir_filt.filter(y,<sp/>x,<sp/>N);<sp/></highlight><highlight class="comment">//<sp/>y<sp/>and<sp/>x<sp/>are<sp/>float<sp/>arrays</highlight></codeline>
</programlisting></para>
<para>Another example for handling complex samples with double-precision taps (see <ref refid="classgr_1_1filter_1_1iir__filter__ccz" kindref="compound">filter::iir_filter_ccz</ref>):</para>
<para><programlisting><codeline><highlight class="normal">gr:;filter::kernel::iir_filter&lt;gr_complex,<sp/>gr_complex,<sp/>gr_complexd,<sp/>gr_complexd&gt;</highlight></codeline>
<codeline><highlight class="normal">iir_filt(fftaps,<sp/>fbtaps);<sp/></highlight></codeline>
</programlisting> </para>
    </detaileddescription>
    <collaborationgraph>
      <node id="1">
        <label>gr::filter::kernel::iir_filter&lt; i_type, o_type, tap_type, acc_type &gt;</label>
        <link refid="classgr_1_1filter_1_1kernel_1_1iir__filter"/>
        <childnode refid="2" relation="usage">
          <edgelabel>d_fbtaps</edgelabel>
          <edgelabel>d_fftaps</edgelabel>
        </childnode>
        <childnode refid="3" relation="usage">
          <edgelabel>d_prev_output</edgelabel>
        </childnode>
        <childnode refid="4" relation="usage">
          <edgelabel>d_prev_input</edgelabel>
        </childnode>
      </node>
      <node id="3">
        <label>std::vector&lt; acc_type &gt;</label>
      </node>
      <node id="4">
        <label>std::vector&lt; i_type &gt;</label>
      </node>
      <node id="2">
        <label>std::vector&lt; tap_type &gt;</label>
      </node>
    </collaborationgraph>
    <location file="gr-filter/include/gnuradio/filter/iir_filter.h" line="70" column="1" bodyfile="gr-filter/include/gnuradio/filter/iir_filter.h" bodystart="71" bodyend="174"/>
    <listofallmembers>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a72da1f3a4f5a16bd8e63ddc4ca4b5699" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>d_fbtaps</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ac9d315cada76af12d8f370d4591b7f3f" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>d_fftaps</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ae3bd52e05acd62e95205e7f635f4a8b4" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>d_latest_m</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aa385487f2d068791a0d44f740db73b17" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>d_latest_n</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1af58c880389f9f7064419a476571399ab" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>d_oldstyle</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a6e61f162679e3d5998cf7de687207d5b" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>d_prev_input</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a7d1fddd3cca9bd105a00d24bf1fa851f" prot="protected" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>d_prev_output</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a69bb474129a8028bc6685ad1ebcb1519" prot="public" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>filter</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ad3b614a0e90af4b0443f554973e1521c" prot="public" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>filter</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a06a5e265341957169bf0e2960cedf070" prot="public" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>filter</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a3227811c1c0f2314b6ca5f6b738f90d0" prot="public" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>filter</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1adc64d5f3cad2c737589da0d91676f38f" prot="public" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>filter_n</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1ad5416a12b2ed9b6e77c1d29ed16ebf1b" prot="public" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>iir_filter</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aa859c40115cb1ba8a9fe1e7e6818ea8e" prot="public" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>iir_filter</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a769419b28329e074229b1cf31c5aabdb" prot="public" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>ntaps_fb</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1a1fe054bcfa5367de931613b29bf57c6c" prot="public" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>ntaps_ff</name></member>
      <member refid="classgr_1_1filter_1_1kernel_1_1iir__filter_1aab840f98c9ead93ff0739ffa36a95075" prot="public" virt="non-virtual"><scope>gr::filter::kernel::iir_filter</scope><name>set_taps</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
