options: parameters: author: Muad'Dib 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: iq_recorder_tutorial 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: PUSH-BUTTON I/Q RECORDER window_size: (1000,1000) states: bus_sink: false bus_source: false bus_structure: null coordinate: [8, 8] rotation: 0 state: enabled blocks: - name: bandwidth id: variable_qtgui_range parameters: comment: '' gui_hint: '' label: Bandwidth min_len: '200' orient: QtCore.Qt.Horizontal rangeType: float start: 200e3 step: 500e3 stop: 56e6 value: 3e6 widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [568, 12.0] rotation: 0 state: true - name: filename id: variable parameters: comment: "creates full path to IQ recording\nand adds timestamp and the \n'note'\ \ variable to the filename" value: rootdir+record_file_path+note+"_"+str(int(freq))+"Hz_"+str(int(samp_rate))+"sps_"+str(int(gain))+"dB_" states: bus_sink: false bus_source: false bus_structure: null coordinate: [1120, 380.0] rotation: 0 state: enabled - name: freq id: variable_qtgui_range parameters: comment: '' gui_hint: '' label: Frequency min_len: '200' orient: QtCore.Qt.Horizontal rangeType: float start: 64e6 step: 1000e3 stop: 6e9 value: 915e6 widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [312, 12.0] rotation: 0 state: true - name: gain id: variable_qtgui_range parameters: comment: '' gui_hint: '' label: RX Gain min_len: '200' orient: QtCore.Qt.Horizontal rangeType: float start: '0' step: '1' stop: '76' value: '50' widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [192, 12.0] rotation: 0 state: true - name: lo_off id: variable parameters: comment: '' value: samp_rate/2 states: bus_sink: false bus_source: false bus_structure: null coordinate: [440, 148.0] rotation: 0 state: enabled - name: note id: variable_qtgui_entry parameters: comment: '' gui_hint: 1,1,1,2 label: RECORDING NOTE (press enter to update) type: string value: RECORDING_NOTE states: bus_sink: false bus_source: false bus_structure: null coordinate: [688, 12.0] rotation: 0 state: enabled - name: rec_button id: variable_qtgui_push_button parameters: comment: '' gui_hint: 1,3,1,1 label: RECORD pressed: '1' released: '0' type: int value: '0' states: bus_sink: false bus_source: false bus_structure: null coordinate: [896, 12.0] rotation: 0 state: enabled - name: record_file_path id: variable parameters: comment: set path to IQ recording directory value: '"data/iq_captures/"' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1120, 300.0] rotation: 0 state: enabled - name: rootdir id: variable parameters: comment: defaults to your users home directory value: str(os.path.expanduser("~")+"/") states: bus_sink: false bus_source: false bus_structure: null coordinate: [1120, 220.0] rotation: 0 state: enabled - name: samp_rate id: variable_qtgui_range parameters: comment: '' gui_hint: '' label: Sample Rate min_len: '200' orient: QtCore.Qt.Horizontal rangeType: float start: 100e3 step: 500e3 stop: 56e6 value: 1000e3 widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [440, 12.0] rotation: 0 state: true - name: analog_noise_source_x_0 id: analog_noise_source_x parameters: affinity: '' alias: '' amp: '0.8' comment: '' maxoutbuf: '0' minoutbuf: '0' noise_type: analog.GR_GAUSSIAN seed: '0' type: complex states: bus_sink: false bus_source: false bus_structure: null coordinate: [32, 1012.0] rotation: 0 state: true - name: analog_noise_source_x_0_0 id: analog_noise_source_x parameters: affinity: '' alias: '' amp: '0.001' comment: '' maxoutbuf: '0' minoutbuf: '0' noise_type: analog.GR_GAUSSIAN seed: '0' type: complex states: bus_sink: false bus_source: false bus_structure: null coordinate: [24, 324.0] rotation: 0 state: true - name: analog_sig_source_x_0 id: analog_sig_source_x parameters: affinity: '' alias: '' amp: '0.2' comment: '' freq: 250e3 maxoutbuf: '0' minoutbuf: '0' offset: '0' phase: '0' samp_rate: samp_rate type: complex waveform: analog.GR_COS_WAVE states: bus_sink: false bus_source: false bus_structure: null coordinate: [40, 428.0] rotation: 0 state: true - name: analog_sig_source_x_0_0 id: analog_sig_source_x parameters: affinity: '' alias: '' amp: '.15' comment: '' freq: 60e3 maxoutbuf: '0' minoutbuf: '0' offset: '0' phase: '0' samp_rate: samp_rate type: complex waveform: analog.GR_COS_WAVE states: bus_sink: false bus_source: false bus_structure: null coordinate: [40, 716.0] rotation: 0 state: true - name: analog_sig_source_x_0_0_0 id: analog_sig_source_x parameters: affinity: '' alias: '' amp: '0.6' comment: '' freq: '0.25' maxoutbuf: '0' minoutbuf: '0' offset: '0' phase: '0' samp_rate: samp_rate type: complex waveform: analog.GR_SQR_WAVE states: bus_sink: false bus_source: false bus_structure: null coordinate: [24, 860.0] rotation: 0 state: true - name: analog_sig_source_x_0_0_0_0 id: analog_sig_source_x parameters: affinity: '' alias: '' amp: '0.15' comment: '' freq: '0.4' maxoutbuf: '0' minoutbuf: '0' offset: '0' phase: '0' samp_rate: samp_rate type: complex waveform: analog.GR_SQR_WAVE states: bus_sink: false bus_source: false bus_structure: null coordinate: [32, 572.0] rotation: 0 state: true - name: blocks_add_xx_0_0 id: blocks_add_xx parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' num_inputs: '4' type: complex vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [624, 360.0] rotation: 0 state: true - name: blocks_file_sink_0 id: blocks_file_sink parameters: affinity: '' alias: '' append: 'False' comment: '' file: filename+str(datetime.fromtimestamp(time.time()).strftime('%Y_%m_%d_%H_%M_%S'))+".cfile" if rec_button == 1 else "/dev/null" type: complex unbuffered: 'False' vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [928, 388.0] rotation: 0 state: enabled - name: blocks_multiply_xx_0 id: blocks_multiply_xx parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' num_inputs: '2' type: complex vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [336, 776.0] rotation: 0 state: enabled - name: blocks_multiply_xx_0_0 id: blocks_multiply_xx parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' num_inputs: '2' type: complex vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [320, 480.0] rotation: 0 state: enabled - name: blocks_throttle_0 id: blocks_throttle parameters: affinity: '' alias: '' comment: '' ignoretag: 'True' maxoutbuf: '0' minoutbuf: '0' samples_per_second: samp_rate type: complex vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [728, 404.0] rotation: 0 state: true - name: import_datetime id: import parameters: alias: '' comment: '' imports: from datetime import datetime states: bus_sink: false bus_source: false bus_structure: null coordinate: [1224, 172.0] rotation: 0 state: enabled - name: import_os id: import parameters: alias: '' comment: '' imports: import os states: bus_sink: false bus_source: false bus_structure: null coordinate: [1120, 124.0] rotation: 0 state: true - name: import_time id: import parameters: alias: '' comment: '' imports: import time states: bus_sink: false bus_source: false bus_structure: null coordinate: [1120, 172.0] rotation: 0 state: enabled - name: low_pass_filter_0 id: low_pass_filter parameters: affinity: '' alias: '' beta: '6.76' comment: '' cutoff_freq: 30e3 decim: '1' gain: '1' interp: '1' maxoutbuf: '0' minoutbuf: '0' samp_rate: samp_rate type: interp_fir_filter_ccf width: 1e3 win: window.WIN_HAMMING states: bus_sink: false bus_source: false bus_structure: null coordinate: [352, 980.0] rotation: 0 state: true - name: qtgui_freq_sink_x_0 id: qtgui_freq_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'False' average: '1.0' axislabels: 'True' bw: samp_rate color1: '"blue"' color10: '"dark blue"' color2: '"red"' color3: '"green"' color4: '"black"' color5: '"cyan"' color6: '"magenta"' color7: '"yellow"' color8: '"dark red"' color9: '"dark green"' comment: '' ctrlpanel: 'False' fc: freq fftsize: '8192' freqhalf: 'True' grid: 'False' gui_hint: 2,0,5,4 label: Relative Gain label1: '' label10: '''''' label2: '''''' label3: '''''' label4: '''''' label5: '''''' label6: '''''' label7: '''''' label8: '''''' label9: '''''' legend: 'True' maxoutbuf: '0' minoutbuf: '0' name: '""' nconnections: '1' norm_window: 'False' showports: 'True' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_tag: '""' type: complex units: dB update_time: '0.05' 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: [912, 152.0] rotation: 0 state: enabled - name: qtgui_ledindicator_0 id: qtgui_ledindicator parameters: affinity: '' alias: '' cellalignment: '1' comment: '' gui_hint: 0,3,1,1 label: '"RED=RECORDING"' maxSize: '40' offColor: green onColor: red position: '2' state: True if rec_button == 1 else False verticalalignment: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1072, 4.0] rotation: 0 state: true connections: - [analog_noise_source_x_0, '0', low_pass_filter_0, '0'] - [analog_noise_source_x_0_0, '0', blocks_add_xx_0_0, '0'] - [analog_sig_source_x_0, '0', blocks_multiply_xx_0_0, '0'] - [analog_sig_source_x_0_0, '0', blocks_multiply_xx_0, '0'] - [analog_sig_source_x_0_0_0, '0', blocks_multiply_xx_0, '1'] - [analog_sig_source_x_0_0_0_0, '0', blocks_multiply_xx_0_0, '1'] - [blocks_add_xx_0_0, '0', blocks_throttle_0, '0'] - [blocks_multiply_xx_0, '0', blocks_add_xx_0_0, '2'] - [blocks_multiply_xx_0_0, '0', blocks_add_xx_0_0, '1'] - [blocks_throttle_0, '0', blocks_file_sink_0, '0'] - [blocks_throttle_0, '0', qtgui_freq_sink_x_0, '0'] - [low_pass_filter_0, '0', blocks_add_xx_0_0, '3'] metadata: file_format: 1 grc_version: 3.10.3.0