Skip to content

Commit

Permalink
Merge branch '2024-fall-release' into 'master'
Browse files Browse the repository at this point in the history
  • Loading branch information
adlerjan committed Dec 19, 2024
2 parents 2a95541 + b134900 commit 9caa557
Show file tree
Hide file tree
Showing 371 changed files with 1,102 additions and 830 deletions.
2 changes: 1 addition & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
GIT_SUBMODULE_STRATEGY: recursive
HERMES_WHEEL_12: "hermespy-$HERMES_VERSION-cp312-cp312-linux_x86_64.whl"
HERMES_VERSION: "1.3.0"
HERMES_VERSION: "1.4.0"
HERMES_WHEEL_11: "hermespy-$HERMES_VERSION-cp311-cp311-linux_x86_64.whl"
HERMES_WHEEL_10: "hermespy-$HERMES_VERSION-cp310-cp310-linux_x86_64.whl"
PYDEVD_DISABLE_FILE_VALIDATION: 1
Expand Down
6 changes: 5 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)

project(${SKBUILD_PROJECT_NAME} VERSION ${SKBUILD_PROJECT_VERSION} LANGUAGES CXX)


# Workaround for building shared libraries on Windows
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
Expand All @@ -25,5 +26,8 @@ set(CLI_COMPILE_SHARED_LIB ON CACHE INTERNAL "Disable CLI" FORCE)
add_subdirectory(submodules/affect)
add_subdirectory(hermespy/fec/aff3ct)

install(TARGETS aff3ct-shared-lib LIBRARY DESTINATION ${SKBUILD_PROJECT_NAME}/fec/aff3ct/ COMPONENT PythonModule)
if (WIN32)
install(TARGETS aff3ct-shared-lib LIBRARY DESTINATION ${SKBUILD_PROJECT_NAME}/fec/aff3ct/ COMPONENT PythonModule)
endif()

install(TARGETS ldpc polar rs rsc turbo bch LIBRARY DESTINATION ${SKBUILD_PROJECT_NAME}/fec/aff3ct/ COMPONENT PythonModule)
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ adjacent-channel interference among different communication systems.

## Features

The current release version 1.3.0 serves as a platform for joint development.
The current release version 1.4.0 serves as a platform for joint development.
Its main focus is to provide a software architecture that can be easily extended.
Detailed core features as well as a release plan can be found in the
[features](https://hermespy.org/features.html) list.
Expand Down
2 changes: 1 addition & 1 deletion docssource/api/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The subpackages may have interdependencies, but in general, the root of dependen
channel/channel
simulation
hardware_loop
core
core/core
fec
jcas
beamforming
Expand Down
2 changes: 1 addition & 1 deletion docssource/api/channel/cdl/cluster_delay_lines.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Both the NLOS and LOS components
\right)
\end{split}
are functions of the two :doc:`Antennas'</api/core.antennas>` polarization :meth:`characteristics<hermespy.core.antennas.Antenna.local_characteristics>`
are functions of the two :doc:`Antennas'</api/core/antennas>` polarization :meth:`characteristics<hermespy.core.antennas.Antenna.local_characteristics>`
:math:`\mathbf{F}^{(a)}(\theta, \phi)`
towards angle-of-arrival :math:`\theta_{\mathrm{ZOA}}, \phi_{\mathrm{AOA}}`
and angle-of-departure :math:`\theta_{\mathrm{ZOD}}, \phi_{\mathrm{AOD}}`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ directly.
The following minimal example outlines how to configure the channel model
within the context of a :class:`Simulation<hermespy.simulation.simulation.Simulation>`:

.. literalinclude:: ../../../scripts/examples/channel_MultipathFadingChannel.py
.. literalinclude:: ../../../scripts/examples/channel_fading_fading.py
:language: python
:linenos:
:lines: 12-40
Expand Down
8 changes: 6 additions & 2 deletions docssource/api/channel/sionna-rt.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,12 @@ within the context of a :class:`Simulation<hermespy.simulation.simulation.Simula
.. literalinclude:: ../../scripts/examples/channel_SionnaRT.py
:language: python
:linenos:
:lines: 11-36
:lines: 12-36

.. autoclass:: hermespy.channel.fading.exponential.Exponential
.. autoclass:: hermespy.channel.sionna_rt_channel.SionnaRTChannel

.. autoclass:: hermespy.channel.sionna_rt_channel.SionnaRTChannelRealization

.. autoclass:: hermespy.channel.sionna_rt_channel.SionnaRTChannelSample

.. footbibliography::
7 changes: 0 additions & 7 deletions docssource/api/core.antennas.rst

This file was deleted.

7 changes: 0 additions & 7 deletions docssource/api/core.channel_state_information.rst

This file was deleted.

3 changes: 0 additions & 3 deletions docssource/api/core.definitions.rst

This file was deleted.

19 changes: 0 additions & 19 deletions docssource/api/core.device.Device.rst

This file was deleted.

7 changes: 0 additions & 7 deletions docssource/api/core.drop.Drop.rst

This file was deleted.

3 changes: 0 additions & 3 deletions docssource/api/core.executable.rst

This file was deleted.

3 changes: 0 additions & 3 deletions docssource/api/core.factory.rst

This file was deleted.

3 changes: 0 additions & 3 deletions docssource/api/core.logarithmic.rst

This file was deleted.

3 changes: 0 additions & 3 deletions docssource/api/core.operators.rst

This file was deleted.

3 changes: 0 additions & 3 deletions docssource/api/core.pipeline.rst

This file was deleted.

3 changes: 0 additions & 3 deletions docssource/api/core.random_node.rst

This file was deleted.

36 changes: 0 additions & 36 deletions docssource/api/core.rst

This file was deleted.

3 changes: 0 additions & 3 deletions docssource/api/core.scenario.rst

This file was deleted.

7 changes: 0 additions & 7 deletions docssource/api/core.signal_model.Signal.rst

This file was deleted.

3 changes: 0 additions & 3 deletions docssource/api/core.transformation.rst

This file was deleted.

3 changes: 0 additions & 3 deletions docssource/api/core.visualize.rst

This file was deleted.

44 changes: 44 additions & 0 deletions docssource/api/core/antennas.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
=====================
Antenna Descriptions
=====================

.. inheritance-diagram:: hermespy.core.antennas.Antenna hermespy.core.antennas.IdealAntenna hermespy.core.antennas.PatchAntenna hermespy.core.antennas.Dipole
:parts: 1
:top-classes: hermespy.core.transformation.Transformable, hermespy.core.factory.Serializable

.. inheritance-diagram:: hermespy.core.antennas.AntennaArrayBase hermespy.core.antennas.AntennaArrayState hermespy.core.antennas.AntennaArray hermespy.core.antennas.UniformArray hermespy.core.antennas.CustomAntennaArray hermespy.core.antennas.AntennaPort
:parts: 1
:top-classes: collections.abc.Sequence, hermespy.core.transformation.Transformable


.. autoclass:: hermespy.core.antennas.Antenna

.. autoclass:: hermespy.core.antennas.IdealAntenna

.. autoclass:: hermespy.core.antennas.LinearAntenna

.. autoclass:: hermespy.core.antennas.PatchAntenna

.. autoclass:: hermespy.core.antennas.Dipole

.. autoclass:: hermespy.core.antennas.AntennaArrayBase

.. autoclass:: hermespy.core.antennas.AntennaArrayState

.. autoclass:: hermespy.core.antennas.AntennaArray

.. autoclass:: hermespy.core.antennas.UniformArray

.. autoclass:: hermespy.core.antennas.CustomAntennaArray

.. autoclass:: hermespy.core.antennas.AntennaPort

.. autoclass:: hermespy.core.antennas.AntennaMode

.. autoclass:: hermespy.core.antennas.AT

.. autoclass:: hermespy.core.antennas.AAT

.. autoclass:: hermespy.core.antennas.APT

.. footbibliography::
16 changes: 16 additions & 0 deletions docssource/api/core/channel.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
=========================
Channel State Information
=========================

.. inheritance-diagram:: hermespy.core.channel.ChannelStateInformation
:parts: 1

Channel state information is HermesPy's representation of the information describing a wireless propagation channel between two devices and their respective antenna arrays.

.. autoclass:: hermespy.core.channel.ChannelStateInformation

.. autoclass:: hermespy.core.channel.ChannelStateFormat

.. autoclass:: hermespy.core.channel.ChannelStateDimension

.. footbibliography::
30 changes: 30 additions & 0 deletions docssource/api/core/core.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
====
Core
====

The core module of HermesPy provides all basic functionalities of the simulator.

It is split into several interdependent sub-modules:

.. toctree::
:maxdepth: 1

device
scenario
monte_carlo
signal
antennas
channel
drop
factory
hooks
operators
precoding
random_node
state
transformation
visualize
executable
pipeline
logarithmic
definitions
11 changes: 11 additions & 0 deletions docssource/api/core/definitions.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
===================
General Definitions
===================

.. inheritance-diagram:: hermespy.core.definitions.ConsoleMode

This file contains several definitions that are used throughout the HermesPy API.

.. autoclass:: hermespy.core.definitions.ConsoleMode

.. footbibliography::
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
16 changes: 16 additions & 0 deletions docssource/api/core/device.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
============
Device Model
============

.. inheritance-diagram:: hermespy.core.device.Device
:parts: 1

.. autoclass:: hermespy.core.device.Device

.. toctree::
:hidden:
:glob:

device.*

.. footbibliography::
17 changes: 17 additions & 0 deletions docssource/api/core/drop.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
=====
Drop
=====

.. inheritance-diagram:: hermespy.core.drop.Drop hermespy.core.drop.EvaluatedDrop
:parts: 1

Drops are the main data structure in HermesPy that represent the results of a full simulation scenario run.
It contains all signal models at different states of the signal processing as well as the information generated by the final digtial processing layers.

.. autoclass:: hermespy.core.drop.Drop

.. autoclass:: hermespy.core.drop.EvaluatedDrop

.. autoclass:: hermespy.core.drop.DropType

.. footbibliography::
12 changes: 12 additions & 0 deletions docssource/api/core/executable.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
===========
Executable
===========

.. inheritance-diagram:: hermespy.core.executable.Executable
:parts: 1

Base class of all executable entry points in HermesPy.

.. autoclass:: hermespy.core.executable.Executable

.. footbibliography::
Loading

0 comments on commit 9caa557

Please sign in to comment.