summaryrefslogtreecommitdiff
path: root/gr-blocks/include/gnuradio/blocks/plateau_detector_fb.h
diff options
context:
space:
mode:
Diffstat (limited to 'gr-blocks/include/gnuradio/blocks/plateau_detector_fb.h')
-rw-r--r--gr-blocks/include/gnuradio/blocks/plateau_detector_fb.h69
1 files changed, 34 insertions, 35 deletions
diff --git a/gr-blocks/include/gnuradio/blocks/plateau_detector_fb.h b/gr-blocks/include/gnuradio/blocks/plateau_detector_fb.h
index 9a9d7c8a16..efad9231e6 100644
--- a/gr-blocks/include/gnuradio/blocks/plateau_detector_fb.h
+++ b/gr-blocks/include/gnuradio/blocks/plateau_detector_fb.h
@@ -28,46 +28,45 @@
#include <gnuradio/sync_block.h>
namespace gr {
- namespace blocks {
+namespace blocks {
+
+/*!
+ * \brief Detects a plateau and marks the middle.
+ * \ingroup peak_detectors_blk
+ *
+ * \details
+ * Detect a plateau of a-priori known height. Input is a stream of floats,
+ * the output is a stream of bytes. Whenever a plateau is detected, the
+ * middle of that plateau is marked with a '1' on the output stream (all
+ * other samples are left at zero).
+ *
+ * You can use this in a Schmidl & Cox synchronisation algorithm to interpret
+ * the output of the normalized correlator. Just pass the length of the cyclic
+ * prefix (in samples) as the max_len parameter).
+ *
+ * Unlike the peak detectors, you must the now the absolute height of the plateau.
+ * Whenever the amplitude exceeds the given threshold, it starts assuming the
+ * presence of a plateau.
+ *
+ * An implicit hysteresis is provided by the fact that after detecting one plateau,
+ * it waits at least max_len samples before the next plateau can be detected.
+ */
+class BLOCKS_API plateau_detector_fb : virtual public block
+{
+public:
+ typedef boost::shared_ptr<plateau_detector_fb> sptr;
/*!
- * \brief Detects a plateau and marks the middle.
- * \ingroup peak_detectors_blk
- *
- * \details
- * Detect a plateau of a-priori known height. Input is a stream of floats,
- * the output is a stream of bytes. Whenever a plateau is detected, the
- * middle of that plateau is marked with a '1' on the output stream (all
- * other samples are left at zero).
- *
- * You can use this in a Schmidl & Cox synchronisation algorithm to interpret
- * the output of the normalized correlator. Just pass the length of the cyclic
- * prefix (in samples) as the max_len parameter).
- *
- * Unlike the peak detectors, you must the now the absolute height of the plateau.
- * Whenever the amplitude exceeds the given threshold, it starts assuming the
- * presence of a plateau.
- *
- * An implicit hysteresis is provided by the fact that after detecting one plateau,
- * it waits at least max_len samples before the next plateau can be detected.
+ * \param max_len Maximum length of the plateau
+ * \param threshold Anything above this value is considered a plateau
*/
- class BLOCKS_API plateau_detector_fb : virtual public block
- {
- public:
- typedef boost::shared_ptr<plateau_detector_fb> sptr;
+ static sptr make(int max_len, float threshold = 0.9);
- /*!
- * \param max_len Maximum length of the plateau
- * \param threshold Anything above this value is considered a plateau
- */
- static sptr make(int max_len, float threshold=0.9);
+ virtual void set_threshold(float threshold) = 0;
+ virtual float threshold() const = 0;
+};
- virtual void set_threshold(float threshold) = 0;
- virtual float threshold() const = 0;
- };
-
- } // namespace blocks
+} // namespace blocks
} // namespace gr
#endif /* INCLUDED_BLOCKS_PLATEAU_DETECTOR_FB_H */
-