Also known as: pulse-position modulation, PPM
Pulse-position modulation (PPM) encodes information in the timing of a pulse within a slot, not in its amplitude or width.1 Each symbol period is divided into possible positions, and the transmitter places one narrow pulse in the slot chosen by the data. Because every symbol uses the same short, full-amplitude pulse, PPM is power-efficient and tolerant of amplitude fading — attractive for optical, infrared, and impulsive-RF links.
How it works
The symbol interval is split into M time positions, and a single pulse is emitted in the position that represents the log₂M data bits. The receiver only has to detect where in the slot the pulse arrived, so it needs accurate timing but not amplitude calibration — noise and fading that would corrupt an amplitude scheme leave a correctly placed pulse recoverable. This makes M-ary PPM a close cousin of orthogonal signalling: like M-ary FSK, it trades bandwidth for power efficiency as M grows, which is why deep-space optical links favour high-order PPM.
The catch is timing sensitivity. Multipath spreads a pulse across slot boundaries, and clock jitter between transmitter and receiver directly maps to position error, so PPM systems spend effort on synchronisation. Simpler on-off pulse-position variants used in radio-control and telemetry gear encode data in the gap between pulses, a looser scheme that undemanding decoders can read with a single timer.
Relevance to SDR
PPM appears across several domains a software-radio user encounters. In aviation, the UAT 978 datalink — the 978 MHz ADS-B and flight-information channel used in the US — carries its bits with a form of pulse-position signalling on top of continuous-phase FSK framing. Consumer infrared remote controls use PPM-style gap coding, and many optical and free-space links choose PPM for its power efficiency. On a time capture, PPM is recognisable as uniform-height pulses that slide back and forth within regular slots.
GopherTrunk is a land-mobile trunking decoder (P25, DMR, NXDN, TETRA) and does not demodulate UAT or IR remotes, so PPM is outside its decode chain. It is documented here to complete the pulse-modulation family alongside PAM and PCM and because UAT/ADS-B are frequent neighbours on the same SDR hardware.
Sources
-
Pulse-position modulation — Wikipedia, for the position-in-slot definition, the power-efficiency trade-off, and its use in optical and IR links. ↩