Skip to content

Tutorial DMR

adswill edited this page Oct 17, 2026 · 1 revision

Tutorial: DMR

What it is

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.

What you need

  • 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.

Before you start

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.

Step by step

  1. Connect the radio and antenna and start OnAir. Open the group Two-way radio and choose DMR (the entry reads Digital voice).
  2. Enter the channel frequency. Press Start; the panel says start the receiver to see calls until it runs.
  3. Watch Sync and Colour code: locked, decoding means a DMR signal is being read. Both slots are followed: Slot 1 and Slot 2.
  4. 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.
  5. 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.
  6. 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.

What you should see

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.

Reading the screen

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.

Options and settings

  • Follow a slot: choose slot 1 or slot 2 to play.
  • Copy the call log.
  • The voice indicator says whether mbelib is found.

Troubleshooting

  • 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.

Tips

Legal and privacy notes

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.

Under the hood

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.

Related

Mode-DMR, Tutorial-Digital-voice-DMR-D-STAR-P25, Tutorial-dPMR-PMR446, Tutorial-NXDN, Tutorial-P25, Voice-codecs, Radio-RTL-SDR, FAQ

Clone this wiki locally