<?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_1digital_1_1ofdm__equalizer__static" kind="class" language="C++" prot="public">
    <compoundname>gr::digital::ofdm_equalizer_static</compoundname>
    <basecompoundref refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots" prot="public" virt="non-virtual">gr::digital::ofdm_equalizer_1d_pilots</basecompoundref>
    <includes refid="ofdm__equalizer__static_8h" local="no">gnuradio/digital/ofdm_equalizer_static.h</includes>
    <sectiondef kind="public-type">
      <memberdef kind="typedef" id="classgr_1_1digital_1_1ofdm__equalizer__static_1aba6048c7f08d58d9dc7780fffc3eb74f" prot="public" static="no">
        <type>std::shared_ptr&lt; <ref refid="classgr_1_1digital_1_1ofdm__equalizer__static_1a65530b64169866b11d894d6349126a98" kindref="member">ofdm_equalizer_static</ref> &gt;</type>
        <definition>typedef std::shared_ptr&lt;ofdm_equalizer_static&gt; gr::digital::ofdm_equalizer_static::sptr</definition>
        <argsstring></argsstring>
        <name>sptr</name>
        <qualifiedname>gr::digital::ofdm_equalizer_static::sptr</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-digital/include/gnuradio/digital/ofdm_equalizer_static.h" line="37" column="29" bodyfile="gr-digital/include/gnuradio/digital/ofdm_equalizer_static.h" bodystart="37" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="public-func">
      <memberdef kind="function" id="classgr_1_1digital_1_1ofdm__equalizer__static_1a65530b64169866b11d894d6349126a98" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>gr::digital::ofdm_equalizer_static::ofdm_equalizer_static</definition>
        <argsstring>(int fft_len, const std::vector&lt; std::vector&lt; int &gt; &gt; &amp;occupied_carriers=std::vector&lt; std::vector&lt; int &gt; &gt;(), const std::vector&lt; std::vector&lt; int &gt; &gt; &amp;pilot_carriers=std::vector&lt; std::vector&lt; int &gt; &gt;(), const std::vector&lt; std::vector&lt; gr_complex &gt; &gt; &amp;pilot_symbols=std::vector&lt; std::vector&lt; gr_complex &gt; &gt;(), int symbols_skipped=0, bool input_is_shifted=true)</argsstring>
        <name>ofdm_equalizer_static</name>
        <qualifiedname>gr::digital::ofdm_equalizer_static::ofdm_equalizer_static</qualifiedname>
        <param>
          <type>int</type>
          <declname>fft_len</declname>
        </param>
        <param>
          <type>const std::vector&lt; std::vector&lt; int &gt; &gt; &amp;</type>
          <declname>occupied_carriers</declname>
          <defval>std::vector&lt; std::vector&lt; int &gt; &gt;()</defval>
        </param>
        <param>
          <type>const std::vector&lt; std::vector&lt; int &gt; &gt; &amp;</type>
          <declname>pilot_carriers</declname>
          <defval>std::vector&lt; std::vector&lt; int &gt; &gt;()</defval>
        </param>
        <param>
          <type>const std::vector&lt; std::vector&lt; <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> &gt; &gt; &amp;</type>
          <declname>pilot_symbols</declname>
          <defval>std::vector&lt; std::vector&lt; <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> &gt; &gt;()</defval>
        </param>
        <param>
          <type>int</type>
          <declname>symbols_skipped</declname>
          <defval>0</defval>
        </param>
        <param>
          <type>bool</type>
          <declname>input_is_shifted</declname>
          <defval>true</defval>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-digital/include/gnuradio/digital/ofdm_equalizer_static.h" line="39" column="5"/>
        <references refid="classgr_1_1digital_1_1ofdm__equalizer__base_1a38cf0a269f79727c7a776649c6a48f27" compoundref="ofdm__equalizer__base_8h" startline="47" endline="47">gr::digital::ofdm_equalizer_base::fft_len</references>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1digital_1_1ofdm__equalizer__static_1a50f345c98ebe92263022c20144c881b5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>gr::digital::ofdm_equalizer_static::~ofdm_equalizer_static</definition>
        <argsstring>() override</argsstring>
        <name>~ofdm_equalizer_static</name>
        <qualifiedname>gr::digital::ofdm_equalizer_static::~ofdm_equalizer_static</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-digital/include/gnuradio/digital/ofdm_equalizer_static.h" line="48" column="5"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1digital_1_1ofdm__equalizer__static_1af06d0d8c296b979aea6fb43c02076733" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void gr::digital::ofdm_equalizer_static::equalize</definition>
        <argsstring>(gr_complex *frame, int n_sym, const std::vector&lt; gr_complex &gt; &amp;initial_taps=std::vector&lt; gr_complex &gt;(), const std::vector&lt; tag_t &gt; &amp;tags=std::vector&lt; tag_t &gt;()) override</argsstring>
        <name>equalize</name>
        <qualifiedname>gr::digital::ofdm_equalizer_static::equalize</qualifiedname>
        <reimplements refid="classgr_1_1digital_1_1ofdm__equalizer__base_1a0696cb26b6eb760454226d9b835ef5a0">equalize</reimplements>
        <param>
          <type><ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> *</type>
          <declname>frame</declname>
        </param>
        <param>
          <type>int</type>
          <declname>n_sym</declname>
        </param>
        <param>
          <type>const std::vector&lt; <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> &gt; &amp;</type>
          <declname>initial_taps</declname>
          <defval>std::vector&lt; <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> &gt;()</defval>
        </param>
        <param>
          <type>const std::vector&lt; <ref refid="structgr_1_1tag__t" kindref="compound">tag_t</ref> &gt; &amp;</type>
          <declname>tags</declname>
          <defval>std::vector&lt; <ref refid="structgr_1_1tag__t" kindref="compound">tag_t</ref> &gt;()</defval>
        </param>
        <briefdescription>
