word版本hslogicOFDM的matlab仿真FPGA实现.docx

上传人:b****2 文档编号:858163 上传时间:2022-10-13 格式:DOCX 页数:15 大小:279.36KB
下载 相关 举报
word版本hslogicOFDM的matlab仿真FPGA实现.docx_第1页
第1页 / 共15页
word版本hslogicOFDM的matlab仿真FPGA实现.docx_第2页
第2页 / 共15页
word版本hslogicOFDM的matlab仿真FPGA实现.docx_第3页
第3页 / 共15页
word版本hslogicOFDM的matlab仿真FPGA实现.docx_第4页
第4页 / 共15页
word版本hslogicOFDM的matlab仿真FPGA实现.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

word版本hslogicOFDM的matlab仿真FPGA实现.docx

《word版本hslogicOFDM的matlab仿真FPGA实现.docx》由会员分享,可在线阅读,更多相关《word版本hslogicOFDM的matlab仿真FPGA实现.docx(15页珍藏版)》请在冰豆网上搜索。

word版本hslogicOFDM的matlab仿真FPGA实现.docx

word版本hslogicOFDM的matlab仿真FPGA实现

4.2利用MATLAB实现OFDM系统及仿真分析

通过上面几节内容,我们基本了解的OFDM的系统特点,下面我们利用MATLAB来实现OFDM系统的基本工作,并对每个模块做简单的分析。

4.2.1信源产生模块

每个系统都有信号源,这里我们为了体现系统的系能,就利用随机的0,1信号做为系统的信号源。

message=randsrc(1,N)>0.5;

在这里,我们为了方便观察,取N为32,即产生32个随机数,当其大于0.5则产生信号1否则产生信号0。

其仿真结果如图4-1所示。

图4-1发送信号

通过上面的图,可以看到其产生的信号为1101-1001-1101-1010-0111-1011-1110-1010。

当然由于我们是利用随机函数来完成信源的产生的,所以实际操作时产生的信号不一定就是上面我们给出的信号。

4.2.2QPSK调制

下面我们将产生的信号通过QPSK进行调制,四相相移键控信号简称“QPSK”。

它分为绝对相移和相对相移两种。

由于绝对移相方式存在相位模糊问题,所以在实际中主要采用相对移相方式QDPSK。

它具有一系列独特的优点,目前已经广泛应用于无线通信中,成为现代通信中一种十分重要的调制解调方式。

是目前最常用的一种卫星数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为简单。

message_PSK=QPSK(message);

这里QPSK是我们自定义的一个函数,通过这个函数,可以完成信号的QPSK调制,其仿真结果如下所示:

图4-2QPSK调制信号

为了对比OFDM的系统性能,利用系统的星座图进行性能分析是一种比较好的方法,这里我们利用MATLAB内部的一个函数来分析系统的星座图,scatterplot(message_PSK),我们可以得到如下的仿真结果:

图4-3系统星座图

 

4.2.3IFFT变换模块

IFFT是OFDM系统中的重要环节,通过IFFT变化,将信号的频率变换到时域上来,这里IFFT函数是自定义的函数。

message_IFFT=myIFFT(message_PSK,N/2);

其仿真结果如下图所示:

图4-4IFFT变换仿真图

4.2.4发送端低通滤波器模块

为了使得到的信号尽可能的保持质量,我们必须保证发送出去的信号是接近理想的信号,即发送出去的信号没有毛刺,边带的平滑的,而且在信号的频域上没有高频分量。

所以我们必须将信号通过一个低通滤波器。

filter=rcosine(Fd,Fs,'sqrt',R,3);

message_cos1_real=rcosflt(real(message_upsmp),Fd,Fs,'filter/Fs',filter,1,3);

message_cos1_imag=rcosflt(imag(message_upsmp),Fd,Fs,'filter/Fs',filter,1,3);

message_cos1=message_cos1_real+message_cos1_imag*j;

通过上面的代码我们将信号通过一个根升余弦滤波器。

从而完成信号的滤波,最后将信号发送出去。

图4-5通过发送端低通滤波器的信号

4.2.5接收端滤波器模块

在实际系统中,无论发送出去的信号多么完美,都会受到信道中噪声的影响,应此在OFDM系统的接收端,我们必须再加上一个低通滤波器,使接收到的信号更加的平滑。

filter=rcosine(Fd,Fs,'sqrt',R,3);

message_cos2_real=rcosflt(real(message_awgn),Fd,Fs,'filter/Fs',filter,1,3);

message_cos2_imag=rcosflt(imag(message_awgn),Fd,Fs,'filter/Fs',filter,1,3);

message_cos2=message_cos2_real+message_cos2_imag*j;

这里代码的具体实现和发送端的低通滤波器相同,在这里就不做介绍了其仿真如下所示:

图4-6通过接收端低通滤波器的信号

4.2.6FFT变换模块

OFDM系统接收部分最重要的就是FFT变化了,即将信号的时域变回到信号的频域。

这里我们利用自定义的FFT函数对接收的信号进行FFT变化。

