PC-HFDL 635-3 HFDL Decoder — Changelog, Features, and CompatibilityPC-HFDL 635-3 is the latest revision of the HFDL (High Frequency Data Link) decoder application that was formerly distributed under the PC-HFDL name. This release focuses on stability, expanded protocol support, and improved usability while preserving the core functionality users expect: decoding and presenting HFDL traffic from HF receivers and SDRs in a clear, actionable format. Below is a full changelog, a detailed feature breakdown, compatibility notes, and practical guidance for setup and troubleshooting.
Overview
HFDL is a radio data service used primarily by aviation to exchange short messages and telemetry over high-frequency (HF) channels. Decoders like PC-HFDL convert received HFDL bursts into text messages, display decoded messages in a user-friendly interface, and optionally log or forward data to other systems. The 635-3 release refines decoding performance, increases tolerance to noisy links, and adds modern conveniences like improved file support and automation hooks.
Changelog (Key changes in 635-3)
- Improved error correction and synchronization: Enhanced algorithms for burst synchronization and FEC handling, leading to higher decode rates on marginal signals.
- Expanded codec support: Additional support for alternate HFDL framing variants and vendor-specific quirks observed in newer ground stations.
- Faster AFC (Automatic Frequency Control): More responsive AFC that reduces frequency drift impact during longer bursts.
- Enhanced SDR integration: Native input modules for common SDRs (including configurable I/Q interfaces and direct audio capture), plus improved handling of sample rate mismatches.
- Refined GUI and logging: Cleaner message view, improved timestamping accuracy, customizable log rotation, and export to CSV/JSON.
- Command-line batch mode: Full-featured headless mode for automated processing, scheduled decoding, and server deployments.
- Improved multi-threading: Better CPU utilization across decoding, UI rendering, and I/O tasks.
- Bug fixes: Numerous fixes addressing crashes with certain message sequences, memory leaks, and rare hangs under sustained load.
- Security hardening: Safer handling of malformed inputs, reduced attack surface in network-facing components, and updated third-party libraries.
- Documentation updates: Expanded README, troubleshooting guide, and sample configuration files.
Features (Detailed)
Core Decoding
- Real-time HFDL burst detection and demodulation from audio or I/Q sources.
- Robust framing and message extraction supporting standard HFDL formats and several observed variants.
- Forward error correction (FEC) decoding with improved tolerance to bit errors.
Input Sources
- Audio input from sound cards (WAV/ALSA/CoreAudio/Windows WASAPI).
- SDR I/Q input (direct support for popular devices and TCP/IQ streams).
- File playback (WAV and common SDR recording formats) for offline decoding and analysis.
Output & Logging
- Live decoded message display with navigation, filtering, and search.
- Export logs to CSV and JSON for integration with external analytics or databases.
- Configurable log rotation and archival options; timestamps in UTC with configurable formatting.
- Option to forward decoded messages to external systems via TCP, HTTP POST, or to local scripts.
Automation & Integration
- Headless command-line mode for scheduled or continuous decoding runs.
- Hooks for user scripts on message receipt (e.g., trigger parsing, forward, or store).
- Support for sending structured messages to message queues or webhooks.
Usability
- Adjustable thresholds for detection sensitivity and AFC behavior.
- User-selectable display themes and font scaling for readability.
- Detailed decoding statistics and performance counters for diagnostics.
Diagnostics & Tools
- Burst visualizer showing waterfall, signal and demod traces for manual inspection.
- Built-in test vectors and sample files to validate installation and performance.
- Verbose logging options for deep troubleshooting.
Compatibility
Operating Systems
- Windows 10 and newer (64-bit recommended). Installer and portable ZIP provided.
- macOS 10.14+ (Intel and Apple Silicon builds where supported).
- Linux (x86_64, with many distributions supported; packaged DEB and tar.gz releases).
- ARM Linux builds available for supported SBCs (note: performance depends on CPU).
Hardware
- CPU: Multi-core processor recommended; single-core older CPUs will work for low-throughput use or offline decoding.
- RAM: Minimum 2 GB; 4 GB+ recommended for multi-stream or SDR I/Q workflows.
- Storage: Minimal for logs; SSD recommended for high-frequency logging or large sample playback.
- SDRs: Compatible with common SDRs that provide I/Q or audio streams; specific tested devices listed in docs.
Software Dependencies
- Common C/C++ runtime libraries; platform-specific audio/SDR backends (ALSA/CoreAudio/WASAPI) as appropriate.
- Optional Python for script hooks (if using provided sample scripts).
- Network components for forwarding require standard TCP/IP stack; TLS optional for secure forwarding.
Installation & Quick Setup
- Download the package for your OS and unpack or run the installer.
- Connect your input source:
- For SDR I/Q: configure device, sample rate, and center frequency in Settings → Input.
- For audio: select the system audio input or provide a WAV file.
- Adjust AFC and sensitivity to match your signal conditions; enable verbose logging for first runs.
- Start decoding; monitor waterfall and decoded message pane for results.
- Configure output hooks (log export, HTTP/TCP forwarding, or local scripts) as needed.
Example minimal command-line for headless decoding on Linux:
pc-hfdl --input /dev/rtl_sdr --sample-rate 192000 --center-freq 6.8e6 --headless --log /var/log/pc-hfdl.log
Troubleshooting Tips
- Low decode rate: increase input gain carefully, enable AFC, and verify correct sample rate/center frequency.
- Frequent false decodes: raise detection threshold and reduce noise by filtering input audio or using a narrower SDR filter.
- Crashes on large log files: enable log rotation and ensure enough disk space; update to latest patch of 635-3.
- I/Q device not recognized: ensure correct permissions (udev rules on Linux) and confirm device-specific drivers are installed.
- Time accuracy issues: verify system clock is synchronized (NTP/chrony) because timestamps are derived from system time.
Security & Privacy Notes
- Network forwarding can be configured with TLS; ensure credentials and endpoints are secured.
- Log files may contain aircraft identifiers and message content—treat logs per any applicable regulations or organizational policies.
Roadmap & Community
Future planned work (subject to change):
- Further increases to decode resiliency on very low SNR bursts.
- GUI enhancements for message threading and grouping.
- Native packaging for more Linux distributions and ARM performance optimizations.
- Community plugins for automatic message parsing and visualization.
Community resources, sample configurations, and contributed scripts are provided in the project repository and documentation. Contributions and bug reports are welcome via the project’s issue tracker.
If you want, I can: provide a short installation script for your OS, generate an example config file tuned for a particular frequency, or translate this article to Russian. Which would you like?
Leave a Reply