<para>Divide the input signal with the current channel state. </para>
        </briefdescription>
        <detaileddescription>
<para>Does the following (and nothing else):<itemizedlist>
<listitem><para>Divide every OFDM symbol with the current channel state</para>
</listitem><listitem><para>If a pilot symbol is found, re-set the channel state by dividing the received symbol with the known pilot symbol </para>
</listitem></itemizedlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-digital/include/gnuradio/digital/ofdm_equalizer_static.h" line="57" column="10"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="public-static-func">
      <memberdef kind="function" id="classgr_1_1digital_1_1ofdm__equalizer__static_1af5cf0c6f2ab8006dd71ca50faafecf2f" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="classgr_1_1digital_1_1ofdm__equalizer__static_1aba6048c7f08d58d9dc7780fffc3eb74f" kindref="member">sptr</ref></type>
        <definition>static sptr gr::digital::ofdm_equalizer_static::make</definition>
        <argsstring>(int fft_len, const std::vector&lt; std::vector&lt; int &gt; &gt; &amp;occupied_carriers=std::vector&lt; std::vector&lt; int &gt; &gt;(), const std::vector&lt; std::vector&lt; int &gt; &gt; &amp;pilot_carriers=std::vector&lt; std::vector&lt; int &gt; &gt;(), const std::vector&lt; std::vector&lt; gr_complex &gt; &gt; &amp;pilot_symbols=std::vector&lt; std::vector&lt; gr_complex &gt; &gt;(), int symbols_skipped=0, bool input_is_shifted=true)</argsstring>
        <name>make</name>
        <qualifiedname>gr::digital::ofdm_equalizer_static::make</qualifiedname>
        <param>
          <type>int</type>
          <declname>fft_len</declname>
        </param>
        <param>
          <type>const std::vector&lt; std::vector&lt; int &gt; &gt; &amp;</type>
          <declname>occupied_carriers</declname>
          <defval>std::vector&lt; std::vector&lt; int &gt; &gt;()</defval>
        </param>
        <param>
          <type>const std::vector&lt; std::vector&lt; int &gt; &gt; &amp;</type>
          <declname>pilot_carriers</declname>
          <defval>std::vector&lt; std::vector&lt; int &gt; &gt;()</defval>
        </param>
        <param>
          <type>const std::vector&lt; std::vector&lt; <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> &gt; &gt; &amp;</type>
          <declname>pilot_symbols</declname>
          <defval>std::vector&lt; std::vector&lt; <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> &gt; &gt;()</defval>
        </param>
        <param>
          <type>int</type>
          <declname>symbols_skipped</declname>
          <defval>0</defval>
        </param>
        <param>
          <type>bool</type>
          <declname>input_is_shifted</declname>
          <defval>true</defval>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-digital/include/gnuradio/digital/ofdm_equalizer_static.h" line="79" column="17"/>
        <references refid="classgr_1_1digital_1_1ofdm__equalizer__base_1a38cf0a269f79727c7a776649c6a48f27" compoundref="ofdm__equalizer__base_8h" startline="47" endline="47">gr::digital::ofdm_equalizer_base::fft_len</references>
      </memberdef>
    </sectiondef>
    <briefdescription>
<para>Very simple static equalizer for OFDM. </para>
    </briefdescription>
    <detaileddescription>
