基于FPGA的OFDM系统设计与实现

基于FPGA的OFDM系统设计与实现,第1张

  近年来, 随着数字信号处理(DSP) 和超大规模集成电路(VLSI) 技术的发展, 正交频分复用OFDM(Orthogonal Frequency Division MulTIplexing)技术的应用有了长足的进步和广阔的发展前景。IEEE802.11a中就将正交频分复用作为物理层的传输技术;欧盟在数字音频广播(DAB)、地面数字视频广播(DVB2T)、高清晰度电视(HDTV)以及2003年4月公布的无线城域网(WMAN)802.16a等研究中都使用了正交频分复用技术作为信道的传输手段。在正交频分复用技术逐渐成熟的今天, 如何降低通信系统的成本, 使之更广泛地应用于数传系统中, 已成为正交频分复用研究的热点。本文基于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所示。

  基于FPGA的OFDM系统设计与实现,第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系统设计与实现,第3张

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

  3 OFDM 解调器实现架构

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

  基于FPGA的OFDM系统设计与实现,第4张

  在FPGA中,按照参数要求实现:将从A/D以500kHz的速率采样来的数据存入 RAM 当中,当接收到第64个帧头数据时,开始计算局部自相关函数;每接收到一个帧头数据,取出8位(最高位无效,剩余7位为巴克码),计算一次x(i)*x(i+j),并存储、判断,是否有相关最大值,如果有,则判断计数器加1,在一个帧头短前导字部分中,共有10个短前导字片,每一片为64个采样点;当接收到第640个数据后,判断累加器是否超过了门限值640×3,如果累加门限值达到1920,则认为有帧到达,整体控制模块产生使能信号,表示粗同步结束,准备接受长前导字,进行细同步和频偏估计计算,否则,将累加计数器清零,重新开始接受帧头;帧到达检测和帧同步过程完成后,再将接收到的数据存入到解帧模块的数据RAM中;当数据RAM中存满256点的数据后,整体控制模块发出读使能信号、解帧使能信号和FFT的START信号,从RAM中读取数据,送往FFT 进行OFDM的解调;然后去除循环前缀,去除添加的零和导频信息;最后经过QPSK的反映射和并串转换后,还原成原始数据读出,并等下一帧数据的接收。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2484473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存