diff options
Diffstat (limited to 'grc/blocks')
-rw-r--r-- | grc/blocks/Makefile.am | 2 | ||||
-rw-r--r-- | grc/blocks/block_tree.xml | 9 | ||||
-rw-r--r-- | grc/blocks/gr_chunks_to_symbols.xml | 9 | ||||
-rw-r--r-- | grc/blocks/gr_delay.xml | 9 | ||||
-rw-r--r-- | grc/blocks/gr_packed_to_unpacked_xx.xml | 11 | ||||
-rw-r--r-- | grc/blocks/gr_pfb_clock_sync.xml | 75 | ||||
-rw-r--r-- | grc/blocks/gr_stream_mux.xml | 75 | ||||
-rw-r--r-- | grc/blocks/gr_unpacked_to_packed_xx.xml | 11 | ||||
-rw-r--r-- | grc/blocks/usrp2_sink_xxxx.xml | 3 | ||||
-rw-r--r-- | grc/blocks/usrp2_source_xxxx.xml | 3 |
10 files changed, 202 insertions, 5 deletions
diff --git a/grc/blocks/Makefile.am b/grc/blocks/Makefile.am index df3479761..61c003803 100644 --- a/grc/blocks/Makefile.am +++ b/grc/blocks/Makefile.am @@ -145,6 +145,7 @@ dist_ourdata_DATA = \ gr_packed_to_unpacked_xx.xml \ gr_peak_detector2_fb.xml \ gr_peak_detector_xb.xml \ + gr_pfb_clock_sync.xml \ gr_phase_modulator_fc.xml \ gr_pll_carriertracking_cc.xml \ gr_pll_freqdet_cf.xml \ @@ -167,6 +168,7 @@ dist_ourdata_DATA = \ gr_simple_squelch_cc.xml \ gr_single_pole_iir_filter_xx.xml \ gr_skiphead.xml \ + gr_stream_mux.xml \ gr_stream_to_streams.xml \ gr_stream_to_vector.xml \ gr_streams_to_stream.xml \ diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml index 6fec0be67..187ca196a 100644 --- a/grc/blocks/block_tree.xml +++ b/grc/blocks/block_tree.xml @@ -109,8 +109,10 @@ <block>gr_stream_to_vector</block> <block>gr_vector_to_stream</block> - + <block>blks2_stream_to_vector_decimator</block> + + <block>gr_stream_mux</block> </cat> <cat> <name>Misc Conversions</name> @@ -124,6 +126,7 @@ <cat> <name>Synchronizers</name> <block>gr_clock_recovery_mm_xx</block> + <block>gr_pfb_clock_sync_ccf</block> <block>gr_costas_loop_cc</block> <block>gr_dd_mpsk_sync_cc</block> @@ -167,7 +170,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 +181,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_chunks_to_symbols.xml b/grc/blocks/gr_chunks_to_symbols.xml index b54e710ef..e9da38e9a 100644 --- a/grc/blocks/gr_chunks_to_symbols.xml +++ b/grc/blocks/gr_chunks_to_symbols.xml @@ -57,12 +57,21 @@ <value>2</value> <type>int</type> </param> + <param> + <name>Num Ports</name> + <key>num_ports</key> + <value>1</value> + <type>int</type> + </param> + <check>$num_ports > 0</check> <sink> <name>in</name> <type>$in_type</type> + <nports>$num_ports</nports> </sink> <source> <name>out</name> <type>$out_type</type> + <nports>$num_ports</nports> </source> </block> diff --git a/grc/blocks/gr_delay.xml b/grc/blocks/gr_delay.xml index 64a774def..5cc411a78 100644 --- a/grc/blocks/gr_delay.xml +++ b/grc/blocks/gr_delay.xml @@ -47,20 +47,29 @@ <type>int</type> </param> <param> + <name>Num Ports</name> + <key>num_ports</key> + <value>1</value> + <type>int</type> + </param> + <param> <name>Vec Length</name> <key>vlen</key> <value>1</value> <type>int</type> </param> + <check>$num_ports > 0</check> <check>$vlen > 0</check> <sink> <name>in</name> <type>$type</type> <vlen>$vlen</vlen> + <nports>$num_ports</nports> </sink> <source> <name>out</name> <type>$type</type> <vlen>$vlen</vlen> + <nports>$num_ports</nports> </source> </block> diff --git a/grc/blocks/gr_packed_to_unpacked_xx.xml b/grc/blocks/gr_packed_to_unpacked_xx.xml index 5fd9729a4..c1477dd9c 100644 --- a/grc/blocks/gr_packed_to_unpacked_xx.xml +++ b/grc/blocks/gr_packed_to_unpacked_xx.xml @@ -38,7 +38,7 @@ <param> <name>Endianness</name> <key>endianness</key> - <type>enum</type> + <type>int</type> <option> <name>MSB</name> <key>gr.GR_MSB_FIRST</key> @@ -48,12 +48,21 @@ <key>gr.GR_LSB_FIRST</key> </option> </param> + <param> + <name>Num Ports</name> + <key>num_ports</key> + <value>1</value> + <type>int</type> + </param> + <check>$num_ports > 0</check> <sink> <name>in</name> <type>$type</type> + <nports>$num_ports</nports> </sink> <source> <name>out</name> <type>$type</type> + <nports>$num_ports</nports> </source> </block> diff --git a/grc/blocks/gr_pfb_clock_sync.xml b/grc/blocks/gr_pfb_clock_sync.xml new file mode 100644 index 000000000..9cb909acd --- /dev/null +++ b/grc/blocks/gr_pfb_clock_sync.xml @@ -0,0 +1,75 @@ +<?xml version="1.0"?> +<!-- +################################################### +## Polyphase Filter based Clock Sync +################################################### + --> +<block> + <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, $max_dev) +self.$(id).set_beta($beta)</make> + <callback>set_taps($taps)</callback> + <callback>set_alpha($alpha)</callback> + <callback>set_beta($beta)</callback> + + <param> + <name>Samples/Symbol</name> + <key>sps</key> + <type>real</type> + </param> + <param> + <name>Alpha</name> + <key>alpha</key> + <type>real</type> + </param> + <param> + <name>Beta</name> + <key>beta</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> + <param> + <name>Maximum Rate Deviation</name> + <key>max_dev</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> + <optional>1</optional> + </source> + <source> + <name>rate</name> + <type>float</type> + <optional>1</optional> + </source> + <source> + <name>phase</name> + <type>float</type> + <optional>1</optional> + </source> +</block> diff --git a/grc/blocks/gr_stream_mux.xml b/grc/blocks/gr_stream_mux.xml new file mode 100644 index 000000000..8efe7b655 --- /dev/null +++ b/grc/blocks/gr_stream_mux.xml @@ -0,0 +1,75 @@ +<?xml version="1.0"?> +<!-- +################################################### +##Stream Mux: +## all types, many inputs, only one output +################################################### + --> +<block> + <name>Stream Mux</name> + <key>gr_stream_mux</key> + <import>from gnuradio import gr</import> + <make>gr.stream_mux($type.size*$vlen, $lengths)</make> + <param> + <name>Type</name> + <key>type</key> + <type>enum</type> + <option> + <name>Complex</name> + <key>complex</key> + <opt>size:gr.sizeof_gr_complex</opt> + </option> + <option> + <name>Float</name> + <key>float</key> + <opt>size:gr.sizeof_float</opt> + </option> + <option> + <name>Int</name> + <key>int</key> + <opt>size:gr.sizeof_int</opt> + </option> + <option> + <name>Short</name> + <key>short</key> + <opt>size:gr.sizeof_short</opt> + </option> + <option> + <name>Byte</name> + <key>byte</key> + <opt>size:gr.sizeof_char</opt> + </option> + </param> + <param> + <name>Lengths</name> + <key>lengths</key> + <value>1, 1</value> + <type>int_vector</type> + </param> + <param> + <name>Num Inputs</name> + <key>num_inputs</key> + <value>2</value> + <type>int</type> + </param> + <param> + <name>Vec Length</name> + <key>vlen</key> + <value>1</value> + <type>int</type> + </param> + <check>$num_inputs > 0</check> + <check>$num_inputs == len($lengths)</check> + <check>$vlen > 0</check> + <sink> + <name>in</name> + <type>$type</type> + <vlen>$vlen</vlen> + <nports>$num_inputs</nports> + </sink> + <source> + <name>out</name> + <type>$type</type> + <vlen>$vlen</vlen> + </source> +</block> diff --git a/grc/blocks/gr_unpacked_to_packed_xx.xml b/grc/blocks/gr_unpacked_to_packed_xx.xml index f7457eb5c..427c80082 100644 --- a/grc/blocks/gr_unpacked_to_packed_xx.xml +++ b/grc/blocks/gr_unpacked_to_packed_xx.xml @@ -38,7 +38,7 @@ <param> <name>Endianness</name> <key>endianness</key> - <type>enum</type> + <type>int</type> <option> <name>MSB</name> <key>gr.GR_MSB_FIRST</key> @@ -48,12 +48,21 @@ <key>gr.GR_LSB_FIRST</key> </option> </param> + <param> + <name>Num Ports</name> + <key>num_ports</key> + <value>1</value> + <type>int</type> + </param> + <check>$num_ports > 0</check> <sink> <name>in</name> <type>$type</type> + <nports>$num_ports</nports> </sink> <source> <name>out</name> <type>$type</type> + <nports>$num_ports</nports> </source> </block> diff --git a/grc/blocks/usrp2_sink_xxxx.xml b/grc/blocks/usrp2_sink_xxxx.xml index f2ee4d151..14586cc36 100644 --- a/grc/blocks/usrp2_sink_xxxx.xml +++ b/grc/blocks/usrp2_sink_xxxx.xml @@ -36,11 +36,13 @@ self.$(id).set_center_freq($frequency)</callback> <name>Complex</name> <key>complex</key> <opt>fcn:32fc</opt> + <opt>vlen:1</opt> </option> <option> <name>Short</name> <key>short</key> <opt>fcn:16sc</opt> + <opt>vlen:2</opt> </option> </param> <param> @@ -85,6 +87,7 @@ self.$(id).set_center_freq($frequency)</callback> <sink> <name>in</name> <type>$type</type> + <vlen>$type.vlen</vlen> </sink> <doc> The USRP2 sink inputs 100 Megasamples per second / interpolation. diff --git a/grc/blocks/usrp2_source_xxxx.xml b/grc/blocks/usrp2_source_xxxx.xml index 02046e609..0f297dfd1 100644 --- a/grc/blocks/usrp2_source_xxxx.xml +++ b/grc/blocks/usrp2_source_xxxx.xml @@ -36,11 +36,13 @@ self.$(id).set_center_freq($frequency)</callback> <name>Complex</name> <key>complex</key> <opt>fcn:32fc</opt> + <opt>vlen:1</opt> </option> <option> <name>Short</name> <key>short</key> <opt>fcn:16sc</opt> + <opt>vlen:2</opt> </option> </param> <param> @@ -85,6 +87,7 @@ self.$(id).set_center_freq($frequency)</callback> <source> <name>out</name> <type>$type</type> + <vlen>$type.vlen</vlen> </source> <doc> The USRP2 source outputs 100 Megasamples per second / decimation. |