summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gr-filter/include/filter/channel_model.h34
-rw-r--r--gr-filter/include/filter/fractional_interpolator_cc.h6
-rw-r--r--gr-filter/include/filter/fractional_interpolator_ff.h6
-rw-r--r--gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t6
4 files changed, 44 insertions, 8 deletions
diff --git a/gr-filter/include/filter/channel_model.h b/gr-filter/include/filter/channel_model.h
index 42b879515..44d7f1a64 100644
--- a/gr-filter/include/filter/channel_model.h
+++ b/gr-filter/include/filter/channel_model.h
@@ -33,6 +33,16 @@ namespace gr {
/*!
* \brief channel simulator
* \ingroup misc_blk
+ *
+ * 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.
+ *
+ * Multipath can be approximated in this model by using a FIR
+ * filter representation of a multipath delay profile..
*/
class FILTER_API channel_model : virtual public gr_hier_block2
{
@@ -40,11 +50,25 @@ namespace gr {
// gr::filter::channel_model::sptr
typedef boost::shared_ptr<channel_model> sptr;
- static FILTER_API sptr make(double noise_voltage,
- double frequency_offset,
- double epsilon,
- const std::vector<gr_complex> &taps,
- double noise_seed=0);
+ /*! \brief Build the channel simulator.
+ *
+ * \param noise_voltage The AWGN noise level as a voltage (to be
+ * calculated externally to meet, say, a
+ * desired SNR).
+ * \param frequency_offset The normalized frequency offset. 0 is
+ * no offset; 0.25 would be, for a digital
+ * modem, one quarter of the symbol rate.
+ * \param epsilon The sample timing offset to emulate the
+ * different rates between the sample clocks of
+ * the transmitter and receiver. 1.0 is no difference.
+ * \param taps Taps of a FIR filter to emulate a multipath delay profile.
+ * \param noise_seed A random number generator seed for the noise source.
+ */
+ static FILTER_API sptr make(double noise_voltage=0.0,
+ double frequency_offset=0.0,
+ double epsilon=1.0,
+ const std::vector<gr_complex> &taps=std::vector<gr_complex>(1,1),
+ double noise_seed=3021);
virtual void set_noise_voltage(double noise_voltage) = 0;
virtual void set_frequency_offset(double frequency_offset) = 0;
diff --git a/gr-filter/include/filter/fractional_interpolator_cc.h b/gr-filter/include/filter/fractional_interpolator_cc.h
index e5d066bbc..3f196c80f 100644
--- a/gr-filter/include/filter/fractional_interpolator_cc.h
+++ b/gr-filter/include/filter/fractional_interpolator_cc.h
@@ -39,6 +39,12 @@ namespace gr {
// gr::filter::fractional_interpolator_cc::sptr
typedef boost::shared_ptr<fractional_interpolator_cc> sptr;
+ /*!
+ * \brief Build the interpolating MMSE filter (complex input, complex output)
+ *
+ * \param phase_shift The phase shift of the output signal to the input
+ * \param interp_ratio The interpolation ratio = input_rate / output_rate.
+ */
static FILTER_API sptr make(float phase_shift,
float interp_ratio);
diff --git a/gr-filter/include/filter/fractional_interpolator_ff.h b/gr-filter/include/filter/fractional_interpolator_ff.h
index 8280baee3..e05da847d 100644
--- a/gr-filter/include/filter/fractional_interpolator_ff.h
+++ b/gr-filter/include/filter/fractional_interpolator_ff.h
@@ -39,6 +39,12 @@ namespace gr {
// gr::filter::fractional_interpolator_ff::sptr
typedef boost::shared_ptr<fractional_interpolator_ff> sptr;
+ /*!
+ * \brief Build the interpolating MMSE filter (float input, float output)
+ *
+ * \param phase_shift The phase shift of the output signal to the input
+ * \param interp_ratio The interpolation ratio = input_rate / output_rate.
+ */
static FILTER_API sptr make(float phase_shift,
float interp_ratio);
diff --git a/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t b/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t
index d56303461..8764c4f0d 100644
--- a/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t
+++ b/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t
@@ -38,8 +38,9 @@ namespace gr {
/*!
* \brief FIR filter combined with frequency translation with
- * @I_TYPE@ input, @O_TYPE@ output and @TAP_TYPE@ taps \ingroup
- * filter_blk
+ * @I_TYPE@ input, @O_TYPE@ output and @TAP_TYPE@ taps
+ *
+ * \ingroup filter_blk
*
* This class efficiently combines a frequency translation
* (typically "down conversion") with a FIR filter (typically
@@ -60,7 +61,6 @@ namespace gr {
* \brief FIR filter with @I_TYPE@ input, @O_TYPE@ output, and
* @TAP_TYPE@ taps that also frequency translates a signal from
* \p center_freq.
- * \ingroup filter_blk
*
* Construct a FIR filter with the given taps and a composite
* frequency translation that shifts center_freq down to zero