summaryrefslogtreecommitdiff
path: root/gr-digital/grc
diff options
context:
space:
mode:
authorAndy Walls <awalls.cx18@gmail.com>2017-07-17 16:11:21 -0700
committerJohnathan Corgan <johnathan@corganlabs.com>2017-07-17 16:14:29 -0700
commitbd611224ba4c2356c1ad4c3359781682c5c121da (patch)
tree50b029fb2ad0de98cf530fcbc13b135154fde6a3 /gr-digital/grc
parent044b6c2bac5cff726eb90278e6156841504b796f (diff)
gr-filter, digital: Add symbol_sync_{cc|ff} and auxiliary classes
Diffstat (limited to 'gr-digital/grc')
-rw-r--r--gr-digital/grc/digital_block_tree.xml3
-rw-r--r--gr-digital/grc/digital_symbol_sync_xx.xml200
2 files changed, 202 insertions, 1 deletions
diff --git a/gr-digital/grc/digital_block_tree.xml b/gr-digital/grc/digital_block_tree.xml
index f11f27e5c3..0bea4a29e6 100644
--- a/gr-digital/grc/digital_block_tree.xml
+++ b/gr-digital/grc/digital_block_tree.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!--
- Copyright 2011-2016 Free Software Foundation, Inc.
+ Copyright (C) 2011-2017 Free Software Foundation, Inc.
This file is part of GNU Radio
@@ -119,6 +119,7 @@
<block>digital_mpsk_receiver_cc</block>
<block>digital_pfb_clock_sync_xxx</block>
<block>digital_pn_correlator_cc</block>
+ <block>digital_symbol_sync_xx</block>
<block>digital_corr_est_cc</block>
</cat>
<cat>
diff --git a/gr-digital/grc/digital_symbol_sync_xx.xml b/gr-digital/grc/digital_symbol_sync_xx.xml
new file mode 100644
index 0000000000..1f597ef8ce
--- /dev/null
+++ b/gr-digital/grc/digital_symbol_sync_xx.xml
@@ -0,0 +1,200 @@
+<?xml version="1.0"?>
+<!--
+ Copyright (C) 2016-2017 Free Software Foundation, Inc.
+
+ This file is part of GNU Radio.
+
+ GNU Radio is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ GNU Radio is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU Radio; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street,
+ Boston, MA 02110-1301, USA.
+ -->
+
+<block>
+ <name>Symbol Sync</name>
+ <key>digital_symbol_sync_xx</key>
+ <category>[Core]/Synchronizers</category>
+ <import>from gnuradio import digital</import>
+ <import>from gnuradio import filter</import>
+ <make>digital.symbol_sync_$(type)($ted_type, $sps, $loop_bw, $damping, $max_dev, $osps, $constellation, $resamp_type, $nfilters, $pfb_mf_taps)</make>
+
+ <callback>set_loop_bandwidth($loop_bw)</callback>
+ <callback>set_damping_factor($damping)</callback>
+
+ <param>
+ <name>I/O Type</name>
+ <key>type</key>
+ <type>enum</type>
+ <option>
+ <name>Complex</name>
+ <key>cc</key>
+ <opt>input:complex</opt>
+ <opt>output:complex</opt>
+ </option>
+ <option>
+ <name>Float</name>
+ <key>ff</key>
+ <opt>input:float</opt>
+ <opt>output:float</opt>
+ </option>
+ </param>
+ <param>
+ <name>Timing Error Detector</name>
+ <key>ted_type</key>
+ <type>enum</type>
+ <option>
+ <name>Mueller and Müller</name>
+ <key>digital.TED_MUELLER_AND_MULLER</key>
+ <opt>hide_constellation:part</opt>
+ </option>
+ <option>
+ <name>Modified Mueller and Müller</name>
+ <key>digital.TED_MOD_MUELLER_AND_MULLER</key>
+ <opt>hide_constellation:part</opt>
+ </option>
+ <option>
+ <name>Zero Crossing</name>
+ <key>digital.TED_ZERO_CROSSING</key>
+ <opt>hide_constellation:part</opt>
+ </option>
+ <option>
+ <name>Gardner</name>
+ <key>digital.TED_GARDNER</key>
+ <opt>hide_constellation:all</opt>
+ </option>
+ <option>
+ <name>Early-Late</name>
+ <key>digital.TED_EARLY_LATE</key>
+ <opt>hide_constellation:all</opt>
+ </option>
+ <option>
+ <name>D'Andrea and Mengali Gen MSK</name>
+ <key>digital.TED_DANDREA_AND_MENGALI_GEN_MSK</key>
+ <opt>hide_constellation:all</opt>
+ </option>
+ <option>
+ <name>Mengali and D'Andrea GMSK</name>
+ <key>digital.TED_MENGALI_AND_DANDREA_GMSK</key>
+ <opt>hide_constellation:all</opt>
+ </option>
+ <option>
+ <name>y[n]y'[n] Maximum Likelyhood</name>
+ <key>digital.TED_SIGNAL_TIMES_SLOPE_ML</key>
+ <opt>hide_constellation:all</opt>
+ </option>
+ <option>
+ <name>sgn(y[n])y'[n] Maximum Likelyhood</name>
+ <key>digital.TED_SIGNUM_TIMES_SLOPE_ML</key>
+ <opt>hide_constellation:all</opt>
+ </option>
+ </param>
+ <param>
+ <name>TED Slicer Constellation</name>
+ <key>constellation</key>
+ <value>digital.constellation_bpsk().base()</value>
+ <type>raw</type>
+ <hide>$ted_type.hide_constellation</hide>
+ </param>
+ <param>
+ <name>Samples per Symbol</name>
+ <key>sps</key>
+ <value>sps</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Loop Bandwidth</name>
+ <key>loop_bw</key>
+ <value>0.045</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Damping Factor</name>
+ <key>damping</key>
+ <value>1.0/math.sqrt(2.0)</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Maximum Deviation</name>
+ <key>max_dev</key>
+ <value>1.5</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Output Samples/Symbol</name>
+ <key>osps</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Interpolating Resampler</name>
+ <key>resamp_type</key>
+ <type>enum</type>
+ <option>
+ <name>MMSE, 8 tap FIR</name>
+ <key>digital.IR_MMSE_8TAP</key>
+ <opt>hide_nfilters:all</opt>
+ <opt>hide_pfb_mf_taps:all</opt>
+ </option>
+ <option>
+ <name>Polyphase Filterbank, MMSE</name>
+ <key>digital.IR_PFB_NO_MF</key>
+ <opt>hide_nfilters:</opt>
+ <opt>hide_pfb_mf_taps:all</opt>
+ </option>
+ <option>
+ <name>Polyphase Filterbank, MF</name>
+ <key>digital.IR_PFB_MF</key>
+ <opt>hide_nfilters:</opt>
+ <opt>hide_pfb_mf_taps:</opt>
+ </option>
+ </param>
+ <param>
+ <name>Filterbank Arms</name>
+ <key>nfilters</key>
+ <value>128</value>
+ <type>int</type>
+ <hide>$resamp_type.hide_nfilters</hide>
+ </param>
+ <param>
+ <name>PFB MF Taps</name>
+ <key>pfb_mf_taps</key>
+ <value>[]</value>
+ <type>real_vector</type>
+ <hide>$resamp_type.hide_pfb_mf_taps</hide>
+ </param>
+
+ <sink>
+ <name>in</name>
+ <type>$type.input</type>
+ </sink>
+
+ <source>
+ <name>out</name>
+ <type>$type.output</type>
+ </source>
+ <source>
+ <name>error</name>
+ <type>float</type>
+ <optional>1</optional>
+ </source>
+ <source>
+ <name>T_inst</name>
+ <type>float</type>
+ <optional>1</optional>
+ </source>
+ <source>
+ <name>T_avg</name>
+ <type>float</type>
+ <optional>1</optional>
+ </source>
+</block>