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