test(phy): flowgraph for MODEM validation
This commit is contained in:
702
simulation/awgn.grc
Normal file
702
simulation/awgn.grc
Normal file
@@ -0,0 +1,702 @@
|
||||
options:
|
||||
parameters:
|
||||
author: HA5PLS
|
||||
catch_exceptions: 'True'
|
||||
category: '[GRC Hier Blocks]'
|
||||
cmake_opt: ''
|
||||
comment: ''
|
||||
copyright: GPL 3.0 or later
|
||||
description: wrapper around ONBEAT modulator/demodulator for BER simulation
|
||||
gen_cmake: 'On'
|
||||
gen_linking: dynamic
|
||||
generate_options: qt_gui
|
||||
hier_block_src_path: '.:'
|
||||
id: ONBEAT_AWGN_sim
|
||||
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: ONBEAT AWGN simulator
|
||||
window_size: (1000,1000)
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [16, 16.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
|
||||
blocks:
|
||||
- name: OVERSAMPLING
|
||||
id: variable
|
||||
parameters:
|
||||
comment: ''
|
||||
value: '10'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [288, 16.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: RRC_ALPHA
|
||||
id: variable
|
||||
parameters:
|
||||
comment: ''
|
||||
value: '0.35'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [816, 16.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: full_packet_len
|
||||
id: variable
|
||||
parameters:
|
||||
comment: ''
|
||||
value: data_len + len(syncword)
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [456, 88.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: samp_rate
|
||||
id: variable
|
||||
parameters:
|
||||
comment: ''
|
||||
value: 1e6
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [200, 16.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: symbol_map
|
||||
id: variable
|
||||
parameters:
|
||||
comment: ''
|
||||
value: '[0, 1, 3, 2]'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [720, 16.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: EbN0
|
||||
id: parameter
|
||||
parameters:
|
||||
alias: ''
|
||||
comment: ''
|
||||
hide: none
|
||||
label: ''
|
||||
short_id: ''
|
||||
type: eng_float
|
||||
value: '1'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [864, 136.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: ONBEAT_Demod_0
|
||||
id: ONBEAT_Demod
|
||||
parameters:
|
||||
FULL_PACKET_LEN: full_packet_len
|
||||
OVERSAMPLING: OVERSAMPLING
|
||||
RRC_ALPHA: RRC_ALPHA
|
||||
affinity: ''
|
||||
alias: ''
|
||||
comment: ''
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
roc_tolerance: '1'
|
||||
samp_rate: samp_rate
|
||||
symbol_map: symbol_map
|
||||
syncword: syncword
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [248, 484.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: ONBEAT_Mod_0
|
||||
id: ONBEAT_Mod
|
||||
parameters:
|
||||
OVERSAMPLING: OVERSAMPLING
|
||||
RRC_ALPHA: RRC_ALPHA
|
||||
affinity: ''
|
||||
alias: ''
|
||||
comment: ''
|
||||
data_len: data_len
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
preamble: '[0x33 for i in range(0, 128*2, 8)]'
|
||||
syncword: syncword
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [464, 256.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: blocks_tag_gate_0
|
||||
id: blocks_tag_gate
|
||||
parameters:
|
||||
affinity: ''
|
||||
alias: ''
|
||||
comment: ''
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
propagate_tags: 'False'
|
||||
single_key: '""'
|
||||
type: complex
|
||||
vlen: '1'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [752, 264.0]
|
||||
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*1000
|
||||
type: complex
|
||||
vlen: '1'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [1136, 264.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: channels_channel_model_0
|
||||
id: channels_channel_model
|
||||
parameters:
|
||||
affinity: ''
|
||||
alias: ''
|
||||
block_tags: 'False'
|
||||
comment: ''
|
||||
epsilon: time_offset
|
||||
freq_offset: freq_offset
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
noise_voltage: (1/EbN0*(1+RRC_ALPHA)/2)**0.5
|
||||
seed: '0'
|
||||
taps: '1.0'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [928, 232.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: data_len
|
||||
id: parameter
|
||||
parameters:
|
||||
alias: ''
|
||||
comment: ''
|
||||
hide: none
|
||||
label: ''
|
||||
short_id: ''
|
||||
type: intx
|
||||
value: '1024'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [576, 88.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: freq_offset
|
||||
id: parameter
|
||||
parameters:
|
||||
alias: ''
|
||||
comment: ''
|
||||
hide: none
|
||||
label: ''
|
||||
short_id: ''
|
||||
type: eng_float
|
||||
value: '0'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [960, 136.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: network_socket_pdu_0
|
||||
id: network_socket_pdu
|
||||
parameters:
|
||||
affinity: ''
|
||||
alias: ''
|
||||
comment: ''
|
||||
host: 0.0.0.0
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
mtu: '10000'
|
||||
port: rx_port
|
||||
tcp_no_delay: 'False'
|
||||
type: TCP_SERVER
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [616, 664.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: network_socket_pdu_1
|
||||
id: network_socket_pdu
|
||||
parameters:
|
||||
affinity: ''
|
||||
alias: ''
|
||||
comment: ''
|
||||
host: 0.0.0.0
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
mtu: '10000'
|
||||
port: tx_port
|
||||
tcp_no_delay: 'False'
|
||||
type: TCP_SERVER
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [40, 264.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: pdu_pdu_to_tagged_stream_0
|
||||
id: pdu_pdu_to_tagged_stream
|
||||
parameters:
|
||||
affinity: ''
|
||||
alias: ''
|
||||
comment: ''
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
tag: packet_len
|
||||
type: byte
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [240, 288.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: qtgui_const_sink_x_0
|
||||
id: qtgui_const_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: ''
|
||||
grid: 'False'
|
||||
gui_hint: ''
|
||||
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: '""'
|
||||
nconnections: '1'
|
||||
size: '128'
|
||||
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.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'
|
||||
xmax: '2'
|
||||
xmin: '-2'
|
||||
ymax: '2'
|
||||
ymin: '-2'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [616, 400.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: qtgui_eye_sink_x_0
|
||||
id: qtgui_eye_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: blue
|
||||
color2: blue
|
||||
color3: blue
|
||||
color4: blue
|
||||
color5: blue
|
||||
color6: blue
|
||||
color7: blue
|
||||
color8: blue
|
||||
color9: blue
|
||||
comment: ''
|
||||
ctrlpanel: 'False'
|
||||
entags: 'True'
|
||||
grid: 'False'
|
||||
gui_hint: ''
|
||||
label1: Signal 1
|
||||
label10: Signal 10
|
||||
label2: Signal 2
|
||||
label3: Signal 3
|
||||
label4: Signal 4
|
||||
label5: Signal 5
|
||||
label6: Signal 6
|
||||
label7: Signal 7
|
||||
label8: Signal 8
|
||||
label9: Signal 9
|
||||
legend: 'True'
|
||||
marker1: '-1'
|
||||
marker10: '-1'
|
||||
marker2: '-1'
|
||||
marker3: '-1'
|
||||
marker4: '-1'
|
||||
marker5: '-1'
|
||||
marker6: '-1'
|
||||
marker7: '-1'
|
||||
marker8: '-1'
|
||||
marker9: '-1'
|
||||
nconnections: '1'
|
||||
samp_per_symbol: '1'
|
||||
size: '128'
|
||||
srate: 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_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: '""'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [616, 472.0]
|
||||
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: Signal 1
|
||||
label10: Signal 10
|
||||
label2: Signal 2
|
||||
label3: Signal 3
|
||||
label4: Signal 4
|
||||
label5: Signal 5
|
||||
label6: Signal 6
|
||||
label7: Signal 7
|
||||
label8: Signal 8
|
||||
label9: Signal 9
|
||||
legend: 'True'
|
||||
marker1: '-1'
|
||||
marker10: '-1'
|
||||
marker2: '-1'
|
||||
marker3: '-1'
|
||||
marker4: '-1'
|
||||
marker5: '-1'
|
||||
marker6: '-1'
|
||||
marker7: '-1'
|
||||
marker8: '-1'
|
||||
marker9: '-1'
|
||||
name: '""'
|
||||
nconnections: '1'
|
||||
size: '1024'
|
||||
srate: samp_rate/5
|
||||
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: '""'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [616, 576.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: rx_port
|
||||
id: parameter
|
||||
parameters:
|
||||
alias: ''
|
||||
comment: ''
|
||||
hide: none
|
||||
label: ''
|
||||
short_id: ''
|
||||
type: str
|
||||
value: '50002'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [104, 152.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: syncword
|
||||
id: parameter
|
||||
parameters:
|
||||
alias: ''
|
||||
comment: ''
|
||||
hide: none
|
||||
label: ''
|
||||
short_id: ''
|
||||
type: ''
|
||||
value: '"0000011100001001000110110010110101110111100110001010100111111010"'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [456, 16.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: time_offset
|
||||
id: parameter
|
||||
parameters:
|
||||
alias: ''
|
||||
comment: ''
|
||||
hide: none
|
||||
label: ''
|
||||
short_id: ''
|
||||
type: eng_float
|
||||
value: '1.0'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [1064, 136.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: tx_port
|
||||
id: parameter
|
||||
parameters:
|
||||
alias: ''
|
||||
comment: ''
|
||||
hide: none
|
||||
label: ''
|
||||
short_id: ''
|
||||
type: str
|
||||
value: '50001'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [16, 152.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: virtual_sink_0
|
||||
id: virtual_sink
|
||||
parameters:
|
||||
alias: ''
|
||||
comment: ''
|
||||
stream_id: receiver_in
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [1320, 272.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: virtual_source_0
|
||||
id: virtual_source
|
||||
parameters:
|
||||
alias: ''
|
||||
comment: ''
|
||||
stream_id: receiver_in
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [40, 536.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
|
||||
connections:
|
||||
- [ONBEAT_Demod_0, '0', qtgui_const_sink_x_0, '0']
|
||||
- [ONBEAT_Demod_0, '1', qtgui_eye_sink_x_0, '0']
|
||||
- [ONBEAT_Demod_0, '2', qtgui_time_sink_x_0, '0']
|
||||
- [ONBEAT_Demod_0, out, network_socket_pdu_0, pdus]
|
||||
- [ONBEAT_Mod_0, '0', blocks_tag_gate_0, '0']
|
||||
- [blocks_tag_gate_0, '0', channels_channel_model_0, '0']
|
||||
- [blocks_throttle2_0, '0', virtual_sink_0, '0']
|
||||
- [channels_channel_model_0, '0', blocks_throttle2_0, '0']
|
||||
- [network_socket_pdu_1, pdus, pdu_pdu_to_tagged_stream_0, pdus]
|
||||
- [pdu_pdu_to_tagged_stream_0, '0', ONBEAT_Mod_0, '0']
|
||||
- [virtual_source_0, '0', ONBEAT_Demod_0, '0']
|
||||
|
||||
metadata:
|
||||
file_format: 1
|
||||
grc_version: 3.10.11.0
|
||||
Reference in New Issue
Block a user