PhosphorDSC decodes maritime Digital Selective Calling (DSC) in real time using your iPhone's microphone. Hold your phone near a shortwave receiver tuned to an HF or MF DSC channel and watch distress alerts, urgency and safety calls, and routine ship-to-shore traffic appear on an authentic amber phosphor display.
No internet connection required. No external hardware. No account. Just your iPhone and a maritime receiver.
FEATURES
- Real-time HF and MF DSC decoding via microphone, ITU-R M.493, 100 Bd, 170 Hz shift
- Ten-bit error-detecting character code checked on every character
- Phasing-sequence lock, so character timing comes from the signal itself
- Time-diversity recovery: a character lost in its DX copy is taken from its RX repeat
- Error-check character verified on every call
- Polarity auto-detection for maritime-receiver and SDR tuning alike
- Automatic frequency control with FFT peak-pair search locked to 170 Hz shift
- CARDS view: calls as cards by priority (distress, urgency, safety, routine) with MMSI, nature of distress, position, time and working frequency
- TAPE view: the raw three-digit symbol stream
- Live FFT spectrum display and scrolling waterfall (SDR-style colour palette)
- DSC health panel: DX valid %, RX fallback %, phasing locks, error-check good and bad
- FREQS tab: HF and MF distress and routine calling channels with USB dial frequencies and a UTC clock
- Full call log with copy, share and export
- Amber and green phosphor CRT themes with scanlines, vignette and glow effects
- No accounts, no tracking, no network access
DSP ENGINE
Per-sample I/Q quadrature demodulation with biquad low-pass filtering. DPLL clock recovery. Two polarity lanes run in parallel, each searching the received bit stream for the M.493 phasing sequence (symbol 125 in the DX positions, 111 down to 104 in the RX positions). The phasing lock fixes where the call content starts, then every character is resolved from its DX copy or, failing that, its RX repeat four characters later. The call closes on the error-check character after the end-of-sequence symbol. 512-point FFT for frequency analysis and AFC. All signal processing runs entirely on-device.
DECODER ACCURACY
PhosphorDSC is verified against real over-the-air HF DSC recordings, with every call passing its error check. Detailed results, decoded output and downloadable test calls are in the decoder test report.
WHERE TO FIND DSC
- 2187.5 kHz — MF distress and safety
- 4207.5, 6312.0, 8414.5, 12577.0, 16804.5 kHz — HF distress and safety
- 2177.0, 4208.0, 6312.5, 8415.0, 12577.5, 16805.0 kHz — routine calling
A shortwave receiver (or SDR / WebSDR audio played through a speaker) in USB, dialled 1.7 kHz below the channel so the tones sit at 1615 and 1785 Hz, is all you need. The FREQS tab lists the dial frequency for every channel. VHF channel 70 is not decoded.
SUPPORT
Need help? Have a question, bug report, or feature request?
- Ask a question — get help with using PhosphorDSC
- Report a bug — let us know if something isn't working
- Request a feature — suggest improvements or new functionality
You can also browse existing issues to see if your question has already been answered.