GNU Radio World

PSK31 Varicode Loopback

Encodes a message to PSK31 varicode and decodes it straight back.

Press Load to open this flowgraph in an editor embedded above, then ▶ to run it. Nothing is downloaded until you do.

Open in the full editor ▶ Download the .grc

Blocks used

BlockModuleUsed
Char To FloatGNU Radio1
NoteGNU Radio1
QT GUI Time SinkGNU Radio1
Text SinkGNU Radio1
ThrottleGNU Radio1
VariableGNU Radio1
Varicode Decodergr-ham1
Varicode Encodergr-ham1
Vector SourceGNU Radio1

Notes in this flowgraph

Flowgraph source

ham/varicode_loopback.grc
options:
    parameters:
        author: Marc
        copyright: ''
        description: Encodes a message to PSK31 varicode and decodes it straight back.
        generate_options: qt_gui
        id: PSK31_Varicode_Loopback
        title: PSK31 Varicode Loopback
    states:
        coordinate: [10, 10]
        rotation: 0
        state: enabled
blocks:
-   name: baud_rate
    id: variable
    parameters:
        comment: ''
        value: '31.25'
    states:
        coordinate: [600, 10]
        rotation: 0
        state: enabled
-   name: baud_clock
    id: blocks_throttle2
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        ignoretag: 'True'
        limit: time
        maximum: '0.1'
        maxoutbuf: '0'
        minoutbuf: '0'
        samples_per_second: baud_rate
        type: byte
        vlen: '1'
    states:
        coordinate: [660, 130]
        rotation: 0
        state: enabled
-   name: bits
    id: qtgui_time_sink_x
    parameters:
        affinity: ''
        alias: ''
        alpha1: '1'
        alpha2: '1'
        autoscale: 'False'
        axislabels: 'True'
        color1: blue
        color2: red
        comment: ''
        ctrlpanel: 'False'
        grid: 'True'
        label1: Varicode bit
        label2: Signal 2
        legend: 'True'
        marker1: '0'
        marker2: '-1'
        name: Varicode bit stream
        samp_rate: baud_rate
        size: '128'
        stemplot: 'True'
        style1: '0'
        style2: '1'
        tr_chan: '0'
        tr_delay: '0'
        tr_level: '0'
        tr_mode: qtgui.TRIG_MODE_FREE
        tr_slope: qtgui.TRIG_SLOPE_POS
        tr_tag: ''
        type: float
        update_time: '0.1'
        width1: '1'
        width2: '1'
        ylabel: Bit
        ymax: '1.2'
        ymin: '-0.2'
        yunit: ''
    states:
        coordinate: [1290, 130]
        rotation: 0
        state: enabled
-   name: decoder
    id: ham_varicode_rx
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        maxoutbuf: '0'
        minoutbuf: '0'
    states:
        coordinate: [990, 250]
        rotation: 0
        state: enabled
-   name: encoder
    id: ham_varicode_tx
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        maxoutbuf: '0'
        minoutbuf: '0'
    states:
        coordinate: [360, 150]
        rotation: 0
        state: enabled
-   name: intro
    id: note
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        note: Varicode is self-synchronising - "00" ends every character
    states:
        coordinate: [770, 10]
        rotation: 0
        state: enabled
-   name: message
    id: blocks_vector_source_x
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        maxoutbuf: '0'
        minoutbuf: '0'
        repeat: 'True'
        tags: '[]'
        type: byte
        vector: '[67, 81, 32, 67, 81, 32, 67, 81, 32, 100, 101, 32, 86, 69, 51, 88, 89, 90, 32, 32]'
        vlen: '1'
    states:
        coordinate: [10, 140]
        rotation: 0
        state: enabled
-   name: text
    id: wasm_text_sink
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        max_line: '40'
        prefix: '"loopback: "'
    states:
        coordinate: [1290, 270]
        rotation: 0
        state: enabled
-   name: to_float
    id: blocks_char_to_float
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        maxoutbuf: '0'
        minoutbuf: '0'
        scale: '1'
        vlen: '1'
    states:
        coordinate: [990, 150]
        rotation: 0
        state: enabled
connections:
- [baud_clock, '0', decoder, '0']
- [baud_clock, '0', to_float, '0']
- [decoder, '0', text, '0']
- [encoder, '0', baud_clock, '0']
- [message, '0', encoder, '0']
- [to_float, '0', bits, '0']
metadata:
    file_format: 1
    grc_version: 3.11.0.0