diff options
author | Martin Braun <martin.braun@ettus.com> | 2014-07-26 13:03:25 +0200 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2014-07-26 13:34:06 +0200 |
commit | efac76f297fac8c9bf7e2115a1b9ae3e89ad9531 (patch) | |
tree | 01859e3f86aea810d032286eab107c973bb93cbb | |
parent | 5c5730782b8c087ab269d560ac586e64cd773c7f (diff) |
blocks: Nicer LaTeX docs for multiply_matrix
-rw-r--r-- | gr-blocks/include/gnuradio/blocks/multiply_matrix_XX.h.t | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/gr-blocks/include/gnuradio/blocks/multiply_matrix_XX.h.t b/gr-blocks/include/gnuradio/blocks/multiply_matrix_XX.h.t index 25e7212105..3f8411d107 100644 --- a/gr-blocks/include/gnuradio/blocks/multiply_matrix_XX.h.t +++ b/gr-blocks/include/gnuradio/blocks/multiply_matrix_XX.h.t @@ -39,21 +39,30 @@ namespace gr { * being it can handle several inputs and outputs, and the input-to-output * relation can be described by the following mathematical equation: * \f[ - * y(k) = A x(k) \, , \, y \in \mathbb{R}^N, x \in \mathbb{R}^M, A \in \mathbb{R}^{N \times M} + * \mathbf{y}(k) = \mathbf{A} \mathbf{x}(k) \, , \, y \in \mathbb{R}^N, \mathbf{x} \in \mathbb{R}^M, A \in \mathbb{R}^{N \times M} * \f] - * \$y(k)\$ and \$x(i)\$ are column-vectors describing the elements on the input port - * at time step \$k\$ (this is a sync block with no memory). + * \f$\mathbf{y}(k)\f$ and \f$\mathbf{x}(i)\f$ are column-vectors describing the elements on the input port + * at time step \f$k\f$ (this is a sync block with no memory). * * Examples for where to use this block include: - * - Switch matrices (i.e. switch which ports go where) - * - Simulation of static MIMO-Channels (in that case, \$A\$ is the channel matrix) + * - Switch matrices (i.e. switch which ports go where), assuming all ports run on the same rate + * - Simulation of static MIMO-Channels (in that case, \f$\mathbf{A}\f$ is the channel matrix) + * - Summing up streams with variable coefficients * * This block features a special tag propagation mode: When setting the tag propagation policy * to gr::blocks::@NAME@::TPP_SELECT_BY_MATRIX, a tag is propagated from input k * to output l if \f$(A)_{l,k} \neq 0\f$. * - * A message port (\p set_A) allows to set the matrix. *Note*: It is not possible to change - * the dimension of the matrix after initialization, as this affects the I/O signature! + * \section blocks_matrixmult_msgports Message Ports + * + * This block as one input message port (\p set_A). A message sent to this port will + * be converted to a std::vector<std::vector<@O_TYPE@> >, and then passed on to set_A(). + * If no conversion is possible, a warning is issued via the logging interface, and + * A remains unchanged. + * + * *Note*: It is not possible to change the dimension of the matrix after initialization, + * as this affects the I/O signature! If a matrix of invalid size is passed to the block, + * an alert is raised via the logging interface, and A remains unchanged. */ class BLOCKS_API @NAME@ : virtual public gr::sync_block { |