Home     Contact     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS     Terms of services     Privacy policy  
 Home      Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science   

22 June 2011
Author: Giorgos Lazaridis
Pulse Position Modulation and Differential PPM

Pulse-position modulation (PPM) is a signal modulation used for both analog and digital signal transmissions. This method is widely used for optical communication systems such as optic fiber and IR remote controls, where efficiency is required and little or no external interference occurs.

How Pulse Position Modulation works

PPM encoded signal captured from a TV remote control

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:

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:

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:

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'

The encoded data for both bytes has the same length. Now look at the same example encoded with Differential PPM:

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:

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.



  Email (shall not be published)


Notify me of new posts via email

Write your comments below:
BEFORE you post a comment:You are welcome to comment for corrections and suggestions on this page. But if you have questions please use the forum instead to post it. Thank you.


  • At 9 February 2016, 19:07:40 user poya wrote:   [reply @ poya]
    • Thanks, it was simple,understandable and helpful

  • At 29 May 2014, 10:37:23 user Craig Pauley wrote:   [reply @ Craig Pauley]
    • Excellent article. Many thanks. Minor spelling error in the "As a Conclusion" text:-"On the other hand, PPM is very sensitive to EXTERNAL occurrences".

  • At 1 May 2014, 6:28:57 user nitinkumar wrote:   [reply @ nitinkumar]
    • Thank you , it was very helpful

  • At 31 May 2013, 0:11:32 user dude wrote:   [reply @ dude]
    • Thanks for the crash course!

  • At 16 May 2013, 3:37:03 user Lex wrote:   [reply @ Lex]
    • Helpful, thank you.

  • At 1 May 2013, 8:08:35 user Komolafe wrote:   [reply @ Komolafe]
    • Wow! Thank you so much. It was more than helpful!

  • At 19 April 2013, 16:05:40 user tamir wrote:   [reply @ tamir]
    • thank you!

  • At 5 April 2013, 6:18:59 user Fadi Frangi wrote:   [reply @ Fadi Frangi]
    • Thank you , it was very helpful .

  • At 1 March 2013, 18:47:01 user reza wrote:   [reply @ reza]
    • very good it was really helpfull

  • At 4 February 2013, 12:42:16 user christ wrote:   [reply @ christ]
    • your article lacks of some information; more elaborate about analog modulation! anyway thanks for your useful information . . .

  • At 2 December 2012, 14:31:14 user vysh wrote:   [reply @ vysh]
    • thnk u fr the grt presentation of PPM.. it was vry vry helpful.. such articles make the subject more interesting..!!

  • At 28 October 2012, 23:23:59 user Alejandro wrote:   [reply @ Alejandro]
    • Thank you very much for the article. It certainly cleared up most of the doubts I had.

  • At 8 October 2012, 18:41:37 user Einstein wrote:   [reply @ Einstein]
    • Excellent article, great job ...

  • At 3 September 2012, 2:26:37 user jaidiaz wrote:   [reply @ jaidiaz]
    • Great article I've learn a lot

  • At 19 August 2012, 14:47:50 user chandra kamal borgohain wrote:   [reply @ chandra kamal borgohain]
    • it's very helpful...

  • At 2 September 2011, 14:06:32 user mike wrote:   [reply @ mike]
    • Thank you for the article.

    reddit this Reddit this

     HOT in heaven!

    NEW in heaven!

    New Theory: AC electric motor working principle

     Contact     Forum     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS   

    Site design: Giorgos Lazaridis
    © Copyright 2008
    Please read the Terms of services and the Privacy policy