Proposed features/Radio Frequency

From OpenStreetMap Wiki
Jump to: navigation, search
Key:rf
Status: Draft (under way)
Proposed by: r00tcz
Tagging: rf:*=*
Applies to: Node, Way, Area, Relation
Definition: Tagging of radio signal related features
Rendered as: hidden in normal map
Drafted on: 2016-08-16


Proposal

WARNING: Still incomplete, draft editing in progress!

Objects that radiate or receive radio signals should be tagged using proposed scheme. This scheme is universal and as shown on the examples below, it can be used to describe most of the signals from real world.

  • A quick warning: Following tagging proposal is full of technical terms and lingo. Even when approved, it's not expected to be used widely by general public, but more for a specialized use by HAMs or radio monitoring enthusiasts. Still many keys are optional and entire scheme allows entering of incomplete or simplified information.
  • However when results are presented correctly, it can be very useful for general public, for example you will be able to list all radio stations in the area or what TV signals you may get while on the vacation.


Rationale

We already have:

  • Key:communication:amateur_radio and it's subkeys
    It describes some HAM radio related infrastructure, but by definition, it can't be used for anything else. Not even for very similar activities like PMR or CB, because they doesn't require HAM license.
  • Many different tags used with tower:type=communication
    No common tagging scheme, often same keys and values with different meaning chosen by different mappers
  • Or even Proposed_features/Communications_Transponder proposal
    Not only "transponder" is used in completely wrong way (repeaters or BTS are not transponders), the note:
    "This will have the side effect of placing multiple nodes at the same position." is really ugly and we certainly don't want that. If anything, use relations instead.
  • There is also Proposed_features/Telecommunications_tower proposal
    Looks pretty good for GSM, this proposal takes some good ideas from it and extends them to other signals

Main idea is to create tagging scheme that will work with many different services using radio frequency spectrum. From long wave radio to satellite signal uplink stations, from kilometer wave length to a few millimeters. And also avoid any ugly hacks, like above mentioned multiple overlapping nodes for multiple services on same tower.


Tagging

rf:key=value

  • These are basic parameters of the signal, can be common and shared by multiple antennas.
  • rf:category=* is used for common signal category (TV broadcast, radio broadcast, cellphone network, HAM, ...).
  • rf:modulation=* indicates actual transmission standard (DVB-T, FM, GSM, ...) or signal modulation.
  • All parameters that are modulation/standard specific have it's own sub-keys, for example for GSM GSM:LAC=*
  • All numeric values use basic Si units (Hz,W,Bd) when no unit is given

ant:key=value

  • There may be multiple antennas used for one frequency. Their values can be specified delimited by ";" (semicolon) separators.
Example: ant:power=100;200 defines two antennas, one with 100W and other with 200W power. Note that this only makes sense if there are also other differences between antennas (such as ant:azimuth=100;220 different antenna directions)
  • Properties that are common to all antennas doesn't need to be specified multiple times (for above example ant:type=sector is equal to ant:type=sector;sector
  • Signal specific keys like GSM:CID=* can be transformed into antenna specific form ant:GSM:LAC=* to specify different values for every antenna using ";" separator
  • It's also possible to tag antennas as nodes using man_made=antenna and then add them to the relation.

Tagging style #1: No relation, single node with rf and antenna tags

  • Suitable for sites where only one type of signal is transmitted (like GSM only BTS, radio transmitter for one station)
  • In this case object is tagged using existing tags (like man_made=tower, man_made=monitoring_station, ...)
  • rf=* tags are directly added to the node. As it's not possible to have multiple keys, only single signal can be defined this way.
  • Multiple antennas used for same signal can be defined using ";" separator

Tagging style #2: Single node, multiple signal relations

  • Used when there is need to tag multiple signals to single node or object (can be different signals, frequencies, ...)
  • In this case new relation is created for each signal and node or object is added to the relation. Signal parameters including antenna definition are parameters of the relation.
  • Relation should have type=rf and name=* should be short summary of signal

Tagging style #3: Relation with multiple antenna nodes

  • Use when you want to map multiple antennas as separate nodes and they are used for same signal with common parameters.
  • Map all antennas using man_made=antenna and add them to relation with role=antenna.
  • Relation will have common signal parameters while each antenna node will have parameters specific to it.


Common signal characteristics

