hamnet70-gnuradio-legacy/grc/hamnet70_mod_sc16qam.grc
Thomas Kolb c805bee1fb New preamble and header modulation to assist phase tracking
Also, the new symbols give more power to the sync parts, which should
make the sync more robust.
2019-09-25 23:53:36 +02:00

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