This commit is contained in:
2025-09-18 15:37:59 -05:00
parent 0a4eb3b2ca
commit c454c77fdb
3 changed files with 1061 additions and 0 deletions

296
lab2/power-hackrf.grc Normal file
View File

@@ -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

295
lab2/power-nooelec.grc Normal file
View File

@@ -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

View File

@@ -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