OFDM的matlab仿真.doc_第1页
OFDM的matlab仿真.doc_第2页
OFDM的matlab仿真.doc_第3页
OFDM的matlab仿真.doc_第4页
OFDM的matlab仿真.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章 OFDM的MATLAB实现4.1 MATLAB简介Matlab,Matrix Laboratory的简称,是美国Mathworks公司于1984年推出的数值计算机仿真软件,经过不断的发展和完善,如今已成为覆盖多个学科、具有超强数值计算能力和仿真分析能力的软件。Matlab应用较为简单,用大家非常熟悉的数学表达式来表达问题和求解方法。它把计算、图示和编程集成到一个环境中,用起来非常方便。同时,Matlab具有很强的开放性和适应性,在保持内核不变的情况下,Matlab推出了适合不同学科的工具箱,如图像处理工具箱,小波分析工具箱、信号处理工具箱、神经网络工具箱等,极大地方便了不同学科的研究工作。Matlab强大的绘图功能,简单的命令形式,使其越来越受到国内外科技人员的青睐,得到越来越广泛的应用。一. MATLAB的特点一种语言之所以如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其它语言的特点。正如同Fortran和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称为第4代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。1功能强大MATLAB具有功能强劲的工具箱,其包含两个部分:核心部分和各种可选的工具箱。核心部分中,有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科,而学科性工具箱是专业性比较强的,例如control toolbox,image processing toolbox,signal processing toolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,就能够直接进行高、精、尖的研究。2. 界面友好,编程效率高MATLAB突出的特点就是简洁。它用更直观的、符合人类思维习惯的代码代替了C和Fortran语言的冗长代码,给用户带来的是最直观、最简洁的程序开发环境。MATLAB语言简洁紧凑,使用方便灵活,库函数极其丰富,程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都是由本领域的专家编写的,因此用户不必担心函数的可靠性。可以说,用MATLAB进行科学开发是站在专家的肩膀上来完成的。3. 开放性强MATLAB有很好的可扩充性,可以把它当成一种更高级的语言去使用。各种工具箱中的函数可以互相调用,也可以由用户更改。MATLAB支持用户对其函数进行二次开发,用户的应用程序可以作为新的函数添加到相应的工具箱中。二 MATLAB的主要功能MATLAB之所以成为世界顶级的科学计算与数学应用软件,是因为它随着版本的升级与不断完善而具有越来越强大的功能。1数值计算功能MATLAB出色的数值计算功能是使之优于其他数学应用软件的决定性因素之一。2符号计算功能MATLAB符号运算的独特之处:无需事先对变量赋值,而所得的结果以标准的符号形式表达,符号计算的整个过程以字符进行。3数据分析功能MATLAB可以将计算数据以二维、三维乃至四维的图形表现。这不仅使数据间的关系清晰、明了,而且对于揭示其内在本质有着非常重要的作用。4动态仿真功能MATLAB提供了一个模拟动态系统的交互程序SIMULINK,用户通过简单的鼠标操作,就可建立起直观的系统模型,并进行仿真。5图形文字统一处理功能MATLAB Notebook成功地将Microsoft Work与MATLAB集成为一个整体,为文字处理、科学计算、工程设计营造了一个完美、统一的工作环境。它既拥有Word强大的文字处理功能,又能通过Word访问MATLAB的数据计算和可视化结果。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.2 QPSK调制下面我们将产生的信号通过QPSK进行调制,四相相移键控信号简称“QPSK”。它分为绝对相移和相对相移两种。由于绝对移相方式存在相位模糊问题,所以在实际中主要采用相对移相方式QDPSK。它具有一系列独特的优点,目前已经广泛应用于无线通信中,成为现代通信中一种十分重要的调制解调方式。是目前最常用的一种卫星数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为简单。message_PSK = QPSK(message); 这里QPSK是我们自定义的一个函数,通过这个函数,可以完成信号的QPSK调制,其仿真结果如下所示:图4-2 QPSK调制信号为了对比OFDM的系统性能,利用系统的星座图进行性能分析是一种比较好的方法,这里我们利用MATLAB内部的一个函数来分析系统的星座图,scatterplot(message_PSK),我们可以得到如下的仿真结果:图4-3 系统星座图4.2.3 IFFT变换模块IFFT是OFDM系统中的重要环节,通过IFFT变化,将信号的频率变换到时域上来,这里IFFT函数是自定义的函数。message_IFFT = myIFFT(message_PSK,N/2); 其仿真结果如下图所示:图4-4 IFFT变换仿真图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.6 FFT变换模块OFDM系统接收部分最重要的就是FFT变化了,即将信号的时域变回到信号的频域。这里我们利用自定义的FFT函数对接收的信号进行FFT变化。message_FFT = myFFT(message_downsmp,N/2);其仿真结论如下所示:图4-7 FFT变化仿真图4.2.7 QPSK解调和信号还原最后对FFT变换后的信号进行QPSK解调,还原得到原始的发送信号。这里QPSK解调的函数是自定义函数。message_real = D_QPSK(message_FFT); scatterplot(message_FFT);其仿真结果如下所示:图4-8 QPSK解调后的信号以及信号眼图 其接收到的信号为1101-1001-1101-1010-0111-1011-1110-1010,说明信号的正确性。4.3 总结 本章,我们利用MATLAB在前面理论知识的指导下,基本实现了OFDM系统的基本过程,通过MATLAB的系统性能仿真,验证了我们系统总体方案的正确性。为一步使用FPGA来实现OFDM系统奠定了基础。第五章 OFDM的FPGA实现5.1 FPGA简介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(Complex Programmab1e Logic Dvice)和与标准门阵列类似的FPGA,它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。 这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。FPGA与 CPLD都是可编程逻辑器件,它们是在PAL、GAL等逻辑器件的基础之上发展起来的。同以往的PAL、GAL等相比较,FPGA/CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。表5-1:各大FPGA产品排名公司销售额(亿美金)市场占有率1Altera5.9630.12Xilinx5.7429.03Vantis2.2011.14Lattice2.1811.05Actel1.397.06Luccent0.854.37Cypress0.442.28Atmel0.422.19Philips0.281.410Quicklogic0.241.2经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。比较典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,它们开发较早,占用了较大的PLD市场。通常来说,在欧洲用Xilinx的人多,在日本和亚太地区用ALTERA的人多,在美国则是平分秋色。全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲Altera和Xilinx共同决定了PLD技术的发展方向。当然还有许多其它类型器件,如:Lattice,Vantis,Actel,Quicklogic,Lucent等。Altera公司生产的FLEX 10K系列的FPGA,具有规模覆盖范围广、布线资源丰富、时间可预测性好的优点,在数字通信系统设计中得到了广泛的应用。由于在信道编码中,没有过多存储器的要求,它只是需要很多的D触发器和一些常用的门电路,而FLEX 10K芯片有一定的片内EAB资源,另外实现信道编码的时序控制逻辑不太复杂,大概需要2万门左右的资源就够了,再加上系统其它功能块也不过几万门。考虑到方案的性价比以及将来的功能的增加,本方案的FPGA选用Cyclone芯片,实现了系统的单片设计,从而大大减小电路的复杂度和体积。此外Altera公司的Cyclone系列的FPGA在通信行业具有广泛的应用,这是一款低成本的FPGA产品。MaxPlusII是ALTERA公司较早的一款软件,它的界面非常的简单,是初学者比较容易接受的一款软件,但是Altera公司已经停止了对其的升级,所以MaxPlusII所支持的器件比较少,而且对于一些大型项目开发就不太适用了21,22,23,24,25。图5-1 MaxPlusII界面QuartusII是ALTERA公司的新一代开发软件,它拥有两种界面,一种是QuartusII的界面,另一种是用有QuartusII全部功能的MaxPlusII界面,从而使原有的MaxplusII的用户更快的适应新的开发环境。目前 QuartusII 最高版本好似QuartusII7.2。相对于MaxPlusII,QuartusII支持更多的器件,而且也支持Altera最新的一些器件如Straix、Straix GX系列。在本课题中,我们采用QuartusII开发软件,在功能上比MAXplusII更加强大,在本课题,我使用的是 QuartusII 7.2。图5-2 QUARTUSII 7.2界面 文中,对于一些简单的小模块,给出的仿真图是用maxplusII的,而对于一些较大的模块和最后结果仿真,则采用QuartusII给出。5.2 利用FPGA实现OFDM系统及仿真分析 在本节,我们将介绍如何利用FPGA来实现OFDM系统并对整个系统做仿真分析其性能,并将仿真结果和MATLAB仿真结果进行对比从而验证FPGA设计的正确性。5.2.1 基于FPGA的OFDM系统的基本结构 OFDM系统的基本结构如下所示,当然我们这里只设计其主要几个部分。图5-1 OFDM简化模块 因此,我们设计的重点就是IFF,FFT和并串、串并转化模块。5.2.2 基于FPGA的OFDM系统实现通过以上的分析,OFDM系统最重要的就是FFT和IFFT模块的设计,因此我们主要通过ISE中的FFT/IFFT的IP核来设计这个两个模块。通过简单的配置得到所要的模块。首先,我们简单的介绍一下如何配置FFT的IP核。ALTERA公司推出的IP核,都会冠以“MegaCore”的商标,其实FFT MegaCore就是一个可以实现FFT/IFFT功能的IP核。FFT MegaCore的使用非常方便,可以大大加速产品的设计周期。它可以应用在 ALTERA 的主流 FPGA系列芯片上,包括Cyclone、Stratix和HardCopy。而且因为是ALTERA自己设计的IP,所以专门为这些FPGA芯片做了优化,相对于个人编写的FFT电路来说,ALTERA的IP具有更高的性能,占用更少的资源。毕竟最了解这些 FPGA器件的还是ALTERA公司自己。FFT MegaCore支持超过300M的时钟频率。整个 FFT MegaCore的应用流程非常简单。可以在 Quartus软件中非常方便地进行配置并把FFT模块加入到自己的工程设计中。本小节对使用的流程进行了介绍。 使用FFT MegaCore需要新建一个工程或者在一个已有的工程中。在本文中我们新建一个工程作为范例。要在工程中应用 FFT MegaCore,需要先启动 IP Toolbench,一个FFT MegaCore的参数配置程序。 先点击 “Tool” 菜单下的 “MegaWizard Plug-In Manager” 。如下图所示。图5-2 IP核设计界面一图5-3 IP核设计界面二图5-4 IP核设计界面三图5-5 IP核设计界面四以上我们基本完成了FFT的模块设置,下面我以这个为基础,来设计OFDM系统。设OFDM信号发射时间周期为0,T,子载波数为N,N也是符号序列的时间间隔。可以证明满足子载波正交的条件为:=1/T。(式中为子载波的频率间隔。)输入数据流首先被QAM调制器调制,这里其实是完成一个星座点的映射过程,并没有进行频谱搬移。经过星座映射后得到的符号,存在两个相互正交的分量和。设。所以再进行OFDM调制进行频谱搬移后,已调信号的数学表达式为:式中,是最低子载波频率。取为符号序列的时间间隔。式中,对进行抽样,抽样速率为1/,即,则由上式可知,恰好是的逆离散傅里叶变换(IDFT)。所以OFDM调制可以由IDFT实现,解调可以由DFT实现。对于调制过程,输入数据流首先被QAM调制器调制,这里其实是完成一个星座点的映射过程,并没有进行频谱搬移。得到了一个复符号流d0,d1,dN-1,复符号流通过串/并变换,得到一系列并行的QAM符号d0,d1,dN-1。经过IFFT变换,得到一系列并行的符号流,再将它们经过并/串变换,得到一串串行的符号流,。由于此时符号流为离散的,所以要经过D/A转换,将其变为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论