From 5b3bf38e395f553b0f125df64c613a002b5c392c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Hamal=20Dvo=C5=99=C3=A1k?= Date: Thu, 6 Jun 2024 21:14:16 +0200 Subject: [PATCH] Update GNU Radio Companion sheets --- grc/PicoSDR-WBFM.grc | 65 +++---- grc/PicoSDR.grc | 439 ++++++++++++++++++++++++++++++++++++------- 2 files changed, 390 insertions(+), 114 deletions(-) diff --git a/grc/PicoSDR-WBFM.grc b/grc/PicoSDR-WBFM.grc index ae58040..fd848c6 100644 --- a/grc/PicoSDR-WBFM.grc +++ b/grc/PicoSDR-WBFM.grc @@ -33,36 +33,28 @@ options: state: enabled blocks: -- name: bpsk - id: variable_constellation +- name: carrier + id: variable parameters: comment: '' - const_points: '[-1-1j, -1+1j, 1+1j, 1-1j]' - dims: '1' - normalization: digital.constellation.AMPLITUDE_NORMALIZATION - npwr: '1.0' - precision: '8' - rot_sym: '4' - soft_dec_lut: None - sym_map: '[0, 1, 3, 2]' - type: bpsk + value: '88_200_000' states: bus_sink: false bus_source: false bus_structure: null - coordinate: [280, 8.0] + coordinate: [168, 8.0] rotation: 0 - state: true + state: enabled - name: samp_rate id: variable parameters: comment: '' - value: 1_536_000 // (1 << 3) + value: '192_000' states: bus_sink: false bus_source: false bus_structure: null - coordinate: [176, 8.0] + coordinate: [264, 8.0] rotation: 0 state: enabled - name: analog_quadrature_demod_cf_0 @@ -78,7 +70,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [704, 312.0] + coordinate: [640, 336.0] rotation: 0 state: true - name: analog_wfm_rcv_pll_0 @@ -96,7 +88,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [456, 376.0] + coordinate: [640, 440.0] rotation: 0 state: true - name: audio_sink_0 @@ -113,7 +105,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [704, 384.0] + coordinate: [928, 448.0] rotation: 0 state: true - name: blocks_message_debug_0 @@ -128,7 +120,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [992, 8.0] + coordinate: [928, 32.0] rotation: 0 state: true - name: blocks_probe_rate_0 @@ -148,20 +140,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [704, 16.0] - rotation: 0 - state: true -- name: import_0 - id: import - parameters: - alias: '' - comment: '' - imports: import math - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [440, 8.0] + coordinate: [640, 40.0] rotation: 0 state: true - name: low_pass_filter_0 @@ -185,7 +164,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [992, 284.0] + coordinate: [928, 284.0] rotation: 0 state: enabled - name: osmosdr_source_0 @@ -363,7 +342,7 @@ blocks: dc_offset_mode7: '0' dc_offset_mode8: '0' dc_offset_mode9: '0' - freq0: '88_200_000' + freq0: carrier freq1: 100e6 freq10: 100e6 freq11: 100e6 @@ -639,7 +618,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [704, 208.0] + coordinate: [640, 232.0] rotation: 0 state: true - name: qtgui_time_sink_x_0_0 @@ -736,7 +715,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [1192, 312.0] + coordinate: [1128, 312.0] rotation: 0 state: true - name: qtgui_waterfall_sink_x_0_0 @@ -768,12 +747,12 @@ blocks: color9: '0' comment: '' fc: '0' - fftsize: '2048' + fftsize: '4096' freqhalf: 'True' grid: 'True' gui_hint: (0, 0, 1, 2) int_max: '0' - int_min: 10 * math.log10(1 / ((2 ** 15 - 1) ** 2)) + int_min: 10 * math.log10(1 / ((2 ** 16) ** 2)) label1: '' label10: '' label2: '' @@ -797,7 +776,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [704, 104.0] + coordinate: [640, 128.0] rotation: 0 state: true - name: qtgui_waterfall_sink_x_0_0_0_0 @@ -829,12 +808,12 @@ blocks: color9: '0' comment: '' fc: '0' - fftsize: '2048' + fftsize: '1024' freqhalf: 'True' grid: 'True' gui_hint: (3, 0, 1, 2) int_max: '0' - int_min: 10 * math.log10(1 / ((2 ** 15 - 1) ** 2)) + int_min: 10 * math.log10(1 / ((2 ** 16) ** 2)) label1: '' label10: '' label2: '' @@ -858,7 +837,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [992, 184.0] + coordinate: [928, 184.0] rotation: 0 state: true diff --git a/grc/PicoSDR.grc b/grc/PicoSDR.grc index 052c66f..81987a6 100644 --- a/grc/PicoSDR.grc +++ b/grc/PicoSDR.grc @@ -33,36 +33,28 @@ options: state: enabled blocks: -- name: bpsk - id: variable_constellation +- name: carrier + id: variable parameters: comment: '' - const_points: '[-1-1j, -1+1j, 1+1j, 1-1j]' - dims: '1' - normalization: digital.constellation.AMPLITUDE_NORMALIZATION - npwr: '1.0' - precision: '8' - rot_sym: '4' - soft_dec_lut: None - sym_map: '[0, 1, 3, 2]' - type: bpsk + value: '40_680_000' states: bus_sink: false bus_source: false bus_structure: null - coordinate: [280, 8.0] + coordinate: [168, 8.0] rotation: 0 - state: true + state: enabled - name: samp_rate id: variable parameters: comment: '' - value: 1_280_000 // (1 << 6) + value: '50_000' states: bus_sink: false bus_source: false bus_structure: null - coordinate: [176, 8.0] + coordinate: [264, 8.0] rotation: 0 state: enabled - name: analog_quadrature_demod_cf_0 @@ -78,25 +70,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [704, 512.0] - rotation: 0 - state: true -- name: blocks_interleaved_short_to_complex_0 - id: blocks_interleaved_short_to_complex - parameters: - affinity: '' - alias: '' - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - scale_factor: (1 << 15) - 1 - swap: 'False' - vector_input: 'False' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [224, 208.0] + coordinate: [640, 536.0] rotation: 0 state: true - name: blocks_message_debug_0 @@ -111,7 +85,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [1000, 32.0] + coordinate: [928, 32.0] rotation: 0 state: true - name: blocks_probe_rate_0 @@ -123,7 +97,7 @@ blocks: comment: '' maxoutbuf: '0' minoutbuf: '0' - mintime: '1000' + mintime: '2500' name: '' type: complex vlen: '1' @@ -131,7 +105,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [704, 16.0] + coordinate: [640, 40.0] rotation: 0 state: true - name: digital_costas_loop_cc_0 @@ -149,42 +123,366 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [704, 320.0] + coordinate: [640, 344.0] rotation: 0 state: true -- name: import_0 - id: import +- name: osmosdr_source_0 + id: osmosdr_source parameters: - alias: '' - comment: '' - imports: import math - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [440, 8.0] - rotation: 0 - state: true -- name: network_tcp_source_0 - id: network_tcp_source - parameters: - addr: 127.0.0.1 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: '"rtl_tcp"' + 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' + 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: carrier + 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: '10' + 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: '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: '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' - port: '1234' - server: 'True' - type: short - vlen: '1' + nchan: '1' + num_mboards: '1' + sample_rate: samp_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: [48, 200.0] + coordinate: [152, 164.0] rotation: 0 - state: true + state: enabled - name: qtgui_const_sink_x_0 id: qtgui_const_sink_x parameters: @@ -274,7 +572,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [1000, 304.0] + coordinate: [928, 328.0] rotation: 0 state: true - name: qtgui_time_sink_x_0 @@ -371,7 +669,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [704, 208.0] + coordinate: [640, 232.0] rotation: 0 state: true - name: qtgui_time_sink_x_0_0 @@ -468,7 +766,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [1000, 488.0] + coordinate: [928, 512.0] rotation: 0 state: true - name: qtgui_time_sink_x_0_1 @@ -565,7 +863,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [1000, 376.0] + coordinate: [928, 400.0] rotation: 0 state: true - name: qtgui_waterfall_sink_x_0_0 @@ -626,21 +924,20 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [704, 104.0] + coordinate: [640, 128.0] rotation: 0 state: true connections: - [analog_quadrature_demod_cf_0, '0', qtgui_time_sink_x_0_0, '0'] -- [blocks_interleaved_short_to_complex_0, '0', analog_quadrature_demod_cf_0, '0'] -- [blocks_interleaved_short_to_complex_0, '0', blocks_probe_rate_0, '0'] -- [blocks_interleaved_short_to_complex_0, '0', digital_costas_loop_cc_0, '0'] -- [blocks_interleaved_short_to_complex_0, '0', qtgui_time_sink_x_0, '0'] -- [blocks_interleaved_short_to_complex_0, '0', qtgui_waterfall_sink_x_0_0, '0'] - [blocks_probe_rate_0, rate, blocks_message_debug_0, print] - [digital_costas_loop_cc_0, '0', qtgui_const_sink_x_0, '0'] - [digital_costas_loop_cc_0, '0', qtgui_time_sink_x_0_1, '0'] -- [network_tcp_source_0, '0', blocks_interleaved_short_to_complex_0, '0'] +- [osmosdr_source_0, '0', analog_quadrature_demod_cf_0, '0'] +- [osmosdr_source_0, '0', blocks_probe_rate_0, '0'] +- [osmosdr_source_0, '0', digital_costas_loop_cc_0, '0'] +- [osmosdr_source_0, '0', qtgui_time_sink_x_0, '0'] +- [osmosdr_source_0, '0', qtgui_waterfall_sink_x_0_0, '0'] metadata: file_format: 1