基于FPGA的IJF数字基带编码的实现
扫描二维码
随时随地手机看文章
20世纪80年代初,加拿大渥太华大学的费赫教授(K.Feher)领导的科研小组发明了IJF-OQPSK调制技术。IJF-OQPSK中文名称叫做无码间干扰和抖动-交错正交相移键控。他是现代数字恒包络调制技术中新型的调制技术之一。
进行这种调制时,首先要对数字基带信号进行IJF编码,将其变换成一种无码间干扰和抖动、频谱主瓣窄、具有快速滚降的基带波形,然后再用OQPSK调制。这样,调制后的基带信号就具有了以下特点:以调波的相位平滑连续,而且每个号码内的相位变化不会超过π/2,以调波的包络近于恒包络,频谱主瓣窄,高频滚降快,带外能量低。
2 IJF编码原理
在数字传输系统中,与误码率有直接关系的是接收信号在取样点上的值与理想值的偏差。若排除噪声的影响,则误差主要来源于传输过程中的码间干扰和取样点的定时抖动。在实际工程系统中,用奈奎斯特脉冲代表随机二进制数据,他的主瓣占2b宽度。由于奈奎斯特脉冲拖尾的存在,使得合成波形的过零点向左或右偏移,产生定时抖动。另外,拖尾还会造成波形的幅度起伏,使误码率提高。IJF编码的特点是采用一种新的基带成形脉冲--时限双码元间隔脉冲,因其不存在振荡尾巴,从而消除了码间干扰和定时抖动。
2.1 IJF编码波形--时限双码元间隔升余弦脉冲
双码元间隔升余弦脉冲,当滚降系数a=1时,其表达式为:
其他特性如下:
(1)脉冲边缘处,即t=±Ts,其值为零。
(2)t=±Ts/2处,脉冲幅度为峰值的一半;
(3)在t=0处,为脉冲峰值。
如果采用双码元间隔升余弦脉冲代表随机二进制序列中的“1”和“0”,且当前脉冲总是在前一个脉冲的中点开始,可以证明由此得到的代表随机二进制序列的波形,其频谱特性和单个双码元间隔升余弦脉冲的特性一样。
分析双码元间隔升余弦脉冲可知,S(t)为一偶函数,且满足如下2个条件:
以上条件保证了由双码元间隔升余弦脉冲同步叠加厚的随机波形为一连续信号,即S(t)和S(t-Ts)之和,在一个码元间隔内任何时刻均为1;而他们之差为一偶函数。由于双码元间隔脉冲在t≥±Ts时,其值为零,因而不存在码间干扰;t=Ts/2时,幅值为峰值的一半,表示数字1和0的正负脉冲同步叠加后,合成波在Ts/2处总为零。因此过零点固定,也不会产生定时抖动。
2.2 IJF非线性滤波器编码方法
实现IJF编码方法有脉冲叠加法,横向滤波器法和非线性滤波器法等几种。非线性滤波器法实质上是一种分段合成IJF波形的方法。
单码元间隔偶脉冲和奇脉冲,根据式(2)可导出:
式(6),(7)表达了无符号间抖动和码间干扰的条件。根据随机二进制数据相邻位(bit)的变化,利用式(3),(4)定义的单间隔脉冲,可导出构成IJF编码的4个基本波形函数S1-S4:
式中xn为当前比特,xn-1为前一比特。
设输入的数据(NRZ)信号为:
他是随输入数据变化的随机序列,其波形可视为4个基本波形的组合,即:
由此可得出非线性转换滤波器IJF编码信号形成的方案,如图1所示。
3 IJF编码的FPGA实现
首先给出一个IJF-OQPSK调制器的组成原理框图如图2所示。其中的串并变换、延时、差分编码和IJF编码采用XILINX公司的FPGA器件SPARTANII XC2S200来实现。I,Q两支路经IJF编码成形的数据通过数/模转换器AD9765转换为模拟幅值送入正交调制器AD6122后得到70MHz中频的IJF-OQPSK调制信号。
有上述的分析可以看出,IJF-OQPSK调制的关键在于IJF编码。下面重点讨论IJF编码的FPGA实现方法。
由式(9)和图1可看出,IJF编码的过程就是根据前后码元的组合关系去波形系数表中查表,以一定的采样时钟取得相应的波形系数从而实现波形成形。因此首先需要建立波形系数表。假设原始输入数据信息速率为2Mb/s,经过串并转换后I,Q支路码速率为1Mb/s,若以50MHz的时钟采样,则每个码元需要50个波形采样数据,理论上有4种基本波形,需要存储200个波形数据,但S1(t)=+1,S2(t)=-1是 固定值,不需要存储单元,只需对进行存储即可,共需要100个存储单元,由于FPGA后端的数/模转换器AD9765为12位,因此存储单元中的地址线宽度为7位,数据线宽度为12位。这里采用XILINX的COREGenerator提供的IP核Single Prot Block Memory来构建ROM用于存储波形系数。此IP核的一些主要特点是:
(1)支持Virtex,VirtexII,SpartanII,SpartanIIE等系列的FPGA;
(2)可以被配置为ROM或者单口RAM;
(3)支持的数据宽度是1-256b;
(4)数据深度支持2-1M个数据。
关于IP核的生成与使用方法可以参考文献[1]。生成的ROM还需向其中添加coe文件,即波形系数表,其文件格式如下:
其中关键字MEMORY_INITIALIZATION_RADIX说明了ROM数据的进制(2,10,16可选)。GLOBAL_IN1T_VALUE定义了全局初始值。MEMORY_INITALIZATION_VECTOR即定义了IJE编码的波形系数表。其中前50个系数对应着,后50个系数对应着。最终生成的波形系数ROM如图3所示。此方法生成的ROM将使用FPGA提供的BLOCK RAM,而不会占用distribute RAM,从而节省了宝贵的可编程资源。
4 结语
图4显示了IJF-OQPSP与OQPSK基带编码和调制信号频谱的比较。从图4可以看出,采用时限双码元间隔升余弦脉冲波形进行的IJF编码,在时域具有光滑连续的优点,而且非常适宜于数字实现。已经证明双码元间隔升余弦脉冲波形是时域分布长度有限的最佳波形[2],可以做到理论上的无码间干扰和相位抖动。IJF编码后使得信号的相位路径变得连续、平缓,从而在很大程度上改善了信号的谱性能。由图4可以看到IJF-OQPSK调制信号的功率谱性能明显好于QPSK的功率谱,不仅衰减速度快,而且主瓣宽度与QPSK保持一样的情况下旁瓣宽度压缩为QPSK信号旁瓣宽的一半。通过对其功率谱的分析比较可以看出,IJF-OQPSK调制体制在频谱资源愈显紧张的形势下,具有较大的应用潜力。
本方案采用FPGA和集成器件来实现IJF编码和IJF-OQPSK调制具有高度集成化、配置灵活、性能稳定、易于实现的特点,由于IJF编码有很多性能更好的变形,只需在此基础修改ROM中的波形系数即可进一步实现多种IJF编码方案。