diff options
Diffstat (limited to 'gr-digital')
-rw-r--r-- | gr-digital/include/digital_diff_decoder_bb.h | 3 | ||||
-rw-r--r-- | gr-digital/include/digital_diff_encoder_bb.h | 3 | ||||
-rw-r--r-- | gr-digital/include/digital_diff_phasor_cc.h | 9 | ||||
-rw-r--r-- | gr-digital/include/digital_glfsr_source_b.h | 8 | ||||
-rw-r--r-- | gr-digital/include/digital_glfsr_source_f.h | 10 | ||||
-rw-r--r-- | gr-digital/include/digital_map_bb.h | 8 | ||||
-rw-r--r-- | gr-digital/include/digital_packet_sink.h | 19 | ||||
-rw-r--r-- | gr-digital/include/digital_pn_correlator_cc.h | 15 | ||||
-rw-r--r-- | gr-digital/include/digital_simple_framer.h | 6 |
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 { |