This Python module contains a reference for all GSM channels by ARFCN.
pip install arfcnreference
Get channel metadata by ARFCN:
>>> import arfcnreference
>>> arf_ref = arfcnreference.ArfcnReference()
>>> arf_ref.get_for_channel(665)
{'band': 'GSM-1900', 'downlink': 1960.8, 'uplink': 1880.8}
Get a channel by uplink frequency:
>>> 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)
run py.test from the root of this repo.
The reference information was lifted, with gratitude, from http://gnuradio.org/redmine/attachments/115/all_gsm_channels_arfcn.txt