Cleaning up GRC PAM timing example and adding ability to do M-ary PAM.
authorTom <trondeau@vt.edu>
Fri, 9 Oct 2009 21:34:39 +0000 (14:34 -0700)
committerTom <trondeau@vt.edu>
Fri, 9 Oct 2009 21:34:39 +0000 (14:34 -0700)
gnuradio-examples/grc/demod/pam_timing.grc
grc/blocks/gr_pfb_clock_sync.xml

index d51adb1f2729844afba52f4560f61a1a00de3822..ba5235fa547a1be6e52689202ac7e9e7b5600c6b 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='ASCII'?>
 <flow_graph>
-  <timestamp>Thu Oct  8 21:29:27 2009</timestamp>
+  <timestamp>Fri Oct  9 14:21:35 2009</timestamp>
   <block>
     <key>options</key>
     <param>
     </param>
   </block>
   <block>
-    <key>const_source_x</key>
+    <key>gr_uchar_to_float</key>
     <param>
       <key>id</key>
-      <value>const_source_x_0</value>
+      <value>gr_uchar_to_float_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
-    <param>
-      <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>const</key>
-      <value>-0.5</value>
-    </param>
     <param>
       <key>_coordinate</key>
-      <value>(213, 197)</value>
+      <value>(216, 273)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>gr_add_xx</key>
+    <key>variable_slider</key>
     <param>
       <key>id</key>
-      <value>gr_add_xx_0</value>
+      <value>noise_amp</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>num_inputs</key>
-      <value>2</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(440, 167)</value>
+      <key>label</key>
+      <value>Channel Noise</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>value</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>random_source_x</key>
     <param>
-      <key>id</key>
-      <value>random_source_x_0</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>max</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>num_steps</key>
+      <value>1000</value>
     </param>
     <param>
-      <key>min</key>
-      <value>0</value>
+      <key>style</key>
+      <value>wx.SL_HORIZONTAL</value>
     </param>
     <param>
-      <key>max</key>
-      <value>2</value>
+      <key>converver</key>
+      <value>float_converter</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>10000</value>
+      <key>grid_pos</key>
+      <value></value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>notebook</key>
+      <value></value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(13, 80)</value>
+      <value>(168, 684)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>gr_null_source</key>
+    <key>variable</key>
     <param>
       <key>id</key>
-      <value>gr_null_source_1</value>
+      <value>samp_rate</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>float</value>
+      <value>True</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>value</key>
+      <value>32000</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(387, 257)</value>
+      <value>(128, 9)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>gr_add_xx</key>
+    <key>variable_slider</key>
     <param>
       <key>id</key>
-      <value>gr_add_xx_0_1</value>
+      <value>freq_offset</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>label</key>
+      <value>Frequency Offset</value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>value</key>
+      <value>0</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>min</key>
+      <value>-0.5</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(430, 330)</value>
+      <key>max</key>
+      <value>0.5</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>num_steps</key>
+      <value>1000</value>
     </param>
-  </block>
-  <block>
-    <key>const_source_x</key>
     <param>
-      <key>id</key>
-      <value>const_source_x_0_0</value>
+      <key>style</key>
+      <value>wx.SL_HORIZONTAL</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>converver</key>
+      <value>float_converter</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>grid_pos</key>
+      <value></value>
     </param>
     <param>
-      <key>const</key>
-      <value>-0.5</value>
+      <key>notebook</key>
+      <value></value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(200, 360)</value>
+      <value>(293, 684)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>gr_uchar_to_float</key>
+    <key>variable</key>
     <param>
       <key>id</key>
-      <value>gr_uchar_to_float_0_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,1.0/(spb*nfilts), .35, int(11*spb*nfilts))</value>
+    </param>
     <param>
       <key>_coordinate</key>
-      <value>(216, 273)</value>
+      <value>(513, 679)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>random_source_x</key>
+    <key>variable_slider</key>
     <param>
       <key>id</key>
-      <value>random_source_x_0_0</value>
+      <value>alpha</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>label</key>
+      <value>Timing Alpha</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>0</value>
     </param>
     <param>
       <key>min</key>
     </param>
     <param>
       <key>max</key>
-      <value>2</value>
+      <value>10</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>10000</value>
+      <key>num_steps</key>
+      <value>1000</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <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>(15, 245)</value>
+      <value>(552, 4)</value>
     </param>
     <param>
       <key>_rotation</key>
     <key>variable_slider</key>
     <param>
       <key>id</key>
