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.

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.


Fig: PPM Waveforms


Demodulation of PPM Signal


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 (meaning 1 complete cycle every second)

This means the signal oscillates between +5 and −5, and it has a period of 1 second.

 

2. Pulse Position Modulation Concept

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

Let’s assume we sample the sinusoidal signal at regular time intervals (every ฮ”t = 0.1 seconds). At each sample point, we adjust the position of the pulse based on the amplitude of the sine wave at that time.

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

If the amplitude is small (close to zero), the pulse will be closer to the reference time.

 

3. Calculating the Pulse Positions

Let’s compute the values of x(t) at several sample times and determine the pulse positions.

Time Sample 1: t = 0

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

Since the value is 0, the pulse will be positioned at the reference time, say at t = 0.

Time Sample 2: t = 0.1

x(0.1) = 5 sin(2ฯ€ ⋅ 1 ⋅ 0.1) = 5 sin(0.2ฯ€) ≈ 5 × 0.5878 = 2.939

Since the amplitude is positive and non-zero, the pulse will be shifted forward in time. Let’s say it’s shifted by:

0.1 × x(0.1) = 0.1 × 2.939 = 0.294

So, the pulse will appear at:

t = 0.1 + 0.294 = 0.394 seconds

Time Sample 3: t = 0.2

x(0.2) = 5 sin(2ฯ€ ⋅ 1 ⋅ 0.2) = 5 sin(0.4ฯ€) ≈ 5 × 0.9511 = 4.7555

Since the amplitude is relatively high, we shift the pulse even further. Let’s say the pulse is shifted by:

0.1 × x(0.2) = 0.1 × 4.7555 = 0.47555

So, the pulse will be at:

t = 0.2 + 0.47555 = 0.67555 seconds

Time Sample 4: t = 0.3

x(0.3) = 5 sin(2ฯ€ ⋅ 1 ⋅ 0.3) = 5 sin(0.6ฯ€) ≈ 5 × 0.809 = 4.045

The pulse will be shifted by:

0.1 × x(0.3) = 0.1 × 4.045 = 0.4045

So, the pulse will be at:

t = 0.3 + 0.4045 = 0.7045 seconds

Time Sample 5: t = 0.4

x(0.4) = 5 sin(2ฯ€ ⋅ 1 ⋅ 0.4) = 5 sin(0.8ฯ€) ≈ 5 × 0.9511 = 4.7555

The pulse will be shifted by:

0.1 × x(0.4) = 0.1 × 4.7555 = 0.47555

So, the pulse will be at:

t = 0.4 + 0.47555 = 0.87555 seconds

Time Sample 6: t = 0.5

x(0.5) = 5 sin(2ฯ€ ⋅ 1 ⋅ 0.5) = 5 sin(ฯ€) = 0

At t = 0.5 seconds, the sine wave is at 0 again, so the pulse will be at the reference time t = 0.5.

 

4. Summary of Pulse Timing

Based on the sinusoidal signal, we have the following pulse positions (where the pulse is shifted according to the amplitude of the sine wave):

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 of such a system by falsifying the time at which the modulated pulses are judged to occur. Immunity to noise can be established by making the pulse build up too rapidly that the time interval during which noise can exert any perturbation is very short. Indeed, additive noise would have no effect on the pulse positions if the received pulses were perfectly rectangular, because the presence of noise introduces only vertical perturbations. However, the reception of perfectly rectangular pulses would require an infinite channel bandwidth, and the received pulses have a finite rise time, so the performance of the PPM receiver is affected by noise, which is to be expected.

As in a continuous wave (CW) modulation system, the noise performance of a PPM system may be described in terms of the output signal-to-noise ratio (SNR). Also, to find the noise improvement produced by PPM over baseband transmission of a message signal, we may use the figure of merit defined as the output signal-to-noise ratio of the PPM system divided by the channel signal-to-noise ratio. Assuming that the average power of the channel noise is small as compared to the peak pulse power, the figure of merit of the PPM system is proportional to the square of the transmission bandwidth of the (say, BT) normalized with respect to the message signal bandwidth (say, W). When, however, the input signal-to-noise ratio drops below a critical value, the system suffers a loss of the wanted message signal at the receiver output. That is a PPM system suffers from a threshold effect of its own.
 

Further Reading

People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *

Popular Posts

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...

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...

