diff options
Diffstat (limited to 'gr-digital/grc')
-rw-r--r-- | gr-digital/grc/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-digital/grc/digital_block_tree.xml | 40 | ||||
-rw-r--r-- | gr-digital/grc/digital_crc32_bb.xml | 33 | ||||
-rw-r--r-- | gr-digital/grc/digital_header_payload_demux.xml | 94 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_carrier_allocator_cvc.xml | 45 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_chanest_vcvc.xml | 61 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_cyclic_prefixer.xml | 20 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_frame_equalizer_vcvc.xml | 45 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_mod2.xml | 65 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_serializer_vcc.xml | 50 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_sync_sc_cfb.xml | 29 | ||||
-rw-r--r-- | gr-digital/grc/digital_packet_headergenerator_bb.xml | 19 | ||||
-rw-r--r-- | gr-digital/grc/digital_packet_headergenerator_bb_default.xml | 26 | ||||
-rw-r--r-- | gr-digital/grc/digital_packet_headerparser_b.xml | 19 | ||||
-rw-r--r-- | gr-digital/grc/digital_packet_headerparser_b_default.xml | 26 | ||||
-rw-r--r-- | gr-digital/grc/digital_scale_tags.xml | 31 |
16 files changed, 599 insertions, 8 deletions
diff --git a/gr-digital/grc/CMakeLists.txt b/gr-digital/grc/CMakeLists.txt index bace20847..9888247ca 100644 --- a/gr-digital/grc/CMakeLists.txt +++ b/gr-digital/grc/CMakeLists.txt @@ -18,4 +18,6 @@ # Boston, MA 02110-1301, USA. file(GLOB xml_files "*.xml") -install(FILES ${xml_files} DESTINATION ${GRC_BLOCKS_DIR} COMPONENT "digital_python") +install(FILES ${xml_files} + DESTINATION ${GRC_BLOCKS_DIR} COMPONENT "digital_python" +) diff --git a/gr-digital/grc/digital_block_tree.xml b/gr-digital/grc/digital_block_tree.xml index 04c679d35..762ac6653 100644 --- a/gr-digital/grc/digital_block_tree.xml +++ b/gr-digital/grc/digital_block_tree.xml @@ -1,7 +1,6 @@ <?xml version="1.0"?> - <!-- - Copyright 2011 Free Software Foundation, Inc. + Copyright 2011,2012 Free Software Foundation, Inc. This file is part of GNU Radio @@ -31,8 +30,35 @@ <cat> <name>Coding</name> <block>digital_additive_scrambler_bb</block> - <block>digital_descrambler_bb</block> <block>digital_scrambler_bb</block> + <block>digital_descrambler_bb</block> + <block>digital_binary_slicer_fb</block> + <block>digital_bytes_to_syms</block> + <block>digital_chunks_to_symbols_xx</block> + <block>digital_clock_recovery_mm_xx</block> + <block>digital_cma_equalizer_cc</block> + <block>digital_constellation_decoder_cb</block> + <block>digital_constellation_receiver_cb</block> + <block>digital_correlate_access_code_bb</block> + <block>digital_costas_loop_cc</block> + <block>digital_crc32_bb</block> + <block>digital_descrambler_bb</block> + <block>digital_fll_band_edge_cc</block> + <block>digital_glfsr_source_x</block> + <block>digital_header_payload_demux</block> + <block>digital_kurtotic_equalizer_cc</block> + <block>digital_lms_dd_equalizer_cc</block> + <block>digital_map_bb</block> + <block>digital_mpsk_receiver_cc</block> + <block>digital_mpsk_snr_est_cc</block> + <block>digital_packet_headergenerator_bb</block> + <block>digital_packet_headergenerator_bb_default</block> + <block>digital_packet_headerparser_b</block> + <block>digital_packet_headerparser_b_default</block> + <block>digital_pfb_clock_sync_xxx</block> + <block>digital_pn_correlator_cc</block> + <block>digital_probe_density_b</block> + <block>digital_probe_mpsk_snr_est_c</block> </cat> <cat> <name>Converters</name> @@ -92,14 +118,20 @@ <block>digital_gmsk_demod</block> </cat> <cat> - <name>OFDM</name> + <name>OFDM</name> <block>digital_ofdm_mod</block> + <block>digital_ofdm_mod2</block> <block>digital_ofdm_demod</block> + <block>digital_ofdm_carrier_allocator_cvc</block> + <block>digital_ofdm_chanest_vcvc</block> <block>digital_ofdm_cyclic_prefixer</block> <block>digital_ofdm_frame_acquisition</block> <block>digital_ofdm_frame_sink</block> + <block>digital_ofdm_frame_equalizer_vcvc</block> <block>digital_ofdm_insert_preamble</block> <block>digital_ofdm_sampler</block> + <block>digital_ofdm_serializer_vcc</block> <block>digital_ofdm_sync_pn</block> + <block>digital_ofdm_sync_sc_cfb</block> </cat> </cat> diff --git a/gr-digital/grc/digital_crc32_bb.xml b/gr-digital/grc/digital_crc32_bb.xml new file mode 100644 index 000000000..d60f08f81 --- /dev/null +++ b/gr-digital/grc/digital_crc32_bb.xml @@ -0,0 +1,33 @@ +<block> + <name>Stream CRC32</name> + <key>digital_crc32_bb</key> + <import>from gnuradio import digital</import> + <make>digital.crc32_bb($check, $lengthtagname)</make> + <param> + <name>Mode</name> + <key>check</key> + <type>enum</type> + <option> + <name>Generate CRC</name> + <key>False</key> + </option> + <option> + <name>Check CRC</name> + <key>True</key> + </option> + </param> + <param> + <name>Length tag name</name> + <key>lengthtagname</key> + <value>"packet_len"</value> + <type>string</type> + </param> + <sink> + <name>in</name> + <type>byte</type> + </sink> + <source> + <name>out</name> + <type>byte</type> + </source> +</block> diff --git a/gr-digital/grc/digital_header_payload_demux.xml b/gr-digital/grc/digital_header_payload_demux.xml new file mode 100644 index 000000000..b29d86435 --- /dev/null +++ b/gr-digital/grc/digital_header_payload_demux.xml @@ -0,0 +1,94 @@ +<block> + <name>Header payload demux</name> + <key>digital_header_payload_demux</key> + <import>from gnuradio import digital</import> + <make>digital.header_payload_demux($header_len, $items_per_symbol, $guard_interval, $length_tag_key, $trigger_tag_key, $output_symbols, $(type.itemsize))</make> + <param> + <name>Header Length (Symbols)</name> + <key>header_len</key> + <type>int</type> + </param> + <param> + <name>Items per symbol</name> + <key>items_per_symbol</key> + <type>int</type> + </param> + <param> + <name>Guard Interval (items)</name> + <key>guard_interval</key> + <value>0</value> + <type>int</type> + </param> + <param> + <name>Length tag key</name> + <key>length_tag_key</key> + <value>"frame_len"</value> + <type>string</type> + </param> + <param> + <name>Trigger tag key</name> + <key>trigger_tag_key</key> + <value>""</value> + <type>string</type> + </param> + <param> + <name>Output Format</name> + <key>output_symbols</key> + <type>enum</type> + <option> + <name>Items</name> + <key>False</key> + </option> + <option> + <name>Symbols</name> + <key>True</key> + </option> + </param> + <param> + <name>IO Type</name> + <key>type</key> + <type>enum</type> + <option> + <name>Complex</name> + <key>complex</key> + <opt>itemsize:gr.sizeof_gr_complex</opt> + </option> + <option> + <name>Float</name> + <key>float</key> + <opt>itemsize:gr.sizeof_float</opt> + </option> + <option> + <name>Int</name> + <key>int</key> + <opt>itemsize:gr.sizeof_int</opt> + </option> + <option> + <name>Short</name> + <key>short</key> + <opt>itemsize:gr.sizeof_short</opt> + </option> + </param> + <sink> + <name>in</name> + <type>$type</type> + </sink> + <sink> + <name>trigger</name> + <type>byte</type> + </sink> + <sink> + <name>header_data</name> + <type>message</type> + </sink> + <source> + <name>out_hdr</name> + <type>$type</type> + <vlen>{True: $items_per_symbol, False: 1}[$output_symbols]</vlen> + </source> + <source> + <name>out_payload</name> + <type>$type</type> + <vlen>{True: $items_per_symbol, False: 1}[$output_symbols]</vlen> + </source> +</block> diff --git a/gr-digital/grc/digital_ofdm_carrier_allocator_cvc.xml b/gr-digital/grc/digital_ofdm_carrier_allocator_cvc.xml new file mode 100644 index 000000000..826778ff3 --- /dev/null +++ b/gr-digital/grc/digital_ofdm_carrier_allocator_cvc.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<block> + <name>OFDM Carrier Allocator</name> + <key>digital_ofdm_carrier_allocator_cvc</key> + <import>from gnuradio import digital</import> + <make>digital.ofdm_carrier_allocator_cvc($fft_len, $occupied_carriers, $pilot_carriers, $pilot_symbols, $len_tag_key)</make> + <param> + <name>FFT length</name> + <key>fft_len</key> + <value>fft_len</value> + <type>int</type> + </param> + <param> + <name>Occupied Carriers</name> + <key>occupied_carriers</key> + <type>raw</type> + </param> + <param> + <name>Pilot Carriers</name> + <key>pilot_carriers</key> + <value>()</value> + <type>raw</type> + </param> + <param> + <name>Pilot Symbols</name> + <key>pilot_symbols</key> + <value>()</value> + <type>raw</type> + </param> + <param> + <name>Length tag key</name> + <key>len_tag_key</key> + <value>"packet_len"</value> + <type>string</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + <vlen>$fft_len</vlen> + </source> +</block> diff --git a/gr-digital/grc/digital_ofdm_chanest_vcvc.xml b/gr-digital/grc/digital_ofdm_chanest_vcvc.xml new file mode 100644 index 000000000..e8b1571eb --- /dev/null +++ b/gr-digital/grc/digital_ofdm_chanest_vcvc.xml @@ -0,0 +1,61 @@ +<?xml version="1.0"?> +<block> + <name>OFDM channel & coarse frequency offset estimation</name> + <key>digital_ofdm_chanest_vcvc</key> + <import>from gnuradio import digital</import> + <make>digital.ofdm_chanest_vcvc($sync_symbol1, $sync_symbol2, $n_data_symbols, $eq_noise_red_len, $max_carr_offset, $force_one_symbol)</make> + <param> + <name>Synchronisation preamble symbol 1</name> + <key>sync_symbol1</key> + <type>complex_vector</type> + </param> + <param> + <name>Synchronisation preamble symbol 2</name> + <key>sync_symbol2</key> + <value>()</value> + <type>complex_vector</type> + </param> + <param> + <name>Number of data symbols</name> + <key>n_data_symbols</key> + <value>1</value> + <type>int</type> + </param> + <param> + <name>Channel taps noise reduction length</name> + <key>eq_noise_red_len</key> + <value>0</value> + <type>int</type> + </param> + <param> + <name>Maximum carrier offset</name> + <key>max_carr_offset</key> + <value>-1</value> + <type>int</type> + </param> + <param> + <name>Force One Synchronisation Symbol</name> + <key>force_one_symbol</key> + <type>enum</type> + <option> + <name>No</name> + <key>False</key> + </option> + <option> + <name>Yes</name> + <key>True</key> + </option> + </param> + <check>len($sync_symbol1)</check> + <check>len($sync_symbol2) == 0 or len($sync_symbol2) == len($sync_symbol1)</check> + <sink> + <name>in</name> + <type>complex</type> + <vlen>len($sync_symbol1)</vlen> + </sink> + <source> + <name>out</name> + <type>complex</type> + <vlen>len($sync_symbol1)</vlen> + </source> +</block> diff --git a/gr-digital/grc/digital_ofdm_cyclic_prefixer.xml b/gr-digital/grc/digital_ofdm_cyclic_prefixer.xml index d5e5d3894..80bf339cb 100644 --- a/gr-digital/grc/digital_ofdm_cyclic_prefixer.xml +++ b/gr-digital/grc/digital_ofdm_cyclic_prefixer.xml @@ -29,17 +29,31 @@ <name>OFDM Cyclic Prefixer</name> <key>digital_ofdm_cyclic_prefixer</key> <import>from gnuradio import digital</import> - <make>digital.ofdm_cyclic_prefixer($input_size, $output_size)</make> + <make>digital.ofdm_cyclic_prefixer($input_size, $output_size, $rolloff, $tagname)</make> <param> - <name>Input Size</name> + <name>FFT Length</name> <key>input_size</key> + <value>fft_len</value> <type>int</type> </param> <param> - <name>Output Size</name> + <name>Output Size (FFT length + CP length)</name> <key>output_size</key> + <value>fft_len+fft_len/4</value> <type>int</type> </param> + <param> + <name>Rolloff</name> + <key>rolloff</key> + <value>0</value> + <type>int</type> + </param> + <param> + <name>Length Tag Key</name> + <key>tagname</key> + <value>"frame_len"</value> + <type>string</type> + </param> <sink> <name>in</name> <type>complex</type> diff --git a/gr-digital/grc/digital_ofdm_frame_equalizer_vcvc.xml b/gr-digital/grc/digital_ofdm_frame_equalizer_vcvc.xml new file mode 100644 index 000000000..330b29a2f --- /dev/null +++ b/gr-digital/grc/digital_ofdm_frame_equalizer_vcvc.xml @@ -0,0 +1,45 @@ +<block> + <name>OFDM Frame Equalizer</name> + <key>digital_ofdm_frame_equalizer_vcvc</key> + <import>from gnuradio import digital</import> + <make>digital.ofdm_frame_equalizer_vcvc($equalizer, $len_tag_key, $propagate_channel_state)</make> + <param> + <name>FFT length</name> + <key>fft_len</key> + <value>fft_len</value> + <type>int</type> + </param> + <param> + <name>Equalizer</name> + <key>equalizer</key> + <type>raw</type> + </param> + <param> + <name>Length Tag Key</name> + <key>len_tag_key</key> + <type>string</type> + </param> + <param> + <name>Propagate Channel State</name> + <key>propagate_channel_state</key> + <type>enum</type> + <option> + <name>Yes</name> + <key>True</key> + </option> + <option> + <name>No</name> + <key>False</key> + </option> + </param> + <sink> + <name>in</name> + <type>complex</type> + <vlen>$fft_len</vlen> + </sink> + <source> + <name>out</name> + <type>complex</type> + <vlen>$fft_len</vlen> + </source> +</block> diff --git a/gr-digital/grc/digital_ofdm_mod2.xml b/gr-digital/grc/digital_ofdm_mod2.xml new file mode 100644 index 000000000..7de9ff786 --- /dev/null +++ b/gr-digital/grc/digital_ofdm_mod2.xml @@ -0,0 +1,65 @@ +<block> + <name>OFDM Mod 2</name> + <key>digital_ofdm_mod2</key> + <category>OFDM</category> + <import>from gnuradio import digital</import> + <make>digital.ofdm_mod2(fft_len=$fft_len, + cp_len=$cp_len, + length_tag_name=$length_tag_name, + occupied_carriers=$occupied_carriers, + pilot_carriers=$pilot_carriers, + pilot_symbols=$pilot_symbols, + sync_sequence=$sync_sequence, + ) + </make> + <param> + <name>Cyclic Prefix Length</name> + <key>cp_len</key> + <value>16</value> + <type>int</type> + </param> + <param> + <name>FFT Length</name> + <key>fft_len</key> + <value>64</value> + <type>int</type> + </param> + <param> + <name>Length Tag Name</name> + <key>length_tag_name</key> + <value>length</value> + <type>string</type> + </param> + <param> + <name>Occupied Carriers</name> + <key>occupied_carriers</key> + <value>(range(1, 27) + range(38, 64),)</value> + <type>raw</type> + </param> + <param> + <name>Pilot Carriers</name> + <key>pilot_carriers</key> + <value>((0,),)</value> + <type>raw</type> + </param> + <param> + <name>Pilot Symbols</name> + <key>pilot_symbols</key> + <value>((100,),)</value> + <type>raw</type> + </param> + <param> + <name>Synchronization Sequence</name> + <key>sync_sequence</key> + <value>None</value> + <type>raw</type> + </param> + <sink> + <name>in</name> + <type>byte</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + </source> +</block> diff --git a/gr-digital/grc/digital_ofdm_serializer_vcc.xml b/gr-digital/grc/digital_ofdm_serializer_vcc.xml new file mode 100644 index 000000000..c7596bbb0 --- /dev/null +++ b/gr-digital/grc/digital_ofdm_serializer_vcc.xml @@ -0,0 +1,50 @@ +<?xml version="1.0"?> +<block> + <name>OFDM Serializer</name> + <key>digital_ofdm_serializer_vcc</key> + <import>from gnuradio import digital</import> + <make>digital.ofdm_serializer_vcc($fft_len, $occupied_carriers, $len_tag_key, $packet_len_tag_key, $symbols_skipped, $input_is_shifted)</make> + <param> + <name>FFT length</name> + <key>fft_len</key> + <value>fft_len</value> + <type>int</type> + </param> + <param> + <name>Occupied Carriers</name> + <key>occupied_carriers</key> + <type>raw</type> + </param> + <param> + <name>Length Tag Key</name> + <key>len_tag_key</key> + <type>string</type> + </param> + <param> + <name>Packet Length Tag Key</name> + <key>packet_len_tag_key</key> + <value>""</value> + <type>string</type> + </param> + <param> + <name>Symbols skipped</name> + <key>symbols_skipped</key> + <value>0</value> + <type>int</type> + </param> + <param> + <name>Input is shifted</name> + <key>input_is_shifted</key> + <value>True</value> + <type>bool</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + <vlen>$fft_len</vlen> + </sink> + <source> + <name>out</name> + <type>complex</type> + </source> +</block> diff --git a/gr-digital/grc/digital_ofdm_sync_sc_cfb.xml b/gr-digital/grc/digital_ofdm_sync_sc_cfb.xml new file mode 100644 index 000000000..7865d248d --- /dev/null +++ b/gr-digital/grc/digital_ofdm_sync_sc_cfb.xml @@ -0,0 +1,29 @@ +<?xml version="1.0"?> +<block> + <name>Schmidl & Cox OFDM synchronisation</name> + <key>digital_ofdm_sync_sc_cfb</key> + <import>from gnuradio import digital</import> + <make>digital.ofdm_sync_sc_cfb($fft_len, $cp_len)</make> + <param> + <name>FFT length</name> + <key>fft_len</key> + <type>int</type> + </param> + <param> + <name>Cyclic Prefix length</name> + <key>cp_len</key> + <type>int</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <source> + <name>freq_offset</name> + <type>float</type> + </source> + <source> + <name>detect</name> + <type>byte</type> + </source> +</block> diff --git a/gr-digital/grc/digital_packet_headergenerator_bb.xml b/gr-digital/grc/digital_packet_headergenerator_bb.xml new file mode 100644 index 000000000..a0ec14ae8 --- /dev/null +++ b/gr-digital/grc/digital_packet_headergenerator_bb.xml @@ -0,0 +1,19 @@ +<block> + <name>Packet Header Generator</name> + <key>digital_packet_headergenerator_bb</key> + <import>from gnuradio import digital</import> + <make>digital.packet_headergenerator_bb($header_formatter)</make> + <param> + <name>Formatter Object</name> + <key>header_formatter</key> + <type>raw</type> + </param> + <sink> + <name>in</name> + <type>byte</type> + </sink> + <source> + <name>out</name> + <type>byte</type> + </source> +</block> diff --git a/gr-digital/grc/digital_packet_headergenerator_bb_default.xml b/gr-digital/grc/digital_packet_headergenerator_bb_default.xml new file mode 100644 index 000000000..645b4cd25 --- /dev/null +++ b/gr-digital/grc/digital_packet_headergenerator_bb_default.xml @@ -0,0 +1,26 @@ +<block> + <name>Packet Header Generator</name> + <key>digital_packet_headergenerator_bb_default</key> + <import>from gnuradio import digital</import> + <make>digital.packet_headergenerator_bb($header_len, $len_tag_key)</make> + <param> + <name>Header Length</name> + <key>header_len</key> + <type>int</type> + </param> + <param> + <name>Length Tag Name</name> + <key>len_tag_key</key> + <value>"packet_len"</value> + <type>string</type> + </param> + <sink> + <name>in</name> + <type>byte</type> + </sink> + <source> + <name>out</name> + <type>byte</type> + </source> +</block> + diff --git a/gr-digital/grc/digital_packet_headerparser_b.xml b/gr-digital/grc/digital_packet_headerparser_b.xml new file mode 100644 index 000000000..bab6bd22e --- /dev/null +++ b/gr-digital/grc/digital_packet_headerparser_b.xml @@ -0,0 +1,19 @@ +<block> + <name>Packet Header Parser</name> + <key>digital_packet_headerparser_b</key> + <import>from gnuradio import digital</import> + <make>digital.packet_headerparser_b($header_formatter)</make> + <param> + <name>Formatter Object</name> + <key>header_formatter</key> + <type>raw</type> + </param> + <sink> + <name>in</name> + <type>byte</type> + </sink> + <source> + <name>header_data</name> + <type>message</type> + </source> +</block> diff --git a/gr-digital/grc/digital_packet_headerparser_b_default.xml b/gr-digital/grc/digital_packet_headerparser_b_default.xml new file mode 100644 index 000000000..415f4839f --- /dev/null +++ b/gr-digital/grc/digital_packet_headerparser_b_default.xml @@ -0,0 +1,26 @@ +<block> + <name>Packet Header Parser (Default)</name> + <key>digital_packet_headerparser_b_default</key> + <import>from gnuradio import digital</import> + <make>digital.packet_headerparser_b($header_len, $len_tag_key)</make> + <param> + <name>Header Length</name> + <key>header_len</key> + <type>int</type> + </param> + <param> + <name>Length Tag Name</name> + <key>len_tag_key</key> + <value>"packet_len"</value> + <type>string</type> + </param> + <sink> + <name>in</name> + <type>byte</type> + </sink> + <source> + <name>out</name> + <type>message</type> + </source> +</block> + diff --git a/gr-digital/grc/digital_scale_tags.xml b/gr-digital/grc/digital_scale_tags.xml new file mode 100644 index 000000000..3e80ee21f --- /dev/null +++ b/gr-digital/grc/digital_scale_tags.xml @@ -0,0 +1,31 @@ +<block> + <name>Tag Scaler</name> + <key>digital_scale_tags</key> + <category>digital</category> + <import>from gnuradio import digital</import> + <make>digital.scale_tags($item_size, $tag_name, $scale_factor)</make> + <param> + <name>Item size</name> + <key>item_size</key> + <type>int</type> + </param> + <param> + <name>Tag Name</name> + <key>tag_name</key> + <type>string</type> + </param> + <param> + <name>Scale Factor</name> + <key>scale_factor</key> + <type>real</type> + </param> + <!--FIXME type should be choosable--> + <sink> + <name>in</name> + <type>byte</type> + </sink> + <source> + <name>out</name> + <type>byte</type> + </source> +</block> |