Skip to content

Commit

Permalink
tutorials, ntn: add GEO NTN app note
Browse files Browse the repository at this point in the history
  • Loading branch information
Piotr Gawłowicz authored and brendan-mcauliffe committed May 16, 2024
1 parent fef0731 commit 4eba1d1
Show file tree
Hide file tree
Showing 14 changed files with 1,341 additions and 2 deletions.
4 changes: 2 additions & 2 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Useful resources:
tutorials/source/dpdk/source/index.rst
tutorials/source/k8s/source/index.rst
tutorials/source/handover/source/index.rst
tutorials/source/ntn/source/index.rst
tutorials/source/oranRU/source/index.rst
tutorials/source/near-rt-ric/source/index.rst
tutorials/source/matlab/source/index.rst

tutorials/source/matlab/source/index.rst
1 change: 1 addition & 0 deletions docs/source/tutorials/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ Tutorials
amariUE/source/index.rst
oranRU/source/index.rst
near-rt-ric/source/index.rst
ntn/source/index.rst
24 changes: 24 additions & 0 deletions docs/source/tutorials/source/ntn/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SOURCEDIR = source
BUILDDIR = build

# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
7 changes: 7 additions & 0 deletions docs/source/tutorials/source/ntn/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# zeromq-docs
The docs of the application note require sphinx, and the sphinx-seqdiag and sphinx-blockdiag extensions.

On Ubuntu, you can do:
sudo apt install python-sphinx python-sphinxcontrib.seqdiag python-sphinxcontrib.blockdiag

To make the documentation do 'make html' on the main norf folder
31 changes: 31 additions & 0 deletions docs/source/tutorials/source/ntn/source/.config/geo_ntn.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
cell_cfg:
sib:
si_window_length: 40 # Set SI Window Length.
si_sched_info:
- si_period: 16 # Set SIB19 period.
sib_mapping: 19 # Enable SIB19.
pucch:
sr_period_ms: 320 # Set Scheduling Request period.
csi:
csi_rs_period: 80 # Set CSI-RS report period.
pdsch:
nof_harqs: 16 # Sets the number of Downlink HARQ processes.
max_nof_harq_retxs: 0 # Disable HARQ retransmissions.
prach:
prach_config_index: 31 # Use Preamble Format 1 to improve the timing robustness
max_msg3_harq_retx: 0 # Disable Msg3 HARQ retransmissions.

cu_cp:
rrc:
rrc_procedure_timeout_ms: 12800 # Set high RRC timeout value.

ntn:
cell_specific_koffset: 239 # Cell-specific k-offset.
ta_common: 0 # TA common offset.
ephemeris_info_ecef: # Satellite ephemeris in position and velocity state vector format.
pos_x: -28105880
pos_y: 31509747
pos_z: -1691895
vel_x: 34
vel_y: 9
vel_z: -385
Original file line number Diff line number Diff line change
@@ -0,0 +1,274 @@
options:
parameters:
author: ''
catch_exceptions: 'True'
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
copyright: ''
description: ''
gen_cmake: 'On'
gen_linking: dynamic
generate_options: no_gui
hier_block_src_path: '.:'
id: geo_ntn_channel_emulator
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: GEO NTN Channel Emulator
window_size: ''
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [8, 8]
rotation: 0
state: enabled

blocks:
- name: channel_delay_samples
id: variable
parameters:
comment: ''
value: int(samp_rate*1e-6*channel_delay_us)
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [24, 324.0]
rotation: 0
state: enabled
- name: blocks_delay_0
id: blocks_delay
parameters:
affinity: ''
alias: ''
comment: ''
delay: channel_delay_samples
maxoutbuf: '0'
minoutbuf: '0'
num_ports: '1'
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [784, 104.0]
rotation: 0
state: true
- name: blocks_delay_0_0
id: blocks_delay
parameters:
affinity: ''
alias: ''
comment: ''
delay: channel_delay_samples
maxoutbuf: '0'
minoutbuf: '0'
num_ports: '1'
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [784, 352.0]
rotation: 0
state: true
- name: blocks_throttle_0
id: blocks_throttle
parameters:
affinity: ''
alias: ''
comment: ''
ignoretag: 'True'
maxoutbuf: '0'
minoutbuf: '0'
samples_per_second: samp_rate
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [512, 100.0]
rotation: 0
state: enabled
- name: blocks_throttle_0_0
id: blocks_throttle
parameters:
affinity: ''
alias: ''
comment: ''
ignoretag: 'True'
maxoutbuf: '0'
minoutbuf: '0'
samples_per_second: samp_rate
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [512, 348.0]
rotation: 0
state: enabled
- name: channel_delay_us
id: parameter
parameters:
alias: ''
comment: ''
hide: none
label: ''
short_id: ''
type: intx
value: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [24, 228.0]
rotation: 0
state: true
- name: note_0
id: note
parameters:
alias: ''
comment: ''
note: 'DL: SAT -> UE Link'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [640, 20.0]
rotation: 0
state: true
- name: note_0_0
id: note
parameters:
alias: ''
comment: ''
note: 'UL: UE -> SAT Link'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [640, 284.0]
rotation: 0
state: true
- name: samp_rate
id: parameter
parameters:
alias: ''
comment: ''
hide: none
label: ''
short_id: ''
type: eng_float
value: 5.76e6
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [24, 132.0]
rotation: 0
state: true
- name: zeromq_rep_sink_0
id: zeromq_rep_sink
parameters:
address: tcp://127.0.0.1:2100
affinity: ''
alias: ''
comment: ''
hwm: '-1'
pass_tags: 'False'
timeout: '100'
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1008, 100.0]
rotation: 0
state: true
- name: zeromq_rep_sink_0_0
id: zeromq_rep_sink
parameters:
address: tcp://127.0.0.1:2001
affinity: ''
alias: ''
comment: ''
hwm: '-1'
pass_tags: 'False'
timeout: '100'
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1000, 348.0]
rotation: 0
state: true
- name: zeromq_req_source_0
id: zeromq_req_source
parameters:
address: tcp://127.0.0.1:2000
affinity: ''
alias: ''
comment: ''
hwm: '-1'
maxoutbuf: '0'
minoutbuf: '0'
pass_tags: 'False'
timeout: '100'
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [240, 84.0]
rotation: 0
state: true
- name: zeromq_req_source_0_0
id: zeromq_req_source
parameters:
address: tcp://127.0.0.1:2101
affinity: ''
alias: ''
comment: ''
hwm: '-1'
maxoutbuf: '0'
minoutbuf: '0'
pass_tags: 'False'
timeout: '100'
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [240, 332.0]
rotation: 0
state: true

connections:
- [blocks_delay_0, '0', zeromq_rep_sink_0, '0']
- [blocks_delay_0_0, '0', zeromq_rep_sink_0_0, '0']
- [blocks_throttle_0, '0', blocks_delay_0, '0']
- [blocks_throttle_0_0, '0', blocks_delay_0_0, '0']
- [zeromq_req_source_0, '0', blocks_throttle_0, '0']
- [zeromq_req_source_0_0, '0', blocks_throttle_0_0, '0']

metadata:
file_format: 1

0 comments on commit 4eba1d1

Please sign in to comment.