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: fmRadio 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: Stereo FM Receiver window_size: '' states: bus_sink: false bus_source: false bus_structure: null coordinate: [51, 195] rotation: 0 state: enabled blocks: - name: audioSrc id: variable_qtgui_chooser parameters: comment: '' gui_hint: 0,3,1,2 label: Audio label0: Main label1: SCA 67 kHz label2: SCA 92 kHz label3: '' label4: '' labels: '[]' num_opts: '3' option0: '0' option1: '1' option2: '2' option3: '3' option4: '4' options: '[0, 1, 2]' orient: Qt.QVBoxLayout type: int value: '0' widget: combo_box states: bus_sink: false bus_source: false bus_structure: null coordinate: [512, 196.0] rotation: 0 state: true - name: audio_Hz id: variable parameters: comment: '' value: 48e3 states: bus_sink: false bus_source: false bus_structure: null coordinate: [60, 398] rotation: 0 state: enabled - name: deviation_Hz id: variable parameters: comment: 'FM broadcast deviation.' value: 75e3 states: bus_sink: false bus_source: false bus_structure: null coordinate: [1520, 920.0] rotation: 0 state: true - name: downRate_Hz id: variable parameters: comment: '' value: 10* audio_Hz states: bus_sink: false bus_source: false bus_structure: null coordinate: [60, 464] rotation: 0 state: enabled - name: freq_MHz id: variable parameters: comment: '' value: '104.5' states: bus_sink: false bus_source: false bus_structure: null coordinate: [200, 1412.0] rotation: 0 state: true - name: fsPilot_Hz id: variable parameters: comment: 'Sample rate when working with 38 kHz stero pilot tone.' value: 2 * audio_Hz states: bus_sink: false bus_source: false bus_structure: null coordinate: [54, 284] rotation: 0 state: enabled - name: lpTaps id: variable_low_pass_filter_taps parameters: beta: '6.76' comment: '' cutoff_freq: 100e3 gain: '1.0' samp_rate: downRate_Hz value: '' width: 10e3 win: window.WIN_HAMMING states: bus_sink: false bus_source: false bus_structure: null coordinate: [1680, 916.0] rotation: 0 state: enabled - name: mute id: variable_qtgui_check_box parameters: comment: '' 'false': 'False' gui_hint: 0,5,1,1 label: Mute 'true': 'True' type: bool value: 'False' states: bus_sink: false bus_source: false bus_structure: null coordinate: [661, 199] rotation: 0 state: true - name: rfGain_dB id: variable_qtgui_range parameters: comment: '' gui_hint: 1,0,1,3 label: RF Gain (dB) min_len: '200' orient: QtCore.Qt.Horizontal rangeType: int start: '10' step: '1' stop: '90' value: '50' widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [368, 332.0] rotation: 0 state: true - name: rrc_taps id: variable_rrc_filter_taps parameters: alpha: '1.0' comment: '' gain: '1.0' ntaps: '151' samp_rate: '19000' sym_rate: 19000/8 value: '' states: bus_sink: false bus_source: false bus_structure: null coordinate: [768, 4648.0] rotation: 0 state: true - name: rrc_taps_manchester id: variable parameters: comment: '' value: '[rrc_taps[n] - rrc_taps[n+8] for n in range(len(rrc_taps)-8)]' states: bus_sink: false bus_source: false bus_structure: null coordinate: [768, 4576.0] rotation: 0 state: true - name: samp_rate id: variable parameters: comment: 'This rate provides a nice spectrum for Fosphor display. For RTL-SDR, use 2.4 MSa/s.' value: 4.8e6 states: bus_sink: false bus_source: false bus_structure: null coordinate: [60, 529] rotation: 0 state: enabled - name: taps_sca id: variable_low_pass_filter_taps parameters: beta: '6.76' comment: '' cutoff_freq: 10e3 gain: '1.0' samp_rate: downRate_Hz / 2 value: '' width: 1e2 win: window.WIN_HAMMING states: bus_sink: false bus_source: false bus_structure: null coordinate: [312, 3340.0] rotation: 0 state: enabled - name: taps_sca_0 id: variable_low_pass_filter_taps parameters: beta: '6.76' comment: '' cutoff_freq: 10e3 gain: '1.0' samp_rate: downRate_Hz / 2 value: '' width: 1e2 win: window.WIN_HAMMING states: bus_sink: false bus_source: false bus_structure: null coordinate: [312, 3692.0] rotation: 0 state: enabled - name: volume id: variable_qtgui_range parameters: comment: '' gui_hint: 0,0,1,3 label: Volume min_len: '200' orient: QtCore.Qt.Horizontal rangeType: float start: '0' step: '0.01' stop: '1' value: '0.1' widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [371, 196] rotation: 0 state: true - name: analog_agc_xx_0 id: analog_agc_xx parameters: affinity: '' alias: '' comment: '' gain: '53' max_gain: '1000' maxoutbuf: '0' minoutbuf: '0' rate: 2e-3 reference: '0.585' type: complex states: bus_sink: false bus_source: false bus_structure: null coordinate: [992, 4480.0] rotation: 0 state: true - name: analog_fm_deemph_0 id: analog_fm_deemph parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' samp_rate: audio_Hz tau: 75e-6 states: bus_sink: false bus_source: false bus_structure: null coordinate: [454, 2839] rotation: 0 state: enabled - name: analog_fm_deemph_0_1 id: analog_fm_deemph parameters: affinity: '' alias: '' comment: Undo pre-emphasis. maxoutbuf: '0' minoutbuf: '0' samp_rate: audio_Hz tau: 75e-6 states: bus_sink: false bus_source: false bus_structure: null coordinate: [454, 2937] rotation: 0 state: enabled - name: analog_fm_demod_cf_0 id: analog_fm_demod_cf parameters: affinity: '' alias: '' audio_decim: '10' audio_pass: '15000' audio_stop: '16000' chan_rate: 480e3 comment: '' deviation: '75000' gain: '1.0' maxoutbuf: '0' minoutbuf: '0' tau: 75e-6 states: bus_sink: false bus_source: false bus_structure: null coordinate: [592, 3212.0] rotation: 0 state: true - name: analog_fm_demod_cf_0_0 id: analog_fm_demod_cf parameters: affinity: '' alias: '' audio_decim: '10' audio_pass: '15000' audio_stop: '16000' chan_rate: 480e3 comment: '' deviation: '75000' gain: '1.0' maxoutbuf: '0' minoutbuf: '0' tau: 75e-6 states: bus_sink: false bus_source: false bus_structure: null coordinate: [592, 3564.0] rotation: 0 state: true - name: analog_pll_refout_cc_0 id: analog_pll_refout_cc parameters: affinity: '' alias: '' comment: '~19 kHz pilot Lock onto received f=~19 kHz pilot +/- 0.01 rad. (2 pi f) / fs = 1.24 rad/Sa' max_freq: (2 * 3.1416 * 19e3) / (2 * audio_Hz) + 0.1 maxoutbuf: '0' min_freq: (2 * 3.1416 * 19e3) / (2 * audio_Hz) - 0.1 minoutbuf: '0' w: (2 * 3.1416)/100 states: bus_sink: false bus_source: false bus_structure: null coordinate: [680, 1976.0] rotation: 0 state: enabled - name: audio_sink_0_0 id: audio_sink parameters: affinity: '' alias: '' comment: Soundcard. device_name: '' num_inputs: '2' ok_to_block: 'True' samp_rate: int(audio_Hz) states: bus_sink: false bus_source: false bus_structure: null coordinate: [718, 4075] rotation: 0 state: enabled - name: band_pass_filter_0 id: band_pass_filter parameters: affinity: '' alias: '' beta: '6.76' comment: "Output:\n 96 kSa/s\n fc=19 kHz\n bw=2 kHz" decim: int(downRate_Hz / fsPilot_Hz) gain: '1' high_cutoff_freq: 20e3 interp: '1' low_cutoff_freq: 18e3 maxoutbuf: '0' minoutbuf: '0' samp_rate: downRate_Hz type: fir_filter_fff width: '500' win: window.WIN_HAMMING states: bus_sink: false bus_source: false bus_structure: null coordinate: [272, 1927] rotation: 0 state: enabled - name: band_pass_filter_0_0 id: band_pass_filter parameters: affinity: '' alias: '' beta: '6.76' comment: Clean PLL output. decim: '1' gain: '1' high_cutoff_freq: 39e3 interp: '1' low_cutoff_freq: 37e3 maxoutbuf: '0' minoutbuf: '0' samp_rate: fsPilot_Hz type: fir_filter_ccf width: '500' win: window.WIN_HAMMING states: bus_sink: false bus_source: false bus_structure: null coordinate: [432, 2212.0] rotation: 0 state: enabled - name: band_pass_filter_0_1 id: band_pass_filter parameters: affinity: '' alias: '' beta: '6.76' comment: "Output:\n 96 kSa/s\n fc=38 kHz\n bw: 30 kHz" decim: int(downRate_Hz / fsPilot_Hz) gain: '10' high_cutoff_freq: 53e3 interp: '1' low_cutoff_freq: 23e3 maxoutbuf: '0' minoutbuf: '0' samp_rate: downRate_Hz type: fir_filter_fcc width: '500' win: window.WIN_HAMMING states: bus_sink: false bus_source: false bus_structure: null coordinate: [260, 2539] rotation: 0 state: enabled - name: blocks_add_xx_0 id: blocks_add_xx parameters: affinity: '' alias: '' comment: Recover 2L. maxoutbuf: '0' minoutbuf: '0' num_inputs: '2' type: float vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [331, 2835] rotation: 0 state: enabled - name: blocks_complex_to_arg_0 id: blocks_complex_to_arg parameters: affinity: '' alias: '' comment: 'Quadrature demod: arg(x_n / x_n-1)' maxoutbuf: '0' minoutbuf: '0' vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1336, 856.0] rotation: 0 state: enabled - name: blocks_complex_to_real_0 id: blocks_complex_to_real parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [768, 2552.0] rotation: 0 state: enabled - name: blocks_complex_to_real_0_0 id: blocks_complex_to_real parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [648, 2208.0] rotation: 0 state: enabled - name: blocks_delay_0_0 id: blocks_delay parameters: affinity: '' alias: '' comment: x_n-1 delay: '1' maxoutbuf: '0' minoutbuf: '0' num_ports: '1' showports: 'False' type: complex vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1088, 904.0] rotation: 0 state: enabled - name: blocks_divide_xx_0 id: blocks_divide_xx parameters: affinity: '' alias: '' comment: x_n / x_n-1 maxoutbuf: '0' minoutbuf: '0' num_inputs: '2' type: complex vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1216, 840.0] rotation: 0 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: [504, 1984.0] rotation: 0 state: enabled - name: blocks_msgpair_to_var_0 id: blocks_msgpair_to_var parameters: affinity: '' alias: '' comment: '' target: freq_MHz states: bus_sink: false bus_source: false bus_structure: null coordinate: [1912, 1296.0] rotation: 0 state: true - name: blocks_msgpair_to_var_0_0 id: blocks_msgpair_to_var parameters: affinity: '' alias: '' comment: '' target: freq_MHz states: bus_sink: false bus_source: false bus_structure: null coordinate: [1528, 1488.0] rotation: 0 state: true - name: blocks_multiply_const_vxx_0 id: blocks_multiply_const_vxx parameters: affinity: '' alias: '' comment: '' const: volume maxoutbuf: '0' minoutbuf: '0' type: float vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [626, 2847] rotation: 0 state: enabled - name: blocks_multiply_const_vxx_0_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: [627, 2945] rotation: 0 state: enabled - name: blocks_multiply_const_vxx_0_0_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: [808, 3260.0] rotation: 0 state: enabled - name: blocks_multiply_const_vxx_0_0_0_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: [808, 3612.0] rotation: 0 state: enabled - name: blocks_multiply_const_vxx_1 id: blocks_multiply_const_vxx parameters: affinity: '' alias: '' comment: Gain const: 8 * downRate_Hz / (2 * 3.1416 * deviation_Hz) maxoutbuf: '0' minoutbuf: '0' type: float vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1512, 848.0] rotation: 0 state: enabled - name: blocks_multiply_xx_0 id: blocks_multiply_xx parameters: affinity: '' alias: '' comment: ~38 kHz pilot maxoutbuf: '0' minoutbuf: '0' num_inputs: '2' type: complex vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [296, 2264.0] rotation: 0 state: enabled - name: blocks_multiply_xx_0_0 id: blocks_multiply_xx parameters: affinity: '' alias: '' comment: 'Mix L-R to baseband.' maxoutbuf: '0' minoutbuf: '0' num_inputs: '2' type: complex vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [448, 2536.0] 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: [680, 872.0] rotation: 0 state: true - name: blocks_selector_0 id: blocks_selector parameters: affinity: '' alias: '' comment: '' enabled: 'True' input_index: audioSrc maxoutbuf: '0' minoutbuf: '0' num_inputs: '3' num_outputs: '1' output_index: '0' showports: 'True' type: float vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [470, 3996] rotation: 0 state: enabled - name: blocks_selector_0_0 id: blocks_selector parameters: affinity: '' alias: '' comment: 'Select Main or SCA audio. Controlled by GUI.' enabled: 'True' input_index: audioSrc maxoutbuf: '0' minoutbuf: '0' num_inputs: '3' num_outputs: '1' output_index: '0' showports: 'True' type: float vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [470, 4139] rotation: 0 state: enabled - name: blocks_sub_xx_0 id: blocks_sub_xx parameters: affinity: '' alias: '' comment: Recover 2R. maxoutbuf: '0' minoutbuf: '0' num_inputs: '2' type: float vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [330, 2933] rotation: 0 state: enabled - name: digital_constellation_receiver_cb_0 id: digital_constellation_receiver_cb parameters: affinity: '' alias: '' comment: '' constellation: digital.constellation_bpsk().base() fmax: '0.002' fmin: '-0.002' loop_bw: 2*3.1416 / 100 maxoutbuf: '0' minoutbuf: '0' showports: 'False' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1488, 4400.0] rotation: 0 state: true - name: digital_diff_decoder_bb_0_0 id: digital_diff_decoder_bb parameters: affinity: '' alias: '' coding: digital.DIFF_DIFFERENTIAL comment: Bits maxoutbuf: '0' minoutbuf: '0' modulus: '2' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1752, 4384.0] rotation: 0 state: enabled - name: digital_symbol_sync_xx_0_0 id: digital_symbol_sync_xx parameters: affinity: '' alias: '' comment: 1 Sa/sym constellation: digital.constellation_bpsk().base() damping: '1.0' loop_bw: '0.01' max_dev: '0.1' maxoutbuf: '0' minoutbuf: '0' nfilters: '128' osps: '1' pfb_mf_taps: '[]' resamp_type: digital.IR_MMSE_8TAP sps: '16' ted_gain: '1.0' ted_type: digital.TED_ZERO_CROSSING type: cc states: bus_sink: false bus_source: false bus_structure: null coordinate: [1168, 4444.0] rotation: 0 state: true - name: epy_block_0 id: epy_block parameters: _source_code: "'''Convert an arbitrary frequency in the FM 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 MHz 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_MHz_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 FM 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_MHz_out\ \ (pmt.dict) : (freq . snappedFreq) where snappedFreq\n\t\t is input frequency\ \ in MHz 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_MHz\ \ = pmt.to_python(freq) / 1e6 # Easier to work in MHz.\n\n\t\t# Snap user-clicked\ \ freq to nearest FM station.\n\t\tspacing = 0.2 # N. American broadcast FM\ \ spacing in MHz.\n\t\tnearest = 0.1 # Round to nearest odd tenth of MHz.\n\t\ \tfreq_MHz = nearest + round((freqRaw_MHz - nearest)/spacing) * spacing\n\t\t\ freq_Hz = freq_MHz * 1e6\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_MHz).\n\t\tpair = pmt.cons(cmd,\ \ pmt.to_pmt(freq_MHz))\n\t\tself.message_port_pub(pmt.intern('snapped_MHz_out'),\ \ pair)\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_MHz_out', 'message', 1), ('snapped_Hz_out', 'message', 1)], '', []) bus_sink: false bus_source: false bus_structure: null coordinate: [1600, 1344.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_MHz).\n\nMike\ \ Markowski, mike.ab3ap@gmail.com\nFeb 2021\n'''\n\nimport numpy as np\nfrom\ \ gnuradio import gr\nimport pmt\n\nclass cvtBlock(gr.basic_block):\n\n\tdef\ \ __init__(self):\n\t\t\"\"\"arguments to this function show up as parameters\ \ in GRC\"\"\"\n\t\tgr.basic_block.__init__(\n\t\t\tself,\n\t\t\tname='MHz to\ \ Hz',\n\t\t\tin_sig=None,\n\t\t\tout_sig=None\n\t\t)\n\n\t\tself.message_port_register_in(pmt.intern('freq_MHz_in'))\n\ \t\tself.set_msg_handler(pmt.intern('freq_MHz_in'), self.MHzToHz)\n\n\t\tself.message_port_register_out(pmt.intern('freq_Hz_out'))\n\ \n\tdef MHzToHz(self, msg):\n\t\t'''msg expected to be pmt pair (freq . val).'''\n\ \n\t\tcmd = pmt.car(msg)\n\t\tfreq_Hz = 1e6 * pmt.to_python(pmt.cdr(msg))\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" affinity: '' alias: '' comment: 'MHz is easier to work with, but SDR needs Hz.' maxoutbuf: '0' minoutbuf: '0' states: _io_cache: ('MHz to Hz', 'cvtBlock', [], [('freq_MHz_in', '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: [1528, 1552.0] rotation: 0 state: enabled - name: fir_filter_xxx_0 id: fir_filter_xxx parameters: affinity: '' alias: '' comment: '' decim: '1' maxoutbuf: '0' minoutbuf: '0' samp_delay: '0' taps: lpTaps type: fff states: bus_sink: false bus_source: false bus_structure: null coordinate: [1688, 840.0] rotation: 0 state: enabled - name: fir_filter_xxx_2 id: fir_filter_xxx parameters: affinity: '' alias: '' comment: '' decim: '1' maxoutbuf: '0' minoutbuf: '0' samp_delay: '0' taps: rrc_taps_manchester type: ccc states: bus_sink: false bus_source: false bus_structure: null coordinate: [768, 4496.0] rotation: 0 state: enabled - name: fosphor_qt_sink_c_0 id: fosphor_qt_sink_c parameters: affinity: '' alias: '' comment: '' freq_center: freq_MHz * 1e6 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: [1208, 1240.0] rotation: 0 state: enabled - name: freq_xlating_fir_filter_xxx_0_0 id: freq_xlating_fir_filter_xxx parameters: affinity: '' alias: '' center_freq: 67.65e3 comment: '' decim: '2' maxoutbuf: '0' minoutbuf: '0' samp_rate: downRate_Hz taps: taps_sca type: fcf states: bus_sink: false bus_source: false bus_structure: null coordinate: [304, 3236] rotation: 0 state: enabled - name: freq_xlating_fir_filter_xxx_0_0_0 id: freq_xlating_fir_filter_xxx parameters: affinity: '' alias: '' center_freq: 92e3 comment: '' decim: '2' maxoutbuf: '0' minoutbuf: '0' samp_rate: downRate_Hz taps: taps_sca type: fcf states: bus_sink: false bus_source: false bus_structure: null coordinate: [304, 3586] rotation: 0 state: enabled - name: freq_xlating_fir_filter_xxx_1_0 id: freq_xlating_fir_filter_xxx parameters: affinity: '' alias: '' center_freq: 57e3 comment: 'Bandpass fc=57 kHz, bw=5 kHz 48 kSa/s' decim: '10' maxoutbuf: '0' minoutbuf: '0' samp_rate: downRate_Hz taps: firdes.low_pass(1.0, downRate_Hz, 7.5e3, 5e3) type: fcc states: bus_sink: false bus_source: false bus_structure: null coordinate: [344, 4480.0] rotation: 0 state: enabled - name: low_pass_filter_0 id: low_pass_filter parameters: affinity: '' alias: '' beta: '6.76' comment: "Channel to baseband:\n 480 kSa/s\n bw=100 kHz" cutoff_freq: 100e3 decim: int(samp_rate / downRate_Hz) gain: '1' interp: '1' maxoutbuf: '0' minoutbuf: '0' samp_rate: samp_rate type: fir_filter_ccf width: 5e3 win: window.WIN_HAMMING states: bus_sink: false bus_source: false bus_structure: null coordinate: [880, 788.0] rotation: 0 state: true - name: low_pass_filter_0_0 id: low_pass_filter parameters: affinity: '' alias: '' beta: '6.76' comment: Mono filtered to 15 kHz cutoff. cutoff_freq: 15e3 decim: int(downRate_Hz / audio_Hz) gain: '1' interp: '1' maxoutbuf: '0' minoutbuf: '0' samp_rate: downRate_Hz type: fir_filter_fff width: 1.5e3 win: window.WIN_HAMMING states: bus_sink: false bus_source: false bus_structure: null coordinate: [263, 1635] rotation: 0 state: enabled - name: low_pass_filter_0_0_0 id: low_pass_filter parameters: affinity: '' alias: '' beta: '6.76' comment: Audio filtered to 15 kHz cutoff. cutoff_freq: 15e3 decim: '2' gain: '1' interp: '1' maxoutbuf: '0' minoutbuf: '0' samp_rate: fsPilot_Hz type: fir_filter_ccf width: 1.5e3 win: window.WIN_HAMMING states: bus_sink: false bus_source: false bus_structure: null coordinate: [576, 2492.0] rotation: 0 state: enabled - name: note_0 id: note parameters: alias: 'Inspired by URL: https://www.nutsvolts.com/magazine/article/fm-reception-with-the-gnu-radio-companion' comment: "Mike Markowski\nFeb 4, 2021\nmike.ab3ap@gmail.com\n\nInspired by and\ \ modeled after URL: \nhttps://www.nutsvolts.com/magazine/article/fm-reception-with-the-gnu-radio-companion" note: FM radio project! states: bus_sink: false bus_source: false bus_structure: null coordinate: [56, 25] rotation: 0 state: true - name: note_0_0 id: note parameters: alias: 'Inspired by URL: https://www.nutsvolts.com/magazine/article/fm-reception-with-the-gnu-radio-companion' comment: 'GUI blocks here are laid out as in displayed GUI.' note: GUI info states: bus_sink: false bus_source: false bus_structure: null coordinate: [760, 420.0] rotation: 0 state: true - name: note_0_1 id: note parameters: alias: '' comment: 'Tune to desired station and output 100 kHz channel.' note: Tuner states: bus_sink: false bus_source: false bus_structure: null coordinate: [47, 755] rotation: 0 state: true - name: note_0_1_0 id: note parameters: alias: '' comment: '*** samp_rate must be a multiple of downRate_Hz, and downRate_Hz must be a multiple of audio_Hz.' note: Rates states: bus_sink: false bus_source: false bus_structure: null coordinate: [176, 465] rotation: 0 state: true - name: note_1 id: note parameters: alias: '' comment: 'This simply supports clicking on QT Gui Sink to change stations.' note: GUI Niceties states: bus_sink: false bus_source: false bus_structure: null coordinate: [888, 1344.0] rotation: 0 state: true - name: note_2 id: note parameters: alias: '' comment: 'fc=67.65 kHz bw=18 kHz FM modulated' note: SCA1 states: bus_sink: false bus_source: false bus_structure: null coordinate: [65, 3142] rotation: 0 state: true - name: note_2_0 id: note parameters: alias: '' comment: 'fc=92 kHz bw=16 kHz FM modulated' note: SCA2 states: bus_sink: false bus_source: false bus_structure: null coordinate: [64, 3486] rotation: 0 state: enabled - name: note_2_0_0 id: note parameters: alias: '' comment: "GUI is used to select\n Stereo main,\n Mono SCA@67 kHz, or\n Mono\ \ SCA@92 kHz." note: Audio source states: bus_sink: false bus_source: false bus_structure: null coordinate: [66, 3871] rotation: 0 state: enabled - name: note_3_1 id: note parameters: alias: '' comment: "fc=57 kHz, 3rd harmonic of pilot. \n1187.5 b/s (48 subcarrier cycles/bit).\n\ Taken from gr-rds sample code." note: RDS states: bus_sink: false bus_source: false bus_structure: null coordinate: [64, 4376.0] rotation: 0 state: enabled - name: note_4 id: note parameters: alias: '' comment: '' note: L+R (mono) states: bus_sink: false bus_source: false bus_structure: null coordinate: [47, 1624] rotation: 0 state: true - name: note_4_0 id: note parameters: alias: '' comment: '' note: 19 kHz pilot states: bus_sink: false bus_source: false bus_structure: null coordinate: [49, 1921] rotation: 0 state: true - name: note_4_0_0 id: note parameters: alias: '' comment: '' note: 38 kHz pilot states: bus_sink: false bus_source: false bus_structure: null coordinate: [47, 2209] rotation: 0 state: true - name: note_4_0_1 id: note parameters: alias: '' comment: '' note: L-R states: bus_sink: false bus_source: false bus_structure: null coordinate: [36, 2533] rotation: 0 state: true - name: note_5 id: note parameters: alias: '' comment: '' note: Stereo signals states: bus_sink: false bus_source: false bus_structure: null coordinate: [42, 2798] rotation: 0 state: true - name: note_6 id: note parameters: alias: '' comment: 'If you don''t have gr-fosphor installed, use QT GUI Sink.' note: GUI choice states: bus_sink: false bus_source: false bus_structure: null coordinate: [1504, 1248.0] rotation: 0 state: enabled - name: qtgui_const_sink_x_0 id: qtgui_const_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: '"red"' color2: '"red"' color3: '"red"' color4: '"red"' color5: '"red"' color6: '"red"' color7: '"red"' color8: '"red"' color9: '"red"' comment: '' grid: 'False' gui_hint: 'spectra@10 : 1,0,1,1' label1: '' label10: '' label2: '' label3: '' label4: '' label5: '' label6: '' label7: '' label8: '' label9: '' legend: 'True' 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.10' 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: [1840, 4672.0] rotation: 0 state: enabled - name: qtgui_edit_box_msg_0 id: qtgui_edit_box_msg parameters: affinity: '' alias: '' comment: '' gui_hint: 1,3, 1,1 is_pair: 'True' is_static: 'True' key: freq label: Freq (MHz) maxoutbuf: '0' minoutbuf: '0' type: float value: '104.5' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1208, 1504.0] rotation: 0 state: enabled - name: qtgui_freq_sink_x_0_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: '0.2' axislabels: 'True' bw: audio_Hz 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: '1024' freqhalf: 'False' grid: 'True' gui_hint: 'spectra@3 : 0,0,1,1' label: Relative Gain label1: '' label10: '''''' label2: '''''' label3: '''''' label4: '''''' label5: '''''' label6: '''''' label7: '''''' label8: '''''' label9: '''''' legend: 'False' maxoutbuf: '0' minoutbuf: '0' name: L+R nconnections: '1' norm_window: 'False' showports: 'False' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_tag: '""' type: float 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: window.WIN_BLACKMAN_hARRIS ymax: '0' ymin: '-120' states: bus_sink: false bus_source: false bus_structure: null coordinate: [506, 1628] rotation: 0 state: enabled - name: qtgui_freq_sink_x_0_0_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: '0.1' axislabels: 'True' bw: 2e3 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: 19e3 fftsize: '2048' freqhalf: 'False' grid: 'True' gui_hint: 'spectra@4 : 0,0,1,1' label: Relative Gain label1: '' label10: '''''' label2: '''''' label3: '''''' label4: '''''' label5: '''''' label6: '''''' label7: '''''' label8: '''''' label9: '''''' legend: 'False' maxoutbuf: '0' minoutbuf: '0' name: 19 kHz Pilot nconnections: '1' norm_window: 'False' showports: 'False' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_tag: '""' type: float 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: window.WIN_BLACKMAN_hARRIS ymax: '10' ymin: '-140' states: bus_sink: false bus_source: false bus_structure: null coordinate: [484, 1873] rotation: 0 state: enabled - name: qtgui_freq_sink_x_0_0_0_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: '0.1' axislabels: 'True' bw: 2e3 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: 38e3 fftsize: '2048' freqhalf: 'False' grid: 'True' gui_hint: 'spectra@5 : 0,0,1,1' label: Relative Gain label1: '' label10: '''''' label2: '''''' label3: '''''' label4: '''''' label5: '''''' label6: '''''' label7: '''''' label8: '''''' label9: '''''' legend: 'False' maxoutbuf: '0' minoutbuf: '0' name: 38 kHz Pilot nconnections: '1' norm_window: 'False' showports: 'False' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_tag: '""' type: float 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: window.WIN_BLACKMAN_hARRIS ymax: '10' ymin: '-140' states: bus_sink: false bus_source: false bus_structure: null coordinate: [832, 2176.0] rotation: 0 state: enabled - name: qtgui_freq_sink_x_0_0_1 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: '0.2' axislabels: 'True' bw: audio_Hz 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: 38e3 fftsize: '1024' freqhalf: 'False' grid: 'True' gui_hint: 'spectra@6 : 0,0,1,1' label: Relative Gain label1: '' label10: '''''' label2: '''''' label3: '''''' label4: '''''' label5: '''''' label6: '''''' label7: '''''' label8: '''''' label9: '''''' legend: 'False' maxoutbuf: '0' minoutbuf: '0' name: L-R nconnections: '1' norm_window: 'False' showports: 'False' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_tag: '""' type: float 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: window.WIN_BLACKMAN_hARRIS ymax: '10' ymin: '-140' states: bus_sink: false bus_source: false bus_structure: null coordinate: [980, 2499] rotation: 0 state: enabled - name: qtgui_freq_sink_x_0_0_1_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: '0.2' axislabels: 'True' bw: audio_Hz 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: '1024' freqhalf: 'False' grid: 'True' gui_hint: 'spectra@7 : 0,0,1,1' label: Relative Gain label1: Left label10: '''''' label2: Right label3: '''''' label4: '''''' label5: '''''' label6: '''''' label7: '''''' label8: '''''' label9: '''''' legend: 'True' maxoutbuf: '0' minoutbuf: '0' name: Left & Right nconnections: '2' norm_window: 'False' showports: 'False' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_tag: '""' type: float 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: window.WIN_BLACKMAN_hARRIS ymax: '10' ymin: '-140' states: bus_sink: false bus_source: false bus_structure: null coordinate: [850, 2757] rotation: 0 state: enabled - name: qtgui_freq_sink_x_0_0_1_1 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: '0.1' axislabels: 'True' bw: audio_Hz 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: '1024' freqhalf: 'False' grid: 'True' gui_hint: 'spectra@8 : 0,0,1,1' label: Relative Gain label1: '' label10: '''''' label2: '''''' label3: '''''' label4: '''''' label5: '''''' label6: '''''' label7: '''''' label8: '''''' label9: '''''' legend: 'False' maxoutbuf: '0' minoutbuf: '0' name: SCA nconnections: '1' norm_window: 'False' showports: 'False' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_tag: '""' type: float 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: window.WIN_BLACKMAN_hARRIS ymax: '10' ymin: '-140' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1000, 3376.0] rotation: 0 state: enabled - name: qtgui_freq_sink_x_0_0_1_1_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: '0.1' axislabels: 'True' bw: audio_Hz 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: '1024' freqhalf: 'False' grid: 'True' gui_hint: 'spectra@9 : 0,0,1,1' label: Relative Gain label1: '' label10: '''''' label2: '''''' label3: '''''' label4: '''''' label5: '''''' label6: '''''' label7: '''''' label8: '''''' label9: '''''' legend: 'False' maxoutbuf: '0' minoutbuf: '0' name: SCA nconnections: '1' norm_window: 'False' showports: 'False' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_tag: '""' type: float 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: window.WIN_BLACKMAN_hARRIS ymax: '10' ymin: '-140' states: bus_sink: false bus_source: false bus_structure: null coordinate: [984, 3728.0] rotation: 0 state: enabled - name: qtgui_sink_x_0 id: qtgui_sink_x parameters: affinity: '' alias: '' bw: 480e3 comment: '' fc: '0' fftsize: '8192' gui_hint: 'spectra@2 : 0,0,1,1' maxoutbuf: '0' minoutbuf: '0' name: Tuned Station 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: [1960, 960.0] rotation: 0 state: enabled - name: qtgui_sink_x_0_0 id: qtgui_sink_x parameters: affinity: '' alias: '' bw: samp_rate comment: '' fc: freq_MHz * 1e6 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: [1208, 1328.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: 'False' entags: 'True' grid: 'True' gui_hint: 'spectra@10 : 0,0,1,1' label1: I label10: Signal 10 label2: Q label3: Signal 3 label4: Signal 4 label5: Signal 5 label6: Signal 6 label7: Signal 7 label8: Signal 8 label9: Signal 9 legend: 'True' marker1: '0' marker10: '-1' marker2: '0' marker3: '-1' marker4: '-1' marker5: '-1' marker6: '-1' marker7: '-1' marker8: '-1' marker9: '-1' name: '""' nconnections: '1' size: '200' srate: 19e3 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: Symbol Sync ymax: '1' ymin: '-1' yunit: '""' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1488, 4576.0] rotation: 0 state: true - 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: 'True' axislabels: 'True' color1: cyan color10: dark blue color2: green color3: green color4: black color5: cyan color6: magenta color7: yellow color8: dark red color9: dark green comment: '' ctrlpanel: 'False' entags: 'True' grid: 'True' gui_hint: 'spectra@10 : 2,0,1,1' label1: PLL Error label10: Signal 10 label2: PLL Phase label3: PLL Frequency 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: '0' marker4: '-1' marker5: '-1' marker6: '-1' marker7: '-1' marker8: '-1' marker9: '-1' name: '""' nconnections: '3' size: '1024' srate: samp_rate stemplot: 'False' style1: '1' style10: '1' style2: '0' 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: [1840, 4552.0] rotation: 0 state: enabled - name: rational_resampler_xxx_1 id: rational_resampler_xxx parameters: affinity: '' alias: '' comment: 19 kSa/s decim: int(downRate_Hz // 10) fbw: '0' interp: '19000' maxoutbuf: '0' minoutbuf: '0' taps: '[]' type: ccc states: bus_sink: false bus_source: false bus_structure: null coordinate: [584, 4480.0] rotation: 0 state: true - name: rds_decoder_0_0 id: rds_decoder parameters: affinity: '' alias: '' comment: '' debug: 'False' log: 'False' maxoutbuf: '0' minoutbuf: '0' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1944, 4384.0] rotation: 0 state: true - name: rds_panel_0_0 id: rds_panel parameters: affinity: '' alias: '' comment: '' freq: freq_MHz gui_hint: '' states: bus_sink: false bus_source: false bus_structure: null coordinate: [2304, 4400.0] rotation: 0 state: true - name: rds_parser_0_0 id: rds_parser parameters: affinity: '' alias: '' comment: '' debug: 'False' log: 'False' maxoutbuf: '0' minoutbuf: '0' pty_locale: '0' reset: '0' states: bus_sink: false bus_source: false bus_structure: null coordinate: [2120, 4376.0] rotation: 0 state: true - name: rtlsdr_source_0 id: rtlsdr_source parameters: affinity: '' alias: '' ant0: '' ant1: '' ant10: '' ant11: '' ant12: '' ant13: '' ant14: '' ant15: '' ant16: '' ant17: '' ant18: '' ant19: '' ant2: '' ant20: '' ant21: '' ant22: '' ant23: '' ant24: '' ant25: '' ant26: '' ant27: '' ant28: '' ant29: '' ant3: '' ant30: '' ant31: '' ant4: '' ant5: '' ant6: '' ant7: '' ant8: '' ant9: '' args: '""' bb_gain0: '20' bb_gain1: '20' bb_gain10: '20' bb_gain11: '20' bb_gain12: '20' bb_gain13: '20' bb_gain14: '20' bb_gain15: '20' bb_gain16: '20' bb_gain17: '20' bb_gain18: '20' bb_gain19: '20' bb_gain2: '20' bb_gain20: '20' bb_gain21: '20' bb_gain22: '20' bb_gain23: '20' bb_gain24: '20' bb_gain25: '20' bb_gain26: '20' bb_gain27: '20' bb_gain28: '20' bb_gain29: '20' bb_gain3: '20' bb_gain30: '20' bb_gain31: '20' bb_gain4: '20' bb_gain5: '20' bb_gain6: '20' bb_gain7: '20' bb_gain8: '20' bb_gain9: '20' 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' clock_source0: '' clock_source1: '' clock_source2: '' clock_source3: '' clock_source4: '' clock_source5: '' clock_source6: '' clock_source7: '' comment: 'Output: 2.4 MSa/s' corr0: '0' corr1: '0' corr10: '0' corr11: '0' corr12: '0' corr13: '0' corr14: '0' corr15: '0' corr16: '0' corr17: '0' corr18: '0' corr19: '0' corr2: '0' corr20: '0' corr21: '0' corr22: '0' corr23: '0' corr24: '0' corr25: '0' corr26: '0' corr27: '0' corr28: '0' corr29: '0' corr3: '0' corr30: '0' corr31: '0' corr4: '0' corr5: '0' corr6: '0' corr7: '0' corr8: '0' corr9: '0' dc_offset_mode0: '2' dc_offset_mode1: '0' dc_offset_mode10: '0' dc_offset_mode11: '0' dc_offset_mode12: '0' dc_offset_mode13: '0' dc_offset_mode14: '0' dc_offset_mode15: '0' dc_offset_mode16: '0' dc_offset_mode17: '0' dc_offset_mode18: '0' dc_offset_mode19: '0' dc_offset_mode2: '0' dc_offset_mode20: '0' dc_offset_mode21: '0' dc_offset_mode22: '0' dc_offset_mode23: '0' dc_offset_mode24: '0' dc_offset_mode25: '0' dc_offset_mode26: '0' dc_offset_mode27: '0' dc_offset_mode28: '0' dc_offset_mode29: '0' dc_offset_mode3: '0' dc_offset_mode30: '0' dc_offset_mode31: '0' dc_offset_mode4: '0' dc_offset_mode5: '0' dc_offset_mode6: '0' dc_offset_mode7: '0' dc_offset_mode8: '0' dc_offset_mode9: '0' freq0: freq_MHz * 1e6 freq1: 100e6 freq10: 100e6 freq11: 100e6 freq12: 100e6 freq13: 100e6 freq14: 100e6 freq15: 100e6 freq16: 100e6 freq17: 100e6 freq18: 100e6 freq19: 100e6 freq2: 100e6 freq20: 100e6 freq21: 100e6 freq22: 100e6 freq23: 100e6 freq24: 100e6 freq25: 100e6 freq26: 100e6 freq27: 100e6 freq28: 100e6 freq29: 100e6 freq3: 100e6 freq30: 100e6 freq31: 100e6 freq4: 100e6 freq5: 100e6 freq6: 100e6 freq7: 100e6 freq8: 100e6 freq9: 100e6 gain0: rfGain_dB gain1: '10' gain10: '10' gain11: '10' gain12: '10' gain13: '10' gain14: '10' gain15: '10' gain16: '10' gain17: '10' gain18: '10' gain19: '10' gain2: '10' gain20: '10' gain21: '10' gain22: '10' gain23: '10' gain24: '10' gain25: '10' gain26: '10' gain27: '10' gain28: '10' gain29: '10' gain3: '10' gain30: '10' gain31: '10' gain4: '10' gain5: '10' gain6: '10' gain7: '10' gain8: '10' gain9: '10' gain_mode0: 'True' gain_mode1: 'False' gain_mode10: 'False' gain_mode11: 'False' gain_mode12: 'False' gain_mode13: 'False' gain_mode14: 'False' gain_mode15: 'False' gain_mode16: 'False' gain_mode17: 'False' gain_mode18: 'False' gain_mode19: 'False' gain_mode2: 'False' gain_mode20: 'False' gain_mode21: 'False' gain_mode22: 'False' gain_mode23: 'False' gain_mode24: 'False' gain_mode25: 'False' gain_mode26: 'False' gain_mode27: 'False' gain_mode28: 'False' gain_mode29: 'False' gain_mode3: 'False' gain_mode30: 'False' gain_mode31: 'False' gain_mode4: 'False' gain_mode5: 'False' gain_mode6: 'False' gain_mode7: 'False' gain_mode8: 'False' gain_mode9: 'False' if_gain0: '20' if_gain1: '20' if_gain10: '20' if_gain11: '20' if_gain12: '20' if_gain13: '20' if_gain14: '20' if_gain15: '20' if_gain16: '20' if_gain17: '20' if_gain18: '20' if_gain19: '20' if_gain2: '20' if_gain20: '20' if_gain21: '20' if_gain22: '20' if_gain23: '20' if_gain24: '20' if_gain25: '20' if_gain26: '20' if_gain27: '20' if_gain28: '20' if_gain29: '20' if_gain3: '20' if_gain30: '20' if_gain31: '20' if_gain4: '20' if_gain5: '20' if_gain6: '20' if_gain7: '20' if_gain8: '20' if_gain9: '20' iq_balance_mode0: '2' iq_balance_mode1: '0' iq_balance_mode10: '0' iq_balance_mode11: '0' iq_balance_mode12: '0' iq_balance_mode13: '0' iq_balance_mode14: '0' iq_balance_mode15: '0' iq_balance_mode16: '0' iq_balance_mode17: '0' iq_balance_mode18: '0' iq_balance_mode19: '0' iq_balance_mode2: '0' iq_balance_mode20: '0' iq_balance_mode21: '0' iq_balance_mode22: '0' iq_balance_mode23: '0' iq_balance_mode24: '0' iq_balance_mode25: '0' iq_balance_mode26: '0' iq_balance_mode27: '0' iq_balance_mode28: '0' iq_balance_mode29: '0' iq_balance_mode3: '0' iq_balance_mode30: '0' iq_balance_mode31: '0' iq_balance_mode4: '0' iq_balance_mode5: '0' iq_balance_mode6: '0' iq_balance_mode7: '0' iq_balance_mode8: '0' iq_balance_mode9: '0' maxoutbuf: '0' minoutbuf: '0' nchan: '1' num_mboards: '1' sample_rate: samp_rate 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: [360, 1012.0] rotation: 0 state: disabled - name: spectra id: qtgui_tab_widget parameters: alias: '' comment: '' gui_hint: 2,0,1,9 label0: RTSA label1: Full Spectrum label10: RDS Symbols 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 Channel label3: L+R label4: 19 kHz Pilot label5: 38 kHz Pilot label6: L-R label7: Left & Right label8: SCA 67 kHz label9: SCA 92 kHz num_tabs: '11' states: bus_sink: false bus_source: false bus_structure: null coordinate: [512, 412.0] 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: freq_MHz * 1e6 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: [360, 828.0] rotation: 0 state: enabled - name: virtual_sink_0 id: virtual_sink parameters: alias: '' comment: "Demodulated station:\n 480 kSa/s\n bw=100 kHz" stream_id: baseband states: bus_sink: false bus_source: false bus_structure: null coordinate: [1960, 848.0] rotation: 0 state: enabled - name: virtual_sink_0_0 id: virtual_sink parameters: alias: '' comment: "Audio output:\n 48 kSa/s\n bw=15 kHz" stream_id: L+R states: bus_sink: false bus_source: false bus_structure: null coordinate: [506, 1737] rotation: 0 state: enabled - name: virtual_sink_0_0_0 id: virtual_sink parameters: alias: '' comment: "Output:\n 96 kSa/s\n fc=38 kHz\n bw=2 kHz" stream_id: 38 kHz pilot states: bus_sink: false bus_source: false bus_structure: null coordinate: [640, 2272.0] rotation: 0 state: enabled - name: virtual_sink_0_0_1 id: virtual_sink parameters: alias: '' comment: "Audio output:\n 48 kSa/s\n bw=15 kHz" stream_id: L-R states: bus_sink: false bus_source: false bus_structure: null coordinate: [981, 2607] rotation: 0 state: enabled - name: virtual_sink_0_0_1_0 id: virtual_sink parameters: alias: '' comment: "Output:\n 48 kSa/s\n audio bw: 9 kHz" stream_id: scaAudio67 states: bus_sink: false bus_source: false bus_structure: null coordinate: [984, 3260.0] rotation: 0 state: enabled - name: virtual_sink_0_0_1_0_0 id: virtual_sink parameters: alias: '' comment: Left Speaker. stream_id: mainL states: bus_sink: false bus_source: false bus_structure: null coordinate: [849, 2906] rotation: 0 state: enabled - name: virtual_sink_0_0_1_0_0_0 id: virtual_sink parameters: alias: '' comment: "Right Speaker:\n 48 kSa/s\n audio bw: 15 kHz" stream_id: mainR states: bus_sink: false bus_source: false bus_structure: null coordinate: [850, 2978] rotation: 0 state: enabled - name: virtual_sink_0_0_1_0_1 id: virtual_sink parameters: alias: '' comment: "Output:\n 48 kSa/s\n audio bw: 9 kHz" stream_id: scaAudio92 states: bus_sink: false bus_source: false bus_structure: null coordinate: [984, 3612.0] rotation: 0 state: enabled - name: virtual_sink_0_0_2 id: virtual_sink parameters: alias: '' comment: "Output:\n 96 kSa/s\n fc=19 kHz\n bw=2 kHz\n\n Unfiltered!" stream_id: 19 kHz pilot states: bus_sink: false bus_source: false bus_structure: null coordinate: [904, 1992.0] rotation: 0 state: enabled - name: virtual_sink_2 id: virtual_sink parameters: alias: '' comment: 'Station chosen by user via QT Gui Sink.' stream_id: fmStation_Hz states: bus_sink: false bus_source: false bus_structure: null coordinate: [1744, 1568.0] rotation: 0 state: enabled - name: virtual_sink_2_0 id: virtual_sink parameters: alias: '' comment: 'Station chosen by clicking gui.' stream_id: fmStation_MHz states: bus_sink: false bus_source: false bus_structure: null coordinate: [1912, 1352.0] rotation: 0 state: enabled - name: virtual_source_0 id: virtual_source parameters: alias: '' comment: '480 kSa/s bw=100 kHz' stream_id: baseband states: bus_sink: false bus_source: false bus_structure: null coordinate: [69, 1683] rotation: 0 state: enabled - name: virtual_source_0_0 id: virtual_source parameters: alias: '' comment: '480 kSa/s bw=100 kHz' stream_id: baseband states: bus_sink: false bus_source: false bus_structure: null coordinate: [77, 1983] rotation: 0 state: enabled - name: virtual_source_0_0_0 id: virtual_source parameters: alias: '' comment: '' stream_id: 19 kHz pilot states: bus_sink: false bus_source: false bus_structure: null coordinate: [73, 2272] rotation: 0 state: enabled - name: virtual_source_0_0_1 id: virtual_source parameters: alias: '' comment: '480 kSa/s bw=100 kHz' stream_id: baseband states: bus_sink: false bus_source: false bus_structure: null coordinate: [64, 2595] rotation: 0 state: enabled - name: virtual_source_0_0_1_0 id: virtual_source parameters: alias: '' comment: '480 kSa/s bw=100 kHz' stream_id: baseband states: bus_sink: false bus_source: false bus_structure: null coordinate: [97, 3244] rotation: 0 state: enabled - name: virtual_source_0_0_1_0_0 id: virtual_source parameters: alias: '' comment: '480 kSa/s bw=100 kHz' stream_id: baseband states: bus_sink: false bus_source: false bus_structure: null coordinate: [99, 3594] rotation: 0 state: enabled - name: virtual_source_0_0_1_0_0_0_0_0 id: virtual_source parameters: alias: '' comment: '480 kSa/s bw=100 kHz' stream_id: baseband states: bus_sink: false bus_source: false bus_structure: null coordinate: [128, 4488.0] rotation: 0 state: enabled - name: virtual_source_0_1_0 id: virtual_source parameters: alias: '' comment: '' stream_id: 38 kHz pilot states: bus_sink: false bus_source: false bus_structure: null coordinate: [252, 2486] rotation: 0 state: enabled - name: virtual_source_0_1_1 id: virtual_source parameters: alias: '' comment: '' stream_id: L+R states: bus_sink: false bus_source: false bus_structure: null coordinate: [113, 2862] rotation: 0 state: enabled - name: virtual_source_0_1_1_0 id: virtual_source parameters: alias: '' comment: '' stream_id: L-R states: bus_sink: false bus_source: false bus_structure: null coordinate: [112, 2927] rotation: 0 state: enabled - name: virtual_source_0_1_2_0_0 id: virtual_source parameters: alias: '' comment: Main Left. stream_id: mainL states: bus_sink: false bus_source: false bus_structure: null coordinate: [171, 3992] rotation: 0 state: enabled - name: virtual_source_0_1_2_0_0_0 id: virtual_source parameters: alias: '' comment: Main Right. stream_id: mainR states: bus_sink: false bus_source: false bus_structure: null coordinate: [170, 4066] rotation: 0 state: enabled - name: virtual_source_0_1_2_0_0_1 id: virtual_source parameters: alias: '' comment: SCA at 67 kHz. stream_id: scaAudio67 states: bus_sink: false bus_source: false bus_structure: null coordinate: [166, 4147] rotation: 0 state: enabled - name: virtual_source_0_1_2_0_0_1_0 id: virtual_source parameters: alias: '' comment: SCA at 92 kHz. stream_id: scaAudio92 states: bus_sink: false bus_source: false bus_structure: null coordinate: [168, 4238] rotation: 0 state: enabled - name: virtual_source_2 id: virtual_source parameters: alias: '' comment: 'Station chosen by user via QT Gui Sink.' stream_id: fmStation_Hz states: bus_sink: false bus_source: false bus_structure: null coordinate: [80, 880.0] rotation: 0 state: enabled - name: virtual_source_2_0 id: virtual_source parameters: alias: '' comment: 'Station chosen by clicking gui.' stream_id: fmStation_MHz states: bus_sink: false bus_source: false bus_structure: null coordinate: [960, 1544.0] rotation: 0 state: enabled connections: - [analog_agc_xx_0, '0', digital_symbol_sync_xx_0_0, '0'] - [analog_fm_deemph_0, '0', blocks_multiply_const_vxx_0, '0'] - [analog_fm_deemph_0_1, '0', blocks_multiply_const_vxx_0_0, '0'] - [analog_fm_demod_cf_0, '0', blocks_multiply_const_vxx_0_0_0, '0'] - [analog_fm_demod_cf_0_0, '0', blocks_multiply_const_vxx_0_0_0_0, '0'] - [analog_pll_refout_cc_0, '0', virtual_sink_0_0_2, '0'] - [band_pass_filter_0, '0', blocks_float_to_complex_0, '0'] - [band_pass_filter_0, '0', blocks_float_to_complex_0, '1'] - [band_pass_filter_0, '0', qtgui_freq_sink_x_0_0_0, '0'] - [band_pass_filter_0_0, '0', blocks_complex_to_real_0_0, '0'] - [band_pass_filter_0_0, '0', virtual_sink_0_0_0, '0'] - [band_pass_filter_0_1, '0', blocks_multiply_xx_0_0, '1'] - [blocks_add_xx_0, '0', analog_fm_deemph_0, '0'] - [blocks_complex_to_arg_0, '0', blocks_multiply_const_vxx_1, '0'] - [blocks_complex_to_real_0, '0', qtgui_freq_sink_x_0_0_1, '0'] - [blocks_complex_to_real_0, '0', virtual_sink_0_0_1, '0'] - [blocks_complex_to_real_0_0, '0', qtgui_freq_sink_x_0_0_0_0, '0'] - [blocks_delay_0_0, '0', blocks_divide_xx_0, '1'] - [blocks_divide_xx_0, '0', blocks_complex_to_arg_0, '0'] - [blocks_float_to_complex_0, '0', analog_pll_refout_cc_0, '0'] - [blocks_multiply_const_vxx_0, '0', qtgui_freq_sink_x_0_0_1_0, '0'] - [blocks_multiply_const_vxx_0, '0', virtual_sink_0_0_1_0_0, '0'] - [blocks_multiply_const_vxx_0_0, '0', qtgui_freq_sink_x_0_0_1_0, '1'] - [blocks_multiply_const_vxx_0_0, '0', virtual_sink_0_0_1_0_0_0, '0'] - [blocks_multiply_const_vxx_0_0_0, '0', qtgui_freq_sink_x_0_0_1_1, '0'] - [blocks_multiply_const_vxx_0_0_0, '0', virtual_sink_0_0_1_0, '0'] - [blocks_multiply_const_vxx_0_0_0_0, '0', qtgui_freq_sink_x_0_0_1_1_0, '0'] - [blocks_multiply_const_vxx_0_0_0_0, '0', virtual_sink_0_0_1_0_1, '0'] - [blocks_multiply_const_vxx_1, '0', fir_filter_xxx_0, '0'] - [blocks_multiply_xx_0, '0', band_pass_filter_0_0, '0'] - [blocks_multiply_xx_0_0, '0', low_pass_filter_0_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'] - [blocks_selector_0, '0', audio_sink_0_0, '0'] - [blocks_selector_0_0, '0', audio_sink_0_0, '1'] - [blocks_sub_xx_0, '0', analog_fm_deemph_0_1, '0'] - [digital_constellation_receiver_cb_0, '0', digital_diff_decoder_bb_0_0, '0'] - [digital_constellation_receiver_cb_0, '1', qtgui_time_sink_x_1, '0'] - [digital_constellation_receiver_cb_0, '2', qtgui_time_sink_x_1, '1'] - [digital_constellation_receiver_cb_0, '3', qtgui_time_sink_x_1, '2'] - [digital_constellation_receiver_cb_0, '4', qtgui_const_sink_x_0, '0'] - [digital_diff_decoder_bb_0_0, '0', rds_decoder_0_0, '0'] - [digital_symbol_sync_xx_0_0, '0', digital_constellation_receiver_cb_0, '0'] - [digital_symbol_sync_xx_0_0, '0', qtgui_time_sink_x_0, '0'] - [epy_block_0, snapped_Hz_out, qtgui_sink_x_0_0, freq] - [epy_block_0, snapped_MHz_out, blocks_msgpair_to_var_0, inpair] - [epy_block_0, snapped_MHz_out, virtual_sink_2_0, '0'] - [epy_block_1, freq_Hz_out, virtual_sink_2, '0'] - [fir_filter_xxx_0, '0', qtgui_sink_x_0, '0'] - [fir_filter_xxx_0, '0', virtual_sink_0, '0'] - [fir_filter_xxx_2, '0', analog_agc_xx_0, '0'] - [fosphor_qt_sink_c_0, freq, epy_block_0, raw_Hz_in] - [freq_xlating_fir_filter_xxx_0_0, '0', analog_fm_demod_cf_0, '0'] - [freq_xlating_fir_filter_xxx_0_0_0, '0', analog_fm_demod_cf_0_0, '0'] - [freq_xlating_fir_filter_xxx_1_0, '0', rational_resampler_xxx_1, '0'] - [low_pass_filter_0, '0', blocks_delay_0_0, '0'] - [low_pass_filter_0, '0', blocks_divide_xx_0, '0'] - [low_pass_filter_0_0, '0', qtgui_freq_sink_x_0_0, '0'] - [low_pass_filter_0_0, '0', virtual_sink_0_0, '0'] - [low_pass_filter_0_0_0, '0', blocks_complex_to_real_0, '0'] - [qtgui_edit_box_msg_0, msg, blocks_msgpair_to_var_0_0, inpair] - [qtgui_edit_box_msg_0, msg, epy_block_1, freq_MHz_in] - [qtgui_sink_x_0_0, freq, epy_block_0, raw_Hz_in] - [rational_resampler_xxx_1, '0', fir_filter_xxx_2, '0'] - [rds_decoder_0_0, out, rds_parser_0_0, in] - [rds_parser_0_0, out, rds_panel_0_0, in] - [rtlsdr_source_0, '0', blocks_mute_xx_0, '0'] - [uhd_usrp_source_0, '0', blocks_mute_xx_0, '0'] - [virtual_source_0, '0', low_pass_filter_0_0, '0'] - [virtual_source_0_0, '0', band_pass_filter_0, '0'] - [virtual_source_0_0_0, '0', blocks_multiply_xx_0, '0'] - [virtual_source_0_0_0, '0', blocks_multiply_xx_0, '1'] - [virtual_source_0_0_1, '0', band_pass_filter_0_1, '0'] - [virtual_source_0_0_1_0, '0', freq_xlating_fir_filter_xxx_0_0, '0'] - [virtual_source_0_0_1_0_0, '0', freq_xlating_fir_filter_xxx_0_0_0, '0'] - [virtual_source_0_0_1_0_0_0_0_0, '0', freq_xlating_fir_filter_xxx_1_0, '0'] - [virtual_source_0_1_0, '0', blocks_multiply_xx_0_0, '0'] - [virtual_source_0_1_1, '0', blocks_add_xx_0, '0'] - [virtual_source_0_1_1, '0', blocks_sub_xx_0, '0'] - [virtual_source_0_1_1_0, '0', blocks_add_xx_0, '1'] - [virtual_source_0_1_1_0, '0', blocks_sub_xx_0, '1'] - [virtual_source_0_1_2_0_0, '0', blocks_selector_0, '0'] - [virtual_source_0_1_2_0_0_0, '0', blocks_selector_0_0, '0'] - [virtual_source_0_1_2_0_0_1, '0', blocks_selector_0, '1'] - [virtual_source_0_1_2_0_0_1, '0', blocks_selector_0_0, '1'] - [virtual_source_0_1_2_0_0_1_0, '0', blocks_selector_0, '2'] - [virtual_source_0_1_2_0_0_1_0, '0', blocks_selector_0_0, '2'] - [virtual_source_2, '0', rtlsdr_source_0, command] - [virtual_source_2, '0', uhd_usrp_source_0, command] - [virtual_source_2_0, '0', qtgui_edit_box_msg_0, val] metadata: file_format: 1 grc_version: 3.10.7.0