AX.25 BPSK loopback using gr-satellites
AX.25 over BPSK, transmitted and received in one flowgraph
- Author Daniel Estevez
- Category gr-satellites
- Blocks 20
- Connections 15
- File
gr-satellites/satellites_ax25_bpsk.grc
Blocks used
| Block | Module | Used |
|---|---|---|
| Variable | GNU Radio | 3 |
| Binary Slicer | GNU Radio | 1 |
| BPSK Demodulator | gr-satellites | 1 |
| Constellation Modulator | GNU Radio | 1 |
| Constellation Object | GNU Radio | 1 |
| HDLC Deframer | gr-satellites | 1 |
| HDLC Framer | gr-satellites | 1 |
| Message Debug | GNU Radio | 1 |
| NRZI Decode | gr-satellites | 1 |
| NRZI Encode | gr-satellites | 1 |
| PDU To Stream | GNU Radio | 1 |
| QT GUI Frequency Sink | GNU Radio | 1 |
| QT GUI Time Sink | GNU Radio | 1 |
| Stream to Tagged Stream | GNU Radio | 1 |
| Tagged Stream to PDU | GNU Radio | 1 |
| Throttle | GNU Radio | 1 |
| Unpacked to Packed | GNU Radio | 1 |
| Vector Source | GNU Radio | 1 |
Flowgraph source
gr-satellites/satellites_ax25_bpsk.grc
options:
parameters:
author: Daniel Estevez
copyright: ''
description: AX.25 over BPSK, transmitted and received in one flowgraph
generate_options: qt_gui
id: AX_25_BPSK_loopback_using_gr_satellites
title: AX.25 BPSK loopback using gr-satellites
states:
coordinate: [10, 10]
rotation: 0
state: enabled
blocks:
- name: baudrate
id: variable
parameters:
comment: ''
value: samp_rate/samp_per_sym
states:
coordinate: [600, 10]
rotation: 0
state: enabled
- name: samp_per_sym
id: variable
parameters:
comment: ''
value: '8'
states:
coordinate: [770, 10]
rotation: 0
state: enabled
- name: samp_rate
id: variable
parameters:
comment: ''
value: '9600'
states:
coordinate: [970, 10]
rotation: 0
state: enabled
- name: bpsk_const
id: variable_constellation
parameters:
affinity: ''
alias: ''
comment: ''
const_points: '[]'
dims: '1'
normalization: digital.constellation.AMPLITUDE_NORMALIZATION
npwr: '1'
precision: '8'
rot_sym: '2'
soft_dec_lut: '"auto"'
sym_map: '[]'
type: bpsk
states:
coordinate: [1140, 10]
rotation: 0
state: enabled
- name: bpsk_demod
id: satellites_bpsk_demodulator
parameters:
affinity: ''
alias: ''
baudrate: baudrate
comment: ''
differential: 'False'
f_offset: '0'
iq: 'True'
manchester: 'False'
maxoutbuf: '0'
minoutbuf: '0'
options: '""'
samp_rate: samp_rate
states:
coordinate: [1390, 430]
rotation: 0
state: enabled
- name: frame_tagger
id: blocks_stream_to_tagged_stream
parameters:
affinity: ''
alias: ''
comment: ''
len_tag_key: packet_len
maxoutbuf: '0'
minoutbuf: '0'
packet_len: '31'
type: byte
vlen: '1'
states:
coordinate: [690, 270]
rotation: 0
state: enabled
- name: framed_bits
id: pdu_pdu_to_stream_x
parameters:
affinity: ''
alias: ''
comment: ''
depth: '4096'
early_behavior: pdu.EARLY_BURST_APPEND
maxoutbuf: '0'
minoutbuf: '0'
type: byte
states:
coordinate: [100, 460]
rotation: 0
state: enabled
- name: frames
id: blocks_message_debug
parameters:
affinity: ''
alias: ''
comment: ''
en_uvec: 'True'
log_level: info
states:
coordinate: [1180, 770]
rotation: 0
state: enabled
- name: hdlc_deframer
id: satellites_hdlc_deframer
parameters:
affinity: ''
alias: ''
check_fcs: 'True'
comment: ''
max_length: '10000'
maxoutbuf: '0'
minoutbuf: '0'
states:
coordinate: [690, 860]
rotation: 0
state: enabled
- name: hdlc_framer
id: satellites_hdlc_framer
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
postamble_bytes: '7'
preamble_bytes: '50'
states:
coordinate: [1450, 270]
rotation: 0
state: enabled
- name: modulator
id: digital_constellation_modulator
parameters:
affinity: ''
alias: ''
comment: ''
constellation: bpsk_const
differential: 'False'
excess_bw: '0.35'
log: 'False'
maxoutbuf: '0'
minoutbuf: '0'
samples_per_symbol: samp_per_sym
truncate: 'False'
verbose: 'False'
states:
coordinate: [1010, 410]
rotation: 0
state: enabled
- name: nrzi_decode
id: satellites_nrzi_decode
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
states:
coordinate: [440, 860]
rotation: 0
state: enabled
- name: nrzi_encode
id: satellites_nrzi_encode
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
states:
coordinate: [430, 460]
rotation: 0
state: enabled
- name: pack
id: blocks_unpacked_to_packed_xx
parameters:
affinity: ''
alias: ''
bits_per_chunk: '1'
comment: ''
endianness: gr.GR_MSB_FIRST
maxoutbuf: '0'
minoutbuf: '0'
num_ports: '1'
type: byte
states:
coordinate: [680, 460]
rotation: 0
state: enabled
- name: payload
id: blocks_vector_source_x
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
repeat: 'True'
tags: '[]'
type: byte
vector: '[130, 160, 144, 100, 96, 100, 96, 154, 96, 168, 144, 152, 64, 97, 3, 240, 72, 101, 108, 108, 111, 32, 102, 114, 111, 109, 32, 66, 80, 83, 75]'
vlen: '1'
states:
coordinate: [10, 260]
rotation: 0
state: enabled
- name: payload_throttle
id: blocks_throttle2
parameters:
affinity: ''
alias: ''
comment: ''
ignoretag: 'True'
limit: auto
maximum: '0.1'
maxoutbuf: '0'
minoutbuf: '0'
samples_per_second: samp_rate
type: byte
vlen: '1'
states:
coordinate: [360, 250]
rotation: 0
state: enabled
- name: slicer
id: digital_binary_slicer_fb
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
states:
coordinate: [80, 860]
rotation: 0
state: enabled
- name: spectrum
id: qtgui_freq_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1'
autoscale: 'False'
average: '0.2'
axislabels: 'True'
color1: '"blue"'
comment: ''
ctrlpanel: 'False'
fc: '0'
fftsize: '2048'
grid: 'True'
label1: BPSK signal
legend: 'True'
marker1: '-1'
maxoutbuf: '0'
minoutbuf: '0'
name: Transmitted BPSK spectrum
samp_rate: samp_rate
style1: '1'
tr_chan: '0'
tr_level: '0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_tag: ''
update_time: '0.1'
width1: '1'
ymax: '10'
ymin: '-100'
states:
coordinate: [1390, 590]
rotation: 0
state: enabled
- name: symbol_scope
id: qtgui_time_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1'
alpha2: '1'
autoscale: 'True'
axislabels: 'True'
color1: blue
color2: red
comment: ''
ctrlpanel: 'False'
grid: 'False'
label1: Signal 1
label2: Signal 2
legend: 'True'
marker1: '0'
marker2: '0'
name: Recovered soft symbols
samp_rate: baudrate
size: '256'
stemplot: 'False'
style1: '1'
style2: '1'
tr_chan: '0'
tr_delay: '0'
tr_level: '0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: ''
type: float
update_time: '0.1'
width1: '1'
width2: '1'
ylabel: Amplitude
ymax: '2'
ymin: '-2'
yunit: ''
states:
coordinate: [80, 960]
rotation: 0
state: enabled
- name: to_pdu
id: pdu_tagged_stream_to_pdu
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
tag: packet_len
type: byte
states:
coordinate: [1070, 270]
rotation: 0
state: enabled
connections:
- [bpsk_demod, '0', slicer, '0']
- [bpsk_demod, '0', symbol_scope, '0']
- [frame_tagger, '0', to_pdu, '0']
- [framed_bits, '0', nrzi_encode, '0']
- src_blk_id: hdlc_deframer
src_port_id: out
snk_blk_id: frames
snk_port_id: print_pdu
- src_blk_id: hdlc_framer
src_port_id: out
snk_blk_id: framed_bits
snk_port_id: pdus
- [modulator, '0', bpsk_demod, '0']
- [modulator, '0', spectrum, '0']
- [nrzi_decode, '0', hdlc_deframer, '0']
- [nrzi_encode, '0', pack, '0']
- [pack, '0', modulator, '0']
- [payload, '0', payload_throttle, '0']
- [payload_throttle, '0', frame_tagger, '0']
- [slicer, '0', nrzi_decode, '0']
- src_blk_id: to_pdu
src_port_id: pdus
snk_blk_id: hdlc_framer
snk_port_id: in
metadata:
file_format: 2
grc_version: 3.11.0.0