GNU Radio World

CHU Time Signal Decoder

Decodes the CHU shortwave time code from a 14670 kHz recording.

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
VariableGNU Radio4
Binary SlicerGNU Radio1
CHU Decodergr-ham1
Frequency Xlating FIR FilterGNU Radio1
GR World RecordingGNU Radio1
IShort To ComplexGNU Radio1
NoteGNU Radio1
QT GUI Time SinkGNU Radio1
QT GUI Waterfall SinkGNU Radio1
Quadrature DemodGNU Radio1
ThrottleGNU Radio1

Notes in this flowgraph

Flowgraph source

ham/chu_time_signal.grc
options:
    parameters:
        author: Marc
        copyright: ''
        description: Decodes the CHU shortwave time code from a 14670 kHz recording.
        generate_options: qt_gui
        id: CHU_Time_Signal_Decoder
        title: CHU Time Signal Decoder
    states:
        coordinate: [10, 10]
        rotation: 0
        state: enabled
blocks:
-   name: channel_rate
    id: variable
    parameters:
        comment: ''
        value: '4800'
    states:
        coordinate: [600, 10]
        rotation: 0
        state: enabled
-   name: mark_tone
    id: variable
    parameters:
        comment: ''
        value: '2225'
    states:
        coordinate: [790, 10]
        rotation: 0
        state: enabled
-   name: samp_rate
    id: variable
    parameters:
        comment: ''
        value: '48000'
    states:
        coordinate: [960, 10]
        rotation: 0
        state: enabled
-   name: space_tone
    id: variable
    parameters:
        comment: ''
        value: '2025'
    states:
        coordinate: [1130, 10]
        rotation: 0
        state: enabled
-   name: chu_decoder
    id: ham_chu_decode
    parameters:
        affinity: ''
        alias: ''
        comment: ''
    states:
        coordinate: [760, 370]
        rotation: 0
        state: enabled
-   name: complex17
    id: blocks_interleaved_short_to_complex
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        maxoutbuf: '0'
        minoutbuf: '0'
        scale_factor: '32767'
        swap: 'False'
        vector_input: 'False'
    states:
        coordinate: [370, 220]
        rotation: 0
        state: enabled
-   name: discriminator
    id: analog_quadrature_demod_cf
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        gain: channel_rate/(math.pi*(mark_tone - space_tone))
        maxoutbuf: '0'
        minoutbuf: '0'
    states:
        coordinate: [80, 370]
        rotation: 0
        state: enabled
-   name: intro
    id: note
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        note: 300 baud AFSK on the Bell 103 tones; burst arrives 21 s in
    states:
        coordinate: [1300, 10]
        rotation: 0
        state: enabled
-   name: slicer
    id: digital_binary_slicer_fb
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        maxoutbuf: '0'
        minoutbuf: '0'
    states:
        coordinate: [450, 370]
        rotation: 0
        state: enabled
-   name: source16
    id: wasm_gr_world_recording
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        length: '0'
        maxoutbuf: '0'
        minoutbuf: '0'
        offset: '0'
        recording: ham_chu_14670kHz
        repeat: 'True'
        type: short
    states:
        coordinate: [10, 190]
        rotation: 0
        state: enabled
-   name: symbols
    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: Discriminator
        label2: Signal 2
        legend: 'True'
        marker1: '-1'
        marker2: '0'
        name: FSK discriminator
        samp_rate: channel_rate
        size: '4800'
        stemplot: 'False'
        style1: '1'
        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: Amplitude
        ymax: '2'
        ymin: '-2'
        yunit: ''
    states:
        coordinate: [450, 470]
        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: [680, 200]
        rotation: 0
        state: enabled
-   name: tone_channel
    id: freq_xlating_fir_filter_xxx
    parameters:
        affinity: ''
        alias: ''
        center_freq: (mark_tone + space_tone)/2
        comment: ''
        decim: '10'
        maxoutbuf: '0'
        minoutbuf: '0'
        samp_rate: samp_rate
        taps: firdes.low_pass(1, samp_rate, 250, 500)
        type: ccf
    states:
        coordinate: [1020, 210]
        rotation: 0
        state: enabled
-   name: waterfall
    id: qtgui_waterfall_sink_x
    parameters:
        affinity: ''
        alias: ''
        alpha1: '1'
        axislabels: 'True'
        color1: '0'
        comment: ''
        fc: 14670000 + (mark_tone + space_tone)/2
        fftsize: '1024'
        grid: 'False'
        int_max: '10'
        int_min: '-110'
        label1: ''
        legend: 'True'
        maxoutbuf: '0'
        minoutbuf: '0'
        name: CHU tone channel
        samp_rate: channel_rate
        update_time: '0.1'
    states:
        coordinate: [80, 470]
        rotation: 0
        state: enabled
connections:
- [complex17, '0', throttle, '0']
- [discriminator, '0', slicer, '0']
- [discriminator, '0', symbols, '0']
- [slicer, '0', chu_decoder, '0']
- [source16, '0', complex17, '0']
- [throttle, '0', tone_channel, '0']
- [tone_channel, '0', discriminator, '0']
- [tone_channel, '0', waterfall, '0']
metadata:
    file_format: 1
    grc_version: 3.11.0.0