diff --git a/grc/8psk_rx.grc b/grc/8psk_rx.grc deleted file mode 100644 index 2b0a055..0000000 --- a/grc/8psk_rx.grc +++ /dev/null @@ -1,919 +0,0 @@ -options: - parameters: - author: kurt - category: '[GRC Hier Blocks]' - cmake_opt: '' - comment: 'requires GNU Radio 3.8xxx - - does NOT work with 3.7x' - copyright: '' - description: requires GNU Radio 3.8xxx - gen_cmake: 'Off' - gen_linking: dynamic - generate_options: no_gui - hier_block_src_path: '.:' - id: rx_8psk - max_nouts: '0' - output_language: python - placement: (0,0) - qt_qss_theme: '' - realtime_scheduling: '' - run: 'True' - run_command: '{python} -u {filename}' - run_options: run - sizing_mode: fixed - thread_safe_setters: '' - title: 8PSK Modem DJ0ABR - window_size: '' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [16, 12.0] - rotation: 0 - state: enabled - -blocks: -- name: mixf - id: variable - parameters: - comment: 'mid frequency - - in the audio - - spectrum. Set to get - - lowest and highest - - frequency within the - - transceiver filter range.' - value: '1500' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [336, 12.0] - rotation: 0 - state: enabled -- name: nfilts - id: variable - parameters: - comment: '' - value: '32' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [1112, 12.0] - rotation: 0 - state: enabled -- name: outputsps - id: variable - parameters: - comment: 'Samples/Symbol - - fixed value, - - do not change. - - Used to adjust - - bitrate vs. bandwidth' - value: '7' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [40, 180.0] - rotation: 0 - state: enabled -- name: rrc_taps - id: variable - parameters: - comment: '' - value: firdes.root_raised_cosine(nfilts, nfilts, 1.1/float(sps), 0.2, 11*sps*nfilts) - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [1184, 12.0] - rotation: 0 - state: enabled -- name: sps - id: variable - parameters: - comment: 'Samples/Symbol - - fixed value, - - do not change' - value: '4' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [488, 12.0] - rotation: 0 - state: enabled -- name: analog_agc2_xx_0_0 - id: analog_agc2_xx - parameters: - affinity: '' - alias: '' - attack_rate: 1e-2 - comment: Costas loop needs AGC (loop gain depends on input level) - decay_rate: '0.2' - gain: '2' - max_gain: '3' - maxoutbuf: '0' - minoutbuf: '0' - reference: '1' - type: complex - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [400, 620.0] - rotation: 0 - state: enabled -- name: analog_const_source_x_0 - id: analog_const_source_x - parameters: - affinity: '' - alias: '' - comment: 'Marker to find the start - - of the values' - const: '1000' - maxoutbuf: '0' - minoutbuf: '0' - type: int - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [472, 916.0] - rotation: 180 - state: true -- name: analog_const_source_x_0_0 - id: analog_const_source_x - parameters: - affinity: '' - alias: '' - comment: 'Marker to find the start - - of the values' - const: '1000' - maxoutbuf: '0' - minoutbuf: '0' - type: int - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [536, 1076.0] - rotation: 180 - state: true -- name: analog_const_source_x_0_1 - id: analog_const_source_x - parameters: - affinity: '' - alias: '' - comment: '' - const: '16777216' - maxoutbuf: '0' - minoutbuf: '0' - type: float - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [792, 1044.0] - rotation: 180 - state: true -- name: analog_sig_source_x_0_0_0 - id: analog_sig_source_x - parameters: - affinity: '' - alias: '' - amp: '1' - comment: 'the modulator output is in the baseband at 0 Hz. - - Mix it with the required audio mid frequency. - - cos and -sin are used to combine I and Q - - into the frinal signal. - - Use it als for RX in the reverse direction' - freq: mixf - 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: [592, 76.0] - rotation: 0 - state: enabled -- name: audio_source_0 - id: audio_source - parameters: - affinity: '' - alias: '' - comment: get audio from transceiver - device_name: '' - maxoutbuf: '0' - minoutbuf: '0' - num_outputs: '1' - ok_to_block: 'True' - samp_rate: samp_rate - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [1384, 364.0] - rotation: 180 - state: true -- name: blocks_complex_to_float_0 - id: blocks_complex_to_float - parameters: - affinity: '' - alias: '' - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [824, 1160.0] - rotation: 180 - state: true -- name: blocks_complex_to_float_1 - id: blocks_complex_to_float - parameters: - affinity: '' - alias: '' - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [816, 104.0] - rotation: 0 - state: enabled -- name: blocks_float_to_complex_0 - id: blocks_float_to_complex - parameters: - affinity: '' - alias: '' - comment: 'combile I and Q - - to complex signal' - maxoutbuf: '0' - minoutbuf: '0' - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [552, 336.0] - rotation: 180 - state: true -- name: blocks_float_to_int_0 - id: blocks_float_to_int - parameters: - affinity: '' - alias: '' - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - scale: '16777216' - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [632, 1156.0] - rotation: 180 - state: true -- name: blocks_float_to_int_0_0 - id: blocks_float_to_int - parameters: - affinity: '' - alias: '' - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - scale: '16777216' - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [632, 1204.0] - rotation: 180 - state: true -- name: blocks_float_to_int_0_1 - id: blocks_float_to_int - parameters: - affinity: '' - alias: '' - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - scale: '1' - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [520, 1012.0] - rotation: 180 - state: true -- name: blocks_interleave_0 - id: blocks_interleave - parameters: - affinity: '' - alias: '' - blocksize: '1' - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - num_streams: '2' - type: int - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [360, 1000.0] - rotation: 180 - state: true -- name: blocks_interleave_0_0 - id: blocks_interleave - parameters: - affinity: '' - alias: '' - blocksize: '1' - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - num_streams: '3' - type: int - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [328, 1128.0] - rotation: 180 - state: true -- name: blocks_multiply_xx_0_0_0 - id: blocks_multiply_xx - parameters: - affinity: '' - alias: '' - comment: make I - maxoutbuf: '0' - minoutbuf: '0' - num_inputs: '2' - type: float - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [744, 304.0] - rotation: 180 - state: enabled -- name: blocks_multiply_xx_0_1 - id: blocks_multiply_xx - parameters: - affinity: '' - alias: '' - comment: make Q - maxoutbuf: '0' - minoutbuf: '0' - num_inputs: '2' - type: float - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [808, 400.0] - rotation: 180 - state: enabled -- name: blocks_multiply_xx_0_1_0 - id: blocks_multiply_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: [648, 984.0] - rotation: 180 - state: enabled -- name: blocks_udp_sink_0 - id: blocks_udp_sink - parameters: - affinity: '' - alias: '' - comment: 'send RX data to UDP - - port 1235 on the local machine' - eof: 'False' - ipaddr: 127.0.0.1 - port: '40135' - psize: '344' - type: byte - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [1272, 516.0] - rotation: 0 - state: true -- name: blocks_udp_sink_0_0 - id: blocks_udp_sink - parameters: - affinity: '' - alias: '' - comment: 'send QPSK Constellation data to UDP - - port 1236 on the local machine' - eof: 'False' - ipaddr: 127.0.0.1 - port: '40136' - psize: '120' - type: int - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [72, 1004.0] - rotation: 180 - state: enabled -- name: blocks_udp_sink_0_0_0 - id: blocks_udp_sink - parameters: - affinity: '' - alias: '' - comment: 'send QPSK Constellation data to UDP - - port 1236 on the local machine' - eof: 'False' - ipaddr: 127.0.0.1 - port: '40137' - psize: '120' - type: int - vlen: '1' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [72, 1132.0] - rotation: 180 - state: enabled -- name: digital_constellation_decoder_cb_0 - id: digital_constellation_decoder_cb - parameters: - affinity: '' - alias: '' - comment: '8PSK decoding, same - - parameters as modulator' - constellation: digital.constellation_8psk_natural().base() - maxoutbuf: '0' - minoutbuf: '0' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [824, 540.0] - rotation: 0 - state: enabled -- name: digital_costas_loop_cc_0 - id: digital_costas_loop_cc - parameters: - affinity: '' - alias: '' - comment: 'locks the signal and - - converts into baseband' - maxoutbuf: '0' - minoutbuf: '0' - order: '8' - use_snr: 'False' - w: '0.15' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [584, 528.0] - rotation: 0 - state: enabled -- name: digital_diff_decoder_bb_0 - id: digital_diff_decoder_bb - parameters: - affinity: '' - alias: '' - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - modulus: '8' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [1048, 540.0] - rotation: 0 - state: enabled -- name: digital_lms_dd_equalizer_cc_0 - id: digital_lms_dd_equalizer_cc - parameters: - affinity: '' - alias: '' - cnst: digital.constellation_8psk_natural().base() - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - mu: '0.01' - num_taps: '15' - sps: outputsps - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [304, 468.0] - rotation: 0 - state: enabled -- name: digital_pfb_clock_sync_xxx_0 - id: digital_pfb_clock_sync_xxx - parameters: - affinity: '' - alias: '' - comment: 'synchronize the Clock, - - works very well with drifting - - QO-100 signal' - filter_size: nfilts - init_phase: nfilts/16 - loop_bw: '0.06' - max_dev: '2' - maxoutbuf: '0' - minoutbuf: '0' - osps: outputsps - sps: sps - taps: rrc_taps - type: ccf - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [80, 556.0] - rotation: 0 - state: enabled -- name: low_pass_filter_0 - id: low_pass_filter - parameters: - affinity: '' - alias: '' - beta: '6.76' - comment: 'Anti-Aliasing filter - - Level correction - - and decimation' - cutoff_freq: '3900' - decim: '1' - gain: '12' - interp: '1' - maxoutbuf: '0' - minoutbuf: '0' - samp_rate: samp_rate - type: fir_filter_fff - width: '3300' - win: firdes.WIN_HAMMING - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [1048, 316.0] - rotation: 180 - state: enabled -- name: mmse_resampler_xx_0 - id: mmse_resampler_xx - parameters: - affinity: '' - alias: '' - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - phase_shift: '0' - resamp_ratio: resamp - type: complex - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [136, 352.0] - rotation: 180 - state: true -- name: mmse_resampler_xx_0_0 - id: mmse_resampler_xx - parameters: - affinity: '' - alias: '' - comment: '' - maxoutbuf: '0' - minoutbuf: '0' - phase_shift: '0' - resamp_ratio: samp_rate / 8000 - type: float - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [776, 904.0] - rotation: 180 - state: true -- name: qtgui_const_sink_x_0 - id: qtgui_const_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: '"red"' - color2: '"red"' - color3: '"red"' - color4: '"red"' - color5: '"red"' - color6: '"red"' - color7: '"red"' - color8: '"red"' - color9: '"red"' - comment: '' - grid: 'False' - gui_hint: '' - label1: '' - label10: '' - label2: '' - label3: '' - label4: '' - label5: '' - label6: '' - label7: '' - label8: '' - label9: '' - legend: 'True' - marker1: '0' - marker10: '0' - marker2: '0' - marker3: '0' - marker4: '0' - marker5: '0' - marker6: '0' - marker7: '0' - marker8: '0' - marker9: '0' - name: '""' - nconnections: '1' - size: '1024' - style1: '0' - style10: '0' - style2: '0' - style3: '0' - style4: '0' - style5: '0' - style6: '0' - style7: '0' - style8: '0' - style9: '0' - tr_chan: '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' - xmax: '2' - xmin: '-2' - ymax: '2' - ymin: '-2' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [824, 756.0] - rotation: 0 - state: disabled -- name: qtgui_const_sink_x_0_0 - id: qtgui_const_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: '"red"' - color2: '"red"' - color3: '"red"' - color4: '"red"' - color5: '"red"' - color6: '"red"' - color7: '"red"' - color8: '"red"' - color9: '"red"' - comment: '' - grid: 'False' - gui_hint: '' - label1: '' - label10: '' - label2: '' - label3: '' - label4: '' - label5: '' - label6: '' - label7: '' - label8: '' - label9: '' - legend: 'True' - marker1: '0' - marker10: '0' - marker2: '0' - marker3: '0' - marker4: '0' - marker5: '0' - marker6: '0' - marker7: '0' - marker8: '0' - marker9: '0' - name: '""' - nconnections: '1' - size: '1024' - style1: '0' - style10: '0' - style2: '0' - style3: '0' - style4: '0' - style5: '0' - style6: '0' - style7: '0' - style8: '0' - style9: '0' - tr_chan: '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' - xmax: '2' - xmin: '-2' - ymax: '2' - ymin: '-2' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [864, 628.0] - rotation: 0 - state: disabled -- name: resamp - id: parameter - parameters: - alias: '' - comment: "Resampling Rate\nfrom Audio Rate\nto 8kS/s which is\nthe input of the\ - \ \nPolypashe Clock" - hide: none - label: resamp - short_id: r - type: intx - value: '6' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [328, 156.0] - rotation: 0 - state: true -- name: samp_rate - id: parameter - parameters: - alias: '' - comment: Audio Rate - hide: none - label: samp_rate - short_id: s - type: intx - value: '48000' - states: - bus_sink: false - bus_source: false - bus_structure: null - coordinate: [200, 156.0] - rotation: 0 - state: true - -connections: -- [analog_agc2_xx_0_0, '0', digital_costas_loop_cc_0, '0'] -- [analog_const_source_x_0, '0', blocks_interleave_0, '0'] -- [analog_const_source_x_0_0, '0', blocks_interleave_0_0, '0'] -- [analog_const_source_x_0_1, '0', blocks_multiply_xx_0_1_0, '1'] -- [analog_sig_source_x_0_0_0, '0', blocks_complex_to_float_1, '0'] -- [audio_source_0, '0', low_pass_filter_0, '0'] -- [audio_source_0, '0', mmse_resampler_xx_0_0, '0'] -- [blocks_complex_to_float_0, '0', blocks_float_to_int_0, '0'] -- [blocks_complex_to_float_0, '1', blocks_float_to_int_0_0, '0'] -- [blocks_complex_to_float_1, '0', blocks_multiply_xx_0_1, '1'] -- [blocks_complex_to_float_1, '1', blocks_multiply_xx_0_0_0, '1'] -- [blocks_float_to_complex_0, '0', mmse_resampler_xx_0, '0'] -- [blocks_float_to_int_0, '0', blocks_interleave_0_0, '1'] -- [blocks_float_to_int_0_0, '0', blocks_interleave_0_0, '2'] -- [blocks_float_to_int_0_1, '0', blocks_interleave_0, '1'] -- [blocks_interleave_0, '0', blocks_udp_sink_0_0, '0'] -- [blocks_interleave_0_0, '0', blocks_udp_sink_0_0_0, '0'] -- [blocks_multiply_xx_0_0_0, '0', blocks_float_to_complex_0, '0'] -- [blocks_multiply_xx_0_1, '0', blocks_float_to_complex_0, '1'] -- [blocks_multiply_xx_0_1_0, '0', blocks_float_to_int_0_1, '0'] -- [digital_constellation_decoder_cb_0, '0', digital_diff_decoder_bb_0, '0'] -- [digital_costas_loop_cc_0, '0', blocks_complex_to_float_0, '0'] -- [digital_costas_loop_cc_0, '0', digital_constellation_decoder_cb_0, '0'] -- [digital_costas_loop_cc_0, '0', qtgui_const_sink_x_0, '0'] -- [digital_costas_loop_cc_0, '0', qtgui_const_sink_x_0_0, '0'] -- [digital_diff_decoder_bb_0, '0', blocks_udp_sink_0, '0'] -- [digital_lms_dd_equalizer_cc_0, '0', analog_agc2_xx_0_0, '0'] -- [digital_pfb_clock_sync_xxx_0, '0', digital_lms_dd_equalizer_cc_0, '0'] -- [low_pass_filter_0, '0', blocks_multiply_xx_0_0_0, '0'] -- [low_pass_filter_0, '0', blocks_multiply_xx_0_1, '0'] -- [mmse_resampler_xx_0, '0', digital_pfb_clock_sync_xxx_0, '0'] -- [mmse_resampler_xx_0_0, '0', blocks_multiply_xx_0_1_0, '0'] - -metadata: - file_format: 1