Thomas Kolb
c805bee1fb
Also, the new symbols give more power to the sync parts, which should make the sync more robust.
644 lines
15 KiB
Plaintext
644 lines
15 KiB
Plaintext
options:
|
|
parameters:
|
|
author: ''
|
|
category: '[Hamnet70]'
|
|
cmake_opt: ''
|
|
comment: ''
|
|
copyright: ''
|
|
description: ''
|
|
gen_cmake: 'On'
|
|
gen_linking: dynamic
|
|
generate_options: hb
|
|
hier_block_src_path: '.:'
|
|
id: hamnet70_mod_sc16qam
|
|
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: ''
|
|
window_size: (3000,1500)
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [7, 11]
|
|
rotation: 0
|
|
state: enabled
|
|
|
|
blocks:
|
|
- name: base_buffer_size
|
|
id: variable
|
|
parameters:
|
|
comment: ''
|
|
value: 32*MTU
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [191, 99]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: fec_enc
|
|
id: variable_cc_encoder_def
|
|
parameters:
|
|
comment: ''
|
|
dim1: '1'
|
|
dim2: '1'
|
|
framebits: 8*(MTU+4)*2
|
|
k: '7'
|
|
mode: fec.CC_TERMINATED
|
|
ndim: '0'
|
|
padding: 'True'
|
|
polys: '[79,109]'
|
|
rate: '2'
|
|
state_start: '0'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [862, 11]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: fec_enc
|
|
id: variable_dummy_encoder_def
|
|
parameters:
|
|
comment: ''
|
|
dim1: '1'
|
|
dim2: '1'
|
|
framebits: 8*(MTU+4)*2
|
|
ndim: '0'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [864, 188.0]
|
|
rotation: 0
|
|
state: disabled
|
|
- name: header_format_tx
|
|
id: variable
|
|
parameters:
|
|
comment: ''
|
|
value: digital.packet_header_default(32)
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [984, 332.0]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: header_mod
|
|
id: variable_constellation_rect
|
|
parameters:
|
|
comment: ''
|
|
const_points: '[1+1j, -1-1j]'
|
|
imag_sect: '2'
|
|
precision: '8'
|
|
real_sect: '2'
|
|
rot_sym: '2'
|
|
soft_dec_lut: None
|
|
sym_map: '[0, 1]'
|
|
w_imag_sect: '1'
|
|
w_real_sect: '1'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [495, 11]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: payload_mod
|
|
id: variable_constellation
|
|
parameters:
|
|
comment: ''
|
|
const_points: '[-1-1j, -1+1j, 1+1j, 1-1j]'
|
|
dims: '1'
|
|
precision: '8'
|
|
rot_sym: '4'
|
|
soft_dec_lut: None
|
|
sym_map: '[0, 1, 3, 2]'
|
|
type: 16qam
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [678, 11]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: pilot_offset
|
|
id: variable
|
|
parameters:
|
|
comment: ''
|
|
value: '256'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1333, 75]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: pilot_sequence
|
|
id: variable
|
|
parameters:
|
|
comment: ''
|
|
value: '[1.+1.j, 1.+1.j, -1.+1.j, 1.+1.j, -1.+1.j, 1.+1.j, 1.-1.j, -1.+1.j, 1.+1.j,
|
|
1.-1.j, 1.-1.j, 1.+1.j, -1.+1.j, 1.-1.j, 1.+1.j, -1.-1.j]'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1333, 11]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: preamble
|
|
id: variable
|
|
parameters:
|
|
comment: ''
|
|
value: '[(-1-1j), (1+1j), (1+1j), (1+1j), (-1-1j), (1+1j), (1+1j), (1+1j), (-1-1j),
|
|
(1+1j), (-1-1j), (1+1j), (1+1j), (1+1j), (-1-1j), (1+1j), (-1-1j), (-1-1j),
|
|
(1+1j), (-1-1j), (1+1j), (1+1j), (1+1j), (1+1j), (-1-1j), (1+1j), (1+1j), (1+1j),
|
|
(-1-1j), (-1-1j), (1+1j), (1+1j), (-1-1j), (1+1j), (1+1j), (-1-1j), (-1-1j),
|
|
(-1-1j), (1+1j), (-1-1j), (-1-1j), (1+1j), (-1-1j), (-1-1j), (1+1j), (-1-1j),
|
|
(-1-1j), (1+1j), (-1-1j), (1+1j), (1+1j), (1+1j), (1+1j), (1+1j), (-1-1j), (1+1j),
|
|
(-1-1j), (-1-1j), (-1-1j), (-1-1j), (-1-1j), (-1-1j), (1+1j), (1+1j), (1+1j),
|
|
(-1-1j), (-1-1j), (-1-1j), (-1-1j), (-1-1j), (1+1j), (-1-1j), (1+1j), (-1-1j),
|
|
(-1-1j), (1+1j), (-1-1j), (1+1j), (1+1j), (1+1j), (1+1j), (1+1j), (1+1j), (-1-1j),
|
|
(1+1j), (1+1j), (1+1j), (1+1j), (1+1j), (1+1j), (1+1j), (-1-1j), (-1-1j), (-1-1j),
|
|
(1+1j), (-1-1j), (1+1j), (1+1j), (-1-1j), (-1-1j), (-1-1j), (1+1j), (-1-1j),
|
|
(1+1j), (-1-1j), (-1-1j), (-1-1j), (1+1j), (1+1j), (-1-1j), (-1-1j), (1+1j),
|
|
(-1-1j), (-1-1j), (-1-1j), (-1-1j), (-1-1j), (1+1j), (1+1j), (-1-1j), (-1-1j),
|
|
(-1-1j), (-1-1j), (1+1j), (1+1j), (-1-1j), (-1-1j), (-1-1j)]'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1198, 11]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: rrc_taps
|
|
id: variable_rrc_filter_taps
|
|
parameters:
|
|
alpha: '0.35'
|
|
comment: ''
|
|
gain: '1.0'
|
|
ntaps: '51'
|
|
samp_rate: samp_rate
|
|
sym_rate: 150e3
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1054, 11]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: MTU
|
|
id: parameter
|
|
parameters:
|
|
alias: ''
|
|
comment: ''
|
|
hide: none
|
|
label: ''
|
|
short_id: ''
|
|
type: intx
|
|
value: '1000'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [311, 11]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: blocks_message_debug_0
|
|
id: blocks_message_debug
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [536, 240.0]
|
|
rotation: 0
|
|
state: disabled
|
|
- name: blocks_pdu_to_tagged_stream_0
|
|
id: blocks_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: [528, 500.0]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: blocks_repack_bits_bb_0
|
|
id: blocks_repack_bits_bb
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
align_output: 'False'
|
|
comment: ''
|
|
endianness: gr.GR_LSB_FIRST
|
|
k: '8'
|
|
l: payload_mod.bits_per_symbol()
|
|
len_tag_key: '"packet_len"'
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [790, 491]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: blocks_repack_bits_bb_0_0
|
|
id: blocks_repack_bits_bb
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
align_output: 'False'
|
|
comment: ''
|
|
endianness: gr.GR_LSB_FIRST
|
|
k: '1'
|
|
l: header_mod.bits_per_symbol()
|
|
len_tag_key: '"packet_len"'
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1192, 396.0]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: blocks_tagged_stream_mux_0
|
|
id: blocks_tagged_stream_mux
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
lengthtagname: '"packet_len"'
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
ninputs: '3'
|
|
tag_preserve_head_pos: '0'
|
|
type: complex
|
|
vlen: '1'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1980, 391]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: blocks_vector_source_x_0
|
|
id: blocks_vector_source_x
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
repeat: 'True'
|
|
tags: tagged_streams.make_lengthtags((len(preamble),), (0,), "packet_len")
|
|
type: complex
|
|
vector: preamble
|
|
vlen: '1'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1712, 260.0]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: digital_chunks_to_symbols_xx_0
|
|
id: digital_chunks_to_symbols_xx
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
dimension: '1'
|
|
in_type: byte
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
num_ports: '1'
|
|
out_type: complex
|
|
symbol_table: payload_mod.points()
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1496, 504.0]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: digital_chunks_to_symbols_xx_0_0
|
|
id: digital_chunks_to_symbols_xx
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: 'Dirty hack: scale symbols up
|
|
|
|
by roughly sqrt(2)'
|
|
dimension: '1'
|
|
in_type: byte
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
num_ports: '1'
|
|
out_type: complex
|
|
symbol_table: '[p*1.41 for p in header_mod.points()]'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1520, 408.0]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: digital_crc32_async_bb_0
|
|
id: digital_crc32_async_bb
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
check: 'False'
|
|
comment: ''
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [351, 394]
|
|
rotation: 0
|
|
state: bypassed
|
|
- name: digital_map_bb_0
|
|
id: digital_map_bb
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
map: payload_mod.pre_diff_code()
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1384, 500.0]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: digital_map_bb_0_0
|
|
id: digital_map_bb
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
map: header_mod.pre_diff_code()
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1376, 404.0]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: digital_packet_headergenerator_bb_0
|
|
id: digital_packet_headergenerator_bb
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
header_formatter: header_format_tx.base()
|
|
len_tag_key: '"packet_len"'
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [984, 396.0]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: fec_async_encoder_0
|
|
id: fec_async_encoder
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
encoder: fec_enc
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
mtu: MTU+5
|
|
packed: 'True'
|
|
rev_pack: 'True'
|
|
rev_unpack: 'True'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [526, 386]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: hamnet70_async_scrambler_0
|
|
id: hamnet70_async_scrambler
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
polynom: '0x38'
|
|
start: '0xFF'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [167, 386]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: hamnet70_insert_pilot_symbols_0
|
|
id: hamnet70_insert_pilot_symbols
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
length_tag: packet_len
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
offsets: '[len(preamble)+pilot_offset]'
|
|
pilot_sequence: pilot_sequence
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [2196, 403]
|
|
rotation: 0
|
|
state: bypassed
|
|
- name: hamnet70_symbol_interleaver_0
|
|
id: hamnet70_symbol_interleaver
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
interleaver_width: '64'
|
|
length_tag: packet_len
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
operation: interleave
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1728, 484.0]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: import_0
|
|
id: import
|
|
parameters:
|
|
alias: ''
|
|
comment: ''
|
|
imports: from gnuradio.digital.utils import tagged_streams
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [7, 115]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: interp_fir_filter_xxx_0
|
|
id: interp_fir_filter_xxx
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
interp: '2'
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
samp_delay: '0'
|
|
taps: rrc_taps
|
|
type: ccc
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [399, 690]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: pad_sink_0
|
|
id: pad_sink
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
label: baseband_out
|
|
num_streams: '1'
|
|
optional: 'False'
|
|
type: complex
|
|
vlen: '1'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [1014, 698]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: pad_source_0
|
|
id: pad_source
|
|
parameters:
|
|
affinity: ''
|
|
alias: ''
|
|
comment: ''
|
|
label: packet_in
|
|
maxoutbuf: '0'
|
|
minoutbuf: '0'
|
|
num_streams: '1'
|
|
optional: 'False'
|
|
type: message
|
|
vlen: '1'
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [23, 394]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: samp_rate
|
|
id: parameter
|
|
parameters:
|
|
alias: ''
|
|
comment: ''
|
|
hide: none
|
|
label: Sampling Rate
|
|
short_id: ''
|
|
type: ''
|
|
value: 300e3
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [191, 11]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: virtual_sink_0
|
|
id: virtual_sink
|
|
parameters:
|
|
alias: ''
|
|
comment: ''
|
|
stream_id: symbols
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [2404, 419]
|
|
rotation: 0
|
|
state: enabled
|
|
- name: virtual_source_0
|
|
id: virtual_source
|
|
parameters:
|
|
alias: ''
|
|
comment: ''
|
|
stream_id: symbols
|
|
states:
|
|
bus_sink: false
|
|
bus_source: false
|
|
bus_structure: null
|
|
coordinate: [16, 699]
|
|
rotation: 0
|
|
state: enabled
|
|
|
|
connections:
|
|
- [blocks_pdu_to_tagged_stream_0, '0', blocks_repack_bits_bb_0, '0']
|
|
- [blocks_repack_bits_bb_0, '0', digital_map_bb_0, '0']
|
|
- [blocks_repack_bits_bb_0, '0', digital_packet_headergenerator_bb_0, '0']
|
|
- [blocks_repack_bits_bb_0_0, '0', digital_map_bb_0_0, '0']
|
|
- [blocks_tagged_stream_mux_0, '0', hamnet70_insert_pilot_symbols_0, '0']
|
|
- [blocks_vector_source_x_0, '0', blocks_tagged_stream_mux_0, '0']
|
|
- [digital_chunks_to_symbols_xx_0, '0', hamnet70_symbol_interleaver_0, '0']
|
|
- [digital_chunks_to_symbols_xx_0_0, '0', blocks_tagged_stream_mux_0, '1']
|
|
- [digital_crc32_async_bb_0, out, blocks_message_debug_0, print_pdu]
|
|
- [digital_crc32_async_bb_0, out, fec_async_encoder_0, in]
|
|
- [digital_map_bb_0, '0', digital_chunks_to_symbols_xx_0, '0']
|
|
- [digital_map_bb_0_0, '0', digital_chunks_to_symbols_xx_0_0, '0']
|
|
- [digital_packet_headergenerator_bb_0, '0', blocks_repack_bits_bb_0_0, '0']
|
|
- [fec_async_encoder_0, out, blocks_pdu_to_tagged_stream_0, pdus]
|
|
- [hamnet70_async_scrambler_0, pdu_out, digital_crc32_async_bb_0, in]
|
|
- [hamnet70_insert_pilot_symbols_0, '0', virtual_sink_0, '0']
|
|
- [hamnet70_symbol_interleaver_0, '0', blocks_tagged_stream_mux_0, '2']
|
|
- [interp_fir_filter_xxx_0, '0', pad_sink_0, '0']
|
|
- [pad_source_0, out, hamnet70_async_scrambler_0, pdu_in]
|
|
- [virtual_source_0, '0', interp_fir_filter_xxx_0, '0']
|
|
|
|
metadata:
|
|
file_format: 1
|