Key Description
rf:category=*

General signal category:
radio - Radio broadcasting (AM,FM,DAB,DRM)
tv - terrestrial TV broadcasting (analogue and digital)
cellphone - Mobile phone operator's network
ham - HAM radio related (repeaters,beacons,APRS,ATV)
dgps - Differential GPS reference signal
rtk - Real-time kinematics reference base station (usually on VHF/UHF)
emergency - Used by emergency services (police,firefighters,ambulance)
wifi - Used for WIFI networks
ndb - Air traffic NDB beacon
vor - Air traffic VOR beacon
dme - Air traffic DME beacon
air - Other air traffic control support and other channels
ais - Ground AIS (ship automatic identification system) infrastructure
sat - Satellite receiving/transmitting infrastructure
science - Used for scientific experiments (radiotelescope,ionosonde,...)
military - Used by military (consider your local laws before mapping such objects)

rf:frequency=*
Center frequency of signal

rf:band=*
Approximate signal frequency

Value is in Hz if no unit is specified.
Use the rf:band=* when you only know approximate (not actual) frequency, for example when estimating frequency from antenna size.

rf:modulation=*
Signal coding and modulation

Specific signal examples, use standardized names when possible:
GSM - GSM mobile phone network
LTE - LTE mobile phone network
CDMA - CDMA mobile phone network
UMTS - UMTS mobile phone network
DVB-T - 1st gen. DVB-T broadcasting
DVB-T2 - 2nd gen. DVB-T broadcasting
DAB - Digital audio broadcasting
DRM - Digital HF radio broadcasting
WIFI - WIFI signals from 802.11 family
AIS - Automatic identification signal (ITU M.1371)
Basic modulation types (for analogue signals or when signal type is not known):
FM - Frequency modulation
AM - Amplitude modulation
PSK - Phase modulation (can be more specific and use BPSK,QPSK,...)
MSK - Minimum shift keying
(table above is in no means complete and there are many more modulations and signal types used)

rf:bandwidth=*

Amount of spectrum occupied by signal. Specified as number with suffix (or in Hz without suffix). Some modulations define channel parameters by width (like DVB-T or LTE). For other signals are fully described by modulation parameters and that defines standardized signal width. In that case there is no need to specify it.

rf:duplex=*

Frequency offset of receiving frequency. It's very common that one frequency is used for transmitting and other for receiving. If modulation parameters are same for both, there is no need to use two relations and define them separately. rf:frequency=* should always define transmitting frequency, rf:duplex=* is then relative offset of receiving frequency. Value is in Hz when no units are given.

rf:callsign=*

Callsign identification, usually bound to specific frequency and one transmitter location. Can be assigned callsign by local authority (used in HAM radio, radio station, shore stations) or made up callsign that such station uses (when applicable).

rf:owner=*

Owner of the transmitter/receiver hardware (often company that does the servicing and owns transmitter sites)

rf:provider=*

Entity that provides the transmitted content (often Radio/TV channel name)

rf:content=*

This is short description of content (what is being transmitted) or simple keyword, like encrypted

rf:access=*

public - Signal is transmitted for public use (common for radio, TV, HAM radio)
private - Signal is private, either encrypted or there is no use of it for general public

  • Public assumes compliance with laws you have to obey to access the service (you still need HAM license to use HAM repeaters, even if they are publicly available)
  • Description of access parameters may be given (for example required conditional access card for DVB-T or subtone for HAM repeaters).


Signal specific keys

Key Description
fm:stereo=yes/no
For stereo/mono broadcasting

RDS:name=*
RDS station name
RDS:pi=*
RDS program identifier (hexadecimal)
RDS:TMC=yes/no
When station sending traffic information

FM broadcasting and RDS specific station identification

WIFI:SSID=*
WIFI accesspoint name

WIFI:BSSID=*
WIFI accesspoint MAC address

Used in WIFI (802.11) networks

GSM:MCC=*
Mobile Country Code

GSM:MNC=*
Mobile Network Code
GSM:LAC=*
Local Area Code
GSM:CID=*
Carrier ID

Used in GSM mobile phone networks

LTE:MCC=*
Mobile Country Code

LTE:MNC=*
Mobile Network Code
LTE:TAC=*
Tracking Area Code
LTE:PHYSCID=*
Physical Cell ID
LTE:CI=*
Cell ID

