《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于FPGA的PPM调制解调系统设计
基于FPGA的PPM调制解调系统设计
摘要: 本文从工程应用出发,根据PPM的基本原理和数学模型,对PPM调制解调系统进行了设计,并用Verilog HDL语言在Quartus上完成了系统仿真。
Abstract:
Key words :

  0 引言

  目前,大气激光通信、无线红外通信以及新兴的紫外光通信技术发展迅猛,是现代通信技术研究的一个热点。尤其是新兴的紫外光通信技术,它工作在通常所说的紫外光 “日盲区”,利用该波段的紫外光进行通信其背景噪声可视为零,也使得紫外光通信具有低窃听率、低位辨率、全方位、高抗干扰能力等优点。光通信系统大多采用设计为强度调制/直接检测(IM/DD)的系统,应用于强度调制/直接检测光通信系统中的调制方式有很多种,脉冲位置调制(PPM)是一种正交调制方式,相比于传统的开关键控(OOK)调制,它具有更高的光功率利用率和频带利用率,并能进一步提高传输信道的抗干扰能力。此外,PPM降低了光辐射平均功率的要求,小辐射功率对延长发射光源工作寿命特别重要,能有效提高整机系统的使用寿命。

  本文从工程应用出发,根据PPM的基本原理和数学模型,对PPM调制解调系统进行了设计,并用Verilog HDL语言在Quartus上完成了系统仿真。

  1 PPM的基本原理与数学模型

  根据脉冲形式,脉冲位置调制可分为三种:单脉冲位置调制(L-PPM),差分脉冲位置调制(L-DPPM)以及多脉冲位置调制(Multi- PPM)。从带宽利用率、传输速率以及工程实际应用上综合考虑,选择L-PPM作为PPM实现的具体方式。

  L-PPM是将一个n位二进制数据组映射为由2n个时隙组成的时间段上的某一个时隙处的单个脉冲信号。易知,一个L位的PPM调制信号传送的信息比特为log2L。如果将n位数据组写成m=(m1,m2,…,mn),而将时隙位置记为l,则此单脉冲位置调制的编码映射关系可以写成如下数学关系:l=m1+2m2+…+2n-1mn,n∈{0,1,…,n-1)。根据此关系式,得出16-PPM的示意图,如图1所示。

  2 PPM调制系统设计

  由上述讨论,不难发现PPM的调制过程本质上是一个计数过程。程序需计算并行数据中的数值,并在相应的时隙位置输出一个高脉冲,其他位置不输出脉冲,从而保证信号的一一映射。

  本文基于Verilog HDL语言设计,以16-PPM为例,其设计思路为:由图1所示PPM调制原理,PPM调制是将并行输入数据进行计数,故在调制之前应将串行输入的数据进行串/并转换,由于是16-PPM,一帧时间内时隙个数应为16个,每次对4位数据进行串/并转换,故触发串/并变换的时钟信号是时隙时钟的四分频。转换后的4位并行数据需与16进制计数器进行比较从而确定高脉冲在这一帧中的时隙位置,这要求并行数据能维持一帧时间使之与计数器产生的计数值进行比较,故由锁存器控制输出并行数据。当并行数据与计数器的输出值相等时,就输出高电平“1”,否则输出低电平“0”,这样就产生了所需的PPM信号。具体流程如图2 所示。

