<?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.9.3" xml:lang="en-US">
  <compounddef id="classgr_1_1ais_1_1msk__timing__recovery__cc" kind="class" language="C++" prot="public" abstract="yes">
    <compoundname>gr::ais::msk_timing_recovery_cc</compoundname>
    <basecompoundref prot="public" virt="virtual">gr::block</basecompoundref>
    <derivedcompoundref refid="classgr_1_1ais_1_1msk__timing__recovery__cc__impl" prot="public" virt="non-virtual">gr::ais::msk_timing_recovery_cc_impl</derivedcompoundref>
    <includes refid="msk__timing__recovery__cc_8h" local="no">msk_timing_recovery_cc.h</includes>
      <sectiondef kind="public-type">
      <memberdef kind="typedef" id="classgr_1_1ais_1_1msk__timing__recovery__cc_1a88b3b16422181696040c17ca0e922d05" prot="public" static="no">
        <type>boost::shared_ptr&lt; <ref refid="classgr_1_1ais_1_1msk__timing__recovery__cc" kindref="compound">msk_timing_recovery_cc</ref> &gt;</type>
        <definition>typedef boost::shared_ptr&lt;msk_timing_recovery_cc&gt; gr::ais::msk_timing_recovery_cc::sptr</definition>
        <argsstring></argsstring>
        <name>sptr</name>
        <qualifiedname>gr::ais::msk_timing_recovery_cc::sptr</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_gr-ais/gr37-ais/work/bistromath-gr-ais-1863d1b/include/ais/msk_timing_recovery_cc.h" line="49" column="33" bodyfile="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_gr-ais/gr37-ais/work/bistromath-gr-ais-1863d1b/include/ais/msk_timing_recovery_cc.h" bodystart="49" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-static-func">
      <memberdef kind="function" id="classgr_1_1ais_1_1msk__timing__recovery__cc_1a9e970f542a1bdae8519847a7df114b39" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="classgr_1_1ais_1_1msk__timing__recovery__cc_1a88b3b16422181696040c17ca0e922d05" kindref="member">sptr</ref></type>
        <definition>static sptr gr::ais::msk_timing_recovery_cc::make</definition>
        <argsstring>(float sps, float gain, float limit, int osps)</argsstring>
        <name>make</name>
        <qualifiedname>gr::ais::msk_timing_recovery_cc::make</qualifiedname>
        <param>
          <type>float</type>
          <declname>sps</declname>
        </param>
        <param>
          <type>float</type>
          <declname>gain</declname>
        </param>
        <param>
          <type>float</type>
          <declname>limit</declname>
        </param>
        <param>
          <type>int</type>
          <declname>osps</declname>
        </param>
        <briefdescription>
