From 4b220a3bcf6564ec7e668b4b1232d3a105ce4e7f Mon Sep 17 00:00:00 2001 From: Glenn Bradford <glenn.bradford@unimelb.edu.au> Date: Fri, 21 May 2021 16:18:33 +1000 Subject: [PATCH] modified primary user tx examples --- examples/pu_tx_1_channel_mod.grc | 775 ++++++++++++++++ examples/pu_tx_4_channel_mod.grc | 1415 ++++++++++++++++++++++++++++++ lib/dsa_database.cc | 4 +- 3 files changed, 2193 insertions(+), 1 deletion(-) create mode 100644 examples/pu_tx_1_channel_mod.grc create mode 100644 examples/pu_tx_4_channel_mod.grc diff --git a/examples/pu_tx_1_channel_mod.grc b/examples/pu_tx_1_channel_mod.grc new file mode 100644 index 0000000..3c3e74f --- /dev/null +++ b/examples/pu_tx_1_channel_mod.grc @@ -0,0 +1,775 @@ +options: + parameters: + author: '' + category: '[GRC Hier Blocks]' + cmake_opt: '' + comment: '' + copyright: University of Melbourne + description: '' + gen_cmake: 'On' + gen_linking: dynamic + generate_options: qt_gui + hier_block_src_path: '.:' + id: pu_tx_1_channel + 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: '' + title: DSA Primary User Tx - 1 Channel + window_size: '' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 8] + rotation: 0 + state: enabled + +blocks: +- name: channel0 + id: variable_qtgui_check_box + parameters: + comment: '' + 'false': 'False' + gui_hint: '' + label: Channel 0 + 'true': 'True' + type: int + value: 'True' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [782, 105] + rotation: 0 + state: true +- name: fft_len + id: variable + parameters: + comment: '' + value: '64' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [267, 8] + rotation: 0 + state: enabled +- name: pdu_size + id: variable + parameters: + comment: '' + value: '64' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [259, 71] + rotation: 0 + state: enabled +- name: rf_freq + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: RF Frequency + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: 70e6 + step: 1e3 + stop: 6e9 + value: 2.45e9 + widget: counter + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [337, 8] + rotation: 0 + state: true +- name: samp_rate + id: variable + parameters: + comment: '' + value: '2000000' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [182, 8] + rotation: 0 + state: enabled +- name: tx_gain + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: Tx Gain + min_len: '200' + orient: Qt.Horizontal + rangeType: int + start: '0' + step: '1' + stop: '92' + value: '40' + widget: counter + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [472, 8] + rotation: 0 + state: true +- name: analog_const_source_x_0 + id: analog_const_source_x + parameters: + affinity: '' + alias: '' + comment: '' + const: '0' + maxoutbuf: '0' + minoutbuf: '0' + type: complex + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [599, 121] + rotation: 0 + state: true +- name: analog_random_source_x_0 + id: analog_random_source_x + parameters: + affinity: '' + alias: '' + comment: '' + max: '255' + maxoutbuf: '0' + min: '0' + minoutbuf: '0' + num_samps: '1000' + repeat: 'True' + type: byte + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [40, 234] + rotation: 0 + state: true +- name: blocks_multiply_const_vxx_0 + id: blocks_multiply_const_vxx + parameters: + affinity: '' + alias: '' + comment: '' + const: '0.025' + maxoutbuf: '0' + minoutbuf: '0' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [247, 517] + rotation: 0 + state: true +- name: blocks_selector_0 + id: blocks_selector + parameters: + affinity: '' + alias: '' + comment: '' + enabled: 'True' + input_index: channel0 + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + num_outputs: '1' + output_index: '0' + showports: 'True' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [742, 226] + rotation: 0 + state: true +- name: blocks_stream_to_tagged_stream_0 + id: blocks_stream_to_tagged_stream + parameters: + affinity: '' + alias: '' + comment: '' + len_tag_key: '"packet_len"' + maxoutbuf: '0' + minoutbuf: '0' + packet_len: pdu_size + type: byte + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [239, 250] + rotation: 0 + state: true +- name: blocks_throttle_0 + id: blocks_throttle + parameters: + affinity: '' + alias: '' + comment: '' + ignoretag: 'True' + maxoutbuf: '0' + minoutbuf: '0' + samples_per_second: samp_rate + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [449, 550] + rotation: 0 + state: true +- name: digital_ofdm_tx_0 + id: digital_ofdm_tx + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len // 4 + fft_len: fft_len + header_mod: '"BPSK"' + log: 'False' + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: ([ii for ii in range(-26, 27) if ii not in (-21, -7, 7, 21)],) + packet_len_key: packet_len + payload_mod: '"QPSK"' + pilot_carriers: ((-21, -7, 7, 21,),) + pilot_symbols: ((1, 1, 1, -1,),) + rolloff: '0' + scramble_bits: 'False' + sync_word1: '[0., 0., 0., 0., 0., 0., 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, + 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, + 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 0., 0., 0., 0., 0.]' + sync_word2: '[0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, + 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 0, 1, -1, 1, 1, 1, -1, 1, 1, + 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 0, 0, 0, 0, + 0] ' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [484, 170] + rotation: 0 + state: true +- name: qtgui_freq_sink_x_0 + id: qtgui_freq_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' + average: '1.0' + axislabels: 'True' + bw: samp_rate + 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' + fc: '0' + fftsize: '720' + freqhalf: 'True' + grid: 'False' + gui_hint: '' + label: Relative Gain + label1: '' + label10: '''''' + label2: '''''' + label3: '''''' + label4: '''''' + label5: '''''' + label6: '''''' + label7: '''''' + label8: '''''' + label9: '''''' + legend: 'True' + maxoutbuf: '0' + minoutbuf: '0' + name: '""' + nconnections: '1' + showports: 'False' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_tag: '""' + type: complex + units: dB + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + wintype: firdes.WIN_BLACKMAN_hARRIS + ymax: '10' + ymin: '-140' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [655, 613] + rotation: 0 + state: true +- 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: '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: '' + label1: Signal 1 + label10: Signal 10 + label2: Signal 2 + label3: Signal 3 + label4: Signal 4 + label5: Signal 5 + label6: Signal 6 + label7: Signal 7 + label8: Signal 8 + label9: Signal 9 + legend: 'True' + marker1: '-1' + marker10: '-1' + marker2: '-1' + marker3: '-1' + marker4: '-1' + marker5: '-1' + marker6: '-1' + marker7: '-1' + marker8: '-1' + marker9: '-1' + name: '""' + nconnections: '1' + size: '720' + 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' + tr_level: '0.1' + tr_mode: qtgui.TRIG_MODE_FREE + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '""' + type: complex + 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: Amplitude + ymax: '1' + ymin: '-1' + yunit: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [656, 534] + rotation: 0 + state: true +- name: uhd_usrp_sink_0 + id: uhd_usrp_sink + parameters: + affinity: '' + alias: '' + ant0: TX/RX + ant1: TX/RX + ant10: TX/RX + ant11: TX/RX + ant12: TX/RX + ant13: TX/RX + ant14: TX/RX + ant15: TX/RX + ant16: TX/RX + ant17: TX/RX + ant18: TX/RX + ant19: TX/RX + ant2: TX/RX + ant20: TX/RX + ant21: TX/RX + ant22: TX/RX + ant23: TX/RX + ant24: TX/RX + ant25: TX/RX + ant26: TX/RX + ant27: TX/RX + ant28: TX/RX + ant29: TX/RX + ant3: TX/RX + ant30: TX/RX + ant31: TX/RX + ant4: TX/RX + ant5: TX/RX + ant6: TX/RX + ant7: TX/RX + ant8: TX/RX + ant9: TX/RX + bw0: '0' + bw1: '0' + bw10: '0' + bw11: '0' + bw12: '0' + bw13: '0' + bw14: '0' + bw15: '0' + bw16: '0' + bw17: '0' + bw18: '0' + bw19: '0' + bw2: '0' + bw20: '0' + bw21: '0' + bw22: '0' + bw23: '0' + bw24: '0' + bw25: '0' + bw26: '0' + bw27: '0' + bw28: '0' + bw29: '0' + bw3: '0' + bw30: '0' + bw31: '0' + bw4: '0' + bw5: '0' + bw6: '0' + bw7: '0' + bw8: '0' + bw9: '0' + center_freq0: rf_freq + center_freq1: '0' + center_freq10: '0' + center_freq11: '0' + center_freq12: '0' + center_freq13: '0' + center_freq14: '0' + center_freq15: '0' + center_freq16: '0' + center_freq17: '0' + center_freq18: '0' + center_freq19: '0' + center_freq2: '0' + center_freq20: '0' + center_freq21: '0' + center_freq22: '0' + center_freq23: '0' + center_freq24: '0' + center_freq25: '0' + center_freq26: '0' + center_freq27: '0' + center_freq28: '0' + center_freq29: '0' + center_freq3: '0' + center_freq30: '0' + center_freq31: '0' + center_freq4: '0' + center_freq5: '0' + center_freq6: '0' + center_freq7: '0' + center_freq8: '0' + center_freq9: '0' + clock_rate: 0e0 + clock_source0: '' + clock_source1: '' + clock_source2: '' + clock_source3: '' + clock_source4: '' + clock_source5: '' + clock_source6: '' + clock_source7: '' + comment: '' + dev_addr: '""' + dev_args: '""' + gain0: tx_gain + gain1: '0' + gain10: '0' + gain11: '0' + gain12: '0' + gain13: '0' + gain14: '0' + gain15: '0' + gain16: '0' + gain17: '0' + gain18: '0' + gain19: '0' + gain2: '0' + gain20: '0' + gain21: '0' + gain22: '0' + gain23: '0' + gain24: '0' + gain25: '0' + gain26: '0' + gain27: '0' + gain28: '0' + gain29: '0' + gain3: '0' + gain30: '0' + gain31: '0' + gain4: '0' + gain5: '0' + gain6: '0' + gain7: '0' + gain8: '0' + gain9: '0' + len_tag_name: '' + lo_export0: 'False' + lo_export1: 'False' + lo_export10: 'False' + lo_export11: 'False' + lo_export12: 'False' + lo_export13: 'False' + lo_export14: 'False' + lo_export15: 'False' + lo_export16: 'False' + lo_export17: 'False' + lo_export18: 'False' + lo_export19: 'False' + lo_export2: 'False' + lo_export20: 'False' + lo_export21: 'False' + lo_export22: 'False' + lo_export23: 'False' + lo_export24: 'False' + lo_export25: 'False' + lo_export26: 'False' + lo_export27: 'False' + lo_export28: 'False' + lo_export29: 'False' + lo_export3: 'False' + lo_export30: 'False' + lo_export31: 'False' + lo_export4: 'False' + lo_export5: 'False' + lo_export6: 'False' + lo_export7: 'False' + lo_export8: 'False' + lo_export9: 'False' + lo_source0: internal + lo_source1: internal + lo_source10: internal + lo_source11: internal + lo_source12: internal + lo_source13: internal + lo_source14: internal + lo_source15: internal + lo_source16: internal + lo_source17: internal + lo_source18: internal + lo_source19: internal + lo_source2: internal + lo_source20: internal + lo_source21: internal + lo_source22: internal + lo_source23: internal + lo_source24: internal + lo_source25: internal + lo_source26: internal + lo_source27: internal + lo_source28: internal + lo_source29: internal + lo_source3: internal + lo_source30: internal + lo_source31: internal + lo_source4: internal + lo_source5: internal + lo_source6: internal + lo_source7: internal + lo_source8: internal + lo_source9: internal + maxoutbuf: '0' + minoutbuf: '0' + nchan: '1' + norm_gain0: 'False' + norm_gain1: 'False' + norm_gain10: 'False' + norm_gain11: 'False' + norm_gain12: 'False' + norm_gain13: 'False' + norm_gain14: 'False' + norm_gain15: 'False' + norm_gain16: 'False' + norm_gain17: 'False' + norm_gain18: 'False' + norm_gain19: 'False' + norm_gain2: 'False' + norm_gain20: 'False' + norm_gain21: 'False' + norm_gain22: 'False' + norm_gain23: 'False' + norm_gain24: 'False' + norm_gain25: 'False' + norm_gain26: 'False' + norm_gain27: 'False' + norm_gain28: 'False' + norm_gain29: 'False' + norm_gain3: 'False' + norm_gain30: 'False' + norm_gain31: 'False' + norm_gain4: 'False' + norm_gain5: 'False' + norm_gain6: 'False' + norm_gain7: 'False' + norm_gain8: 'False' + norm_gain9: 'False' + num_mboards: '1' + otw: '' + samp_rate: samp_rate + sd_spec0: '' + sd_spec1: '' + sd_spec2: '' + sd_spec3: '' + sd_spec4: '' + sd_spec5: '' + sd_spec6: '' + sd_spec7: '' + show_lo_controls: 'False' + stream_args: '' + stream_chans: '[]' + sync: none + time_source0: '' + time_source1: '' + time_source2: '' + time_source3: '' + time_source4: '' + time_source5: '' + time_source6: '' + time_source7: '' + type: fc32 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [491, 407] + rotation: 0 + state: disabled +- name: virtual_sink_1 + id: virtual_sink + parameters: + alias: '' + comment: '' + stream_id: waveform0 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [953, 258] + rotation: 0 + state: true +- name: virtual_source_1 + id: virtual_source + parameters: + alias: '' + comment: '' + stream_id: waveform0 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [26, 517] + rotation: 0 + state: true + +connections: +- [analog_const_source_x_0, '0', blocks_selector_0, '0'] +- [analog_random_source_x_0, '0', blocks_stream_to_tagged_stream_0, '0'] +- [blocks_multiply_const_vxx_0, '0', blocks_throttle_0, '0'] +- [blocks_multiply_const_vxx_0, '0', uhd_usrp_sink_0, '0'] +- [blocks_selector_0, '0', virtual_sink_1, '0'] +- [blocks_stream_to_tagged_stream_0, '0', digital_ofdm_tx_0, '0'] +- [blocks_throttle_0, '0', qtgui_freq_sink_x_0, '0'] +- [blocks_throttle_0, '0', qtgui_time_sink_x_0, '0'] +- [digital_ofdm_tx_0, '0', blocks_selector_0, '1'] +- [virtual_source_1, '0', blocks_multiply_const_vxx_0, '0'] + +metadata: + file_format: 1 diff --git a/examples/pu_tx_4_channel_mod.grc b/examples/pu_tx_4_channel_mod.grc new file mode 100644 index 0000000..9463866 --- /dev/null +++ b/examples/pu_tx_4_channel_mod.grc @@ -0,0 +1,1415 @@ +options: + parameters: + author: '' + category: '[GRC Hier Blocks]' + cmake_opt: '' + comment: '' + copyright: '' + description: '' + gen_cmake: 'On' + gen_linking: dynamic + generate_options: qt_gui + hier_block_src_path: '.:' + id: tx_ofdm_4chan + 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: '' + title: OFDM Transmitter - 4 Channel + window_size: '' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 8] + rotation: 0 + state: enabled + +blocks: +- name: channel0 + id: variable_qtgui_check_box + parameters: + comment: '' + 'false': 'False' + gui_hint: '' + label: Channel 0 + 'true': 'True' + type: int + value: 'True' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [814, 77] + rotation: 0 + state: true +- name: channel1 + id: variable_qtgui_check_box + parameters: + comment: '' + 'false': 'False' + gui_hint: '' + label: Channel 1 + 'true': 'True' + type: int + value: 'True' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [818, 302] + rotation: 0 + state: true +- name: channel2 + id: variable_qtgui_check_box + parameters: + comment: '' + 'false': 'False' + gui_hint: '' + label: Channel 2 + 'true': 'True' + type: int + value: 'True' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [820, 530] + rotation: 0 + state: true +- name: channel3 + id: variable_qtgui_check_box + parameters: + comment: '' + 'false': 'False' + gui_hint: '' + label: Channel 3 + 'true': 'True' + type: int + value: 'True' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [822, 764] + rotation: 0 + state: true +- name: decim_factor + id: variable + parameters: + comment: '' + value: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [431, 8] + rotation: 0 + state: enabled +- name: fft_len + id: variable + parameters: + comment: '' + value: '64' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [261, 8] + rotation: 0 + state: enabled +- name: interp_factor + id: variable + parameters: + comment: '' + value: '5' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [330, 8] + rotation: 0 + state: enabled +- name: pdu_size + id: variable + parameters: + comment: '' + value: '64' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [255, 69] + rotation: 0 + state: enabled +- name: rf_freq + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: RF Frequency + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: 70e6 + step: 1e3 + stop: 6e9 + value: 920e6 + widget: counter + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1958, 102] + rotation: 0 + state: true +- name: samp_rate + id: variable + parameters: + comment: '' + value: '10000000' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [176, 8] + rotation: 0 + state: enabled +- name: taps + id: variable + parameters: + comment: '' + value: filter.firdes.low_pass(1, samp_rate, 0.98e6,0.5e6) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [533, 8] + rotation: 0 + state: enabled +- name: tx_gain + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: Tx Gain + min_len: '200' + orient: Qt.Horizontal + rangeType: int + start: '0' + step: '1' + stop: '92' + value: '40' + widget: counter + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1837, 102] + rotation: 0 + state: true +- name: analog_const_source_x_0 + id: analog_const_source_x + parameters: + affinity: '' + alias: '' + comment: '' + const: '0' + maxoutbuf: '0' + minoutbuf: '0' + type: complex + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [652, 134] + rotation: 0 + state: true +- name: analog_const_source_x_0_1 + id: analog_const_source_x + parameters: + affinity: '' + alias: '' + comment: '' + const: '0' + maxoutbuf: '0' + minoutbuf: '0' + type: complex + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [652, 357] + rotation: 0 + state: true +- name: analog_const_source_x_0_1_0 + id: analog_const_source_x + parameters: + affinity: '' + alias: '' + comment: '' + const: '0' + maxoutbuf: '0' + minoutbuf: '0' + type: complex + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [655, 585] + rotation: 0 + state: true +- name: analog_const_source_x_0_1_0_0 + id: analog_const_source_x + parameters: + affinity: '' + alias: '' + comment: '' + const: '0' + maxoutbuf: '0' + minoutbuf: '0' + type: complex + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [656, 819] + rotation: 0 + state: true +- name: analog_random_source_x_0 + id: analog_random_source_x + parameters: + affinity: '' + alias: '' + comment: '' + max: '255' + maxoutbuf: '0' + min: '0' + minoutbuf: '0' + num_samps: '1000' + repeat: 'True' + type: byte + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [29, 198] + rotation: 0 + state: true +- name: analog_random_source_x_0_0 + id: analog_random_source_x + parameters: + affinity: '' + alias: '' + comment: '' + max: '255' + maxoutbuf: '0' + min: '0' + minoutbuf: '0' + num_samps: '1000' + repeat: 'True' + type: byte + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [31, 421] + rotation: 0 + state: true +- name: analog_random_source_x_0_0_0 + id: analog_random_source_x + parameters: + affinity: '' + alias: '' + comment: '' + max: '255' + maxoutbuf: '0' + min: '0' + minoutbuf: '0' + num_samps: '1000' + repeat: 'True' + type: byte + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [34, 649] + rotation: 0 + state: true +- name: analog_random_source_x_0_0_0_0 + id: analog_random_source_x + parameters: + affinity: '' + alias: '' + comment: '' + max: '255' + maxoutbuf: '0' + min: '0' + minoutbuf: '0' + num_samps: '1000' + repeat: 'True' + type: byte + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [35, 883] + rotation: 0 + state: true +- name: analog_sig_source_x_0 + id: analog_sig_source_x + parameters: + affinity: '' + alias: '' + amp: '1' + comment: '' + freq: -3.75e6 + maxoutbuf: '0' + minoutbuf: '0' + offset: '0' + phase: '0' + samp_rate: samp_rate + type: complex + waveform: analog.GR_COS_WAVE + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1035, 292] + rotation: 0 + state: enabled +- name: analog_sig_source_x_0_0 + id: analog_sig_source_x + parameters: + affinity: '' + alias: '' + amp: '1' + comment: '' + freq: -1.25e6 + maxoutbuf: '0' + minoutbuf: '0' + offset: '0' + phase: '0' + samp_rate: samp_rate + type: complex + waveform: analog.GR_COS_WAVE + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1037, 514] + rotation: 0 + state: enabled +- name: analog_sig_source_x_0_0_0 + id: analog_sig_source_x + parameters: + affinity: '' + alias: '' + amp: '1' + comment: '' + freq: 1.25e6 + maxoutbuf: '0' + minoutbuf: '0' + offset: '0' + phase: '0' + samp_rate: samp_rate + type: complex + waveform: analog.GR_COS_WAVE + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1040, 735] + rotation: 0 + state: enabled +- name: analog_sig_source_x_0_0_0_0 + id: analog_sig_source_x + parameters: + affinity: '' + alias: '' + amp: '1' + comment: '' + freq: 3.75e6 + maxoutbuf: '0' + minoutbuf: '0' + offset: '0' + phase: '0' + samp_rate: samp_rate + type: complex + waveform: analog.GR_COS_WAVE + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1044, 955] + rotation: 0 + state: enabled +- name: blocks_add_xx_0 + id: blocks_add_xx + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '4' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1503, 243] + rotation: 0 + state: true +- name: blocks_multiply_const_vxx_0 + id: blocks_multiply_const_vxx + parameters: + affinity: '' + alias: '' + comment: '' + const: '0.025' + maxoutbuf: '0' + minoutbuf: '0' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1619, 287] + rotation: 0 + state: true +- name: blocks_multiply_xx_0 + id: blocks_multiply_xx + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1289, 226] + rotation: 0 + state: enabled +- name: blocks_multiply_xx_0_0 + id: blocks_multiply_xx + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1288, 448] + rotation: 0 + state: enabled +- name: blocks_multiply_xx_0_0_0 + id: blocks_multiply_xx + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1287, 669] + rotation: 0 + state: enabled +- name: blocks_multiply_xx_0_0_0_0 + id: blocks_multiply_xx + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1285, 889] + rotation: 0 + state: enabled +- name: blocks_selector_0 + id: blocks_selector + parameters: + affinity: '' + alias: '' + comment: '' + enabled: 'True' + input_index: channel0 + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + num_outputs: '1' + output_index: '0' + showports: 'True' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [731, 190] + rotation: 0 + state: true +- name: blocks_selector_0_0 + id: blocks_selector + parameters: + affinity: '' + alias: '' + comment: '' + enabled: 'True' + input_index: channel1 + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + num_outputs: '1' + output_index: '0' + showports: 'True' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [733, 413] + rotation: 0 + state: true +- name: blocks_selector_0_0_0 + id: blocks_selector + parameters: + affinity: '' + alias: '' + comment: '' + enabled: 'True' + input_index: channel2 + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + num_outputs: '1' + output_index: '0' + showports: 'True' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [736, 641] + rotation: 0 + state: true +- name: blocks_selector_0_0_0_0 + id: blocks_selector + parameters: + affinity: '' + alias: '' + comment: '' + enabled: 'True' + input_index: channel3 + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + num_outputs: '1' + output_index: '0' + showports: 'True' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [737, 875] + rotation: 0 + state: true +- name: blocks_stream_to_tagged_stream_0 + id: blocks_stream_to_tagged_stream + parameters: + affinity: '' + alias: '' + comment: '' + len_tag_key: '"packet_len"' + maxoutbuf: '0' + minoutbuf: '0' + packet_len: pdu_size + type: byte + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [228, 214] + rotation: 0 + state: true +- name: blocks_stream_to_tagged_stream_0_0 + id: blocks_stream_to_tagged_stream + parameters: + affinity: '' + alias: '' + comment: '' + len_tag_key: '"packet_len"' + maxoutbuf: '0' + minoutbuf: '0' + packet_len: pdu_size + type: byte + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [230, 437] + rotation: 0 + state: true +- name: blocks_stream_to_tagged_stream_0_0_0 + id: blocks_stream_to_tagged_stream + parameters: + affinity: '' + alias: '' + comment: '' + len_tag_key: '"packet_len"' + maxoutbuf: '0' + minoutbuf: '0' + packet_len: pdu_size + type: byte + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [233, 665] + rotation: 0 + state: true +- name: blocks_stream_to_tagged_stream_0_0_0_0 + id: blocks_stream_to_tagged_stream + parameters: + affinity: '' + alias: '' + comment: '' + len_tag_key: '"packet_len"' + maxoutbuf: '0' + minoutbuf: '0' + packet_len: pdu_size + type: byte + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [234, 899] + rotation: 0 + state: true +- name: blocks_throttle_0 + id: blocks_throttle + parameters: + affinity: '' + alias: '' + comment: '' + ignoretag: 'True' + maxoutbuf: '0' + minoutbuf: '0' + samples_per_second: samp_rate + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1819, 385] + rotation: 0 + state: true +- name: digital_ofdm_tx_0 + id: digital_ofdm_tx + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len // 4 + fft_len: fft_len + header_mod: '"BPSK"' + log: 'False' + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: ([ii for ii in range(-26, 27) if ii not in (-21, -7, 7, 21)],) + packet_len_key: packet_len + payload_mod: '"QPSK"' + pilot_carriers: ((-21, -7, 7, 21,),) + pilot_symbols: ((1, 1, 1, -1,),) + rolloff: '0' + scramble_bits: 'False' + sync_word1: '[0., 0., 0., 0., 0., 0., 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, + 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, + 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 0., 0., 0., 0., 0.]' + sync_word2: '[0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, + 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 0, 1, -1, 1, 1, 1, -1, 1, 1, + 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 0, 0, 0, 0, + 0] ' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [477, 134] + rotation: 0 + state: true +- name: digital_ofdm_tx_0_0 + id: digital_ofdm_tx + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len // 4 + fft_len: fft_len + header_mod: '"BPSK"' + log: 'False' + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: ([ii for ii in range(-26, 27) if ii not in (-21, -7, 7, 21)],) + packet_len_key: packet_len + payload_mod: '"QPSK"' + pilot_carriers: ((-21, -7, 7, 21,),) + pilot_symbols: ((1, 1, 1, -1,),) + rolloff: '0' + scramble_bits: 'False' + sync_word1: '[0., 0., 0., 0., 0., 0., 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, + 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, + 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 0., 0., 0., 0., 0.]' + sync_word2: '[0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, + 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 0, 1, -1, 1, 1, 1, -1, 1, 1, + 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 0, 0, 0, 0, + 0] ' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [475, 357] + rotation: 0 + state: true +- name: digital_ofdm_tx_0_0_0 + id: digital_ofdm_tx + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len // 4 + fft_len: fft_len + header_mod: '"BPSK"' + log: 'False' + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: ([ii for ii in range(-26, 27) if ii not in (-21, -7, 7, 21)],) + packet_len_key: packet_len + payload_mod: '"QPSK"' + pilot_carriers: ((-21, -7, 7, 21,),) + pilot_symbols: ((1, 1, 1, -1,),) + rolloff: '0' + scramble_bits: 'False' + sync_word1: '[0., 0., 0., 0., 0., 0., 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, + 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, + 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 0., 0., 0., 0., 0.]' + sync_word2: '[0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, + 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 0, 1, -1, 1, 1, 1, -1, 1, 1, + 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 0, 0, 0, 0, + 0] ' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [474, 586] + rotation: 0 + state: true +- name: digital_ofdm_tx_0_0_0_0 + id: digital_ofdm_tx + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len // 4 + fft_len: fft_len + header_mod: '"BPSK"' + log: 'False' + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: ([ii for ii in range(-26, 27) if ii not in (-21, -7, 7, 21)],) + packet_len_key: packet_len + payload_mod: '"QPSK"' + pilot_carriers: ((-21, -7, 7, 21,),) + pilot_symbols: ((1, 1, 1, -1,),) + rolloff: '0' + scramble_bits: 'False' + sync_word1: '[0., 0., 0., 0., 0., 0., 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, + 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, + 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., -1.41421356, + 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 0., 0., 0., 0., 0.]' + sync_word2: '[0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, + 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 0, 1, -1, 1, 1, 1, -1, 1, 1, + 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 0, 0, 0, 0, + 0] ' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [475, 820] + rotation: 0 + state: true +- name: qtgui_sink_x_0 + id: qtgui_sink_x + parameters: + affinity: '' + alias: '' + bw: samp_rate + comment: '' + fc: '0' + fftsize: '1024' + gui_hint: '' + maxoutbuf: '0' + minoutbuf: '0' + name: '"OFDM Transmit Waveform - 4 Channels"' + plotconst: 'True' + plotfreq: 'True' + plottime: 'True' + plotwaterfall: 'True' + rate: '10' + showports: 'False' + showrf: 'False' + type: complex + wintype: firdes.WIN_BLACKMAN_hARRIS + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2032, 369] + rotation: 0 + state: true +- 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: '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: '' + label1: Signal 1 + label10: Signal 10 + label2: Signal 2 + label3: Signal 3 + label4: Signal 4 + label5: Signal 5 + label6: Signal 6 + label7: Signal 7 + label8: Signal 8 + label9: Signal 9 + legend: 'True' + marker1: '-1' + marker10: '-1' + marker2: '-1' + marker3: '-1' + marker4: '-1' + marker5: '-1' + marker6: '-1' + marker7: '-1' + marker8: '-1' + marker9: '-1' + name: '""' + nconnections: '1' + size: interp_factor * 720 + 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' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '""' + type: complex + 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: Amplitude + ymax: '1' + ymin: '-1' + yunit: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2031, 481] + rotation: 0 + state: true +- name: rational_resampler_xxx_0_0 + id: rational_resampler_xxx + parameters: + affinity: '' + alias: '' + comment: '' + decim: decim_factor + fbw: '0' + interp: interp_factor + maxoutbuf: '0' + minoutbuf: '0' + taps: taps + type: ccc + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1058, 198] + rotation: 0 + state: enabled +- name: rational_resampler_xxx_0_0_0 + id: rational_resampler_xxx + parameters: + affinity: '' + alias: '' + comment: '' + decim: decim_factor + fbw: '0' + interp: interp_factor + maxoutbuf: '0' + minoutbuf: '0' + taps: taps + type: ccc + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1060, 420] + rotation: 0 + state: enabled +- name: rational_resampler_xxx_0_0_0_0 + id: rational_resampler_xxx + parameters: + affinity: '' + alias: '' + comment: '' + decim: decim_factor + fbw: '0' + interp: interp_factor + maxoutbuf: '0' + minoutbuf: '0' + taps: taps + type: ccc + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1062, 641] + rotation: 0 + state: enabled +- name: rational_resampler_xxx_0_0_0_0_0 + id: rational_resampler_xxx + parameters: + affinity: '' + alias: '' + comment: '' + decim: decim_factor + fbw: '0' + interp: interp_factor + maxoutbuf: '0' + minoutbuf: '0' + taps: taps + type: ccc + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1066, 861] + rotation: 0 + state: enabled +- name: uhd_usrp_sink_0 + id: uhd_usrp_sink + parameters: + affinity: '' + alias: '' + ant0: TX/RX + ant1: TX/RX + ant10: TX/RX + ant11: TX/RX + ant12: TX/RX + ant13: TX/RX + ant14: TX/RX + ant15: TX/RX + ant16: TX/RX + ant17: TX/RX + ant18: TX/RX + ant19: TX/RX + ant2: TX/RX + ant20: TX/RX + ant21: TX/RX + ant22: TX/RX + ant23: TX/RX + ant24: TX/RX + ant25: TX/RX + ant26: TX/RX + ant27: TX/RX + ant28: TX/RX + ant29: TX/RX + ant3: TX/RX + ant30: TX/RX + ant31: TX/RX + ant4: TX/RX + ant5: TX/RX + ant6: TX/RX + ant7: TX/RX + ant8: TX/RX + ant9: TX/RX + bw0: '0' + bw1: '0' + bw10: '0' + bw11: '0' + bw12: '0' + bw13: '0' + bw14: '0' + bw15: '0' + bw16: '0' + bw17: '0' + bw18: '0' + bw19: '0' + bw2: '0' + bw20: '0' + bw21: '0' + bw22: '0' + bw23: '0' + bw24: '0' + bw25: '0' + bw26: '0' + bw27: '0' + bw28: '0' + bw29: '0' + bw3: '0' + bw30: '0' + bw31: '0' + bw4: '0' + bw5: '0' + bw6: '0' + bw7: '0' + bw8: '0' + bw9: '0' + center_freq0: rf_freq + center_freq1: '0' + center_freq10: '0' + center_freq11: '0' + center_freq12: '0' + center_freq13: '0' + center_freq14: '0' + center_freq15: '0' + center_freq16: '0' + center_freq17: '0' + center_freq18: '0' + center_freq19: '0' + center_freq2: '0' + center_freq20: '0' + center_freq21: '0' + center_freq22: '0' + center_freq23: '0' + center_freq24: '0' + center_freq25: '0' + center_freq26: '0' + center_freq27: '0' + center_freq28: '0' + center_freq29: '0' + center_freq3: '0' + center_freq30: '0' + center_freq31: '0' + center_freq4: '0' + center_freq5: '0' + center_freq6: '0' + center_freq7: '0' + center_freq8: '0' + center_freq9: '0' + clock_rate: 0e0 + clock_source0: '' + clock_source1: '' + clock_source2: '' + clock_source3: '' + clock_source4: '' + clock_source5: '' + clock_source6: '' + clock_source7: '' + comment: '' + dev_addr: '""' + dev_args: '""' + gain0: tx_gain + gain1: '0' + gain10: '0' + gain11: '0' + gain12: '0' + gain13: '0' + gain14: '0' + gain15: '0' + gain16: '0' + gain17: '0' + gain18: '0' + gain19: '0' + gain2: '0' + gain20: '0' + gain21: '0' + gain22: '0' + gain23: '0' + gain24: '0' + gain25: '0' + gain26: '0' + gain27: '0' + gain28: '0' + gain29: '0' + gain3: '0' + gain30: '0' + gain31: '0' + gain4: '0' + gain5: '0' + gain6: '0' + gain7: '0' + gain8: '0' + gain9: '0' + len_tag_name: '' + lo_export0: 'False' + lo_export1: 'False' + lo_export10: 'False' + lo_export11: 'False' + lo_export12: 'False' + lo_export13: 'False' + lo_export14: 'False' + lo_export15: 'False' + lo_export16: 'False' + lo_export17: 'False' + lo_export18: 'False' + lo_export19: 'False' + lo_export2: 'False' + lo_export20: 'False' + lo_export21: 'False' + lo_export22: 'False' + lo_export23: 'False' + lo_export24: 'False' + lo_export25: 'False' + lo_export26: 'False' + lo_export27: 'False' + lo_export28: 'False' + lo_export29: 'False' + lo_export3: 'False' + lo_export30: 'False' + lo_export31: 'False' + lo_export4: 'False' + lo_export5: 'False' + lo_export6: 'False' + lo_export7: 'False' + lo_export8: 'False' + lo_export9: 'False' + lo_source0: internal + lo_source1: internal + lo_source10: internal + lo_source11: internal + lo_source12: internal + lo_source13: internal + lo_source14: internal + lo_source15: internal + lo_source16: internal + lo_source17: internal + lo_source18: internal + lo_source19: internal + lo_source2: internal + lo_source20: internal + lo_source21: internal + lo_source22: internal + lo_source23: internal + lo_source24: internal + lo_source25: internal + lo_source26: internal + lo_source27: internal + lo_source28: internal + lo_source29: internal + lo_source3: internal + lo_source30: internal + lo_source31: internal + lo_source4: internal + lo_source5: internal + lo_source6: internal + lo_source7: internal + lo_source8: internal + lo_source9: internal + maxoutbuf: '0' + minoutbuf: '0' + nchan: '1' + norm_gain0: 'False' + norm_gain1: 'False' + norm_gain10: 'False' + norm_gain11: 'False' + norm_gain12: 'False' + norm_gain13: 'False' + norm_gain14: 'False' + norm_gain15: 'False' + norm_gain16: 'False' + norm_gain17: 'False' + norm_gain18: 'False' + norm_gain19: 'False' + norm_gain2: 'False' + norm_gain20: 'False' + norm_gain21: 'False' + norm_gain22: 'False' + norm_gain23: 'False' + norm_gain24: 'False' + norm_gain25: 'False' + norm_gain26: 'False' + norm_gain27: 'False' + norm_gain28: 'False' + norm_gain29: 'False' + norm_gain3: 'False' + norm_gain30: 'False' + norm_gain31: 'False' + norm_gain4: 'False' + norm_gain5: 'False' + norm_gain6: 'False' + norm_gain7: 'False' + norm_gain8: 'False' + norm_gain9: 'False' + num_mboards: '1' + otw: '' + samp_rate: samp_rate + sd_spec0: '' + sd_spec1: '' + sd_spec2: '' + sd_spec3: '' + sd_spec4: '' + sd_spec5: '' + sd_spec6: '' + sd_spec7: '' + show_lo_controls: 'False' + stream_args: '' + stream_chans: '[]' + sync: none + time_source0: '' + time_source1: '' + time_source2: '' + time_source3: '' + time_source4: '' + time_source5: '' + time_source6: '' + time_source7: '' + type: fc32 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1870, 231] + rotation: 0 + state: disabled + +connections: +- [analog_const_source_x_0, '0', blocks_selector_0, '0'] +- [analog_const_source_x_0_1, '0', blocks_selector_0_0, '0'] +- [analog_const_source_x_0_1_0, '0', blocks_selector_0_0_0, '0'] +- [analog_const_source_x_0_1_0_0, '0', blocks_selector_0_0_0_0, '0'] +- [analog_random_source_x_0, '0', blocks_stream_to_tagged_stream_0, '0'] +- [analog_random_source_x_0_0, '0', blocks_stream_to_tagged_stream_0_0, '0'] +- [analog_random_source_x_0_0_0, '0', blocks_stream_to_tagged_stream_0_0_0, '0'] +- [analog_random_source_x_0_0_0_0, '0', blocks_stream_to_tagged_stream_0_0_0_0, '0'] +- [analog_sig_source_x_0, '0', blocks_multiply_xx_0, '1'] +- [analog_sig_source_x_0_0, '0', blocks_multiply_xx_0_0, '1'] +- [analog_sig_source_x_0_0_0, '0', blocks_multiply_xx_0_0_0, '1'] +- [analog_sig_source_x_0_0_0_0, '0', blocks_multiply_xx_0_0_0_0, '1'] +- [blocks_add_xx_0, '0', blocks_multiply_const_vxx_0, '0'] +- [blocks_multiply_const_vxx_0, '0', blocks_throttle_0, '0'] +- [blocks_multiply_const_vxx_0, '0', uhd_usrp_sink_0, '0'] +- [blocks_multiply_xx_0, '0', blocks_add_xx_0, '0'] +- [blocks_multiply_xx_0_0, '0', blocks_add_xx_0, '1'] +- [blocks_multiply_xx_0_0_0, '0', blocks_add_xx_0, '2'] +- [blocks_multiply_xx_0_0_0_0, '0', blocks_add_xx_0, '3'] +- [blocks_selector_0, '0', rational_resampler_xxx_0_0, '0'] +- [blocks_selector_0_0, '0', rational_resampler_xxx_0_0_0, '0'] +- [blocks_selector_0_0_0, '0', rational_resampler_xxx_0_0_0_0, '0'] +- [blocks_selector_0_0_0_0, '0', rational_resampler_xxx_0_0_0_0_0, '0'] +- [blocks_stream_to_tagged_stream_0, '0', digital_ofdm_tx_0, '0'] +- [blocks_stream_to_tagged_stream_0_0, '0', digital_ofdm_tx_0_0, '0'] +- [blocks_stream_to_tagged_stream_0_0_0, '0', digital_ofdm_tx_0_0_0, '0'] +- [blocks_stream_to_tagged_stream_0_0_0_0, '0', digital_ofdm_tx_0_0_0_0, '0'] +- [blocks_throttle_0, '0', qtgui_sink_x_0, '0'] +- [blocks_throttle_0, '0', qtgui_time_sink_x_0, '0'] +- [digital_ofdm_tx_0, '0', blocks_selector_0, '1'] +- [digital_ofdm_tx_0_0, '0', blocks_selector_0_0, '1'] +- [digital_ofdm_tx_0_0_0, '0', blocks_selector_0_0_0, '1'] +- [digital_ofdm_tx_0_0_0_0, '0', blocks_selector_0_0_0_0, '1'] +- [rational_resampler_xxx_0_0, '0', blocks_multiply_xx_0, '0'] +- [rational_resampler_xxx_0_0_0, '0', blocks_multiply_xx_0_0, '0'] +- [rational_resampler_xxx_0_0_0_0, '0', blocks_multiply_xx_0_0_0, '0'] +- [rational_resampler_xxx_0_0_0_0_0, '0', blocks_multiply_xx_0_0_0_0, '0'] + +metadata: + file_format: 1 diff --git a/lib/dsa_database.cc b/lib/dsa_database.cc index 7836698..b791019 100644 --- a/lib/dsa_database.cc +++ b/lib/dsa_database.cc @@ -141,6 +141,7 @@ dsa_database::accept_handler() std::vector<std::shared_ptr<gr::thread::thread>> threads(4); + std::cout << "DSA DB: accepting connects" << std::endl; while (!d_stop) { auto sock = std::make_shared<tcp::socket>(d_io_context); @@ -262,12 +263,13 @@ dsa_database::request_handler(std::shared_ptr<tcp::socket> sock, } } - sock->close(); + sock->close(); { gr::thread::scoped_lock(d_mtx_thread); d_radios[radio] = false; } + std::cout << "DSA DB: disconnect - radio:" << radio << std::endl; } void -- GitLab