1、基于MATLAB的OFDM系统设计与仿真摘要:随着通信产业的逐步发展,4G时代已经来临。作为第四代移动通信技术的核心,OFDM得到了前所未有的关注。它具有频谱利用率高、抗干扰能力强等优点。本文首先简要介绍了OFDM的发展状况以及优缺点,然后详细分析了OFDM的工作原理及其相应的各个模块,并介绍了它的关键技术。最后,分别利用M函数和Simulink做了OFDM系统的设计与仿真,并对误码率进行了分析,得到了BER性能曲线。关键词:正交频分复用;MATLAB;仿真;BERDesign and Simulation of OFDM System Based on MATLABAbstract: Wit
2、h the gradual development of the communication industry, 4G era has come. As the key technology of the fourth generation mobile communications,OFDM has received unprecedented attention. It has a high spectrum utilization, strong ability of anti-interference and so on. This article describes the deve
3、lopment of OFDM and its advantages and disadvantages briefly, analysis the working principles of OFDM and each module detailed,and describes its key technology.At last, design and simulate OFDM system with the M function and Simulink separately, analysis the error rate and obtain BER performance cur
4、ve .Keywords: OFDM; MATLAB; Simulation; BER目 录1 引言41.1 OFDM概述41.1.1 OFDM技术发展历史41.1.2 OFDM技术的优缺点52 OFDM基本原理及关键技术52.1 OFDM基本原理及系统构成52.1.1 OFDM基本原理52.1.2 串并转换62.1.3 调制与解调62.1.4 保护间隔与循环前缀82.2 OFDM的关键技术102.2.1 信道估计概述102.2.2 基于导频的信道估计方法102.2.3 信道的插值方法113 OFDM的系统设计与仿真123.1 MATLAB概述123.2 OFDM系统设计与仿真123.2.1
5、随机序列的产生123.2.2 串并转换143.2.3 QPSK调制143.2.4 QPSK调制星座图143.2.5 IFFT/FFT运算153.2.6 保护间隔和循环前缀163.2.7 并串转换163.2.8 加入高斯白噪声173.2.9 QPSK解调173.2.10 接收信号183.3 系统误码率的分析183.4 基于Simulink的系统仿真194 总结21参考文献21附录221 引言1.1 OFDM概述随着移动通信和无线网需求的不断增长,需要越来越高速的无线系统设计,而这其中一个最直接的挑战就是克服无线信道带来的严重的频率选择性衰落。正交频分复用(OFDM)技术可以很好地克服无线信道的频
6、率选择性衰落。由于其简单高效,OFDM已成为实现高速无线通信系统中最核心的技术之一。OFDM(Orthogonal Frequency Division Multiplexing)是一种特殊的多载波传输方式,由于各子载波之间存在正交性,允许子信道的频谱互相重叠,与常规的频分复用系统相比,OFDM可以最大限度的利用频谱资源,使得频谱利用率提高近一倍。同时它把高速数据通过串并转换,使得每个子载波上的数据符号持续长度相对增加,降低了子信道的信息速率,将频率选择性衰落信道转换为平坦衰落信道,从而具有良好的抗噪声、抗多径干扰的能力,适合在频率选择性衰落信道中进行高速数据的传输。此外,在OFDM中引入循环
7、前缀,克服了OFDM相邻块之间的干扰(IBI),保持了载波间的正交性,同时循环前缀长度大于信道扩展长度,有效地抑制了码间干扰(ISI)。可以看出,OFDM技术抗多径能力强、频谱利用率高、易于实现的优势,对短波数据通信具有广阔的应用价值,为提高短波通信频谱利用率和传输速率提供了新的解决方案1。1.1.1 OFDM技术发展历史正交频分复用技术己有近40年的发展历史,其概念最早出现于20世纪50年代中期。20世纪60年代,人们对多载波调制(MCM)技术进行了许多理论上的研究,形成了并行数据传输和频分复用的思想。20世纪80年代,人们对多载波调制在高速Modem、数字移动通信等领域中的应用进行了较为深
8、入的研究。到了90年代,数字信号处理技术和超大规模集成电路的飞速发展,又为OFDM技术的实现扫除了障碍。此时,OFDM技术终于登上了通信的舞台。1999年12月,包括Ericsson,Nokia和Wi-LAN在内的7家公司发起了国际OFDM论坛,致力于策划一个基于OFDM技术的全球性单一标准。现在OFDM论坛的成员已增加到46个会员,其中15个为主要会员。我国的信息产业部也参加了OFDM论坛,可见OFDM在无线通信领域的应用在当时已引起国内通信界的重视2。1.1.2 OFDM技术的优缺点OFDM技术主要有如下几个优点:(1)抗衰落能力强(2)频率利用率高(3)适合高速数据传输(4)抗码间干扰能
9、力强OFDM技术的不足之处包括:(1)对频偏和相位噪声比较敏感(2)峰均值比大导致射频放大器功率效率低2 OFDM基本原理及关键技术2.1 OFDM基本原理及系统构成OFDM由大量在频率上等间隔的子载波构成(设共有N个载波),各载波可用同一种数字调制方法,或不同的载波使用不同的调制方法,将高速串行数据分成多路并行的低速数据加以调制,所以OFDM实际上是一种并行调制方案,将符号周期延长N倍,从而提高了抗多径衰落的抵抗能力。在传统的频分复用中,各载波的信号频谱互不重叠,频带利用率较低。在OFDM系统中,各子载波在整个符号周期上是正交的,即加于符号周期上的任何两个载波的乘积等于零,因此各子载波信号频
10、谱可以相互重叠,大大提高了频带利用率。2.1.1 OFDM基本原理OFDM技术的基本思想是把一个高速的数据流分解成很多低速的子数据流,以并行的方式在多个子载波上传输,子载波间彼此保持相互正交的关系以消除子载波间数据的干扰,并且每个子载波可以看成一个独立的子信道。由于每个子信道的数据传输速率较低,当信号通过无线频率选择性衰落信道时,虽然整个信号频带内信道是有衰落的,但是每个子信道可以近似看成是平坦的,因此只要通过简单的频域均衡就可以消除频率选择性衰落信道的影响,同时利用IFFT/FFT的周期循环特性,在每个传输符号前加一段循环前缀,可以消除多径信道的影响,防止码间干扰3。2.1.2 串并转换数据
11、传输的典型形式是串行数据流,符号被连续传输,每一个数据符号的频谱可占据整个可利用的带宽。但在并行数据传输系统中,许多符号被同时传输,减少了那些在串行系统中出现的问题。在OFDM系统中,每个传输符号速率的大小大约在几十bps到几十Kbps之间,所以必须进行串并变换,将输入串行比特流转换为可以传输的OFDM符号。由于调制模式可以自适应调节,所以每个子载波的调制模式是可变化的。每个子载波可传输的比特数也是可以变化的,所以串并转换需要分配给每个子载波数据段的长度是不一样的。在接收端执行相反的过程,从各个子载波处来的数据被转换回原始的串行数据。2.1.3 调制与解调一个OFDM符号间之内包含多个经过相移
12、键控(PSK)或者正交幅度调制(QAM)的子载波。其中,N表示子载波的个数,T表示OFDM符号的持续时间(周期),是第i个子载波的载波频率,矩形函数,则从开始的OFDM符号可以表示为: (1)一旦将要传输的比特分配到各个子载波上,某一种调制模式将它们映射为子载波的幅度和相位,通常采用等效基带信号来描述OFDM的输出信号 (2)式(2)中,s(t)的实部和虚部分别对应于OFDM符号的同相和正交分量,在实际系统中可以分别与相应子载波的cos分量和sin分量相乘,构成最终的子载波信号和合成的OFDM符号。根据式(1),每个OFDM符号在其周期T内包括多个非零的子载波。因此其频谱可以看作是周期为T的矩
13、形脉冲的频谱与一组位于各个子载波频率上的函数的卷积。矩形脉冲的频谱幅值为sinc(fT)函数,这种函数的零点出现在频率为1/T整数倍的位置上。图1 OFDM系统中子信道符号的频谱图1中给出了相互覆盖的各个子信道内经过矩形脉冲得到的符号的sinc函数频谱。在每个子载波频率的最大值处,所有其它子信道的频谱值恰好为0。由于在对OFDM符号进行解调的过程中,需要计算这些点上所对应的每个子载波频率的最大值,因此可以从多个相互重叠的子信道符号中提取每一个信道符号,而不会受到其它子信道的干扰。从图1可以看出,OFDM符号频谱实际上可以满足奈奎斯特准则,即多个子信道频谱之间不存在相互干扰。因此这种一个子载波频
14、谱出现最大值而其它子信道频谱为零的特点可以避免载波间干扰(ICI)4。2.1.4 IDFT/DFT变换对于N比较大的系统来说,式(2)中的OFDM复等效基带信号可以采用离散傅立叶逆变换来实现。可以令式(2)中的,并且忽略矩形函数,对信号s(t)以T/N的速率进行抽样,即令可以得到: (3)可以看到,等效为对进行IDFT运算。同样在接收端,为了恢复出原来的数据符号,可以对进行逆变换,即DFT得到: (4)由此可见,OFDM系统的调制和解调可以分别由IDFT和DFT来代替。通过N点的IDFT运算,把频域数据符号变换为时域数据符号,经过射频载波调制之后,发送到无线信道中,其中每个IDFT输出的数据符
15、号是由所有子载波信号经过叠加而生成的,即对连续的多个经过调制的子载波的叠加信号进行抽样得到的5。2.1.4 保护间隔与循环前缀应用OFDM的一个重要原因在于它可以有效的对抗多径时延扩展。把输入数据流串并变换到N个并行的子信道中,使得每一个调制子载波的数据周期可以扩大为原始数据符号周期的N倍,因此,时延扩展与符号周期的数值比也同样降低N倍。为了最大限度的消除符号间干扰,还可以在每个OFDM符号间插入保护间隔(GI),而且该保护间隔长度一般要大于无线信道中的最大时延扩展,这样一个符号的多径分量就不会对下一个符号造成干扰。在这段保护间隔内,可以不插入任何信号,即是一段空闲的传输时段。然而在这种情况下
16、,由于多径传播的影响,则会产生载波间干扰(ICI),即子载波之间的正交性遭到破坏。为了消除由于多径所造成的ICI,OFDM符号需要在其保护间隔内填入循环前缀信号。 由此会带来功率和信息速率的的损失,其中功率损失可以定义为: (5)从式(5)可以看出,当保护间隔占到20%时,功率损失也不会超过1dB。但是带来的信息速率损失却达20%。但由于插入保护间隔可以消除ISI和多径所造成的ICI的影响,因此这个代价是值得的。串并变换IDFT或IFFT并串转换插入保护间隔DAC多径信道加性白高斯噪声ADC去除保护间隔串并转换DFT或FFT并串变换输入输出图2 插入保护间隔之后的OFDM系统发射机框图此时OF
17、DM的符号周期: (6)保护间隔的离散长度,即采样点个数为: (7)这样根据图2,包含保护间隔、功率归一化的OFDM的抽样序列为: (8)接收信号y(t)经过A/D变换后得到接受序列,,是对y(t)按T/N的抽样速率得到数字抽样。ISI只会对接收序列的前个样点形成干扰,因此将前个样点去掉,就可完全消除ISI的影响。对去掉保护间隔的序列,进行DFT变换,可得到DFT输出的多载波解调序列,得到N个复数点: (9)通过适当选择子载波个数N,可以使信道响应平坦,插入保护间隔还有助于保持子载波之间的正交性,因此OFDM有可能完全消除ISI和多径带来的ICI的影响,接收信号的频域表达式为: (10)其中为
18、第n个子载波的复衰落系数,代表第n个信道上的加性高斯白噪声(AWGN),实部与虚部均服从零均值高斯分布,且相互独立。噪声方差为: (11)2.2 OFDM的关键技术1. 时域和频域同步2. 信道估计3. 信道编码和交织.2.2.1 信道估计概述无线通信系统的性能受到无线信道的制约。发射机和接收机之间的传播路径非常复杂,从简单的视距传播到各种复杂的地貌如建筑物、山脉和森林等影响的传播。此外,无线信道不像有线信道那样固定并可预见,而且无线信道具有很大的随机性,这导致接收信号的幅度、相位和频率失真难以进行分析。这些问题对接收机的设计提出了很大的挑战,因此在接收机中,信道估计器是一个很重要的部分。OF
19、DM系统中,信道估计器的设计主要有两个问题:一是导频信息的选择,因为无线信道的时变特性,需要接收机不断对信道进行跟踪,所以导频信息必须不断的传送;二是既有较低的复杂度又有良好的导频跟踪能力的信道估计器设计,在确定导频发送方式和信道估计准则条件下,寻找最佳的信道估计器结构。2.2.2 基于导频的信道估计方法基于导频信道的方法是在系统中设置专用导频信道来发送导频信号。由于OFDM系统具有时频二维结构,所以采用导频符号辅助信道估计更加灵活。所谓基于导频符号的信道估计是指在发送端的信号中的某些位置插入接收端己知的符号或序列,接收端利用这些信号或序列受传输信道衰落影响的程度,再根据某些算法来估计信道的衰
20、落性能,当然也可以用MMSE(最小均方误差)和LS(最小平方)算法,这一技术叫作导频信号辅助(PSAM)。在各种衰落估计技术中,PSAM是一种有效的技术。在单载波系统中,导频符号或序列只能在时间方向上插入,在接收端提取导频信号估计信道的冲击响应。但是在多载波系统中,导频信号可以在时间和频率两个方向上插入,在接收端可提取导频信号估计信道的传递函数。只要导频信号在时间和频率方向上间隔对于信道带宽足够小,就可以采用二维内插滤波的方法来估计传递函数,当然也可以采用分离的一维估计。考虑到实现的复杂度,信道估计准则选用LS估计准则。2.2.3 信道的插值方法插值方法有常值内插、线性内插和DFT插值。常值内
21、插一般用在块状导频结构中,是比较简单的插值方法,本文接下来就来讨论LS算法下不同插值方式下对信道的估计。首先线性内插是最简单也是最传统的内插方法之一,它利用两个导频信号来进行内插估计。时间方向的线性内插的公式为: (12)其中 , 。同理,可以得到频率方向的一阶线性内插的公式为: (13)其次是DFT插值,由于信道冲击响应与信道传输函数是傅氏变换对,内插可以利用DFT的性质。但是DFT插值一般用在基于梳状导频的结构中设信道冲击响应为,0,00。信道的传输函数为:, (14)取整数,且N是M的整数倍,对信道传输函数在频率方向以N/M为间隔进行抽取,得到其中的元素是: (15)可以看出,由频率的M
22、个抽样值可以恢复信道冲击响应,再进行N点的DFT就可以得到所有子信道的传输函数值。至于常值插入比较简单就不再赘述。3 OFDM的系统设计与仿真3.1 MATLAB概述MATLAB是Mathworks公司推出的一套高性能数值计算软件。MATLAB是矩阵实验室(Martix Laboratory)之意。MATLAB除具备卓越的数值计算能力外,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达方式与数学、工程中常用的形式十分相似,因此用MATLAB来解决问题要比C、FORTRAN等语言完成相同的事情简捷得多6。MATLAB在数学计算
23、以外的其他科学计算与工程领域的应用也是越来越广,并且有着更广阔的应用前景和无穷无尽的潜能。它可以将使用者从繁琐的底层编程中解放出来,这样无疑会提高工作效率。MATLAB的一大特点是提供了很多专用的工具箱和模块库,例如通信工具箱和模块库、数字信号处理工具箱和模块库、控制工具箱和模块库等。MATLAB在这些工具箱和模块库中提供了很多常用的函数和模块,使得仿真更容易实现。目前,MATLAB的功能越来越强大,不断适应新的要求提出新的解决方法。可以预见,MATLAB在科学计算、自动控制、科学绘图、通信仿真等领域将继续保持其独一无二的地位7。3.2 OFDM系统设计与仿真3.2.1 随机序列的产生 假设仿
24、真参数为:子载波个数为64,IFFT/FFT的长度为64,调制方式选用QPSK调制。为了最大限度的减少插入保护间隔带来的信噪比损失,希望OFDM周期长度远远大于保护间隔长度,但是OFDM符号周期越大,系统中包括的子载波数越多,使子载波间隔相应减少,系统的复杂度增加,而且还加大了系统的峰值平均功率比,同时使系统对频率偏差更加敏感。因此在实际应用中,一般选择符号周期长度是保护间隔长度的5倍,这样由于插入保护比特所造成的信噪比损失只有1dB左右。所以保护间隔的长度为有效符号周期的1/4,即为IFFT/FFT长度的1/4,故设循环前缀的长度为16,每帧含有2个OFDM符号,信噪比为10dB。OFDM系
25、统的MATLAB仿真流程如图3。随机整数序列的产生开始QPSK调制串并转换插入保护间隔IFFT运算加入高斯噪声移除保护间隔FFT运算QPSK调制并串转换判决输出结果图3 OFDM系统仿真框图设para表示并行传输的信道个数,Ns表示每一帧所含有的OFDM符号个数,ml为调制电平数。根据系统参数知道para=64,Ns=2。由于QPSK利用载波四种不同的相位来表征数字信息,而每一种载波相位代表2比特信息,所以ml=2。由此可知64个并行传输信道要传送4个帧的OFDM符号,而每一帧含有2个OFDM符号,每个符号又含有2比特的信息量,故总的信息量为三者的乘积。通过式子para*Ns*ml可以计算得出
26、串行序列的长度为256。序列的波形如图4。图4 发送端随机序列3.2.2 串并转换串并转换的实现方法很多,在MATLAB里,reshape用来把指定的矩阵改变形状, 但是元素个数不变。在本程序中采用reshape函数来实现串并转换。系统参数中,并行信道的个数为64,信息量为256比特。因此将序列转换成64行4列的矩阵,函数设置为reshape(Signal,64,4),Signal表示发送端的串行序列。前64bit的数据变为第一列,随后的64bit变为第二列,以此类推,转换之后得到的并行数据为64行4列的矩阵,用paradata来表示。3.2.3 QPSK调制本文中采用的是B方式时的QPSK的
27、调制方式。在进行调制之前,需要将串并转换得来的并行数据信号paradata分成两路,I路和Q路的数据都为32行2列的矩阵。I路和Q路的矩阵通过自定义函数qpskmod()的处理后,数据1保持不变,数据0则变为-1。处理后的矩阵为ich与qch。矩阵ich和qch分别再乘以系数,生成新矩阵ich1和qch1,将矩阵组合起来将频域数据变为时域数据完成调制。通过将上述的发送段的并行数据进行调制后得到时域的数据为qpsk_x。调制后的波形如图5所示。 图5 QPSK调制后的波形3.2.4 QPSK调制星座图为了能够很好的观察到qpsk的调制,在程序中将qpsk调制的星座图画了出来。 程序运行后得到的图
28、形为图6。图6 调制后的星座图3.2.5 IFFT/FFT运算在MATLAB软件里可以使用函数fft()和ifft()来对数据进行FFT/IFFT运算,可以省去很多复杂的运算。运算后的波形如图7所示。图7 IFFT变换后的波形3.2.6 保护间隔和循环前缀在实际应用中通过引入循环前缀形成保护间隔(GI),从而有效地对抗由于多径时延带来的码间干扰,方法是在时域内把OFDM符号后面部分插入到该符号的开始部分,形成循环前缀。保护间隔的长度应该大于多径时延扩展的最大值。在OFDM符号中加入保护间隔和循环前缀的示意图如图8。将通过IFFT运算得到的数据结果进行实虚、部分离,得到的结果为ich2与qch2
29、。图8 加入保护间隔的OFDM符号在MATLAB里采用一些特殊运算符号和矩阵就可实现将每个符号的后时刻的采样点复制到OFDM符号的前面。冒号在MATLAB里是一种特殊的运算符号,ich2(fl-gl+1:fl,:)表示将矩阵ich2中的第(fl-gl+1)行到最后一行输出出来,再将输出的数据加到原来的矩阵上形成新的矩阵ich3,即完成了插入保护间隔和循环前缀的加入,同理虚部的实现也是一样的。具体实现为: ich3=ich2(fl-gl+1:fl,:);ich2; qch3=qch2(fl-gl+1:fl,:);qch2; 3.2.7 并串转换 这一过程是串并转换的逆过程,将N个子载波的数据传送
30、到一个载波信道中去,将并行数据转换为串行数据序列进行传输。并串转换分别对实部和虚部进行,程序中依然采用reshape()函数来进行变换。具体实现为: ich4=reshape(ich3,1,(fl+gl)*Ns); qch4=reshape(qch3,1,(fl+gl)*Ns); 3.2.8 加入高斯白噪声 白噪声是根据噪声的功率谱密度是否均匀来定义的,而高斯噪声则是根据它的概率密度函数呈正态分布来定义的。在通信系统的理论分析中,特别是在分析、计算系统抗噪声性能时,经常假定系统中信道噪声为高斯型白噪声。其原因在于,高斯型白噪声可用具体的数学表达式表述。在MATLAB软件里产生高斯噪声的函数一般
31、有两个,WGN和AWGN。本程序正是采用的ReData=awgn(TrData,SNR,measured)来给发射数据TrData加入高斯噪声。加入噪声后波形如图9所示。图9 加入噪声后的波形3.2.9 QPSK解调在进行解调之前,信号要完成去掉保护间隔和进行FFT运算的任务。去掉保护间隔也就可以去掉符号间的干扰。3.2.10 接收信号 完成解调之后下面就是进行解调信号的判决得到接收信号。程序中将接收端信号的波形输了出来,如图10。通过将图中发送数据和接收到的数据进行对比发现,经过OFDM系统的传输后,信号的误码率为0,对抗码间干扰和时延扩展有很好的效果。实际OFDM系统中,子载波的数目较大时
32、,系统的误码率也是非常低的。图10 接收端信号的波形3.3 系统误码率的分析 通过比较发送端和接收端的信号是否相同,用bit_error_count来计算错误的个数,total_bits表示总的个数,则误码率bite_error_rate等于两者之比。系统的仿真参数为:64个子载波,IFFT/FFT长度为64,采用QPSK调制,循环前缀的长度为16,每帧含有2个OFDM符号,没有采用前向纠错码,信噪比范围为010dB,误码率波形如图11所示。图11 BER性能曲线通过仿真可以看出,OFDM在高斯信道具有比较良好的性能,信噪比在比较大的时候,误码率比较低。3.4 基于Simulink的系统仿真1
33、998年7月,经过多次修改,IEEE802.11标准组决定选择OFDM作为在无限局域网WLAN)上5GHz频段的物理层接入方案(IEEE802.11a),目标是提供6Mb/s到54Mb/s数据速率,这是OFDM第一次被用于分组业务通信当中。此后,ETSI,BRAN及MMAC也纷纷采用OFDM作为其物理层标准。在Simulink中有一个自带的802.11a的演示模型,如图12所示。图12 Simulink中的IEEE802.11a系统模型开始运行仿真后,可以看到参数的变化,如图13所示。图13 显示波形从图13中可以看到未均衡与均衡后的接受信号,Rx信号功率谱,均衡后的功率,SNR,比特速率以及
34、BER等。4 总结OFDM是一种能够对抗由多径衰落信道造成的符号间干扰的有效技术,它可以在频率选择性衰落信道中实现高速率的无线通信。如今随着国家对通信产业的日益重视与扶持,并在前段时间发放了4G牌照,各大运营商也开始如火如荼的发展4G技术,4G时代已经拉开帷幕。OFDM技术作为一种高效的调制技术,作为第四代移动通信系统的关键技术之一,已经日益得到人们的重视,开展这方面的研究具有很强的理论和现实意义。本文首先对OFDM做了一个整体的概括,包括它的应用领域、发展历史以及优缺点,并对OFDM的每个模块进行了详细的说明,通过代码实现并得到了相应的仿真波形,并且利用Simulink对OFDM系统做了整体
35、的仿真,最后得到了星座图及BER性能曲线,得到了一般结论。当然,本文还有很多不足之处。在验证OFDM系统的抗干扰能力中,对于各种信道,包括高斯白噪声、Rice信道、Jake移动信道、多径衰落信道等的特性应该进行深入的分析和探讨,这样才能更加准确地研究OFDM系统对它们的抗干扰性能。由于本人能力有限,没能很好的完成这些方面的研究。在信道编码方面,本论文只是分析了卷积和交织编码,对于其它编码方式,例如分组编码,格雷码等,以及与QAM等调制方式的结合未能进行仿真。另外,OFDM还有很多其它关键技术需要深入的研究。这些都是进一步提升OFDM性能需要进行的工作。 参考文献1 彭木根, 王文博. 下一代宽
36、带无线通信系统OFDM与WiMAXM. 北京: 机械工业出版社, 2007: 46-532 曹一. 基于Simulink的OFDM通信系统仿真分析D. 天津: 天津大学, 2009.3 张海滨. 正交频分复用与关键技术M. 北京: 国防工业出版社, 2006.4 张晖, 徐淑正, 杨华中等. OFDM在短波通信中的应用J. 电子技术应用, 2005. 95 高西全, 丁美玉. 数字信号处理M. 西安: 西安电子科技大学出版社, 2008.6 刘卫国. MATLAB程序设计与应用M. 北京: 高等教育出版社, 2011.7 徐明远, 邵玉斌. MATLAB仿真在通信与电子工程中的应用M. 西安:
37、 西安电子科技大学出版社, 2006附录主程序:clc; clear;SNR=10;% 信噪比 fl=64; % 设置FFT长度 Ns=2; %设置一个祯结构中OFDM信号的个数 para=64;%设置并行传输的子载波个数 sr=250000; %符号速率 br=sr.*2;% 每个子载波的比特率 gl=16;%保护时隙的长度 nloop=20;%仿真循环次数noe=0; %误码数nod=0; %传输的数据数量eop=0; %误组数nop=0; %传输的分组数for iii=1:20;SNR=SNR-0.5;%-产生数据-Signal=rand(1,para.*Ns.*2)0.5;%-串并转换
38、- paradata=reshape(Signal,para,Ns.*2) ;%-QPSK调制- ich,qch=qpskmod(paradata,para,Ns,2); kmod=1./sqrt(2); ich1=ich.*kmod; qch1=qch.*kmod; qpsk_x=ich1+qch1.*sqrt(-1);%频域数据变时域 %-IFFT- fy=ifft(qpsk_x);ich2=real(fy); qch2=imag(fy); %-插入保护间隔- ich3=ich2(fl-gl+1:fl,:);ich2;qch3=qch2(fl-gl+1:fl,:);qch2; %-计算衰减
39、- spow=sum(ich3.2+qch3.2)/Ns./para; attn= 0.5.*spow.*sr/br.*10.(-SNR./10); attn=sqrt(attn); %并串变换 ich4=reshape(ich3,1,(fl+gl) .*Ns) ;qch4=reshape(qch3,1,(fl+gl) .*Ns); %形成复数发射数据 TrData=ich4+qch4.*sqrt(-1) ;%接收机 %-加入高斯白噪声- ReData=awgn(TrData,SNR,measured);%接收端 %移去保护间隔 idata=real(ReData); qdata=imag(R
40、eData); idata1=reshape(idata,fl+gl,Ns); qdata1=reshape(qdata,fl+gl,Ns); idata2=idata1(gl+1:gl+fl,:); qdata2=qdata1(gl+1:gl+fl,:); %FFT变换 Rex=idata2+qdata2.*sqrt(-1); ry=fft(Rex); ReIChan=real(ry); ReQChan=imag(ry); ReIchan=ReIChan/kmod; ReQchan=ReQChan/kmod; %QPSK解调 RePara=qpskdemod(ReIchan,ReQchan,
41、para,Ns,2); %接收端信号ReSig=reshape(RePara,1,para.*Ns.* 2); %-误码比特率(BER)- % -即时的误码和数据- bit_errors=find(Signal=ReSig);bit_error_count=size(bit_errors,2);total_bits=size(ReSig,2);bit_error_rate=bit_error_count/total_bits;fprintf(%dt%et,iii,bit_error_rate);%屏幕显示semilogy(SNR,bit_error_rate,*b-);hold on;endf
42、igure(1)%发送信号的图形 stem(Signal),grid off; title(signal); xlabel(x),ylabel(y); figure(2) %QPSK调制后的图形subplot(2,1,1),stem(ich1),grid off; xlabel(x),ylabel(y);title(QPSK变换之后的I路波形)subplot(2,1,2),stem(qch1),grid off; xlabel(x),ylabel(y);title(QPSK变换之后的Q路波形) figure(3) %QPSK星座图 for alfa=0:0.001.*pi:2.*pi plot
43、(cos(alfa),sin(alfa),g) hold on end for i=1:Ns.*para plot(ich1(i),qch1(i),ro); hold on end grid; xlabel(I路); ylabel(Q路); title(调制后信号的星座图); hold off figure(4) %ifft变换后的波形subplot(2,1,1),stem(ich2),grid off; xlabel(x),ylabel(y);title(ifft变换之后的I路波形)subplot(2,1,2),stem(qch2),grid off; xlabel(x),ylabel(y)
44、;title(ifft变换之后的Q路波形) figure(5) %加入噪声后的I、Q路的波形subplot(2,1,1),stem(idata),grid off;xlabel(时间),ylabel(幅度); title(加噪声后I路波形) subplot(2,1,2),stem(qdata),grid off; xlabel(时间),ylabel(幅度); title(加噪声后Q路波形) figure(6)subplot(2,1,1),stem(TrData);title(未加入噪声时候的波形)subplot(2,1,2),stem(ReData);title(加入噪声后的波形)xlabel(x),ylabel(y); figure(7) %fft变换后的波形subplot(2,1,1),stem(ReIChan),grid off ; title(fft变换之后的I路波形)subplot(2,1,2),stem(ReQChan),grid off;title(fft变换之后的Q路波形)xlabel(x),ylabel(y);figure(8)%接收信号的图形 stem(ReSig),grid off; title(ReSig); xlabel(x),
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100