信息科学与工程学院综合性设计性实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆交通大学信息科学与工程学院
综合性设计性实验报告
专业:通信工程专业11级
学号:0204
姓名:何国焕
实验所属课程:宽带无线接入技术
实验室(中心):软件与通信实验中心
指导教师:吴仕勋
一、题目
OFDM系统的CFO估计技术
二、仿真要求
要求一:OFDM系统的数据传输
①传输的数据随机产生;
②调制方式采用16QAM;
要求二:要求对BER的性能仿真
设计仿真方案,比较两个CFO的性能(基于CP与基于训练符号Moose),并画出不同SNR下的两种估计技术的均方差(MSE)性能。
三、仿真方案详细设计
1、首先OFDM技术的基本思想和现状了解。认真学习OFDM技术的基本原理,包括OFDM系统的FFT实现、OFDM系统模型、OFDM信号的调制与解调、OFDM信号的正交性原理,根据PPT及网上查阅资料加以学习。其次,了
解OFDM的系统性能,包括OFDM系统的同步技术及训练序列等。
2、同步技术:接收机正常工作以前,OFDM系统至少要完成两类同步任务:
①时域同步,要求OFDM系统确定符号边界,并且提取出最佳的采样时钟,从而减小载波干扰(ICI)和码间干扰(ISI)造成的影响。
②频域同步,要求系统估计和校正接收信号的载波偏移。在OFDM系统中,N个符号的并行传输会使符号的延续时间更长,因此它对时间的偏差不敏感。对于无线通信来说,无线信道存在时变性,在传输中存在的频率偏移会使OFDM 系统子载波之间的正交性遭到破坏。
3、载波频率的偏移会使子信道之间产生干扰。OFDM系统的输出信号是多个相互覆盖的子信道的叠加,它们之间的正交性有严格的要求。无线信道时变性的一种具体体现就是多普勒频移引起的CFO,从频域上看,信号失真会随发送信道的多普勒扩展的增加而加剧。因此对于要求子载波严格同步的OFDM 系统来说,载波的频率偏移所带来的影响会更加严重,如果不采取措施对这种信道间干扰(ICI)加以克服,系统的性能很难得到改善。
OFDM系统发射端的基本原理图OFDM信号频谱
4、训练序列和导频及信道估计技术
接收端使用差分检测时不需要信道估计,但仍需要一些导频信号提供初始的相位参考,差分检测可以降低系统的复杂度和导频的数量,但却损失了信噪
比。尤其是在OFDM系统中,系统对频偏比较敏感,所以一般使用相干检测。在系统采用相干检测时要进行信道估计。就要用训练序列和导频作为辅助信息,训练序列通常用在非时变信道中,在时变信道中一般使用导频信号。在OFDM 系统中,导频信号是时频二维的。为了提高估计的精度,可以插入连续导频和分散导频,导频的数量是估计精度和系统复杂的折衷。导频信号之间的间隔取决于信道的相干时间和相干带宽,在时域上,导频的间隔应小于相干时间;在频域上,导频的间隔应小于相干带宽。在实际应用中,导频模式的设计要根据具体情况而定。
四、仿真结果及结论
Nfft=1024
五、总结与体会
总结:OFDM技术的优点是其它调制方式无法替代的。OFDM技术作为一种高效的调制技术,它的优势将决定OFDM成为第四代移动通信系统的关键技术之一,它的性能直接影响到未来移动通信的通信质量,对OFDM的研究具有重大的现实意义。OFDM是一种能够对抗由多径衰落信道造成的符号间干扰的有效技术,可以在频率选择性衰落信道中实现高速率的无线通信。由于过程中会带来很大的频偏,所以,我们采取了训练符号进行信道估计,得到尽可能大的传输效率。
体会:经过本次实验,我从编程过程中重新领会了OFDM系统的工作原理,以及它所采用的训练符号和保护间隔的重要作用,但是实验结果还不是很理想,由于自己能力有限,没能完善实验代码。只能在有关论文中不断学习了解相关知识,通过自己在课外对相关论文的学习后觉得对着门技术有了新的认识,心中的迷惑渐渐明朗了起来。譬如,当时上课就不知道插入CP作用和它如何实现工作,而试验中在和老师及同学的教导下了解到了它是如何消除码间干扰的。试验还是差了一步,就是没能实现误码率的计算,并输出做一比较。
六、主要仿真代码
clear all;
clc;
CFO=0.1;
Nfft=256;%子载波个数
Nbps=4;
M=2^Nbps;%每个码符号的比特数(映射方式为16QAM)
Ng=Nfft/4;%加入的保护间隔
Nofdm=Nfft+Ng;
Nsym=3;
rand('state',0);randn('state',0);
x=[];%传输信号
for m=1:Nsym
msgint=randint(1,Nfft,M);
if m<=2
Xp=add_pilot(zeros(1,Nfft),Nfft,4);
Xf=Xp;
else
Xf=qammod(msgint,M);%映射
end
xt=ifft(Xf,Nfft);%傅立叶反变换
x_sym=[xt(end-Ng+1:end),xt];%添加CP
x=[x,x_sym];
end
y=x;%没有信道影响
SNRdBs=0:3:30;Maxlter=100;
for i=1:length(SNRdBs)
SNRdB=SNRdBs(i);
MSE_CFO_cp=0;MSE_CFO_Moose=0;
y_CFO=add_CFO(y,CFO,Nfft);%添加CFO
for iter=1:Maxlter
y_aw=awgn(y_CFO,SNRdB,'measured');%添加噪声
CFO_est_cp=CFO_cp(y_aw,Nfft,Ng);%基带CP
MSE_CFO_cp=MSE_CFO_cp+(CFO_est_cp-CFO)^2;
CFO_est_Moose=CFO_Moose(y_aw,Nfft,Ng);%Moose
MSE_CFO_Moose=MSE_CFO_Moose+(CFO_est_Moose-CFO)^2;
end
MSE_cp(i)=MSE_CFO_cp/Maxlter;
MSE_Moose(i)=MSE_CFO_Moose/Maxlter;
end
semilogy(SNRdBs,MSE_cp,'-',SNRdBs,MSE_Moose,'-x');
Xlabel('SNR[dB]');Ylabel('MSE');title('CFO estimation'); legend('cp','Moose');