๐Ÿ“˜ Overview of BER and SNR ๐Ÿงฎ Online Simulator for BER calculation of m-ary QAM and m-ary PSK ๐Ÿงฎ MATLAB Code for BER calculation of M-ary QAM, M-ary PSK, QPSK, BPSK, ... ๐Ÿ“š Further Reading ๐Ÿ“‚ View Other Topics on M-ary QAM, M-ary PSK, QPSK ... ๐Ÿงฎ Online Simulator for Constellation Diagram of m-ary QAM ๐Ÿงฎ Online Simulator for Constellation Diagram of m-ary PSK ๐Ÿงฎ MATLAB Code for BER calculation of ASK, FSK, and PSK ๐Ÿงฎ MATLAB Code for BER calculation of Alamouti Scheme ๐Ÿงฎ Different approaches to calculate BER vs SNR What is Bit Error Rate (BER)? The abbreviation BER stands for Bit Error Rate, which indicates how many corrupted bits are received (after the demodulation process) compared to the total number of bits sent in a communication process. BER = (number of bits received in error) / (total number of tran...

Constellation Diagrams of ASK, PSK, and FSK

๐Ÿ“˜ Overview of Energy per Bit (Eb / N0) ๐Ÿงฎ Online Simulator for constellation diagrams of ASK, FSK, and PSK ๐Ÿงฎ Theory behind Constellation Diagrams of ASK, FSK, and PSK ๐Ÿงฎ MATLAB Codes for Constellation Diagrams of ASK, FSK, and PSK ๐Ÿ“š Further Reading ๐Ÿ“‚ Other Topics on Constellation Diagrams of ASK, PSK, and FSK ... ๐Ÿงฎ Simulator for constellation diagrams of m-ary PSK ๐Ÿงฎ Simulator for constellation diagrams of m-ary QAM BASK (Binary ASK) Modulation: Transmits one of two signals: 0 or -√Eb, where Eb​ is the energy per bit. These signals represent binary 0 and 1.    BFSK (Binary FSK) Modulation: Transmits one of two signals: +√Eb​ ( On the y-axis, the phase shift of 90 degrees with respect to the x-axis, which is also termed phase offset ) or √Eb (on x-axis), where Eb​ is the energy per bit. These signals represent binary 0 and 1.  BPSK (Binary PSK) Modulation: Transmits one of two signals...

Coherence Bandwidth and Coherence Time

๐Ÿงฎ Coherence Bandwidth ๐Ÿงฎ Coherence Time ๐Ÿงฎ MATLAB Code s ๐Ÿ“š Further Reading Coherence Bandwidth Coherence bandwidth is a concept in wireless communication and signal processing that relates to the frequency range over which a wireless channel remains approximately constant in terms of its characteristics. Coherence bandwidth is inversely related to the delay spread time (e.g., RMS delay spread). The coherence bandwidth is related to the delay spread of the channel, which is a measure of the time it takes for signals to traverse the channel due to multipath. The two are related by the following approximation: Coherence Bandwidth ≈ 1/(delay spread time) Or, Coherence Bandwidth ≈ 1/(root-mean-square delay spread time) (Coherence bandwidth in Hertz) For instance, if the root-mean-square delay spread is 500 ns (i.e., {1/(2*10^6)} seconds), the coherence bandwidth is approximately 2 MHz (1 / 500e-9) in ...

UGC NET Electronic Science Previous Year Question Papers

Home / Engineering & Other Exams / UGC NET 2022: Previous Year Question Papers ...   NET | GATE | ESE | UGC-NET (Electronics Science, Subject code: 88 ) UGC Net Electronic Science Questions Paper With Answer Key Download Pdf [December 2024] UGC Net Electronic Science Questions Paper With Answer Key Download Pdf [June 2024] UGC Net Electronic Science Questions Paper With Answer Key Download Pdf [December 2023] UGC Net Electronic Science Questions Paper With Answer Key Download Pdf [June 2023] UGC Net Electronic Science Questions Paper With Answer Key Download Pdf [December 2022]  UGC Net Electronic Science Questions Paper With Answer Key Download Pdf [June 2022]   UGC Net Electronic Science Questions Paper With Answer Key Download Pdf [December 2021] UGC Net Electronic Science Questions With Answer Key Download Pdf [June 2020] UGC Net Electronic Science Questions With Answer Key Download Pdf [December 2019] UGC Net Electronic Science Questions With Answer...

Online Simulator for ASK, FSK, and PSK

Try our new Digital Signal Processing Simulator!   Start Simulator for binary ASK Modulation Message Bits (e.g. 1,0,1,0) Carrier Frequency (Hz) Sampling Frequency (Hz) Run Simulation Simulator for binary FSK Modulation Input Bits (e.g. 1,0,1,0) Freq for '1' (Hz) Freq for '0' (Hz) Sampling Rate (Hz) Visualize FSK Signal Simulator for BPSK Modulation ...

Bartlett Method in MATLAB

Steps to calculate Spectral power density using Bartlett Method 1. 'M' is the length of each segment for the Bartlett method, set to 100 samples. 2. 'K' is the number of segments obtained by dividing the total number of samples N by the segment length 'M'. 3. psd_bartlett _broadband is initialized to store the accumulated periodogram. 4. For each segment k, x_k extracts the k-th segment of the broadband signal. 5. P_k computes the periodogram of the k-th segment using the FFT. 6. The periodograms are accumulated and averaged over all segments. 7. The PSD is plotted in dB/Hz by converting the power values to decibels using 10*log10.   MATLAB Script clc; clear; close all; % Parameters fs = 1000; % Sampling frequency t = 0:1/fs:1-1/fs; % Time vector N = length(t); % Number of samples % Generate synthetic broadband ARMA process arma_order = [2, 2]; % ARMA(p,q) order a = [1, -0.75, 0.5]; % AR coefficients b = [1, 0.4, 0.3]; % MA coefficients %broadband_signal = f...