From af5fee8707a22433a1fc659966ef3a73ef2ff031 Mon Sep 17 00:00:00 2001 From: Christoph Mayer Date: Wed, 19 Feb 2020 15:08:34 +0100 Subject: [PATCH] changes for gnuradio > 3.8 --- examples/qt_physical_layer.grc | 5168 ++++------------- examples/test_s4285.grc | 1234 ++-- grc/digitalhf_physical_layer_driver.block.yml | 3 - 3 files changed, 1563 insertions(+), 4842 deletions(-) diff --git a/examples/qt_physical_layer.grc b/examples/qt_physical_layer.grc index 025bbd4..d20db3f 100644 --- a/examples/qt_physical_layer.grc +++ b/examples/qt_physical_layer.grc @@ -1,3929 +1,1239 @@ - - - - Fri Oct 19 14:08:05 2018 - - options - - author - - - - window_size - - - - category - [digitalhf] - - - comment - - - - description - physical_layer_driver + QT interface - - - _enabled - True - - - _coordinate - (10, 16) - - - _rotation - 0 - - - generate_options - hb_qt_gui - - - hier_block_src_path - .: - - - id - qt_pysical_layer - - - max_nouts - 0 - - - qt_qss_theme - - - - realtime_scheduling - - - - run_command - {python} -u {filename} - - - run_options - prompt - - - run - True - - - sizing_mode - fixed - - - thread_safe_setters - 1 - - - title - QT physical layer driver - - - placement - (0,0) - - - - variable_function_probe - - block_id - digitalhf_physical_layer_driver_0 - - - comment - - - - _enabled - 1 - - - function_args - - - - function_name - get_doppler - - - _coordinate - (940, 316) - - - _rotation - 0 - - - id - doppler - - - value - 'UNKNOWN' - - - poll_rate - 5 - - - - variable_qtgui_range - - comment - - - - value - frame_len_bits - - - _enabled - True - - - _coordinate - (889, 16) - - - gui_hint - tab@4:1,0,1,1 - - - _rotation - 0 - - - id - frame_len_bits_range - - - label - frame length - - - min_len - 200 - - - orient - Qt.Horizontal - - - start - 2 - - - step - 1 - - - stop - 4096 - - - rangeType - int - - - widget - counter_slider - - - - variable_qtgui_label - - comment - - - - value - doppler - - - _enabled - True - - - formatter - None - - - _coordinate - (1107, 316) - - - gui_hint - 0,4,1,1 - - - _rotation - 0 - - - id - label_doppler - - - label - Doppler - - - type - string - - - - variable_qtgui_label - - comment - - - - value - mode_for_display - - - _enabled - True - - - formatter - None - - - _coordinate - (1107, 137) - - - gui_hint - 0,0,1,4 - - - _rotation - 0 - - - id - label_mode - - - label - Mode - - - type - raw - - - - variable_qtgui_label - - comment - - - - value - quality - - - _enabled - True - - - formatter - None - - - _coordinate - (1107, 227) - - - gui_hint - 0,5,1,1 - - - _rotation - 0 - - - id - label_quality - - - label - Quality - - - type - string - - - - variable_function_probe - - block_id - digitalhf_physical_layer_driver_0 - - - comment - - - - _enabled - 1 - - - function_args - - - - function_name - get_mode - - - _coordinate - (947, 137) - - - _rotation - 0 - - - id - mode_for_display - - - value - "____" - - - poll_rate - 5 - - - - variable_qtgui_range - - comment - - - - value - 0.01 - - - _enabled - True - - - _coordinate - (1036, 16) - - - gui_hint - (4,0,1,3) - - - _rotation - 0 - - - id - mu - - - label - mu - - - min_len - 200 - - - orient - Qt.Horizontal - - - start - 0.0001 - - - step - 0.0001 - - - stop - 0.01 - - - rangeType - float - - - widget - counter_slider - - - - variable_function_probe - - block_id - digitalhf_physical_layer_driver_0 - - - comment - - - - _enabled - 1 - - - function_args - - - - function_name - get_quality - - - _coordinate - (940, 227) - - - _rotation - 0 - - - id - quality - - - value - 'UNKNOWN' - - - poll_rate - 5 - - - - pad_sink - - comment - - - - _enabled - True - - - _coordinate - (396, 534) - - - _rotation - 0 - - - id - bits_msg_sink - - - type - message - - - label - bits_msg - - - num_streams - 1 - - - optional - True - - - vlen - 1 - - - - blocks_add_const_vxx - - alias - - - - comment - - - - const - -0.4 - - - affinity - - - - _enabled - True - - - _coordinate - (723, 761) - - - _rotation - 0 - - - id - blocks_add_const_vxx_0 - - - type - float - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - vlen - 1 - - - - blocks_complex_to_mag - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (556, 390) - - - _rotation - 0 - - - id - blocks_complex_to_mag_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - vlen - 1 - - - - blocks_complex_to_mag - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (748, 620) - - - _rotation - 0 - - - id - blocks_complex_to_mag_1 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - vlen - 1 - - - - blocks_complex_to_magphase - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (460, 745) - - - _rotation - 0 - - - id - blocks_complex_to_magphase_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - vlen - 1 - - - - blocks_multiply_const_vxx - - alias - - - - comment - - - - const - exp(0.4j) - - - affinity - - - - _enabled - True - - - _coordinate - (204, 748) - - - _rotation - 0 - - - id - blocks_multiply_const_vxx_0 - - - type - complex - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - vlen - 1 - - - - blocks_null_sink - - alias - - - - bus_conns - [[0,],] - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (723, 723) - - - _rotation - 0 - - - id - blocks_null_sink_1 - - - type - float - - - num_inputs - 1 - - - vlen - 1 - - - - blocks_pdu_to_tagged_stream - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (569, 550) - - - _rotation - 0 - - - id - blocks_pdu_to_tagged_stream_0 - - - type - byte - - - tag - packet_len - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - blocks_pdu_to_tagged_stream - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (601, 486) - - - _rotation - 0 - - - id - blocks_pdu_to_tagged_stream_0_0 - - - type - float - - - tag - packet_len - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - - blocks_vector_to_stream - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (531, 614) - - - _rotation - 0 - - - id - blocks_vector_to_stream_0 - - - type - complex - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - num_items - (1+(nB+nF)*sps) - - - vlen - 1 - - - - digitalhf_physical_layer_driver - - alias - - - - comment - - - - affinity - - - - description_name - physical_layer_type - - - _enabled - True - - - _coordinate - (236, 352) - - - _rotation - 0 - - - id - digitalhf_physical_layer_driver_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - sps - sps - - - alpha - 0.1 - - - mode - physical_layer_mode - - - mu - mu - - - nB - nB - - - nF - nF - - - nW - nW - - - samp_rate - samp_rate - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (518, 105) - - - _rotation - 0 - - - id - frame_len_bits - - - label - frame length bits - - - short_id - - - - hide - none - - - type - intx - - - value - 64 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (684, 105) - - - _rotation - 0 - - - id - frame_len_symb - - - label - frame length symbols - - - short_id - - - - hide - none - - - type - intx - - - value - 256 - - - - import - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (12, 128) - - - _rotation - 0 - - - id - import_0 - - - import - from numpy import exp, pi - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (236, 105) - - - _rotation - 0 - - - id - nB - - - label - nB - - - short_id - - - - hide - none - - - type - intx - - - value - 9 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (320, 105) - - - _rotation - 0 - - - id - nF - - - label - nF - - - short_id - - - - hide - none - - - type - intx - - - value - 9 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (409, 105) - - - _rotation - 0 - - - id - nW - - - label - nW - - - short_id - - - - hide - none - - - type - intx - - - value - 9 - - - - pad_sink - - comment - - - - _enabled - True - - - _coordinate - (230, 540) - - - _rotation - 0 - - - id - pad_sink_0 - - - type - byte - - - label - bits - - - num_streams - 1 - - - optional - True - - - vlen - 1 - - - - pad_sink - - comment - - - - _enabled - True - - - _coordinate - (204, 796) - - - _rotation - 0 - - - id - pad_sink_0_0 - - - type - complex - - - label - symbols - - - num_streams - 1 - - - optional - True - - - vlen - 1 - - - - pad_sink - - comment - - - - _enabled - True - - - _coordinate - (832, 486) - - - _rotation - 0 - - - id - pad_sink_0_1 - - - type - float - - - label - soft_dec - - - num_streams - 1 - - - optional - True - - - vlen - 1 - - - - pad_source - - comment - - - - _enabled - True - - - _coordinate - (12, 393) - - - _rotation - 0 - - - id - pad_source_0 - - - label - I/Q input - - - num_streams - 1 - - - optional - False - - - type - complex - - - vlen - 1 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (684, 16) - - - _rotation - 0 - - - id - physical_layer_mode - - - label - mode for physical layer - - - short_id - - - - hide - none - - - type - string - - - value - "600/L" - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (518, 16) - - - _rotation - 0 - - - id - physical_layer_type - - - label - Type of physical layer - - - short_id - - - - hide - none - - - type - string - - - value - STANAG_4285 - - - - qtgui_const_sink_x - - autoscale - False - - - axislabels - True - - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (492, 243) - - - gui_hint - (3,3,2,3) - - - _rotation - 0 - - - grid - True - - - id - qtgui_const_sink_x_0 - - - legend - False - - - alpha1 - 1 - - - color1 - "blue" - - - label1 - descrambled symbols - - - marker1 - 0 - - - style1 - 0 - - - width1 - 1 - - - alpha10 - 1.0 - - - color10 - "red" - - - label10 - - - - marker10 - 0 - - - style10 - 0 - - - width10 - 1 - - - alpha2 - 1.0 - - - color2 - "red" - - - label2 - - - - marker2 - 0 - - - style2 - 0 - - - width2 - 1 - - - alpha3 - 1.0 - - - color3 - "red" - - - label3 - - - - marker3 - 0 - - - style3 - 0 - - - width3 - 1 - - - alpha4 - 1.0 - - - color4 - "red" - - - label4 - - - - marker4 - 0 - - - style4 - 0 - - - width4 - 1 - - - alpha5 - 1.0 - - - color5 - "red" - - - label5 - - - - marker5 - 0 - - - style5 - 0 - - - width5 - 1 - - - alpha6 - 1.0 - - - color6 - "red" - - - label6 - - - - marker6 - 0 - - - style6 - 0 - - - width6 - 1 - - - alpha7 - 1.0 - - - color7 - "red" - - - label7 - - - - marker7 - 0 - - - style7 - 0 - - - width7 - 1 - - - alpha8 - 1.0 - - - color8 - "red" - - - label8 - - - - marker8 - 0 - - - style8 - 0 - - - width8 - 1 - - - alpha9 - 1.0 - - - color9 - "red" - - - label9 - - - - marker9 - 0 - - - style9 - 0 - - - width9 - 1 - - - name - "" - - - nconnections - 1 - - - size - 1024 - - - tr_chan - 0 - - - tr_level - 0.0 - - - tr_mode - qtgui.TRIG_MODE_FREE - - - tr_slope - qtgui.TRIG_SLOPE_POS - - - tr_tag - "" - - - type - complex - - - update_time - 0.1 - - - xmax - 2 - - - xmin - -2 - - - ymax - 2 - - - ymin - -2 - - - - qtgui_time_raster_sink_x - - axislabels - True - - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (902, 739) - - - gui_hint - tab@1 - - - _rotation - 0 - - - grid - True - - - id - qtgui_time_raster_sink_x_0 - - - zmax - pi - - - zmin - -pi - - - alpha1 - 1.0 - - - color1 - 0 - - - label1 - arg(symbol) - - - alpha10 - 1.0 - - - color10 - 0 - - - label10 - - - - alpha2 - 1.0 - - - color2 - 0 - - - label2 - - - - alpha3 - 1.0 - - - color3 - 0 - - - label3 - - - - alpha4 - 1.0 - - - color4 - 0 - - - label4 - - - - alpha5 - 1.0 - - - color5 - 0 - - - label5 - - - - alpha6 - 1.0 - - - color6 - 0 - - - label6 - - - - alpha7 - 1.0 - - - color7 - 0 - - - label7 - - - - alpha8 - 1.0 - - - color8 - 0 - - - label8 - - - - alpha9 - 1.0 - - - color9 - 0 - - - label9 - - - - mult - [] - - - name - "arg(descrambled symbol)" - - - ncols - frame_len_symb - - - nrows - 100 - - - nconnections - 1 - - - offset - [] - - - samp_rate - samp_rate/sps - - - type - float - - - update_time - 0.10 - - - - qtgui_time_raster_sink_x - - axislabels - True - - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (947, 592) - - - gui_hint - tab@3 - - - _rotation - 0 - - - grid - True - - - id - qtgui_time_raster_sink_x_0_0 - - - zmax - 1 - - - zmin - 0 - - - alpha1 - 1.0 - - - color1 - 0 - - - label1 - - - - alpha10 - 1.0 - - - color10 - 0 - - - label10 - - - - alpha2 - 1.0 - - - color2 - 0 - - - label2 - - - - alpha3 - 1.0 - - - color3 - 0 - - - label3 - - - - alpha4 - 1.0 - - - color4 - 0 - - - label4 - - - - alpha5 - 1.0 - - - color5 - 0 - - - label5 - - - - alpha6 - 1.0 - - - color6 - 0 - - - label6 - - - - alpha7 - 1.0 - - - color7 - 0 - - - label7 - - - - alpha8 - 1.0 - - - color8 - 0 - - - label8 - - - - alpha9 - 1.0 - - - color9 - 0 - - - label9 - - - - mult - [] - - - name - "abs(adaptive filter taps)" - - - ncols - (1+(nB+nF)*sps) - - - nrows - 100 - - - nconnections - 1 - - - offset - [] - - - samp_rate - samp_rate - - - type - float - - - update_time - 0.10 - - - - qtgui_time_raster_sink_x - - axislabels - True - - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (230, 630) - - - gui_hint - tab@4:0,0,1,1 - - - _rotation - 0 - - - grid - True - - - id - qtgui_time_raster_sink_x_0_1 - - - zmax - 1 - - - zmin - 0 - - - alpha1 - 1.0 - - - color1 - 0 - - - label1 - "" - - - alpha10 - 1.0 - - - color10 - 0 - - - label10 - - - - alpha2 - 1.0 - - - color2 - 0 - - - label2 - - - - alpha3 - 1.0 - - - color3 - 0 - - - label3 - - - - alpha4 - 1.0 - - - color4 - 0 - - - label4 - - - - alpha5 - 1.0 - - - color5 - 0 - - - label5 - - - - alpha6 - 1.0 - - - color6 - 0 - - - label6 - - - - alpha7 - 1.0 - - - color7 - 0 - - - label7 - - - - alpha8 - 1.0 - - - color8 - 0 - - - label8 - - - - alpha9 - 1.0 - - - color9 - 0 - - - label9 - - - - mult - [] - - - name - "bits" - - - ncols - frame_len_bits_range - - - nrows - 100 - - - nconnections - 1 - - - offset - [] - - - samp_rate - samp_rate/sps - - - type - byte - - - update_time - 0.10 - - - - qtgui_time_sink_x - - autoscale - True - - - axislabels - True - - - alias - - - - comment - - - - ctrlpanel - False - - - affinity - - - - entags - True - - - _enabled - True - - - _coordinate - (761, 355) - - - gui_hint - (3,0,1,3) - - - _rotation - 0 - - - grid - False - - - id - qtgui_time_sink_x_0 - - - legend - False - - - alpha1 - 1.0 - - - color1 - "blue" - - - label1 - preamble cross-correlation - - - marker1 - -1 - - - style1 - 1 - - - width1 - 1 - - - alpha10 - 1.0 - - - color10 - "blue" - - - label10 - - - - marker10 - -1 - - - style10 - 1 - - - width10 - 1 - - - alpha2 - 1.0 - - - color2 - "red" - - - label2 - rate - - - marker2 - -1 - - - style2 - 1 - - - width2 - 1 - - - alpha3 - 1.0 - - - color3 - "green" - - - label3 - phase - - - marker3 - -1 - - - style3 - 1 - - - width3 - 1 - - - alpha4 - 1.0 - - - color4 - "black" - - - label4 - - - - marker4 - -1 - - - style4 - 1 - - - width4 - 1 - - - alpha5 - 1.0 - - - color5 - "cyan" - - - label5 - - - - marker5 - -1 - - - style5 - 1 - - - width5 - 1 - - - alpha6 - 1.0 - - - color6 - "magenta" - - - label6 - - - - marker6 - -1 - - - style6 - 1 - - - width6 - 1 - - - alpha7 - 1.0 - - - color7 - "yellow" - - - label7 - - - - marker7 - -1 - - - style7 - 1 - - - width7 - 1 - - - alpha8 - 1.0 - - - color8 - "dark red" - - - label8 - - - - marker8 - -1 - - - style8 - 1 - - - width8 - 1 - - - alpha9 - 1.0 - - - color9 - "dark green" - - - label9 - - - - marker9 - -1 - - - style9 - 1 - - - width9 - 1 - - - name - "" - - - nconnections - 1 - - - size - 80*sps - - - srate - samp_rate - - - stemplot - False - - - tr_chan - 0 - - - tr_delay - 0.007 - - - tr_level - 0.0 - - - tr_mode - qtgui.TRIG_MODE_TAG - - - tr_slope - qtgui.TRIG_SLOPE_POS - - - tr_tag - "time_est" - - - type - float - - - update_time - .1 - - - ylabel - preamble correlation - - - yunit - "" - - - ymax - 1000 - - - ymin - 0 - - - - qtgui_time_sink_x - - autoscale - False - - - axislabels - True - - - alias - - - - comment - - - - ctrlpanel - False - - - affinity - - - - entags - True - - - _enabled - True - - - _coordinate - (608, 422) - - - gui_hint - tab@2 - - - _rotation - 0 - - - grid - False - - - id - qtgui_time_sink_x_1 - - - legend - False - - - alpha1 - 1.0 - - - color1 - "blue" - - - label1 - - - - marker1 - -1 - - - style1 - 1 - - - width1 - 1 - - - alpha10 - 1.0 - - - color10 - "blue" - - - label10 - - - - marker10 - -1 - - - style10 - 1 - - - width10 - 1 - - - alpha2 - 1.0 - - - color2 - "red" - - - label2 - - - - marker2 - -1 - - - style2 - 1 - - - width2 - 1 - - - alpha3 - 1.0 - - - color3 - "green" - - - label3 - - - - marker3 - -1 - - - style3 - 1 - - - width3 - 1 - - - alpha4 - 1.0 - - - color4 - "black" - - - label4 - - - - marker4 - -1 - - - style4 - 1 - - - width4 - 1 - - - alpha5 - 1.0 - - - color5 - "cyan" - - - label5 - - - - marker5 - -1 - - - style5 - 1 - - - width5 - 1 - - - alpha6 - 1.0 - - - color6 - "magenta" - - - label6 - - - - marker6 - -1 - - - style6 - 1 - - - width6 - 1 - - - alpha7 - 1.0 - - - color7 - "yellow" - - - label7 - - - - marker7 - -1 - - - style7 - 1 - - - width7 - 1 - - - alpha8 - 1.0 - - - color8 - "dark red" - - - label8 - - - - marker8 - -1 - - - style8 - 1 - - - width8 - 1 - - - alpha9 - 1.0 - - - color9 - "dark green" - - - label9 - - - - marker9 - -1 - - - style9 - 1 - - - width9 - 1 - - - name - "" - - - nconnections - 1 - - - size - 1024 - - - srate - samp_rate/sps/2 - - - stemplot - False - - - tr_chan - 0 - - - tr_delay - 0 - - - tr_level - 0.0 - - - tr_mode - qtgui.TRIG_MODE_TAG - - - tr_slope - qtgui.TRIG_SLOPE_POS - - - tr_tag - "packet_len" - - - type - msg_float - - - update_time - 0.10 - - - ylabel - Soft Decision LLR - - - yunit - "" - - - ymax - 7 - - - ymin - -7 - - - - qtgui_waterfall_sink_x - - axislabels - True - - - bw - samp_rate - - - alias - - - - fc - 0 - - - comment - - - - affinity - - - - _enabled - True - - - fftsize - 1024*4 - - - _coordinate - (243, 265) - - - gui_hint - tab@0 - - - _rotation - 0 - - - grid - False - - - id - qtgui_waterfall_sink_x_0 - - - int_max - 10 - - - int_min - -80 - - - legend - True - - - alpha1 - 1.0 - - - color1 - 0 - - - label1 - - - - alpha10 - 1.0 - - - color10 - 0 - - - label10 - - - - alpha2 - 1.0 - - - color2 - 0 - - - label2 - - - - alpha3 - 1.0 - - - color3 - 0 - - - label3 - - - - alpha4 - 1.0 - - - color4 - 0 - - - label4 - - - - alpha5 - 1.0 - - - color5 - 0 - - - label5 - - - - alpha6 - 1.0 - - - color6 - 0 - - - label6 - - - - alpha7 - 1.0 - - - color7 - 0 - - - label7 - - - - alpha8 - 1.0 - - - color8 - 0 - - - label8 - - - - alpha9 - 1.0 - - - color9 - 0 - - - label9 - - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - name - "" - - - nconnections - 1 - - - showports - True - - - freqhalf - True - - - type - complex - - - update_time - 0.10 - - - wintype - firdes.WIN_BLACKMAN_hARRIS - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (230, 16) - - - _rotation - 0 - - - id - samp_rate - - - label - Sample Rate - - - short_id - - - - hide - none - - - type - - - - value - 12000 - - - - parameter - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (358, 16) - - - _rotation - 0 - - - id - sps - - - label - Sampler per Symbol - - - short_id - - - - hide - none - - - type - - - - value - 5 - - - - qtgui_tab_widget - - alias - - - - comment - - - - _enabled - True - - - _coordinate - (684, 195) - - - gui_hint - 1,0,2,6 - - - _rotation - 0 - - - id - tab - - - label0 - I/Q Waterfall - - - label1 - Descrambled Symbols - - - label10 - Tab 10 - - - label11 - Tab 11 - - - label12 - Tab 12 - - - label13 - Tab 13 - - - label14 - Tab 14 - - - label15 - Tab 15 - - - label16 - Tab 16 - - - label17 - Tab 17 - - - label18 - Tab 18 - - - label19 - Tab 19 - - - label2 - Soft Decisions - - - label3 - Adaptive Filter Taps - - - label4 - Bit Stream - - - label5 - Tab 5 - - - label6 - Tab 6 - - - label7 - Tab 7 - - - label8 - Tab 8 - - - label9 - Tab 9 - - - num_tabs - 5 - - - - virtual_sink - - comment - - - - _enabled - True - - - _coordinate - (806, 550) - - - _rotation - 0 - - - id - virtual_sink_1 - - - stream_id - bits - - - - virtual_sink - - comment - - - - _enabled - True - - - _coordinate - (492, 300) - - - _rotation - 0 - - - id - virtual_sink_3 - - - stream_id - symbols - - - - virtual_source - - comment - - - - _enabled - True - - - _coordinate - (19, 608) - - - _rotation - 0 - - - id - virtual_source_1 - - - stream_id - bits - - - - virtual_source - - comment - - - - _enabled - True - - - _coordinate - (19, 748) - - - _rotation - 0 - - - id - virtual_source_2 - - - stream_id - symbols - - - - blocks_add_const_vxx_0 - qtgui_time_raster_sink_x_0 - 0 - 0 - - - blocks_complex_to_mag_0 - qtgui_time_sink_x_0 - 0 - 0 - - - blocks_complex_to_mag_1 - qtgui_time_raster_sink_x_0_0 - 0 - 0 - - - blocks_complex_to_magphase_0 - blocks_null_sink_1 - 0 - 0 - - - blocks_complex_to_magphase_0 - blocks_add_const_vxx_0 - 1 - 0 - - - blocks_multiply_const_vxx_0 - blocks_complex_to_magphase_0 - 0 - 0 - - - blocks_pdu_to_tagged_stream_0 - virtual_sink_1 - 0 - 0 - - - blocks_pdu_to_tagged_stream_0_0 - pad_sink_0_1 - 0 - 0 - - - blocks_vector_to_stream_0 - blocks_complex_to_mag_1 - 0 - 0 - - - digitalhf_physical_layer_driver_0 - bits_msg_sink - bits - in - - - digitalhf_physical_layer_driver_0 - blocks_pdu_to_tagged_stream_0 - bits - pdus - - - digitalhf_physical_layer_driver_0 - blocks_complex_to_mag_0 - 1 - 0 - - - digitalhf_physical_layer_driver_0 - qtgui_const_sink_x_0 - 0 - 0 - - - digitalhf_physical_layer_driver_0 - virtual_sink_3 - 0 - 0 - - - digitalhf_physical_layer_driver_0 - blocks_pdu_to_tagged_stream_0_0 - soft_dec - pdus - - - digitalhf_physical_layer_driver_0 - qtgui_time_sink_x_1 - soft_dec - in - - - digitalhf_physical_layer_driver_0 - blocks_vector_to_stream_0 - 2 - 0 - - - pad_source_0 - digitalhf_physical_layer_driver_0 - 0 - 0 - - - pad_source_0 - qtgui_waterfall_sink_x_0 - 0 - 0 - - - virtual_source_1 - pad_sink_0 - 0 - 0 - - - virtual_source_1 - qtgui_time_raster_sink_x_0_1 - 0 - 0 - - - virtual_source_2 - blocks_multiply_const_vxx_0 - 0 - 0 - - - virtual_source_2 - pad_sink_0_0 - 0 - 0 - - +options: + parameters: + author: '' + catch_exceptions: 'True' + category: '[digitalhf]' + cmake_opt: '' + comment: '' + copyright: '' + description: physical_layer_driver + QT interface + gen_cmake: 'On' + gen_linking: dynamic + generate_options: hb_qt_gui + hier_block_src_path: '.:' + id: qt_pysical_layer + max_nouts: '0' + output_language: python + placement: (0,0) + qt_qss_theme: '' + realtime_scheduling: '' + run: 'True' + run_command: '{python} -u {filename}' + run_options: prompt + sizing_mode: fixed + thread_safe_setters: '1' + title: QT physical layer driver + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [10, 13] + rotation: 0 + state: enabled + +blocks: +- name: doppler + id: variable_function_probe + parameters: + block_id: digitalhf_physical_layer_driver_0 + comment: '' + function_args: '' + function_name: get_doppler + poll_rate: '5' + value: '''UNKNOWN''' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1554, 389] + rotation: 0 + state: enabled +- name: frame_len_bits_range + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: tab@4:1,0,1,1 + label: frame length + min_len: '200' + orient: Qt.Horizontal + rangeType: int + start: '2' + step: '1' + stop: '4096' + value: frame_len_bits + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1322, 12] + rotation: 0 + state: enabled +- name: label_doppler + id: variable_qtgui_label + parameters: + comment: '' + formatter: None + gui_hint: 0,4,1,1 + label: Doppler + type: string + value: doppler + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1322, 345] + rotation: 0 + state: enabled +- name: label_mode + id: variable_qtgui_label + parameters: + comment: '' + formatter: None + gui_hint: 0,0,1,4 + label: Mode + type: raw + value: mode_for_display + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1322, 157] + rotation: 0 + state: enabled +- name: label_quality + id: variable_qtgui_label + parameters: + comment: '' + formatter: None + gui_hint: 0,5,1,1 + label: Quality + type: string + value: quality + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1322, 251] + rotation: 0 + state: enabled +- name: mode_for_display + id: variable_function_probe + parameters: + block_id: digitalhf_physical_layer_driver_0 + comment: '' + function_args: '' + function_name: get_mode + poll_rate: '5' + value: '"____"' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1554, 165] + rotation: 0 + state: enabled +- name: mu + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: (4,0,1,3) + label: mu + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0.0001' + step: '0.0001' + stop: '0.01' + value: '0.01' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1498, 11] + rotation: 0 + state: enabled +- name: quality + id: variable_function_probe + parameters: + block_id: digitalhf_physical_layer_driver_0 + comment: '' + function_args: '' + function_name: get_quality + poll_rate: '5' + value: '''UNKNOWN''' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1554, 278] + rotation: 0 + state: enabled +- name: bits_msg_sink + id: pad_sink + parameters: + affinity: '' + alias: '' + comment: '' + label: bits_msg + num_streams: '1' + optional: 'True' + type: message + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [659, 540] + rotation: 0 + state: enabled +- name: blocks_add_const_vxx_0 + id: blocks_add_const_vxx + parameters: + affinity: '' + alias: '' + comment: '' + const: '-0.4' + maxoutbuf: '0' + minoutbuf: '0' + type: float + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [913, 858] + rotation: 0 + state: enabled +- name: blocks_complex_to_mag_0 + id: blocks_complex_to_mag + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [659, 359] + rotation: 0 + state: enabled +- name: blocks_complex_to_mag_1 + id: blocks_complex_to_mag + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [945, 675] + rotation: 0 + state: enabled +- name: blocks_complex_to_magphase_0 + id: blocks_complex_to_magphase + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [593, 818] + rotation: 0 + state: enabled +- name: blocks_multiply_const_vxx_0 + id: blocks_multiply_const_vxx + parameters: + affinity: '' + alias: '' + comment: '' + const: exp(0.4j) + maxoutbuf: '0' + minoutbuf: '0' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [260, 825] + rotation: 0 + state: enabled +- name: blocks_null_sink_1 + id: blocks_null_sink + parameters: + affinity: '' + alias: '' + bus_structure_sink: '[[0,],]' + comment: '' + num_inputs: '1' + type: float + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [913, 806] + rotation: 0 + state: enabled +- name: blocks_pdu_to_tagged_stream_0 + id: blocks_pdu_to_tagged_stream + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + tag: packet_len + type: byte + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [659, 592] + rotation: 0 + state: enabled +- name: blocks_pdu_to_tagged_stream_0_0 + id: blocks_pdu_to_tagged_stream + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + tag: packet_len + type: float + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [659, 482] + rotation: 0 + state: enabled +- name: blocks_vector_to_stream_0 + id: blocks_vector_to_stream + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_items: (1+(nB+nF)*sps) + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [659, 675] + rotation: 0 + state: enabled +- name: digitalhf_physical_layer_driver_0 + id: digitalhf_physical_layer_driver + parameters: + affinity: '' + alias: '' + alpha: '0.1' + comment: '' + description_name: physical_layer_type + maxoutbuf: '0' + minoutbuf: '0' + mode: physical_layer_mode + mu: mu + nB: nB + nF: nF + nW: nW + samp_rate: samp_rate + sps: sps + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [260, 409] + rotation: 0 + state: enabled +- name: frame_len_bits + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: frame length bits + short_id: '' + type: intx + value: '64' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [600, 113] + rotation: 0 + state: enabled +- name: frame_len_symb + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: frame length symbols + short_id: '' + type: intx + value: '256' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [780, 113] + rotation: 0 + state: enabled +- name: import_0 + id: import + parameters: + alias: '' + comment: '' + imports: from numpy import exp, pi + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [10, 142] + rotation: 0 + state: enabled +- name: nB + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: nB + short_id: '' + type: intx + value: '9' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [291, 113] + rotation: 0 + state: enabled +- name: nF + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: nF + short_id: '' + type: intx + value: '9' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [392, 113] + rotation: 0 + state: enabled +- name: nW + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: nW + short_id: '' + type: intx + value: '9' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [495, 113] + rotation: 0 + state: enabled +- name: pad_sink_0 + id: pad_sink + parameters: + affinity: '' + alias: '' + comment: '' + label: bits + num_streams: '1' + optional: 'False' + type: byte + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [260, 635] + rotation: 0 + state: enabled +- name: pad_sink_0_0 + id: pad_sink + parameters: + affinity: '' + alias: '' + comment: '' + label: symbols + num_streams: '1' + optional: 'False' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [260, 880] + rotation: 0 + state: enabled +- name: pad_sink_0_1 + id: pad_sink + parameters: + affinity: '' + alias: '' + comment: '' + label: soft_dec + num_streams: '1' + optional: 'False' + type: float + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [945, 482] + rotation: 0 + state: enabled +- name: pad_source_0 + id: pad_source + parameters: + affinity: '' + alias: '' + comment: '' + label: I/Q input + maxoutbuf: '0' + minoutbuf: '0' + num_streams: '1' + optional: 'False' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [26, 393] + rotation: 0 + state: enabled +- name: physical_layer_mode + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: mode for physical layer + short_id: '' + type: str + value: '"600/L"' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [845, 14] + rotation: 0 + state: enabled +- name: physical_layer_type + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Type of physical layer + short_id: '' + type: str + value: STANAG_4285 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [648, 14] + rotation: 0 + state: enabled +- name: qtgui_const_sink_x_0 + id: qtgui_const_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + axislabels: 'True' + color1: '"blue"' + color10: '"red"' + color2: '"red"' + color3: '"red"' + color4: '"red"' + color5: '"red"' + color6: '"red"' + color7: '"red"' + color8: '"red"' + color9: '"red"' + comment: '' + grid: 'True' + gui_hint: (3,3,2,3) + label1: descrambled symbols + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'False' + marker1: '0' + marker10: '0' + marker2: '0' + marker3: '0' + marker4: '0' + marker5: '0' + marker6: '0' + marker7: '0' + marker8: '0' + marker9: '0' + name: '""' + nconnections: '1' + size: '1024' + style1: '0' + style10: '0' + style2: '0' + style3: '0' + style4: '0' + style5: '0' + style6: '0' + style7: '0' + style8: '0' + style9: '0' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '""' + type: complex + update_time: '0.1' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + xmax: '2' + xmin: '-2' + ymax: '2' + ymin: '-2' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [659, 230] + rotation: 0 + state: enabled +- name: qtgui_time_raster_sink_x_0 + id: qtgui_time_raster_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + axislabels: 'True' + color1: '0' + color10: '0' + color2: '0' + color3: '0' + color4: '0' + color5: '0' + color6: '0' + color7: '0' + color8: '0' + color9: '0' + comment: '' + grid: 'True' + gui_hint: tab@1 + label1: arg(symbol) + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + mult: '[]' + name: '"arg(descrambled symbol)"' + ncols: frame_len_symb + nconnections: '1' + nrows: '100' + offset: '[]' + samp_rate: samp_rate/sps + type: float + update_time: '0.10' + zmax: pi + zmin: -pi + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1147, 830] + rotation: 0 + state: enabled +- name: qtgui_time_raster_sink_x_0_0 + id: qtgui_time_raster_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + axislabels: 'True' + color1: '0' + color10: '0' + color2: '0' + color3: '0' + color4: '0' + color5: '0' + color6: '0' + color7: '0' + color8: '0' + color9: '0' + comment: '' + grid: 'True' + gui_hint: tab@3 + label1: '' + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + mult: '[]' + name: '"abs(adaptive filter taps)"' + ncols: (1+(nB+nF)*sps) + nconnections: '1' + nrows: '100' + offset: '[]' + samp_rate: samp_rate + type: float + update_time: '0.10' + zmax: '1' + zmin: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1181, 639] + rotation: 0 + state: enabled +- name: qtgui_time_raster_sink_x_0_1 + id: qtgui_time_raster_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + axislabels: 'True' + color1: '0' + color10: '0' + color2: '0' + color3: '0' + color4: '0' + color5: '0' + color6: '0' + color7: '0' + color8: '0' + color9: '0' + comment: '' + grid: 'True' + gui_hint: tab@4:0,0,1,1 + label1: '""' + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + mult: '[]' + name: '"bits"' + ncols: frame_len_bits_range + nconnections: '1' + nrows: '100' + offset: '[]' + samp_rate: samp_rate/sps + type: byte + update_time: '0.10' + zmax: '1' + zmin: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [260, 692] + rotation: 0 + state: enabled +- name: qtgui_time_sink_x_0 + id: qtgui_time_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'True' + axislabels: 'True' + color1: blue + color10: dark blue + color2: red + color3: green + color4: black + color5: cyan + color6: magenta + color7: yellow + color8: dark red + color9: dark green + comment: '' + ctrlpanel: 'False' + entags: 'True' + grid: 'False' + gui_hint: (3,0,1,3) + label1: preamble cross-correlation + label10: '' + label2: rate + label3: phase + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'False' + marker1: '-1' + marker10: '-1' + marker2: '-1' + marker3: '-1' + marker4: '-1' + marker5: '-1' + marker6: '-1' + marker7: '-1' + marker8: '-1' + marker9: '-1' + name: '""' + nconnections: '1' + size: 80*sps + srate: samp_rate + stemplot: 'False' + style1: '1' + style10: '1' + style2: '1' + style3: '1' + style4: '1' + style5: '1' + style6: '1' + style7: '1' + style8: '1' + style9: '1' + tr_chan: '0' + tr_delay: '0.007' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_TAG + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '"time_est"' + type: float + update_time: '.1' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + ylabel: preamble correlation + ymax: '1000' + ymin: '0' + yunit: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [945, 331] + rotation: 0 + state: enabled +- name: qtgui_time_sink_x_1 + id: qtgui_time_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + axislabels: 'True' + color1: blue + color10: dark blue + color2: red + color3: green + color4: black + color5: cyan + color6: magenta + color7: yellow + color8: dark red + color9: dark green + comment: '' + ctrlpanel: 'False' + entags: 'True' + grid: 'False' + gui_hint: tab@2 + label1: '' + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'False' + marker1: '-1' + marker10: '-1' + marker2: '-1' + marker3: '-1' + marker4: '-1' + marker5: '-1' + marker6: '-1' + marker7: '-1' + marker8: '-1' + marker9: '-1' + name: '""' + nconnections: '1' + size: '1024' + srate: samp_rate/sps/2 + stemplot: 'False' + style1: '1' + style10: '1' + style2: '1' + style3: '1' + style4: '1' + style5: '1' + style6: '1' + style7: '1' + style8: '1' + style9: '1' + tr_chan: '0' + tr_delay: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_TAG + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '"packet_len"' + type: msg_float + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + ylabel: Soft Decision LLR + ymax: '7' + ymin: '-7' + yunit: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [659, 409] + rotation: 0 + state: enabled +- name: qtgui_waterfall_sink_x_0 + id: qtgui_waterfall_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + axislabels: 'True' + bw: samp_rate + color1: '0' + color10: '0' + color2: '0' + color3: '0' + color4: '0' + color5: '0' + color6: '0' + color7: '0' + color8: '0' + color9: '0' + comment: '' + fc: '0' + fftsize: 1024*4 + freqhalf: 'True' + grid: 'False' + gui_hint: tab@0 + int_max: '10' + int_min: '-80' + label1: '' + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + maxoutbuf: '0' + minoutbuf: '0' + name: '""' + nconnections: '1' + showports: 'True' + type: complex + update_time: '0.10' + wintype: firdes.WIN_BLACKMAN_hARRIS + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [260, 250] + rotation: 0 + state: enabled +- name: samp_rate + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Sample Rate + short_id: '' + type: '' + value: '12000' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [293, 14] + rotation: 0 + state: enabled +- name: sps + id: parameter + parameters: + alias: '' + comment: '' + hide: none + label: Sampler per Symbol + short_id: '' + type: '' + value: '5' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [451, 14] + rotation: 0 + state: enabled +- name: tab + id: qtgui_tab_widget + parameters: + alias: '' + comment: '' + gui_hint: 1,0,2,6 + label0: I/Q Waterfall + label1: Descrambled Symbols + label10: Tab 10 + label11: Tab 11 + label12: Tab 12 + label13: Tab 13 + label14: Tab 14 + label15: Tab 15 + label16: Tab 16 + label17: Tab 17 + label18: Tab 18 + label19: Tab 19 + label2: Soft Decisions + label3: Adaptive Filter Taps + label4: Bit Stream + label5: Tab 5 + label6: Tab 6 + label7: Tab 7 + label8: Tab 8 + label9: Tab 9 + num_tabs: '5' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1093, 12] + rotation: 0 + state: enabled +- name: virtual_sink_1 + id: virtual_sink + parameters: + alias: '' + comment: '' + stream_id: bits + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [945, 592] + rotation: 0 + state: enabled +- name: virtual_sink_3 + id: virtual_sink + parameters: + alias: '' + comment: '' + stream_id: symbols + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [659, 298] + rotation: 0 + state: enabled +- name: virtual_source_1 + id: virtual_source + parameters: + alias: '' + comment: '' + stream_id: bits + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [18, 680] + rotation: 0 + state: enabled +- name: virtual_source_2 + id: virtual_source + parameters: + alias: '' + comment: '' + stream_id: symbols + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [3, 849] + rotation: 0 + state: enabled + +connections: +- [blocks_add_const_vxx_0, '0', qtgui_time_raster_sink_x_0, '0'] +- [blocks_complex_to_mag_0, '0', qtgui_time_sink_x_0, '0'] +- [blocks_complex_to_mag_1, '0', qtgui_time_raster_sink_x_0_0, '0'] +- [blocks_complex_to_magphase_0, '0', blocks_null_sink_1, '0'] +- [blocks_complex_to_magphase_0, '1', blocks_add_const_vxx_0, '0'] +- [blocks_multiply_const_vxx_0, '0', blocks_complex_to_magphase_0, '0'] +- [blocks_pdu_to_tagged_stream_0, '0', virtual_sink_1, '0'] +- [blocks_pdu_to_tagged_stream_0_0, '0', pad_sink_0_1, '0'] +- [blocks_vector_to_stream_0, '0', blocks_complex_to_mag_1, '0'] +- [digitalhf_physical_layer_driver_0, '0', qtgui_const_sink_x_0, '0'] +- [digitalhf_physical_layer_driver_0, '0', virtual_sink_3, '0'] +- [digitalhf_physical_layer_driver_0, '1', blocks_complex_to_mag_0, '0'] +- [digitalhf_physical_layer_driver_0, '2', blocks_vector_to_stream_0, '0'] +- [digitalhf_physical_layer_driver_0, bits, bits_msg_sink, in] +- [digitalhf_physical_layer_driver_0, bits, blocks_pdu_to_tagged_stream_0, pdus] +- [digitalhf_physical_layer_driver_0, soft_dec, blocks_pdu_to_tagged_stream_0_0, pdus] +- [digitalhf_physical_layer_driver_0, soft_dec, qtgui_time_sink_x_1, in] +- [pad_source_0, '0', digitalhf_physical_layer_driver_0, '0'] +- [pad_source_0, '0', qtgui_waterfall_sink_x_0, '0'] +- [virtual_source_1, '0', pad_sink_0, '0'] +- [virtual_source_1, '0', qtgui_time_raster_sink_x_0_1, '0'] +- [virtual_source_2, '0', blocks_multiply_const_vxx_0, '0'] +- [virtual_source_2, '0', pad_sink_0_0, '0'] + +metadata: + file_format: 1 diff --git a/examples/test_s4285.grc b/examples/test_s4285.grc index 93cde39..7f2e818 100644 --- a/examples/test_s4285.grc +++ b/examples/test_s4285.grc @@ -1,910 +1,324 @@ - - - - Fri Oct 19 14:08:05 2018 - - options - - author - - - - window_size - (1400,700) - - - category - [GRC Hier Blocks] - - - comment - - - - description - - - - _enabled - True - - - _coordinate - (10, 16) - - - _rotation - 0 - - - generate_options - qt_gui - - - hier_block_src_path - .: - - - id - top_block - - - max_nouts - 0 - - - qt_qss_theme - - - - realtime_scheduling - 1 - - - run_command - {python} -u {filename} - - - run_options - prompt - - - run - True - - - sizing_mode - fixed - - - thread_safe_setters - 1 - - - title - - - - placement - (0,0) - - - - variable_qtgui_chooser - - comment - - - - value - '600/L' - - - _enabled - True - - - _coordinate - (633, 16) - - - gui_hint - (4,0,1,1) - - - _rotation - 0 - - - id - mode - - - label0 - BPSK - - - label1 - QPSK - - - label2 - 8PSK - - - label3 - - - - label4 - - - - label - "STANAG4285 mode" - - - labels - [] - - - num_opts - 0 - - - option0 - '0' - - - option1 - '1' - - - option2 - '2' - - - option3 - 3 - - - option4 - 4 - - - options - ['2400/L', '1200/L', '600/L', '300/L', '150/L', '75/L', '2400/S', '1200/S', '600/S', '300/S', '150/S', '75/S'] - - - orient - Qt.QVBoxLayout - - - type - string - - - widget - combo_box - - - - variable - - comment - - - - _enabled - True - - - _coordinate - (394, 16) - - - _rotation - 0 - - - id - nB - - - value - 8 - - - - variable - - comment - - - - _enabled - True - - - _coordinate - (469, 16) - - - _rotation - 0 - - - id - nF - - - value - 8 - - - - variable - - comment - - - - _enabled - True - - - _coordinate - (544, 16) - - - _rotation - 0 - - - id - nW - - - value - 4 - - - - variable - - comment - - - - _enabled - True - - - _coordinate - (224, 16) - - - _rotation - 0 - - - id - samp_rate - - - value - 12000 - - - - variable_function_probe - - block_id - wavfile_source_block - - - comment - - - - _enabled - 1 - - - function_args - - - - function_name - sample_rate - - - _coordinate - (12, 252) - - - _rotation - 0 - - - id - samp_rate_0 - - - value - 12000 - - - poll_rate - 10 - - - - variable - - comment - - - - _enabled - True - - - _coordinate - (320, 16) - - - _rotation - 0 - - - id - sps - - - value - 5 - - - - analog_agc2_xx - - attack_rate - 10e-3 - - - alias - - - - comment - - - - affinity - - - - decay_rate - 10e-3 - - - _enabled - 2 - - - _coordinate - (710, 150) - - - _rotation - 0 - - - gain - 1 - - - id - analog_agc2_xx_0 - - - max_gain - 50 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - reference - 1.0 - - - type - complex - - - - blocks_file_sink - - append - False - - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - file - bits.bin - - - _coordinate - (262, 368) - - - _rotation - 180 - - - id - blocks_file_sink_0 - - - type - byte - - - unbuffered - True - - - vlen - 1 - - - - blocks_float_to_complex - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (256, 188) - - - _rotation - 0 - - - id - blocks_float_to_complex_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - vlen - 1 - - - - blocks_null_sink - - alias - - - - bus_conns - [[0,],] - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (326, 326) - - - _rotation - 180 - - - id - blocks_null_sink_0 - - - type - complex - - - num_inputs - 1 - - - vlen - 1 - - - - blocks_null_sink - - alias - - - - bus_conns - [[0,],] - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (377, 262) - - - _rotation - 180 - - - id - blocks_null_sink_1 - - - type - float - - - num_inputs - 1 - - - vlen - 1 - - - - blocks_throttle - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (889, 179) - - - _rotation - 0 - - - id - blocks_throttle_0 - - - ignoretag - True - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - samples_per_second - samp_rate/5*sps - - - type - complex - - - vlen - 1 - - - - fractional_resampler_xx - - alias - - - - comment - - - - affinity - - - - _enabled - 1 - - - _coordinate - (473, 163) - - - _rotation - 0 - - - id - fractional_resampler_xx_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - phase_shift - 0 - - - resamp_ratio - 12001.0/12000*5/sps - - - type - complex - - - - qt_pysical_layer - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - _coordinate - (601, 300) - - - gui_hint - - - - _rotation - 180 - - - id - qt_pysical_layer_0 - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - samp_rate - samp_rate - - - sps - sps - - - physical_layer_type - "STANAG_4285" - - - frame_len_symb - 256 - - - frame_len_bits - 64 - - - physical_layer_mode - mode - - - nB - nB - - - nF - nF - - - nW - nW - - - - blocks_wavfile_source - - alias - - - - comment - - - - affinity - - - - _enabled - True - - - file - /home/cmayer/Downloads/kphsdr.com_2019-09-10T06_10_22Z_4272.80_iq.wav - - - _coordinate - (19, 185) - - - _rotation - 0 - - - id - wavfile_source_block - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - nchan - 2 - - - repeat - False - - - - analog_agc2_xx_0 - blocks_throttle_0 - 0 - 0 - - - blocks_float_to_complex_0 - fractional_resampler_xx_0 - 0 - 0 - - - blocks_throttle_0 - qt_pysical_layer_0 - 0 - 0 - - - fractional_resampler_xx_0 - analog_agc2_xx_0 - 0 - 0 - - - qt_pysical_layer_0 - blocks_file_sink_0 - 0 - 0 - - - qt_pysical_layer_0 - blocks_null_sink_1 - 2 - 0 - - - qt_pysical_layer_0 - blocks_null_sink_0 - 1 - 0 - - - wavfile_source_block - blocks_float_to_complex_0 - 0 - 0 - - - wavfile_source_block - blocks_float_to_complex_0 - 1 - 1 - - +options: + parameters: + author: '' + catch_exceptions: 'True' + category: '[GRC Hier Blocks]' + cmake_opt: '' + comment: '' + copyright: '' + description: '' + gen_cmake: 'On' + gen_linking: dynamic + generate_options: qt_gui + hier_block_src_path: '.:' + id: top_block + max_nouts: '0' + output_language: python + placement: (0,0) + qt_qss_theme: '' + realtime_scheduling: '' + run: 'True' + run_command: '{python} -u {filename}' + run_options: prompt + sizing_mode: fixed + thread_safe_setters: '1' + title: '' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [10, 16] + rotation: 0 + state: enabled + +blocks: +- name: mode + id: variable_qtgui_chooser + parameters: + comment: '' + gui_hint: (4,0,1,1) + label: '"STANAG4285 mode"' + label0: BPSK + label1: QPSK + label2: 8PSK + label3: '' + label4: '' + labels: '[]' + num_opts: '0' + option0: '''0''' + option1: '''1''' + option2: '''2''' + option3: '3' + option4: '4' + options: '[''2400/L'', ''1200/L'', ''600/L'', ''300/L'', ''150/L'', ''75/L'', + ''2400/S'', ''1200/S'', ''600/S'', ''300/S'', ''150/S'', ''75/S'']' + orient: Qt.QVBoxLayout + type: string + value: '''600/L''' + widget: combo_box + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [633, 16] + rotation: 0 + state: enabled +- name: nB + id: variable + parameters: + comment: '' + value: '8' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [394, 16] + rotation: 0 + state: enabled +- name: nF + id: variable + parameters: + comment: '' + value: '8' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [469, 16] + rotation: 0 + state: enabled +- name: nW + id: variable + parameters: + comment: '' + value: '4' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [544, 16] + rotation: 0 + state: enabled +- name: samp_rate + id: variable + parameters: + comment: '' + value: '12000' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [224, 16] + rotation: 0 + state: enabled +- name: samp_rate_0 + id: variable_function_probe + parameters: + block_id: wavfile_source_block + comment: '' + function_args: '' + function_name: sample_rate + poll_rate: '10' + value: '12000' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [20, 287] + rotation: 0 + state: enabled +- name: sps + id: variable + parameters: + comment: '' + value: '5' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [320, 16] + rotation: 0 + state: enabled +- name: analog_agc2_xx_0 + id: analog_agc2_xx + parameters: + affinity: '' + alias: '' + attack_rate: 10e-3 + comment: '' + decay_rate: 10e-3 + gain: '1' + max_gain: '50' + maxoutbuf: '0' + minoutbuf: '0' + reference: '1.0' + type: complex + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [973, 160] + rotation: 0 + state: enabled +- name: blocks_file_sink_0 + id: blocks_file_sink + parameters: + affinity: '' + alias: '' + append: 'False' + comment: '' + file: bits.bin + type: byte + unbuffered: 'True' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [577, 353] + rotation: 180 + state: enabled +- name: blocks_float_to_complex_0 + id: blocks_float_to_complex + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [376, 201] + rotation: 0 + state: enabled +- name: blocks_null_sink_0 + id: blocks_null_sink + parameters: + affinity: '' + alias: '' + bus_structure_sink: '[[0,],]' + comment: '' + num_inputs: '1' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [657, 449] + rotation: 180 + state: enabled +- name: blocks_null_sink_1 + id: blocks_null_sink + parameters: + affinity: '' + alias: '' + bus_structure_sink: '[[0,],]' + comment: '' + num_inputs: '1' + type: float + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [657, 490] + rotation: 180 + state: enabled +- name: blocks_throttle_0 + id: blocks_throttle + parameters: + affinity: '' + alias: '' + comment: '' + ignoretag: 'True' + maxoutbuf: '0' + minoutbuf: '0' + samples_per_second: samp_rate/5*sps + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1215, 196] + rotation: 0 + state: enabled +- name: mmse_resampler_xx_0 + id: mmse_resampler_xx + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + phase_shift: '0' + resamp_ratio: 12001.0/12000*5.0/sps + type: complex + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [665, 172] + rotation: 0 + state: enabled +- name: qt_pysical_layer_0 + id: qt_pysical_layer + parameters: + affinity: '' + alias: '' + comment: '' + frame_len_bits: '64' + frame_len_symb: '256' + gui_hint: '' + maxoutbuf: '0' + minoutbuf: '0' + nB: nB + nF: nF + nW: nW + physical_layer_mode: mode + physical_layer_type: '''STANAG_4285''' + samp_rate: samp_rate + sps: sps + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [920, 334] + rotation: 180 + state: enabled +- name: wavfile_source_block + id: blocks_wavfile_source + parameters: + affinity: '' + alias: '' + comment: '' + file: /home/cmayer/Downloads/kphsdr.com_2019-09-10T06_10_22Z_4272.80_iq.wav + maxoutbuf: '0' + minoutbuf: '0' + nchan: '2' + repeat: 'False' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [16, 201] + rotation: 0 + state: enabled + +connections: +- [analog_agc2_xx_0, '0', blocks_throttle_0, '0'] +- [blocks_float_to_complex_0, '0', mmse_resampler_xx_0, '0'] +- [blocks_throttle_0, '0', qt_pysical_layer_0, '0'] +- [mmse_resampler_xx_0, '0', analog_agc2_xx_0, '0'] +- [qt_pysical_layer_0, '0', blocks_file_sink_0, '0'] +- [qt_pysical_layer_0, '1', blocks_null_sink_0, '0'] +- [qt_pysical_layer_0, '2', blocks_null_sink_1, '0'] +- [wavfile_source_block, '0', blocks_float_to_complex_0, '0'] +- [wavfile_source_block, '1', blocks_float_to_complex_0, '1'] + +metadata: + file_format: 1 diff --git a/grc/digitalhf_physical_layer_driver.block.yml b/grc/digitalhf_physical_layer_driver.block.yml index 86ffedd..f04334c 100644 --- a/grc/digitalhf_physical_layer_driver.block.yml +++ b/grc/digitalhf_physical_layer_driver.block.yml @@ -14,15 +14,12 @@ parameters: - id: sps label: SPS dtype: int - hide: ${ 'part' if vlen == 1 else 'none' } - id: nB label: nB dtype: int - hide: ${ 'part' if vlen == 1 else 'none' } - id: nF label: nF dtype: int - hide: ${ 'part' if vlen == 1 else 'none' } - id: nW label: nW dtype: int