diff --git a/lab2/power-hackrf.grc b/lab2/power-hackrf.grc new file mode 100644 index 0000000..7de973e --- /dev/null +++ b/lab2/power-hackrf.grc @@ -0,0 +1,296 @@ +options: + parameters: + author: ja + 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: receiver_hackrf + 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: receiver-hackrf + window_size: (1000,1000) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 8] + rotation: 0 + state: enabled + +blocks: +- name: freq + id: variable + parameters: + comment: '' + value: int(0.9e9) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [312, 12.0] + rotation: 0 + state: enabled +- name: samp_rate + id: variable + parameters: + comment: '' + value: int(2e6) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [200, 12] + rotation: 0 + state: enabled +- name: blocks_complex_to_mag_squared_0 + id: blocks_complex_to_mag_squared + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [504, 272.0] + rotation: 0 + state: enabled +- name: blocks_nlog10_ff_0 + id: blocks_nlog10_ff + parameters: + affinity: '' + alias: '' + comment: '' + k: '10' + maxoutbuf: '0' + minoutbuf: '0' + n: '1' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [720, 268.0] + rotation: 0 + state: enabled +- 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: '0.1' + 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: '1024' + freqhalf: 'True' + grid: 'False' + gui_hint: '' + label: Relative Gain + label1: '' + label10: '''''' + label2: '''''' + label3: '''''' + label4: '''''' + label5: '''''' + label6: '''''' + label7: '''''' + label8: '''''' + label9: '''''' + legend: 'True' + maxoutbuf: '0' + minoutbuf: '0' + name: '""' + nconnections: '1' + norm_window: 'False' + showports: 'False' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_tag: '""' + type: complex + units: dB + update_time: '0.01' + 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: [496, 132.0] + rotation: 0 + state: enabled +- name: qtgui_number_sink_0 + id: qtgui_number_sink + parameters: + affinity: '' + alias: '' + autoscale: 'True' + avg: '0' + color1: ("black", "black") + color10: ("black", "black") + color2: ("black", "black") + color3: ("black", "black") + color4: ("black", "black") + color5: ("black", "black") + color6: ("black", "black") + color7: ("black", "black") + color8: ("black", "black") + color9: ("black", "black") + comment: '' + factor1: '1' + factor10: '1' + factor2: '1' + factor3: '1' + factor4: '1' + factor5: '1' + factor6: '1' + factor7: '1' + factor8: '1' + factor9: '1' + graph_type: qtgui.NUM_GRAPH_HORIZ + gui_hint: '' + label1: '' + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + max: '1' + min: '-1' + name: '""' + nconnections: '1' + type: float + unit1: '' + unit10: '' + unit2: '' + unit3: '' + unit4: '' + unit5: '' + unit6: '' + unit7: '' + unit8: '' + unit9: '' + update_time: '0.10' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [928, 244.0] + rotation: 0 + state: enabled +- name: soapy_hackrf_source_0 + id: soapy_hackrf_source + parameters: + affinity: '' + alias: '' + amp: 'True' + bandwidth: '0' + center_freq: freq + comment: '' + dev_args: '' + gain: '20' + maxoutbuf: '0' + minoutbuf: '0' + samp_rate: samp_rate + type: fc32 + vga: '20' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [56, 164.0] + rotation: 0 + state: enabled +- name: soapy_rtlsdr_source_0 + id: soapy_rtlsdr_source + parameters: + affinity: '' + agc: 'False' + alias: '' + bias: 'False' + bufflen: '16384' + center_freq: freq + comment: '' + dev_args: '' + freq_correction: '0' + gain: '20' + maxoutbuf: '0' + minoutbuf: '0' + samp_rate: samp_rate + type: fc32 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [56, 236.0] + rotation: 0 + state: disabled + +connections: +- [blocks_complex_to_mag_squared_0, '0', blocks_nlog10_ff_0, '0'] +- [blocks_nlog10_ff_0, '0', qtgui_number_sink_0, '0'] +- [soapy_hackrf_source_0, '0', blocks_complex_to_mag_squared_0, '0'] +- [soapy_hackrf_source_0, '0', qtgui_freq_sink_x_0, '0'] +- [soapy_rtlsdr_source_0, '0', blocks_complex_to_mag_squared_0, '0'] +- [soapy_rtlsdr_source_0, '0', qtgui_freq_sink_x_0, '0'] + +metadata: + file_format: 1 + grc_version: 3.10.11.0 diff --git a/lab2/power-nooelec.grc b/lab2/power-nooelec.grc new file mode 100644 index 0000000..1ed4617 --- /dev/null +++ b/lab2/power-nooelec.grc @@ -0,0 +1,295 @@ +options: + parameters: + author: ja + 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: receiver_nooelec + 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: receiver-nooelec + window_size: (1000,1000) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 8] + rotation: 0 + state: enabled + +blocks: +- name: freq + id: variable + parameters: + comment: '' + value: int(0.9e9) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [312, 12.0] + rotation: 0 + state: enabled +- name: samp_rate + id: variable + parameters: + comment: '' + value: int(2e6) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [200, 12] + rotation: 0 + state: enabled +- name: blocks_complex_to_mag_squared_0 + id: blocks_complex_to_mag_squared + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [504, 272.0] + rotation: 0 + state: enabled +- name: blocks_nlog10_ff_0 + id: blocks_nlog10_ff + parameters: + affinity: '' + alias: '' + comment: '' + k: '10' + maxoutbuf: '0' + minoutbuf: '0' + n: '1' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [720, 268.0] + rotation: 0 + state: enabled +- 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: '0.1' + 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: '1024' + freqhalf: 'True' + grid: 'False' + gui_hint: '' + label: Relative Gain + label1: '' + label10: '''''' + label2: '''''' + label3: '''''' + label4: '''''' + label5: '''''' + label6: '''''' + label7: '''''' + label8: '''''' + label9: '''''' + legend: 'True' + maxoutbuf: '0' + minoutbuf: '0' + name: '""' + nconnections: '1' + norm_window: 'False' + showports: 'False' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_tag: '""' + type: complex + units: dB + update_time: '0.01' + 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: [496, 132.0] + rotation: 0 + state: enabled +- name: qtgui_number_sink_0 + id: qtgui_number_sink + parameters: + affinity: '' + alias: '' + autoscale: 'True' + avg: '0' + color1: ("black", "black") + color10: ("black", "black") + color2: ("black", "black") + color3: ("black", "black") + color4: ("black", "black") + color5: ("black", "black") + color6: ("black", "black") + color7: ("black", "black") + color8: ("black", "black") + color9: ("black", "black") + comment: '' + factor1: '1' + factor10: '1' + factor2: '1' + factor3: '1' + factor4: '1' + factor5: '1' + factor6: '1' + factor7: '1' + factor8: '1' + factor9: '1' + graph_type: qtgui.NUM_GRAPH_HORIZ + gui_hint: '' + label1: '' + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + max: '1' + min: '-1' + name: '""' + nconnections: '1' + type: float + unit1: '' + unit10: '' + unit2: '' + unit3: '' + unit4: '' + unit5: '' + unit6: '' + unit7: '' + unit8: '' + unit9: '' + update_time: '0.10' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [928, 244.0] + rotation: 0 + state: enabled +- name: soapy_hackrf_source_0 + id: soapy_hackrf_source + parameters: + affinity: '' + alias: '' + amp: 'True' + bandwidth: '0' + center_freq: freq + comment: '' + dev_args: '' + gain: '20' + maxoutbuf: '0' + minoutbuf: '0' + samp_rate: samp_rate + type: fc32 + vga: '20' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [56, 164.0] + rotation: 0 + state: disabled +- name: soapy_rtlsdr_source_0 + id: soapy_rtlsdr_source + parameters: + affinity: '' + agc: 'False' + alias: '' + bias: 'False' + bufflen: '16384' + center_freq: freq + comment: '' + dev_args: '' + freq_correction: '0' + gain: '20' + maxoutbuf: '0' + minoutbuf: '0' + samp_rate: samp_rate + type: fc32 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [56, 236.0] + rotation: 0 + state: enabled + +connections: +- [blocks_complex_to_mag_squared_0, '0', blocks_nlog10_ff_0, '0'] +- [blocks_nlog10_ff_0, '0', qtgui_number_sink_0, '0'] +- [soapy_hackrf_source_0, '0', qtgui_freq_sink_x_0, '0'] +- [soapy_rtlsdr_source_0, '0', blocks_complex_to_mag_squared_0, '0'] +- [soapy_rtlsdr_source_0, '0', qtgui_freq_sink_x_0, '0'] + +metadata: + file_format: 1 + grc_version: 3.10.11.0 diff --git a/lab2/sumtransmitter-hackrf.grc b/lab2/sumtransmitter-hackrf.grc new file mode 100644 index 0000000..d11c622 --- /dev/null +++ b/lab2/sumtransmitter-hackrf.grc @@ -0,0 +1,470 @@ +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: transmitter + 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: transmitter-hackrf + window_size: (1000,1000) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 8] + rotation: 0 + state: enabled + +blocks: +- name: cutoff + id: variable + parameters: + comment: '' + value: int(40e3) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [504, 12.0] + rotation: 0 + state: disabled +- name: freq + id: variable + parameters: + comment: '' + value: int(10e3) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [304, 12.0] + rotation: 0 + state: enabled +- name: freq2 + id: variable + parameters: + comment: '' + value: int(50e3) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [400, 12.0] + rotation: 0 + state: enabled +- name: samp_rate + id: variable + parameters: + comment: '' + value: int(2e6) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [200, 12] + rotation: 0 + state: enabled +- name: analog_sig_source_x_0 + id: analog_sig_source_x + parameters: + affinity: '' + alias: '' + amp: '0.5' + comment: '' + freq: freq + maxoutbuf: '0' + minoutbuf: '0' + offset: '0' + phase: '0' + samp_rate: samp_rate + showports: 'False' + type: float + waveform: analog.GR_SIN_WAVE + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [64, 124.0] + rotation: 0 + state: enabled +- name: analog_sig_source_x_0_0 + id: analog_sig_source_x + parameters: + affinity: '' + alias: '' + amp: '0.5' + comment: '' + freq: freq2 + maxoutbuf: '0' + minoutbuf: '0' + offset: '0' + phase: '0' + samp_rate: samp_rate + showports: 'False' + type: float + waveform: analog.GR_SIN_WAVE + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [64, 268.0] + rotation: 0 + state: enabled +- name: blocks_add_xx_0 + id: blocks_add_xx + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + type: float + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [328, 224.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: [600, 264.0] + rotation: 0 + state: enabled +- name: blocks_null_source_0 + id: blocks_null_source + parameters: + affinity: '' + alias: '' + bus_structure_source: '[[0,],]' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_outputs: '1' + type: float + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [432, 336.0] + rotation: 0 + state: enabled +- name: filter_fft_low_pass_filter_0 + id: filter_fft_low_pass_filter + parameters: + affinity: '' + alias: '' + beta: '6.76' + comment: '' + cutoff_freq: cutoff + decim: '1' + gain: '1' + maxoutbuf: '0' + minoutbuf: '0' + nthreads: '1' + samp_rate: samp_rate + type: ccc + width: int(5e3) + win: window.WIN_HAMMING + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [848, 60.0] + rotation: 0 + state: disabled +- 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: '1024' + freqhalf: 'True' + grid: 'False' + gui_hint: '' + label: Relative Gain + label1: '' + label10: '''''' + label2: '''''' + label3: '''''' + label4: '''''' + label5: '''''' + label6: '''''' + label7: '''''' + label8: '''''' + label9: '''''' + legend: 'True' + maxoutbuf: '0' + minoutbuf: '0' + name: '""' + nconnections: '1' + norm_window: 'False' + showports: 'False' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_tag: '""' + type: complex + units: dB + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + wintype: window.WIN_BLACKMAN_hARRIS + ymax: '10' + ymin: '-140' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [544, 484.0] + rotation: 0 + state: disabled +- name: qtgui_sink_x_0 + id: qtgui_sink_x + parameters: + affinity: '' + alias: '' + bw: samp_rate + comment: '' + fc: '700' + fftsize: '1024' + gui_hint: '' + maxoutbuf: '0' + minoutbuf: '0' + name: '""' + plotconst: 'True' + plotfreq: 'True' + plottime: 'True' + plotwaterfall: 'True' + rate: '10' + showports: 'False' + showrf: 'False' + type: complex + wintype: window.WIN_BLACKMAN_hARRIS + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [840, 476.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: 'False' + gui_hint: '' + label1: Signal 1 + label10: Signal 10 + label2: Signal 2 + label3: Signal 3 + label4: Signal 4 + label5: Signal 5 + label6: Signal 6 + label7: Signal 7 + label8: Signal 8 + label9: Signal 9 + legend: 'True' + marker1: '-1' + marker10: '-1' + marker2: '-1' + marker3: '-1' + marker4: '-1' + marker5: '-1' + marker6: '-1' + marker7: '-1' + marker8: '-1' + marker9: '-1' + name: '""' + nconnections: '1' + size: '1024' + srate: samp_rate + stemplot: 'False' + style1: '1' + style10: '1' + style2: '1' + style3: '1' + style4: '1' + style5: '1' + style6: '1' + style7: '1' + style8: '1' + style9: '1' + tr_chan: '0' + tr_delay: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '""' + type: complex + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + ylabel: Amplitude + ymax: '1' + ymin: '-1' + yunit: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [840, 372.0] + rotation: 0 + state: disabled +- name: soapy_hackrf_sink_0 + id: soapy_hackrf_sink + parameters: + affinity: '' + alias: '' + amp: 'True' + bandwidth: '0' + center_freq: 2e9 + comment: '' + dev_args: '' + samp_rate: samp_rate + type: fc32 + vga: '40' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [840, 280.0] + rotation: 0 + state: enabled +- name: soapy_hackrf_source_0 + id: soapy_hackrf_source + parameters: + affinity: '' + alias: '' + amp: 'True' + bandwidth: '0' + center_freq: freq + comment: '' + dev_args: '' + gain: '20' + maxoutbuf: '0' + minoutbuf: '0' + samp_rate: samp_rate + type: fc32 + vga: '20' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [96, 492.0] + rotation: 0 + state: disabled + +connections: +- [analog_sig_source_x_0, '0', blocks_add_xx_0, '0'] +- [analog_sig_source_x_0_0, '0', blocks_add_xx_0, '1'] +- [blocks_add_xx_0, '0', blocks_float_to_complex_0, '0'] +- [blocks_float_to_complex_0, '0', qtgui_sink_x_0, '0'] +- [blocks_float_to_complex_0, '0', qtgui_time_sink_x_0, '0'] +- [blocks_float_to_complex_0, '0', soapy_hackrf_sink_0, '0'] +- [blocks_null_source_0, '0', blocks_float_to_complex_0, '1'] +- [soapy_hackrf_source_0, '0', qtgui_freq_sink_x_0, '0'] + +metadata: + file_format: 1 + grc_version: 3.10.11.0