diff options
author | Tom Rondeau <tom@trondeau.com> | 2013-11-23 20:01:19 -0500 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2013-11-23 20:01:19 -0500 |
commit | 424c8d2ea4a48125ec3226af1514a5787c9a157e (patch) | |
tree | d4e46bb8a2a3184e656a311d8c3f7427d647035b | |
parent | c76c10d43f0c7a086700fcc8c6dc8740243aa745 (diff) |
docs: fixed/modifying/adding documentation for blocks a-l.
29 files changed, 266 insertions, 130 deletions
diff --git a/gr-blocks/include/gnuradio/blocks/add_XX.h.t b/gr-blocks/include/gnuradio/blocks/add_XX.h.t index 08e9646af6..74c38889c0 100644 --- a/gr-blocks/include/gnuradio/blocks/add_XX.h.t +++ b/gr-blocks/include/gnuradio/blocks/add_XX.h.t @@ -32,11 +32,16 @@ namespace gr { namespace blocks { /*! - * \brief output = sum (input_0, input_1, ...) + * \brief output = sum(input[0], input[1], ..., input[M-1]) * \ingroup math_operators_blk * - * \details - * Add across all input streams. + * \details + * Add samples across all input streams. For all \f$n\f$ samples + * on all \f$M\f$ input streams \f$x_m\f$: + * + * \f[ + * y[n] = \sum_{m=0}^{M-1} x_m[n] + * \f] */ class BLOCKS_API @NAME@ : virtual public sync_block { diff --git a/gr-blocks/include/gnuradio/blocks/add_const_vXX.h.t b/gr-blocks/include/gnuradio/blocks/add_const_vXX.h.t index ea6c35695e..d1ce947175 100644 --- a/gr-blocks/include/gnuradio/blocks/add_const_vXX.h.t +++ b/gr-blocks/include/gnuradio/blocks/add_const_vXX.h.t @@ -32,7 +32,7 @@ namespace gr { namespace blocks { /*! - * \brief output = input + constant vector + * \brief output[m] = input[m] + constant vector for all M streams. * \ingroup math_operators_blk */ class BLOCKS_API @NAME@ : virtual public sync_block diff --git a/gr-blocks/include/gnuradio/blocks/and_XX.h.t b/gr-blocks/include/gnuradio/blocks/and_XX.h.t index 820daefdbf..8dc48fc04a 100644 --- a/gr-blocks/include/gnuradio/blocks/and_XX.h.t +++ b/gr-blocks/include/gnuradio/blocks/and_XX.h.t @@ -32,10 +32,11 @@ namespace gr { namespace blocks { /*! - * \brief output = input_0 & input_1 & , ... & input_N) + * \brief output = input[0] & input[1] & ... & input[M-1] * \ingroup boolean_operators_blk * - * bitwise boolean and across all input streams. + * \details + * bitwise boolean AND across all input streams. */ class BLOCKS_API @NAME@ : virtual public sync_block { diff --git a/gr-blocks/include/gnuradio/blocks/and_const_XX.h.t b/gr-blocks/include/gnuradio/blocks/and_const_XX.h.t index a4c83a4eab..62bfca2041 100644 --- a/gr-blocks/include/gnuradio/blocks/and_const_XX.h.t +++ b/gr-blocks/include/gnuradio/blocks/and_const_XX.h.t @@ -32,10 +32,11 @@ namespace gr { namespace blocks { /*! - * \brief output_N = input_N & value + * \brief output[m] = input[m] & value for all M streams. * \ingroup boolean_operators_blk * - * bitwise boolean and of const to the data stream. + * \details + * Bitwise boolean AND of constant \p k with the data stream. */ class BLOCKS_API @NAME@ : virtual public sync_block { diff --git a/gr-blocks/include/gnuradio/blocks/argmax_XX.h.t b/gr-blocks/include/gnuradio/blocks/argmax_XX.h.t index 71468726ec..ca0243b6dc 100644 --- a/gr-blocks/include/gnuradio/blocks/argmax_XX.h.t +++ b/gr-blocks/include/gnuradio/blocks/argmax_XX.h.t @@ -40,11 +40,13 @@ namespace gr { * \details * Data is passed in as a vector of length \p vlen from multiple * input sources. It will look through these streams of \p vlen - * data items and output two streams. - * Stream 0 will contain the index value in the vector where - * the maximum value occurred. - * Stream 1 will contain the number of the input stream that - * held the maximum value. + * data items and output two streams: + * + * \li Stream 0 will contain the index value in the vector where + * the maximum value occurred. + * + * \li Stream 1 will contain the number of the input stream that + * held the maximum value. */ class BLOCKS_API @NAME@ : virtual public sync_block { diff --git a/gr-blocks/include/gnuradio/blocks/char_to_float.h b/gr-blocks/include/gnuradio/blocks/char_to_float.h index b06abc9004..be7adf46a1 100644 --- a/gr-blocks/include/gnuradio/blocks/char_to_float.h +++ b/gr-blocks/include/gnuradio/blocks/char_to_float.h @@ -30,8 +30,14 @@ namespace gr { namespace blocks { /*! - * \brief Convert stream of chars to a stream of float + * \brief Convert stream of chars to a stream of float. * \ingroup type_converters_blk + * + * \details + * Converts \p vlen length vectors of input char samples to floats + * and applies a scaling factor of \p scale: + * + * \li output[0][m:m+vlen] = static_cast<float>(input[0][m:m+vlen]) / scale */ class BLOCKS_API char_to_float : virtual public sync_block { diff --git a/gr-blocks/include/gnuradio/blocks/char_to_short.h b/gr-blocks/include/gnuradio/blocks/char_to_short.h index dcc93b5c55..05880e0735 100644 --- a/gr-blocks/include/gnuradio/blocks/char_to_short.h +++ b/gr-blocks/include/gnuradio/blocks/char_to_short.h @@ -32,6 +32,11 @@ namespace gr { /*! * \brief Convert stream of chars to a stream of short * \ingroup type_converters_blk + * + * \details + * Converts \p vlen length vectors of input char samples to shorts: + * + * \li output[0][m:m+vlen] = static_cast<short>(input[0][m:m+vlen]) */ class BLOCKS_API char_to_short : virtual public sync_block { diff --git a/gr-blocks/include/gnuradio/blocks/complex_to_arg.h b/gr-blocks/include/gnuradio/blocks/complex_to_arg.h index 3ef79de00b..2ea14aba63 100644 --- a/gr-blocks/include/gnuradio/blocks/complex_to_arg.h +++ b/gr-blocks/include/gnuradio/blocks/complex_to_arg.h @@ -30,7 +30,7 @@ namespace gr { namespace blocks { /*! - * \brief complex in, arg out (float) + * \brief complex in, arg (arctan) out (float) * \ingroup type_converters_blk */ class BLOCKS_API complex_to_arg : virtual public sync_block diff --git a/gr-blocks/include/gnuradio/blocks/complex_to_float.h b/gr-blocks/include/gnuradio/blocks/complex_to_float.h index c7b4a48805..40fcb729b4 100644 --- a/gr-blocks/include/gnuradio/blocks/complex_to_float.h +++ b/gr-blocks/include/gnuradio/blocks/complex_to_float.h @@ -30,8 +30,14 @@ namespace gr { namespace blocks { /*! - * \brief convert a stream of gr_complex to 1 or 2 streams of float + * \brief Convert a stream of gr_complex to 1 or 2 streams of float. * \ingroup type_converters_blk + * + * \details + * If a single output stream is attached, this will output the + * real part of the input complex samples. If a second output + * stream is connected, output[0] is the real part and output[1] + * is the imaginary part. */ class BLOCKS_API complex_to_float : virtual public sync_block { diff --git a/gr-blocks/include/gnuradio/blocks/complex_to_imag.h b/gr-blocks/include/gnuradio/blocks/complex_to_imag.h index c4014131bb..1311fa4dc2 100644 --- a/gr-blocks/include/gnuradio/blocks/complex_to_imag.h +++ b/gr-blocks/include/gnuradio/blocks/complex_to_imag.h @@ -30,7 +30,7 @@ namespace gr { namespace blocks { /*! - * \brief complex in, imag out (float) + * \brief Produces the imaginary part (as a float0 of a complex stream. * \ingroup type_converters_blk */ class BLOCKS_API complex_to_imag : virtual public sync_block diff --git a/gr-blocks/include/gnuradio/blocks/complex_to_interleaved_short.h b/gr-blocks/include/gnuradio/blocks/complex_to_interleaved_short.h index 788bdd91fb..69b88e5f5f 100644 --- a/gr-blocks/include/gnuradio/blocks/complex_to_interleaved_short.h +++ b/gr-blocks/include/gnuradio/blocks/complex_to_interleaved_short.h @@ -30,8 +30,17 @@ namespace gr { namespace blocks { /*! - * \brief Convert stream of complex to a stream of interleaved shorts + * \brief Convert stream of complex to a stream of interleaved shorts. * \ingroup type_converters_blk + * + * \details + * The output stream contains shorts with twice as many output + * items as input items. For every complex input item, we produce + * two output shorts that contain the real part and imaginary part + * converted to shorts: + * + * \li output[0][n] = static_cast<short>(input[0][m].real()); + * \li output[0][n+1] = static_cast<short>(input[0][m].imag()); */ class BLOCKS_API complex_to_interleaved_short : virtual public sync_interpolator { diff --git a/gr-blocks/include/gnuradio/blocks/complex_to_mag.h b/gr-blocks/include/gnuradio/blocks/complex_to_mag.h index 9089b7ce6f..d6023a7681 100644 --- a/gr-blocks/include/gnuradio/blocks/complex_to_mag.h +++ b/gr-blocks/include/gnuradio/blocks/complex_to_mag.h @@ -32,6 +32,19 @@ namespace gr { /*! * \brief complex in, magnitude out (float) * \ingroup type_converters_blk + * + * \details + * Calculates the magnitude of the complex samples: + * + * \li output[0][m] = |input[0][m]| + * + * Or: + * \li output[0][m] = sqrt(Re{input[0][m]}^2 + Im{input[0][m]}^2) + * + * The input stream can be a vector of length \p vlen, and for + * each vector, each item is converted using the above + * function. So above, m is from 0 to noutput_items*vlen for each + * call to work. */ class BLOCKS_API complex_to_mag : virtual public sync_block { diff --git a/gr-blocks/include/gnuradio/blocks/complex_to_mag_squared.h b/gr-blocks/include/gnuradio/blocks/complex_to_mag_squared.h index 6e4e31b4c3..2165a5c521 100644 --- a/gr-blocks/include/gnuradio/blocks/complex_to_mag_squared.h +++ b/gr-blocks/include/gnuradio/blocks/complex_to_mag_squared.h @@ -32,6 +32,19 @@ namespace gr { /*! * \brief complex in, magnitude squared out (float) * \ingroup type_converters_blk + * + * \details + * Calculates the magnitude squared of the complex samples: + * + * \li output[0][m] = |input[0][m]|^2 + * + * Or: + * \li output[0][m] = Re{input[0][m]}^2 + Im{input[0][m]}^2 + * + * The input stream can be a vector of length \p vlen, and for + * each vector, each item is converted using the above + * function. So above, m is from 0 to noutput_items*vlen for each + * call to work. */ class BLOCKS_API complex_to_mag_squared : virtual public sync_block { diff --git a/gr-blocks/include/gnuradio/blocks/complex_to_real.h b/gr-blocks/include/gnuradio/blocks/complex_to_real.h index 9e4697081a..2b8bcbe2a7 100644 --- a/gr-blocks/include/gnuradio/blocks/complex_to_real.h +++ b/gr-blocks/include/gnuradio/blocks/complex_to_real.h @@ -30,7 +30,7 @@ namespace gr { namespace blocks { /*! - * \brief complex in, real out (float) + * \brief Produces the real part (as a float0 of a complex stream. * \ingroup type_converters_blk */ class BLOCKS_API complex_to_real : virtual public sync_block diff --git a/gr-blocks/include/gnuradio/blocks/control_loop.h b/gr-blocks/include/gnuradio/blocks/control_loop.h index d53c81cbac..f956c88285 100644 --- a/gr-blocks/include/gnuradio/blocks/control_loop.h +++ b/gr-blocks/include/gnuradio/blocks/control_loop.h @@ -28,6 +28,36 @@ namespace gr { namespace blocks { + /*! + * \brief A second-order control loop implementation class. + * + * \details + * This class implements a second order control loop and is + * inteded to act as a parent class to blocks which need a control + * loop (e.g., gr::digital::costas_loop_cc, + * gr::analog::pll_refout_cc, etc.). It takes in a loop bandwidth + * as well as a max and min frequency and provides the functions + * that control the update of the loop. + * + * The loop works of alpha and beta gains. These gains are + * calculated using the input loop bandwidth and a pre-set damping + * factor. The damping factor can be changed using the + * #set_damping_factor after the block is + * constructed. The alpha and beta values can be set using their + * respective #set_alpha or #set_beta functions if very precise + * control over these is required. + * + * The class tracks both phase and frequency of a signal based on + * an error signal. The error calculation is unique for each + * algorithm and is calculated externally and passed to the + * advance_loop function, which uses this to update its phase and + * frequency estimates. + * + * This class also provides the functions #phase_wrap and + * #frequency_limit to easily keep the phase and frequency + * estimates within our set bounds (phase_wrap keeps it within + * +/-2pi). + */ class BLOCKS_API control_loop { protected: @@ -41,12 +71,13 @@ namespace gr { control_loop(float loop_bw, float max_freq, float min_freq); virtual ~control_loop(); - /*! \brief update the system gains from the loop bandwidth and damping factor + /*! \brief Update the system gains from the loop bandwidth and damping factor. * - * This function updates the system gains based on the loop - * bandwidth and damping factor of the system. These two - * factors can be set separately through their own set - * functions. + * \details + * This function updates the system gains based on the loop + * bandwidth and damping factor of the system. These two + * factors can be set separately through their own set + * functions. */ void update_gains(); @@ -55,8 +86,9 @@ namespace gr { */ void advance_loop(float error); - /*! \brief Keep the phase between -2pi and 2pi + /*! \brief Keep the phase between -2pi and 2pi. * + * \details * This function keeps the phase between -2pi and 2pi. If the * phase is greater than 2pi by d, it wraps around to be -2pi+d; * similarly if it is less than -2pi by d, it wraps around to @@ -69,8 +101,9 @@ namespace gr { */ void phase_wrap(); - /*! \brief Keep the frequency between d_min_freq and d_max_freq + /*! \brief Keep the frequency between d_min_freq and d_max_freq. * + * \details * This function keeps the frequency between d_min_freq and * d_max_freq. If the frequency is greater than d_max_freq, it * is set to d_max_freq. If the frequency is less than @@ -88,8 +121,9 @@ namespace gr { *******************************************************************/ /*! - * \brief Set the loop bandwidth + * \brief Set the loop bandwidth. * + * \details * Set the loop filter's bandwidth to \p bw. This should be * between 2*pi/200 and 2*pi/100 (in rads/samp). It must also be * a positive number. @@ -102,8 +136,9 @@ namespace gr { virtual void set_loop_bandwidth(float bw); /*! - * \brief Set the loop damping factor + * \brief Set the loop damping factor. * + * \details * Set the loop filter's damping factor to \p df. The damping * factor should be sqrt(2)/2.0 for critically damped systems. * Set it to anything else only if you know what you are @@ -117,22 +152,23 @@ namespace gr { void set_damping_factor(float df); /*! - * \brief Set the loop gain alpha + * \brief Set the loop gain alpha. * - * Set's the loop filter's alpha gain parameter. + * \details + * Sets the loop filter's alpha gain parameter. * * This value should really only be set by adjusting the loop * bandwidth and damping factor. * * \param alpha (float) new alpha gain - * */ void set_alpha(float alpha); /*! - * \brief Set the loop gain beta + * \brief Set the loop gain beta. * - * Set's the loop filter's beta gain parameter. + * \details + * Sets the loop filter's beta gain parameter. * * This value should really only be set by adjusting the loop * bandwidth and damping factor. @@ -144,7 +180,8 @@ namespace gr { /*! * \brief Set the control loop's frequency. * - * Set's the control loop's frequency. While this is normally + * \details + * Sets the control loop's frequency. While this is normally * updated by the inner loop of the algorithm, it could be * useful to manually initialize, set, or reset this under * certain circumstances. @@ -156,7 +193,8 @@ namespace gr { /*! * \brief Set the control loop's phase. * - * Set's the control loop's phase. While this is normally + * \details + * Sets the control loop's phase. While this is normally * updated by the inner loop of the algorithm, it could be * useful to manually initialize, set, or reset this under * certain circumstances. @@ -168,6 +206,7 @@ namespace gr { /*! * \brief Set the control loop's maximum frequency. * + * \details * Set the maximum frequency the control loop can track. * * \param freq (float) new max frequency @@ -177,6 +216,7 @@ namespace gr { /*! * \brief Set the control loop's minimum frequency. * + * \details * Set the minimum frequency the control loop can track. * * \param freq (float) new min frequency @@ -188,32 +228,32 @@ namespace gr { *******************************************************************/ /*! - * \brief Returns the loop bandwidth + * \brief Returns the loop bandwidth. */ float get_loop_bandwidth() const; /*! - * \brief Returns the loop damping factor + * \brief Returns the loop damping factor. */ float get_damping_factor() const; /*! - * \brief Returns the loop gain alpha + * \brief Returns the loop gain alpha. */ float get_alpha() const; /*! - * \brief Returns the loop gain beta + * \brief Returns the loop gain beta. */ float get_beta() const; /*! - * \brief Get the control loop's frequency estimate + * \brief Get the control loop's frequency estimate. */ float get_frequency() const; /*! - * \brief Get the control loop's phase estimate + * \brief Get the control loop's phase estimate. */ float get_phase() const; diff --git a/gr-blocks/include/gnuradio/blocks/divide_XX.h.t b/gr-blocks/include/gnuradio/blocks/divide_XX.h.t index 25e7941f72..aa918facad 100644 --- a/gr-blocks/include/gnuradio/blocks/divide_XX.h.t +++ b/gr-blocks/include/gnuradio/blocks/divide_XX.h.t @@ -32,7 +32,7 @@ namespace gr { namespace blocks { /*! - * \brief output = input_0 / input_1 / input_x ...) + * \brief output = input[0] / input[1] / ... / input[M-1] * \ingroup math_operators_blk * * \details diff --git a/gr-blocks/include/gnuradio/blocks/file_meta_sink.h b/gr-blocks/include/gnuradio/blocks/file_meta_sink.h index 55b8b9801e..0d68132f0d 100644 --- a/gr-blocks/include/gnuradio/blocks/file_meta_sink.h +++ b/gr-blocks/include/gnuradio/blocks/file_meta_sink.h @@ -53,13 +53,13 @@ namespace gr { * type of data and properties of the data in the next segment of * samples. The information includes: * - * rx_rate (double): sample rate of data. - * rx_time (uint64_t, double): time stamp of first sample in segment. - * size (uint32_t): item size in bytes. - * type (gr_file_types as int32_t): data type. - * cplx (bool): Is data complex? - * strt (uint64_t): Starting byte of data in this segment. - * bytes (uint64_t): Size in bytes of data in this segment. + * \li rx_rate (double): sample rate of data. + * \li rx_time (uint64_t, double): time stamp of first sample in segment. + * \li size (uint32_t): item size in bytes. + * \li type (::gr_file_types as int32_t): data type. + * \li cplx (bool): Is data complex? + * \li strt (uint64_t): Starting byte of data in this segment. + * \li bytes (uint64_t): Size in bytes of data in this segment. * * Tags can be sent to the file to update the information, which * will create a new header. Headers are found by searching from diff --git a/gr-blocks/include/gnuradio/blocks/file_meta_source.h b/gr-blocks/include/gnuradio/blocks/file_meta_source.h index 6c631f47e0..57bac1eca1 100644 --- a/gr-blocks/include/gnuradio/blocks/file_meta_source.h +++ b/gr-blocks/include/gnuradio/blocks/file_meta_source.h @@ -37,13 +37,13 @@ namespace gr { * \details * The information in the metadata headers includes: * - * rx_rate (double): sample rate of data. - * rx_time (uint64_t, double): time stamp of first sample in segment. - * size (uint32_t): item size in bytes. - * type (gr_file_types as int32_t): data type. - * cplx (bool): Is data complex? - * strt (uint64_t): Starting byte of data in this segment. - * bytes (uint64_t): Size in bytes of data in this segment. + * \li rx_rate (double): sample rate of data. + * \li rx_time (uint64_t, double): time stamp of first sample in segment. + * \li size (uint32_t): item size in bytes. + * \li type (::gr_file_types as int32_t): data type. + * \li cplx (bool): Is data complex? + * \li strt (uint64_t): Starting byte of data in this segment. + * \li bytes (uint64_t): Size in bytes of data in this segment. * * Any item inside of the extra header dictionary is ready out and * made into a stream tag. diff --git a/gr-channels/include/gnuradio/channels/channel_model.h b/gr-channels/include/gnuradio/channels/channel_model.h index 6a1e4a08cb..abe95e1d93 100644 --- a/gr-channels/include/gnuradio/channels/channel_model.h +++ b/gr-channels/include/gnuradio/channels/channel_model.h @@ -31,21 +31,25 @@ namespace gr { namespace channels { /*! - * \brief channel simulator + * \brief Basic channel simulator. * \ingroup channel_models_blk * * \details * This block implements a basic channel model simulator that can * be used to help evaluate, design, and test various signals, - * waveforms, and algorithms. This model allows the user to set - * the voltage of an AWGN noise source, a (normalized) frequency - * offset, a sample timing offset, and a noise seed to randomize - * the AWGN noise source. + * waveforms, and algorithms. + * + * This model allows the user to set the voltage of an AWGN noise + * source (\p noise_voltage), a (normalized) frequency offset (\p + * frequency_offset), a sample timing offset (\p epsilon), and a + * seed (\p noise_seed) to randomize or make reproducable the AWGN + * noise source. * * Multipath can be approximated in this model by using a FIR - * filter representation of a multipath delay profile. + * filter representation of a multipath delay profile with the + * parameter \p taps. * - * To simulate a channel with time-variant channel, use a + * To simulate a channel with time-variant channel, use * gr::channels::channel_model2. */ class CHANNELS_API channel_model : virtual public hier_block2 diff --git a/gr-channels/include/gnuradio/channels/channel_model2.h b/gr-channels/include/gnuradio/channels/channel_model2.h index 6c52f34d81..995f7f0048 100644 --- a/gr-channels/include/gnuradio/channels/channel_model2.h +++ b/gr-channels/include/gnuradio/channels/channel_model2.h @@ -31,7 +31,8 @@ namespace gr { namespace channels { /*! - * \brief channel model2 + * \brief Basic channel simulator allowing time-varying frequency + * and timing inputs. * \ingroup channel_models_blk * * \details @@ -40,11 +41,13 @@ namespace gr { * waveforms, and algorithms. * * This model allows the user to set the voltage of an AWGN noise - * source, an initial timing offset, and a noise seed to randomize - * the AWGN noise source. + * source (\p noise_voltage), an initial timing offset (\p + * epsilon), and a seed (\p noise_seed) to randomize the AWGN + * noise source. * * Multipath can be approximated in this model by using a FIR - * filter representation of a multipath delay profile. + * filter representation of a multipath delay profile with the + * parameter \p taps. * * Unlike gr::channels::channel_model, this block is designed to * enable time-varying frequency and timing offsets. diff --git a/gr-digital/include/gnuradio/digital/additive_scrambler_bb.h b/gr-digital/include/gnuradio/digital/additive_scrambler_bb.h index ac765121a8..88e1299191 100644 --- a/gr-digital/include/gnuradio/digital/additive_scrambler_bb.h +++ b/gr-digital/include/gnuradio/digital/additive_scrambler_bb.h @@ -40,8 +40,8 @@ namespace gr { * data stream, starting at the LSB. * * 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. + * output of the LFSR. Optionally, after \p count bits have been + * processed, the shift register is reset to the \p seed value. * This allows processing fixed length vectors of samples. * * Alternatively, the LFSR can be reset using a reset tag to diff --git a/gr-digital/include/gnuradio/digital/binary_slicer_fb.h b/gr-digital/include/gnuradio/digital/binary_slicer_fb.h index ef83a9dbd4..7a05e87a62 100644 --- a/gr-digital/include/gnuradio/digital/binary_slicer_fb.h +++ b/gr-digital/include/gnuradio/digital/binary_slicer_fb.h @@ -30,12 +30,12 @@ namespace gr { namespace digital { /*! - * \brief slice float binary symbol outputting 1 bit output + * \brief Slice float binary symbol producing 1 bit output * \ingroup symbol_coding_blk * * \details - * x < 0 --> 0 - * x >= 0 --> 1 + * \li input[0][n] < 0 --> 0 + * \li input[0][n] >= 0 --> 1 */ class DIGITAL_API binary_slicer_fb : virtual public sync_block { diff --git a/gr-digital/include/gnuradio/digital/chunks_to_symbols_XX.h.t b/gr-digital/include/gnuradio/digital/chunks_to_symbols_XX.h.t index cbc3b474ce..c6f2060c34 100644 --- a/gr-digital/include/gnuradio/digital/chunks_to_symbols_XX.h.t +++ b/gr-digital/include/gnuradio/digital/chunks_to_symbols_XX.h.t @@ -32,19 +32,20 @@ namespace gr { namespace digital { /*! - * \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 + * \brief Map a stream of unpacked symbol indexes to stream of + * float or complex constellation points in D dimensions (D = 1 by + * default) \ingroup converter_blk * - * input: stream of @I_TYPE@; output: stream of @O_TYPE@ + * \details + * \li input: stream of @I_TYPE@ + * \li output: stream of @O_TYPE@ * - * out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1 + * \li out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1 * - * The combination of gr::blocks::packed_to_unpacked_XX followed by - * digital_chunks_to_symbols_XY handles the general case of mapping - * from a stream of bytes or shorts into arbitrary float - * or complex symbols. + * The combination of gr::blocks::packed_to_unpacked_XX followed + * by gr::digital::chunks_to_symbols_XY handles the general case + * of mapping from a stream of bytes or shorts into arbitrary + * float or complex symbols. * * \sa gr::blocks::packed_to_unpacked_bb, gr::blocks::unpacked_to_packed_bb, * \sa gr::blocks::packed_to_unpacked_ss, gr::blocks::unpacked_to_packed_ss, diff --git a/gr-digital/include/gnuradio/digital/cma_equalizer_cc.h b/gr-digital/include/gnuradio/digital/cma_equalizer_cc.h index 108c2cfc7d..c9cfb6d767 100644 --- a/gr-digital/include/gnuradio/digital/cma_equalizer_cc.h +++ b/gr-digital/include/gnuradio/digital/cma_equalizer_cc.h @@ -30,7 +30,7 @@ namespace gr { namespace digital { /*! - * \brief Implements constant modulus adaptive filter on complex stream + * \brief Implements constant modulus adaptive filter on complex stream. * \ingroup equalizers_blk * * \details diff --git a/gr-digital/include/gnuradio/digital/constellation.h b/gr-digital/include/gnuradio/digital/constellation.h index f4936e64f1..f2b796ea7f 100644 --- a/gr-digital/include/gnuradio/digital/constellation.h +++ b/gr-digital/include/gnuradio/digital/constellation.h @@ -148,13 +148,13 @@ namespace gr { * * This is a very costly algorithm (especially for higher order * modulations) and should be used sparingly. It uses the - * gen_soft_dec_lut function to generate the LUT, which + * #gen_soft_dec_lut function to generate the LUT, which * should be done once or if a large change in the noise floor * is detected. * * Instead of using this function, generate the LUT using the - * gen_soft_dec_lut after creating the constellation object - * and then use the soft_decision_maker function to return the + * #gen_soft_dec_lut after creating the constellation object + * and then use the #soft_decision_maker function to return the * answer from the LUT. * * \param sample The complex sample to get the soft decisions. @@ -169,8 +169,8 @@ namespace gr { * levels of accuracy and complexity, this function allows * users to create a LUT in their own way. * - * Setting the LUT here means that has_soft_dec_lut will return - * true. Decision vectors returned by soft_decision_maker will + * Setting the LUT here means that #has_soft_dec_lut will return + * true. Decision vectors returned by #soft_decision_maker will * be calculated using this LUT. * * \param soft_dec_lut The soft decision LUT as a vector of @@ -229,6 +229,7 @@ namespace gr { /*! \brief Calculate Euclidian distance for any constellation * \ingroup digital * + * \details * Constellation which calculates the distance to each point in the * constellation for decision making. Inefficient for large * constellations. @@ -274,14 +275,24 @@ namespace gr { * \brief Sectorized digital constellation * \ingroup digital * + * \details * Constellation space is divided into sectors. Each sector is * associated with the nearest constellation point. - * */ class DIGITAL_API constellation_sector : public constellation { public: + /*! + * Make a sectorized constellation object. + * + * \param constell List of constellation points (order of list matches pre_diff_code) + * \param pre_diff_code List of alphabet symbols (before applying any differential + * coding) (order of list matches constell) + * \param rotational_symmetry Number of rotations around unit circle that have the same representation. + * \param dimensionality Number of z-axis dimensions to the constellation + * \param n_sectors Number of sectors in the constellation. + */ constellation_sector(std::vector<gr_complex> constell, std::vector<int> pre_diff_code, unsigned int rotational_symmetry, @@ -321,8 +332,6 @@ namespace gr { * Works for any generic constellation provided sectors are not * too large. */ - - class DIGITAL_API constellation_rect : public constellation_sector { @@ -377,9 +386,10 @@ namespace gr { /************************************************************/ /*! - * \brief Rectangular digital constellation + * \brief Rectangular digital constellation. * \ingroup digital * + * \details * Only implemented for 1-(complex)dimensional constellation. * * Constellation space is divided into rectangular sectors. Each @@ -473,8 +483,13 @@ namespace gr { /************************************************************/ /*! - * \brief Digital constellation for BPSK + * \brief Digital constellation for BPSK . * \ingroup digital + * + * \details + * \verbatim + 0 | 1 + \endverbatim */ class DIGITAL_API constellation_bpsk : public constellation { @@ -504,9 +519,12 @@ namespace gr { * \brief Digital constellation for QPSK * \ingroup digital * - * 01 | 11 - * ------- - * 00 | 10 + * \details + * \verbatim + 01 | 11 + ------- + 00 | 10 + \endverbatim */ class DIGITAL_API constellation_qpsk : public constellation { @@ -533,12 +551,15 @@ namespace gr { /************************************************************/ /*! - * \brief Digital constellation for DQPSK + * \brief Digital constellation for DQPSK. * \ingroup digital * - * 01 | 00 - * ------- - * 11 | 10 + * \details + * \verbatim + 01 | 00 + ------- + 11 | 10 + \endverbatim */ class DIGITAL_API constellation_dqpsk : public constellation { @@ -565,14 +586,17 @@ namespace gr { /************************************************************/ /*! - * \brief Digital constellation for 8PSK + * \brief Digital constellation for 8PSK. * \ingroup digital * - * 101 | 100 - * 001 | 000 - * ----------------- - * 011 | 010 - * 111 | 110 + * \details + * \verbatim + 101 | 100 + 001 | 000 + ----------------- + 011 | 010 + 111 | 110 + \endverbatim */ class DIGITAL_API constellation_8psk : public constellation { diff --git a/gr-digital/include/gnuradio/digital/constellation_soft_decoder_cf.h b/gr-digital/include/gnuradio/digital/constellation_soft_decoder_cf.h index 433be3a8f9..653a94b478 100644 --- a/gr-digital/include/gnuradio/digital/constellation_soft_decoder_cf.h +++ b/gr-digital/include/gnuradio/digital/constellation_soft_decoder_cf.h @@ -36,7 +36,7 @@ namespace gr { * * \details * Decode a constellation's points from a complex space to soft - * bits based on the map and soft decision lUT of the \p + * bits based on the map and soft decision LUT of the \p * consetllation object. */ class DIGITAL_API constellation_soft_decoder_cf diff --git a/gr-digital/include/gnuradio/digital/correlate_and_sync_cc.h b/gr-digital/include/gnuradio/digital/correlate_and_sync_cc.h index 1fa7ed1323..c84357f713 100644 --- a/gr-digital/include/gnuradio/digital/correlate_and_sync_cc.h +++ b/gr-digital/include/gnuradio/digital/correlate_and_sync_cc.h @@ -35,11 +35,14 @@ namespace gr { * \ingroup synchronizers_blk * * \details - * Input: complex samples. - * Output 0: pass through complex samples - * tag 'phase_est': estimate of phase offset - * tag 'timing_est': estimate of symbol timing offset - * tag 'corr_est': the correlation value of the estimates + * Input: + * \li Stream of complex samples. + * + * Output: + * \li Output stream that just passes the input complex samples + * \li tag 'phase_est': estimate of phase offset + * \li tag 'timing_est': estimate of symbol timing offset + * \li tag 'corr_est': the correlation value of the estimates * * This block is designed to search for a preamble by correlation * and uses the results of the correlation to get a time and phase diff --git a/gr-digital/include/gnuradio/digital/costas_loop_cc.h b/gr-digital/include/gnuradio/digital/costas_loop_cc.h index ab8b3f891c..5320d704c3 100644 --- a/gr-digital/include/gnuradio/digital/costas_loop_cc.h +++ b/gr-digital/include/gnuradio/digital/costas_loop_cc.h @@ -36,12 +36,16 @@ namespace gr { * * \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 baseband BPSK signal and the imaginary part is the error - * signal. When order=4, it can be used for quadrature - * modulations where both I and Q (real and imaginary) are - * outputted. + * downconverts it to baseband. + * + * \li When order=2: used for BPSK where the real part of the + * output signal is the baseband BPSK signal and the imaginary + * part is the error signal. + * + * \li When order=4: can be used for QPSK where both I and Q (real + * and imaginary) are outputted. + * + * \li When order=8: used for 8PSK. * * More details can be found online: * @@ -52,8 +56,8 @@ namespace gr { * http://rfdesign.com/images/archive/0102Feigin20.pdf * * 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 + * \li stream 1 (required) is the baseband I and Q; + * \li stream 2 (optional) is the normalized frequency of the loop */ class DIGITAL_API costas_loop_cc : virtual public sync_block, diff --git a/gr-filter/include/gnuradio/filter/iir_filter_ffd.h b/gr-filter/include/gnuradio/filter/iir_filter_ffd.h index f0e0fcaae6..db61cb149d 100644 --- a/gr-filter/include/gnuradio/filter/iir_filter_ffd.h +++ b/gr-filter/include/gnuradio/filter/iir_filter_ffd.h @@ -45,22 +45,18 @@ namespace gr { * new style by setting this to FALSE. * * The input and output satisfy a difference equation of the form - \htmlonly - \f{ - y[n] - \sum_{k=1}^{M} a_k y[n-k] = \sum_{k=0}^{N} b_k x[n-k] - \f} - \endhtmlonly + \f[ + y[n] - \sum_{k=1}^{M} a_k y[n-k] = \sum_{k=0}^{N} b_k x[n-k] + \f] \xmlonly y[n] - \sum_{k=1}^{M} a_k y[n-k] = \sum_{k=0}^{N} b_k x[n-k] \endxmlonly * with the corresponding rational system function - \htmlonly - \f{ - H(z) = \ frac{\sum_{k=0}^{M} b_k z^{-k}}{1 - \sum_{k=1}^{N} a_k z^{-k}} - \f} - \endhtmlonly + \f[ + H(z) = \frac{\sum_{k=0}^{M} b_k z^{-k}}{1 - \sum_{k=1}^{N} a_k z^{-k}} + \f] \xmlonly H(z) = \ frac{\sum_{k=0}^{M} b_k z^{-k}}{1 - \sum_{k=1}^{N} a_k z^{-k}} |