GNU Radio World

Peak Detector Demo

Adapted from GNU Radio's own example (gr-blocks/examples/peak_detector2.grc).

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
File SinkGNU Radio3
Char To FloatGNU Radio1
Peak Detector2GNU Radio1
QT GUI RangeGNU Radio1
QT GUI Time SinkGNU Radio1
Signal SourceGNU Radio1
ThrottleGNU Radio1

Flowgraph source

blocks/peak_detector2.grc
options:
  parameters:
    author: ''
    catch_exceptions: 'True'
    category: Custom
    cmake_opt: ''
    comment: ''
    copyright: ''
    description: Adapted from GNU Radio's own example (gr-blocks/examples/peak_detector2.grc).
    gen_cmake: 'On'
    gen_linking: dynamic
    generate_options: qt_gui
    hier_block_src_path: '.:'
    id: test_peak2
    max_nouts: '0'
    output_language: python
    placement: (0,0)
    qt_qss_theme: ''
    realtime_scheduling: ''
    run: 'True'
    run_command: '{python} -u {filename}'
    run_options: run
    sizing_mode: fixed
    thread_safe_setters: ''
    title: Peak Detector Demo
    window_size: 1280, 1024
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [10, 10]
    rotation: 0
    state: enabled
blocks:
- name: alpha
  id: variable
  parameters:
    comment: ''
    value: '0.001'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [590, 10]
    rotation: 0
    state: enabled
- name: analog_sig_source_x_0
  id: analog_sig_source_x
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    maxoutbuf: '0'
    minoutbuf: '0'
    offset: offset
    phase: '0'
    samp_rate: samp_rate
    showports: 'False'
    type: float
    waveform: analog.GR_SAW_WAVE
    frequency: '1000'
    amplitude: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [10, 330]
    rotation: 0
    state: enabled
- name: blocks_char_to_float_0
  id: blocks_char_to_float
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    maxoutbuf: '0'
    minoutbuf: '0'
    scale: '1'
    vlen: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [960, 340]
    rotation: 0
    state: enabled
- name: blocks_file_sink_0
  id: blocks_file_sink
  parameters:
    affinity: ''
    alias: ''
    append: 'False'
    comment: ''
    file: in.data
    type: float
    unbuffered: 'False'
    vlen: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [790, 10]
    rotation: 0
    state: disabled
- name: blocks_file_sink_0_0
  id: blocks_file_sink
  parameters:
    affinity: ''
    alias: ''
    append: 'False'
    comment: ''
    file: avg.data
    type: float
    unbuffered: 'False'
    vlen: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [960, 440]
    rotation: 0
    state: disabled
- name: blocks_file_sink_0_1
  id: blocks_file_sink
  parameters:
    affinity: ''
    alias: ''
    append: 'False'
    comment: ''
    file: flag.data
    type: float
    unbuffered: 'False'
    vlen: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1280, 330]
    rotation: 0
    state: disabled
- name: blocks_peak_detector2_fb_0
  id: blocks_peak_detector2_fb
  parameters:
    affinity: ''
    alias: ''
    alpha: alpha
    comment: ''
    look_ahead: lookahead
    maxoutbuf: '0'
    minoutbuf: '0'
    threshold_factor_rise: factor
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [650, 340]
    rotation: 0
    state: enabled
- name: blocks_throttle2_0
  id: blocks_throttle2
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    ignoretag: 'True'
    limit: auto
    maximum: '0.1'
    maxoutbuf: '0'
    minoutbuf: '0'
    samples_per_second: samp_rate
    type: float
    vlen: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [320, 330]
    rotation: 0
    state: enabled
- name: factor
  id: variable
  parameters:
    comment: ''
    value: '0.3'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1030, 10]
    rotation: 0
    state: enabled
- name: lookahead
  id: variable
  parameters:
    comment: ''
    value: int(samp_rate/1e3/1.1)
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1200, 10]
    rotation: 0
    state: enabled
- name: offset
  id: variable_qtgui_range
  parameters:
    comment: ''
    gui_hint: ''
    label: ''
    min_len: '200'
    orient: QtCore.Qt.Horizontal
    rangeType: float
    start: '-1.5'
    step: '0.1'
    stop: '1.5'
    value: '0.1'
    widget: counter_slider
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1370, 10]
    rotation: 0
    state: enabled
- name: qtgui_time_sink_x_0
  id: qtgui_time_sink_x
  parameters:
    affinity: ''
    alias: ''
    alpha1: '1.0'
    alpha10: '1.0'
    alpha2: '1.0'
    alpha3: '1.0'
    alpha4: '1.0'
    alpha5: '1.0'
    alpha6: '1.0'
    alpha7: '1.0'
    alpha8: '1.0'
    alpha9: '1.0'
    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: ''
    ctrlpanel: 'True'
    entags: 'True'
    grid: 'True'
    gui_hint: ''
    label1: Input
    label10: ''
    label2: Peaks
    label3: Average
    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'
    name: '""'
    nconnections: '3'
    size: '512'
    stemplot: 'False'
    style1: '1'
    style10: '1'
    style2: '1'
    style3: '1'
    style4: '1'
    style5: '1'
    style6: '1'
    style7: '1'
    style8: '1'
    style9: '1'
    tr_chan: '1'
    tr_delay: '0'
    tr_level: '0.0'
    tr_mode: qtgui.TRIG_MODE_AUTO
    tr_slope: qtgui.TRIG_SLOPE_POS
    tr_tag: '""'
    type: float
    update_time: '0.10'
    width1: '1'
    width10: '1'
    width2: '1'
    width3: '1'
    width4: '1'
    width5: '1'
    width6: '1'
    width7: '1'
    width8: '1'
    width9: '1'
    ylabel: Amplitude
    ymax: '1.5'
    ymin: '-1.5'
    yunit: '""'
    samp_rate: samp_rate
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1280, 450]
    rotation: 0
    state: enabled
- name: samp_rate
  id: variable
  parameters:
    comment: ''
    value: 32e3
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [10, 230]
    rotation: 0
    state: enabled
connections:
- [analog_sig_source_x_0, '0', blocks_throttle2_0, '0']
- [blocks_char_to_float_0, '0', blocks_file_sink_0_1, '0']
- [blocks_char_to_float_0, '0', qtgui_time_sink_x_0, '1']
- [blocks_peak_detector2_fb_0, '0', blocks_char_to_float_0, '0']
- [blocks_peak_detector2_fb_0, '1', blocks_file_sink_0_0, '0']
- [blocks_peak_detector2_fb_0, '1', qtgui_time_sink_x_0, '2']
- [blocks_throttle2_0, '0', blocks_peak_detector2_fb_0, '0']
- [blocks_throttle2_0, '0', qtgui_time_sink_x_0, '0']
metadata:
  file_format: 1
  grc_version: 3.10.10.0