- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于matlab的OFDM信号调制和多径传输仿真
OFDM信号的调制
OFDM系统实现的基本步骤为:首先是对待发送的序列进行串并转换,然后进行映射,再对其进行IFFT,即为OFDM信号的调制,加入循环前缀,然后发送。接收端接收到信号首先去掉循环前缀,然后进行FFT,即为OFDM信号的解调,然后在进行并串转换,最后进行判决得到接收序列。
产生发送序列:可以通过matlab的round(rand(1,N))命令来产生一个随机的发送序列。
串并转换:通过matlab的reshape命令进行串并转换,需要注意的是转换后的结果是以列为单位的,不是以行为单位的。
16QAM调制:一般可以用QPSK、M-QAM等调制方式,本次试验使用16QAM调制方式。在实验中利用所编的qam.m(自己编的)子函数来进行16QAM调制。
调制:OFDM信号的调制是利用IFFT来实现的,注意使用matlab的IFFT命令时,是对矩阵的列向量进行变换,而不是对行向量进行变换,这样经过变换后每一行的元素的频率就是一样的,而正好每一行频率都是正交的,而每一行是属于同一个子载波。
加入循环前缀:将IFFT变换后的后面gl个元素复制到前面,作为循环前缀,这样能抵抗由于多径时延引起的码间干扰的影响,如果循环前缀的长度大于最大时延扩展,则在理论上说能完全消除码间干扰的影响。
并串转换后送入信道进行传输,信号在信道中会产生多径、频偏、相偏等现象。
接收端进行串并转换(同(2));
去循环前缀;
FFT:去循环前缀之后的信号进行FFT,使用matlab的FFT命令;
信道估计:在此实验中是利用多径时延信道进行信息传送的,因此信号在信道中传输的过程中会出现多径时延,多普勒频移等现象,所以接收到的信号会产生严重的失真,但是如果我们知道信道对信号的影响,在接收端对信号进行恢复,从而减弱甚至抵消信道对信号的影响。本实验中使用基于LS算法的信道估计。
16QAM解调:在实验中利用deqam.m(自己编的)子函数进行16QAM解调。
仿真结果
产生的发送序列:随机产生的0—1序列,总数为25600个,此处只画出它的前50个值;
图1
经过符号的星座映射后产生的星座图:该实验中使用16QAM进行数字调制;
图2
发送信号:
图3
接收信号:信号在信道中传输,不仅会受到噪声的影响,还会产生多径时延、多普勒频移等现象,所以信号会出现严重的失真;
图4
信道估计后信号的星座图:
图5
图6
接收序列:所得的接收序列应该也是一个长度为25600的0—1序列,此处只画出它的前50个值;
图7
多径时延信道对信号的一个重要影响就是会使信号产生多径时延,如图8、9、10分别列出了最大时延为16、33和41个数据单位时信道估计后的信号的矢量图;
图8
图9
图10
从图8、9、10可以看出,随着最大时延的增大,信道估计后的信号的矢量图的离散性越来越大。所以说最大时延和误码率有关。
图11
以上所涉及的都是4-path Rayleigh Fading channel,下图是多径的条数和系统误码率的关系;
图12
从图12可以看出,在相同的信噪比下,随着信道多径条数的增大,系统的误码率也随之增大。当信道多径的条数一定时,系统的误码率随着信噪比的增大而减小。
下面分析系统误码率和信噪比的关系(以多径条数为4为例)
图13、14和15分别给出了当系统的信噪比为20,15,10dB时,信道估计后的信号的矢量图;
图13
图14
图15
从图13、14、15可以看出,随着系统信噪比的减小,信道估计后的信号与发送信号的区别越来越大。下图为基于4-path Rayleigh Fading channel的系统的信噪比和误码率的关系;
图16
附:本次实验用到的程序
clc;
clear all;
rand('state',4);
SNR=15;%信噪比取值,单位为db
fl=128;%fft的长度
Ns=50;%设置一个帧结构中OFDM信号的个数
para=128;%设置并行传输的子载波个数
sr=250000;%设置符号速率
br=sr*2;%设置每个子载波的比特率
gl=32;%设置保护时隙的长度
an=[1,0.7,0.3,0.5];%每条多径的幅度增益
% tn=[0,1,2,3];%每条路径的相对时延,单位为us
wn=rand(1,4).*10;%每条路径的多普勒频移
% an=rand(1,4)*2;
tn=fix(rand(1,4)*0);
% wn=round(rand(1,4)*10);
sita=rand(1,4).*2*pi;%设置相偏
%************信源发生器****************************************
signal=round(rand(1,pa
文档评论(0)