Created
March 18, 2024 09:09
-
-
Save Synergyst/e19440013285fdf82cce58cbeb26b53a to your computer and use it in GitHub Desktop.
Nearband FM transmitter/receiver GNURadio Companion example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
options: | |
parameters: | |
author: Synergyst | |
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: NFM_RXTX | |
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: NFM_RXTX | |
window_size: (1000,1000) | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [8, 4.0] | |
rotation: 0 | |
state: enabled | |
blocks: | |
- name: rcv_btn | |
id: variable_qtgui_toggle_button_msg | |
parameters: | |
comment: '' | |
gui_hint: 0,0,1,1 | |
initPressed: 'False' | |
label: PTT | |
outputmsgname: value | |
pressBackgroundColor: purple | |
pressFontColor: silver | |
pressed: 'True' | |
relBackgroundColor: default | |
relFontColor: default | |
released: 'False' | |
type: bool | |
value: 'False' | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [0, 1068.0] | |
rotation: 0 | |
state: true | |
- name: rx_freq | |
id: variable_qtgui_range | |
parameters: | |
comment: '' | |
gui_hint: 3,0,1,1 | |
label: RX_FREQ | |
min_len: '200' | |
orient: QtCore.Qt.Horizontal | |
outputmsgname: value | |
rangeType: float | |
showports: 'False' | |
start: 151.82e3 | |
step: '1' | |
stop: 154.6e3 | |
value: 154.57e3 | |
widget: counter_slider | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [0, 700.0] | |
rotation: 0 | |
state: true | |
- name: rx_gain | |
id: variable_qtgui_range | |
parameters: | |
comment: '' | |
gui_hint: 2,0,1,1 | |
label: RX_GAIN | |
min_len: '200' | |
orient: QtCore.Qt.Horizontal | |
outputmsgname: value | |
rangeType: float | |
showports: 'False' | |
start: '0' | |
step: '1' | |
stop: '32' | |
value: '0' | |
widget: counter_slider | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [0, 828.0] | |
rotation: 0 | |
state: true | |
- name: rx_lna | |
id: variable_qtgui_check_box | |
parameters: | |
comment: '' | |
'false': '0' | |
gui_hint: 1,0,1,1 | |
label: RX_LNA | |
'true': '14' | |
type: int | |
value: '0' | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [0, 956.0] | |
rotation: 0 | |
state: true | |
- name: rx_quad_rate | |
id: variable | |
parameters: | |
comment: '' | |
value: rx_samp_rate*12 | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [0, 1260.0] | |
rotation: 0 | |
state: true | |
- name: rx_samp_rate | |
id: variable | |
parameters: | |
comment: '' | |
value: '96000' | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [0, 1196.0] | |
rotation: 0 | |
state: enabled | |
- name: rx_vol | |
id: variable_qtgui_range | |
parameters: | |
comment: '' | |
gui_hint: 4,0,1,1 | |
label: RX_VOL | |
min_len: '200' | |
orient: QtCore.Qt.Horizontal | |
outputmsgname: value | |
rangeType: float | |
showports: 'False' | |
start: '0' | |
step: '0.1' | |
stop: '1' | |
value: '1.0' | |
widget: counter_slider | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [0, 572.0] | |
rotation: 0 | |
state: true | |
- name: tx_freq | |
id: variable_qtgui_range | |
parameters: | |
comment: '' | |
gui_hint: 3,1,1,1 | |
label: TX_FREQ | |
min_len: '200' | |
orient: QtCore.Qt.Horizontal | |
outputmsgname: value | |
rangeType: float | |
showports: 'False' | |
start: 151.82e3 | |
step: '1' | |
stop: 154.6e3 | |
value: 154.6e3 | |
widget: counter_slider | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [200, 700.0] | |
rotation: 0 | |
state: true | |
- name: tx_gain | |
id: variable_qtgui_range | |
parameters: | |
comment: '' | |
gui_hint: 2,1,1,1 | |
label: TX_GAIN | |
min_len: '200' | |
orient: QtCore.Qt.Horizontal | |
outputmsgname: value | |
rangeType: int | |
showports: 'False' | |
start: '0' | |
step: '1' | |
stop: '47' | |
value: '16' | |
widget: counter_slider | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [112, 828.0] | |
rotation: 0 | |
state: true | |
- name: tx_lna | |
id: variable_qtgui_check_box | |
parameters: | |
comment: '' | |
'false': '0' | |
gui_hint: 1,1,1,1 | |
label: TX_LNA | |
'true': '14' | |
type: int | |
value: '14' | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [128, 956.0] | |
rotation: 0 | |
state: enabled | |
- name: tx_quad_rate | |
id: variable | |
parameters: | |
comment: '' | |
value: tx_samp_rate*12 | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [184, 1260.0] | |
rotation: 0 | |
state: true | |
- name: tx_samp_rate | |
id: variable | |
parameters: | |
comment: '' | |
value: '96000' | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [104, 1196.0] | |
rotation: 0 | |
state: enabled | |
- name: tx_vol | |
id: variable_qtgui_range | |
parameters: | |
comment: '' | |
gui_hint: 4,1,1,1 | |
label: TX_VOL | |
min_len: '200' | |
orient: QtCore.Qt.Horizontal | |
outputmsgname: value | |
rangeType: float | |
showports: 'False' | |
start: '0' | |
step: '0.01' | |
stop: '1' | |
value: '1.0' | |
widget: counter_slider | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [112, 572.0] | |
rotation: 0 | |
state: true | |
- name: analog_nbfm_rx_0 | |
id: analog_nbfm_rx | |
parameters: | |
affinity: '' | |
alias: '' | |
audio_rate: rx_samp_rate | |
comment: '' | |
max_dev: 5e3 | |
maxoutbuf: '0' | |
minoutbuf: '0' | |
quad_rate: rx_quad_rate | |
tau: 75e-6 | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [568, 220.0] | |
rotation: 0 | |
state: enabled | |
- name: analog_nbfm_tx_0 | |
id: analog_nbfm_tx | |
parameters: | |
affinity: '' | |
alias: '' | |
audio_rate: tx_samp_rate | |
comment: '' | |
fh: '-1.0' | |
max_dev: 5e3 | |
maxoutbuf: '0' | |
minoutbuf: '0' | |
quad_rate: tx_quad_rate | |
tau: 75e-6 | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [480, 468.0] | |
rotation: 0 | |
state: true | |
- name: audio_sink_0 | |
id: audio_sink | |
parameters: | |
affinity: '' | |
alias: '' | |
comment: '' | |
device_name: pipewire | |
num_inputs: '1' | |
ok_to_block: 'True' | |
samp_rate: int(rx_samp_rate/1) | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [1088, 236.0] | |
rotation: 0 | |
state: enabled | |
- name: audio_source_0 | |
id: audio_source | |
parameters: | |
affinity: '' | |
alias: '' | |
comment: '' | |
device_name: pipewire | |
maxoutbuf: '0' | |
minoutbuf: '0' | |
num_outputs: '1' | |
ok_to_block: 'True' | |
samp_rate: tx_samp_rate | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [0, 492.0] | |
rotation: 0 | |
state: true | |
- name: blocks_mute_xx_0_0 | |
id: blocks_mute_xx | |
parameters: | |
affinity: '' | |
alias: '' | |
comment: '' | |
maxoutbuf: '0' | |
minoutbuf: '0' | |
mute: not rcv_btn | |
type: complex | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [1096, 512.0] | |
rotation: 0 | |
state: true | |
- name: osmosdr_sink_0 | |
id: osmosdr_sink | |
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: hackrf=1 | |
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: '' | |
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' | |
freq0: tx_freq*1000.0 | |
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: tx_lna | |
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' | |
if_gain0: tx_gain | |
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' | |
maxoutbuf: '0' | |
minoutbuf: '0' | |
nchan: '1' | |
num_mboards: '1' | |
sample_rate: tx_quad_rate | |
sync: sync | |
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: [1328, 436.0] | |
rotation: 0 | |
state: enabled | |
- name: osmosdr_source_0 | |
id: osmosdr_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: hackrf=0 | |
bb_gain0: '0' | |
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: '' | |
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: '0' | |
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: rx_freq*1000.0 | |
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: rx_lna | |
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: 'False' | |
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: rx_gain | |
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: '0' | |
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: rx_quad_rate | |
sync: sync | |
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: [0, 132.0] | |
rotation: 0 | |
state: true | |
- name: qtgui_ledindicator_0 | |
id: qtgui_ledindicator | |
parameters: | |
affinity: '' | |
alias: '' | |
cellalignment: '1' | |
comment: '' | |
gui_hint: 0,1,1,1 | |
label: TX | |
maxSize: '24' | |
offColor: gray | |
onColor: purple | |
position: '1' | |
state: rcv_btn | |
verticalalignment: '1' | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [216, 1092.0] | |
rotation: 0 | |
state: true | |
- name: qtgui_waterfall_sink_x_0 | |
id: qtgui_waterfall_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' | |
axislabels: 'True' | |
bw: rx_quad_rate | |
color1: '0' | |
color10: '0' | |
color2: '0' | |
color3: '0' | |
color4: '0' | |
color5: '0' | |
color6: '0' | |
color7: '0' | |
color8: '0' | |
color9: '0' | |
comment: '' | |
fc: '0' | |
fftsize: '1024' | |
freqhalf: 'True' | |
grid: 'True' | |
gui_hint: '' | |
int_max: '10' | |
int_min: '-200' | |
label1: '' | |
label10: '' | |
label2: '' | |
label3: '' | |
label4: '' | |
label5: '' | |
label6: '' | |
label7: '' | |
label8: '' | |
label9: '' | |
legend: 'True' | |
maxoutbuf: '0' | |
minoutbuf: '0' | |
name: '""' | |
nconnections: '1' | |
showports: 'False' | |
type: complex | |
update_time: '0.01' | |
wintype: window.WIN_BLACKMAN_hARRIS | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [272, 100.0] | |
rotation: 0 | |
state: enabled | |
- name: rx_lpf | |
id: low_pass_filter | |
parameters: | |
affinity: '' | |
alias: '' | |
beta: '6.76' | |
comment: '' | |
cutoff_freq: '5000' | |
decim: '1' | |
gain: '1' | |
interp: '1' | |
maxoutbuf: '0' | |
minoutbuf: '0' | |
samp_rate: rx_quad_rate | |
type: fir_filter_ccf | |
width: '2000' | |
win: window.WIN_HAMMING | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [272, 196.0] | |
rotation: 0 | |
state: enabled | |
- name: rx_noisereduce | |
id: epy_block | |
parameters: | |
_source_code: "import numpy as np\nfrom gnuradio import gr\nimport noisereduce\ | |
\ as nr\n\nclass blk(gr.sync_block):\n def __init__(self, sample_rate=96000,\ | |
\ gain=1.0, mute=False):\n gr.sync_block.__init__(\n self,\n\ | |
\ name='Code Block',\n in_sig=[np.float32],\n \ | |
\ out_sig=[np.float32]\n )\n self.sample_rate = sample_rate\n\ | |
\ self.gain = gain\n self.mute = mute\n def work(self, input_items,\ | |
\ output_items):\n # Convert numpy float32 array to bytes and write to\ | |
\ stdin of the C++ program\n #input_bytes = input_items[0].astype(np.float32).tostring()\n\ | |
\ if (self.mute):\n return len(output_items[0])\n output_items[0][:]\ | |
\ = input_items[0] * self.gain\n output_items[0][:] = nr.reduce_noise(y=input_items[0],\ | |
\ sr=self.sample_rate)\n # Convert the output bytes back to a numpy float32\ | |
\ array\n #output_items[0][:] = np.frombuffer(input_bytes, dtype=np.float32)\n\ | |
\ return len(output_items[0])\n" | |
affinity: '' | |
alias: '' | |
comment: '' | |
gain: rx_vol | |
maxoutbuf: '0' | |
minoutbuf: '0' | |
mute: rcv_btn | |
sample_rate: rx_samp_rate | |
states: | |
_io_cache: ('Code Block', 'blk', [('sample_rate', '96000'), ('gain', '1.0'), ('mute', | |
'False')], [('0', 'float', 1)], [('0', 'float', 1)], '', ['gain', 'mute', 'sample_rate']) | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [848, 228.0] | |
rotation: 0 | |
state: enabled | |
- name: tx_lpf | |
id: low_pass_filter | |
parameters: | |
affinity: '' | |
alias: '' | |
beta: '6.76' | |
comment: '' | |
cutoff_freq: '5000' | |
decim: '1' | |
gain: '1' | |
interp: '1' | |
maxoutbuf: '0' | |
minoutbuf: '0' | |
samp_rate: tx_quad_rate | |
type: fir_filter_ccf | |
width: '2000' | |
win: window.WIN_HAMMING | |
states: | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [760, 452.0] | |
rotation: 0 | |
state: true | |
- name: tx_noisereduce | |
id: epy_block | |
parameters: | |
_source_code: "import numpy as np\nfrom gnuradio import gr\nimport noisereduce\ | |
\ as nr\n\nclass blk(gr.sync_block):\n def __init__(self, sample_rate=96000,\ | |
\ gain=1.0):\n gr.sync_block.__init__(\n self,\n \ | |
\ name='Code Block',\n in_sig=[np.float32],\n out_sig=[np.float32]\n\ | |
\ )\n self.sample_rate = sample_rate\n self.gain = gain\n\ | |
\ def work(self, input_items, output_items):\n # Convert numpy float32\ | |
\ array to bytes and write to stdin of the C++ program\n #input_bytes\ | |
\ = input_items[0].astype(np.float32).tostring()\n output_items[0][:]\ | |
\ = input_items[0] * self.gain\n output_items[0][:] = nr.reduce_noise(y=input_items[0],\ | |
\ sr=self.sample_rate)\n # Convert the output bytes back to a numpy float32\ | |
\ array\n #output_items[0][:] = np.frombuffer(input_bytes, dtype=np.float32)\n\ | |
\ return len(output_items[0])\n" | |
affinity: '' | |
alias: '' | |
comment: '' | |
gain: tx_vol | |
maxoutbuf: '0' | |
minoutbuf: '0' | |
sample_rate: tx_samp_rate | |
states: | |
_io_cache: ('Code Block', 'blk', [('sample_rate', '96000'), ('gain', '1.0')], | |
[('0', 'float', 1)], [('0', 'float', 1)], '', ['gain', 'sample_rate']) | |
bus_sink: false | |
bus_source: false | |
bus_structure: null | |
coordinate: [240, 492.0] | |
rotation: 0 | |
state: enabled | |
connections: | |
- [analog_nbfm_rx_0, '0', rx_noisereduce, '0'] | |
- [analog_nbfm_tx_0, '0', tx_lpf, '0'] | |
- [audio_source_0, '0', tx_noisereduce, '0'] | |
- [blocks_mute_xx_0_0, '0', osmosdr_sink_0, '0'] | |
- [osmosdr_source_0, '0', qtgui_waterfall_sink_x_0, '0'] | |
- [osmosdr_source_0, '0', rx_lpf, '0'] | |
- [rx_lpf, '0', analog_nbfm_rx_0, '0'] | |
- [rx_noisereduce, '0', audio_sink_0, '0'] | |
- [tx_lpf, '0', blocks_mute_xx_0_0, '0'] | |
- [tx_noisereduce, '0', analog_nbfm_tx_0, '0'] | |
metadata: | |
file_format: 1 | |
grc_version: 3.10.4.0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment