How Pulse Position Modulation works
In PPM, data are transmitted with short pulses. All pulses have both the same width and amplitude. The parameter that changes is the delay between each pulse. Here is an example of a PPM signal:
![](https://i-blog.csdnimg.cn/blog_migrate/777b0af1ac3c3fb6a889d8e368cb0596.jpeg)
It is obvious that the signal has similar pulses (in terms of amplitude and width), yet the duration between them differs. To explain how exactly this method works, i will start with the digital PPM.
PPM for Digital Data Transmission
Modulating a digital signal to Pulse Position is pretty much straight forward. The duration between the pulses will represent a digital 0 or 1. A small duration represents digital 0, and a large duration represents digital 1. The duration is not standard and varies according to the system requirements. An example is the IR TV remote control. The Sony IR protocol for example uses PPM transmission. A delay of 1.2mSec represents digital 0, and a delay of 1.8mSec represents digital 1. Here is an 8-bit data transmission example:
![](https://i-blog.csdnimg.cn/blog_migrate/f9b0f9db012cec4eb0deb5c825b70bd9.jpeg)
The byte '11011100' is encoded with PPM so that it can be transmitted with infrared light. For the first bit (1), the transmitter will send a pulse 1.8 mSec after the rising edge of the clock. For the second bit (1), the transmitter will send a pulse 1.8 mSec after the second rising edge of the clock. But for the third bit which is 0, the transmitter will send a pulse after 1.2 mSec from the third rising edge of the clock. Same algorithm applies for all other bits.
This method has a great disadvantage. The decoding of the signal requires that the decoder has a perfectly synchronized clock with the transmitter. Most of the times that is impossible. The signal itself does not provide a method for the decoder to reconstruct the clock (as it happens with PWM or Manchester code). For this reason, the Differential Pulse Position Modulation is used.
Differential Pulse Position Modulation
The Differential Pulse Position Modulation is a variation of the PPM coding, which in fact transmits data regardless of a clock. The delay between the pulses does not take reference from the rising edge of the clock. Instead, each delay takes reference from the falling edge of the previous pulse. Here is an example:
![](https://i-blog.csdnimg.cn/blog_migrate/316bb30a36c042a47d40b0648fe3940a.jpeg)
The above example shows how an 8-bit byte ('11011100') is encoded with Differential PPM. I did not add the clock because, as said before, this method encodes a signal regardless of a clock. This is what makes this method so widely used. In fact this is the modulation method that many TV remote controls work with.
Different data, different length
One distinctive characteristic about the Differential PPM, is that the length of the encoded signal is not fixed. The simple PPM produces always a fixed-length encoded signal, which has to do only with the number of bits and the clock period. For example, an n-bit data encoded with a clock having period T, will always produce an encoded signal with the same length which is n x T. Look at the following example. Two bytes are encoded with PPM, the first one is the '11111111' and the second is the '00000000'
![](https://i-blog.csdnimg.cn/blog_migrate/e2ed4336ad6682f1db1788868d77a1cb.jpeg)
The encoded data for both bytes has the same length. Now look at the same example encoded with Differential PPM:
![](https://i-blog.csdnimg.cn/blog_migrate/ba5f3493451146b4e783432429db7105.jpeg)
The more the ZEROS the data has, the less time it needs to be transmitted! As a matter of fact, this is one of the great advantages of this system. The bandwidth efficiency is increased, as the overall transmission is significantly faster. Taking into account also the simplicity and ease of implementation, this explains why this method is so widely used. One big disadvantage for the D-PPM and PPM systems is that, any false pulse due to external fields or cable inter-talk, is very hard (if not impossible) to be detected and thus the complete transmission is corrupted. It is absolutely improper to be used in harsh environments or critical applications where reliability is required.
PPM for Analog Data Transmission
Encoding an analog signal in PPM is pretty much similar to the PWM encoding method. A saw-tooth waveform is compared with the analog signal. Every time the sawtooth waveform has the same amplitude with the analog signal, the sawtooth amplitude becomes 0 and a pulse is transmitted. Here is an example:
![](https://i-blog.csdnimg.cn/blog_migrate/8e603ba018c3d3e86b8928126641f369.jpeg)
The decoding of the signal is usually done indirectly. It is simpler to convert the PPM into PWM and then through a low-pass filter convert it back to analog, rather than converting the PPM signal directly into analog.
As a Conclusion
D-PPM offers efficient data transmission due to its highly compressed format. The fact that it does not need a clock signal to synchronize with, means that the circuit is very simple to implement. On the other hand, PPM is very sensitive to eternal occurrences. Any external interference will cause a complete data corruption which is usually impossible to detect. Therefore, it is not used in cable transmissions, because cables are subject to electromagnetic interferences, but it is used in optic-fiber data transmissions. Also is is used in non-critical applications such as remote controls used for televisions, air conditions, toys etc.