OFDM系统仿真

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

OFDM系统仿真一、OFDM基本原理把一个高速率的数据流分解成很多低速率的子数据流,以并行的方式在多个子载波上传输,子载波间彼此保持相互正交的关系以消除子载波间数据的干扰。1.串并变换在并行数据传输系统中,许多符号被同时传输,每个传输符号速率的在几十bit/s到几十kbit/s之间检错码和纠错码,数据加扰作为串并变换工作的一部分,通过把每个连续的数据比特随机的分配到各个子载波上来实现,将比特错误位置的随机化可以提高前向纠错编码对性能,并且系统的总的性能也得到改进。2.子载波调制一个OFDM符号之内包含多个经过相移键控(PSK)或者正交幅度调制(QAM)的子载波。其中,N表示子载波的个数,T表示OFDM符号的持续时间,d(i=0,1,2,….n-1)是分配给每个子载波的数据符号,fi是第i个子载波的载波频率,矩形函数rect(t)=1,2tT,则从stt开始的OFDM符号可以表示为:TtttttTifjTttrectdtssNiscsi,))((2exp)2(Res10其他,0st其中,s(t)的实部和虚部分别对应于OFDM符号的同相和正交分量,在实际信道编码交织调制插入导频S/PIFFT(TX)FFT(RX)S/PP/S加循环前缀和加窗DACRFTXRFRXADC时频同步去循环前缀P/S信道均衡解调解交织信道译码二进制输入数据二进制输出数据系统中可以分别于相应子载波的cos分量和sin分量相乘,其中,Tiffci/。在接收端将接收到的同相和正交分量映射回数据信息,完成子载波调解。OFDM系统基本模型框图3.OFDM的IDFT/DFT实现对于N比较大的系统来说,式2中的OFDM复等效基带信号可以采用离散Fourier逆变化(IDFT)方法来实现。令式2中的0ts,并且忽略矩形函数,对信号s(t)以T/N的速率进行抽样,即令t=kT/N,(k=0,1,......N-1),可以得到:)10(),2exp()/(s10NkNikjdNkTsNiik可以看到,ks等效为对id进行IDFT运算。同样在接收端,为了恢复原始的数据符号id,可以对ks进行逆变化,即DFT得到:)10(),2exp(10NiNikjsdNiki由此可见,OFDM系统的调制和解调可以分别通过IDFT/DFT来实现,频域数据符号id经过N点IDFT运算变换为时域符号ks,经过射频载波调制后,发送到信道中。其中每一个IDFT输出的数据符号都是由所有子载波经过叠加生成的,即对连续的多个经过调制的子载波的叠加信号进行抽样得到的。在OFDM系统的实际应用中,可以采用更加方便快捷的快速Fourier变换(FFT/IFFT)。N点IDFT运算需要实施N*N次的复数乘法,而IFFT可以显著的降低运算的复杂度。对于常用的基2IFFT算法来说,其复数乘法的次数仅为(N/2))(log2N。IDFT的计算复杂度会随N增加而呈现二次方增长,IFFT的算法复杂度的增加速度只是稍稍快于线性变化。对于子载波数量非常大的OFDM系统来说,可以进一步采用基4IFFT算法来实施Fourier变换。4.保护间隔与循环前缀应用OFDM的一个重要原因在于它可以有效的对抗多径时延扩展,为了最大限度的消除符号间干扰,还可以在每个OFDM符号之间插入保护间隔,为了消除由于多径所造成的ICI,OFDM符号需要在其保护间隔内填入循环前缀信号。串并变换{Sn}加性高斯白噪声IDFT或IFFT插入保护间隔并串变换DAC多径信道ADC去除保护间隔串并变换DFT或FFT并串变换{Rn}插入保护间隔后的OFDM系统框图当子载波个数比较大时,OFDM的符号周期T相对于信道的脉冲响应长度max很大,则符号间干扰的影响很小;而如果相邻OFDM符号之间的保护间隔gT满足maxgT的要求,则可以完全克服ISI的影响。同时为了保持子载波之间的正交性,该保护间隔必须是循环前缀。此时,OFDM的符号周期为:TTTgs保护间隔的离散长度,即样点个数为:sgTNLmax这样根据图7,保护间隔、功率归一化的OFDM的抽样序列)(kx为:)1,...,(,1/10NLkeSNxgNkjnNnnk经过信道),(th和加性高斯噪声作用后的接收信号为:tndthtxtrx,0接收信号r(t)经过A/D变换后得到接收序列1,...,,NLkrgk,为对r(t)按T/N的抽样速率得到的数字抽样。ISI只会对接收序列的钱gL个样点形成干扰,因此将前gL个样点去掉,就可以完全消除ISI的影响。对去掉保护间隔的序列1,...,,NLkrgk进行DFT变换,可得到DFT输出的多载波调解序列1,...,0,NnRn,得到N个复数点:)1,...,0(,1/210NnerNRNknjNkkn通过适当选择子载波个数N,可以使信道响应平坦,插入保护间隔还有助于子载波之间的正交性,因此OFDM有可能完全消除ISI和多径带来的ICI的影响,接收信号的频率表达为:)1,...,0(,NnNSHRnnnn(1-13)其中,nH为第n个子载波的复衰落系数,nH代表第个子信道的AWGN,它的实部与虚部均服从零均值高斯分布,且互相独立。噪声方差为:)1,...,0(,22NnNEn这个系统有N个并行的子系统,每个子系统经受乘性复干扰和加性白高斯噪声的影响。串并变换{Sn}{Rn}H0N0R0并串变换H1N1R1HN-1NN-1RN-1S0S1SN-1●OFDM多载波系统的等效频域系统二、802.11a的帧结构速率Rate4bit保留位Reserved1bit长度位Length12bit奇偶校验位Parity1bit尾比特Tail6bit业务位Service16bitPSDU尾比特Tail6bit填充比特PadPLCP前导2个OFDM符号信令段Signal1个OFDM符号数据段DataOFDM符号数目可变PLCP报头经过编码的OFDM符号(BSPK,r=1/2)经过编码的OFDM符号(速率Rate在信令段被确定)1.OFDM物理层编码过程(1)产生PLCP训练序列。此序列由10个重复的短训练序列和2个重复的加保护间隔(GI)的长训练序列构成。10个端训练序列用来进行接收端的自动增益控制、定时捕获以及完成频率的粗同步。长训练训练作用是在接受端正信道估计以及进行系统的细同步。(2)根据发送端的速率位、长度位和业务位,再添加适当的比特得到PLCP头。PLCP中Rate和Length经过1/2速率的卷积编码,映射成一个单独BPSK编码的OFDM符号,这与Signal得到一个OFDM符号要经过统一的过程:卷积编码、交织、BPSK调制、插入导频、IFFT,最后是加保护间隔是数据速率达到6Mbit/s。Signal部分不需要扰码。(3)根据发送端的Rate,计算每个OFDM符号所包含的数据比特率(记为DBPSN)。编码速率(R),每个OFDM子载波中的比特数(CBPSN)。(4)发送端服务区后跟着的是PSDU。通过添加适当的“0”(至少6个),使得比特流的长度是DBPSN的整数倍。调整过后的比特流形成包中的Data部分。(5)用非0初值产生的伪随机序列形成扰码,然后再与调整后的信息比特做与逻辑运算。(6)用6个未成扰码的“0”比特替换后6个“0”经过扰码后形成的比特(这些比特能使接收端的卷积编码器回到零状态,而他们解码后只作为尾比特)。(7)接下来对数据进行1/2速率的卷积编码,然后再根据编码速率的需要进行打孔(Puncture)。(8)将编码输出的数据以NCBPS为长度单位分成若干组,对每一组进行交织(Interleaving)处理。(9)编码,交织完成后输出的数据流以NCBPS为长度单位分成若干组,再选择合适的调制方法,如BPSK或者QAM等进行调制。(10)将调制后的复数信号按48为单位分成若干组,每一组可以形成一个OFDM符号。一组中的符号映射到编号为-26~-22、-20~-8、-6~-1、1~6、8~20、22~26的OFDM子载波上。编号为-21、-7、7、21的子载波用来插入导频。代表中心频率的0号子载波可以忽略,所以置为零。(11)导频插入编号为-21、-7、7和21的4个子载波中,总的子载波是52。(12)(12)每一组从编号为-26~26的子载波经过逆傅立叶变换转为时域信号。对逆傅立叶变换后的波形加循环前缀形成GI,并采用时间截短的方法对每一个周期的OFDM符号的波形范围进行加窗处理(Windowing)。(13)以含有Rate和Length信息的Signal开始的OFDM符号流一个接一个地进入信道传输。(14)根据理想信道的中心频率,将复基带波形上变频到RF频率上。OFDM系统的主要参数2.训练符号训练符号用来进行同步,训练符号由2部分组成:10个相同的短训练符t1~t100(为正常OFDM符号时间的1/4)和2个相同的长训练符号T1~T2(时间长等于正常的OFDM符号时间长度),总的训练时间长度为16us。3.Signal域训练符号之后紧跟着Signal域012345672289101112131415161718192021R1R223000000R3R4RLSBMSBPRATE(4bit)LENGTH(12bit)SIGNALTAIL(6bit)传送顺序§Signal域中的信息比特经过BPSK调制以及效率为1/2的卷积编码,这样就可以得到6Mbit/s的信息传输速率,这也是IEEE802.11a中规定的最低信息速率。§随后LENGTH域的长度为12个比特,用于指示MAC请求PHY发送的PSDU的字节个数。4.Data域的扰码及解扰Data域包括Service、PSDU、尾比特以及填充比特。在送入卷积编码器要先经过加扰处理,也就是用一长为127的帧同步码来对Data域进行加扰。X7X6X5X4X3X2X1三、IEEE802.11a系统的仿真§单径信道§2径信道源代码:clearall%%%%%%%%%%%%%参数设置部分%%%%%%%%%%%%%%%%%Nsp=52;%系统子载波数(不包括直流载波)Nfft=64;%FFT长度Ncp=16;%循环前缀长度Ns=Nfft+Ncp;%1个完整OFDM符号长度noc=53;%包含直流载波的总的子载波数Nd=6;%每帧包含的OFDM符号数(不包括训练符号)M1=4;%QPSK调制M2=16;%16-QAM调制sr=250000;%OFDM符号速率EbNo=0:2:30;%归一化信噪比Nfrm=10000;%每种信噪比下的仿真帧数ts=1/sr/Ns;%OFDM符号抽样时间间隔t=0:ts:(Ns*(Nd+1)*Nfrm-1)*ts;%抽样时刻fd=100;%最大多普勒频移h=rayleigh(fd,t);%生成单径Rayleigh衰落信道h1=sqrt(2/3)*h;h2=sqrt(1/3)*rayleigh(fd,t);h2=[zeros(1,4)h2(1:end-4)];%训练符号频域数据,采用802.11a中的长训练符号数据Preamble=[11-1-111-11-1111111-1-111-11-11111...1-1-111-11-11-1-1-1-1-111-1-11-11-11111];Preamble1=zeros(1,Nfft);Preamble1(2:27)=Preamble(27:end);%前导重排后的数据Preamble1(39:end)=Preamble(1:26);preamble1=ifft(Preamble1);%训练符号时域数据preamble1=[preamble1(Nfft-Ncp+1:end)preamble1];%加入循环前缀%%%%%%%%%%%%%%%%%%%%%仿真循环%%%%%%%%%%%%%%%%%%%%%%%%

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功