-      <value>noise_amp</value>
+      <value>beta</value>
     </param>
     <param>
       <key>_enabled</key>
     </param>
     <param>
       <key>label</key>
-      <value>Channel Noise</value>
+      <value>Timing Beta</value>
     </param>
     <param>
       <key>value</key>
     </param>
     <param>
       <key>min</key>
-      <value>0</value>
+      <value>0.0</value>
     </param>
     <param>
       <key>max</key>
-      <value>1.0</value>
+      <value>0.1</value>
     </param>
     <param>
       <key>num_steps</key>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(168, 684)</value>
+      <value>(668, 5)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>180</value>
+    </param>
+  </block>
+  <block>
+    <key>variable</key>
+    <param>
+      <key>id</key>
+      <value>spb_gen</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>4</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(119, 841)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>wxgui_scopesink2</key>
+    <key>random_source_x</key>
     <param>
       <key>id</key>
-      <value>wxgui_scopesink2_0_0_0</value>
+      <value>random_source_x_0</value>
     </param>
     <param>
       <key>_enabled</key>
     </param>
     <param>
       <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>title</key>
-      <value>Scope Plot</value>
-    </param>
-    <param>
-      <key>samp_rate</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>v_scale</key>
-      <value>9</value>
+      <value>byte</value>
     </param>
     <param>
-      <key>t_scale</key>
+      <key>min</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>
+      <key>max</key>
+      <value>pam_amp</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>num_samps</key>
+      <value>10000</value>
     </param>
     <param>
-      <key>notebook</key>
-      <value>notebook_0,1</value>
+      <key>repeat</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1115, 961)</value>
+      <value>(13, 80)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>wxgui_scopesink2</key>
+    <key>random_source_x</key>
     <param>
       <key>id</key>
-      <value>wxgui_scopesink2_0_0_0_0</value>
+      <value>random_source_x_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
     </param>
     <param>
       <key>type</key>
-      <value>float</value>
+      <value>byte</value>
     </param>
     <param>
-      <key>title</key>
-      <value>Scope Plot</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>samp_rate</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>v_scale</key>
-      <value>1.25</value>
-    </param>
-    <param>
-      <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>
+      <key>max</key>
+      <value>pam_amp</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>num_samps</key>
+      <value>10000</value>
     </param>
     <param>
-      <key>notebook</key>
-      <value>notebook_0,2</value>
+      <key>repeat</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1113, 844)</value>
+      <value>(15, 245)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>wxgui_scopesink2</key>
+    <key>const_source_x</key>
     <param>
       <key>id</key>
-      <value>wxgui_scopesink2_0_0</value>
+      <value>const_source_x_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>float</value>
     </param>
     <param>
-      <key>title</key>
-      <value>Error</value>
-    </param>
-    <param>
-      <key>samp_rate</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>v_scale</key>
-      <value>.5</value>
-    </param>
-    <param>
-      <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,0</value>
+      <key>const</key>
+      <value>-0.5*(pam_amp-1)</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1113, 724)</value>
+      <value>(213, 197)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>notebook</key>
+    <key>const_source_x</key>
     <param>
       <key>id</key>
-      <value>notebook_0</value>
+      <value>const_source_x_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>style</key>
-      <value>wx.NB_TOP</value>
-    </param>
-    <param>
-      <key>labels</key>
-      <value>['error', 'phase', 'freq', 'FFT', 'Costas error']</value>
-    </param>
-    <param>
-      <key>grid_pos</key>
-      <value></value>
-    </param>
-    <param>
-      <key>notebook</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(729, 769)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable</key>
-    <param>
-      <key>id</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>value</key>
-      <value>32000</value>
+      <key>const</key>
+      <value>-0.5*(pam_amp-1)</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(128, 9)</value>
+      <value>(200, 360)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>gr_throttle</key>
+    <key>wxgui_scopesink2</key>
     <param>
       <key>id</key>
-      <value>gr_throttle_0</value>
+      <value>wxgui_scopesink2_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
     </param>
     <param>
       <key>type</key>
-      <value>complex</value>
+      <value>float</value>
     </param>
     <param>