Used in LTE mobile phone networks

CDMA:MCC=*
Mobile Country Code

CDMA:MNC=*
Mobile Network Code
CDMA:CID=*
Cell ID
CDMA:PN=*
PN offset

Used in CDMA mobile phone networks

UMTS:MCC=*
Mobile Country Code

UMTS:MNC=*
Mobile Network Code
UMTS:CID=*
Cell ID

Used in UMTS mobile phone networks

TETRA:MCC=*
Mobile Country Code

TETRA:MNC=*
Mobile Network Code
TETRA:LAC=*
Local Area Code

Used in TETRA radio networks

DGPS:id=*

DGPS station number

DMR:CC=*

DMR Colour code

AIS:MMSI=*
MMSI identification code

AIS:type=*
Station type (base, repeater)

AIS related tags.
Note: Only fixed (ground based) infrastructure that transmits signals should be mapped.
For mapping of navaids, see OpenSeaMap.


Antenna keys

  • Format is ant:*=*
  • If multiple values (";" separated) are used, all keys with multiple values must have same number of values
  • If some keys have multiple values and some only single value, the single value is same for all antennas
  • When tagging antennas as separate nodes using man_made=antenna in common relation, apply these tags to the antenna nodes
Key Description
ant=*

Key that defines antenna function
rx - Receiving antenna
tx - Transmitting antenna
rxtx - Antenna used for both receiving and transmitting

ant:type=*

Antenna type:
omni - Radiates to all directions
sector - Narrower beam antenna
directional - Narrow beam antenna, usually used for point to point links
radar - Rotating radar antenna
dish - Parabolic dish antenna
More detailed parameters can be specified when known.

ant:pol=*

Antenna polarization:
V - Vertical
H - Horizontal
R - Right hand circular
L - Left hand circular

ant:azimuth=*

Direction in degrees where antenna is pointed.

ant:elevation=*

Elevation in degrees where antenna is pointed. Negative value means below horizon (downwards), positive values are upwards.

ant:beamwidth=*

Width in degrees that indicates with of antenna main lobe radiation pattern.

ant:target=*

Where antenna is pointed to. Often it's impossible to precisely measure above antenna parameters, so it's easier to specify target area.
This can be name of the place (village, city part) or other name of location antenna is aimed at.

ant:power=*

Transmitting power for specific antenna. For receive antennas, if specified, must be zero.
If only one value is used, it applies to all transmit antennas.

ant:agl=*

Position (height) of antenna above ground level. This indicates vertical placement of antenna on the tower or mast.

ant:alt=*

Absolute altitude of antenna. Sometimes ground altitude is unknown, but center of antenna have been measured precisely and it's known.


Examples

Example Tagging Note

FM Radio station broadcast antennas on top of a chimney

No relation is needed for a single transmitter:
man_made=chimney
rf:category=radio
rf:frequency=90.1MHz
rf:modulation=FM
rf:bandwidth=230000
fm:stereo=yes
rds:pi=2304
rds:name=RADIO-1
rf:owner=Broadcast services ltd.
rf:provider=Radio One
rf:name=Radio1 transmitter
ant=tx
ant:azimuth=100;220
ant:beamwidth=60
ant:power=500
ant:pol=V
ant:type=sector

  • This is FM broadcast transmitter
  • Used for FM stereo radio broadcasting on frequency 90.1MHz.
  • Modulation is standard 230kHz wide FM.
  • RDS PI (program identifier) is 2304 and station text "RADIO-1".
  • Owner of the antennas and broadcasting equipment is "Broadcast services ltd." while broadcaster (content provider) is "Radio One".
  • Two sector antennas are defined, both having beamwidth of 60 degrees and vertical polarization. One is directed at azimuth 100 and other 220 degrees.

DGPS station with MF transmitter

man_made=monitoring_station
monitoring:gps=yes
rf:category=dgps
rf:frequency=231kHz
rf:content=RTCM DGPS corrections
rf:modulation=MSK 100Bd
rf:access=public
rf:owner=Maritime Inc.
DGPS:id=106
ant=tx
ant:type=omnidirectional ant:power=100

  • This is typical shore DGPS station for ships
  • Transmitting on 231kHz with MSK modulation at 100Bd.
  • Station id is 106.
  • It's intended for public use, maintained by "Maritime Inc."
  • Omnidirectional antenna with 100W of power.

