User Tools

Site Tools


msort nsort tsort skipfile+/^sidebar$/ skipfile=/:(dokuwiki|syntax|welcome)$/ skipns=/^(wiki|playground)$/ js navbar nocookie notoc


Mode B

  • RF Bandwidth: 25 kHz, due to: $B_{HF} = \frac{1}{T} (1+\alpha)$
  • Symbol rate: 20 kSym/s
  • Root raised-cosine pulse shaping, $\alpha=0.25$
  • Content: TCP/IP
  • Timeslot length: 5 ms
  • Frame length: 40 ms
  • Maximum users: ~200 (tbd)

Unsorted thoughts:

  • There is a intrinsic delay by the pulse shaping. Timing must be chosen that it never gets critical (esp. up-/downlink slot assignment)
  • Downlink can be a continuous flow without pauses. Uplink has to consider guard intervals between different users.
  • Random access only for initial connection. Later MS is only allowed to transmit in its timeslot(s) (ping times rise, however…)
  • Add MIMO support in protocol (2×2 MIMO could double data rate)
  • Timing Advance required?

N(25kHz) = -130 dBm

bit/sym modulation bit/slot gross bit rate ideal Eb/No
@ 0.01 BER¹
min. power²
2 4-QAM (=QPSK) 200 bit/slot 40 kbit/s 4 dB -124 dBm
4 16-QAM 400 bit/slot 80 kbit/s 8 dB -120 dBm
6 64-QAM 650 bit/slot 120 kbit/s 12 dB -116 dBm
8 256-QAM 800 bit/slot 160 kbit/s 16 dB -112 dBm
10 1024-QAM 1000 bit/slot 200 kbit/s 21 dB -107 dBm
12 4096-QAM 1200 bit/slot 240 kbit/s 25 dB -103 dBm

¹ Without FEC
² for ideal modem implementation and NF=2dB


The link consists of downlink (base station → mobile station) and uplink (MS → BS), normally separated by 7.6 MHz (70cm) or 0.6 MHz (2m). A base station must be capable of full-duplex operation, whereas mobile stations just require fast switching between RX and TX frequency.

To open a connection, the MS sends a request in one of the access channels to the BS, after it has identified the base station according to its broadcast channel. Collision may occur, so the request may be repeated after a random time in a following access channel. The request contains the user's call sign and the desired uplink message length (or 0 if just connecting). Now a control channel is transmitted by the BS, assigning one or several data channel timeslots to the MS (both up- and downlink) - depending on the number of connected users. Each connected user gets a user id upon connecting. After a timeout or disconnection, the user id gets available again. If no ids are left, the connection is refused.

If no MSs are connected, the BS only transmits the synchronization and broadcast channel in the downlink (40 ms every 2560 ms) and listens for requests in the uplink. Thus the average power consumption is kept low.

Synchronization Channel (SC)

  • 1 timeslot

Broadcast Channel (BC)

  • 7 timeslots, 4-QAM ⇒ 1400 bit / 175 byte
  • Content:
    • Callsign of base station (6 byte)
    • Uplink frequency (?)
    • TX power (1 byte)
    • list of connected users by callsign (n x 6 byte) ← users can check if they time-outed and need to re-connect
    • QTH locator of basestation (8 byte)
    • Date and time (?)
    • Hamfox protocol release version (1 byte)
    • Broadcast of other data (APRS? Weather? Traffic?)

Control Channel (CC)

  • 4-QAM ⇒ 200 bit / 25 byte
  • 2 symbols sync ⇒ 24 byte payload
  • Content:
    • assignment of slot number - user id (1 byte) - modulation order (1 byte) of next 9 timeslots

Data Channel (DC)

  • Downlink data
  • adaptive modulation for each user, as assigned in Control Channel

Access Channel (AC)

  • 4-QAM
  • Content:
    • Callsign
    • Number of bytes to send
    • Current TX power
    • Received power of broadcast channel

Data Channel (DC)

  • Uplink data
  • Adaptive modulation as assigned in Control Channel

Frame overview

frame number 0 1…63
slot number 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
downlink S B C D D D D D D D
uplink A A A A A A A A A D D D D D D D
protocol/rel-0/mode_b.txt · Last modified: 2019/08/12 23:27 by stefan