diff options
author | Tom Rondeau <trondeau@vt.edu> | 2013-04-03 19:33:32 -0400 |
---|---|---|
committer | Tom Rondeau <trondeau@vt.edu> | 2013-04-04 10:38:29 -0400 |
commit | d44322fd03661c1eb6e45e3e364e81bb5131239b (patch) | |
tree | 17c068dc4081f9bbdeaeb046ca20ee53794b2e27 /gr-digital | |
parent | 9ce3e6b3f658b9273f048e1a3580be65dc08bef1 (diff) |
docs: updating Doxygen categories for all blocks.
Block categories in Doxygen now match where they are in GRC's category tree.
Diffstat (limited to 'gr-digital')
51 files changed, 187 insertions, 174 deletions
diff --git a/gr-digital/doc/digital.dox b/gr-digital/doc/digital.dox index 110dcb677e..2809c6a943 100644 --- a/gr-digital/doc/digital.dox +++ b/gr-digital/doc/digital.dox @@ -11,7 +11,7 @@ imported as: \endcode See the Doxygen documentation for details about the blocks available -in this package. The relevant blocks are listed in the \ref digital group. +in this package. A quick listing of the details can be found in Python after importing by using: diff --git a/gr-digital/include/digital/header_payload_demux.h b/gr-digital/include/digital/header_payload_demux.h index 014e0304a2..1427062d77 100644 --- a/gr-digital/include/digital/header_payload_demux.h +++ b/gr-digital/include/digital/header_payload_demux.h @@ -30,8 +30,9 @@ namespace gr { /*! * \brief Header/Payload demuxer. - * \ingroup digital + * \ingroup packet_operators_blk * + * \details * This block is designed to handle packets from a bursty transmission. * Input 0 takes a continuous transmission of samples. * If used, input 1 is a trigger signal. In this case, a 1 on input 1 diff --git a/gr-digital/include/digital/ofdm_frame_equalizer_vcvc.h b/gr-digital/include/digital/ofdm_frame_equalizer_vcvc.h index 321c58473d..21a976071d 100644 --- a/gr-digital/include/digital/ofdm_frame_equalizer_vcvc.h +++ b/gr-digital/include/digital/ofdm_frame_equalizer_vcvc.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief OFDM frame equalizer - * \ingroup ofdm + * \ingroup ofdm_blk * * Performs equalization in one or two dimensions on a tagged OFDM frame. * Input: a tagged series of OFDM symbols. diff --git a/gr-digital/include/digital/packet_header_default.h b/gr-digital/include/digital/packet_header_default.h index d69a0f30a6..793eeb70ee 100644 --- a/gr-digital/include/digital/packet_header_default.h +++ b/gr-digital/include/digital/packet_header_default.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief Default header formatter for digital packet transmission. - * \ingroup digital + * \ingroup packet_operators_blk * + * \details * For bursty/packetized digital transmission, packets are usually prepended * with a packet header, containing the number of bytes etc. * This class is not a block, but a tool to create these packet header. diff --git a/gr-digital/include/digital/packet_headergenerator_bb.h b/gr-digital/include/digital/packet_headergenerator_bb.h index cec860fd55..426f49dee5 100644 --- a/gr-digital/include/digital/packet_headergenerator_bb.h +++ b/gr-digital/include/digital/packet_headergenerator_bb.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief Generates a header for a tagged, streamed packet. - * \ingroup digital + * \ingroup packet_operators_blk * + * \details * Input: A tagged stream. This is consumed entirely, it is not appended * to the output stream. * Output: An tagged stream containing the header. The details on the header diff --git a/gr-digital/include/digital/packet_headerparser_b.h b/gr-digital/include/digital/packet_headerparser_b.h index 2dc6a80717..cdf76f1209 100644 --- a/gr-digital/include/digital/packet_headerparser_b.h +++ b/gr-digital/include/digital/packet_headerparser_b.h @@ -31,12 +31,14 @@ namespace gr { /*! * \brief Post header metadata as a PMT - * \ingroup digital + * \ingroup packet_operators_blk * + * \details * In a sense, this is the inverse block to packet_headergenerator_bb. * The difference is, the parsed header is not output as a stream, * but as a PMT dictionary, which is published to message port with * the id "header_data". + * * The dictionary consists of the tags created by the header formatter * object. You should be able to use the exact same formatter object * as used on the Tx side in the packet_headergenerator_bb. diff --git a/gr-digital/include/digital_additive_scrambler_bb.h b/gr-digital/include/digital_additive_scrambler_bb.h index f1d0113e96..cb87e059b9 100644 --- a/gr-digital/include/digital_additive_scrambler_bb.h +++ b/gr-digital/include/digital_additive_scrambler_bb.h @@ -34,23 +34,16 @@ digital_make_additive_scrambler_bb(int mask, int seed, int len, int count=0); /*! + * \ingroup coding_blk * Scramble an input stream using an LFSR. This block works on the LSB only * of the input data stream, i.e., on an "unpacked binary" stream, and * produces the same format on its output. * - * \param mask Polynomial mask for LFSR - * \param seed Initial shift register contents - * \param len Shift register length - * \param count Number of bits after which shift register is reset, 0=never - * * The scrambler works by XORing the incoming bit stream by the output of * the LFSR. Optionally, after 'count' bits have been processed, the shift * register is reset to the seed value. This allows processing fixed length * vectors of samples. - * - * \ingroup coding_blk */ - class DIGITAL_API digital_additive_scrambler_bb : public gr_sync_block { friend DIGITAL_API digital_additive_scrambler_bb_sptr @@ -61,6 +54,14 @@ class DIGITAL_API digital_additive_scrambler_bb : public gr_sync_block int d_count; int d_bits; + /*! + * Build an additive scrambler block. + * + * \param mask Polynomial mask for LFSR + * \param seed Initial shift register contents + * \param len Shift register length + * \param count Number of bits after which shift register is reset, 0=never + */ digital_additive_scrambler_bb(int mask, int seed, int len, int count); diff --git a/gr-digital/include/digital_binary_slicer_fb.h b/gr-digital/include/digital_binary_slicer_fb.h index 35a7380fb9..914c7a195d 100644 --- a/gr-digital/include/digital_binary_slicer_fb.h +++ b/gr-digital/include/digital_binary_slicer_fb.h @@ -33,9 +33,9 @@ DIGITAL_API digital_binary_slicer_fb_sptr digital_make_binary_slicer_fb (); /*! * \brief slice float binary symbol outputting 1 bit output - * \ingroup converter_blk - * \ingroup digital + * \ingroup symbol_coding_blk * + * \details * x < 0 --> 0 * x >= 0 --> 1 */ diff --git a/gr-digital/include/digital_bytes_to_syms.h b/gr-digital/include/digital_bytes_to_syms.h index 3062366b95..7b4b4412d0 100644 --- a/gr-digital/include/digital_bytes_to_syms.h +++ b/gr-digital/include/digital_bytes_to_syms.h @@ -32,8 +32,9 @@ DIGITAL_API digital_bytes_to_syms_sptr digital_make_bytes_to_syms(); /*! * \brief Convert stream of bytes to stream of +/- 1 symbols - * \ingroup converter_blk + * \ingroup symbol_coding_blk * + * \details * input: stream of bytes; output: stream of float * * This block is deprecated. diff --git a/gr-digital/include/digital_chunks_to_symbols_XX.h.t b/gr-digital/include/digital_chunks_to_symbols_XX.h.t index 92b7c94d58..dbcd05967a 100644 --- a/gr-digital/include/digital_chunks_to_symbols_XX.h.t +++ b/gr-digital/include/digital_chunks_to_symbols_XX.h.t @@ -36,8 +36,9 @@ digital_make_@BASE_NAME@ (const std::vector<@O_TYPE@> &symbol_table, const int D /*! * \brief Map a stream of symbol indexes (unpacked bytes or shorts) to stream of float or complex constellation points in D dimensions (D = 1 by default) - * \ingroup converter_blk + * \ingroup symbol_coding_blk * + * \details * input: stream of @I_TYPE@; output: stream of @O_TYPE@ * * out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1 diff --git a/gr-digital/include/digital_clock_recovery_mm_cc.h b/gr-digital/include/digital_clock_recovery_mm_cc.h index a2577d5378..b5c125d24e 100644 --- a/gr-digital/include/digital_clock_recovery_mm_cc.h +++ b/gr-digital/include/digital_clock_recovery_mm_cc.h @@ -41,9 +41,9 @@ digital_make_clock_recovery_mm_cc (float omega, float gain_omega, /*! * \brief Mueller and Müller (M&M) based clock recovery block with complex input, complex output. - * \ingroup sync_blk - * \ingroup digital + * \ingroup synchronizers_blk * + * \details * This implements the Mueller and Müller (M&M) discrete-time * error-tracking synchronizer. * diff --git a/gr-digital/include/digital_clock_recovery_mm_ff.h b/gr-digital/include/digital_clock_recovery_mm_ff.h index 36749553fb..bec570be85 100644 --- a/gr-digital/include/digital_clock_recovery_mm_ff.h +++ b/gr-digital/include/digital_clock_recovery_mm_ff.h @@ -41,9 +41,9 @@ digital_make_clock_recovery_mm_ff (float omega, float gain_omega, /*! * \brief Mueller and Müller (M&M) based clock recovery block with float input, float output. - * \ingroup sync_blk - * \ingroup digital + * \ingroup synchronizers_blk * + * \details * This implements the Mueller and Müller (M&M) discrete-time error-tracking synchronizer. * * See "Digital Communication Receivers: Synchronization, Channel diff --git a/gr-digital/include/digital_cma_equalizer_cc.h b/gr-digital/include/digital_cma_equalizer_cc.h index 79e84ca4b3..606f13f9a0 100644 --- a/gr-digital/include/digital_cma_equalizer_cc.h +++ b/gr-digital/include/digital_cma_equalizer_cc.h @@ -36,9 +36,9 @@ digital_make_cma_equalizer_cc(int num_taps, float modulus, float mu, int sps); /*! * \brief Implements constant modulus adaptive filter on complex stream - * \ingroup eq_blk - * \ingroup digital + * \ingroup equalizers_blk * + * \details * The error value and tap update equations (for p=2) can be found in: * * "D. Godard, "Self-Recovering Equalization and Carrier Tracking in diff --git a/gr-digital/include/digital_constellation_decoder_cb.h b/gr-digital/include/digital_constellation_decoder_cb.h index cce3a564f3..2f85cc5a0e 100644 --- a/gr-digital/include/digital_constellation_decoder_cb.h +++ b/gr-digital/include/digital_constellation_decoder_cb.h @@ -36,9 +36,7 @@ digital_make_constellation_decoder_cb (digital_constellation_sptr constellation) /*! * \brief Constellation Decoder - * \ingroup coding_blk - * \ingroup digital - * + * \ingroup symbol_coding_blk */ class DIGITAL_API digital_constellation_decoder_cb : public gr_block { diff --git a/gr-digital/include/digital_constellation_receiver_cb.h b/gr-digital/include/digital_constellation_receiver_cb.h index 92c31311f7..264e009515 100644 --- a/gr-digital/include/digital_constellation_receiver_cb.h +++ b/gr-digital/include/digital_constellation_receiver_cb.h @@ -42,10 +42,10 @@ digital_make_constellation_receiver_cb (digital_constellation_sptr constellation /*! * \brief This block does fine-phase and frequency locking and decision making. - * \ingroup sync_blk - * \ingroup demod_blk - * \ingroup digital + * \ingroup symbol_coding_blk + * \ingroup modulators_blk * + * \details * The phase and frequency synchronization are based on a Costas loop * that finds the error of the incoming signal point compared to its * nearest constellation point. The frequency and phase of the NCO are diff --git a/gr-digital/include/digital_correlate_access_code_bb.h b/gr-digital/include/digital_correlate_access_code_bb.h index 8095dd4090..0a7ca50a17 100644 --- a/gr-digital/include/digital_correlate_access_code_bb.h +++ b/gr-digital/include/digital_correlate_access_code_bb.h @@ -39,9 +39,10 @@ digital_make_correlate_access_code_bb (const std::string &access_code, int thres /*! * \brief Examine input for specified access code, one bit at a time. - * \ingroup sync_blk - * \ingroup digital + * \ingroup packet_operators_blk + * \ingroup deprecated_blk * + * \details * input: stream of bits, 1 bit per input byte (data in LSB) * output: stream of bits, 2 bits per output byte (data in LSB, flag in next higher bit) * diff --git a/gr-digital/include/digital_costas_loop_cc.h b/gr-digital/include/digital_costas_loop_cc.h index 4aab22fb45..67cfd6d5a5 100644 --- a/gr-digital/include/digital_costas_loop_cc.h +++ b/gr-digital/include/digital_costas_loop_cc.h @@ -28,13 +28,21 @@ #include <gri_control_loop.h> #include <stdexcept> #include <fstream> +#include <digital_api.h> + +class digital_costas_loop_cc; +typedef boost::shared_ptr<digital_costas_loop_cc> digital_costas_loop_cc_sptr; + +DIGITAL_API digital_costas_loop_cc_sptr +digital_make_costas_loop_cc (float loop_bw, int order + ) throw (std::invalid_argument); /*! * \brief A Costas loop carrier recovery module. - * \ingroup sync_blk - * \ingroup digital + * \ingroup synchronizers_blk * + * \details * The Costas loop locks to the center frequency of a signal and * downconverts it to baseband. The second (order=2) order loop is * used for BPSK where the real part of the output signal is the @@ -49,31 +57,6 @@ * processing, pp. 20-36, 2002. * * http://rfdesign.com/images/archive/0102Feigin20.pdf - * - * \param loop_bw internal 2nd order loop bandwidth (~ 2pi/100) - * \param order the loop order, either 2, 4, or 8 - */ - -#include <digital_api.h> - -class digital_costas_loop_cc; -typedef boost::shared_ptr<digital_costas_loop_cc> digital_costas_loop_cc_sptr; - - -DIGITAL_API digital_costas_loop_cc_sptr -digital_make_costas_loop_cc (float loop_bw, int order - ) throw (std::invalid_argument); - - -/*! - * \brief Carrier tracking PLL for QPSK - * \ingroup sync_blk - * input: complex; output: complex - * <br>The Costas loop can have two output streams: - * stream 1 is the baseband I and Q; - * stream 2 is the normalized frequency of the loop - * - * \p order must be 2, 4, or 8. */ class DIGITAL_API digital_costas_loop_cc : public gr_sync_block, public gri_control_loop { @@ -83,6 +66,16 @@ class DIGITAL_API digital_costas_loop_cc : public gr_sync_block, public gri_cont int d_order; + /*! + * \brief Carrier tracking PLL for QPSK + * input: complex; output: complex + * <br>The Costas loop can have two output streams: + * stream 1 is the baseband I and Q; + * stream 2 is the normalized frequency of the loop + * + * \param loop_bw internal 2nd order loop bandwidth (~ 2pi/100) + * \param order the loop order, either 2, 4, or 8 + */ digital_costas_loop_cc (float loop_bw, int order ) throw (std::invalid_argument); diff --git a/gr-digital/include/digital_cpmmod_bc.h b/gr-digital/include/digital_cpmmod_bc.h index f0f11ee30e..acc304b9c9 100644 --- a/gr-digital/include/digital_cpmmod_bc.h +++ b/gr-digital/include/digital_cpmmod_bc.h @@ -42,25 +42,9 @@ digital_make_cpmmod_bc(int type, float h, /*! * \brief Generic CPM modulator + * \ingroup modulators_blk * - * \ingroup modulation_blk - * \ingroup digital - * - * \param type The modulation type. Can be one of LREC, LRC, LSRC, TFM - * or GAUSSIAN. See gr_cpm::phase_response() for a - * detailed description. - * \param h The modulation index. \f$ h \cdot \pi\f$ is the maximum - * phase change that can occur between two symbols, i.e., if - * you only send ones, the phase will increase by \f$ h \cdot - * \pi\f$ every \p samples_per_sym samples. Set this to 0.5 - * for Minimum Shift Keying variants. - * \param samples_per_sym Samples per symbol. - * \param L The length of the phase duration in symbols. For L=1, this - * yields full- response CPM symbols, for L > 1, - * partial-response. - * \param beta For LSRC, this is the rolloff factor. For Gaussian - * pulses, this is the 3 dB time-bandwidth product. - * + * \details * Examples: * - Setting h = 0.5, L = 1, type = LREC yields MSK. * - Setting h = 0.5, type = GAUSSIAN and beta = 0.3 yields GMSK @@ -85,6 +69,24 @@ class DIGITAL_API digital_cpmmod_bc : public gr_hier_block2 gr_frequency_modulator_fc_sptr d_fm; protected: + /*! + * Build a generic CPM modulator block. + * + * \param type The modulation type. Can be one of LREC, LRC, LSRC, TFM + * or GAUSSIAN. See gr_cpm::phase_response() for a + * detailed description. + * \param h The modulation index. \f$ h \cdot \pi\f$ is the maximum + * phase change that can occur between two symbols, i.e., if + * you only send ones, the phase will increase by \f$ h \cdot + * \pi\f$ every \p samples_per_sym samples. Set this to 0.5 + * for Minimum Shift Keying variants. + * \param samples_per_sym Samples per symbol. + * \param L The length of the phase duration in symbols. For L=1, this + * yields full- response CPM symbols, for L > 1, + * partial-response. + * \param beta For LSRC, this is the rolloff factor. For Gaussian + * pulses, this is the 3 dB time-bandwidth product. + */ digital_cpmmod_bc(gr_cpm::cpm_type type, float h, unsigned samples_per_sym, unsigned L, double beta); diff --git a/gr-digital/include/digital_crc32_bb.h b/gr-digital/include/digital_crc32_bb.h index 1f4771e861..0aae26fad6 100644 --- a/gr-digital/include/digital_crc32_bb.h +++ b/gr-digital/include/digital_crc32_bb.h @@ -34,8 +34,9 @@ DIGITAL_API digital_crc32_bb_sptr digital_make_crc32_bb (bool check=false, const /*! * \brief Byte-stream CRC block - * \ingroup digital + * \ingroup packet_operators_blk * + * \details * Input: stream of bytes, which form a packet. The first byte of the packet * has a tag with key "length" and the value being the number of bytes in the * packet. diff --git a/gr-digital/include/digital_descrambler_bb.h b/gr-digital/include/digital_descrambler_bb.h index d503102a9e..112d9afb32 100644 --- a/gr-digital/include/digital_descrambler_bb.h +++ b/gr-digital/include/digital_descrambler_bb.h @@ -33,17 +33,11 @@ DIGITAL_API digital_descrambler_bb_sptr digital_make_descrambler_bb(int mask, int seed, int len); /*! + * \ingroup coding_blk * Descramble an input stream using an LFSR. This block works on the LSB only * of the input data stream, i.e., on an "unpacked binary" stream, and * produces the same format on its output. - * - * \param mask Polynomial mask for LFSR - * \param seed Initial shift register contents - * \param len Shift register length - * - * \ingroup coding_blk */ - class DIGITAL_API digital_descrambler_bb : public gr_sync_block { friend DIGITAL_API digital_descrambler_bb_sptr @@ -51,6 +45,13 @@ class DIGITAL_API digital_descrambler_bb : public gr_sync_block gr::analog::lfsr d_lfsr; + /*! + * Build a descrambler block. + * + * \param mask Polynomial mask for LFSR + * \param seed Initial shift register contents + * \param len Shift register length + */ digital_descrambler_bb(int mask, int seed, int len); public: diff --git a/gr-digital/include/digital_diff_decoder_bb.h b/gr-digital/include/digital_diff_decoder_bb.h index 928035d0e7..25e5a3fec4 100644 --- a/gr-digital/include/digital_diff_decoder_bb.h +++ b/gr-digital/include/digital_diff_decoder_bb.h @@ -34,8 +34,9 @@ digital_make_diff_decoder_bb(unsigned int modulus); /*! * \brief y[0] = (x[0] - x[-1]) % M - * \ingroup coding_blk + * \ingroup symbol_coding_blk * + * \details * Uses current and previous symbols and the alphabet modulus to * perform differential decoding. */ diff --git a/gr-digital/include/digital_diff_encoder_bb.h b/gr-digital/include/digital_diff_encoder_bb.h index d4be69cadd..4f7d6f0bed 100644 --- a/gr-digital/include/digital_diff_encoder_bb.h +++ b/gr-digital/include/digital_diff_encoder_bb.h @@ -34,8 +34,9 @@ digital_make_diff_encoder_bb(unsigned int modulus); /*! * \brief y[0] = (x[0] + y[-1]) % M - * \ingroup coding_blk + * \ingroup symbol_coding_blk * + * \details * Uses current and previous symbols and the alphabet modulus to * perform differential encoding. */ diff --git a/gr-digital/include/digital_diff_phasor_cc.h b/gr-digital/include/digital_diff_phasor_cc.h index 32a2464b28..f35867fa14 100644 --- a/gr-digital/include/digital_diff_phasor_cc.h +++ b/gr-digital/include/digital_diff_phasor_cc.h @@ -26,21 +26,21 @@ #include <digital_api.h> #include <gr_sync_block.h> +class digital_diff_phasor_cc; +typedef boost::shared_ptr<digital_diff_phasor_cc> digital_diff_phasor_cc_sptr; + +DIGITAL_API digital_diff_phasor_cc_sptr digital_make_diff_phasor_cc(); + /*! * \brief Differential decoding based on phase change. - * \ingroup coding_blk + * \ingroup symbol_coding_blk * + * \details * Uses the phase difference between two symbols to determine the * output symbol: * * out[i] = in[i] * conj(in[i-1]); */ -class digital_diff_phasor_cc; -typedef boost::shared_ptr<digital_diff_phasor_cc> digital_diff_phasor_cc_sptr; - -DIGITAL_API digital_diff_phasor_cc_sptr digital_make_diff_phasor_cc(); - - class DIGITAL_API digital_diff_phasor_cc : public gr_sync_block { friend DIGITAL_API digital_diff_phasor_cc_sptr diff --git a/gr-digital/include/digital_fll_band_edge_cc.h b/gr-digital/include/digital_fll_band_edge_cc.h index 68083bbaeb..906c004813 100644 --- a/gr-digital/include/digital_fll_band_edge_cc.h +++ b/gr-digital/include/digital_fll_band_edge_cc.h @@ -44,10 +44,9 @@ digital_make_fll_band_edge_cc(float samps_per_sym, /*! * \class digital_fll_band_edge_cc * \brief Frequency Lock Loop using band-edge filters + * \ingroup synchronizers_blk * - * \ingroup general - * \ingroup digital - * + * \details * The frequency lock loop derives a band-edge filter that covers the * upper and lower bandwidths of a digitally-modulated signal. The * bandwidth range is determined by the excess bandwidth (e.g., diff --git a/gr-digital/include/digital_framer_sink_1.h b/gr-digital/include/digital_framer_sink_1.h index bb82bf5a73..6edf1a66a5 100644 --- a/gr-digital/include/digital_framer_sink_1.h +++ b/gr-digital/include/digital_framer_sink_1.h @@ -35,8 +35,9 @@ digital_make_framer_sink_1(gr_msg_queue_sptr target_queue); /*! * \brief Given a stream of bits and access_code flags, assemble packets. - * \ingroup sink_blk + * \ingroup packet_operators_blk * + * \details * input: stream of bytes from gr_correlate_access_code_bb * output: none. Pushes assembled packet into target queue * diff --git a/gr-digital/include/digital_glfsr_source_b.h b/gr-digital/include/digital_glfsr_source_b.h index 92e5e81f5c..29d6040d14 100644 --- a/gr-digital/include/digital_glfsr_source_b.h +++ b/gr-digital/include/digital_glfsr_source_b.h @@ -38,14 +38,6 @@ digital_make_glfsr_source_b(int degree, bool repeat=true, /*! * \brief Galois LFSR pseudo-random source * \ingroup source_blk - * - * \param degree Degree of shift register must be in [1, 32]. If mask - * is 0, the degree determines a default mask (see - * digital_impl_glfsr.cc for the mapping). - * \param repeat Set to repeat sequence. - * \param mask Allows a user-defined bit mask for indexes of the shift - * register to feed back. - * \param seed Initial setting for values in shift register. */ class DIGITAL_API digital_glfsr_source_b : public gr_sync_block { @@ -60,6 +52,17 @@ class DIGITAL_API digital_glfsr_source_b : public gr_sync_block unsigned int d_index; unsigned int d_length; + /*! + * Build a Galois LFSR pseudo-random source generating block. + * + * \param degree Degree of shift register must be in [1, 32]. If mask + * is 0, the degree determines a default mask (see + * digital_impl_glfsr.cc for the mapping). + * \param repeat Set to repeat sequence. + * \param mask Allows a user-defined bit mask for indexes of the shift + * register to feed back. + * \param seed Initial setting for values in shift register. + */ digital_glfsr_source_b(int degree, bool repeat, int mask, int seed); diff --git a/gr-digital/include/digital_glfsr_source_f.h b/gr-digital/include/digital_glfsr_source_f.h index 77d7b0f741..eb5e9554b3 100644 --- a/gr-digital/include/digital_glfsr_source_f.h +++ b/gr-digital/include/digital_glfsr_source_f.h @@ -37,15 +37,7 @@ digital_make_glfsr_source_f(int degree, bool repeat=true, /*! * \brief Galois LFSR pseudo-random source generating float outputs -1.0 - 1.0. - * \ingroup source_blk - * - * \param degree Degree of shift register must be in [1, 32]. If mask - * is 0, the degree determines a default mask (see - * digital_impl_glfsr.cc for the mapping). - * \param repeat Set to repeat sequence. - * \param mask Allows a user-defined bit mask for indexes of the shift - * register to feed back. - * \param seed Initial setting for values in shift register. + * \ingroup waveform_generators_blk */ class DIGITAL_API digital_glfsr_source_f : public gr_sync_block { @@ -60,6 +52,17 @@ class DIGITAL_API digital_glfsr_source_f : public gr_sync_block unsigned int d_index; unsigned int d_length; + /*! + * Build a Galois LFSR pseudo-random source generating block. + * + * \param degree Degree of shift register must be in [1, 32]. If mask + * is 0, the degree determines a default mask (see + * digital_impl_glfsr.cc for the mapping). + * \param repeat Set to repeat sequence. + * \param mask Allows a user-defined bit mask for indexes of the shift + * register to feed back. + * \param seed Initial setting for values in shift register. + */ digital_glfsr_source_f(int degree, bool repeat, int mask, int seed); diff --git a/gr-digital/include/digital_gmskmod_bc.h b/gr-digital/include/digital_gmskmod_bc.h index 9f378c8a70..a13cb19aa7 100644 --- a/gr-digital/include/digital_gmskmod_bc.h +++ b/gr-digital/include/digital_gmskmod_bc.h @@ -36,15 +36,9 @@ digital_make_gmskmod_bc(unsigned samples_per_sym=2, /*! * \brief GMSK modulator + * \ingroup modulators_blk * - * \ingroup modulation_blk - * \ingroup digital - * - * \param samples_per_sym Samples per symbol. - * \param bt The 3 dB time-bandwidth product. - * \param L The length of the phase duration in symbols. The Gaussian - * pulse is truncated after L symbols. - * + * \details * The input of this block are symbols from an M-ary alphabet * +/-1, +/-3, ..., +/-(M-1). Usually, M = 2 and therefore, the * valid inputs are +/-1. @@ -55,6 +49,14 @@ class DIGITAL_API digital_gmskmod_bc : public digital_cpmmod_bc { friend DIGITAL_API digital_gmskmod_bc_sptr digital_make_gmskmod_bc(unsigned samples_per_sym, double bt, unsigned L); + /*! + * Build a GMSK modulator block. + * + * \param samples_per_sym Samples per symbol. + * \param bt The 3 dB time-bandwidth product. + * \param L The length of the phase duration in symbols. The Gaussian + * pulse is truncated after L symbols. + */ digital_gmskmod_bc(unsigned samples_per_sym, double bt, unsigned L); }; diff --git a/gr-digital/include/digital_kurtotic_equalizer_cc.h b/gr-digital/include/digital_kurtotic_equalizer_cc.h index fed88c3741..254f92db63 100644 --- a/gr-digital/include/digital_kurtotic_equalizer_cc.h +++ b/gr-digital/include/digital_kurtotic_equalizer_cc.h @@ -36,9 +36,9 @@ digital_make_kurtotic_equalizer_cc(int num_taps, float mu); /*! * \brief Implements a kurtosis-based adaptive equalizer on complex stream - * \ingroup eq_blk - * \ingroup digital + * \ingroup equalizers_blk * + * \details * "Y. Guo, J. Zhao, Y. Sun, "Sign kurtosis maximization based blind * equalization algorithm," IEEE Conf. on Control, Automation, * Robotics and Vision, Vol. 3, Dec. 2004, pp. 2052 - 2057." diff --git a/gr-digital/include/digital_lms_dd_equalizer_cc.h b/gr-digital/include/digital_lms_dd_equalizer_cc.h index 56871fa678..25918ffe19 100644 --- a/gr-digital/include/digital_lms_dd_equalizer_cc.h +++ b/gr-digital/include/digital_lms_dd_equalizer_cc.h @@ -36,9 +36,9 @@ DIGITAL_API digital_lms_dd_equalizer_cc_sptr digital_make_lms_dd_equalizer_cc (i /*! * \brief Least-Mean-Square Decision Directed Equalizer (complex in/out) - * \ingroup eq_blk - * \ingroup digital + * \ingroup equalizers_blk * + * \details * This block implements an LMS-based decision-directed equalizer. * It uses a set of weights, w, to correlate against the inputs, u, * and a decisions is then made from this output. The error diff --git a/gr-digital/include/digital_map_bb.h b/gr-digital/include/digital_map_bb.h index 4aca66fbe1..047cbceb8d 100644 --- a/gr-digital/include/digital_map_bb.h +++ b/gr-digital/include/digital_map_bb.h @@ -33,8 +33,9 @@ digital_make_map_bb(const std::vector<int> &map); /*! * \brief output[i] = map[input[i]] - * \ingroup coding_blk + * \ingroup symbol_coding_blk * + * \details * This block maps an incoming signal to the value in the map. * The block expects that the incoming signal has a maximum * value of len(map)-1. diff --git a/gr-digital/include/digital_mpsk_receiver_cc.h b/gr-digital/include/digital_mpsk_receiver_cc.h index 1f11a26b64..e883f3757a 100644 --- a/gr-digital/include/digital_mpsk_receiver_cc.h +++ b/gr-digital/include/digital_mpsk_receiver_cc.h @@ -46,10 +46,9 @@ digital_make_mpsk_receiver_cc (unsigned int M, float theta, /*! * \brief This block takes care of receiving M-PSK modulated signals * through phase, frequency, and symbol synchronization. - * \ingroup sync_blk - * \ingroup demod_blk - * \ingroup digital + * \ingroup synchronizers_blk * + * \details * This block takes care of receiving M-PSK modulated signals through * phase, frequency, and symbol synchronization. It performs carrier * frequency and phase locking as well as symbol timing recovery. It @@ -77,9 +76,7 @@ digital_make_mpsk_receiver_cc (unsigned int M, float theta, * optimized decision algorithms for BPSK and QPKS, but 8PSK uses * another brute force computation against all possible symbols. The * modifications to the M&M used here reduce self-noise. - * */ - class DIGITAL_API digital_mpsk_receiver_cc : public gr_block, public gri_control_loop { public: diff --git a/gr-digital/include/digital_mpsk_snr_est_cc.h b/gr-digital/include/digital_mpsk_snr_est_cc.h index 2cbd98bab8..5edba5c418 100644 --- a/gr-digital/include/digital_mpsk_snr_est_cc.h +++ b/gr-digital/include/digital_mpsk_snr_est_cc.h @@ -34,9 +34,10 @@ digital_make_mpsk_snr_est_cc(snr_est_type_t type, int tag_nsamples=10000, double alpha=0.001); -//! \brief A block for computing SNR of a signal. -/*! \ingroup snr_blk +/*! \brief A block for computing SNR of a signal. + * \ingroup measurement_tools_blk * + * \details * This block can be used to monitor and retrieve estimations of the * signal SNR. It is designed to work in a flowgraph and passes all * incoming data along to its output. diff --git a/gr-digital/include/digital_ofdm_chanest_vcvc.h b/gr-digital/include/digital_ofdm_chanest_vcvc.h index 74454a63b2..73516cd506 100644 --- a/gr-digital/include/digital_ofdm_chanest_vcvc.h +++ b/gr-digital/include/digital_ofdm_chanest_vcvc.h @@ -62,7 +62,7 @@ digital_make_ofdm_chanest_vcvc ( /*! * \brief Estimate channel and coarse frequency offset for OFDM from preambles * \ingroup ofdm_blk - * \ingroup sync_blk + * \ingroup syncronizers_blk * * Input: OFDM symbols (in frequency domain). The first one (or two) symbols are expected * to be synchronisation symbols, which are used to estimate the coarse freq offset diff --git a/gr-digital/include/digital_ofdm_equalizer_base.h b/gr-digital/include/digital_ofdm_equalizer_base.h index 178806a886..a8697835f2 100644 --- a/gr-digital/include/digital_ofdm_equalizer_base.h +++ b/gr-digital/include/digital_ofdm_equalizer_base.h @@ -35,7 +35,7 @@ typedef boost::shared_ptr<digital_ofdm_equalizer_1d_pilots> digital_ofdm_equaliz /* \brief Base class for implementation details of frequency-domain OFDM equalizers. * \ingroup ofdm_blk - * \ingroup eq_blk + * \ingroup equalizers_blk * */ class DIGITAL_API digital_ofdm_equalizer_base : public boost::enable_shared_from_this<digital_ofdm_equalizer_base> diff --git a/gr-digital/include/digital_ofdm_equalizer_simpledfe.h b/gr-digital/include/digital_ofdm_equalizer_simpledfe.h index 9fd6395904..b8dec4833e 100644 --- a/gr-digital/include/digital_ofdm_equalizer_simpledfe.h +++ b/gr-digital/include/digital_ofdm_equalizer_simpledfe.h @@ -67,7 +67,7 @@ digital_make_ofdm_equalizer_simpledfe( /* \brief Simple decision feedback equalizer for OFDM. * \ingroup ofdm_blk - * \ingroup eq_blk + * \ingroup equalizers_blk * * Equalizes an OFDM signal symbol by symbol using knowledge of the * complex modulations symbols. diff --git a/gr-digital/include/digital_ofdm_equalizer_static.h b/gr-digital/include/digital_ofdm_equalizer_static.h index 21f76fbc6a..03ffd441e5 100644 --- a/gr-digital/include/digital_ofdm_equalizer_static.h +++ b/gr-digital/include/digital_ofdm_equalizer_static.h @@ -57,7 +57,7 @@ digital_make_ofdm_equalizer_static( /* \brief Very simple static equalizer for OFDM. * \ingroup ofdm_blk - * \ingroup eq_blk + * \ingroup equalizers_blk * * This is an extremely simple equalizer. It will only work for high-SNR, very, very * slowly changing channels. diff --git a/gr-digital/include/digital_ofdm_frame_acquisition.h b/gr-digital/include/digital_ofdm_frame_acquisition.h index 9c2f602334..27920d36e3 100644 --- a/gr-digital/include/digital_ofdm_frame_acquisition.h +++ b/gr-digital/include/digital_ofdm_frame_acquisition.h @@ -39,7 +39,6 @@ DIGITAL_API digital_make_ofdm_frame_acquisition (unsigned int occupied_carriers, /*! * \brief take a vector of complex constellation points in from an FFT * and performs a correlation and equalization. - * \ingroup demodulation_blk * \ingroup ofdm_blk * * This block takes the output of an FFT of a received OFDM symbol and finds the diff --git a/gr-digital/include/digital_ofdm_frame_sink.h b/gr-digital/include/digital_ofdm_frame_sink.h index 5785d4be7b..eb2acb398f 100644 --- a/gr-digital/include/digital_ofdm_frame_sink.h +++ b/gr-digital/include/digital_ofdm_frame_sink.h @@ -39,7 +39,6 @@ digital_make_ofdm_frame_sink (const std::vector<gr_complex> &sym_position, /*! * \brief Takes an OFDM symbol in, demaps it into bits of 0's and 1's, packs * them into packets, and sends to to a message queue sink. - * \ingroup sink_blk * \ingroup ofdm_blk * * NOTE: The mod input parameter simply chooses a pre-defined demapper/slicer. Eventually, diff --git a/gr-digital/include/digital_ofdm_insert_preamble.h b/gr-digital/include/digital_ofdm_insert_preamble.h index fa44558add..5fac6d6023 100644 --- a/gr-digital/include/digital_ofdm_insert_preamble.h +++ b/gr-digital/include/digital_ofdm_insert_preamble.h @@ -35,7 +35,6 @@ digital_make_ofdm_insert_preamble(int fft_length, /*! * \brief insert "pre-modulated" preamble symbols before each payload. - * \ingroup sync_blk * \ingroup ofdm_blk * * <pre> diff --git a/gr-digital/include/digital_ofdm_mapper_bcv.h b/gr-digital/include/digital_ofdm_mapper_bcv.h index daed1eab29..a3b9c3b60f 100644 --- a/gr-digital/include/digital_ofdm_mapper_bcv.h +++ b/gr-digital/include/digital_ofdm_mapper_bcv.h @@ -39,7 +39,6 @@ digital_make_ofdm_mapper_bcv (const std::vector<gr_complex> &constellation, unsi * \brief take a stream of bytes in and map to a vector of complex * constellation points suitable for IFFT input to be used in an ofdm * modulator. Abstract class must be subclassed with specific mapping. - * \ingroup modulation_blk * \ingroup ofdm_blk */ diff --git a/gr-digital/include/digital_ofdm_sync_sc_cfb.h b/gr-digital/include/digital_ofdm_sync_sc_cfb.h index 36ea1b22fd..f58be3df59 100644 --- a/gr-digital/include/digital_ofdm_sync_sc_cfb.h +++ b/gr-digital/include/digital_ofdm_sync_sc_cfb.h @@ -37,8 +37,9 @@ digital_make_ofdm_sync_sc_cfb (int fft_len, int cp_len); /*! * \brief Schmidl & Cox synchronisation for OFDM * \ingroup ofdm_blk - * \ingroup sync_blk + * \ingroup synchronizers_blk * + * \details * Input: complex samples. * Output 0: Fine frequency offset, scaled by the OFDM symbol duration. * This is \f$\hat{\varphi}\f$ in [1]. The normalized frequency diff --git a/gr-digital/include/digital_packet_sink.h b/gr-digital/include/digital_packet_sink.h index 7ab41c0ef7..d9efa8f565 100644 --- a/gr-digital/include/digital_packet_sink.h +++ b/gr-digital/include/digital_packet_sink.h @@ -37,8 +37,9 @@ digital_make_packet_sink(const std::vector<unsigned char>& sync_vector, /*! * \brief process received bits looking for packet sync, header, and process bits into packet - * \ingroup sink_blk + * \ingroup packet_operators_blk * + * \details * input: stream of symbols to be sliced. * * output: none. Pushes assembled packet into target queue @@ -53,10 +54,6 @@ digital_make_packet_sink(const std::vector<unsigned char>& sync_vector, * This block is not very useful anymore as it only works with 2-level * modulations such as BPSK or GMSK. The block can generally be * replaced with a correlate access code and frame sink blocks. - * - * \param sync_vector The synchronization vector as a vector of 1's and 0's. - * \param target_queue The message queue that packets are sent to. - * \param threshold Number of bits that can be incorrect in the \p sync_vector. */ class DIGITAL_API digital_packet_sink : public gr_sync_block { @@ -89,6 +86,13 @@ class DIGITAL_API digital_packet_sink : public gr_sync_block int d_packetlen_cnt; // how many so far protected: + /*! + * Build a packet sink block. + * + * \param sync_vector The synchronization vector as a vector of 1's and 0's. + * \param target_queue The message queue that packets are sent to. + * \param threshold Number of bits that can be incorrect in the \p sync_vector. + */ digital_packet_sink(const std::vector<unsigned char>& sync_vector, gr_msg_queue_sptr target_queue, int threshold); diff --git a/gr-digital/include/digital_pfb_clock_sync_ccf.h b/gr-digital/include/digital_pfb_clock_sync_ccf.h index 1b403ab253..4a7cfc0019 100644 --- a/gr-digital/include/digital_pfb_clock_sync_ccf.h +++ b/gr-digital/include/digital_pfb_clock_sync_ccf.h @@ -40,13 +40,10 @@ digital_make_pfb_clock_sync_ccf(double sps, float loop_bw, class gr_fir_ccf; /*! - * \class digital_pfb_clock_sync_ccf - * * \brief Timing synchronizer using polyphase filterbanks + * \ingroup synchronizers_blk * - * \ingroup filter_blk - * \ingroup pfb_blk - * + * \details * This block performs timing synchronization for PAM signals by * minimizing the derivative of the filtered signal, which in turn * maximizes the SNR and minimizes ISI. diff --git a/gr-digital/include/digital_pfb_clock_sync_fff.h b/gr-digital/include/digital_pfb_clock_sync_fff.h index c7e8babd69..c19ebab0aa 100644 --- a/gr-digital/include/digital_pfb_clock_sync_fff.h +++ b/gr-digital/include/digital_pfb_clock_sync_fff.h @@ -40,13 +40,10 @@ digital_make_pfb_clock_sync_fff(double sps, float gain, class gr_fir_fff; /*! - * \class digital_pfb_clock_sync_fff - * * \brief Timing synchronizer using polyphase filterbanks + * \ingroup synchronizers_blk * - * \ingroup filter_blk - * \ingroup pfb_blk - * + * \details * This block performs timing synchronization for PAM signals by * minimizing the derivative of the filtered signal, which in turn * maximizes the SNR and minimizes ISI. diff --git a/gr-digital/include/digital_pn_correlator_cc.h b/gr-digital/include/digital_pn_correlator_cc.h index 87cc2ff93c..17fa795988 100644 --- a/gr-digital/include/digital_pn_correlator_cc.h +++ b/gr-digital/include/digital_pn_correlator_cc.h @@ -32,10 +32,10 @@ typedef boost::shared_ptr<digital_pn_correlator_cc> digital_pn_correlator_cc_spt DIGITAL_API digital_pn_correlator_cc_sptr digital_make_pn_correlator_cc(int degree, int mask=0, int seed=1); + /*! * \brief PN code sequential search correlator - * - * \ingroup sync_blk + * \ingroup synchronizers_blk * * Receives complex baseband signal, outputs complex correlation * against reference PN code, one sample per PN code period. The PN diff --git a/gr-digital/include/digital_probe_density_b.h b/gr-digital/include/digital_probe_density_b.h index 271ad2a072..65d33afcfa 100644 --- a/gr-digital/include/digital_probe_density_b.h +++ b/gr-digital/include/digital_probe_density_b.h @@ -31,6 +31,8 @@ DIGITAL_API digital_probe_density_b_sptr digital_make_probe_density_b(double alpha); /*! + * \ingroup measurement_tools_blk + * * This block maintains a running average of the input stream and * makes it available as an accessor function. The input stream * is type unsigned char. diff --git a/gr-digital/include/digital_probe_mpsk_snr_est_c.h b/gr-digital/include/digital_probe_mpsk_snr_est_c.h index a78e904124..70e0df6a8f 100644 --- a/gr-digital/include/digital_probe_mpsk_snr_est_c.h +++ b/gr-digital/include/digital_probe_mpsk_snr_est_c.h @@ -34,9 +34,10 @@ digital_make_probe_mpsk_snr_est_c(snr_est_type_t type, int msg_nsamples=10000, double alpha=0.001); -//! \brief A probe for computing SNR of a signal. -/*! \ingroup snr_blk +/*! \brief A probe for computing SNR of a signal. + * \ingroup measurement_tools_blk * + * \details * This is a probe block (a sink) that can be used to monitor and * retrieve estimations of the signal SNR. This probe is designed for * use with M-PSK signals especially. The type of estimator is @@ -61,8 +62,6 @@ class DIGITAL_API digital_probe_mpsk_snr_est_c : public gr_sync_block /*! Factory function returning shared pointer of this class * - * Parameters: - * * \param type: the type of estimator to use \ref ref_snr_est_types * "snr_est_type_t" for details about the available types. * \param msg_nsamples: [not implemented yet] after this many diff --git a/gr-digital/include/digital_scrambler_bb.h b/gr-digital/include/digital_scrambler_bb.h index cafb0e5f2c..c7ae7fa539 100644 --- a/gr-digital/include/digital_scrambler_bb.h +++ b/gr-digital/include/digital_scrambler_bb.h @@ -33,17 +33,11 @@ DIGITAL_API digital_scrambler_bb_sptr digital_make_scrambler_bb(int mask, int seed, int len); /*! + * \ingroup coding_blk * Scramble an input stream using an LFSR. This block works on the LSB only * of the input data stream, i.e., on an "unpacked binary" stream, and * produces the same format on its output. - * - * \param mask Polynomial mask for LFSR - * \param seed Initial shift register contents - * \param len Shift register length - * - * \ingroup coding_blk */ - class DIGITAL_API digital_scrambler_bb : public gr_sync_block { friend DIGITAL_API digital_scrambler_bb_sptr @@ -51,6 +45,13 @@ class DIGITAL_API digital_scrambler_bb : public gr_sync_block gr::analog::lfsr d_lfsr; + /*! + * Build a scrambler block. + * + * \param mask Polynomial mask for LFSR + * \param seed Initial shift register contents + * \param len Shift register length + */ digital_scrambler_bb(int mask, int seed, int len); public: diff --git a/gr-digital/include/digital_simple_correlator.h b/gr-digital/include/digital_simple_correlator.h index 716c6995ca..a8364810c6 100644 --- a/gr-digital/include/digital_simple_correlator.h +++ b/gr-digital/include/digital_simple_correlator.h @@ -33,7 +33,8 @@ DIGITAL_API digital_simple_correlator_sptr digital_make_simple_correlator(int pa /*! * \brief inverse of simple_framer (more or less) - * \ingroup sync_blk + * \ingroup packet_operators_blk + * \ingroup deprecated_blk */ class DIGITAL_API digital_simple_correlator : public gr_block { diff --git a/gr-digital/include/digital_simple_framer.h b/gr-digital/include/digital_simple_framer.h index b622ae5dd4..fcfdad1077 100644 --- a/gr-digital/include/digital_simple_framer.h +++ b/gr-digital/include/digital_simple_framer.h @@ -33,8 +33,10 @@ DIGITAL_API digital_simple_framer_sptr digital_make_simple_framer(int payload_by /*! * \brief add sync field, seq number and command field to payload - * \ingroup sync_blk + * \ingroup packet_operators_blk + * \ingroup deprecated_blk * + * \details * Takes in enough samples to create a full output frame. The frame is * prepended with the GRSF_SYNC (defind in * digital_simple_framer_sync.h) and an 8-bit sequence number. |