<para>Make an MSK timing recovery block. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>sps</parametername>
</parameternamelist>
<parameterdescription>
<para>Samples per symbol </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>gain</parametername>
</parameternamelist>
<parameterdescription>
<para>Loop gain of timing error filter (try 0.05) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>limit</parametername>
</parameternamelist>
<parameterdescription>
<para>Relative limit of timing error (try 0.1 for 10% error max) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>osps</parametername>
</parameternamelist>
<parameterdescription>
<para>Output samples per symbol </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_gr-ais/gr37-ais/work/bistromath-gr-ais-1863d1b/include/ais/msk_timing_recovery_cc.h" line="60" column="19"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="classgr_1_1ais_1_1msk__timing__recovery__cc_1a31ef9023fa77150a98322206f0eb90f5" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>void</type>
        <definition>virtual void gr::ais::msk_timing_recovery_cc::set_gain</definition>
        <argsstring>(float gain)=0</argsstring>
        <name>set_gain</name>
        <qualifiedname>gr::ais::msk_timing_recovery_cc::set_gain</qualifiedname>
        <reimplementedby refid="classgr_1_1ais_1_1msk__timing__recovery__cc__impl_1aec17d62df43b066d1203519af40e2929">set_gain</reimplementedby>
        <param>
          <type>float</type>
          <declname>gain</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_gr-ais/gr37-ais/work/bistromath-gr-ais-1863d1b/include/ais/msk_timing_recovery_cc.h" line="62" column="20"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1ais_1_1msk__timing__recovery__cc_1a7477473389891a4a8b7d8b5efec1f990" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>float</type>
        <definition>virtual float gr::ais::msk_timing_recovery_cc::get_gain</definition>
        <argsstring>(void)=0</argsstring>
        <name>get_gain</name>
        <qualifiedname>gr::ais::msk_timing_recovery_cc::get_gain</qualifiedname>
        <reimplementedby refid="classgr_1_1ais_1_1msk__timing__recovery__cc__impl_1af7df8fb6de6923853fb73eab992213d5">get_gain</reimplementedby>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_gr-ais/gr37-ais/work/bistromath-gr-ais-1863d1b/include/ais/msk_timing_recovery_cc.h" line="63" column="21"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1ais_1_1msk__timing__recovery__cc_1a2497d9b717ff146cf822ad8d754a26fd" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>void</type>
        <definition>virtual void gr::ais::msk_timing_recovery_cc::set_limit</definition>
        <argsstring>(float limit)=0</argsstring>
        <name>set_limit</name>
        <qualifiedname>gr::ais::msk_timing_recovery_cc::set_limit</qualifiedname>
        <reimplementedby refid="classgr_1_1ais_1_1msk__timing__recovery__cc__impl_1ad67fcdb44e250152db05340b211ad2f6">set_limit</reimplementedby>
        <param>
          <type>float</type>
          <declname>limit</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_gr-ais/gr37-ais/work/bistromath-gr-ais-1863d1b/include/ais/msk_timing_recovery_cc.h" line="65" column="20"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1ais_1_1msk__timing__recovery__cc_1ac5a0cd34c0e5e3b919dbd97b10039e74" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>float</type>
        <definition>virtual float gr::ais::msk_timing_recovery_cc::get_limit</definition>
        <argsstring>(void)=0</argsstring>
        <name>get_limit</name>
        <qualifiedname>gr::ais::msk_timing_recovery_cc::get_limit</qualifiedname>
        <reimplementedby refid="classgr_1_1ais_1_1msk__timing__recovery__cc__impl_1a71d798efa9fb81da9e01b977b787e78e">get_limit</reimplementedby>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_gr-ais/gr37-ais/work/bistromath-gr-ais-1863d1b/include/ais/msk_timing_recovery_cc.h" line="66" column="21"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1ais_1_1msk__timing__recovery__cc_1a9faaac4f8bccc6dc7764d6678c7e3115" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>void</type>
        <definition>virtual void gr::ais::msk_timing_recovery_cc::set_sps</definition>
        <argsstring>(float sps)=0</argsstring>
        <name>set_sps</name>
        <qualifiedname>gr::ais::msk_timing_recovery_cc::set_sps</qualifiedname>
        <reimplementedby refid="classgr_1_1ais_1_1msk__timing__recovery__cc__impl_1a7d5dab411b10eff9363d49be6284fd50">set_sps</reimplementedby>
        <param>
          <type>float</type>
          <declname>sps</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_gr-ais/gr37-ais/work/bistromath-gr-ais-1863d1b/include/ais/msk_timing_recovery_cc.h" line="68" column="20"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1ais_1_1msk__timing__recovery__cc_1afdd72ce0d08104e8a8ef69acbf829ac8" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>float</type>
        <definition>virtual float gr::ais::msk_timing_recovery_cc::get_sps</definition>
        <argsstring>(void)=0</argsstring>
        <name>get_sps</name>
        <qualifiedname>gr::ais::msk_timing_recovery_cc::get_sps</qualifiedname>
        <reimplementedby refid="classgr_1_1ais_1_1msk__timing__recovery__cc__impl_1a63cc2f39d822ec23d483f91b725151d7">get_sps</reimplementedby>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_gr-ais/gr37-ais/work/bistromath-gr-ais-1863d1b/include/ais/msk_timing_recovery_cc.h" line="69" column="21"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>MSK/GMSK timing recovery. </para>
    </briefdescription>
    <detaileddescription>
