Skip to main content

UAV-NOMA System Model

Project description

System Model of UAV-NOMA System with Two-users

Build Status codecov

A Python 3.8 implementation of the System Model of Unmanned Aerial Vehicle with Non-Orthogonal Multiple Access (UAV-NOMA) System and 2 ground users under considerations of non-ideal conditions, such as imperfect successive interference cancelation (SIC) and residual hardware impairments (RHI). We consider a downlink UAV-aided NOMA network, as illustrated in the figure below.

System model.

Features

The uavnoma package allows the user to study the modeling of a UAV-NOMA network and use it as a basis for implementing other technologies. This application can be used as a study tool to understand the behavior of the achievable rate by two users and the influence of the allocation of power coefficients in a UAV-NOMA system under non-ideal conditions. The communication model presented is a base of UAV-NOMA principles and can be expanded to several other scenarios, such as cooperative systems, full-duplex communication, and others in order to improve system performance.

The user can modify parameters and analyze the system's behavior. Based on this, new methods can be proposed to solve UAV trajectory problems, power allocation, user pairing, energy harvesting for UAV maintenance, decoding order and others.

The package contains functions to:

  • Calculate the position of the UAV and users;
  • Generate the channel gain between UAV and users;
  • Calculate of the Signal Interference Noise Ratio (SINR);
  • Analyze system performance using as metrics the instantaneous achievable rate and outage probability.

A command line script is also included, allowing for anyone to experiment with the model without knowing or using Python. The user can run a simulation with default parameters using the following command:

uavnoma

The script is fully parameterizable, and the available parameters can be listed with:

uavnoma --help

Requirements

The implementation requires Python 3.8+ to run. The following libraries are also required:

  • numpy
  • matplotlib
  • pandas
  • tabulate
  • argparse

How to install

From PyPI

pip install uavnoma

From source/GitHub

Directly using pip:

pip install git+https://github.com/limabrena/uavnoma.git#egg=uavnoma

Or each step at a time:

git clone https://github.com/limabrena/uavnoma.git
cd uavnoma
pip install .

Installing for development and/or improving the package

git clone https://github.com/limabrena/uavnoma.git
cd uavnoma
pip install -e .[dev]

This way, the package is installed in development mode. As a result, the pytest dependencies/plugins are also installed.

Documentation

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uavnoma-1.0.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uavnoma-1.0.0-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file uavnoma-1.0.0.tar.gz.

File metadata

  • Download URL: uavnoma-1.0.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.7.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for uavnoma-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6aa55d3d73f2cd112e8774b82dd90b35194637b1f96b0a2c8a1e7f2c187172f9
MD5 43953be050c4c8ae649081943f6e345d
BLAKE2b-256 76b2ab4746044f5f2efbedcc74b623bac1b62814adc2b2e8adca4145881e848e

See more details on using hashes here.

File details

Details for the file uavnoma-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: uavnoma-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.7.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for uavnoma-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb2c416707f2001699694a90e447635597fbf5cfd0b509d31d4facd9181f2f71
MD5 d845969e54aebbe31be35450ac9df38d
BLAKE2b-256 d791333acef9914d765b0e90ab0aa979a46cf63dbbdd24246b4e0dc2cd6148e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page