GNU Radio World

Low-Pass Filter

Compare a two-tone signal before and after a 5 kHz low-pass FIR filter

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 Frequency SinkGNU Radio2
Signal SourceGNU Radio2
AddGNU Radio1
Low Pass FilterGNU Radio1
ThrottleGNU Radio1

Flowgraph source

analog/low_pass_filter.grc
options:
    parameters:
        author: Claude
        copyright: ''
        description: Compare a two-tone signal before and after a 5 kHz low-pass FIR filter
        generate_options: qt_gui
        id: Low_Pass_Filter
        title: Low-Pass Filter
    states:
        coordinate: [10, 10]
        rotation: 0
        state: enabled
blocks:
-   name: low_pass
    id: low_pass_filter
    parameters:
        affinity: ''
        alias: ''
        beta: '6.76'
        comment: ''
        cutoff_freq: '5000'
        decim: '1'
        gain: '1'
        interp: '1'
        maxoutbuf: '0'
        minoutbuf: '0'
        samp_rate: '48000'
        type: fir_filter_ccf
        width: '2000'
        win: window.WIN_HAMMING
    states:
        coordinate: [870, 190]
        rotation: 0
        state: enabled
-   name: passband_tone
    id: analog_sig_source_x
    parameters:
        affinity: ''
        alias: ''
        amplitude: '1'
        comment: ''
        frequency: '2000'
        maxoutbuf: '0'
        minoutbuf: '0'
        samp_rate: '48000'
        type: complex
        waveform: analog.GR_COS_WAVE
    states:
        coordinate: [10, 220]
        rotation: 0
        state: enabled
-   name: spectrum_after
    id: qtgui_freq_sink_x
    parameters:
        affinity: ''
        alias: ''
        alpha1: '1'
        autoscale: 'False'
        average: '0.2'
        axislabels: 'True'
        color1: '"green"'
        comment: ''
        ctrlpanel: 'False'
        fc: '0'
        fftsize: '2048'
        grid: 'True'
        label1: Filtered
        legend: 'True'
        marker1: '-1'
        maxoutbuf: '0'
        minoutbuf: '0'
        name: After Filter - 12 kHz Rejected
        samp_rate: '48000'
        style1: '1'
        tr_chan: '0'
        tr_level: '0'
        tr_mode: qtgui.TRIG_MODE_FREE
        tr_tag: ''
        update_time: '0.1'
        width1: '1'
        ymax: '10'
        ymin: '-100'
    states:
        coordinate: [1220, 220]
        rotation: 0
        state: enabled
-   name: spectrum_before
    id: qtgui_freq_sink_x
    parameters:
        affinity: ''
        alias: ''
        alpha1: '1'
        autoscale: 'False'
        average: '0.2'
        axislabels: 'True'
        color1: '"blue"'
        comment: ''
        ctrlpanel: 'False'
        fc: '0'
        fftsize: '2048'
        grid: 'True'
        label1: Unfiltered
        legend: 'True'
        marker1: '-1'
        maxoutbuf: '0'
        minoutbuf: '0'
        name: Before Filter - 2 kHz and 12 kHz
        samp_rate: '48000'
        style1: '1'
        tr_chan: '0'
        tr_level: '0'
        tr_mode: qtgui.TRIG_MODE_FREE
        tr_tag: ''
        update_time: '0.1'
        width1: '1'
        ymax: '10'
        ymin: '-100'
    states:
        coordinate: [870, 410]
        rotation: 0
        state: enabled
-   name: stopband_tone
    id: analog_sig_source_x
    parameters:
        affinity: ''
        alias: ''
        amplitude: '1'
        comment: ''
        frequency: '12000'
        maxoutbuf: '0'
        minoutbuf: '0'
        samp_rate: '48000'
        type: complex
        waveform: analog.GR_COS_WAVE
    states:
        coordinate: [10, 360]
        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: '48000'
        type: complex
        vlen: '1'
    states:
        coordinate: [540, 230]
        rotation: 0
        state: enabled
-   name: two_tones
    id: blocks_add_xx
    parameters:
        affinity: ''
        alias: ''
        comment: ''
        maxoutbuf: '0'
        minoutbuf: '0'
        num_inputs: '2'
        type: complex
        vlen: '1'
    states:
        coordinate: [300, 240]
        rotation: 0
        state: enabled
connections:
- [low_pass, '0', spectrum_after, '0']
- [passband_tone, '0', two_tones, '0']
- [stopband_tone, '0', two_tones, '1']
- [throttle, '0', low_pass, '0']
- [throttle, '0', spectrum_before, '0']
- [two_tones, '0', throttle, '0']
metadata:
    file_format: 1
    grc_version: 3.11.0.0