最初的保护间隔是用空数据填充的,这虽然消除了ISI,但却破坏了信道间的正交性。
后来,Peled和Ruiz提出了用循环前缀填充保护间隔的方法,即把Y个样值的最后M个复制到个OFDM符号的前端作为保护间隔,利用循环卷积的概念,只要循环前缀的长度大于信道的冲激响应,信道间仍是正交的。
符号周期由T增加至T′=T+
T,
T是保护时隙,增加保护时隙会降低频谱利用率,所以
T一般小于等于T/4。
3.2.2系统仿真结果分析
用上述OFDM系统的实现方法进行OFDM传输系统的仿真,系统参数见表3-1
3-1仿真系统参数
并行子信道个数
64
FFT的长度
64
载波个数
64
符号速率
25000
循环次数
100
调制方式
QPSK
循环一次OFDM符号个数
10
首先基本参数设置成如上表所示,再分别设置保护间隔为18和32,然后改变输入信号的信噪比为:
3、4、5、6、7、8、9、10、11、12、13。
图3-2相同信道(64)插入不同保护间隔下误码率比较
图3-3相同信道(128)插入不同保护间隔下误码率比较
图3-4相同信道(256)插入不同保护间隔下误码率比较
如图3-2可知,误码率随着信噪比的增加而逐渐减小,直至趋于理想化的误码率为0。
data1(下方曲线)是插入保护间隔为18时的误码率曲线,data2(上方曲线)是插入保护间隔为32时的曲线,可见在插入保护间隔过大时,会造成在信噪比低时的高误码率,但随着信噪比的增加,误码率会趋于相同。
改变并行子信道的个数为200,如图3-3,3-4,做相同的比较,可得同样的结论。
如图3-5与图3-6可知,在插入相同保护间隔的情况下,并行子信道的个数越多,信道传输信息的误码率越低。
并且大大提高了频谱的利用率。
这就充分说明OFDM系统的优点,可以把串行高速数据流成若干路并行低速数据流,每路低速数据流被调制在彼此正交的子载波上,然后所有子载波叠加在一起构成发送信号。
这种技术具有在杂波干扰下传送信号的能力,可以利用在容易受外界干扰或者抵抗外界干扰能力较差的传输介质中。
因此,OFDM的应用前景十分光明。
图3-5相同保护间隔下插入不同信道(64、128、256)误码率比较
图3-6相同保护间隔(32)下插入不同信道(128、200)误码率比较
OFDM技术在实现的过程中,需要根据相应的信道条件和系统要求进行合理设计,才能发挥其优势。
系统的参数选择,导频和同步方案的设计,均衡和编码技术的结合使用,都需要在实现之前进行优化设计,所以仿真工作是必不可少的。
OFDM的系统仿真是一个非常复杂的问题。
根据研究问题的侧重点,可以采用不同的仿真工具和方法分开进行。
目前许多系统级的仿真工具都支持OFDM系统的仿真,对于具体的算法则可以使用更加灵活的程序语言工具进行仿真。
OFDM系统的仿真是可以优化整个系统的参数和指标,缩短开发的周期。
结合我们的实践经验,系统的分析了OFDM实现中的关键技术,通过一个实例给出了OFDM系统仿真的基本框架,但在具体的系统设计中,还有很多更复杂的问题需要解决,尤其是同步技术,本文给出的只是系统设计时需要宏观考虑的问题。
第4章结论
随着数字时代的到来,OFDM技术给通信领域注入了新的活力。
正如绪论中所述,OFDM技术良好的性能在计算机网络、数字音频/视频广播、移动通信、卫星通信等多个领域中都有体现。
本文首先介绍了OFDM系统的关键技术,然后又分析了OFDM系统的原理,在OFDM系统原理的基础上,详细设计了一个基于MATLAB的系统仿真链路模型,并进行了计算机仿真,同时详细分析了仿真结果。
通过对该系统的仿真及分析,可以得到如下结论:
a)IFFT/FFT变换可以有效的实现OFDM信号的调制解调。
b)OFDM可以有效的提供系统频带利用率。
c)信息流的误码率随着信噪比的增加而逐渐减小。
d)信息传输时,并行信道的个数越多信息流的误码率越小。
本文所做的只是系统传输误码率的仿真,在实际应用中,大多需要将OFDM同相和反相两路信号调制成一路信号后,进行射频调制。
这时,系统的同步问题将是仿真的重点。
需要充分考虑系统的频率同步问题,频率的偏移将导致系统子载波得正交性变差,严重影响系统的正常工作。
OFDM的同步也是当前通信领域里的一个研究热点。
事物是在不断发展中,OFDM技术也需要发展。
通过与新技术的结合,OFDM技术将不断完善。
其良好的性能预示着它将拥有一个广阔的前景。
致谢
在论文的结束,特附上此致谢,感谢在写本文期间给予了我热心帮助的老师、同学和朋友:
感谢在本科学习期间给予我热心帮助的老师、同学和朋友。
首先要感谢指导老师:
常怡萍,感谢这一个多学期来常老师在学习、工作中给予的关心和帮助。
本文的研究工作也是在常老师的悉心指导下完成的。
常老师严谨求实的工作作风都使我受益匪浅。
尤其是她对当今科技前沿的把握,使我所做的工作具有非常广泛的应用前景。
在她耐心细致的指导下,我的专业知识得以扩充,学习能力得以提高,论文的工作也得以顺利地进行。
所以,再次向常老师表达我最诚挚的谢意。
在这两年的学习生活中,还得到了学校多位老师的热情帮助。
他们经常给我讲解当今世界前沿技术,给了我许多启发。
在此一并感谢。
最后还要感谢我的同学以及本科学习期间的舍友们,和他们一起度过两年和谐融洽的宝贵时间,和他们建立的友谊和我所学到的知识同样弥笃可贵。
这两年来的每一点成绩和进步都得益于我身边的很多人,在此谨向所有关心过我,帮助过我的老师和朋友表示衷心的感谢。
参考文献
[1]佟学俭、罗涛.OFDM移动通信技术原理与应用.第一版.人民邮电出版社.2003
[2]樊昌信,张甫栩,徐炳祥,吴成柯.通信原理.第五版.国防工业出版社.2001
[3]郑君里,应启衍,杨为理.信号与系统.第二版.北京高等教育出版社.2000
[4]陈亚勇等编著MATLAB信号处理详解.人民邮电出版.2001.
[5]张云峰,彭军 用MATLAB实现OFDM技术的仿真 电脑与信息技术14卷1期 2006.2
[6]李引新,赵姚同 正交频分多路(OFDM)的实现方式及性能分析 电讯技术 1998.06期
[7]张永生,李道本 正交频分复用码分多址技术的特点及其应用 移动通信 1997.06期
[8] 梁兵,董在望 OFDM仿真软件系统研究 广播与电视技术 1998.04期
[9]郭坚 正交频分复用技术极其在CDMA中的应用 数字通信 1998.04期
[10]高焕英 OFDM调制技术研究及硬件实现方案 无线电技术 1998.05期
[11]张俊峰 正交频分复用(OFDM)调制技术 天津通信技术 1998.02期
[12]王文博,郑侃宽带无线通信OFDM技术人民邮电出版社
[13]尹长川,罗涛,乐光新多载波宽带无线通信技术北京邮电大学出版社
[14]阮沈勇王永利桑群芳编MATLAB程序设计电子工业出版社2004.1(MATLAB应用与提高系列)
[15]李建东、杨家玮,个人通信,人民邮电出版社,1998.
附MATLAB仿真程序
%**********************准备部分***************************
para=128;
fftlen=128;
noc=128;
nd=6;
ml=2;
sr=2500;
br=sr.*ml;
gilen=18;
ebn0=3;
%**************************主循环部分**************************
nloop=100;
noe=0;
nod=0;
eop=0;
nop=0;
foriii=1:
nloop
%******************发射部分******************************************************
%******************产生数据**********************
seldata=rand(1,para*nd*ml)>0.5;
%******************串并转换***********************
paradata=reshape(seldata,para,nd*ml);
%******************QPSK调制***********************
[ich,qch]=qpskmod(paradata,para,nd,ml);
kmod=1/sqrt
(2);
ich1=ich.*kmod;
qch1=qch.*kmod;
%******************IFFT(离散傅里叶反变换)*********
x=ich1+qch1.*i;
y=ifft(x);
ich2=real(y);
qch2=imag(y);
%******************插入保护间隔*******************
[ich3,qch3]=giins(ich2,qch2,fftlen,gilen,nd);
fftlen2=fftlen+gilen;
%******************衰减计算************************
spow=sum(ich3.^2+qch3.^2)/nd./para;
attn=0.5*spow*sr/br*10.^(-ebn0/10);
attn=sqrt(attn);
%******************高斯白信道*****************************************************
[ich4,qch4]=comb(ich3,qch3,attn);
%******************接收部分******************************************************
%******************去除保护间隔********************
[ich5,qch5]=girem(ich4,qch4,fftlen2,gilen,nd);
%******************FFT(离散傅里叶变换)************
rx=ich5+qch5.*i;
ry=fft(rx);
ich6=real(ry);
qch6=imag(ry);
%*****************QPSK解调**************************
ich7=ich6./kmod;
qch7=qch6./kmod;
[demodata]=qpskdemod(ich7,qch7,para,nd,ml);
%**************并串变换***************************
demodata1=reshape(demodata,1,para*nd*ml);
%***************比特误码率(BER)*********************
%instantaneousnumberoferroranddata
noe2=sum(abs(demodata1-seldata));
nod2=length(seldata);
%cumulativethenumberoferroranddatainnoeandnod
noe=noe+noe2;
nod=nod+nod2;
%calculatingPER
ifnoe2~=0
eop=eop+1;
else
eop=eop;
end
eop;
nop=nop+1;
fprintf('%d\t%e\t%d\n',iii,noe2/nod2,eop);
end
%******************结果输出***************************
per=eop/nop;
ber=noe/nod;
fprintf('%f\t%e\t%e\t%d\t\n',ebn0,ber,per,nloop);
fid=fopen('BERofdm.dat','a');
fclose(fid);
%******************endoffile******************************************************