options: parameters: author: Mike Markowski 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: amRadio 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: AM Receiver window_size: '' states: bus_sink: false bus_source: false bus_structure: null coordinate: [16, 146] rotation: 0 state: enabled blocks: - name: audio_Hz id: variable parameters: comment: '' value: '48000' states: bus_sink: false bus_source: false bus_structure: null coordinate: [193, 145] rotation: 0 state: enabled - name: fine_daHz id: variable_qtgui_range parameters: comment: '' gui_hint: 1,1,1,1 label: Fine (daHz) min_len: '200' orient: QtCore.Qt.Horizontal rangeType: float start: '-400' step: '10' stop: '400' value: '190' widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [625, 283] rotation: 0 state: true - name: freq_kHz id: variable_qtgui_range parameters: comment: '' gui_hint: 0,1,1,1 label: Freq (kHz) min_len: '200' orient: QtCore.Qt.Horizontal rangeType: float start: '530' step: '10' stop: '1700' value: '1060' widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [623, 148] rotation: 0 state: true - name: mute id: variable_qtgui_check_box parameters: comment: '' 'false': 'False' gui_hint: 0,2,1,1 label: '' 'true': 'True' type: bool value: 'False' states: bus_sink: false bus_source: false bus_structure: null coordinate: [761, 146] rotation: 0 state: true - name: rfGain_dB id: variable_qtgui_range parameters: comment: '' gui_hint: 1,0,1,1 label: RF Gain (dB) min_len: '200' orient: QtCore.Qt.Horizontal rangeType: int start: '10' step: '1' stop: '90' value: '45' widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [489, 283] rotation: 0 state: true - name: sa_Hz id: variable parameters: comment: 8 Sa/cycle value: '8' states: bus_sink: false bus_source: false bus_structure: null coordinate: [290, 144] rotation: 0 state: enabled - name: samp_rate id: variable parameters: comment: '' value: audio_Hz * sa_Hz states: bus_sink: false bus_source: false bus_structure: null coordinate: [371, 146] rotation: 0 state: enabled - name: up0_Hz id: variable parameters: comment: 'Up-converter start frequency. My SDR requires an up-converterfor frequencies < 70 MHz. Set this to 0 if you don''t need an up-converter.' value: int(125e6) states: bus_sink: false bus_source: false bus_structure: null coordinate: [193, 233] rotation: 0 state: enabled - name: volume id: variable_qtgui_range parameters: comment: '' gui_hint: 0,0,1,1 label: Audio Gain min_len: '200' orient: QtCore.Qt.Horizontal rangeType: float start: '0' step: 500e-3 stop: '1' value: '0.2' widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [475, 147] rotation: 0 state: true - name: analog_agc_xx_0 id: analog_agc_xx parameters: affinity: '' alias: '' comment: 'Counter AM rises and falls.' gain: '1.0' max_gain: '65536' maxoutbuf: '0' minoutbuf: '0' rate: 1e-4 reference: '1.0' type: complex states: bus_sink: false bus_source: false bus_structure: null coordinate: [238, 1439] rotation: 0 state: true - name: audio_sink_0_0 id: audio_sink parameters: affinity: '' alias: '' comment: Soundcard. device_name: '' num_inputs: '1' ok_to_block: 'False' samp_rate: int(audio_Hz) states: bus_sink: false bus_source: false bus_structure: null coordinate: [964, 1455] rotation: 0 state: enabled - name: blocks_add_const_vxx_0 id: blocks_add_const_vxx parameters: affinity: '' alias: '' comment: '1 is added during modulation so that a carrier exists even without audio.' const: '-1' maxoutbuf: '0' minoutbuf: '0' type: float vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [594, 1463] rotation: 0 state: true - name: blocks_complex_to_mag_0 id: blocks_complex_to_mag parameters: affinity: '' alias: '' comment: Amplitude of sample. maxoutbuf: '0' minoutbuf: '0' vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [413, 1467] rotation: 0 state: true - name: blocks_msgpair_to_var_0 id: blocks_msgpair_to_var parameters: affinity: '' alias: '' comment: '' target: freq_kHz states: bus_sink: false bus_source: false bus_structure: null coordinate: [1352, 852.0] rotation: 0 state: true - name: blocks_multiply_const_vxx_0 id: blocks_multiply_const_vxx parameters: affinity: '' alias: '' comment: Volume. const: volume maxoutbuf: '0' minoutbuf: '0' type: float vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [791, 1463] rotation: 0 state: enabled - name: blocks_mute_xx_0 id: blocks_mute_xx parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' mute: mute type: complex states: bus_sink: false bus_source: false bus_structure: null coordinate: [584, 736] rotation: 0 state: true - name: epy_block_0 id: epy_block parameters: _source_code: "'''Convert an arbitrary frequency in the AM broadcast band to the\ \ frequency\nof the nearest radio station frequency.\n\nMike Markowski, mike.ab3ap@gmail.com\n\ Feb 2021\n'''\n\nimport numpy as np\nfrom gnuradio import gr\nimport pmt\n\n\ class snapBlock(gr.basic_block):\n\n\tdef __init__(self):\n\t\tgr.basic_block.__init__(\n\ \t\t\tself,\n\t\t\tname=\"Snap to Station\",\n\t\t\tin_sig=None,\n\t\t\tout_sig=None)\n\ \n\t\t# User input that is only somewhere near a station frequency.\n\t\tself.message_port_register_in(pmt.intern('raw_Hz_in'))\n\ \t\tself.set_msg_handler(pmt.intern('raw_Hz_in'), self.stationSnap)\n\n\t\t\ # Output in Hz and kHz that is exactly a station frequency.\n\t\tself.message_port_register_out(pmt.intern('snapped_Hz_out'))\n\ \t\tself.message_port_register_out(pmt.intern('snapped_kHz_out'))\n\n\tdef stationSnap(self,\ \ msg):\n\n\t\t'''Accept a pmt pair with user selected frequency information\ \ and\n\t\tadjust it to the nearest broadcast AM frequency.\n\n\t\tInputs:\n\ \t\t msg (dictionary) : assumed to contain only: (freq . )\n\n\t\tOutputs:\n\ \t\t freq_Hz_out (pmt.dict) : (freq . snappedFreq) where snappedFreq\n\t\t\ \ is input frequency in Hz moved to nearest broadcast frequency.\n\t\t freq_kHz_out\ \ (pmt.dict) : (freq . snappedFreq) where snappedFreq\n\t\t is input frequency\ \ in kHz moved to nearest broadcast frequency.\n\t\t'''\n\n\t\t# Disassemble\ \ pmt pair.\n\t\tcmd = pmt.car(msg)\n\t\tfreq = pmt.cdr(msg)\n\t\tfreqRaw_kHz\ \ = pmt.to_python(freq) / 1e3 # Easier to work in kHz.\n\n\t\t# Snap user-clicked\ \ freq to nearest AM station.\n\t\tspacing = 10 # N. American broadcast AM spacing\ \ in kHz.\n\t\tfreq_kHz = float(round(freqRaw_kHz / spacing) * spacing)\n\t\t\ freq_Hz = freq_kHz * 1e3\n\n\t\t# Generate output message, (freq . freq_Hz).\n\ \t\tpair = pmt.cons(cmd, pmt.to_pmt(freq_Hz))\n\t\tself.message_port_pub(pmt.intern('snapped_Hz_out'),\ \ pair)\n\n\t\t# Generate output message, (freq . freq_kHz).\n\t\tpair2 = pmt.cons(cmd,\ \ pmt.to_pmt(freq_kHz))\n\t\tself.message_port_pub(pmt.intern('snapped_kHz_out'),\ \ pair2)\n" affinity: '' alias: '' comment: 'Snap user choice to nearest station.' maxoutbuf: '0' minoutbuf: '0' states: _io_cache: ('Snap to Station', 'snapBlock', [], [('raw_Hz_in', 'message', 1)], [('snapped_kHz_out', 'message', 1), ('snapped_Hz_out', 'message', 1)], '', []) bus_sink: false bus_source: false bus_structure: null coordinate: [1072, 920.0] rotation: 0 state: true - name: epy_block_1 id: epy_block parameters: _source_code: "'''Convert a pmt pair (freq . f_Hz) to (freq . f_kHz).\n\nMike\ \ Markowski, mike.ab3ap@gmail.com\nFeb 2021\n'''\n\nimport numpy as np\nfrom\ \ gnuradio import gr\nimport pmt\n\ndelta_Hz = 0\n\nclass cvtBlock(gr.basic_block):\n\ \n\tdef __init__(self, offset_Hz=0):\n\t\t\"\"\"arguments to this function show\ \ up as parameters in GRC\"\"\"\n\n\t\tglobal delta_Hz\n\n\t\tgr.basic_block.__init__(\n\ \t\t\tself,\n\t\t\tname='kHz to Hz',\n\t\t\tin_sig=None,\n\t\t\tout_sig=None\n\ \t\t)\n\t\tdelta_Hz = offset_Hz\n\n\t\tself.message_port_register_in(pmt.intern('freq_kHz_in'))\n\ \t\tself.set_msg_handler(pmt.intern('freq_kHz_in'), self.kHzToHz)\n\n\t\tself.message_port_register_out(pmt.intern('freq_Hz_out'))\n\ \t\tself.message_port_register_out(pmt.intern('upConv_Hz_out'))\n\n\tdef kHzToHz(self,\ \ msg):\n\t\t'''msg expected to be pmt pair (freq . val).'''\n\n\t\tglobal delta_Hz\n\ \n\t\tcmd = pmt.car(msg)\n\t\tfreq_Hz = 1e3 * pmt.to_python(pmt.cdr(msg))\n\t\ \tupConv_Hz = freq_Hz + delta_Hz\n\n\t\thzDict = pmt.make_dict()\n\t\thzDict\ \ = pmt.dict_add(hzDict, cmd, pmt.to_pmt(freq_Hz))\n\t\tself.message_port_pub(pmt.intern('freq_Hz_out'),\ \ hzDict)\n\n\t\thzDict = pmt.make_dict()\n\t\thzDict = pmt.dict_add(hzDict,\ \ cmd, pmt.to_pmt(upConv_Hz))\n\t\tself.message_port_pub(pmt.intern('upConv_Hz_out'),\ \ hzDict)\n\n" affinity: '' alias: '' comment: 'kHz is easier to work with, but SDR needs Hz.' maxoutbuf: '0' minoutbuf: '0' offset_Hz: up0_Hz + (fine_daHz * 10) states: _io_cache: ('kHz to Hz', 'cvtBlock', [('offset_Hz', '0')], [('freq_kHz_in', 'message', 1)], [('upConv_Hz_out', 'message', 1), ('freq_Hz_out', 'message', 1)], 'arguments to this function show up as parameters in GRC', []) bus_sink: false bus_source: false bus_structure: null coordinate: [1056, 1120.0] rotation: 0 state: true - name: fosphor_qt_sink_c_0 id: fosphor_qt_sink_c parameters: affinity: '' alias: '' comment: '' freq_center: freq_kHz * 1e3 freq_span: samp_rate gui_hint: spectra@0:0,0,1,1 maxoutbuf: '0' minoutbuf: '0' wintype: window.WIN_BLACKMAN_hARRIS states: bus_sink: false bus_source: false bus_structure: null coordinate: [736, 820.0] rotation: 0 state: enabled - name: low_pass_filter_0 id: low_pass_filter parameters: affinity: '' alias: '' beta: '6.76' comment: "Baseband output:\n 48 kSa/s\n bw=5 kHz" cutoff_freq: 5e3 decim: int(samp_rate / audio_Hz) gain: '1' interp: '1' maxoutbuf: '0' minoutbuf: '0' samp_rate: samp_rate type: fir_filter_ccf width: '500' win: window.WIN_HAMMING states: bus_sink: false bus_source: false bus_structure: null coordinate: [736, 604.0] rotation: 0 state: true - name: note_0_0 id: note parameters: alias: '' comment: '' note: Receive chain states: bus_sink: false bus_source: false bus_structure: null coordinate: [16, 254] rotation: 0 state: true - name: note_1 id: note parameters: alias: '' comment: 'Mike Markowski mike.ab3ap@gmail.com 11 Feb 2021' note: AM Receiver states: bus_sink: false bus_source: false bus_structure: null coordinate: [22, 18] rotation: 0 state: true - name: note_1_0 id: note parameters: alias: '' comment: '' note: GUI Niceties states: bus_sink: false bus_source: false bus_structure: null coordinate: [412, 931] rotation: 0 state: true - name: qtgui_edit_box_msg_0 id: qtgui_edit_box_msg parameters: affinity: '' alias: '' comment: '' gui_hint: 1,2, 1,1 is_pair: 'True' is_static: 'True' key: freq label: Freq (kHz) maxoutbuf: '0' minoutbuf: '0' type: float value: '1060' states: bus_sink: false bus_source: false bus_structure: null coordinate: [744, 1092.0] rotation: 0 state: true - name: qtgui_sink_x_0 id: qtgui_sink_x parameters: affinity: '' alias: '' bw: audio_Hz comment: '' fc: freq_kHz * 1e3 fftsize: '1024' gui_hint: 'spectra@2: 0,0,1,1' maxoutbuf: '0' minoutbuf: '0' name: Audio, Frequency plotconst: 'True' plotfreq: 'True' plottime: 'True' plotwaterfall: 'True' rate: '10' showports: 'False' showrf: 'False' type: float wintype: window.WIN_BLACKMAN_hARRIS states: bus_sink: false bus_source: false bus_structure: null coordinate: [795, 1545] rotation: 0 state: true - name: qtgui_sink_x_0_0 id: qtgui_sink_x parameters: affinity: '' alias: '' bw: samp_rate comment: '' fc: freq_kHz * 1e3 fftsize: '1024' gui_hint: 'spectra@1 : 0,0,1,1' maxoutbuf: '0' minoutbuf: '0' name: Full Spectrum plotconst: 'True' plotfreq: 'True' plottime: 'True' plotwaterfall: 'True' rate: '10' showports: 'True' showrf: 'True' type: complex wintype: window.WIN_BLACKMAN_hARRIS states: bus_sink: false bus_source: false bus_structure: null coordinate: [736, 900.0] 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: '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: 'True' entags: 'False' grid: 'True' gui_hint: spectra@3:0,0,1,1 label1: Audio 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: Audio, Time nconnections: '1' size: '1024' srate: audio_Hz 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: 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: Amplitude ymax: '1' ymin: '-1' yunit: '""' states: bus_sink: false bus_source: false bus_structure: null coordinate: [790, 1353] rotation: 0 state: enabled - name: spectra id: qtgui_tab_widget parameters: alias: '' comment: '' gui_hint: 2,0,1,3 label0: RTSA label1: Full RF Spectrum 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: Station, Freq label3: Station, Time label4: Tab 4 label5: Tab 5 label6: Tab 6 label7: Tab 7 label8: Tab 8 label9: Tab 9 num_tabs: '4' states: bus_sink: false bus_source: false bus_structure: null coordinate: [624, 420] rotation: 0 state: true - name: uhd_usrp_source_0 id: uhd_usrp_source parameters: affinity: '' alias: '' ant0: TX/RX ant1: RX2 ant10: RX2 ant11: RX2 ant12: RX2 ant13: RX2 ant14: RX2 ant15: RX2 ant16: RX2 ant17: RX2 ant18: RX2 ant19: RX2 ant2: RX2 ant20: RX2 ant21: RX2 ant22: RX2 ant23: RX2 ant24: RX2 ant25: RX2 ant26: RX2 ant27: RX2 ant28: RX2 ant29: RX2 ant3: RX2 ant30: RX2 ant31: RX2 ant4: RX2 ant5: RX2 ant6: RX2 ant7: RX2 ant8: RX2 ant9: RX2 bw0: samp_rate 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: up0_Hz + (freq_kHz * 1e3) + (fine_daHz * 10) 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: '' dc_offs0: 0+0j dc_offs1: 0+0j dc_offs10: 0+0j dc_offs11: 0+0j dc_offs12: 0+0j dc_offs13: 0+0j dc_offs14: 0+0j dc_offs15: 0+0j dc_offs16: 0+0j dc_offs17: 0+0j dc_offs18: 0+0j dc_offs19: 0+0j dc_offs2: 0+0j dc_offs20: 0+0j dc_offs21: 0+0j dc_offs22: 0+0j dc_offs23: 0+0j dc_offs24: 0+0j dc_offs25: 0+0j dc_offs26: 0+0j dc_offs27: 0+0j dc_offs28: 0+0j dc_offs29: 0+0j dc_offs3: 0+0j dc_offs30: 0+0j dc_offs31: 0+0j dc_offs4: 0+0j dc_offs5: 0+0j dc_offs6: 0+0j dc_offs7: 0+0j dc_offs8: 0+0j dc_offs9: 0+0j dc_offs_enb0: default dc_offs_enb1: default dc_offs_enb10: default dc_offs_enb11: default dc_offs_enb12: default dc_offs_enb13: default dc_offs_enb14: default dc_offs_enb15: default dc_offs_enb16: default dc_offs_enb17: default dc_offs_enb18: default dc_offs_enb19: default dc_offs_enb2: default dc_offs_enb20: default dc_offs_enb21: default dc_offs_enb22: default dc_offs_enb23: default dc_offs_enb24: default dc_offs_enb25: default dc_offs_enb26: default dc_offs_enb27: default dc_offs_enb28: default dc_offs_enb29: default dc_offs_enb3: default dc_offs_enb30: default dc_offs_enb31: default dc_offs_enb4: default dc_offs_enb5: default dc_offs_enb6: default dc_offs_enb7: default dc_offs_enb8: default dc_offs_enb9: default dev_addr: '""' dev_args: '""' gain0: rfGain_dB 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' gain_type0: default gain_type1: default gain_type10: default gain_type11: default gain_type12: default gain_type13: default gain_type14: default gain_type15: default gain_type16: default gain_type17: default gain_type18: default gain_type19: default gain_type2: default gain_type20: default gain_type21: default gain_type22: default gain_type23: default gain_type24: default gain_type25: default gain_type26: default gain_type27: default gain_type28: default gain_type29: default gain_type3: default gain_type30: default gain_type31: default gain_type4: default gain_type5: default gain_type6: default gain_type7: default gain_type8: default gain_type9: default iq_imbal0: 0+0j iq_imbal1: 0+0j iq_imbal10: 0+0j iq_imbal11: 0+0j iq_imbal12: 0+0j iq_imbal13: 0+0j iq_imbal14: 0+0j iq_imbal15: 0+0j iq_imbal16: 0+0j iq_imbal17: 0+0j iq_imbal18: 0+0j iq_imbal19: 0+0j iq_imbal2: 0+0j iq_imbal20: 0+0j iq_imbal21: 0+0j iq_imbal22: 0+0j iq_imbal23: 0+0j iq_imbal24: 0+0j iq_imbal25: 0+0j iq_imbal26: 0+0j iq_imbal27: 0+0j iq_imbal28: 0+0j iq_imbal29: 0+0j iq_imbal3: 0+0j iq_imbal30: 0+0j iq_imbal31: 0+0j iq_imbal4: 0+0j iq_imbal5: 0+0j iq_imbal6: 0+0j iq_imbal7: 0+0j iq_imbal8: 0+0j iq_imbal9: 0+0j iq_imbal_enb0: default iq_imbal_enb1: default iq_imbal_enb10: default iq_imbal_enb11: default iq_imbal_enb12: default iq_imbal_enb13: default iq_imbal_enb14: default iq_imbal_enb15: default iq_imbal_enb16: default iq_imbal_enb17: default iq_imbal_enb18: default iq_imbal_enb19: default iq_imbal_enb2: default iq_imbal_enb20: default iq_imbal_enb21: default iq_imbal_enb22: default iq_imbal_enb23: default iq_imbal_enb24: default iq_imbal_enb25: default iq_imbal_enb26: default iq_imbal_enb27: default iq_imbal_enb28: default iq_imbal_enb29: default iq_imbal_enb3: default iq_imbal_enb30: default iq_imbal_enb31: default iq_imbal_enb4: default iq_imbal_enb5: default iq_imbal_enb6: default iq_imbal_enb7: default iq_imbal_enb8: default iq_imbal_enb9: default 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' num_mboards: '1' otw: '' rx_agc0: Disabled rx_agc1: Default rx_agc10: Default rx_agc11: Default rx_agc12: Default rx_agc13: Default rx_agc14: Default rx_agc15: Default rx_agc16: Default rx_agc17: Default rx_agc18: Default rx_agc19: Default rx_agc2: Default rx_agc20: Default rx_agc21: Default rx_agc22: Default rx_agc23: Default rx_agc24: Default rx_agc25: Default rx_agc26: Default rx_agc27: Default rx_agc28: Default rx_agc29: Default rx_agc3: Default rx_agc30: Default rx_agc31: Default rx_agc4: Default rx_agc5: Default rx_agc6: Default rx_agc7: Default rx_agc8: Default rx_agc9: Default samp_rate: samp_rate sd_spec0: '' sd_spec1: '' sd_spec2: '' sd_spec3: '' sd_spec4: '' sd_spec5: '' sd_spec6: '' sd_spec7: '' show_lo_controls: 'False' start_time: '-1.0' 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: [296, 684.0] rotation: 0 state: enabled - name: virtual_sink_0 id: virtual_sink parameters: alias: '' comment: "Tuned station.\n\nBaseband output:\n 48 kSa/s\n bw=5 kHz" stream_id: baseband states: bus_sink: false bus_source: false bus_structure: null coordinate: [928, 652.0] rotation: 0 state: enabled - name: virtual_sink_2_0 id: virtual_sink parameters: alias: '' comment: 'Station chosen by clicking gui.' stream_id: amStation_kHz states: bus_sink: false bus_source: false bus_structure: null coordinate: [1344, 916.0] rotation: 0 state: enabled - name: virtual_sink_2_1 id: virtual_sink parameters: alias: '' comment: 'Station chosen by user via QT Gui Sink and up-converted.' stream_id: upConv_Hz states: bus_sink: false bus_source: false bus_structure: null coordinate: [1328, 1116.0] rotation: 0 state: true - name: virtual_source_0 id: virtual_source parameters: alias: '' comment: '48 kSa/s bw=5 kHz' stream_id: baseband states: bus_sink: false bus_source: false bus_structure: null coordinate: [42, 1463] rotation: 0 state: true - name: virtual_source_2_0 id: virtual_source parameters: alias: '' comment: 'Station chosen by clicking gui.' stream_id: amStation_kHz states: bus_sink: false bus_source: false bus_structure: null coordinate: [504, 1132.0] rotation: 0 state: enabled - name: virtual_source_2_1_0 id: virtual_source parameters: alias: '' comment: 'Station message from QT Gui Message Edit Box.' stream_id: upConv_Hz states: bus_sink: false bus_source: false bus_structure: null coordinate: [48, 732.0] rotation: 0 state: enabled connections: - [analog_agc_xx_0, '0', blocks_complex_to_mag_0, '0'] - [blocks_add_const_vxx_0, '0', blocks_multiply_const_vxx_0, '0'] - [blocks_add_const_vxx_0, '0', qtgui_sink_x_0, '0'] - [blocks_add_const_vxx_0, '0', qtgui_time_sink_x_0, '0'] - [blocks_complex_to_mag_0, '0', blocks_add_const_vxx_0, '0'] - [blocks_multiply_const_vxx_0, '0', audio_sink_0_0, '0'] - [blocks_mute_xx_0, '0', fosphor_qt_sink_c_0, '0'] - [blocks_mute_xx_0, '0', low_pass_filter_0, '0'] - [blocks_mute_xx_0, '0', qtgui_sink_x_0_0, '0'] - [epy_block_0, snapped_Hz_out, qtgui_sink_x_0_0, freq] - [epy_block_0, snapped_kHz_out, blocks_msgpair_to_var_0, inpair] - [epy_block_0, snapped_kHz_out, virtual_sink_2_0, '0'] - [epy_block_1, upConv_Hz_out, virtual_sink_2_1, '0'] - [fosphor_qt_sink_c_0, freq, epy_block_0, raw_Hz_in] - [low_pass_filter_0, '0', virtual_sink_0, '0'] - [qtgui_edit_box_msg_0, msg, epy_block_1, freq_kHz_in] - [qtgui_sink_x_0_0, freq, epy_block_0, raw_Hz_in] - [uhd_usrp_source_0, '0', blocks_mute_xx_0, '0'] - [virtual_source_0, '0', analog_agc_xx_0, '0'] - [virtual_source_2_0, '0', qtgui_edit_box_msg_0, val] - [virtual_source_2_1_0, '0', uhd_usrp_source_0, command] metadata: file_format: 1