<?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.6.3"> <compounddef id="classgr__ofdm__frame__acquisition" kind="class" prot="public"> <compoundname>gr_ofdm_frame_acquisition</compoundname> <basecompoundref refid="classgr__block" prot="public" virt="non-virtual">gr_block</basecompoundref> <includes refid="gr__ofdm__frame__acquisition_8h" local="no">gr_ofdm_frame_acquisition.h</includes> <sectiondef kind="private-attrib"> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1a2923b608ad7d097ca5d57221ce07c3a6" prot="private" static="no" mutable="no"> <type>unsigned int</type> <definition>unsigned int gr_ofdm_frame_acquisition::d_occupied_carriers</definition> <argsstring></argsstring> <name>d_occupied_carriers</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="86" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="86" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1afab2b089c84eb006d9008a381a703ecf" prot="private" static="no" mutable="no"> <type>unsigned int</type> <definition>unsigned int gr_ofdm_frame_acquisition::d_fft_length</definition> <argsstring></argsstring> <name>d_fft_length</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="87" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="87" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1ade24741688e4945d5a1d26b305ae7b07" prot="private" static="no" mutable="no"> <type>unsigned int</type> <definition>unsigned int gr_ofdm_frame_acquisition::d_cplen</definition> <argsstring></argsstring> <name>d_cplen</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="88" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="88" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1ae03ffbee798a7d9864ee5738590f7f39" prot="private" static="no" mutable="no"> <type>unsigned int</type> <definition>unsigned int gr_ofdm_frame_acquisition::d_freq_shift_len</definition> <argsstring></argsstring> <name>d_freq_shift_len</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="89" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="89" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1ac9ad1789b5c2fc1477a1fa68251c7d2d" prot="private" static="no" mutable="no"> <type><ref refid="classstd_1_1vector" kindref="compound">std::vector</ref>< <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> ></type> <definition>std::vector<gr_complex> gr_ofdm_frame_acquisition::d_known_symbol</definition> <argsstring></argsstring> <name>d_known_symbol</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="90" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="90" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1a1128327693ee0733e691d9cebba90fe1" prot="private" static="no" mutable="no"> <type><ref refid="classstd_1_1vector" kindref="compound">std::vector</ref>< float ></type> <definition>std::vector<float> gr_ofdm_frame_acquisition::d_known_phase_diff</definition> <argsstring></argsstring> <name>d_known_phase_diff</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="91" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="91" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1a7be7b60620b8380a9133c1357523bdb2" prot="private" static="no" mutable="no"> <type><ref refid="classstd_1_1vector" kindref="compound">std::vector</ref>< float ></type> <definition>std::vector<float> gr_ofdm_frame_acquisition::d_symbol_phase_diff</definition> <argsstring></argsstring> <name>d_symbol_phase_diff</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="92" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="92" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1a666e819f65590f588a6c092bc28108b1" prot="private" static="no" mutable="no"> <type><ref refid="classstd_1_1vector" kindref="compound">std::vector</ref>< <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> ></type> <definition>std::vector<gr_complex> gr_ofdm_frame_acquisition::d_hestimate</definition> <argsstring></argsstring> <name>d_hestimate</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="93" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="93" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1a84a2ee58275ff5fe47bb4e2c9e1dfd21" prot="private" static="no" mutable="no"> <type>int</type> <definition>int gr_ofdm_frame_acquisition::d_coarse_freq</definition> <argsstring></argsstring> <name>d_coarse_freq</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="94" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="94" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1add01c9c87557a31905b59691a9988b16" prot="private" static="no" mutable="no"> <type>unsigned int</type> <definition>unsigned int gr_ofdm_frame_acquisition::d_phase_count</definition> <argsstring></argsstring> <name>d_phase_count</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="95" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="95" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1a6de879e7c3f90a9e1b4a906da13b79a7" prot="private" static="no" mutable="no"> <type>float</type> <definition>float gr_ofdm_frame_acquisition::d_snr_est</definition> <argsstring></argsstring> <name>d_snr_est</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="96" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="96" bodyend="-1"/> </memberdef> <memberdef kind="variable" id="classgr__ofdm__frame__acquisition_1acfc49c475ca51677fb011dcb910b1d2a" prot="private" static="no" mutable="no"> <type><ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> *</type> <definition>gr_complex* gr_ofdm_frame_acquisition::d_phase_lut</definition> <argsstring></argsstring> <name>d_phase_lut</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="98" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="98" bodyend="-1"/> </memberdef> </sectiondef> <sectiondef kind="friend"> <memberdef kind="friend" id="classgr__ofdm__frame__acquisition_1a7ef32b562ebffaa6114381c03ae05c9b" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>friend <ref refid="classboost_1_1shared__ptr" kindref="compound">gr_ofdm_frame_acquisition_sptr</ref></type> <definition>gr_ofdm_frame_acquisition_sptr gr_make_ofdm_frame_acquisition</definition> <argsstring>(unsigned int occupied_carriers, unsigned int fft_length, unsigned int cplen, const std::vector< gr_complex > &known_symbol, unsigned int max_fft_shift_len)</argsstring> <name>gr_make_ofdm_frame_acquisition</name> <param> <type>unsigned int</type> <declname>occupied_carriers</declname> </param> <param> <type>unsigned int</type> <declname>fft_length</declname> </param> <param> <type>unsigned int</type> <declname>cplen</declname> </param> <param> <type>const <ref refid="classstd_1_1vector" kindref="compound">std::vector</ref>< <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> > &</type> <declname>known_symbol</declname> </param> <param> <type>unsigned int</type> <declname>max_fft_shift_len</declname> </param> <briefdescription> <para>Build an OFDM correlator and equalizer. </para> </briefdescription> <detaileddescription> <para><parameterlist kind="param"><parameteritem> <parameternamelist> <parametername>occupied_carriers</parametername> </parameternamelist> <parameterdescription> <para>The number of subcarriers with data in the received symbol </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>fft_length</parametername> </parameternamelist> <parameterdescription> <para>The size of the FFT vector (occupied_carriers + unused carriers) </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>cplen</parametername> </parameternamelist> <parameterdescription> <para>The length of the cycle prefix </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>known_symbol</parametername> </parameternamelist> <parameterdescription> <para>A vector of complex numbers representing a known symbol at the start of a frame (usually a BPSK PN sequence) </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>max_fft_shift_len</parametername> </parameternamelist> <parameterdescription> <para>Set's the maximum distance you can look between bins for correlation </para></parameterdescription> </parameteritem> </parameterlist> </para> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="72"/> </memberdef> </sectiondef> <sectiondef kind="protected-func"> <memberdef kind="function" id="classgr__ofdm__frame__acquisition_1a1b7330d70565b77df6304d73a247fcfc" prot="protected" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type></type> <definition>gr_ofdm_frame_acquisition::gr_ofdm_frame_acquisition</definition> <argsstring>(unsigned int occupied_carriers, unsigned int fft_length, unsigned int cplen, const std::vector< gr_complex > &known_symbol, unsigned int max_fft_shift_len)</argsstring> <name>gr_ofdm_frame_acquisition</name> <param> <type>unsigned int</type> <declname>occupied_carriers</declname> </param> <param> <type>unsigned int</type> <declname>fft_length</declname> </param> <param> <type>unsigned int</type> <declname>cplen</declname> </param> <param> <type>const <ref refid="classstd_1_1vector" kindref="compound">std::vector</ref>< <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> > &</type> <declname>known_symbol</declname> </param> <param> <type>unsigned int</type> <declname>max_fft_shift_len</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="78"/> </memberdef> </sectiondef> <sectiondef kind="private-func"> <memberdef kind="function" id="classgr__ofdm__frame__acquisition_1af16ef331d261f99cf74c53f666c0e5eb" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>unsigned char</type> <definition>unsigned char gr_ofdm_frame_acquisition::slicer</definition> <argsstring>(gr_complex x)</argsstring> <name>slicer</name> <param> <type><ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref></type> <declname>x</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="81"/> </memberdef> <memberdef kind="function" id="classgr__ofdm__frame__acquisition_1ad16324d0c9b9621e03a8d82ce0e53973" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void</type> <definition>void gr_ofdm_frame_acquisition::correlate</definition> <argsstring>(const gr_complex *symbol, int zeros_on_left)</argsstring> <name>correlate</name> <param> <type>const <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> *</type> <declname>symbol</declname> </param> <param> <type>int</type> <declname>zeros_on_left</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="82"/> </memberdef> <memberdef kind="function" id="classgr__ofdm__frame__acquisition_1a10a87df41fb9f9879a83fd83fbcc48b5" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void</type> <definition>void gr_ofdm_frame_acquisition::calculate_equalizer</definition> <argsstring>(const gr_complex *symbol, int zeros_on_left)</argsstring> <name>calculate_equalizer</name> <param> <type>const <ref refid="gr__complex_8h_1aec4bfe41433369afae9327f1b0bc9109" kindref="member">gr_complex</ref> *</type> <declname>symbol</declname> </param> <param> <type>int</type> <declname>zeros_on_left</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="83"/> </memberdef> <memberdef kind="function" id="classgr__ofdm__frame__acquisition_1adf1f77219f29de909ed7d00ceccacef7" prot="private" 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_ofdm_frame_acquisition::coarse_freq_comp</definition> <argsstring>(int freq_delta, int count)</argsstring> <name>coarse_freq_comp</name> <param> <type>int</type> <declname>freq_delta</declname> </param> <param> <type>int</type> <declname>count</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="84"/> </memberdef> <memberdef kind="function" id="classgr__ofdm__frame__acquisition_1ab5c4296007f42a4076e597aab9a4f45b" prot="private" static="no" const="no" explicit="no" inline="no" virt="virtual"> <type>void</type> <definition>void gr_ofdm_frame_acquisition::forecast</definition> <argsstring>(int noutput_items, gr_vector_int &ninput_items_required)</argsstring> <name>forecast</name> <reimplements refid="classgr__block_1aa1f2518b5c97126bb015adb9e2027f4a">forecast</reimplements> <param> <type>int</type> <declname>noutput_items</declname> </param> <param> <type><ref refid="classstd_1_1vector" kindref="compound">gr_vector_int</ref> &</type> <declname>ninput_items_required</declname> </param> <briefdescription> <para>Estimate input requirements given output request. </para> </briefdescription> <detaileddescription> <para><parameterlist kind="param"><parameteritem> <parameternamelist> <parametername>noutput_items</parametername> </parameternamelist> <parameterdescription> <para>number of output items to produce </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>ninput_items_required</parametername> </parameternamelist> <parameterdescription> <para>number of input items required on each input stream</para></parameterdescription> </parameteritem> </parameterlist> Given a request to product <computeroutput>noutput_items</computeroutput>, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close. </para> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="100"/> </memberdef> </sectiondef> <sectiondef kind="public-func"> <memberdef kind="function" id="classgr__ofdm__frame__acquisition_1a50418e0fba566a0c8fdb24bdba52688e" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual"> <type>float</type> <definition>float gr_ofdm_frame_acquisition::snr</definition> <argsstring>()</argsstring> <name>snr</name> <briefdescription> <para>Return an estimate of the SNR of the channel. </para> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="106" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="106" bodyend="106"/> </memberdef> <memberdef kind="function" id="classgr__ofdm__frame__acquisition_1ab46c54b18587dcbcd43803a0cc8c5cef" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type></type> <definition>gr_ofdm_frame_acquisition::~gr_ofdm_frame_acquisition</definition> <argsstring>(void)</argsstring> <name>~gr_ofdm_frame_acquisition</name> <param> <type>void</type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="108"/> </memberdef> <memberdef kind="function" id="classgr__ofdm__frame__acquisition_1ac9e7650efc73d2febe2e90a5e1a9fd3f" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual"> <type>int</type> <definition>int gr_ofdm_frame_acquisition::general_work</definition> <argsstring>(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)</argsstring> <name>general_work</name> <reimplements refid="classgr__block_1a137b93d87dc83bbdb6369d33f4ea8197">general_work</reimplements> <param> <type>int</type> <declname>noutput_items</declname> </param> <param> <type><ref refid="classstd_1_1vector" kindref="compound">gr_vector_int</ref> &</type> <declname>ninput_items</declname> </param> <param> <type><ref refid="classstd_1_1vector" kindref="compound">gr_vector_const_void_star</ref> &</type> <declname>input_items</declname> </param> <param> <type><ref refid="classstd_1_1vector" kindref="compound">gr_vector_void_star</ref> &</type> <declname>output_items</declname> </param> <briefdescription> <para>compute output items from input items </para> </briefdescription> <detaileddescription> <para><parameterlist kind="param"><parameteritem> <parameternamelist> <parametername>noutput_items</parametername> </parameternamelist> <parameterdescription> <para>number of output items to write on each output stream </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>ninput_items</parametername> </parameternamelist> <parameterdescription> <para>number of input items available on each input stream </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>input_items</parametername> </parameternamelist> <parameterdescription> <para>vector of pointers to the input items, one entry per input stream </para></parameterdescription> </parameteritem> <parameteritem> <parameternamelist> <parametername>output_items</parametername> </parameternamelist> <parameterdescription> <para>vector of pointers to the output items, one entry per output stream</para></parameterdescription> </parameteritem> </parameterlist> <simplesect kind="return"><para>number of items actually written to each output stream, or -1 on EOF. It is OK to return a value less than noutput_items. -1 <= return value <= noutput_items</para></simplesect> general_work must call consume or consume_each to indicate how many items were consumed on each input stream. </para> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="112"/> </memberdef> </sectiondef> <briefdescription> <para>take a vector of complex constellation points in from an FFT and performs a correlation and equalization.</para><para>This block takes the output of an FFT of a received OFDM symbol and finds the start of a frame based on two known symbols. It also looks at the surrounding bins in the FFT output for the correlation in case there is a large frequency shift in the data. This block assumes that the fine frequency shift has already been corrected and that the samples fall in the middle of one FFT bin. </para> </briefdescription> <detaileddescription> <para>It then uses one of those known symbols to estimate the channel response over all subcarriers and does a simple 1-tap equalization on all subcarriers. This corrects for the phase and amplitude distortion caused by the channel. </para> </detaileddescription> <inheritancegraph> <node id="13976"> <label>gr_msg_accepter</label> <link refid="classgr__msg__accepter"/> <childnode refid="13977" relation="public-inheritance"> </childnode> </node> <node id="13974"> <label>gr_block</label> <link refid="classgr__block"/> <childnode refid="13975" relation="public-inheritance"> </childnode> </node> <node id="13973"> <label>gr_ofdm_frame_acquisition</label> <link refid="classgr__ofdm__frame__acquisition"/> <childnode refid="13974" relation="public-inheritance"> </childnode> </node> <node id="13977"> <label>gruel::msg_accepter</label> <link refid="classgruel_1_1msg__accepter"/> </node> <node id="13975"> <label>gr_basic_block</label> <link refid="classgr__basic__block"/> <childnode refid="13976" relation="public-inheritance"> </childnode> </node> </inheritancegraph> <collaborationgraph> <node id="13995"> <label>T</label> </node> <node id="13981"> <label>gr_msg_accepter</label> <link refid="classgr__msg__accepter"/> <childnode refid="13982" relation="public-inheritance"> </childnode> </node> <node id="13997"> <label>std::vector< float ></label> <link refid="classstd_1_1vector"/> </node> <node id="13992"> <label>std::deque< pmt::pmt_t ></label> </node> <node id="13979"> <label>gr_block</label> <link refid="classgr__block"/> <childnode refid="13980" relation="public-inheritance"> </childnode> <childnode refid="13988" relation="usage"> <edgelabel>d_detail</edgelabel> </childnode> </node> <node id="13978"> <label>gr_ofdm_frame_acquisition</label> <link refid="classgr__ofdm__frame__acquisition"/> <childnode refid="13979" relation="public-inheritance"> </childnode> <childnode refid="13996" relation="usage"> <edgelabel>d_phase_lut</edgelabel> </childnode> <childnode refid="13997" relation="usage"> <edgelabel>d_known_phase_diff</edgelabel> <edgelabel>d_symbol_phase_diff</edgelabel> </childnode> <childnode refid="13998" relation="usage"> <edgelabel>d_known_symbol</edgelabel> <edgelabel>d_hestimate</edgelabel> </childnode> </node> <node id="13988"> <label>boost::shared_ptr< gr_block_detail ></label> <link refid="classboost_1_1shared__ptr"/> <childnode refid="13989" relation="usage"> <edgelabel>px</edgelabel> </childnode> </node> <node id="13994"> <label>boost::shared_ptr< T ></label> <link refid="classboost_1_1shared__ptr"/> <childnode refid="13995" relation="usage"> <edgelabel>px</edgelabel> </childnode> </node> <node id="13989"> <label>gr_block_detail</label> <link refid="classgr__block__detail"/> <childnode refid="13990" relation="usage"> <edgelabel>d_input</edgelabel> </childnode> <childnode refid="13991" relation="usage"> <edgelabel>d_tpb</edgelabel> </childnode> <childnode refid="13993" relation="usage"> <edgelabel>d_output</edgelabel> </childnode> </node> <node id="13998"> <label>std::vector< gr_complex ></label> <link refid="classstd_1_1vector"/> <childnode refid="13996" relation="usage"> <edgelabel>p</edgelabel> <edgelabel>elements</edgelabel> </childnode> </node> <node id="13983"> <label>boost::shared_ptr< gr_io_signature ></label> <link refid="classboost_1_1shared__ptr"/> <childnode refid="13984" relation="usage"> <edgelabel>px</edgelabel> </childnode> </node> <node id="13987"> <label>std::basic_string< char ></label> </node> <node id="13990"> <label>std::vector< gr_buffer_reader_sptr ></label> </node> <node id="13982"> <label>gruel::msg_accepter</label> <link refid="classgruel_1_1msg__accepter"/> </node> <node id="13996"> <label>std::complex</label> </node> <node id="13991"> <label>gr_tpb_detail</label> <link refid="structgr__tpb__detail"/> <childnode refid="13992" relation="usage"> <edgelabel>msg_queue</edgelabel> </childnode> </node> <node id="13993"> <label>std::vector< gr_buffer_sptr ></label> <childnode refid="13994" relation="usage"> <edgelabel>p</edgelabel> <edgelabel>elements</edgelabel> </childnode> </node> <node id="13984"> <label>gr_io_signature</label> <link refid="classgr__io__signature"/> <childnode refid="13985" relation="usage"> <edgelabel>d_sizeof_stream_item</edgelabel> </childnode> </node> <node id="13980"> <label>gr_basic_block</label> <link refid="classgr__basic__block"/> <childnode refid="13981" relation="public-inheritance"> </childnode> <childnode refid="13983" relation="usage"> <edgelabel>d_input_signature</edgelabel> <edgelabel>d_output_signature</edgelabel> </childnode> <childnode refid="13986" relation="usage"> <edgelabel>d_name</edgelabel> </childnode> </node> <node id="13985"> <label>std::vector< int ></label> <link refid="classstd_1_1vector"/> </node> <node id="13986"> <label>std::string</label> <childnode refid="13987" relation="public-inheritance"> </childnode> </node> </collaborationgraph> <location file="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" line="58" bodyfile="/home/mandrake/rpm/BUILD/gnuradio-3.3.0/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.h" bodystart="57" bodyend="113"/> <listofallmembers> <member refid="classgr__basic__block_1a2503eb6922db0bf2a442dcd2d14670c9" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>basic_block</name></member> <member refid="classgr__basic__block_1a5c90b7c003ddd61f8df6bef2aceeab3da0abd1c82699481ffa502e5bb8d7bdaec" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>BLACK</name></member> <member refid="classgr__ofdm__frame__acquisition_1a10a87df41fb9f9879a83fd83fbcc48b5" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>calculate_equalizer</name></member> <member refid="classgr__basic__block_1a50a714df9c3ce8c03854a09ac84e589b" prot="public" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>check_topology</name></member> <member refid="classgr__ofdm__frame__acquisition_1adf1f77219f29de909ed7d00ceccacef7" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>coarse_freq_comp</name></member> <member refid="classgr__basic__block_1a1cedb1704b6c00977c681b378ede384c" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>color</name></member> <member refid="classgr__block_1ac76b4c53af762a819bca003d5b5cb4d1" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>consume</name></member> <member refid="classgr__block_1a64e9a2096975841b72ff3c1662d27df9" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>consume_each</name></member> <member refid="classgr__ofdm__frame__acquisition_1ad16324d0c9b9621e03a8d82ce0e53973" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>correlate</name></member> <member refid="classgr__ofdm__frame__acquisition_1a84a2ee58275ff5fe47bb4e2c9e1dfd21" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_coarse_freq</name></member> <member refid="classgr__basic__block_1a7fb7e692e3b98a82410b396ef263bb41" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_color</name></member> <member refid="classgr__ofdm__frame__acquisition_1ade24741688e4945d5a1d26b305ae7b07" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_cplen</name></member> <member refid="classgr__ofdm__frame__acquisition_1afab2b089c84eb006d9008a381a703ecf" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_fft_length</name></member> <member refid="classgr__ofdm__frame__acquisition_1ae03ffbee798a7d9864ee5738590f7f39" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_freq_shift_len</name></member> <member refid="classgr__ofdm__frame__acquisition_1a666e819f65590f588a6c092bc28108b1" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_hestimate</name></member> <member refid="classgr__basic__block_1a2c8da0c28bbbfb0e759278c9b9459e96" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_input_signature</name></member> <member refid="classgr__ofdm__frame__acquisition_1a1128327693ee0733e691d9cebba90fe1" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_known_phase_diff</name></member> <member refid="classgr__ofdm__frame__acquisition_1ac9ad1789b5c2fc1477a1fa68251c7d2d" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_known_symbol</name></member> <member refid="classgr__basic__block_1afd352cc073ef28012d4d079a863f5401" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_name</name></member> <member refid="classgr__ofdm__frame__acquisition_1a2923b608ad7d097ca5d57221ce07c3a6" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_occupied_carriers</name></member> <member refid="classgr__basic__block_1a76d64ed7a79566e3310306ae6f194d75" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_output_signature</name></member> <member refid="classgr__ofdm__frame__acquisition_1add01c9c87557a31905b59691a9988b16" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_phase_count</name></member> <member refid="classgr__ofdm__frame__acquisition_1acfc49c475ca51677fb011dcb910b1d2a" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_phase_lut</name></member> <member refid="classgr__ofdm__frame__acquisition_1a6de879e7c3f90a9e1b4a906da13b79a7" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_snr_est</name></member> <member refid="classgr__ofdm__frame__acquisition_1a7be7b60620b8380a9133c1357523bdb2" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_symbol_phase_diff</name></member> <member refid="classgr__basic__block_1a0d2999c04f47327f93dd7def5dc704f8" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>d_unique_id</name></member> <member refid="classgr__block_1afb276858409ac55d62fca1c87d7d4083" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>detail</name></member> <member refid="classgr__block_1ab4eeb29440f674815ab3b44b4fb0c34d" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>fixed_rate</name></member> <member refid="classgr__block_1a4f17bec4407904b31d45f0d8e78c4683" prot="public" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>fixed_rate_ninput_to_noutput</name></member> <member refid="classgr__block_1a196ae6a4f9a3d0abed3428d2b765a133" prot="public" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>fixed_rate_noutput_to_ninput</name></member> <member refid="classgr__ofdm__frame__acquisition_1ab5c4296007f42a4076e597aab9a4f45b" prot="private" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>forecast</name></member> <member refid="classgr__ofdm__frame__acquisition_1ac9e7650efc73d2febe2e90a5e1a9fd3f" prot="public" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>general_work</name></member> <member refid="classgr__basic__block_1a1183eee484f58953a2fed4c792e46245" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>gr_basic_block</name></member> <member refid="classgr__block_1a268510acce1f94c0a60c5273f4948641" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>gr_block</name></member> <member refid="classgr__basic__block_1a69b41e361328cea911d69e1ec0bc50ff" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>gr_flat_flowgraph</name></member> <member refid="classgr__basic__block_1adf5bf4523d6dd698aa770e3da8f2b30d" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>gr_flowgraph</name></member> <member refid="classgr__ofdm__frame__acquisition_1a7ef32b562ebffaa6114381c03ae05c9b" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>gr_make_ofdm_frame_acquisition</name></member> <member refid="classgr__msg__accepter_1a0482adcd6e89d2a441c8768737b68c21" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>gr_msg_accepter</name></member> <member refid="classgr__ofdm__frame__acquisition_1a1b7330d70565b77df6304d73a247fcfc" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>gr_ofdm_frame_acquisition</name></member> <member refid="classgr__basic__block_1a5c90b7c003ddd61f8df6bef2aceeab3daa6cce7ec34a3f9cf917e545a743dc89f" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>GREY</name></member> <member refid="classgr__basic__block_1ac585af921ed3f3f38c97aa54bff17dde" prot="public" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>handle_msg</name></member> <member refid="classgr__block_1ad3b305a663f4b5b5c4e17070d00f05d9" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>history</name></member> <member refid="classgr__basic__block_1a58f6d05e85931200f3771d3e50741281" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>input_signature</name></member> <member refid="classgruel_1_1msg__accepter_1a501f4d98d2f933c64d00a766f26b0280" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>msg_accepter</name></member> <member refid="classgr__basic__block_1aa12a20d8b8eab341da935530d29299d2" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>name</name></member> <member refid="classgr__block_1ade8590e9cba9ccfe1b870be46b1416c2" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>output_multiple</name></member> <member refid="classgr__basic__block_1add68b96f012dfe352700b4fd1c3a184a" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>output_signature</name></member> <member refid="classgr__msg__accepter_1a18aa82b4055d3908a4a7d71b05009d8d" prot="public" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>post</name></member> <member refid="classgr__block_1a7617c4eac84059b96d1a4da40c6d542c" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>produce</name></member> <member refid="classgr__block_1aa9df8c4d3fb92bde98900831546f8b97" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>relative_rate</name></member> <member refid="classgr__basic__block_1a0821ef947158670d53bf0739f3c8877b" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>set_color</name></member> <member refid="classgr__block_1a26b61f2c2ca308c3bde82f01d3e9650b" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>set_detail</name></member> <member refid="classgr__block_1a176a95343488a9a760c8edf8bb08db20" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>set_fixed_rate</name></member> <member refid="classgr__block_1a7c1c85a2d47f72255efd821a6f98f7ba" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>set_history</name></member> <member refid="classgr__basic__block_1a419d0fbba0ca02d822cbc299b979de54" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>set_input_signature</name></member> <member refid="classgr__block_1a14e8b799f920e52afb93fac413b1a729" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>set_output_multiple</name></member> <member refid="classgr__basic__block_1a949b6ad69ebfdf423835265db99cf63d" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>set_output_signature</name></member> <member refid="classgr__block_1ab9dc7e6d30692bbfa65fc7c4eef6fc9d" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>set_relative_rate</name></member> <member refid="classgr__ofdm__frame__acquisition_1af16ef331d261f99cf74c53f666c0e5eb" prot="private" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>slicer</name></member> <member refid="classgr__ofdm__frame__acquisition_1a50418e0fba566a0c8fdb24bdba52688e" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>snr</name></member> <member refid="classgr__block_1a49ea94a86f3199f23563bb837633ea1f" prot="public" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>start</name></member> <member refid="classgr__block_1a53c2c89c037e4e393b75414d605e36b1" prot="public" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>stop</name></member> <member refid="classgr__basic__block_1aa2a2947744d418c5470fbf4e623b58fe" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>unique_id</name></member> <member refid="classgr__basic__block_1a5c90b7c003ddd61f8df6bef2aceeab3d" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>vcolor</name></member> <member refid="classgr__basic__block_1a5c90b7c003ddd61f8df6bef2aceeab3da476d594a077e729bad0f2cfa2008c899" prot="protected" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>WHITE</name></member> <member refid="classgr__block_1af026aa236701757fd5f71129daad883ca248a1e0554813ce26007ff5ec1530392" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>WORK_CALLED_PRODUCE</name></member> <member refid="classgr__block_1af026aa236701757fd5f71129daad883ca221c2211857dcee81fb2bbb97fe6b223" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>WORK_DONE</name></member> <member refid="classgr__basic__block_1a5bc14d27d53b7b57a960a47cc255e3f9" prot="public" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>~gr_basic_block</name></member> <member refid="classgr__block_1a19133eeffa5f8e6743342f375551ad0c" prot="public" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>~gr_block</name></member> <member refid="classgr__msg__accepter_1ad2ee9c687b775b08ce0e27e913ed8a7d" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>~gr_msg_accepter</name></member> <member refid="classgr__ofdm__frame__acquisition_1ab46c54b18587dcbcd43803a0cc8c5cef" prot="public" virt="non-virtual"><scope>gr_ofdm_frame_acquisition</scope><name>~gr_ofdm_frame_acquisition</name></member> <member refid="classgruel_1_1msg__accepter_1a043f8b7de22a127df5dd9b3dfe76e2da" prot="public" virt="virtual"><scope>gr_ofdm_frame_acquisition</scope><name>~msg_accepter</name></member> </listofallmembers> </compounddef> </doxygen>