-      <key>samples_per_second</key>
-      <value>samp_rate</value>
+      <key>title</key>
+      <value>Error</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>samp_rate</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1129, 462)</value>
+      <key>v_scale</key>
+      <value>.5</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>t_scale</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>gr_costas_loop_cc</key>
-    <param>
-      <key>id</key>
-      <value>gr_costas_loop_cc_0</value>
-    </param>
     <param>
-      <key>_enabled</key>
+      <key>ac_couple</key>
       <value>False</value>
     </param>
     <param>
-      <key>alpha</key>
-      <value>alpha_0</value>
-    </param>
-    <param>
-      <key>beta</key>
-      <value>beta_0</value>
+      <key>xy_mode</key>
+      <value>False</value>
     </param>
     <param>
-      <key>max_freq</key>
-      <value>5</value>
+      <key>num_inputs</key>
+      <value>1</value>
     </param>
     <param>
-      <key>min_freq</key>
-      <value>-5</value>
+      <key>grid_pos</key>
+      <value></value>
     </param>
     <param>
-      <key>order</key>
-      <value>4</value>
+      <key>notebook</key>
+      <value>notebook_0,0</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(299, 453)</value>
+      <value>(1110, 651)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>variable_slider</key>
+    <key>wxgui_scopesink2</key>
     <param>
       <key>id</key>
-      <value>freq_offset</value>
+      <value>wxgui_scopesink2_0_0_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Frequency Offset</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>value</key>
-      <value>0</value>
+      <key>title</key>
+      <value>Scope Plot</value>
     </param>
     <param>
-      <key>min</key>
-      <value>-0.5</value>
+      <key>samp_rate</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>max</key>
-      <value>0.5</value>
+      <key>v_scale</key>
+      <value>1.25</value>
     </param>
     <param>
-      <key>num_steps</key>
-      <value>1000</value>
+      <key>t_scale</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <key>ac_couple</key>
+      <value>False</value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>xy_mode</key>
+      <value>False</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>num_inputs</key>
+      <value>1</value>
     </param>
     <param>
-      <key>notebook</key>
+      <key>grid_pos</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(293, 684)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <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,1.0/(spb*nfilts), .35, int(11*spb*nfilts))</value>
+      <key>notebook</key>
+      <value>notebook_0,2</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(513, 679)</value>
+      <value>(1111, 767)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>root_raised_cosine_filter</key>
+    <key>wxgui_scopesink2</key>
     <param>
       <key>id</key>
-      <value>root_raised_cosine_filter_0_0</value>
+      <value>wxgui_scopesink2_0_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
     </param>
     <param>
       <key>type</key>
-      <value>interp_fir_filter_fff</value>
-    </param>
-    <param>
-      <key>decim</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>interp</key>
-      <value>spb_gen</value>
+      <value>float</value>
     </param>
     <param>
-      <key>gain</key>
-      <value>2*spb_gen</value>
+      <key>title</key>
+      <value>Scope Plot</value>
     </param>
     <param>
       <key>samp_rate</key>
-      <value>1.0</value>
-    </param>
-    <param>
-      <key>sym_rate</key>
-      <value>1./spb_gen</value>
-    </param>
-    <param>
-      <key>alpha</key>
-      <value>0.35</value>
-    </param>
-    <param>
-      <key>ntaps</key>
-      <value>11*spb_gen</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(564, 301)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable_slider</key>
-    <param>
-      <key>id</key>
-      <value>alpha</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>label</key>
-      <value>Timing Alpha</value>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>value</key>
-      <value>0</value>
+      <key>v_scale</key>
+      <value>9</value>
     </param>
     <param>
-      <key>min</key>
+      <key>t_scale</key>
       <value>0</value>
     </param>
     <param>
-      <key>max</key>
-      <value>10</value>
-    </param>
-    <param>
-      <key>num_steps</key>
-      <value>1000</value>
+      <key>ac_couple</key>
+      <value>False</value>
     </param>
     <param>
-      <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <key>xy_mode</key>
+      <value>False</value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>num_inputs</key>
+      <value>1</value>
     </param>
     <param>
       <key>grid_pos</key>
     </param>
     <param>
       <key>notebook</key>
-      <value></value>
+      <value>notebook_0,1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(552, 4)</value>
+      <value>(1112, 881)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>variable_slider</key>
+    <key>gr_channel_model</key>
     <param>
       <key>id</key>
-      <value>beta</value>
+      <value>gr_channel_model_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Timing Beta</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>min</key>
-      <value>0.0</value>
-    </param>
-    <param>
-      <key>max</key>
-      <value>0.1</value>
-    </param>
-    <param>
-      <key>num_steps</key>
-      <value>1000</value>
+      <key>noise_voltage</key>
+      <value>noise_amp</value>
     </param>
     <param>
-      <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <key>freq_offset</key>
+      <value>freq_offset</value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>epsilon</key>
+      <value>interpratio</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>taps</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>notebook</key>
-      <value></value>
+      <key>seed</key>
+      <value>42</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(668, 5)</value>
+      <value>(59, 543)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>180</value>
+      <value>0</value>
     </param>
   </block>
   <block>
-    <key>variable_slider</key>
+    <key>gr_throttle</key>
     <param>
       <key>id</key>
-      <value>alpha_0</value>
+      <value>gr_throttle_0</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>label</key>
-      <value>Freq Alpha</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>0.01</value>
-    </param>
-    <param>
-      <key>min</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>max</key>
-      <value>0.1</value>
-    </param>
-    <param>
-      <key>num_steps</key>
-      <value>1000</value>
-    </param>
-    <param>
-      <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <value>True</value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>samples_per_second</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>notebook</key>
-      <value></value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(792, 6)</value>
+      <value>(290, 575)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>variable_slider</key>
+    <key>notebook</key>
     <param>
       <key>id</key>
-      <value>beta_0</value>
+      <value>notebook_0</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>label</key>
-      <value>Freq Beta</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>0.001</value>
-    </param>
-    <param>
-      <key>min</key>
-      <value>0.0</value>
-    </param>
-    <param>
-      <key>max</key>
-      <value>0.01</value>
-    </param>
-    <param>
-      <key>num_steps</key>
-      <value>1000</value>
+      <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', 'Resampled Signal']</value>
     </param>
     <param>
       <key>grid_pos</key>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(919, 7)</value>
+      <value>(729, 769)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>180</value>
+      <value>0</value>
     </param>
   </block>
   <block>
     <key>wxgui_scopesink2</key>
     <param>
       <key>id</key>
-      <value>wxgui_scopesink2_0</value>
+      <value>wxgui_scopesink2_0_0_1</value>
     </param>
     <param>
       <key>_enabled</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>
       <value></value>
     </param>
     <param>
-      <key>notebook</key>
-      <value></value>
+      <key>notebook</key>
+      <value>notebook_0,3</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(1115, 358)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>variable</key>
+    <param>
+      <key>id</key>
+      <value>spb</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>4.1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1145, 258)</value>
+      <value>(32, 842)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>wxgui_scopesink2</key>
+    <key>gr_add_xx</key>
     <param>
       <key>id</key>
-      <value>wxgui_scopesink2_0_0_1</value>
+      <value>gr_add_xx_0</value>
     </param>
     <param>
       <key>_enabled</key>
     </param>
     <param>
       <key>type</key>
-      <value>complex</value>
+      <value>float</value>
     </param>
     <param>
-      <key>title</key>
-      <value>Error</value>
+      <key>num_inputs</key>
+      <value>2</value>
     </param>
     <param>
-      <key>samp_rate</key>
-      <value>samp_rate</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>v_scale</key>
-      <value>.5</value>
+      <key>_coordinate</key>
+      <value>(440, 167)</value>
     </param>
     <param>
-      <key>t_scale</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>gr_add_xx</key>
     <param>
-      <key>ac_couple</key>
-      <value>False</value>
+      <key>id</key>
+      <value>gr_add_xx_0_1</value>
     </param>
     <param>
-      <key>xy_mode</key>
-      <value>False</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>1</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>num_inputs</key>
+      <value>2</value>
     </param>
     <param>
-      <key>notebook</key>
-      <value>notebook_0,4</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1107, 533)</value>
+      <value>(430, 330)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>variable</key>
+    <key>blks2_pfb_arb_resampler_ccf</key>
     <param>
       <key>id</key>
-      <value>spb_gen</value>
+      <value>blks2_pfb_arb_resampler_ccf_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>4</value>
+      <key>rate</key>
+      <value>float(spb)/float(spb_gen)</value>
+    </param>
+    <param>
+      <key>taps</key>
+      <value>firdes.low_pass(128, 128, 0.45, 0.1)</value>
+    </param>
+    <param>
+      <key>size</key>
+      <value>128</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(119, 841)</value>
+      <value>(617, 374)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(904, 184)</value>
+      <value>(590, 184)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
     <param>
       <key>type</key>
-      <value>interp_fir_filter_fff</value>
+      <value>interp_fir_filter_ccf</value>
     </param>
     <param>
       <key>decim</key>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(557, 140)</value>
+      <value>(832, 157)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>variable</key>
+    <key>wxgui_scopesink2</key>
     <param>
       <key>id</key>
-      <value>spb</value>
+      <value>wxgui_scopesink2_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>4.01</value>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(32, 842)</value>
+      <key>title</key>
+      <value>Scope Plot</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>samp_rate</key>
+      <value>samp_rate</value>
     </param>
-  </block>
-  <block>
-    <key>gr_channel_model</key>
     <param>
-      <key>id</key>
-      <value>gr_channel_model_0</value>
+      <key>v_scale</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>False</value>
+      <key>t_scale</key>
+      <value>0</value>
     </param>
     <param>
-      <key>noise_voltage</key>
-      <value>noise_amp</value>
+      <key>ac_couple</key>
+      <value>False</value>
     </param>
     <param>
-      <key>freq_offset</key>
-      <value>freq_offset</value>
+      <key>xy_mode</key>
+      <value>False</value>
     </param>
     <param>
-      <key>epsilon</key>
-      <value>interpratio</value>
+      <key>num_inputs</key>
+      <value>1</value>
     </param>
     <param>
-      <key>taps</key>
-      <value>1.0</value>
+      <key>grid_pos</key>
+      <value></value>
     </param>
     <param>
-      <key>seed</key>
-      <value>42</value>
+      <key>notebook</key>
+      <value></value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(59, 543)</value>
+      <value>(1116, 500)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
   </block>
   <block>
-    <key>blks2_pfb_arb_resampler_ccf</key>
+    <key>variable</key>
     <param>
       <key>id</key>
-      <value>blks2_pfb_arb_resampler_ccf_0</value>
+      <value>nfilts</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>rate</key>
-      <value>float(spb)/float(spb_gen)</value>
-    </param>
-    <param>
-      <key>taps</key>
-      <value>firdes.low_pass(320, 320, 0.45, 0.1)</value>
-    </param>
-    <param>
-      <key>size</key>
-      <value>320</value>
+      <key>value</key>
+      <value>64</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(874, 374)</value>
+      <value>(435, 686)</value>
     </param>
     <param>
       <key>_rotation</key>
     </param>
     <param>
       <key>init_phase</key>
-      <value>14</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(512, 527)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>wxgui_fftsink2</key>
-    <param>
-      <key>id</key>
-      <value>wxgui_fftsink2_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>title</key>
-      <value>FFT Plot</value>
-    </param>
-    <param>
-      <key>samp_rate</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>baseband_freq</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>y_per_div</key>
-      <value>10</value>
+      <value>16</value>
     </param>
     <param>
-      <key>y_divs</key>
-      <value>10</value>
-    </param>
-    <param>
-      <key>ref_level</key>
-      <value>50</value>
-    </param>
-    <param>
-      <key>ref_scale</key>
-      <value>2.0</value>
-    </param>
-    <param>
-      <key>fft_size</key>
-      <value>1024</value>
-    </param>
-    <param>
-      <key>fft_rate</key>
-      <value>30</value>
-    </param>
-    <param>
-      <key>peak_hold</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>average</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>avg_alpha</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>grid_pos</key>
-      <value></value>
-    </param>
-    <param>
-      <key>notebook</key>
-      <value>notebook_0,3</value>
+      <key>max_dev</key>
+      <value>20</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(517, 767)</value>
+      <value>(512, 527)</value>
     </param>
     <param>
       <key>_rotation</key>
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>nfilts</value>
+      <value>pam_amp</value>
     </param>
     <param>
       <key>_enabled</key>
     </param>
     <param>
       <key>value</key>
-      <value>64</value>
+      <value>16</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(435, 686)</value>
+      <value>(223, 9)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
   </block>
-  <connection>
-    <source_block_id>gr_throttle_0</source_block_id>
-    <sink_block_id>wxgui_scopesink2_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
   <connection>
     <source_block_id>gr_pfb_clock_sync_ccf_0</source_block_id>
     <sink_block_id>wxgui_scopesink2_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>1</sink_key>
   </connection>
-  <connection>
-    <source_block_id>gr_add_xx_0</source_block_id>
-    <sink_block_id>root_raised_cosine_filter_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
   <connection>
     <source_block_id>gr_uchar_to_float_0_0</source_block_id>
     <sink_block_id>gr_add_xx_0_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>1</sink_key>
   </connection>
-  <connection>
-    <source_block_id>gr_add_xx_0_1</source_block_id>
-    <sink_block_id>root_raised_cosine_filter_0_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
   <connection>
     <source_block_id>random_source_x_0_0</source_block_id>
     <sink_block_id>gr_uchar_to_float_0_0</sink_block_id>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>gr_null_source_1</source_block_id>
-    <sink_block_id>root_raised_cosine_filter_0_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>root_raised_cosine_filter_0_0</source_block_id>
-    <sink_block_id>gr_float_to_complex_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>1</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>root_raised_cosine_filter_0</source_block_id>
-    <sink_block_id>gr_float_to_complex_0</sink_block_id>
+    <source_block_id>blks2_pfb_arb_resampler_ccf_0</source_block_id>
+    <sink_block_id>gr_channel_model_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>gr_channel_model_0</source_block_id>
-    <sink_block_id>wxgui_fftsink2_0</sink_block_id>
+    <source_block_id>blks2_pfb_arb_resampler_ccf_0</source_block_id>
+    <sink_block_id>wxgui_scopesink2_0_0_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
     <source_block_id>gr_channel_model_0</source_block_id>
-    <sink_block_id>gr_costas_loop_cc_0</sink_block_id>
+    <sink_block_id>gr_throttle_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>gr_costas_loop_cc_0</source_block_id>
+    <source_block_id>gr_throttle_0</source_block_id>
     <sink_block_id>gr_pfb_clock_sync_ccf_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
-  <connection>
-    <source_block_id>gr_costas_loop_cc_0</source_block_id>
-    <sink_block_id>wxgui_scopesink2_0_0_1</sink_block_id>
-    <source_key>1</source_key>
-    <sink_key>0</sink_key>
-  </connection>
   <connection>
     <source_block_id>gr_pfb_clock_sync_ccf_0</source_block_id>
-    <sink_block_id>gr_throttle_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>gr_channel_model_0</source_block_id>
-    <sink_block_id>gr_pfb_clock_sync_ccf_0</sink_block_id>
+    <sink_block_id>wxgui_scopesink2_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>gr_float_to_complex_0</source_block_id>
-    <sink_block_id>blks2_pfb_arb_resampler_ccf_0</sink_block_id>
+    <source_block_id>gr_add_xx_0</source_block_id>
+    <sink_block_id>gr_float_to_complex_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blks2_pfb_arb_resampler_ccf_0</source_block_id>
-    <sink_block_id>gr_channel_model_0</sink_block_id>
+    <source_block_id>gr_add_xx_0_1</source_block_id>
+    <sink_block_id>gr_float_to_complex_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>blks2_pfb_arb_resampler_ccf_0</source_block_id>
-    <sink_block_id>wxgui_scopesink2_0_0_1</sink_block_id>
+    <source_block_id>gr_float_to_complex_0</source_block_id>
+    <sink_block_id>root_raised_cosine_filter_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blks2_pfb_arb_resampler_ccf_0</source_block_id>
-    <sink_block_id>gr_pfb_clock_sync_ccf_0</sink_block_id>
+    <source_block_id>root_raised_cosine_filter_0</source_block_id>
+    <sink_block_id>blks2_pfb_arb_resampler_ccf_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
index 670d5b463667f71cf3a305b8afeff46320843c16..9cb909acd165128d86590df655bf4c2355153b38 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, $alpha, $taps, $filter_size, $init_phase)
+       <make>gr.pfb_clock_sync_ccf($sps, $alpha, $taps, $filter_size, $init_phase, $max_dev)
 self.$(id).set_beta($beta)</make>
        <callback>set_taps($taps)</callback>
        <callback>set_alpha($alpha)</callback>
@@ -44,6 +44,11 @@ self.$(id).set_beta($beta)</make>
                <key>init_phase</key>
                <type>real</type>
        </param>
+       <param>
+               <name>Maximum Rate Deviation</name>
+               <key>max_dev</key>
+               <type>real</type>
+       </param>
        <sink>
                <name>in</name>
                <type>complex</type>