A python module for referencing ARFCNs in GSM
Project description
arfcnreference
---------------
.. image:: https://travis-ci.org/sitch-io/arfcn-reference.svg?branch=master
:target: https://travis-ci.org/sitch-io/arfcn-reference
.. image:: https://codeclimate.com/github/sitch-io/arfcn-reference/badges/coverage.svg
:target: https://codeclimate.com/github/sitch-io/arfcn-reference/coverage
:alt: Test Coverage
.. image:: https://codeclimate.com/github/sitch-io/arfcn-reference/badges/gpa.svg
:target: https://codeclimate.com/github/sitch-io/arfcn-reference
:alt: Code Climate
.. image:: https://codeclimate.com/github/sitch-io/arfcn-reference/badges/issue_count.svg
:target: https://codeclimate.com/github/sitch-io/arfcn-reference
:alt: Issue Count
ARFCN reference Python module
=============================
This Python module contains a reference for all GSM channels by ARFCN.
Installation:
_____________
pip install arfcnreference
Usage:
______
Get a channel by uplink frequency:
::
>>> import arfcnreference
>>> arf_ref = arfcnreference.ArfcnReference()
>>> arf_ref.get_for_uplink(890.2)
{'band': 'GSM-900', 'downlink': 935.2, 'channel': 1}
>>> arf_ref.get_for_downlink(887.4)
{'band': 'EGSM-900', 'uplink': 887.4, 'channel': 1011}
Frequencies are returned in MHz.
Getting channels for a range of frequencies:
::
>>> for x in arf_ref.arfcn_for_downlink_range(842, 942):
... print x
...
{'1853': {'band': 'GSM-1900', 'uplink': 1853, 'channel': 526}}
{'1867': {'band': 'GSM-1900', 'uplink': 1867, 'channel': 596}}
{'1855': {'band': 'GSM-1900', 'uplink': 1855, 'channel': 536}}
{'1868': {'band': 'GSM-1900', 'uplink': 1868, 'channel': 601}}
(and so on)
Getting all channels in a band:
::
>>> for x in arf_ref.channels_in_band("GSM-850"):
... print x
...
{'downlink': 869.2, 'uplink': 824.2, 'channel': 128}
{'downlink': 869.4, 'uplink': 824.4, 'channel': 129}
{'downlink': 869.6, 'uplink': 824.6, 'channel': 130}
{'downlink': 869.8, 'uplink': 824.8, 'channel': 131}
{'downlink': 870, 'uplink': 825, 'channel': 132}
(and so on)
Testing:
________
run `py.test` from the root of this repo.
Special thanks:
_______________
The reference information was lifted, with gratitude, from http://gnuradio.org/redmine/attachments/115/all_gsm_channels_arfcn.txt
Changelog
=========
v0.1
----
New
~~~
- First working commit, provides GSM channel info. Queryable by
frequency, channel number, band, and range of frequencies. [Ash
Wilson]
Other
~~~~~
- Initial commit. [Ash Wilson]
---------------
.. image:: https://travis-ci.org/sitch-io/arfcn-reference.svg?branch=master
:target: https://travis-ci.org/sitch-io/arfcn-reference
.. image:: https://codeclimate.com/github/sitch-io/arfcn-reference/badges/coverage.svg
:target: https://codeclimate.com/github/sitch-io/arfcn-reference/coverage
:alt: Test Coverage
.. image:: https://codeclimate.com/github/sitch-io/arfcn-reference/badges/gpa.svg
:target: https://codeclimate.com/github/sitch-io/arfcn-reference
:alt: Code Climate
.. image:: https://codeclimate.com/github/sitch-io/arfcn-reference/badges/issue_count.svg
:target: https://codeclimate.com/github/sitch-io/arfcn-reference
:alt: Issue Count
ARFCN reference Python module
=============================
This Python module contains a reference for all GSM channels by ARFCN.
Installation:
_____________
pip install arfcnreference
Usage:
______
Get a channel by uplink frequency:
::
>>> import arfcnreference
>>> arf_ref = arfcnreference.ArfcnReference()
>>> arf_ref.get_for_uplink(890.2)
{'band': 'GSM-900', 'downlink': 935.2, 'channel': 1}
>>> arf_ref.get_for_downlink(887.4)
{'band': 'EGSM-900', 'uplink': 887.4, 'channel': 1011}
Frequencies are returned in MHz.
Getting channels for a range of frequencies:
::
>>> for x in arf_ref.arfcn_for_downlink_range(842, 942):
... print x
...
{'1853': {'band': 'GSM-1900', 'uplink': 1853, 'channel': 526}}
{'1867': {'band': 'GSM-1900', 'uplink': 1867, 'channel': 596}}
{'1855': {'band': 'GSM-1900', 'uplink': 1855, 'channel': 536}}
{'1868': {'band': 'GSM-1900', 'uplink': 1868, 'channel': 601}}
(and so on)
Getting all channels in a band:
::
>>> for x in arf_ref.channels_in_band("GSM-850"):
... print x
...
{'downlink': 869.2, 'uplink': 824.2, 'channel': 128}
{'downlink': 869.4, 'uplink': 824.4, 'channel': 129}
{'downlink': 869.6, 'uplink': 824.6, 'channel': 130}
{'downlink': 869.8, 'uplink': 824.8, 'channel': 131}
{'downlink': 870, 'uplink': 825, 'channel': 132}
(and so on)
Testing:
________
run `py.test` from the root of this repo.
Special thanks:
_______________
The reference information was lifted, with gratitude, from http://gnuradio.org/redmine/attachments/115/all_gsm_channels_arfcn.txt
Changelog
=========
v0.1
----
New
~~~
- First working commit, provides GSM channel info. Queryable by
frequency, channel number, band, and range of frequencies. [Ash
Wilson]
Other
~~~~~
- Initial commit. [Ash Wilson]
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
arfcnreference-0.1.tar.gz
(11.9 kB
view details)
Built Distribution
File details
Details for the file arfcnreference-0.1.tar.gz
.
File metadata
- Download URL: arfcnreference-0.1.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5de6957f44e81721757ff23eb90810f8c3ff1c3e5a35907d32efabfb9a4aa98e |
|
MD5 | 6556fd777806deafcb004aa53aa323be |
|
BLAKE2b-256 | 2ac7e2e13a1835a30b7ab800284f109eb24ad4e85f792b9edd2fd7f8fc81ae02 |
File details
Details for the file arfcnreference-0.1-py2-none-any.whl
.
File metadata
- Download URL: arfcnreference-0.1-py2-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e7b4a03dec7702ae01956e954b4760cd7962bec55c77e966557068d51d9ed88 |
|
MD5 | 5e6b14312a7f84125d68b5150ce56475 |
|
BLAKE2b-256 | 19afe0550306551cf39e5a9fbd5183661bdc152eaceef9ecb3850fb47a39f275 |