GNU Radio 3.6.5 C++ API

gr::analog::plateau_detector_fb Class Reference

Detects a plateau and marks the middle. More...

#include <plateau_detector_fb.h>

Inheritance diagram for gr::analog::plateau_detector_fb:
gr_sync_block gr_block gr_basic_block gr_msg_accepter gruel::msg_accepter gr::analog::plateau_detector_fb_impl

List of all members.

Public Types

typedef boost::shared_ptr
< plateau_detector_fb

Static Public Member Functions

static sptr make (int max_len, float threshold=0.9)

Detailed Description

Detects a plateau and marks the middle.

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.

Member Typedef Documentation

Member Function Documentation

static sptr gr::analog::plateau_detector_fb::make ( int  max_len,
float  threshold = 0.9 
) [static]
max_lenMaximum length of the plateau
thresholdAnything above this value is considered a plateau

The documentation for this class was generated from the following file: