summaryrefslogtreecommitdiff
path: root/grc/blocks
diff options
context:
space:
mode:
authorJohnathan Corgan2009-10-06 14:56:43 -0700
committerJohnathan Corgan2009-10-06 14:56:43 -0700
commit3159eba60cbf3a8ed2fee798e2bc0c557a284984 (patch)
tree88bfb36b1ad71602f9887e529201ec08c4c08844 /grc/blocks
parentc014a0926d24d0edf10ced7ce122d154b7e33f18 (diff)
downloadgnuradio-3159eba60cbf3a8ed2fee798e2bc0c557a284984.tar.gz
gnuradio-3159eba60cbf3a8ed2fee798e2bc0c557a284984.tar.bz2
gnuradio-3159eba60cbf3a8ed2fee798e2bc0c557a284984.zip
Add gr.pfb_clock_recovery to GRC
Diffstat (limited to 'grc/blocks')
-rw-r--r--grc/blocks/Makefile.am1
-rw-r--r--grc/blocks/block_tree.xml5
-rw-r--r--grc/blocks/gr_pfb_clock_recovery.xml52
3 files changed, 56 insertions, 2 deletions
diff --git a/grc/blocks/Makefile.am b/grc/blocks/Makefile.am
index 617a3bf60..0ee9be6ca 100644
--- a/grc/blocks/Makefile.am
+++ b/grc/blocks/Makefile.am
@@ -144,6 +144,7 @@ dist_ourdata_DATA = \
gr_packed_to_unpacked_xx.xml \
gr_peak_detector2_fb.xml \
gr_peak_detector_xb.xml \
+ gr_pfb_clock_recovery.xml \
gr_phase_modulator_fc.xml \
gr_pll_carriertracking_cc.xml \
gr_pll_freqdet_cf.xml \
diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml
index 296f0ee91..5b10d1f12 100644
--- a/grc/blocks/block_tree.xml
+++ b/grc/blocks/block_tree.xml
@@ -124,6 +124,7 @@
<cat>
<name>Synchronizers</name>
<block>gr_clock_recovery_mm_xx</block>
+ <block>gr_pfb_clock_recovery_ccf</block>
<block>gr_costas_loop_cc</block>
<block>gr_dd_mpsk_sync_cc</block>
@@ -167,7 +168,7 @@
<block>band_pass_filter</block>
<block>band_reject_filter</block>
<block>root_raised_cosine_filter</block>
- <!-- Filters that take taps as aruments -->
+ <!-- Filters that take taps as arguments -->
<block>gr_fir_filter_xxx</block>
<block>gr_interp_fir_filter_xxx</block>
<block>gr_fft_filter_xxx</block>
@@ -178,7 +179,7 @@
<!-- Filter banks -->
<block>blks2_synthesis_filterbank</block>
<block>blks2_analysis_filterbank</block>
- <!-- Polyphase filers -->
+ <!-- Polyphase filters -->
<block>blks2_pfb_arb_resampler_ccf</block>
<!-- Other filters -->
<block>gr_single_pole_iir_filter_xx</block>
diff --git a/grc/blocks/gr_pfb_clock_recovery.xml b/grc/blocks/gr_pfb_clock_recovery.xml
new file mode 100644
index 000000000..90ecfcf41
--- /dev/null
+++ b/grc/blocks/gr_pfb_clock_recovery.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+## Polyphase Filter based Clock Recovery
+###################################################
+ -->
+<block>
+ <name>Polyphase Clock Recovery</name>
+ <key>gr_pfb_clock_recovery_ccf</key>
+ <import>from gnuradio import gr</import>
+ <make>gr.pfb_clock_recovery_ccf($sps, $gain, $taps, $filter_size, $init_phase)</make>
+ <callback>set_taps($taps)</callback>
+ <callback>set_gain($gain)</callback>
+
+ <param>
+ <name>Samples/Symbol</name>
+ <key>sps</key>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Gain</name>
+ <key>gain</key>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Taps</name>
+ <key>taps</key>
+ <type>real_vector</type>
+ </param>
+ <param>
+ <name>Filter Size</name>
+ <key>filter_size</key>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Initial Phase</name>
+ <key>init_phase</key>
+ <type>real</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>complex</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>complex</type>
+ </source>
+ <source>
+ <name>err</name>
+ <type>float</type>
+ </source>
+</block>