commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r4846 - in gnuradio/branches/developers/jcorgan/channe


From: jcorgan
Subject: [Commit-gnuradio] r4846 - in gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src: lib/general python/gnuradio/gr
Date: Mon, 2 Apr 2007 12:57:05 -0600 (MDT)

Author: jcorgan
Date: 2007-04-02 12:57:04 -0600 (Mon, 02 Apr 2007)
New Revision: 4846

Modified:
   
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc
   
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.h
   
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.i
   
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/python/gnuradio/gr/qa_pn_correlator_cc.py
Log:
Work in progress.

Modified: 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc
===================================================================
--- 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc
   2007-04-02 18:20:17 UTC (rev 4845)
+++ 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc
   2007-04-02 18:57:04 UTC (rev 4846)
@@ -28,19 +28,26 @@
 #include <gr_io_signature.h>
 
 gr_pn_correlator_cc_sptr
-gr_make_pn_correlator_cc()
+gr_make_pn_correlator_cc(int degree, int mask, int seed)
 {
-  return gr_pn_correlator_cc_sptr (new gr_pn_correlator_cc());
+  return gr_pn_correlator_cc_sptr (new gr_pn_correlator_cc(degree, mask, 
seed));
 }
 
-gr_pn_correlator_cc::gr_pn_correlator_cc()
+gr_pn_correlator_cc::gr_pn_correlator_cc(int degree, int mask, int seed)
   : gr_sync_decimator ("pn_correlator_cc",
                       gr_make_io_signature (1, 1, sizeof(gr_complex)),
                       gr_make_io_signature (1, 1, sizeof(gr_complex)),
-                      1) // will become code length
+                      (unsigned int)((1ULL << degree)-1)) // PN code length
 {
+  d_len = (unsigned int)((1ULL << degree)-1);
+  d_glfsr = new gri_glfsr(mask, seed);
 }
 
+gr_pn_correlator_cc::~gr_pn_correlator_cc()
+{
+  delete d_glfsr;
+}
+
 int
 gr_pn_correlator_cc::work(int noutput_items,
                          gr_vector_const_void_star &input_items,

Modified: 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.h
===================================================================
--- 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.h
    2007-04-02 18:20:17 UTC (rev 4845)
+++ 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.h
    2007-04-02 18:57:04 UTC (rev 4846)
@@ -24,12 +24,13 @@
 #define INCLUDED_GR_PN_CORRELATOR_CC_H
 
 #include <gr_sync_decimator.h>
+#include <gri_glfsr.h>
 
 class gr_pn_correlator_cc;
 typedef boost::shared_ptr<gr_pn_correlator_cc> gr_pn_correlator_cc_sptr;
 
 gr_pn_correlator_cc_sptr
-gr_make_pn_correlator_cc ();
+gr_make_pn_correlator_cc(int degree, int mask=0, int seed=1);
 /*!
  * \brief PN code sequential search correlator
  *
@@ -39,15 +40,20 @@
 
 class gr_pn_correlator_cc : public gr_sync_decimator
 {
-  friend gr_pn_correlator_cc_sptr gr_make_pn_correlator_cc();
+  friend gr_pn_correlator_cc_sptr gr_make_pn_correlator_cc(int degree, int 
mask, int seed);
 
+  int d_len;
+  gri_glfsr *d_glfsr;
+
  protected:
-  gr_pn_correlator_cc();
+  gr_pn_correlator_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);
+
+  ~gr_pn_correlator_cc();
 };
 
 #endif /* INCLUDED_GR_PN_CORRELATOR_CC_H */

Modified: 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.i
===================================================================
--- 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.i
    2007-04-02 18:20:17 UTC (rev 4845)
+++ 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/lib/general/gr_pn_correlator_cc.i
    2007-04-02 18:57:04 UTC (rev 4846)
@@ -23,7 +23,7 @@
 GR_SWIG_BLOCK_MAGIC(gr,pn_correlator_cc)
 
 gr_pn_correlator_cc_sptr 
-gr_make_pn_correlator_cc();
+gr_make_pn_correlator_cc(int degree, int mask=0, int seed=1);
 
 class gr_pn_correlator_cc : public gr_sync_decimator
 {

Modified: 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/python/gnuradio/gr/qa_pn_correlator_cc.py
===================================================================
--- 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/python/gnuradio/gr/qa_pn_correlator_cc.py
    2007-04-02 18:20:17 UTC (rev 4845)
+++ 
gnuradio/branches/developers/jcorgan/channel/gnuradio-core/src/python/gnuradio/gr/qa_pn_correlator_cc.py
    2007-04-02 18:57:04 UTC (rev 4846)
@@ -31,7 +31,7 @@
         self.fg = None
 
     def test_000_make(self):
-        c = gr.pn_correlator_cc()
+        c = gr.pn_correlator_cc(10)
 
 if __name__ == '__main__':
     gr_unittest.main ()





reply via email to

[Prev in Thread] Current Thread [Next in Thread]