OFDM信道调制解调的仿真及其FPGA设计

2008-06-23 14:18:22来源: EDNchina

  OFDM(正交频分复用)是一种高效的多载波调制技术,其最大的特点是传输速率高,具有很强的抗码间干扰和信道选择性衰落能力。OFDM最初用于高速MODEM、数字移动通信和无线调频信道上的宽带数据传输,随着IEEE802.11a协议、BRAN(Broadband Radio Access Network)和多媒体的发展,数字音频广播(DAB)、地面数字视频广播((DVB-T)和高清晰度电视((HDTV)都应用了OFDM技术。

  OFDM利用离散傅立叶反变换/离散傅立叶变换(IDFT/DFT)代替多载波调制和解调,调制解调的核心是快速傅立叶运算单元,在进行蝴蝶运算时,不可避免的要进行大量的乘法运算。由于FPGA具有强大的并行处理和计算能力,以及丰富的存储资源和逻辑运算资源,因此在FPGA器件上实现OFDM调制解调结构,具有很好的通用性和灵活性。

  OFDM与系统框图

  OFDM的多个载波相互正交,一个信号内包含整数个载波周期,每个载波的频点和相邻载波零点重叠,这种载波间的部分重叠提高了频带利用率。OFDM每个子信道的频谱均为sinx/x形,各子信道频谱相互交叠,但在每个子信道载频的位置来自其他子信道的干扰为零,如图1所示。

  OFDM系统如图2所示,OFDM系统的调制和解调分别由IFFT和FFT完成。首先将串行输入数据d0,d1...,d(N-1)变换成并行数据,接下来进行编码和星座图映射,得到频域数据。经过IFFT后相当于调制到正交的N个f0,f1,...,fN-1子载波,完成正交频分复用。接下来加入循环前缀,进行并/串转换,数/模转换,再调制到高频载波上发送。如果是基带传输,则不需要进行载波调制。

  

  在接收端进行相反的操作,使用N个相同的子载波进行N路解调,再将这N路解调信号并串输出,复现发送的原始信号。经过FFT变换后的数据相当于将时域数据再转换成频域数据,即完成了OFDM信号的解调。

  OFDM调制原理虽然是用N个正交的载波分别调制N路子信道码元序列,但实际中很难独立产生N个正交的载波。所以OFDM多采用VLSI技术,用FFT代替多载波调制和解调。当子信道数目比较多的时候,采用FFT可以大大减少系统的复杂度。而FPGA的并行乘法器和加法器结构容易硬件实现OFDM的核心运算,有效地提高了OFDM调制解调速度。

  软件仿真与设计

  随着FPGA和VLSI的发展,大量的EAB(嵌入式阵列块)、LE(逻辑单元)、内嵌乘法器和高速FIFO存储器带来了OFDM/COFDM的实用化,为OFDM提供了硬件支持。软件上可以采用MATLAB、硬件描述语言VHDL、QuartusⅡ等软件进行仿真与设计。

  仿真过程中采用了随机信号作为输入信号,经过4QAM编码映射后进行再IFFT调制,然后进入信道进行数据传输,每帧信号为512点;同时采用简单的11点数字离散信道,其值为:[0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088]。

  在一般OFDM系统中为使IFFT和FFT前后的信号功率保持不变,当N=2m(m为正整数)时,作如下定义:

  采用16位定点算法,这便意味着要考虑溢出问题。对于基-2 FFT,为了防止溢出,可以采用以下办法:将每一个蝶算后的数据右移1bit,即相当于将该数做除2处理。这样,加入总衰减比例因子,将比例因子分散到各步计算中。这种情况下,输出不是原来定义的离散傅里叶变换,而是它的。而对于基-2 IFFT,这个比例因子正是公式中需要的,所以FPGA实现的IFFT便是最终结果。

  图3和图4分别是信道h(n)的FFT值(倒数)和第二帧输入数据(迭代次数10)。

  

  调制过程中Matlab的IFFT结果同FPGA结果比较如表1所示。

  经过FPGA的IFFT在非主频率点上有一些小的误差。这是因为在计算IFFT的时候,同样因为舍入问题,在本该为零的点产生一些极小的数值,从而在信号显示时出现这些毛刺。

  对于表1,FFT峰值结果的误差,是因为FPGA采用的是16bit定点算法,在程序中有很多舍位处理带来的误差。至于Sine信号峰值的不同,那是因为将FPGA实现的IFFT结果再进行Matlab的fft()计算,而IFFT的那些毛刺,必然在时域上产生影响。

  在FPGA实现时,一般是在完成IFFT以后将结果暂时存放在RAM中,然后在从RAM里读出数据时,采取部分重复读取的方式,将一部分数据重复复制,从而形成循环前缀。这样可以对连续的数据流进行变换处理,满足系统的实时性要求。

  解调过程中Matlab的FFT结果同FPGA结果比较如表2所示。

  从表2可以看出,FPGA的结果同Matlab的结果基本相同,只是FFT峰值有些不同。这也因为FPGA采用的是16bit定点算法,在程序中有很多舍位处理。但 FPGA的结果是将原小数信号变成整数后再进行处理的,当最后再转换成小数后,结果将是一致的。

  

  结语

  OFDM信道调制解调的关键是一对离散傅里叶变换。程序可以由Verilog HDL模块进行设计,用相应的模块仿真程序TESTBENCH进行功能仿真,经过波形仿真和结果验证后,将程序下载到FPGA中实现。同时,Verilog HDL仿真结果与MATLAB中函数fft()以及ifft()的输出结果进行比较(采用的是浮点运算),得出图形和数据的比较结果。

  结果表明,用FPGA实现OFDM信道调制解调与MATLAB仿真结果基本一致,具有良好的性能和较高的效率。

关键字:FPGA器件  调制解调  比例因子  FPGA实现  傅里叶变换  正交频分复用  乘法器

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/afdz/2008/0623/article_766.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
FPGA器件
调制解调
比例因子
FPGA实现
傅里叶变换
正交频分复用
乘法器

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved