- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重庆交通大学信息科学与工程学院
综合性设计性实验报告
业:
学 号:
姓 名:
实验所属课程: 移动通信原理与应用
实验室(中心):
指 导 教 师 :
2014年月
教师评阅意见:
签名: 年 月 日 实验成绩:
一、题目
二、仿真要求三、仿真方案详细设计
由上图可以看出,整个设计由发送端、信道和接收机三个部分组成。?
①发射机原理
发送端首先产生三组用户数据和三组不同的m序列,并用三组m序列分别对用户信息进行扩频。再将扩频信号与载波进行DPSK调制,得到高频的已调调信号并将其送入无线的多径信道。
②无线信道
信道模拟成无线的多径多用户信道,在这个信道中有三个用户进行数据传输,每个用户的数据分别通过三径传输到达接收端。三径会有不同的延时,衰减。最终,还要将三径用户数据增加高斯白噪声。
③接收机原理
接收端会接收到有燥的三径信息的叠加。首先,要对接收到的三径信息进行解扩,分离出三组用户信息;其次,在将解扩后的信息进行带通滤波去除带外噪声;最后,分别对三组用户信息进行解调得到原始数据,在对接收到的数据进行误码率统计,得出系统的性能指标。
(2)功能模块的详细设计
①扩频码(m序列)的产生
扩频码为伪随机码,可以m序列、Golden序列。本设计采用自相关特性好,互相关特性较差的m序列,为了节省运算量,我选取了周期为63扩频序列,经过计算易知要产生周期为63的m序列需要长度为6的反馈系数,经过查找资料得出三组反馈系数(八进制)45、67、75,其对应的二进制为1000011、1100111、1101101。并将二进制与移位寄存器级数对应,以1000011为例,设初始化各寄存器单元内容为1,其具体的寄存器结构图如下所示:
产生m序列的matlab程序如下:?
%m序列的产生,s为初始状态,抽头系数为(1000011)2
function PN=mseq(s)
N=length(s);
c=[];
D=s;
for i=1:2^N-1
c1=rem(D(N)+D(N-1),2);
c=[c,D(N)];
D=[c1,D(1:N-1)];
end
c=c*2-1;%变为1,-1的序列?
PN=c;
end
②扩频?
扩频的主要思想是每一位数据位都扩展成长度为m序列长的信息,其具体做法是将数据信息中的‘1’用m序列代替,而对于‘-1’用-m序列代替,这样对每一个数据位都进行扩展就实现了对原始数据的扩频。其结构框图如下:
扩频仿真代码如下:
%扩频
function expandsignal=expand(signal,PN)
expand=[];
for i=1:length(signal)
if signal(i)==1
expand=[expand,PN];
else
expand=[expand,-1*PN];
end
end
expandsignal=expand;%扩频后的序列
end
③多径信道的仿真
对多径信道的仿真主要通过对不同用户产生的数据经三径进行传输,每一径信号又有三个用户数据叠加而成,并且每一径信号具有不同的延迟和衰减。最后在信道的另一端三径信号进行叠加并对其加燥。
多径信道仿真代码如下:
function multiS=channels(modusignal,k)
a=length(modusignal);
signal1=[0,modusignal];
signal2=[0,0,modusignal];
signal3=[0,0,0,modusignal];
r1=0.01*abs(randn(1,a)+j*randn(1,a));
r2=0.1*abs(randn(1,a+1)+j*randn(1,a+1));
r3=0.2*abs(randn(1,a+2)+j*randn(1,a+2));
r4=0.5*abs(randn(1,a+3)+j*randn(1,a+3));
if k==2
r=[modusignal.*r1,0,0,0]+[signal1.*r2,0,0];
end
if k==3
r=[modusignal.*r1,0,0,0]+[signal1.*r2,0,0]+[signal2.*r3,0];
end
if k==4
r=[modusignal.*r1,0,0,0]+[signal1.*r2,0,0]+[si
文档评论(0)