Big tower on some hill with HAM radio repeater and APRS gateway

Need relations to get multiple signals associated with single tower, so:
man_made=tower on node, will be member of 2 relations:
Relation #1 for APRS:
rf:category=ham
rf:frequency=144.8MHz
rf:modulation=FM;AX.25 1200Bd
rf:bandwidth=15kHz
rf:service=APRS
rf:callsign=OK0AAA
rf:owner=OK1ABC
rf:name=APRS GW Bighill
ant=rxtx
ant:type=omnidirectional
ant:pol=vertical
ant:power=50
Relation #2 for repeater:
rf:category=ham
rf:frequency=438.3MHz
rf:modulation=FM;DMR
rf:bandwidth=12500
rf:callsign=OK1AAA
DMR:CC=1
rf:name=Bighill Repeater
rf:owner=OK1ABC
rf:duplex=-7.6MHz
rf:access=FM CTCSS 102.9 or DMR CC01
ant=rxtx
ant:type=sector
ant:azimuth=205
ant:beamwidth=80
ant:pol=V
ant:power=70

  • First we have APRS radio that both transmits and receives using same antenna on same frequency 144.800MHz (so must be simplex).
    • Mode is as used for APRS, so FM with AX.25 1200Bd AFSK.
    • Gateway callsign is OK0AAA and it's maintained by OK1ABC.
    • Omni-directional antenna is used with vertical polarization and 50W of transmit power
  • Next we have mixed DMR and FM repeater that transmits on 438.3MHz and listens on 430.7MHz (-7.6MHz duplex).
    • To use it, you have to use CTCSS subtone 102.9Hz or DMR colour code 01
    • Repeater have one sector antenna pointed at azimuth 205 degrees, beamwidth 80 degrees, vertical polarizaton
    • Transmit power is 70W

Cellphone tower with mast, this one is for GSM 1800 and LTE 800 and both have three sectors antennas

Again, we will need two relations for this one. man_made=mast will be member of following relations:

  • Relation #1 for GSM:

rf:category=cellphone
rf:band=1800MHz
rf:modulation=GSM
GSM:MCC=130
GSM:MNC=10
GSM:LAC=22620
rf:owner=TeleComInfrastructure ltd.
rf:provider=T-Something
rf:access=public
ant=rxtx
ant:type=sector
ant:pol=V
ant:azimuth=130;200;330
ant:elevation=-5;-5;-10
ant:GSM:CID=28701;28702;28703

  • Relation #2 for LTE:

rf:category=cellphone
rf:band=800MHz
rf:modulation=LTE
rf:bandwidth=10MHz
LTE:MCC=130
LTE:MNC=10
LTE:PHYSCID=260
rf:owner=TeleComInfrastructure ltd.
rf:provider=T-Something
rf:access=public
ant=rxtx
ant:type=sector
ant:pol=V
ant:azimuth=130;200;330
ant:elevation=-5;-5;-10
ant:GSM:CI=12005:13;12005:14;12005:15

  • This example illustrates entering values one might get from phone service menu.
  • "TeleComInfrastructure" owns the infrastructure, provider is "T-Something"
  • It's meant for public access
  • Does have 3 sector antennas for both bands, all with vertical polarization at 130, 200 and 330 degree azimuths.
  • Antennas have -5, -5, -10 degree tilt
  • GSM LAC is 22620, LTE PHYSCID is 260
  • CI values are different for each sector and mode

Terrestrial TV broadcasting tower

man_made=tower
rf:category=tv
rf:frequency=639MHz
rf:modulation=DVB-T2
rf:bandwidth=8MHz
rf:provider=ABC broadcasting
rf:access=public
rf:content=Country multiplex 2
ant=tx
ant:type=sector
ant:pol=H
ant:azimuth=200
ant:power=10kW

  • Big tower with DVB-T2 transmitter, uses 8MHz channel. Transmits programming by "ABC broadcasting" company.
  • Multiplex is called "Country multiplex 2" (usually same set of programs broadcast from multiple locations)
  • Have one transmit sector antenna at 200 degrees, horizontal polarization and 10kW of transmit power.

Farm GPS RTK base station for precise agriculture

