GNU Radio World

PSK Tx with Constellation

8PSK with added noise, adjustable via range widget

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
QT GUI RangeGNU Radio3
AddGNU Radio1
GUI LayoutGNU Radio1
Noise SourceGNU Radio1
NoteGNU Radio1
PSK ModGNU Radio1
QT GUI Constellation SinkGNU Radio1
QT GUI Frequency SinkGNU Radio1
Random SourceGNU Radio1
Signal SourceGNU Radio1
ThrottleGNU Radio1
VariableGNU Radio1

Notes in this flowgraph

Flowgraph source

digital/welcome_example.grc
options:
    parameters:
        author: Marc
        comment: ''
        copyright: ''
        description: 8PSK with added noise, adjustable via range widget
        generate_options: qt_gui
        id: PSK_Tx_with_Constellation
        title: PSK Tx with Constellation
    states:
        coordinate: [10, 10]
        rotation: 0
        state: enabled
blocks:
-   name: freq
    id: variable_qtgui_range
    parameters:
        comment: ''
        label: Frequency of Tone
        min_len: '200'
        orient: QtCore.Qt.Horizontal
        rangeType: float
        start: '-90000'
        step: '5000'
        stop: '90000'
        value: '0'
        widget: counter_slider
    states:
        coordinate: [70, 480]
        rotation: 0
        state: enabled
-   name: noise
    id: variable_qtgui_range
    parameters:
        comment: ''
        label: Mag of Noise
        min_len: '200'
        orient: QtCore.Qt.Horizontal
        rangeType: float
        start: '0'
        step: '0.01'
        stop: '1'
        value: '0.01'
        widget: counter_slider
    states:
        coordinate: [320, 10]
        rotation: 0
        state: enabled
-   name: samp_rate
    id: variable
    parameters:
        comment: ''
        value: '200000'
    states:
        coordinate: [60, 140]
        rotation: 0
        state: enabled
-   name: tone_mag
    id: variable_qtgui_range
    parameters:
        comment: ''
        label: Mag of Tone
        min_len: '200'
        orient: QtCore.Qt.Horizontal
        rangeType: float
        start: '0'
        step: '0.1'
        stop: '2'
        value: '0'
        widget: counter_slider
    states:
        coordinate: [350, 620]
        rotation: 0
        state: enabled
-   name: analog_sig_source_x_0
    id: analog_sig_source_x
    parameters:
        affinity: ''
        alias: ''
        amplitude: tone_mag
        comment: ''
        frequency: freq
        maxoutbuf: '0'
        minoutbuf: '0'
        samp_rate: samp_rate
        type: complex
        waveform: analog.GR_COS_WAVE
    states:
        coordinate: [350, 480]
        rotation: 0
        state: enabled
-   name: constellation
    id: qtgui_const_sink_x
    parameters:
        affinity: ''
        alias: ''
        alpha1: '1'
        alpha10: '1'
        alpha2: '1'
        alpha3: '1'
        alpha4: '1'
        alpha5: '1'
        alpha6: '1'
        alpha7: '1'
        alpha8: '1'
        alpha9: '1'
        autoscale: 'False'
        axislabels: 'True'
        color1: '"blue"'
        color10: '"dark blue"'
        color2: '"red"'
        color3: '"green"'
        color4: '"black"'
        color5: '"cyan"'
        color6: '"magenta"'
        color7: '"yellow"'
        color8: '"dark red"'
        color9: '"dark green"'
        comment: ''
        grid: 'False'
        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: Constellation
        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'
        tr_mode: qtgui.TRIG_MODE_FREE
        tr_slope: qtgui.TRIG_SLOPE_POS
        tr_tag: ''
        update_time: '0.1'
        width1: '0'
        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:
        coordinate: [1260, 410]
        rotation: 0
        state: enabled
-   name: mod7
    id: digital_psk_mod
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        constellation_points: '8'
        differential: 'True'
        excess_bw: '0.35'
        maxoutbuf: '0'
        minoutbuf: '0'
        mod_code: '"gray"'
        samples_per_symbol: '2'
    states:
        coordinate: [320, 320]
        rotation: 0
        state: enabled
-   name: note_0
    id: note
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        note: Welcome to GNU Radio World!
    states:
        coordinate: [640, 190]
        rotation: 0
        state: enabled
