首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 基于FPGA的OFDM系统设计与实现之二
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于FPGA的OFDM系统设计与实现之二
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2015-8-23 11:10
|
只看该作者
基于FPGA的OFDM系统设计与实现之二
城域网
,
可行性
,
规模
,
技术
,
能力
4 系统调试与性能分析
采用OFDM技术的无线城域网通信系统是一个比较复杂的系统。利用Matlab仿真完成系统可行性论证后,需要考虑如何利用FPGA完成这个算法流程,这需要考虑采用特定FPGA进行运算时有限字长以及浮点运算的特点和系统所占用的FPGA资源,以保证系统的规模不至于过大而超过特定FPGA计算的存储能力。经过在硬件设备上的调试,最终完成采用OFDM技术的城域网无线通信系统。
通过仿真完成可行性论证后,在以Altera公司的EP1C6Q240C8芯片为基础的FPGA硬件平台上,实现了以QPSK为调制形式,以FFT/IFFT变换为主的OFDM技术的城域网无线通信系统。
4.1 IFFT模块
发送端系统的主时钟频率设计为80MHz,整体采用同步时序逻辑。发送端M序列的产生速率设定为80Mbps。送往D/A的数据速率设定为500kHz。在数据接收模块,数据收到后立刻存储,占用时间即为PC发送数据的时间。在QPSK、添零、导频插入模块,由于没有中间存储器,从RAM读出数据,经过映射后就直接输出,整个模块需要256个时钟周期。IFFT 模块采用流水线结构的算法,计算256点 IFFT需要128×8个蝶型单元,合计需要40 960个时钟,加上输入输出所占用的时间,总共约需要41 216个时钟周期(中间有一些状态的跳转,合计512μs)。在数据输出模块,其输入是 IFFT 模块的输出,它的输出速率由 D/A控制。在FPGA中,OFDM调制器的逻辑单元的使用情况见表1,OFDM解调器的逻辑单元的使用情况见表2, IFFT的运算结果见图5。
在表1和表2中,调制器和解调器中所含有的引脚数过多,主要原因是在这些引脚中还含有很多用于调试和测量的引脚,在整个系统调试时,可以将调试和测量用的引脚去掉,只留有数据、地址和控制引脚。
在解调器中需要用到大量的存储单元,但考虑到Cyclone系列的存储单元有限,而逻辑单元丰富的情况,故在解调器中,在几乎耗尽EAB单元时,用逻辑单元来构造所需的存储器,可以实现正常的存储功能。[next]
在开发工程中,主要用到的开发工具由 Altera 公司的QuartusII 及Mathworks 公司的 Matlab。
验证过程如下:
·Matlab随机生成一组128个复数,然后按照 OFDM 帧格式插入0得到256复数点的一个符号,并写入文件(如 datain.dat);
在QuartusII中生成 IFFT 的仿真波形文件(ifft.vwf),另存为 ifft.tbl,并删除其余信号,仅保留 I&Q(输入数据,24bit);
在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位巴克码识别器作为帧同步码组的。在同步系统处于捕获阶段时,设置自动判决门限为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] 黄志伟,王彦. FPGA系统设计与实现[M]. 北京:电子工业出版社,2005.1.
[2] 蔡云岩,李思敏. OFDM调制算法与FPGA实现[J].桂林电子工业学院学报,2002,(6).
[3] 潘松,黄继业. EDA技术与VHDL[M]. 北京:清华大学出版社,2005.7.
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
资料共享
MCU 单片机技术
模拟电路
测试测量
电源与功率管理
DSP技术
LED技术
ARM
综合技术交流
医疗电子
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议