Skip to main content

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]

Project details


Release history Release notifications | RSS feed

This version

0.1

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)

Uploaded Source

Built Distribution

arfcnreference-0.1-py2-none-any.whl (12.4 kB view details)

Uploaded Python 2

File details

Details for the file arfcnreference-0.1.tar.gz.

File metadata

File hashes

Hashes for arfcnreference-0.1.tar.gz
Algorithm Hash digest
SHA256 5de6957f44e81721757ff23eb90810f8c3ff1c3e5a35907d32efabfb9a4aa98e
MD5 6556fd777806deafcb004aa53aa323be
BLAKE2b-256 2ac7e2e13a1835a30b7ab800284f109eb24ad4e85f792b9edd2fd7f8fc81ae02

See more details on using hashes here.

File details

Details for the file arfcnreference-0.1-py2-none-any.whl.

File metadata

File hashes

Hashes for arfcnreference-0.1-py2-none-any.whl
Algorithm Hash digest
SHA256 2e7b4a03dec7702ae01956e954b4760cd7962bec55c77e966557068d51d9ed88
MD5 5e6b14312a7f84125d68b5150ce56475
BLAKE2b-256 19afe0550306551cf39e5a9fbd5183661bdc152eaceef9ecb3850fb47a39f275

See more details on using hashes here.

Supported by

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