Accuracy testing of the PhosphorDSC decoder against real over-the-air recordings of HF DSC traffic. The testing CLI (DSCDecode) shares every DSP source file with the iOS app via symlinks — same code, same output.
Tested against the publicly-available HF DSC recordings on the Signal Identification Wiki GMDSS DSC page. These are over-the-air captures — no cleanup, no SNR preconditioning.
| Recording | Audio centre | Calls decoded | Content |
|---|---|---|---|
| GMDSS_1 | ~975 Hz | 1, ECC OK | Safety test call, ship 215322000 to coast station 004634060 |
| GMDSS_2 | ~1709 Hz | 1, ECC OK | Safety test acknowledgement, coast station 002191000 to ship 230145000 (inverted polarity) |
| GMDSS_3 | ~2245 Hz | 1, ECC OK | Safety call, ship to ship, working on 12360.0 kHz |
| Dsc_examples | ~1675 Hz | 2, ECC OK | Routine call and its acknowledgement between two coast stations, working on 8291.0 kHz |
These WAV files are synthesised DSC calls built to ITU-R M.493 — 200-bit dot pattern, phasing, DX/RX time diversity and a computed error-check character. Every one decodes with its error check passing. They can be played from any audio source (laptop, second phone) near the iPhone’s microphone to test the app without a shortwave receiver. All MMSIs are fictitious.
| File | Description | Size |
|---|---|---|
| dsc_01_distress_alert_sinking_off_fastnet.wav | Distress alert: sinking, 51°23'N 009°36'W, 14:25 UTC | ~150 KB |
| dsc_02_distress_relay_all_ships.wav | All-ships distress relay from a coast station: flooding, no position | ~150 KB |
| dsc_03_urgency_all_ships.wav | All-ships urgency call, working on 8291.0 kHz | ~150 KB |
| dsc_04_safety_geographic_area.wav | Safety call to a geographic area, 55°N 015°W, 10° × 20° | ~150 KB |
| dsc_05_routine_individual_call.wav | Routine individual call to a coast station, 8414.5 kHz | ~150 KB |
| dsc_06_safety_test_call.wav | Safety test call | ~150 KB |
| dsc_07_safety_test_call_ack.wav | Safety test call acknowledgement | ~150 KB |
| dsc_08_routine_sdr_tuning_1000_hz.wav | Routine individual call with tones near 1000 Hz (SDR tuning) | ~150 KB |
HF and MF DSC only. VHF channel 70 DSC runs at 1200 Bd behind an FM receiver and is not decoded. Two audio-tuning conventions are supported:
AFC search band is 800–2500 Hz to span both, and the decoder runs normal and polarity-inverted lanes in parallel so LSB and USB captures both decode without any manual toggle.