summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rondeau <tom@trondeau.com>2013-11-23 20:01:19 -0500
committerTom Rondeau <tom@trondeau.com>2013-11-23 20:01:19 -0500
commit424c8d2ea4a48125ec3226af1514a5787c9a157e (patch)
treed4e46bb8a2a3184e656a311d8c3f7427d647035b
parentc76c10d43f0c7a086700fcc8c6dc8740243aa745 (diff)
docs: fixed/modifying/adding documentation for blocks a-l.
-rw-r--r--gr-blocks/include/gnuradio/blocks/add_XX.h.t11
-rw-r--r--gr-blocks/include/gnuradio/blocks/add_const_vXX.h.t2
-rw-r--r--gr-blocks/include/gnuradio/blocks/and_XX.h.t5
-rw-r--r--gr-blocks/include/gnuradio/blocks/and_const_XX.h.t5
-rw-r--r--gr-blocks/include/gnuradio/blocks/argmax_XX.h.t12
-rw-r--r--gr-blocks/include/gnuradio/blocks/char_to_float.h8
-rw-r--r--gr-blocks/include/gnuradio/blocks/char_to_short.h5
-rw-r--r--gr-blocks/include/gnuradio/blocks/complex_to_arg.h2
-rw-r--r--gr-blocks/include/gnuradio/blocks/complex_to_float.h8
-rw-r--r--gr-blocks/include/gnuradio/blocks/complex_to_imag.h2
-rw-r--r--gr-blocks/include/gnuradio/blocks/complex_to_interleaved_short.h11
-rw-r--r--gr-blocks/include/gnuradio/blocks/complex_to_mag.h13
-rw-r--r--gr-blocks/include/gnuradio/blocks/complex_to_mag_squared.h13
-rw-r--r--gr-blocks/include/gnuradio/blocks/complex_to_real.h2
-rw-r--r--gr-blocks/include/gnuradio/blocks/control_loop.h84
-rw-r--r--gr-blocks/include/gnuradio/blocks/divide_XX.h.t2
-rw-r--r--gr-blocks/include/gnuradio/blocks/file_meta_sink.h14
-rw-r--r--gr-blocks/include/gnuradio/blocks/file_meta_source.h14
-rw-r--r--gr-channels/include/gnuradio/channels/channel_model.h18
-rw-r--r--gr-channels/include/gnuradio/channels/channel_model2.h11
-rw-r--r--gr-digital/include/gnuradio/digital/additive_scrambler_bb.h4
-rw-r--r--gr-digital/include/gnuradio/digital/binary_slicer_fb.h6
-rw-r--r--gr-digital/include/gnuradio/digital/chunks_to_symbols_XX.h.t21
-rw-r--r--gr-digital/include/gnuradio/digital/cma_equalizer_cc.h2
-rw-r--r--gr-digital/include/gnuradio/digital/constellation.h70
-rw-r--r--gr-digital/include/gnuradio/digital/constellation_soft_decoder_cf.h2
-rw-r--r--gr-digital/include/gnuradio/digital/correlate_and_sync_cc.h13
-rw-r--r--gr-digital/include/gnuradio/digital/costas_loop_cc.h20
-rw-r--r--gr-filter/include/gnuradio/filter/iir_filter_ffd.h16
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}}