Skip to content

Modem Design & Digital Modes

Designing a custom modem from scratch involves shifting from a byte-buffer paradigm to the time domain. Key challenges include achieving timing locks over a medium.

  • Sync Bits: Symbols sent at the beginning of a transmission to allow the receiver to calculate ticks and derive offsets.
  • Calculated Drift: Smart receivers can calculate drift over time to maintain synchronization.
  • External Timing: Leveraging GPS time or Network Time Protocol (NTP) to sync symbols (e.g., starting transmissions at the top of a second).
  • Monotonic Timers: Essential for internal timing consistency during symbol processing.
  • Python/NumPy: Excellent for prototyping mathematical models and encoding bits to waveforms (e.g., 2FSK).
  • C/Rust: Often required for real-time performance in production modems to handle high sample rates and low-latency requirements.

Despite being a legacy technology, AT (Attention) commands remain the de-facto interface for modern communication modules, including:

  • LTE/Cellular Modems: Still use proprietary and standard AT commands for configuration and status.
  • GSM Specifications: Explicitly state the use of AT commands.
  • Radio CAT Control: Many radios use AT-style commands for computer-aided tuning.

Common commands include ATI for information parsing (with ATI4, ATI5, etc., providing increasing verbosity).

  • PPP (Point-to-Point Protocol): A data link layer protocol used to establish a direct connection between two nodes. It supports authentication, encryption, and compression.
  • SLIP (Serial Line Internet Protocol): An older, simpler encapsulation method for IP over serial ports. While largely supplanted by PPP, it remains popular in microcontrollers due to its minimal overhead.