message_FFT=myFFT(message_downsmp,N/2);

其仿真结论如下所示:

图4-7FFT变化仿真图

 

4.2.7QPSK解调和信号还原

最后对FFT变换后的信号进行QPSK解调,还原得到原始的发送信号。

这里QPSK解调的函数是自定义函数。

message_real=D_QPSK(message_FFT);

scatterplot(message_FFT);

其仿真结果如下所示:

图4-8QPSK解调后的信号以及信号眼图

其接收到的信号为1101-1001-1101-1010-0111-1011-1110-1010,说明信号的正确性。

4.3总结

本章,我们利用MATLAB在前面理论知识的指导下,基本实现了OFDM系统的基本过程,通过MATLAB的系统性能仿真,验证了我们系统总体方案的正确性。

为一步使用FPGA来实现OFDM系统奠定了基础。

 

第五章OFDM的FPGA实现

5.1FPGA简介

FPGA是近几年出现的新型可编程逻辑器件,它不仅具有很高的速度和可靠性,而且具有用户重复定义的逻辑功能,即具有可编程的特点。

它的出现不仅使数字电路系统的设计非常灵活,而且大大缩短了系统研制周期,缩小了数字电路系统的体积和所用芯片的种类。

当今社会是数字化的社会,是数字集成电路广泛应用的社会。

数字集成电路本身在不断地进行更新换代。

它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。

但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。

系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。

早期的可编程逻辑器件只有可编程只读存贮器(PROM)、紫外线可删除只读存贮器(EPROM)和电可擦除只读存贮器(EEPROM)三种。

由于结构的限制,它们只能完成简单的数字逻辑功能。

其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。

典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与-或”表达式来描述,所以,PLD能以乘积、和的形式完成大量的组合逻辑功能。

这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)。

PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。

PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术。

还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。

PLA器件既有现场可编程的,也有掩膜可编程的。

20世纪80年代中期。

Altera和Xilinx分别推出了类似于PAL结构的扩展型CPLD(ComplexProgrammab1eLogicDvice)和与标准门阵列类似的FPGA,它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。

这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。

与门阵列等其它ASIC(ApplicationSpecificIC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。

几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。

FPGA与CPLD都是可编程逻辑器件,它们是在PAL、GAL等逻辑器件的基础之上发展起来的。

同以往的PAL、GAL等相比较,FPGA/CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。

表5-1:

各大FPGA产品

排名

公司

销售额(亿美金)

市场占有率

1

Altera

5.96

30.1

2

Xilinx

5.74

29.0

3

Vantis

2.20

11.1

4

Lattice

2.18

11.0

5

Actel

1.39

7.0

6

Luccent

0.85

4.3

7

Cypress

0.44

2.2

8

Atmel

0.42

2.1

9

Philips

0.28

1.4

10

Quicklogic

0.24

1.2

经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。

比较典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,它们开发较早,占用了较大的PLD市场。

通常来说,在欧洲用Xilinx的人多,在日本和亚太地区用ALTERA的人多,在美国则是平分秋色。

全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。

可以讲Altera和Xilinx共同决定了PLD技术的发展方向。

当然还有许多其它类型器件,如:

Lattice,Vantis,Actel,Quicklogic,Lucent等。

Altera公司生产的FLEX10K系列的FPGA,具有规模覆盖范围广、布线资源丰富、时间可预测性好的优点,在数字通信系统设计中得到了广泛的应用。

由于在信道编码中,没有过多存储器的要求,它只是需要很多的D触发器和一些常用的门电路,而FLEX10K芯片有一定的片内EAB资源,另外实现信道编码的时序控制逻辑不太复杂,大概需要2万门左右的资源就够了,再加上系统其它功能块也不过几万门。

考虑到方案的性价比以及将来的功能的增加,本方案的FPGA选用Cyclone芯片,实现了系统的单片设计,从而大大减小电路的复杂度和体积。

此外Altera公司的Cyclone系列的FPGA在通信行业具有广泛的应用,这是一款低成本的FPGA产品。

MaxPlusII是ALTERA公司较早的一款软件,它的界面非常的简单,是初学者比较容易接受的一款软件,但是Altera公司已经停止了对其的升级,所以MaxPlusII所支持的器件比较少,而且对于一些大型项目开发就不太适用了[21,22,23,24,25]。

图5-1MaxPlusII界面

QuartusII是ALTERA公司的新一代开发软件,它拥有两种界面,一种是QuartusII的界面,另一种是用有QuartusII全部功能的MaxPlusII界面,从而使原有的MaxplusII的用户更快的适应新的开发环境。

目前QuartusII最高版本好似QuartusII7.2。

相对于MaxPlusII,QuartusII支持更多的器件,而且也支持Altera最新的一些器件如Straix、StraixGX系列。

在本课题中,我们采用QuartusII开发软件,在功能上比MAXplusII更加强大,在本课题,我使用的是QuartusII7.2。

图5-2QUARTUSII7.2界面

文中,对于一些

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1