man_made=monitoring_station
monitoring:gps=yes
monitoring:gps:l2=yes
monitoring:glonass=yes
name=Farm GPS RTK base station
rf:category=rtk
rf:frequency=431.5MHz
rf:modulation=GMSK 9600Bd TRIMTALK with ECC
rf:bandwidth=20000
rf:owner=Fields&Forrests ltd.
rf:content=CMR+ messages, GPS L1&L2 + GLONASS, 1 sec interval
ant=tx
ant:power=10
ant:pol=V
ant:type=omnidirectional

  • Monitoring station, receives GPS on L1&L2 and GLONASS.
  • Uses TRIMTALK protocol at 9500Bd with error correction enabled.
  • Owned by "Fields&Forrests ltd."
  • Sends GPS and GLONASS measurements every second using CMR+ protocol
  • Antenna is omnidirectional vertical
  • Transmitter uses 10W of power

University campus WIFI access points (on building roof)

Relation with common parameters:
rf:category=WIFI
rf:modulation=WIFI
rf:bandwidth=20MHz
WIFI:SSID=eduroam
rf:owner=University of Bigcity
rf:access=members;eduroam

man_made=antenna
ant=rxtx
ant:type=sector
ant:pol=V
ant:target=Green park rf:frequency=2412MHz

man_made=antenna
ant=rxtx
ant:type=sector
ant:pol=V
ant:target=Ugly Street
rf:frequency=2437MHz

man_made=antenna
ant=rxtx
ant:type=sector
ant:pol=V
ant:target=Main building entrance
rf:frequency=2437MHz

  • Common parameters are: standard 20MHz modulation, SSID is "eduroam".
  • It's owned by university and access is for students (members) or you need international "eduroam" account.
  • Every antenna node have it's own target and frequency

Emergency services TETRA network BTS

Multiple frequencies, so we need relations:
man_made=mast
name=City services BTS

  • Relation #1:

rf:category=emergency
rf:frequency=420.120MHz
rf:modulation=TETRA
TETRA:MCC=231
TETRA:MNC=2
TETRA:LAC=10
rf:owner=City of Blargh
rf:access=private
rf:duplex=-10MHz
ant=rxtx
ant:type=sector
ant:pol=V
ant:azimuth=30

  • Relation #2:

rf:category=emergency
rf:frequency=420.140MHz
rf:modulation=TETRA
TETRA:MCC=231
TETRA:MNC=2
TETRA:LAC=11
rf:owner=City of Blargh
rf:access=private
rf:duplex=-10MHz
ant=rxtx
ant:type=sector
ant:pol=V
ant:azimuth=130

  • Mast with two TETRA channels (420.120 and 420.140 transmit frequency), receiving at -10MHz (410.120 and 410.140)
  • It's TETRA network for the city, used by emergency services, not open to public
  • Provider ID is 231-002 and local area codes are 10 and 11 for these frequencies
  • Both use sector antennas for receiving and transmitting, in two directions

Secondary surveillance radar for air traffic control

man_made=antenna
rf:frequency=1030MHz
rf:modulation=MODE-S
rf:category=air
rf:duplex=60MHz
ant=rxtx
ant:type=radar

  • Typical secondary radar, transmitting on 1030MHz and receiving replies on 1090MHz

Big dish used to send TV programming to satellite

man_made=antenna
rf:category=sat
rf:band=14GHz
rf:modulation=DVB-S2
rf:provider=Satellink inc.
rf:content=ABC TV programming
ant=tx
ant:type=dish
ant:target=Eutelsat 13W

  • Modulation is DVB-S2, frequency is somewhere around 14GHz.
  • Content is ABC TV programming
  • Antenna is pointed at (and signal is broadcasted using) Eutelsat 13W satellite.
  • Band is used as actual frequency is not known


Applies to

Rendering

  • For default map (mapnik) no changes. As listed above, it will either be specific object icon or generic symbol for man_made=antenna
  • rf:category=* value can be used for set of icons for basic categories (radio,TV,GSM,...)
  • If commonly used, special type of map can be made that will draw these features in a better way, similar to OpenSeaMap
  • Antenna directions and sectors could be drawn similar to how different color angles are drawn for sea navigation beacons.


Features/Pages affected

None directly. Proposed tagging scheme doesn't affect any current tags and can be used together with all existing schemes with no conflicts.


External Discussions

none so far


Comments

Please comment on the discussion page.