summaryrefslogtreecommitdiff
path: root/gr-digital
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital')
-rw-r--r--gr-digital/include/digital_diff_decoder_bb.h3
-rw-r--r--gr-digital/include/digital_diff_encoder_bb.h3
-rw-r--r--gr-digital/include/digital_diff_phasor_cc.h9
-rw-r--r--gr-digital/include/digital_glfsr_source_b.h8
-rw-r--r--gr-digital/include/digital_glfsr_source_f.h10
-rw-r--r--gr-digital/include/digital_map_bb.h8
-rw-r--r--gr-digital/include/digital_packet_sink.h19
-rw-r--r--gr-digital/include/digital_pn_correlator_cc.h15
-rw-r--r--gr-digital/include/digital_simple_framer.h6
9 files changed, 73 insertions, 8 deletions
diff --git a/gr-digital/include/digital_diff_decoder_bb.h b/gr-digital/include/digital_diff_decoder_bb.h
index f1a5e433e..928035d0e 100644
--- a/gr-digital/include/digital_diff_decoder_bb.h
+++ b/gr-digital/include/digital_diff_decoder_bb.h
@@ -36,7 +36,8 @@ digital_make_diff_decoder_bb(unsigned int modulus);
* \brief y[0] = (x[0] - x[-1]) % M
* \ingroup coding_blk
*
- * Differential decoder
+ * Uses current and previous symbols and the alphabet modulus to
+ * perform differential decoding.
*/
class DIGITAL_API digital_diff_decoder_bb : public gr_sync_block
{
diff --git a/gr-digital/include/digital_diff_encoder_bb.h b/gr-digital/include/digital_diff_encoder_bb.h
index 4d1a2cad4..d4be69cad 100644
--- a/gr-digital/include/digital_diff_encoder_bb.h
+++ b/gr-digital/include/digital_diff_encoder_bb.h
@@ -36,7 +36,8 @@ digital_make_diff_encoder_bb(unsigned int modulus);
* \brief y[0] = (x[0] + y[-1]) % M
* \ingroup coding_blk
*
- * Differential encoder
+ * Uses current and previous symbols and the alphabet modulus to
+ * perform differential encoding.
*/
class DIGITAL_API digital_diff_encoder_bb : public gr_sync_block
{
diff --git a/gr-digital/include/digital_diff_phasor_cc.h b/gr-digital/include/digital_diff_phasor_cc.h
index b6e1a2afb..32a2464b2 100644
--- a/gr-digital/include/digital_diff_phasor_cc.h
+++ b/gr-digital/include/digital_diff_phasor_cc.h
@@ -27,8 +27,13 @@
#include <gr_sync_block.h>
/*!
- * \brief Please fix my documentation!
- * \ingroup misc
+ * \brief Differential decoding based on phase change.
+ * \ingroup coding_blk
+ *
+ * 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;
diff --git a/gr-digital/include/digital_glfsr_source_b.h b/gr-digital/include/digital_glfsr_source_b.h
index 3cc570d3d..92e5e81f5 100644
--- a/gr-digital/include/digital_glfsr_source_b.h
+++ b/gr-digital/include/digital_glfsr_source_b.h
@@ -38,6 +38,14 @@ 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
{
diff --git a/gr-digital/include/digital_glfsr_source_f.h b/gr-digital/include/digital_glfsr_source_f.h
index f8b2bf996..77d7b0f74 100644
--- a/gr-digital/include/digital_glfsr_source_f.h
+++ b/gr-digital/include/digital_glfsr_source_f.h
@@ -36,8 +36,16 @@ digital_make_glfsr_source_f(int degree, bool repeat=true,
int mask=0, int seed=1);
/*!
- * \brief Galois LFSR pseudo-random source generating float outputs -1.0 - 1.0
+ * \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.
*/
class DIGITAL_API digital_glfsr_source_f : public gr_sync_block
{
diff --git a/gr-digital/include/digital_map_bb.h b/gr-digital/include/digital_map_bb.h
index 9f7e62555..4aca66fbe 100644
--- a/gr-digital/include/digital_map_bb.h
+++ b/gr-digital/include/digital_map_bb.h
@@ -34,6 +34,14 @@ digital_make_map_bb(const std::vector<int> &map);
/*!
* \brief output[i] = map[input[i]]
* \ingroup coding_blk
+ *
+ * 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.
+ *
+ * -> output[i] = map[input[i]]
+ *
+ * \param map a vector of integers.
*/
class DIGITAL_API digital_map_bb : public gr_sync_block
diff --git a/gr-digital/include/digital_packet_sink.h b/gr-digital/include/digital_packet_sink.h
index f9f51f6b1..7ab41c0ef 100644
--- a/gr-digital/include/digital_packet_sink.h
+++ b/gr-digital/include/digital_packet_sink.h
@@ -38,6 +38,25 @@ 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
+ *
+ * input: stream of symbols to be sliced.
+ *
+ * output: none. Pushes assembled packet into target queue
+ *
+ * The packet sink takes in a stream of binary symbols that are sliced
+ * around 0. The bits are then checked for the \p sync_vector to
+ * determine find and decode the packet. It then expects a fixed
+ * length header of 2 16-bit shorts containing the payload length,
+ * followed by the payload. If the 2 16-bit shorts are not identical,
+ * this packet is ignored. Better algs are welcome.
+ *
+ * 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
{
diff --git a/gr-digital/include/digital_pn_correlator_cc.h b/gr-digital/include/digital_pn_correlator_cc.h
index 33b5314fa..87cc2ff93 100644
--- a/gr-digital/include/digital_pn_correlator_cc.h
+++ b/gr-digital/include/digital_pn_correlator_cc.h
@@ -36,10 +36,19 @@ digital_make_pn_correlator_cc(int degree, int mask=0, int seed=1);
* \brief PN code sequential search correlator
*
* \ingroup sync_blk
- * Receives complex baseband signal, outputs complex correlation against
- * reference PN code, one sample per PN code period
+ *
+ * Receives complex baseband signal, outputs complex correlation
+ * against reference PN code, one sample per PN code period. The PN
+ * sequence is generated using a GLFSR.
+ *
+ * \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_pn_correlator_cc : public gr_sync_decimator
{
friend DIGITAL_API digital_pn_correlator_cc_sptr
diff --git a/gr-digital/include/digital_simple_framer.h b/gr-digital/include/digital_simple_framer.h
index 5dcab05cb..b622ae5dd 100644
--- a/gr-digital/include/digital_simple_framer.h
+++ b/gr-digital/include/digital_simple_framer.h
@@ -34,6 +34,12 @@ 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
+ *
+ * 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.
+ *
+ * \param payload_bytesize The size of the payload in bytes.
*/
class DIGITAL_API digital_simple_framer : public gr_block
{