UAV-NOMA System Model
Project description
System Model of UAV-NOMA System with Two-users
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.
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:
numpymatplotlibpandastabulateargparse
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6aa55d3d73f2cd112e8774b82dd90b35194637b1f96b0a2c8a1e7f2c187172f9
|
|
| MD5 |
43953be050c4c8ae649081943f6e345d
|
|
| BLAKE2b-256 |
76b2ab4746044f5f2efbedcc74b623bac1b62814adc2b2e8adca4145881e848e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb2c416707f2001699694a90e447635597fbf5cfd0b509d31d4facd9181f2f71
|
|
| MD5 |
d845969e54aebbe31be35450ac9df38d
|
|
| BLAKE2b-256 |
d791333acef9914d765b0e90ab0aa979a46cf63dbbdd24246b4e0dc2cd6148e9
|