PPM调制原理

  3 PPM解调系统设计

  本文已详细介绍了PPM的调制过程,PPM信号的解调过程从本质上讲就是PPM调制的逆过程,故对其详细解调过程在此省略。但在PPM解调过程中需要解决一个非常关键的时钟同步问题,具体包括位同步和帧同步。

  3.1 PPM的位同步

  位同步与帧同步建立的效果与效率关系到整个PPM解调过程的成功与否。而位同步又是帧同步的基础,实现位同步的方法有插入导频法和直接法。插入导频法是在基带信号频谱的零点处插入所需的位定时导频信号;直接法则是在发送端不专门发送导频信号,而直接从接收的数字信号中提取位同步信号。从PPM调制过程中发现PPM信号中包含有时隙时钟信息,即位同步信号,宜采用直接法。直接提取位同步的方法又分滤波法和锁相环法,现在通常采用数字锁相环提取位同步信号,数字锁相环解决了模拟锁相环的直流零点漂移、器件饱和以及易受电源和环境温度变化影响等缺点,而且具有可靠性高、体积小、易于集成等优点。文献已详细阐述,本文限于篇幅不在此赘述。

  3.2 PPM的帧同步

  实现帧同步可采用插入法或直接法,插入法即在每帧的帧头部插入特殊的码元,用以辨别每帧的起始位置,比如插入巴克码。但这样会让PPM的调制与解调过程复杂化,并且插入的码元占用了原本传输信息的时隙,会降低整个系统的传输速率,本文采用直接法提取帧同步信号。

  实现PPM解调时的帧同步传统上多采用基于锁相环的方法。即采用锁相环锁住“肩并肩”的两个光脉冲,如图1所示,帧3与帧4之间的两个光脉冲即为 “肩并肩”光脉冲。很明显出现这种光脉冲的情况相对较少,尤其是随着调制阶数的增大,出现的概率势必减小,严重影响了实现帧同步的速度。此外,由于PPM 信号的连“0”码过长,使用锁相环不能很快锁住,而且很易失锁。这里利用PPM信号自身特性,采用数字逻辑电路提取出字同步时钟。

   由16-PPM示意图,发现PPM信号有三个特点:其一,每个PPM帧由16个时隙组成,但其中有且只有一个时隙是高电平,其余的都是低电平;其二,若连续出现16个低电平,说明这16个低电平一定不处在同一个PPM帧当中,而是在相邻两个帧中;其三,若连续出现2个高电平,说明这2个高电平只能在相邻的两个帧当中。

   基于PPM信号上述三个特点,在FGPA中设计提取帧同步信号过程如下:接收到的PPM调制信号输入到串/并转换单元,在同步时隙时钟的控制下,将串行的PPM调制信号以16位并行输入,这个过程实际上就是一个16位数据移位的过程。再对并行输出的16位数据进行逻辑判断,若这16位数据中有且只有一个高电平“1”,则输出高电平,其他情况则输出低电平“O”。与此同时,计数器对时隙时钟进行计数,计数器每计16个次产生一个进位高电平“1”,其他时候则输出为“O”。将计数器输出与逻辑判断输出进行相与。若两者都为高电平,相与结果为“1”,则输出一个帧同步信号,其他情况下则不输出帧同步信号,但若逻辑判断结果为“0”,而计数器输出为“1”时,需将此时与门输出的低电平与计数器输出的高电平进行同或运算,得到低电平“O”,并将此低电平跟控制计数器的时隙时钟相与,使计数器暂停计数一次,从而通过扣除时隙时钟的方式逐渐达到帧同步。具体设计流程如图3所示。

设计流程

  4 系统仿真

  整个系统在Quartus 8.0平台进行仿真,图4为PPM调制仿真图。ser_in为串行输入的数据,parr为串/并转换后的并行数据,data_out即为PPM调制后的输出信号,从图中可以看到PPM调制正确。为了更好地展现程序逐渐同步的原理,选择从4-PPM信号中恢复帧同步,如图5所示,从仿真中,不难看出帧同步输出framclk_out逐渐同步的过程。

PPM调制仿真图

  图6为PPM解调仿真图,图7为系统整体仿真,即串行输入数据经PPM调制后,解调程序从已调信号中提取帧同步,并解调出原有串行输入数据,从图7 中看到串行输入数据与串行输出数据之间存在一定的延迟,一方面是因为硬件系统自身存在延迟,更主要的原因是由于在PPM调制时,比较器需等待第一次串/并转换完成再进行比较,并输出PPM信号,而解调是在基于调制后PPM信号进行的,从而导致了仿真中的延迟,但在实际运用中这个延迟并不存在。

PPM解调仿真图

  5 结语

  用Verilog HDL语言设计完成了基于FPGA的PPM调制解调系统,并在Quartus 8平台上对调制过程、帧同步过程和解调过程以及整个系统进行功能仿真和时序仿真,从仿真中可以看出整个系统达到了预期的目标,能够高效稳定地完成PPM调制与解调过程,为将来的实用化打下了基础。但另一方面,也在仿真中发现帧同步时间偏长,需要进一步改进。

此内容为AET网站原创,未经授权禁止转载。