Repository navigation
Tutorial DMR
DMR (digital mobile radio) is a two-slot digital system used by amateurs, businesses and the licence-free PMR446 channels. OnAir finds the colour code, decodes both slots and logs each call with its source, target and type; text messages are shown. Voice needs an mbelib you install; the data does not.
- Any SDR that tunes the band: an RTL-SDR covers roughly 24 MHz to 1.7 GHz at up to about 2.4 Msps (see Radio-RTL-SDR), and so do HackRF, Airspy, SDRplay and others (Supported-radios). The narrow signals here need only a small sample rate; the mode asks for 2.4 Msps (from 1 Msps).
- Antenna: a UHF vertical (or a VHF one) outdoors.
- Frequencies (database): the licence-free PMR446 digital DMR channels 1 to 8 are 446.10625, 446.11875, 446.13125, 446.14375, 446.15625, 446.16875, 446.18125 and 446.19375 MHz (DMR tier 1). Amateur repeaters and business channels have their own frequencies: type them. The channel is 12.5 kHz wide; the mode asks for 2.4 Msps and works from 1 Msps.
Set the gain so that the ADC level in the status line stays clear of full scale; use Auto-tune or Optimise gain (Your-first-reception). Too much gain makes strong neighbours (paging, FM broadcast, repeaters) leave spurs in the channel. Make sure the radio is on frequency: a cheap RTL-SDR can be several kHz off at 430 MHz, so enter its correction (ppm) in Radio settings or watch the carrier offset the panel shows. Narrow digital voice channels need an offset under about 1 kHz.
- Connect the radio and antenna and start OnAir. Open the group Two-way radio and choose DMR (the entry reads Digital voice).
- Enter the channel frequency. Press Start; the panel says start the receiver to see calls until it runs.
- Watch Sync and Colour code: locked, decoding means a DMR signal is being read. Both slots are followed: Slot 1 and Slot 2.
- The Call log fills with each transmission: Time, Slot, Type (Group voice, Private voice, All call, Data, Control), Source, Target, Dur s, Voice fr, FEC err and Alias / note. The Flags column can show EMERG, ENC, LATE and NOEND.
- Text messages shows the data messages with From, Format, CRC and Text. Follow a slot (choose a call) to hear it if you have mbelib.
- Install mbelib yourself if you want to hear voice: Voice-codecs lists the file names and folders. Without it the panel says no mbelib: frames counted only.
A channel in use shows a steady 4FSK constellation of four levels (-3, -1, +1, +3), a colour code and calls on one or both slots. The statistics list the symbol SNR, carrier offset, symbol clock error in ppm, bit error rate and FEC counters (BPTC, RS(12,9), CRC, trellis). A good signal shows few repaired blocks.
Call log (with the count): see the steps. Text messages. The Signal panel: level in dBFS, noise floor, C/N in 12.5 kHz, symbol SNR, carrier offset and symbol clock. FEC: blocks ok / bad per layer. Channel spectrum. Base station or direct mode tells the system kind.
- Follow a slot: choose slot 1 or slot 2 to play.
- Copy the call log.
- The voice indicator says whether mbelib is found.
- No sync. Wrong frequency, offset of more than a kHz or a weak signal. Check the carrier offset.
- Both slots empty. A trunked system sends its calls on other channels.
- Calls found, no sound. mbelib missing (Voice is not decoded: DMR uses AMBE+2).
- ENC flag. The call is encrypted; OnAir reports it and does not decode the voice, and it never tries to.
- FEC errors high. Weak signal or drifting transmitter.
- Record the channel (Tutorial-Record-IQ-then-the-Signal-workbench) while it is busy and replay it to try settings.
- A scan (Main-window, tab Scan) helps to find an active channel.
Digital voice and data on land-mobile and amateur channels can be private. Receiving is regulated differently in each country: follow the rules where you live. OnAir decodes only what is sent in the clear: encrypted calls are reported as encrypted and nothing is decrypted, and OnAir offers no help to defeat encryption. The AMBE / IMBE vocoders are patented, so the voice sound comes only from an mbelib you install yourself (see Voice-codecs); calls, IDs and data work without it. Do not publish what you hear. Transmit works in OnAir (used on a real radio by the maintainer and in loop-back tests) but needs the right licence for the service; see Transmit and Legal.
DMR is ETSI TS 102 361 (parts 1 to 4): 4FSK at 4800 symbols/s (9.6 kbit/s) in a 12.5 kHz channel, TDMA with two time slots, a colour code, BPTC(196,96) coding of the bursts, Reed-Solomon (12,9) for link control and AMBE+2 voice. The CACH carries the access and system information.
Mode-DMR, Tutorial-Digital-voice-DMR-D-STAR-P25, Tutorial-dPMR-PMR446, Tutorial-NXDN, Tutorial-P25, Voice-codecs, Radio-RTL-SDR, FAQ
Getting started
Using OnAir
Tools and guides (0.2.7)
- Band survey
- Message database
- Watchlists
- TV recorder
- Time machine
- Pass scheduler
- Plugin SDK
- Headless server
- All guides
Radios
Modes by group
- TV
- Broadcast radio
- Aviation
- Maritime
- Satellite & navigation
- Two-way radio
- Cellular & rail
- Pagers
- IoT & sensors
- Weather & science
- Amateur: digital
- Amateur: voice & packet
- HF utility
- General & tools
Tutorials
- DVB-T2 TV with a HackRF
- FM radio with RDS
- Aircraft with ADS-B and the map
- Ships with AIS
- DAB+ digital radio
- Weather satellite images
- HF digital: FT8 and WSPR
- Digital voice: DMR, D-STAR, P25
- Pagers: POCSAG and FLEX
- Time stations and the clock
- Record IQ, then the Signal workbench
- The signal sample library
- Control a rig with Hamlib
- Two receivers and the multi-decoder
Reference
Help
Legal and privacy
More