Spectrum Analyzer Demo
Adapted from GNU Radio's own example (gr-channels/examples/demo_spec_an.grc).
- Author mettus
- Category Channel Models
- Blocks 17
- Connections 12
- File
channels/spectrum_analyzer.grc
Blocks used
| Block | Module | Used |
|---|---|---|
| QT GUI Number Sink | GNU Radio | 3 |
| QT GUI Range | GNU Radio | 2 |
| RMS | GNU Radio | 2 |
| Variable | GNU Radio | 2 |
| Add | GNU Radio | 1 |
| Divide | GNU Radio | 1 |
| Log10 | GNU Radio | 1 |
| Noise Source | GNU Radio | 1 |
| QT GUI Frequency Sink | GNU Radio | 1 |
| QT GUI Time Sink | GNU Radio | 1 |
| Signal Source | GNU Radio | 1 |
| Throttle | GNU Radio | 1 |
Flowgraph source
channels/spectrum_analyzer.grc
options:
parameters:
author: mettus
catch_exceptions: 'True'
category: Custom
cmake_opt: ''
comment: ''
copyright: ''
description: Adapted from GNU Radio's own example (gr-channels/examples/demo_spec_an.grc).
gen_cmake: 'On'
gen_linking: dynamic
generate_options: qt_gui
hier_block_src_path: '.:'
id: demo_spec_an
max_nouts: '0'
output_language: python
placement: (0,0)
qt_qss_theme: ''
realtime_scheduling: ''
run: 'True'
run_command: '{python} -u {filename}'
run_options: prompt
sizing_mode: fixed
thread_safe_setters: ''
title: Spectrum Analyzer Demo
window_size: 1280, 1024
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [10, 10]
rotation: 0
state: enabled
blocks:
- name: fft_size
id: variable
parameters:
comment: ''
value: '1000'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [610, 10]
rotation: 0
state: enabled
- name: freq_offset
id: variable_qtgui_range
parameters:
comment: ''
gui_hint: ''
label: Tone Frequency
min_len: '200'
orient: QtCore.Qt.Horizontal
rangeType: float
start: '2100'
step: '10'
stop: '3100'
value: '2600'
widget: counter_slider
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [780, 10]
rotation: 0
state: enabled
- name: samp_rate
id: variable
parameters:
comment: ''
value: '100000'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1030, 10]
rotation: 0
state: enabled
- name: snr
id: variable_qtgui_range
parameters:
comment: ''
gui_hint: ''
label: Noise Amplitude
min_len: '200'
orient: QtCore.Qt.Horizontal
rangeType: float
start: '0'
step: '0.01'
stop: '1'
value: '0.1'
widget: counter_slider
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1200, 10]
rotation: 0
state: enabled
- name: analog_noise_source_x_0
id: analog_noise_source_x
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
noise_type: analog.GR_GAUSSIAN
seed: '42'
type: complex
amplitude: snr
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [10, 420]
rotation: 0
state: enabled
- name: analog_sig_source_x_0
id: analog_sig_source_x
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
offset: '0'
phase: '0'
samp_rate: samp_rate
showports: 'False'
type: complex
waveform: analog.GR_COS_WAVE
frequency: freq_offset
amplitude: '1.0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [10, 280]
rotation: 0
state: enabled
- name: blocks_add_xx_0
id: blocks_add_xx
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
num_inputs: '2'
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [310, 520]
rotation: 0
state: enabled
- name: blocks_divide_xx_0
id: blocks_divide_xx
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
num_inputs: '2'
type: float
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [560, 300]
rotation: 0
state: enabled
- name: blocks_nlog10_ff_0
id: blocks_nlog10_ff
parameters:
affinity: ''
alias: ''
comment: ''
k: '0'
maxoutbuf: '0'
minoutbuf: '0'
n: '20'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [930, 310]
rotation: 0
state: enabled
- name: blocks_rms_xx_0
id: blocks_rms_xx
parameters:
affinity: ''
alias: ''
alpha: '.0001'
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
type: complex
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [310, 420]
rotation: 0
state: enabled
- name: blocks_rms_xx_0_0
id: blocks_rms_xx
parameters:
affinity: ''
alias: ''
alpha: '.0001'
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
type: complex
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [310, 300]
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: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [560, 510]
rotation: 0
state: enabled
- name: qtgui_freq_sink_x_0
id: qtgui_freq_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: 'True'
average: '1.0'
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: 'False'
gui_hint: ''
label: Relative Gain
label1: ''
label10: ''
label2: ''
label3: ''
label4: ''
label5: ''
label6: ''
label7: ''
label8: ''
label9: ''
legend: 'True'
maxoutbuf: '0'
minoutbuf: '0'
name: FFT Plot
nconnections: '1'
norm_window: 'False'
showports: 'True'
tr_chan: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_tag: '""'
type: complex
units: dB
update_time: '0.10'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
wintype: window.WIN_FLATTOP
ymax: '10'
ymin: '-140'
samp_rate: '1.0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [930, 500]
rotation: 0
state: enabled
- name: qtgui_number_sink_0
id: qtgui_number_sink
parameters:
affinity: ''
alias: ''
autoscale: 'False'
avg: '0'
color1: ("black", "black")
color10: ("black", "black")
color2: ("black", "black")
color3: ("black", "black")
color4: ("black", "black")
color5: ("black", "black")
color6: ("black", "black")
color7: ("black", "black")
color8: ("black", "black")
color9: ("black", "black")
comment: ''
factor1: '1'
factor10: '1'
factor2: '1'
factor3: '1'
factor4: '1'
factor5: '1'
factor6: '1'
factor7: '1'
factor8: '1'
factor9: '1'
graph_type: qtgui.NUM_GRAPH_HORIZ
gui_hint: ''
label1: Noise Amplitude
label10: ''
label2: ''
label3: ''
label4: ''
label5: ''
label6: ''
label7: ''
label8: ''
label9: ''
max: '100'
min: '0'
name: '""'
nconnections: '1'
type: float
unit1: ''
unit10: ''
unit2: ''
unit3: ''
unit4: ''
unit5: ''
unit6: ''
unit7: ''
unit8: ''
unit9: ''
update_time: '0.10'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [560, 650]
rotation: 0
state: enabled
- name: qtgui_number_sink_signal_amplitude
id: qtgui_number_sink
parameters:
affinity: ''
alias: ''
autoscale: 'False'
avg: '0'
color1: ("black", "black")
color10: ("black", "black")
color2: ("black", "black")
color3: ("black", "black")
color4: ("black", "black")
color5: ("black", "black")
color6: ("black", "black")
color7: ("black", "black")
color8: ("black", "black")
color9: ("black", "black")
comment: ''
factor1: '1'
factor10: '1'
factor2: '1'
factor3: '1'
factor4: '1'
factor5: '1'
factor6: '1'
factor7: '1'
factor8: '1'
factor9: '1'
graph_type: qtgui.NUM_GRAPH_HORIZ
gui_hint: ''
label1: Signal Amplitude
label10: ''
label2: ''
label3: ''
label4: ''
label5: ''
label6: ''
label7: ''
label8: ''
label9: ''
max: '2'
min: '0'
name: '""'
nconnections: '1'
type: float
unit1: ''
unit10: ''
unit2: ''
unit3: ''
unit4: ''
unit5: ''
unit6: ''
unit7: ''
unit8: ''
unit9: ''
update_time: '0.10'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [560, 810]
rotation: 0
state: enabled
- name: qtgui_number_sink_snr
id: qtgui_number_sink
parameters:
affinity: ''
alias: ''
autoscale: 'True'
avg: '0'
color1: ("black", "black")
color10: ("black", "black")
color2: ("black", "black")
color3: ("black", "black")
color4: ("black", "black")
color5: ("black", "black")
color6: ("black", "black")
color7: ("black", "black")
color8: ("black", "black")
color9: ("black", "black")
comment: ''
factor1: '1'
factor10: '1'
factor2: '1'
factor3: '1'
factor4: '1'
factor5: '1'
factor6: '1'
factor7: '1'
factor8: '1'
factor9: '1'
graph_type: qtgui.NUM_GRAPH_HORIZ
gui_hint: ''
label1: SNR
label10: ''
label2: ''
label3: ''
label4: ''
label5: ''
label6: ''
label7: ''
label8: ''
label9: ''
max: '1'
min: '-1'
name: '""'
nconnections: '1'
type: float
unit1: ''
unit10: ''
unit2: ''
unit3: ''
unit4: ''
unit5: ''
unit6: ''
unit7: ''
unit8: ''
unit9: ''
update_time: '0.10'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1280, 280]
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: 'False'
entags: 'True'
grid: 'False'
gui_hint: ''
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'
name: Scope Plot
nconnections: '1'
size: '1024'
stemplot: 'False'
style1: '1'
style10: '1'
style2: '1'
style3: '1'
style4: '1'
style5: '1'
style6: '1'
style7: '1'
style8: '1'
style9: '1'
tr_chan: '0'
tr_delay: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: '""'
type: complex
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'
ymin: '-1'
yunit: '""'
samp_rate: samp_rate
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1480, 10]
rotation: 0
state: disabled
connections:
- [analog_noise_source_x_0, '0', blocks_add_xx_0, '1']
- [analog_noise_source_x_0, '0', blocks_rms_xx_0, '0']
- [analog_sig_source_x_0, '0', blocks_add_xx_0, '0']
- [analog_sig_source_x_0, '0', blocks_rms_xx_0_0, '0']
- [blocks_add_xx_0, '0', blocks_throttle2_0, '0']
- [blocks_divide_xx_0, '0', blocks_nlog10_ff_0, '0']
- [blocks_nlog10_ff_0, '0', qtgui_number_sink_snr, '0']
- [blocks_rms_xx_0, '0', blocks_divide_xx_0, '1']
- [blocks_rms_xx_0, '0', qtgui_number_sink_0, '0']
- [blocks_rms_xx_0_0, '0', blocks_divide_xx_0, '0']
- [blocks_rms_xx_0_0, '0', qtgui_number_sink_signal_amplitude, '0']
- [blocks_throttle2_0, '0', qtgui_freq_sink_x_0, '0']
metadata:
file_format: 1
grc_version: 3.10.10.0