Adding accessor functions for both alpha and beta.
authorTom <trondeau@vt.edu>
Wed, 7 Oct 2009 02:31:45 +0000 (19:31 -0700)
committerTom <trondeau@vt.edu>
Wed, 7 Oct 2009 02:31:45 +0000 (19:31 -0700)
gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc
gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.h
gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.i
gnuradio-examples/grc/demod/pam_timing.grc
grc/blocks/gr_pfb_clock_sync.xml

index 60ce5d2b3e9755928e3cf7aabe6e2dac86bfc109..62282fd6af5ebeaa166b2900e8450f4c06a72eba 100644 (file)
@@ -60,7 +60,8 @@ gr_pfb_clock_sync_ccf::gr_pfb_clock_sync_ccf (float sps, float gain,
   // The accumulator keeps track of overflow to increment the stride correctly.
   // set it here to the fractional difference based on the initial phaes
   // assert(init_phase <= 2*M_PI);
-  set_gain(gain);
+  set_alpha(gain);
+  set_beta(0.25*gain*gain);
   d_k = d_nfilters / 2;
   d_rate = 0;
   d_start_count = 0;
index b8e0f83b68bc4a8f8c3c9073c5e334cd57075263..5a606193191cd91f63bec101f37e0697b1bd1f7a 100644 (file)
@@ -98,10 +98,13 @@ public:
   void print_taps();
   void print_diff_taps();
 
-  void set_gain(float gain)
+  void set_alpha(float alpha)
   { 
-    d_alpha = gain;
-    d_beta = 0.25*d_alpha*d_alpha;
+    d_alpha = alpha;
+  }
+  void set_beta(float beta)
+  {
+    d_beta = beta;
   }
   
   int general_work (int noutput_items,
index 9defbc7cd090b0b31459418ddb695e2ec160c8f6..7859154791f43a137cfad2f8e114df12bf53a3b5 100644 (file)
@@ -46,5 +46,6 @@ class gr_pfb_clock_sync_ccf : public gr_block
   std::vector<float> diff_channel_taps(int channel);
   void print_taps();
   void print_diff_taps();
-  void set_gain(float gain);
+  void set_alpha(float alpha);
+  void set_beta(float beta);
 };
index 8722714b8f498316f63bf03a0bb3b9ec627ac3d5..4152d79a96e4f2aa194c72429c0c602602b44a3c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='ASCII'?>
 <flow_graph>
-  <timestamp>Tue Oct  6 18:00:19 2009</timestamp>
+  <timestamp>Tue Oct  6 19:23:45 2009</timestamp>
   <block>
     <key>options</key>
     <param>
       <value>0</value>
     </param>
   </block>
-  <block>
-    <key>variable</key>
-    <param>
-      <key>id</key>
-      <value>rrctaps</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>firdes.root_raised_cosine(nfilts,1.0,0.25/nfilts, .35, 11*spb*nfilts)</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(180, 935)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
   <block>
     <key>gr_throttle</key>
     <param>
       <value>0</value>
     </param>
   </block>
-  <block>
-    <key>gr_fractional_interpolator_xx</key>
-    <param>
-      <key>id</key>
-      <value>gr_fractional_interpolator_xx_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>phase_shift</key>
-      <value>0.5</value>
-    </param>
-    <param>
-      <key>interp_ratio</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(349, 662)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
   <block>
     <key>variable</key>
     <param>
     </param>
   </block>
   <block>
-    <key>variable_slider</key>
+    <key>gr_add_xx</key>
     <param>
       <key>id</key>
-      <value>gain</value>
+      <value>gr_add_xx_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Gain</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>value</key>
-      <value>0</value>
+      <key>num_inputs</key>
+      <value>2</value>
     </param>
     <param>
-      <key>min</key>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(482, 130)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
       <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>notebook</key>
     <param>
-      <key>max</key>
-      <value>1</value>
+      <key>id</key>
+      <value>notebook_0</value>
     </param>
     <param>
-      <key>num_steps</key>
-      <value>1000</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <value>wx.NB_TOP</value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>labels</key>
+      <value>['error', 'phase', 'freq']</value>
     </param>
     <param>
       <key>grid_pos</key>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(757, -1)</value>
+      <value>(851, 531)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>gr_add_xx</key>
+    <key>variable</key>
     <param>
       <key>id</key>
-      <value>gr_add_xx_0</value>
+      <value>rrctaps</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>firdes.root_raised_cosine(nfilts,1.0,0.25/nfilts, .35, 11*spb*nfilts)</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(110, 830)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>variable</key>
+    <param>
+      <key>id</key>
+      <value>initphase</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>0.5</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(110, 913)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>gr_fractional_interpolator_xx</key>
+    <param>
+      <key>id</key>
+      <value>gr_fractional_interpolator_xx_0</value>
     </param>
     <param>
       <key>_enabled</key>
     </param>
     <param>
       <key>type</key>
-      <value>float</value>
+      <value>complex</value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>phase_shift</key>
+      <value>initphase</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>interp_ratio</key>
+      <value>interpratio</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(482, 130)</value>
+      <value>(349, 662)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>notebook</key>
+    <key>variable_slider</key>
     <param>
       <key>id</key>
-      <value>notebook_0</value>
+      <value>interpratio</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
+    <param>
+      <key>label</key>
+      <value></value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>min</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>max</key>
+      <value>2</value>
+    </param>
+    <param>
+      <key>num_steps</key>
+      <value>1000</value>
+    </param>
     <param>
       <key>style</key>
-      <value>wx.NB_TOP</value>
+      <value>wx.SL_HORIZONTAL</value>
     </param>
     <param>
-      <key>labels</key>
-      <value>['error', 'phase', 'freq']</value>
+      <key>converver</key>
+      <value>float_converter</value>
     </param>
     <param>
       <key>grid_pos</key>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(851, 531)</value>
+      <value>(232, 921)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
     <param>
       <key>title</key>
-      <value>Scope Plot</value>
+      <value>Error</value>
     </param>
     <param>
       <key>samp_rate</key>
     </param>
     <param>
       <key>v_scale</key>
-      <value>0</value>
+      <value>.5</value>
     </param>
     <param>
       <key>t_scale</key>
     </param>
     <param>
       <key>v_scale</key>
-      <value>0</value>
+      <value>9</value>
     </param>
     <param>
       <key>t_scale</key>
     </param>
   </block>
   <block>
-    <key>gr_pfb_clock_sync_ccf</key>
+    <key>wxgui_scopesink2</key>
     <param>
       <key>id</key>
-      <value>gr_pfb_clock_sync_ccf_0</value>
+      <value>wxgui_scopesink2_0_0_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>sps</key>
-      <value>spb</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>gain</key>
-      <value>gain</value>
+      <key>title</key>
+      <value>Scope Plot</value>
     </param>
     <param>
-      <key>taps</key>
-      <value>rrctaps</value>
+      <key>samp_rate</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>filter_size</key>
-      <value>nfilts</value>
+      <key>v_scale</key>
+      <value>1.25</value>
     </param>
     <param>
-      <key>init_phase</key>
-      <value>14</value>
+      <key>t_scale</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>ac_couple</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>xy_mode</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>num_inputs</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>grid_pos</key>
+      <value></value>
+    </param>
+    <param>
+      <key>notebook</key>
+      <value>notebook_0,2</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(341, 777)</value>
+      <value>(797, 915)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>wxgui_scopesink2</key>
+    <key>variable_slider</key>
     <param>
       <key>id</key>
-      <value>wxgui_scopesink2_0_0_0_0</value>
+      <value>alpha</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>label</key>
+      <value>Alpha</value>
     </param>
     <param>
-      <key>title</key>
-      <value>Scope Plot</value>
+      <key>value</key>
+      <value>0</value>
     </param>
     <param>
-      <key>samp_rate</key>
-      <value>samp_rate</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>v_scale</key>
-      <value>0</value>
+      <key>max</key>
+      <value>1</value>
     </param>
     <param>
-      <key>t_scale</key>
+      <key>num_steps</key>
+      <value>1000</value>
+    </param>
+    <param>
+      <key>style</key>
+      <value>wx.SL_HORIZONTAL</value>
+    </param>
+    <param>
+      <key>converver</key>
+      <value>float_converter</value>
+    </param>
+    <param>
+      <key>grid_pos</key>
+      <value></value>
+    </param>
+    <param>
+      <key>notebook</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(757, -1)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
       <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_slider</key>
     <param>
-      <key>ac_couple</key>
-      <value>False</value>
+      <key>id</key>
+      <value>beta</value>
     </param>
     <param>
-      <key>xy_mode</key>
-      <value>False</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>num_inputs</key>
+      <key>label</key>
+      <value>Beta</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>min</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>max</key>
       <value>1</value>
     </param>
+    <param>
+      <key>num_steps</key>
+      <value>1000</value>
+    </param>
+    <param>
+      <key>style</key>
+      <value>wx.SL_HORIZONTAL</value>
+    </param>
+    <param>
+      <key>converver</key>
+      <value>float_converter</value>
+    </param>
     <param>
       <key>grid_pos</key>
       <value></value>
     </param>
     <param>
       <key>notebook</key>
-      <value>notebook_0,2</value>
+      <value></value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(797, 915)</value>
+      <value>(871, 0)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>gr_pfb_clock_sync_ccf</key>
+    <param>
+      <key>id</key>
+      <value>gr_pfb_clock_sync_ccf_0</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>sps</key>
+      <value>spb</value>
+    </param>
+    <param>
+      <key>alpha</key>
+      <value>alpha</value>
+    </param>
+    <param>
+      <key>beta</key>
+      <value>beta</value>
+    </param>
+    <param>
+      <key>taps</key>
+      <value>rrctaps</value>
+    </param>
+    <param>
+      <key>filter_size</key>
+      <value>nfilts</value>
+    </param>
+    <param>
+      <key>init_phase</key>
+      <value>14</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(346, 773)</value>
     </param>
     <param>
       <key>_rotation</key>
index 3a066c23c1afcb1144ce2ba074e8036f4d8a8b8a..c9487f52c495eeb35566675275694963cc55eb23 100644 (file)
@@ -8,7 +8,7 @@
        <name>Polyphase Clock Sync</name>
        <key>gr_pfb_clock_sync_ccf</key>
        <import>from gnuradio import gr</import>
-       <make>gr.pfb_clock_sync_ccf($sps, $gain, $taps, $filter_size, $init_phase)</make>
+       <make>gr.pfb_clock_sync_ccf($sps, $alpha, $taps, $filter_size, $init_phase)</make>
        <callback>set_taps($taps)</callback>
        <callback>set_gain($gain)</callback>
 
                <type>real</type>
        </param>
        <param>
-               <name>Gain</name>
-               <key>gain</key>
+               <name>Alpha</name>
+               <key>alpha</key>
+               <type>real</type>
+       </param>
+       <param>
+               <name>Beta</name>
+               <key>beta</key>
                <type>real</type>
        </param>
        <param>