Guide · Pages · 16 of 33

M17

Hear M17 digital voice, and talk back when the module firmware can send it.

Pages5 sections

What it is

PKT → M17 receive listens for M17, the open digital voice mode (4FSK at 4800 symbols per second, Codec 2 voice), on the channel or VFO frequency you are on, and plays what it decodes on the phone's speaker: the caller's callsign, who it is for (a callsign, a reflector module or @ALL) and their short text message are shown and go in the history and the Logbook (mode M17). Encrypted transmissions are shown but not played.

How it works on this radio

This radio was made for FM voice: its receiver removes everything below about 250 Hz, where M17 carries much of its signal, so an ordinary M17 demodulator decodes nothing from its audio. On the firmware the phone shipped with, SignalDeck rebuilds the missing part with an equalizer that uses the symbols it has just decoded, calibrated with test transmissions for each phone model. Measured on the Ulefone Armor 26 Ultra: 300 of 300 voice frames exact on test transmissions at the standard deviation, and a spoken test message over the air came through clearly. The ANYSECU W6+ has its own calibration: its receiver cuts the low tones harder than the Armor's, and 99 of 100 voice frames came through exact on a test transmission. The Unihertz Atom XL has its own too: its radio's sound card runs about 0.01 % fast, which the calibration and the receiver follow, and 89 of 100 voice frames came through exact on a test transmission (a little less than the Armor; the learning described below can improve it). Other phones use the Armor's calibration until theirs is measured, and may decode less well or not at all. When the module reports a bench firmware (a version other than DMR003.UV4T.V022), SignalDeck instead asks the module to hold its voice filter open and uses a fixed equalizer measured for that phone, checked before the sync search. With either equalizer, a clean call of at least 20 frames that the error correction confirms can fit a new equalizer for this phone; it is kept only when a later call, 6 dB weaker or from another station, decodes at least as well, and the note at the bottom of the M17 page says what happened. It improves a calibration but cannot make one: on a phone whose calibration decodes nothing, there is nothing to learn from. A transmission stays one listing when it runs longer than 20 seconds, and a gap of about a second in the middle does not split it. Long-press the note at the bottom of the M17 page to go back to the shipped equalizer. Audio the module is still muting is not searched, so a closed squelch does not become a contact. The Armor 26 Ultra has that measurement. A phone without one stays on the calibrated equalizer. The hold is sent again after you release the push-to-talk, because letting the carrier drop turns the voice filter back on.

What it needs

A fairly strong signal (the tests ran near -94 dBm). On the firmware the phone shipped with, M17 opens every transmission with a short preamble, which SignalDeck uses to lock on, so a transmission already in progress when you start listening is skipped until the next one. With the module's voice filter held open, SignalDeck can lock onto a transmission that is already in progress. While it decodes a transmission the radio's own sound (which would be a buzz) is held back and the decoded voice plays instead, on the speaker, in SignalDeck Web and in the spectrum; between transmissions you hear the channel as usual. On a phone whose radio drives the speaker by itself, SignalDeck cannot hold that sound back, so the buzz stays audible under the decoded voice; the M17 page says so. (The ANYSECU W6+ plays through SignalDeck, so this does not apply to it.)

Talking back

On the firmware the phone shipped with, you cannot talk back on M17: that transmitter filters out the low tones and limits the deviation, and M17 radios cannot decode what it sends (measured). When the module reports a bench firmware with the symbol engine (a version other than DMR003.UV4T.V022), Hold to talk on the M17 page sends your voice as M17 to everyone (@ALL). Your callsign is the one in APRS settings. SignalDeck ends the transmission after 28 seconds. A short tail follows the last word so the ending is not cut off. It needs an analog channel. Stop M17 ends listening; the back arrow keeps it running with a bar on the intercom. SignalDeck Web has an M17 panel on its Packet page (start, stop, who is talking, what was heard), and browsers that are listening hear the decoded voice too.

Text messages

On a bench firmware, the M17 page has a message box and Send. The text goes to the channel's M17 destination, or to everyone (@ALL) when the channel has none, under your APRS callsign. It uses the same symbol transmitter as voice and takes under two seconds. Texts you send and texts you receive are listed on the M17 page and in Messages, one thread per callsign, with every text to @ALL in the shared M17 everyone thread. Each one is also a line in the intercom history. The firmware the phone shipped with can receive these texts and does not send them. If part of a text is lost, the history says the frames were lost and the text is not shown. SignalDeck Web's Packet page has the same box: who it is for, the text, and the texts sent and heard.

This is the guide built into SignalDeck (Device → Help & how-to), copied here when the app's help changes. Your build's own guide matches the version you have. Questions? Ask in Discussions.