Skip to main content

Pulse Position Modulation (PPM)


Pulse Position Modulation (PPM) is a type of signal modulation in which M message bits are encoded by transmitting a single pulse within one of 2แดน possible time positions within a fixed time frame. This process is repeated every T seconds, resulting in a data rate of M/T bits per second.

Pulse Position Modulation Example

Bits per symbol: m = 3

Number of slots per symbol duration: M = 2^m = 2^3 = 8

Example symbol: 101 → decimal 5 → pulse sent in slot 5 (out of 0…7)

Symbol duration: T_s = 8 ms → each time slot: T_slot = T_s / M = 8 / 8 = 1 ms

Pulse for symbol 101 is transmitted between 5 ms and 6 ms.

Timeline representation of 3-bit PPM
Slot: 0   1   2   3   4   5   6   7
Time: 0-1 1-2 2-3 3-4 4-5 5-6 6-7 7-8 ms
Pulse →                           █
    

PPM is a form of analog modulation where the position of each pulse is varied according to the amplitude of the sampled modulating signal, while the amplitude and width of the pulses remain constant. This means only the timing (position) of the pulse carries the information.

PPM is commonly used in optical and wireless communications, especially where multipath interference is minimal or needs to be reduced. Because the information is carried in timing, it's more robust in some noisy environments compared to other modulation schemes.

Although PPM can be used for analog signal modulation, it is also used in digital communications where each pulse position represents a symbol or bit pattern. However, it is not ideal for transmitting complex data files, as it is generally used for simple or low-data-rate signaling.

PPM waveform illustration
Fig: PPM Waveforms

Demodulation of PPM Signal

Demodulation circuit for PPM


The noise-corrupted PPM waveform is received by the PPM demodulator circuit. A pulse generator produces fixed-duration pulses from the incoming PPM signal and applies these pulses to the reset (R) input of an SR flip-flop.

Simultaneously, a reference pulse train of fixed frequency is extracted (or generated) from the PPM signal and applied to the set (S) input of the flip-flop.

As a result of these set and reset signals, the SR flip-flop generates a PWM (Pulse Width Modulated) waveform at its output. The width of each pulse corresponds to the time delay between the reference pulse and the received PPM pulse — effectively recovering the original signal information.


Pulse Position Modulation (PPM) of Sinusoidal Signal

We have a sinusoidal signal:

x(t) = A sin(2ฯ€ f t)

And we want to modulate this signal using Pulse Position Modulation (PPM).


Step-by-Step Example

1. Sinusoidal Signal

Let’s define a sinusoidal signal as:

x(t) = 5 sin(2ฯ€ ⋅ 1 ⋅ t)

This is a sine wave with:

  • Amplitude: A = 5
  • Frequency: f = 1 Hz

2. Pulse Position Modulation Concept

We’ll now encode information into the timing of pulses based on this sinusoidal signal.

If the amplitude is large (positive or negative), the pulse will be farther from a reference time (i.e., delayed). If it’s small, the pulse will be closer to the reference time.

3. Calculating the Pulse Positions

We compute the values of x(t) and the corresponding pulse positions:

Time Sample 1: t = 0

x(0) = 5 sin(0) = 0

Pulse at reference time t = 0.

Time Sample 2: t = 0.1

x(0.1) = 5 sin(0.2ฯ€) ≈ 2.939
Shift = 0.1 × 2.939 = 0.294
t = 0.1 + 0.294 = 0.394 seconds

Time Sample 3: t = 0.2

x(0.2) = 5 sin(0.4ฯ€) ≈ 4.7555
Shift = 0.1 × 4.7555 = 0.47555
t = 0.2 + 0.47555 = 0.67555 seconds

Time Sample 4: t = 0.3

x(0.3) = 5 sin(0.6ฯ€) ≈ 4.045
Shift = 0.1 × 4.045 = 0.4045
t = 0.3 + 0.4045 = 0.7045 seconds

Time Sample 5: t = 0.4

x(0.4) = 5 sin(0.8ฯ€) ≈ 4.7555
Shift = 0.1 × 4.7555 = 0.47555
t = 0.4 + 0.47555 = 0.87555 seconds

