summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim O'Shea <tim.oshea753@gmail.com>2013-06-03 16:15:33 -0400
committerTim O'Shea <tim.oshea753@gmail.com>2013-06-05 14:19:38 -0400
commitf06367bcf0c2b414295e8ef46c4b8dda1bbe559e (patch)
tree46bffd94431ad8cca2e402130d846e67f8e01bb7
parentf4ebf4091af6b3c0f6f5a1e74eb1f586d107a226 (diff)
filter: adding grc def for low_pass_xlating_fir_filter,
analog: adding reasonable default grc parameters for quadrature_demod_cf digital: adding reasonable default grc parameters for clock_recovery_mm_xx
-rw-r--r--gr-analog/grc/analog_quadrature_demod_cf.xml38
-rw-r--r--gr-digital/grc/digital_clock_recovery_mm_xx.xml117
-rw-r--r--gr-filter/grc/filter_low_pass_xlating_filter.xml144
3 files changed, 225 insertions, 74 deletions
diff --git a/gr-analog/grc/analog_quadrature_demod_cf.xml b/gr-analog/grc/analog_quadrature_demod_cf.xml
index a60653135e..c8f0b30b46 100644
--- a/gr-analog/grc/analog_quadrature_demod_cf.xml
+++ b/gr-analog/grc/analog_quadrature_demod_cf.xml
@@ -5,22 +5,24 @@
###################################################
-->
<block>
- <name>Quadrature Demod</name>
- <key>analog_quadrature_demod_cf</key>
- <import>from gnuradio import analog</import>
- <make>analog.quadrature_demod_cf($gain)</make>
- <callback>set_gain($gain)</callback>
- <param>
- <name>Gain</name>
- <key>gain</key>
- <type>real</type>
- </param>
- <sink>
- <name>in</name>
- <type>complex</type>
- </sink>
- <source>
- <name>out</name>
- <type>float</type>
- </source>
+ <name>Quadrature Demod</name>
+ <key>analog_quadrature_demod_cf</key>
+ <import>from gnuradio import analog</import>
+ <import>import math</import>
+ <make>analog.quadrature_demod_cf($gain)</make>
+ <callback>set_gain($gain)</callback>
+ <param>
+ <name>Gain</name>
+ <key>gain</key>
+ <value>samp_rate/(2*math.pi*fsk_deviation_hz/8.0)</value>
+ <type>real</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>complex</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>float</type>
+ </source>
</block>
diff --git a/gr-digital/grc/digital_clock_recovery_mm_xx.xml b/gr-digital/grc/digital_clock_recovery_mm_xx.xml
index d9c5ea4ff8..a0857686be 100644
--- a/gr-digital/grc/digital_clock_recovery_mm_xx.xml
+++ b/gr-digital/grc/digital_clock_recovery_mm_xx.xml
@@ -5,60 +5,65 @@
###################################################
-->
<block>
- <name>Clock Recovery MM</name>
- <key>digital_clock_recovery_mm_xx</key>
- <import>from gnuradio import digital</import>
- <make>digital.clock_recovery_mm_$(type.fcn)($omega, $gain_omega, $mu, $gain_mu, $omega_relative_limit)</make>
- <callback>set_omega($omega)</callback>
- <callback>set_gain_omega($gain_omega)</callback>
- <callback>set_mu($mu)</callback>
- <callback>set_gain_mu($gain_mu)</callback>
- <param>
- <name>Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Complex</name>
- <key>complex</key>
- <opt>fcn:cc</opt>
- </option>
- <option>
- <name>Float</name>
- <key>float</key>
- <opt>fcn:ff</opt>
- </option>
- </param>
- <param>
- <name>Omega</name>
- <key>omega</key>
- <type>real</type>
- </param>
- <param>
- <name>Gain Omega</name>
- <key>gain_omega</key>
- <type>real</type>
- </param>
- <param>
- <name>Mu</name>
- <key>mu</key>
- <type>real</type>
- </param>
- <param>
- <name>Gain Mu</name>
- <key>gain_mu</key>
- <type>real</type>
- </param>
- <param>
- <name>Omega Relative Limit</name>
- <key>omega_relative_limit</key>
- <type>real</type>
- </param>
- <sink>
- <name>in</name>
- <type>$type</type>
- </sink>
- <source>
- <name>out</name>
- <type>$type</type>
- </source>
+ <name>Clock Recovery MM</name>
+ <key>digital_clock_recovery_mm_xx</key>
+ <import>from gnuradio import digital</import>
+ <make>digital.clock_recovery_mm_$(type.fcn)($omega, $gain_omega, $mu, $gain_mu, $omega_relative_limit)</make>
+ <callback>set_omega($omega)</callback>
+ <callback>set_gain_omega($gain_omega)</callback>
+ <callback>set_mu($mu)</callback>
+ <callback>set_gain_mu($gain_mu)</callback>
+ <param>
+ <name>Type</name>
+ <key>type</key>
+ <type>enum</type>
+ <option>
+ <name>Complex</name>
+ <key>complex</key>
+ <opt>fcn:cc</opt>
+ </option>
+ <option>
+ <name>Float</name>
+ <key>float</key>
+ <opt>fcn:ff</opt>
+ </option>
+ </param>
+ <param>
+ <name>Omega</name>
+ <key>omega</key>
+ <value>samp_per_sym*(1+0.0)</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Gain Omega</name>
+ <key>gain_omega</key>
+ <value>0.25*0.175*0.175</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Mu</name>
+ <key>mu</key>
+ <value>0.5</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Gain Mu</name>
+ <key>gain_mu</key>
+ <value>0.175</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Omega Relative Limit</name>
+ <key>omega_relative_limit</key>
+ <value>0.005</value>
+ <type>real</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>$type</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>$type</type>
+ </source>
</block>
diff --git a/gr-filter/grc/filter_low_pass_xlating_filter.xml b/gr-filter/grc/filter_low_pass_xlating_filter.xml
new file mode 100644
index 0000000000..65d5e5bff6
--- /dev/null
+++ b/gr-filter/grc/filter_low_pass_xlating_filter.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Xlating Low Pass Filter: Custom wrapper
+###################################################
+ -->
+<block>
+ <name>Xlating Low Pass Filter</name>
+ <key>xlating_low_pass_filter</key>
+ <import>from gnuradio import filter</import>
+ <import>from gnuradio.filter import firdes</import>
+ <make>filter.freq_xlating_fir_filter_$(type)($decim, firdes.low_pass(
+ $gain, 2*$samp_rate, $cutoff_freq, $width, $win, $beta), $center_freq, $samp_rate)</make>
+ <callback>set_taps(firdes.low_pass($gain, 2*$samp_rate, $cutoff_freq, $width, $win, $beta))</callback>
+ <callback>set_center_freq($center_freq)</callback>
+ <param>
+ <name>Type</name>
+ <key>type</key>
+ <type>enum</type>
+ <option>
+ <name>Complex->Complex (Complex Taps)</name>
+ <key>ccc</key>
+ <opt>input:complex</opt>
+ <opt>output:complex</opt>
+ <opt>taps:complex_vector</opt>
+ </option>
+ <option>
+ <name>Complex->Complex (Real Taps)</name>
+ <key>ccf</key>
+ <opt>input:complex</opt>
+ <opt>output:complex</opt>
+ <opt>taps:real_vector</opt>
+ </option>
+ <option>
+ <name>Float->Complex (Complex Taps)</name>
+ <key>fcc</key>
+ <opt>input:float</opt>
+ <opt>output:complex</opt>
+ <opt>taps:complex_vector</opt>
+ </option>
+ <option>
+ <name>Float->Complex (Real Taps)</name>
+ <key>fcf</key>
+ <opt>input:float</opt>
+ <opt>output:complex</opt>
+ <opt>taps:real_vector</opt>
+ </option>
+ <option>
+ <name>Short->Complex (Complex Taps)</name>
+ <key>scc</key>
+ <opt>input:short</opt>
+ <opt>output:complex</opt>
+ <opt>taps:complex_vector</opt>
+ </option>
+ <option>
+ <name>Short->Complex (Real Taps)</name>
+ <key>scf</key>
+ <opt>input:short</opt>
+ <opt>output:complex</opt>
+ <opt>taps:real_vector</opt>
+ </option>
+ </param>
+ <param>
+ <name>Decimation</name>
+ <key>decim</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Gain</name>
+ <key>gain</key>
+ <value>1</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Sample Rate</name>
+ <key>samp_rate</key>
+ <value>samp_rate</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Center Frequency</name>
+ <key>center_freq</key>
+ <value>0</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Cutoff Freq</name>
+ <key>cutoff_freq</key>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Transition Width</name>
+ <key>width</key>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Window</name>
+ <key>win</key>
+ <value>firdes.WIN_HAMMING</value>
+ <type>int</type>
+ <option>
+ <name>Hamming</name>
+ <key>firdes.WIN_HAMMING</key>
+ </option>
+ <option>
+ <name>Hann</name>
+ <key>firdes.WIN_HANN</key>
+ </option>
+ <option>
+ <name>Blackman</name>
+ <key>firdes.WIN_BLACKMAN</key>
+ </option>
+ <option>
+ <name>Rectangular</name>
+ <key>firdes.WIN_RECTANGULAR</key>
+ </option>
+ <option>
+ <name>Kaiser</name>
+ <key>firdes.WIN_KAISER</key>
+ </option>
+ </param>
+ <param>
+ <name>Beta</name>
+ <key>beta</key>
+ <value>6.76</value>
+ <type>real</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>$type.input</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>$type.output</type>
+ </source>
+ <doc>
+This filter is a convenience wrapper for an xlating fir filter and a firdes taps generating function.
+
+Sample rate, cutoff frequency, and transition width are in Hertz.
+
+The beta paramater only applies to the Kaiser window.
+ </doc>
+</block>