PSK31 Receiver
Decodes a PSK31 QSO from a 40 m recording of 7071 kHz.
- Author Marc
- Category Ham Radio
- Blocks 17
- Connections 12
- File
ham/psk31_receiver.grc
Blocks used
| Block | Module | Used |
|---|---|---|
| Variable | GNU Radio | 3 |
| AGC | GNU Radio | 1 |
| Binary Slicer | GNU Radio | 1 |
| Clock Recovery MM | GNU Radio | 1 |
| Complex To Real | GNU Radio | 1 |
| Costas Loop | GNU Radio | 1 |
| Differential Phasor | GNU Radio | 1 |
| Frequency Xlating FIR Filter | GNU Radio | 1 |
| GR World Recording | GNU Radio | 1 |
| Note | GNU Radio | 1 |
| QT GUI Constellation Sink | GNU Radio | 1 |
| QT GUI Waterfall Sink | GNU Radio | 1 |
| Text Sink | GNU Radio | 1 |
| Throttle | GNU Radio | 1 |
| Varicode Decoder | gr-ham | 1 |
Notes in this flowgraph
- KC3FL (Florida) working XE2BVM (Mexico), 31.25 baud BPSK
Flowgraph source
ham/psk31_receiver.grc
options:
parameters:
author: Marc
copyright: ''
description: Decodes a PSK31 QSO from a 40 m recording of 7071 kHz.
generate_options: qt_gui
id: PSK31_Receiver
title: PSK31 Receiver
states:
coordinate: [10, 10]
rotation: 0
state: enabled
blocks:
- name: psk_offset
id: variable
parameters:
comment: ''
value: '132'
states:
coordinate: [600, 10]
rotation: 0
state: enabled
- name: samp_rate
id: variable
parameters:
comment: ''
value: '8000'
states:
coordinate: [770, 10]
rotation: 0
state: enabled
- name: symbol_rate
id: variable
parameters:
comment: ''
value: '500'
states:
coordinate: [940, 10]
rotation: 0
state: enabled
- name: agc
id: analog_agc_xx
parameters:
affinity: ''
alias: ''
comment: ''
gain: '1'
max_gain: '65536'
maxoutbuf: '0'
minoutbuf: '0'
rate: '0.001'
reference: '0.1'
type: complex
states:
coordinate: [1120, 210]
rotation: 0
state: enabled
- name: band_waterfall
id: qtgui_waterfall_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1'
axislabels: 'True'
color1: '0'
comment: ''
fc: '7071000'
fftsize: '2048'
grid: 'False'
int_max: '0'
int_min: '-120'
label1: ''
legend: 'True'
maxoutbuf: '0'
minoutbuf: '0'
name: 7071 kHz PSK31 watering hole
samp_rate: samp_rate
update_time: '0.1'
states:
coordinate: [710, 350]
rotation: 0
state: enabled
- name: carrier
id: digital_costas_loop_cc
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
order: '2'
use_snr: 'False'
w: 5*math.pi/100
states:
coordinate: [100, 560]
rotation: 0
state: enabled
- name: constellation
id: qtgui_const_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1'
autoscale: 'False'
axislabels: 'True'
color1: '"blue"'
comment: ''
grid: 'True'
label1: ''
legend: 'True'
marker1: '0'
name: Recovered symbols
size: '512'
style1: '0'
tr_chan: '0'
tr_level: '0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: ''
update_time: '0.1'
width1: '1'
xmax: '2'
xmin: '-2'
ymax: '2'
ymin: '-2'
states:
coordinate: [940, 660]
rotation: 0
state: enabled
- name: differential
id: digital_diff_phasor_cc
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
states:
coordinate: [940, 560]
rotation: 0
state: enabled
- name: intro
id: note
parameters:
affinity: ''
alias: ''
comment: ''
note: KC3FL (Florida) working XE2BVM (Mexico), 31.25 baud BPSK
states:
coordinate: [1120, 10]
rotation: 0
state: enabled
- name: real_part
id: blocks_complex_to_real
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
vlen: '1'
states:
coordinate: [1320, 560]
rotation: 0
state: enabled
- name: slicer
id: digital_binary_slicer_fb
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
states:
coordinate: [80, 820]
rotation: 0
state: enabled
- name: source19
id: wasm_gr_world_recording
parameters:
affinity: ''
alias: ''
comment: ''
length: '0'
maxoutbuf: '0'
minoutbuf: '0'
offset: '0'
recording: ham_psk31_7071kHz
repeat: 'False'
type: complex
states:
coordinate: [10, 190]
rotation: 0
state: enabled
- name: text
id: wasm_text_sink
parameters:
affinity: ''
alias: ''
comment: ''
max_line: '72'
prefix: '"PSK31: "'
states:
coordinate: [630, 820]
rotation: 0
state: enabled
- name: throttle
id: blocks_throttle2
parameters:
affinity: ''
alias: ''
comment: ''
ignoretag: 'True'
limit: auto
maximum: '0.1'
maxoutbuf: '0'
minoutbuf: '0'
samples_per_second: samp_rate*10
type: complex
vlen: '1'
states:
coordinate: [370, 200]
rotation: 0
state: enabled
- name: timing
id: digital_clock_recovery_mm_xx
parameters:
affinity: ''
alias: ''
comment: ''
gain_mu: '0.175'
gain_omega: 0.25*0.175*0.175
maxoutbuf: '0'
minoutbuf: '0'
mu: '0.5'
omega: symbol_rate/31.25
omega_relative_limit: '0.005'
type: complex
states:
coordinate: [540, 530]
rotation: 0
state: enabled
- name: tune
id: freq_xlating_fir_filter_xxx
parameters:
affinity: ''
alias: ''
center_freq: psk_offset
comment: ''
decim: '16'
maxoutbuf: '0'
minoutbuf: '0'
samp_rate: samp_rate
taps: firdes.low_pass(1, samp_rate, 100, 100)
type: ccf
states:
coordinate: [710, 210]
rotation: 0
state: enabled
- name: varicode
id: ham_varicode_rx
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
states:
coordinate: [330, 820]
rotation: 0
state: enabled
connections:
- [agc, '0', carrier, '0']
- [carrier, '0', timing, '0']
- [differential, '0', real_part, '0']
- [real_part, '0', slicer, '0']
- [slicer, '0', varicode, '0']
- [source19, '0', throttle, '0']
- [throttle, '0', band_waterfall, '0']
- [throttle, '0', tune, '0']
- [timing, '0', constellation, '0']
- [timing, '0', differential, '0']
- [tune, '0', agc, '0']
- [varicode, '0', text, '0']
metadata:
file_format: 1
grc_version: 3.11.0.0