Electrical – How to convert Pulse Position Modulation (PPM) to duty cycle

arduinomicrocontrollerModulationpwm

I can convert PWM to duty cycle since each frame starts with a rising edge. Then I count the on time, off time and take the ratio to find duty cycle.

However, for PPM signal, there is no start of frame or end of frame so I am stuck. That is even with the assumption that frame length is known.

There are some modules that claim they can convert PPM to Analog. One of them is PT01A WingXine which can convert PPM to Analog AND vice verse, there is only 1 single IC on there so I was wondering how it functions.

Best Answer

According to Tech-FAQ you are correct.

enter image description here

Figure 1. Signal encoded with pulse amplitude, pulse density, pulse position and pulse code modulation.

From the Tech-FAQ article:

How Pulse Position Modulation Works

Pulse position modulation works by sending electrical, electromagnetic, or optical pulses to a computer or other device in order to communicate simple data. It requires both devices to be synchronized to the same clock so that when a series of pulses is sent, the device decodes the information based on when the pulses were broadcasted. Alternately, another form of pulse position modulation known as differential pulse position modulation, allows all signals to be encoded based on the difference between broadcast times. This means that a receiving device only has to observe the difference in arrival times in order to decode a transmission.

Further down the article they continue:

Disadvantages

Pulse position modulation requires that both devices are synchronized or differential pulse position modulation is used. Also, pulse position modulation is highly sensitive to multi-pathway interference, such as echoing, that can disrupt a transmission by altering the difference in arrival times of each signal.

The Wikipedia article Pulse position modulation gives food for though (but not much else) when it states

Synchronization

One of the key difficulties of implementing this technique is that the receiver must be properly synchronized to align the local clock with the beginning of each symbol. Therefore, it is often implemented differentially as differential pulse-position modulation, whereby each pulse position is encoded relative to the previous, such that the receiver must only measure the difference in the arrival time of successive pulses. It is possible to limit the propagation of errors to adjacent symbols, so that an error in measuring the differential delay of one pulse will affect only two symbols, instead of affecting all successive measurements.

An article on PCB Heaven explains several different PPM schemes. The last one looks the simplest for analog signal transmission without a clock.

enter image description here

Figure 2. This simple analog PPM scheme can reconstruct the signal without the original clock but notice that the number of samples decreases for high voltages.

That complete article is worth a read.


enter image description here enter image description here

Figure 3. The board and close-up of the setting jumpers.

The board does seem to support PPM but without a datasheet it's not certain.