<para>This block performs timing synchronization on CPM modulations using a fourth-order nonlinearity feedback method which is non-data-aided. The block does not require prior phase synchronization but is relatively sensitive to frequency offset (keep offset to 0.1x symbol rate).</para>
<para>For details on the algorithm, see: A.N. D&apos;Andrea, U. Mengali, R. Reggiannini: A digital approach to clock recovery in generalized minimum shift keying. IEEE Transactions on Vehicular Technology, Vol. 39, Issue 3. </para>
    </detaileddescription>
    <inheritancegraph>
      <node id="1">
        <label>gr::ais::msk_timing_recovery_cc</label>
        <link refid="classgr_1_1ais_1_1msk__timing__recovery__cc"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
      <node id="3">
        <label>gr::ais::msk_timing_recovery_cc_impl</label>
        <link refid="classgr_1_1ais_1_1msk__timing__recovery__cc__impl"/>
        <childnode refid="1" relation="public-inheritance">
        </childnode>
      </node>
      <node id="2">
        <label>gr::block</label>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="1">
        <label>gr::ais::msk_timing_recovery_cc</label>
        <link refid="classgr_1_1ais_1_1msk__timing__recovery__cc"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
      <node id="2">
        <label>gr::block</label>
      </node>
    </collaborationgraph>
    <location file="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_gr-ais/gr37-ais/work/bistromath-gr-ais-1863d1b/include/ais/msk_timing_recovery_cc.h" line="46" column="5" bodyfile="/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_gr-ais/gr37-ais/work/bistromath-gr-ais-1863d1b/include/ais/msk_timing_recovery_cc.h" bodystart="47" bodyend="70"/>
    <listofallmembers>
      <member refid="classgr_1_1ais_1_1msk__timing__recovery__cc_1a7477473389891a4a8b7d8b5efec1f990" prot="public" virt="pure-virtual"><scope>gr::ais::msk_timing_recovery_cc</scope><name>get_gain</name></member>
      <member refid="classgr_1_1ais_1_1msk__timing__recovery__cc_1ac5a0cd34c0e5e3b919dbd97b10039e74" prot="public" virt="pure-virtual"><scope>gr::ais::msk_timing_recovery_cc</scope><name>get_limit</name></member>
      <member refid="classgr_1_1ais_1_1msk__timing__recovery__cc_1afdd72ce0d08104e8a8ef69acbf829ac8" prot="public" virt="pure-virtual"><scope>gr::ais::msk_timing_recovery_cc</scope><name>get_sps</name></member>
      <member refid="classgr_1_1ais_1_1msk__timing__recovery__cc_1a9e970f542a1bdae8519847a7df114b39" prot="public" virt="non-virtual"><scope>gr::ais::msk_timing_recovery_cc</scope><name>make</name></member>
      <member refid="classgr_1_1ais_1_1msk__timing__recovery__cc_1a31ef9023fa77150a98322206f0eb90f5" prot="public" virt="pure-virtual"><scope>gr::ais::msk_timing_recovery_cc</scope><name>set_gain</name></member>
      <member refid="classgr_1_1ais_1_1msk__timing__recovery__cc_1a2497d9b717ff146cf822ad8d754a26fd" prot="public" virt="pure-virtual"><scope>gr::ais::msk_timing_recovery_cc</scope><name>set_limit</name></member>
      <member refid="classgr_1_1ais_1_1msk__timing__recovery__cc_1a9faaac4f8bccc6dc7764d6678c7e3115" prot="public" virt="pure-virtual"><scope>gr::ais::msk_timing_recovery_cc</scope><name>set_sps</name></member>
      <member refid="classgr_1_1ais_1_1msk__timing__recovery__cc_1a88b3b16422181696040c17ca0e922d05" prot="public" virt="non-virtual"><scope>gr::ais::msk_timing_recovery_cc</scope><name>sptr</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
