Awesome
5G NR-ARFCN calculator
<p align="left"> <a href='https://pypi.org/project/nrarfcn/'> <img src='https://img.shields.io/pypi/v/nrarfcn' alt='PyPi Version' /> </a> <a href='https://pypi.org/project/nrarfcn/'> <img src='https://img.shields.io/pypi/dm/nrarfcn' alt='Downloads/Month' /> </a> </a> <a href='https://github.com/blevic/nrarfcn/actions/workflows/package-tests.yml'> <img src='https://github.com/blevic/nrarfcn/actions/workflows/package-tests.yml/badge.svg?branch=main' alt='Package Tests' /> </a> <a href='https://nrarfcn.readthedocs.io/en/latest/?badge=latest'> <img src='https://readthedocs.org/projects/nrarfcn/badge/?version=latest' alt='Documentation Status' /> </a> </p>nrarfcn
: a 5G NR-ARFCN calculator, as a Python package.
This is a Python package that calculates the frequency for a given NR-ARFCN, the NR-ARFCN for a given frequency, and related NR band information, according to 3GPP Rel-17.
It follows 3GPP TS 38.104 v17.6.0: "5G; NR; Base Station (BS) radio transmission and reception".
Documentation
nrarfcn
is documented on: nrarfcn.rtfd.io.
Installation
pip install nrarfcn
Usage
>>> import nrarfcn as nr
>>> nr.get_frequency(620000)
3300.0
>>> nr.get_nrarfcn(27500.0)
2070832
>>> nr.get_bands_by_frequency(1850.0)
['n2', 'n3', 'n25']
>>> nr.get_bands_by_nrarfcn(2564083)
['n263']
>>> nr.get_duplex_mode('n71')
'FDD'
>>> nr.get_nrarfcn_range('n25', direction='ul')
(370000, 383000)
>>> nr.get_frequency_range('n100', direction='dl')
(919.4, 925)
>>> nr.get_frequency_by_gscn(2156)
862.85
>>> nr.get_gscn_by_frequency(4405.440)
8475
>>> nr.get_gscn_range('n92')
(3584, 3787)
Contributing
Every contribution is welcome. Make any requests, raise any issues, create pull requests, or directly contact me on github.com/blevic/nrarfcn. I'll be happy to help.
Author
By the way, hi there! I'm Breno. Follow me on github: @blevic.
License
This software is licensed under the MIT license.