Pulse Position Modulation and Differential PPM
来源:互联网 发布:mac如何用搜狗输入法 编辑:程序博客网 时间:2024/06/05 17:13
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.
- Pulse Position Modulation and Differential PPM
- Pulse Width Modulation
- Pulse Width Modulation (PWM)
- PWM(Pulse Width Modulation)调试原理
- 脉冲宽度调制(Pulse Width Modulation) PWM简介
- Introduction to Pulse Width Modulation (PWM)
- PCM(Pulse Code Modulation——脉冲编码调制)
- 脉冲编码调制(Pulse-code modulation,PCM)
- STM32---------- PWM(Pulse Width Modulation,利用TIM定时器)
- Switch-Mode, Linear, and Pulse
- sigle end and differential primary
- Modulation and Coding Scheme - MCS Index Table
- Understanding Single-Ended, Pseudo-Differential and Fully-Differential ADC Inputs
- PPM
- PPM
- CS(coding scheme)和MCS(modulation and coding scheme)
- CS(coding scheme)和MCS(modulation and coding scheme)续
- Dictionary of Analysis, Calculus, and Differential Equations (re-upload)
- ASCII码表 完整版 包含诠释部分
- ubuntu root登录没有声音
- LabVIEW数据类型、C数据类型对照表
- C# 数据类型表
- jquery模拟今日头条(选项卡)
- Pulse Position Modulation and Differential PPM
- laravel easyWechat 中间件 用户授权 出现 无限循环授权页面的解决
- Softmax层原理详解
- SQL 优化
- echarts 如何实现同心圆效果
- 有一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度。
- php实现字符串翻转,使字符串的单词正序,单词的字符倒序
- HDU 6035 Colorful Tree(树形dp)
- iMX6Q调试篇-Linux程序开发使用gdb调试