Time Sample 6: t = 0.5

x(0.5) = 5 sin(ฯ€) = 0
Pulse at reference time t = 0.5

4. Summary of Pulse Timing

Pulse positions based on sinusoidal amplitude:

Sample Time (t) Amplitude x(t) Pulse Position (tpulse)
0.0 0 0.0
0.1 2.939 0.394
0.2 4.7555 0.67555
0.3 4.045 0.7045
0.4 4.7555 0.87555
0.5 0 0.5

Effect of Noise on Pulse Position Modulation

Since in a PPM system the transmitted information is contained in the relative positions of the modulated pulses, the presence of additive noise affects the performance by falsifying the perceived pulse timing. Immunity to noise can be improved by making the pulse rise rapidly, reducing the time window for noise interference.

In theory, noise would have no effect if pulses were perfectly rectangular (requiring infinite bandwidth). In practice, finite rise times mean some degradation is inevitable. Similar to continuous-wave modulation, PPM performance can be evaluated using the output signal-to-noise ratio (SNR). The figure of merit compares output SNR to channel SNR, showing that performance improves with bandwidth but suffers a threshold effect when SNR drops too low.


Try Interactive Online Simulation (web-based)

We have developed web-based interactive simulations to help you better understand Pulse Position Modulation and other complex concepts in wireless communication systems.

Try the Simulations:
PAM, PWM, & PPM Online Simulators


Further Reading

  1. MATLAB Code for Pulse Position Modulation (PPM)
  2. Pulse Amplitude Modulation (PAM)
  3. Pulse Width Modulation (PWM)
  4. Delta Modulation (DM)
  5. Pulse Code Modulation (PCM)
  6. Pulse Code Modulation in MATLAB
  7. PWM to PPM Conversion: Understanding Pulse Modulation Techniques

Contact Us

Name

Email *

Message *

Popular Posts

Q-function in BER vs SNR Calculation

Q-function in BER vs. SNR Calculation In digital communications and signal processing, the Q-function plays a significant role in predicting system reliability. It allows engineers to quantify the probability that Gaussian noise will exceed a specific threshold, causing a bit error. What is the Q-function? The Q-function is a mathematical function representing the tail probability of the standard normal (Gaussian) distribution. It is the complementary cumulative distribution function (CCDF) of a standard Gaussian distribution. Q(x) = (1 / √(2ฯ€)) ∫โ‚“∞ e^(-t² / 2) dt Q-Function Interactive Simulator Move the slider to see how the "Tail Probability" (the area in red) changes. This area represents the Probability of Error (BER) . Threshold Distance ( x ) — (Simulates Increasing SNR) x = 1.0 Q(x) = 0.1587 ...

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...(MATLAB Code + Simulator)

Bit Error Rate (BER) & SNR Guide Analyze communication system performance with our interactive simulators and MATLAB tools. ๐Ÿ“˜ Theory ๐Ÿงฎ Simulators ๐Ÿ’ป MATLAB Code ๐Ÿ“š Resources BER Definition SNR Formula BER Calculator MATLAB Comparison ๐Ÿ“‚ Explore M-ary QAM, PSK, and QPSK Topics ▼ ๐Ÿงฎ Constellation Simulator: M-ary QAM ๐Ÿงฎ Constellation Simulator: M-ary PSK ๐Ÿงฎ BER calculation for ASK, FSK, and PSK ๐Ÿงฎ Approaches to BER vs SNR What is Bit Error Rate (BER)? The BER indicates how many corrupted bits are received compared to the total number of bits sent. It is the primary figure of merit f...

RMS Delay Spread, Excess Delay Spread and Multi-path ...(with MATLAB + Simulator)

๐Ÿ“˜ Overview of Delay Spread and Multi-path ๐Ÿงฎ Excess Delay spread ๐Ÿงฎ Power delay Profile ๐Ÿงฎ RMS Delay Spread ๐Ÿ“š Further Reading ๐Ÿ“‚ Other Topics on RMS Delay Spread, Excess Delay ... ๐Ÿงฎ Multipath Components or MPCs ๐Ÿงฎ Online Simulator for Calculating RMS Delay Spread ๐Ÿงฎ Why is there significant multipath in the case of very high frequencies? ๐Ÿงฎ Why RMS Delay Spread is essential for wireless communication? ๐Ÿงฎ Why the Power Delay Profile is essential? ๐Ÿงฎ MATLAB Codes for Calculating Different Types of delay Spreads Delay Spread, Excess Delay Spread, and Multipath (MPCs) The fundamental distinction between wireless and wired connections is that in wireless connections signal reaches at receiver thru multipath signal propagation rather than directed transmission like co-axial cable. Wireless Communication has no set communication path between the transmitter and the receiver. The line...

FM Bandwidth and FM Band Explained

FM radio uses the frequency band from 88 MHz to 108 MHz , which is a 20 MHz-wide spectrum . This is the range of carrier frequencies available to stations. 108 MHz − 88 MHz = 20 MHz However, a single FM station occupies only about 200 kHz . This is the bandwidth of the modulated FM signal. 1. Why One FM Station Needs ~200 kHz FM uses frequency modulation . The bandwidth depends on how far the carrier swings. Carson's Rule gives the approximate FM bandwidth: B = 2 ( ฮ”f + f m ) ...

OFDM Symbols and Subcarriers Explained

This article explains how OFDM (Orthogonal Frequency Division Multiplexing) symbols and subcarriers work. It covers modulation, mapping symbols to subcarriers, subcarrier frequency spacing, IFFT synthesis, cyclic prefix, and transmission. Step 1: Modulation First, modulate the input bitstream. For example, with 16-QAM , each group of 4 bits maps to one QAM symbol. Suppose we generate a sequence of QAM symbols: s0, s1, s2, s3, s4, s5, …, s63 Step 2: Mapping Symbols to Subcarriers Assume N sub = 8 subcarriers. Each OFDM symbol in the frequency domain contains 8 QAM symbols (one per subcarrier): Mapping (example) OFDM symbol 1 → s0, s1, s2, s3, s4, s5, s6, s7 OFDM symbol 2 → s8, s9, s10, s11, s12, s13, s14, s15 … OFDM sym...

Orthogonal Time Frequency Space (OTFS) (with MATLAB)

In OTFS (Orthogonal Time Frequency Space) modulation — a scheme designed for high-Doppler and time-varying wireless channels — the terms ISFFT and SFFT are key mathematical transformations used to move between different representation domains. Figure: OTFS block diagram 1. ISFFT — Inverse Symplectic Finite Fourier Transform Purpose: Transforms data symbols from the delay-Doppler domain to the time-frequency domain . \[ X[n, m] = \frac{1}{\sqrt{NM}} \sum_{k=0}^{N-1} \sum_{l=0}^{M-1} x[k, l] \, e^{j2\pi \left( \frac{nk}{N} - \frac{ml}{M} \right)} \] Here, \( N \) is the number of Doppler bins (time slots), and \( M \) is the number of delay bins (subcarriers). The ISFFT maps each data symbol from the delay-Doppler grid (where the channel is sparse and easier to equalize) to the time-frequency grid (where standard multicarrier modulation like OFDM can be applied). 2. SFFT — Symplectic Finite Fourier Transform Purpose: Performs the reverse operation ...

Intel 8086 Transistor Count: Architecture, Specifications, and Comparison with Other Microprocessors

Intel 8086 Transistor Count: Architecture, Specifications, and Comparison with Other Microprocessors Intel 8086 Transistor Count: Complete Guide with Architecture and Processor Comparison The Intel 8086 microprocessor is one of the most important processors in computer history. Released in 1978 , it introduced the x86 architecture that still influences modern CPUs. One of the most frequently asked questions in computer architecture and microprocessor courses is: How many transistors are present in the Intel 8086? The commonly accepted answer is approximately 29,000 transistors . However, reverse-engineering studies have shown that the actual number of physical transistors is closer to 19,618 , while Intel's published figure includes programmable transistor locations used in ROM and PLA structures. Intel 8086 Transistor Count Metric Value Published transistor count ~29,000 Physical transistor count ~19,618 Release year 1978 Word ...