howto_decim_gdescrambler_cc.h

#ifndef INCLUDED_HOWTO_DECIM_GDESCRAMBLER_CC_H
#define INCLUDED_HOWTO_DECIM_GDESCRAMBLER_CC_H

#include <gr_sync_decimator.h>
#include <gri_glfsr.h>

class howto_decim_gdescrambler_cc;
typedef boost::shared_ptr<howto_decim_gdescrambler_cc> howto_decim_gdescrambler_cc_sptr;

howto_decim_gdescrambler_cc_sptr
howto_make_decim_gdescrambler_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
 */

class howto_decim_gdescrambler_cc : public gr_sync_decimator
{
  friend howto_decim_gdescrambler_cc_sptr howto_make_decim_gdescrambler_cc(int degree, int mask, int seed);

  int        d_len;
  float      d_pn;
  gri_glfsr *d_reference;

 protected:
  howto_decim_gdescrambler_cc(int degree, int mask, int seed);

 public:
   virtual int work(int noutput_items,
		   gr_vector_const_void_star &input_items, 
	   gr_vector_void_star &output_items);

  ~howto_decim_gdescrambler_cc();
};

#endif /* INCLUDED_HOWTO_DECIM_GDESCRAMBLER_CC_H */

最終更新:2011年06月18日 04:17