<para>This is an extremely simple equalizer. It will only work for high-SNR, very, very slowly changing channels.</para>
<para>It simply divides the signal with the currently known channel state. Whenever a pilot symbol comes around, it updates the channel state on that particular carrier by dividing the received symbol with the known pilot symbol. </para>
    </detaileddescription>
    <inheritancegraph>
      <node id="2">
        <label>gr::digital::ofdm_equalizer_1d_pilots</label>
        <link refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots"/>
        <childnode refid="3" relation="public-inheritance">
        </childnode>
      </node>
      <node id="3">
        <label>gr::digital::ofdm_equalizer_base</label>
        <link refid="classgr_1_1digital_1_1ofdm__equalizer__base"/>
        <childnode refid="4" relation="public-inheritance">
        </childnode>
      </node>
      <node id="1">
        <label>gr::digital::ofdm_equalizer_static</label>
        <link refid="classgr_1_1digital_1_1ofdm__equalizer__static"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
      <node id="4">
        <label>std::enable_shared_from_this&lt; ofdm_equalizer_base &gt;</label>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="2">
        <label>gr::digital::ofdm_equalizer_1d_pilots</label>
        <link refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots"/>
        <childnode refid="3" relation="public-inheritance">
        </childnode>
        <childnode refid="5" relation="usage">
          <edgelabel>d_occupied_carriers</edgelabel>
        </childnode>
        <childnode refid="6" relation="usage">
          <edgelabel>d_pilot_carriers</edgelabel>
        </childnode>
        <childnode refid="7" relation="usage">
          <edgelabel>d_pilot_symbols</edgelabel>
        </childnode>
        <childnode refid="8" relation="usage">
          <edgelabel>d_channel_state</edgelabel>
        </childnode>
      </node>
      <node id="3">
        <label>gr::digital::ofdm_equalizer_base</label>
        <link refid="classgr_1_1digital_1_1ofdm__equalizer__base"/>
        <childnode refid="4" relation="public-inheritance">
        </childnode>
      </node>
      <node id="1">
        <label>gr::digital::ofdm_equalizer_static</label>
        <link refid="classgr_1_1digital_1_1ofdm__equalizer__static"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
      <node id="9">
        <label>std::complex&lt; float &gt;</label>
      </node>
      <node id="4">
        <label>std::enable_shared_from_this&lt; ofdm_equalizer_base &gt;</label>
      </node>
      <node id="5">
        <label>std::vector&lt; bool &gt;</label>
      </node>
      <node id="8">
        <label>std::vector&lt; gr_complex &gt;</label>
        <childnode refid="9" relation="usage">
          <edgelabel>elements</edgelabel>
          <edgelabel>p</edgelabel>
        </childnode>
      </node>
      <node id="6">
        <label>std::vector&lt; std::vector&lt; bool &gt; &gt;</label>
        <childnode refid="5" relation="usage">
          <edgelabel>elements</edgelabel>
          <edgelabel>p</edgelabel>
        </childnode>
      </node>
      <node id="7">
        <label>std::vector&lt; std::vector&lt; gr_complex &gt; &gt;</label>
        <childnode refid="8" relation="usage">
          <edgelabel>elements</edgelabel>
          <edgelabel>p</edgelabel>
        </childnode>
      </node>
    </collaborationgraph>
    <location file="gr-digital/include/gnuradio/digital/ofdm_equalizer_static.h" line="34" column="1" bodyfile="gr-digital/include/gnuradio/digital/ofdm_equalizer_static.h" bodystart="35" bodyend="88"/>
    <listofallmembers>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__base_1a5581fb5b033e7dddbe28102a31e3c6bf" prot="public" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>base</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots_1a9d991ab82c666e194bee0c01cab257a9" prot="protected" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>d_channel_state</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__base_1a9896c1fa366a49d118215aee9c1e9d36" prot="protected" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>d_fft_len</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots_1aa9920fd29d83d341c75ffe70b720317c" prot="protected" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>d_occupied_carriers</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots_1a71b85d6d80e9b5d1bfcca65b5239b5ec" prot="protected" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>d_pilot_carr_set</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots_1a55eabce553bf24fda91be20379822621" prot="protected" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>d_pilot_carriers</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots_1ad2a527eaa18811a71dce62fca5cb82ac" prot="protected" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>d_pilot_symbols</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots_1a17b317a9bd7bb69bfc3385912f58066b" prot="protected" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>d_symbols_skipped</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__static_1af06d0d8c296b979aea6fb43c02076733" prot="public" virt="virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>equalize</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__base_1a38cf0a269f79727c7a776649c6a48f27" prot="public" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>fft_len</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots_1a5c2996b00111ec352d677bf5b0e698f8" prot="public" virt="virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>get_channel_state</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__static_1af5cf0c6f2ab8006dd71ca50faafecf2f" prot="public" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>make</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots_1a1f161ee7899e8bbaac61261a557a0f60" prot="public" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>ofdm_equalizer_1d_pilots</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__base_1ab4af93740aa7b0eb010b6dd6ef72ec99" prot="public" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>ofdm_equalizer_base</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__static_1a65530b64169866b11d894d6349126a98" prot="public" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>ofdm_equalizer_static</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots_1a19faddb66e3a383dd622de70b0c06529" prot="public" virt="virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>reset</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__static_1aba6048c7f08d58d9dc7780fffc3eb74f" prot="public" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>sptr</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__1d__pilots_1ab83e98f369c0c9513951564d52c691d2" prot="public" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>~ofdm_equalizer_1d_pilots</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__base_1a9d78815c52d4e2920e1032e7e848d9da" prot="public" virt="virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>~ofdm_equalizer_base</name></member>
      <member refid="classgr_1_1digital_1_1ofdm__equalizer__static_1a50f345c98ebe92263022c20144c881b5" prot="public" virt="non-virtual"><scope>gr::digital::ofdm_equalizer_static</scope><name>~ofdm_equalizer_static</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