-   name: qtgui_freq_sink_x_1
    id: qtgui_freq_sink_x
    parameters:
        affinity: ''
        alias: ''
        alpha1: '1'
        alpha10: '1'
        alpha2: '1'
        alpha3: '1'
        alpha4: '1'
        alpha5: '1'
        alpha6: '1'
        alpha7: '1'
        alpha8: '1'
        alpha9: '1'
        autoscale: 'False'
        average: '0.2'
        axislabels: 'True'
        color1: '"blue"'
        color10: '"dark blue"'
        color2: '"red"'
        color3: '"green"'
        color4: '"black"'
        color5: '"cyan"'
        color6: '"magenta"'
        color7: '"yellow"'
        color8: '"dark red"'
        color9: '"dark green"'
        comment: ''
        ctrlpanel: 'False'
        fc: '0'
        fftsize: '1024'
        freqhalf: 'True'
        grid: 'True'
        label1: ''
        label10: ''
        label2: ''
        label3: ''
        label4: ''
        label5: ''
        label6: ''
        label7: ''
        label8: ''
        label9: ''
        legend: 'True'
        marker1: '-1'
        marker10: '-1'
        marker2: '-1'
        marker3: '-1'
        marker4: '-1'
        marker5: '-1'
        marker6: '-1'
        marker7: '-1'
        marker8: '-1'
        marker9: '-1'
        maxoutbuf: '0'
        minoutbuf: '0'
        name: Spectrum
        nconnections: '1'
        samp_rate: samp_rate
        style1: '1'
        style10: '1'
        style2: '1'
        style3: '1'
        style4: '1'
        style5: '1'
        style6: '1'
        style7: '1'
        style8: '1'
        style9: '1'
        tr_chan: '0'
        tr_level: '0'
        tr_mode: qtgui.TRIG_MODE_FREE
        tr_tag: ''
        type: complex
        update_time: '0.1'
        width1: '1'
        width10: '1'
        width2: '1'
        width3: '1'
        width4: '1'
        width5: '1'
        width6: '1'
        width7: '1'
        width8: '1'
        width9: '1'
        ymax: '0'
        ymin: '-90'
    states:
        coordinate: [1260, 230]
        rotation: 0
        state: enabled
-   name: throttle4
    id: blocks_throttle2
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        ignoretag: 'True'
        limit: auto
        maximum: '0.1'
        maxoutbuf: '0'
        minoutbuf: '0'
        samples_per_second: samp_rate
        type: complex
        vlen: '1'
    states:
        coordinate: [900, 330]
        rotation: 0
        state: enabled
-   name: wasm_gui_layout_0
    id: wasm_gui_layout
    parameters:
        affinity: ''
        alias: ''
        columns: '12'
        comment: ''
        layout: '{"constellation":[0,2,5,4],"freq":[0,0,6,1],"noise":[0,1,12,1],"qtgui_freq_sink_x_1":[5,2,7,4],"tone_mag":[6,0,6,1]}'
        row_height: '60'
    states:
        coordinate: [630, 30]
        rotation: 0
        state: enabled
-   name: x2
    id: analog_noise_source_x
    parameters:
        affinity: ''
        alias: ''
        amplitude: noise
        comment: ''
        maxoutbuf: '0'
        minoutbuf: '0'
        seed: '0'
        type: complex
    states:
        coordinate: [370, 210]
        rotation: 0
        state: enabled
-   name: x8
    id: analog_random_source_x
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        max: '2'
        maxoutbuf: '0'
        min: '0'
        minoutbuf: '0'
        num_samps: '1000'
        repeat: 'True'
        type: byte
    states:
        coordinate: [30, 330]
        rotation: 0
        state: enabled
-   name: xx3
    id: blocks_add_xx
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        maxoutbuf: '0'
        minoutbuf: '0'
        num_inputs: '3'
        type: complex
        vlen: '1'
    states:
        coordinate: [670, 320]
        rotation: 0
        state: enabled
connections:
- [analog_sig_source_x_0, '0', xx3, '2']
- [mod7, '0', xx3, '1']
- [throttle4, '0', constellation, '0']
- [throttle4, '0', qtgui_freq_sink_x_1, '0']
- [x2, '0', xx3, '0']
- [x8, '0', mod7, '0']
- [xx3, '0', throttle4, '0']
metadata:
    file_format: 1
    grc_version: 3.11.0.0