基于FPGA的OFDM系统研究

时间:2011-06-10

  第四代移动通信(4G 或称为Beyond 3G)中将提供高达100Mbit/s 甚至更高的数据传输速率,能够满足人们从语音扩展到数据、图像、视频等大量信息的高质量的多媒体业务。随着无线通信业务的飞速发展,为了在可用频带日趋紧张的情况下提高频带利用率,正交频分复用OFDM(Orthogonal Frequency Division Multiplexing)技术已成为第四代移动通信系统的技术。

  实际上OFDM是MCM Multi-CarrierModulation,多载波调制的一种。其主要思想是:将信道分成若干正交子信道,将高速数据信号转换成并行的低速子数据流,调制到在每个子信道上进行传输。正交信号可以通过在接收端采用相关技术来分开,这样可以减少子信道之间的相互干扰 ICI 。每个子信道上的信号带宽小于信道的相关带宽,因此每个子信道上的可以看成平坦性衰落,从而可以消除符号间干扰。而且由于每个子信道的带宽仅仅是原信道带宽的一小部分,信道均衡变得相对容易。本文基于802.16a协议的原理架构,建立了一个基于FPGA的可实现流水化运行的OFDM系统的硬件平台,包括模拟前端及OFDM调制器及OFDM 解调器,用来实现OFDM的远距离无线传输系统。

  1 模拟前端

  模拟前端主要包括发送端DA模块、接收端AD模块和射频模块。

  发送端DA模块主要由XILINX公司的FPGA-XC2V1000芯片和数模转换芯片AD9765、滤波器放大器构成,基带处理调制后数据在控制时钟同步下送入FPGA进行降峰均比等算法的处理,然后经过交织将其送入AD9765进行数模转换并上变频到70MHz,输出的模拟信号再经声表滤波器后放大进入下射频模块。发送端DA模块硬件结构框图如图1所示。

  接收端AD模块主要由增益放大器、带通滤波、采样芯片AD9238和数字下变频器GC1012构成。AD模块的主要功能是完成中频信号的采样和数字下变频,在FPGA XC2V1000中完成符号同步算法,其输出送OFDM解调器。接收端AD模块硬件结构框图如图2所示。

  射频模块工作在70MHz中频上,射频模块的功能是将完成调制的中频信号搬移到射频波段上,或者将空中的接收信号下变频到模拟前端所需的中频波段上。

  2 OFDM 调制器实现架构

  在OFDM系统中,OFDM调制器主要完成OFDM数据的调制。图3为OFDM调制器的结构框图。OFDM的调制器采用N=120个数据子信道,8个导频信道。120个数据子信道都采用 QPSK的信道调制,8个导频信道采用BPSK的信道调制。为了使用基带传输,进行添零处理(添加128个0),使频带扩展1倍。经过逆序处理后,采用256点的IFFT进行 OFDM调制。系统时钟为80MHz,用 FPGA 完成数据的编码和调制,以读时钟为500kHz的速率送往 D/A。

  在FPGA中,按照具体的参数要求实现了OFDM系统中的调制功能,其工作流程为:数据发生器(M序列产生器)发送数据,串并转换后存储在 256×2位的RAM_in中,当接收够一帧数据所需要的信息量后,从RAM_in中读取数据进行QPSK映射、过采样添零,随后插入导频模块,先从数据输出模块中读取同步头发送,同步头发送完成后,再从RAM_ou1或者RAM_ou2中读取循环前缀和数据块;当 IFFT 模块计算完的数据全部送出后,控制模块判断开始处理下一包数据,处理到第10包数据,则通知外部控制器一帧数据处理完成。

  3 OFDM 解调器实现架构

  在OFDM系统中,解调器主要是对接收 A/D 采样来的数据进行解调。图4为OFDM解调器的结构框图。

  在FPGA中,按照参数要求实现:将从A/D以500kHz的速率采样来的数据存入 RAM 当中,当接收到第64个帧头数据时,开始计算局部自相关函数;每接收到一个帧头数据,取出8位,计算x(i)*x(i+j),并存储、判断,是否有相关值,如果有,则判断计数器加1,在一个帧头短前导字部分中,共有10个短前导字片,每一片为64个采样点;当接收到第640个数据后,判断累加器是否超过了门限值640×3,如果累加门限值达到1920,则认为有帧到达,表示粗同步结束,准备接受长前导字,进行细同步和频偏估计计算,然后去除循环前缀,去除添加的零和导频信息;经过QPSK的反映射和并串转换后,还原成原始数据读出,并等下一帧数据的接收。

  4 系统调试与性能分析

  采用OFDM技术的无线城域网通信系统是一个比较复杂的系统。利用Matlab仿真完成系统可行性论证后,需要考虑如何利用FPGA完成这个算法流程,这需要考虑采用特定FPGA进行运算时有限字长以及浮点运算的特点和系统所占用的FPGA资源,以保证系统的规模不至于过大而超过特定FPGA计算的存储能力。经过在硬件设备上的调试,终完成采用OFDM技术的城域网无线通信系统。

  4.1 IFFT模块

  发送端系统的主时钟频率设计为80MHz,整体采用同步时序逻辑。发送端M序列的产生速率设定为80Mbps。送往D/A的数据速率设定为500kHz。IFFT 模块采用流水线结构的算法,计算256点 IFFT需要128×8个蝶型单元,合计需要40 960个时钟,加上输入输出所占用的时间,总共约需要41 216个时钟周期。在数据输出模块,其输入是 IFFT 模块的输出,它的输出速率由 D/A控制。在FPGA中,OFDM调制器的逻辑单元的使用情况见表1,OFDM解调器的逻辑单元的使用情况见表2, IFFT的运算结果见图5。

  在表1和表2中,调制器和解调器中所含有的引脚数过多,主要原因是在这些引脚中还含有很多用于调试和测量的引脚,在整个系统调试时,可以将调试和测量用的引脚去掉,只留有数据、地址和控制引脚。

  在开发工程中,主要用到的开发工具由 Altera 公司的QuartusII 及Mathworks 公司的 Matlab。

  验证过程如下:

  ·Matlab随机生成一组128个复数,然后按照 OFDM 帧格式插入0得到256复数点的一个符号,并写入文件(如 datain.dat);

  在UltraEdit中打开ifftt.tbl、datain.dat,用datain.dat 中的随机数代替ifft.tbl 中的 I&Q 数据,保存ifft.tbl;

  在QuartusII中打开 ifft.tbl,将I&Q复制到 ifft.vwf 中,开始运行仿真;

  ·将仿真结果另存为dataout.tbl,用Matlab读取与原数据在Matlab下的IFFT变换结果进行比较分析。

  给出一组随机数据输入,经过FPGA中的IFFT模块变换得到时域幅度如图6(实部)、图7(虚部)所示。

  而将同样的随机数经过MATLAB变换,得到的时域幅度如图8(实部)、图9(虚部)所示。

  实际测量与仿真计算的方差分析如图10(实部)、图11(虚部)所示。两者结果基本一致。

  4.2 帧到达检测同步模块

  对于帧到达检测同步系统,要求尽可能在较短的时间内建立同步,并且在帧同步建立后应有较强的抗干扰能力。通常用漏同步概率P1、假同步概率P2和同步平均建立时间ts三个性能指标来表示同步性能的优劣。在同步系统处于捕获阶段时,设置自动判决门限为7;在帧同步建立以后,则把判决门限降为6,这样做一方面减少了假同步的概率,另一方面减少了漏同步的概率。

  漏同步概率P1:

  假设系统的误码率为P,7位码全部正确的概率是(1-P)7,因此判决门限电平为7时的漏同步概率为P1=1-(1-P)7。若将判决门限改为6,此时允许有一位错码,出现一位错码的概率为C71P1(1-P)6。漏同步概率为P1=1-[(1-P)7+C71P1(1-P)6]。一般地,设帧同步码组数目为n,判决器容帧同步码组中的错码数为m,则漏同步概率为:

  从前面的帧同步系统的设计可以了解到,识别器只能被动地识别与帧同步码组相同的码组,如果在信息码组中也出现了与帧同步码组相同的码组,这时识别器会把它误认为帧同步码组而出现假同步。

  比较式(1)和式(2)可以看出,当m增大时,P1减小,P2增大,两者是矛盾的,另外还可以看出,当n增大时,P1增大,而P2减小,两者也是矛盾的。因此m和n的选择要兼顾P1和P2的要求。

  平均同步建立时间ts:

  假设漏同步和假同步都不发生,即P1=0,P2=0。在坏的情况下,实现帧同步多需要一帧的时间。若一帧的码元为N,码元宽度为Tb,则长的帧时间为NTb。如果同时出现漏同步和假同步,需要额外的同步建立时间,由此得到帧同步平均建立时间为:

  ts=(1+P1+P2)×NTb

  4.3 数据传输速率评价

  经过实际测试,针对256点结合QPSK调制,每解调出一个符号平均所需要的指令周期为41 216个时钟周期,即512μs。对此实际调试情况,分析其实测参数数据如下:

  一个OFDM符号内包含的比特数为:1/2(卷积码)×2bit(QPSK)×120(用户子载波)+2bit(BPSK)×8(导频子载波数)=136bit,则除去导频开销,能够用于数据传输的空中数据率为:

  由此可见,实际测试的数据传输速率达到本系统要求(150kbps),表明此OFDM基带处理系统的数据传输性能充分满足所制定的标准。

  本文建立的基于FPGA的可实现流水化运行的OFDM系统的硬件平台,经系统调试和性能评价,符合设计要求,该硬件平台的实现使得低成本高速OFDM调制设备的实现成为可能。


  

参考文献:

[1]. 4G  datasheet https://www.dzsc.com/datasheet/4G+_2235814.html.
[2]. XC2V1000 datasheet https://www.dzsc.com/datasheet/XC2V1000_726857.html.
[3]. AD9765 datasheet https://www.dzsc.com/datasheet/AD9765_965039.html.
[4]. AD9238 datasheet https://www.dzsc.com/datasheet/AD9238_965030.html.


上一篇:一种FIR数字滤波器设计与仿真
下一篇:一种雷达信号处理模块的设计和实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料