5G NR-ARFCN calculator
nrarfcn: a 5G NR-ARFCN and 4G LTE EARFCN calculator, as a Python package.
This is a Python package that calculates the frequency for a given NR-ARFCN or LTE EARFCN, the channel number for a given frequency, and related band information. 3GPP Rel-17 remains the default NR table release, and Rel-18 / Rel-19 can be selected with the optional release_3gpp argument. LTE/E-UTRA calculations use Rel-19 by default.
It follows 3GPP TS 38.104: v17.6.0 by default, with v18.13.0 and v19.4.0 available when requested. For 4G/LTE EARFCN, 3GPP TS 36.104 v19.2.0 is used.
Documentation
nrarfcn is documented on: nrarfcn.rtfd.io.
Installation
pip install nrarfcn
Usage
5G NR
>>> 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)
>>> nr.get_frequency_range('n110', release_3gpp=19)
(1432, 1435)
4G LTE / E-UTRA
>>> import nrarfcn as nr
>>> nr.get_frequency_by_lte_earfcn(300)
2140.0
>>> nr.get_lte_earfcn_by_frequency(2140.0)
[300, 2250, 4450, 65836, 66736]
>>> nr.get_lte_bands_by_frequency(1850.0)
['B2', 'B3', 'B9', 'B25', 'B35']
>>> nr.get_band_by_lte_earfcn(300)
'B1'
>>> nr.get_lte_earfcn_range('B25', direction='ul')
(26040, 26689)
>>> nr.get_duplex_mode('B66')
'FDD'
>>> nr.get_frequency_range('B66', direction='dl')
(2110, 2200)
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.
Metadata
Release files for nrarfcn 2.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nrarfcn-2.6.0.tar.gz | 32.1 kB | Without provenance | Details for nrarfcn-2.6.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nrarfcn-2.6.0-py3-none-any.whl | Python 3 | none | any | Details for nrarfcn-2.6.0-py3-none-any.whl |
Total release size: 74.3 kB
Release files / nrarfcn-2.6.0.tar.gz
| Download URL | nrarfcn-2.6.0.tar.gz |
|---|---|
| Size | 32.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c4202dc5dcc324a3fd0bce3288ccbcb51e4f27eed536f118949368670743cee
|
|
BLAKE2b-256 checksum How to use checksums |
8e0b4caedaa8dcb4d4630d1ad0614ddc9305dbcd106918a638b1a55a349e1622
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / nrarfcn-2.6.0-py3-none-any.whl
| Download URL | nrarfcn-2.6.0-py3-none-any.whl |
|---|---|
| Size | 42.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9f7153cded40fb09969bf9ab9a5d2c76981e8e728ca8086e71c501880f981b75
|
|
BLAKE2b-256 checksum How to use checksums |
f1170f2d6538e4084b7e25e3ede803e1dc0abccaaec85d871fc0b5bd74f9c929
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Security for nrarfcn 2.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.