直接扩频系统仿真.docx
《直接扩频系统仿真.docx》由会员分享,可在线阅读,更多相关《直接扩频系统仿真.docx(12页珍藏版)》请在冰豆网上搜索。
直接扩频系统仿真
通信综合
课程设计
课程设计名称:
通信综合课程设计
专业班级:
电信1203班
学生姓名:
吴志功
学号:
201116910312
指导教师:
邢超
课程设计时间:
2016年1月
电子信息工程专业课程设计任务书
学生姓名
吴志功
专业班级
电信1203
学号
201116910312
题目
直接扩频系统的仿真
课题性质
仿真
课题来源
自拟课题
指导教师
邢超
同组姓名
主要内容
专业理论基础能力:
掌握电子信息及通信领域的基本理论和基本知识,具有系统的工程实践学习经历,了解本专业的前沿发展现状和趋势,对新知识、新技术有较敏锐的洞察能力。
本次设计主要是直接扩频系统的仿真,产生M序列,扩频,解扩,加入噪声,观察在不同噪声下抗噪声性能。
任务要求
1.M序列的产生
2.M序列的扩频
3.M序列的解扩
4.观察扩频前、后信号的时域、频域特性
参考文献
1、《MATLAB通信仿真开发手册》国防工业出版社孙屹
2、《现代通信系统分析与仿真-MATLAB通信工具箱》西安电子科技大学出版社李建新
3、《现代通信原理》清华大学出版社曹志刚
4、《通信系统建模与仿真》电子工业出版社刘学勇
审查意见
指导教师签字:
教研室主任签字:
2015年12月30日
说明:
本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页
1需求分析
扩频通信的理论基础是Shannon于1948年发表的《AMathematicalTheoryofCommunication》一文,即著名的信息论。
香农信息论有关信道的理论容量公式为
也称香农定理,式中,C为信道容量,单位为bps;W为信道带宽;S/N为信噪比(DB)。
该式给出了在给定信噪比和没有误码的情况下信道的理论容量C和该信道宽度W的关系。
扩频通信正是利用这一理论,将信道带宽扩展许多倍以换取信噪比上的好处,增强了系统的抗干扰能力。
2设计概要
●扩频通信的分类:
(1).直接序列扩频(DS)
(2).跳频扩频(FH)
(3).跳时扩频(TH)
(4).混合方式
●扩频通信重要参数
处理增益:
干扰容限:
3运行环境
硬件:
计算机
软件:
MATLAB
4开发工具和编程语言
开发工具:
计算机,MATLAB
编程语言:
matlab
5详细设计
一、M序列产生:
function[mout]=mseq(n,taps,inidata,num)
%****************************************************************
%n:
m序列的阶数n
%taps:
反馈寄存器的连接位置
%inidata:
寄存器的初始值序列
%num:
输出的m序列的个数
%mout:
输出的m序列,如果num>1,则每一行为一个m序列
%****************************************************************
ifnargin<4
num=1;
end
mout=zeros(num,2^n-1);
fpos=zeros(n,1);
fpos(taps)=1;
forii=1:
2^n-1
mout(1,ii)=inidata(n);%寄存器的输出值
temp=mod(inidata*fpos,2);%计算反馈数据
inidata(2:
n)=inidata(1:
n-1);%寄存器移位一次
inidata
(1)=temp;%更新第1个寄存器的值
end
ifnum>1%如果要输出多个m序列,生成其他m序列
forii=2:
num
mout(ii,:
)=shift(mout(ii-1,:
),1);
end
end
二.扩频函数
%扩频函数
function[out]=spread(data,code)
%****************************************************************
%data:
输入数据序列
%code:
扩频码序列
%out:
扩频后的输出数据序列
%****************************************************************
switchnargin
case{0,1}%如果输入参数个数不对,提示错误
error('缺少输入参数');
end
[hn,vn]=size(data);
[hc,vc]=size(code);
ifhn>hc%如果扩频码数小于输入的待扩频的数据序列,提示错误
error('缺少扩频码序列');
end
out=zeros(hn,vn*vc);
forii=1:
hn
out(ii,:
)=reshape(code(ii,:
).'*data(ii,:
),1,vn*vc);
end
三.信号解扩
%信号解扩
functionout=despread(data,code)
%****************************************************************
%data:
输入数据序列
%code:
解扩使用的扩频码序列
%out:
解扩后的输出数据序列
%****************************************************************
switchnargin%如果输入参数个数不对,提示错误
case{0,1}
error('缺少输入参数');
end
[hn,vn]=size(data);
[hc,vc]=size(code);
out=zeros(hc,vn/vc);
forii=1:
hc
xx=reshape(data(ii,:
),vc,vn/vc);
out(ii,:
)=code(ii,:
)*xx/vc;
end
四.M序列DS—CDMA在AWGN信道下的性能分析
%m-序列DS-CDMA在AWGN信道下的性能仿真
clearall
user=[147];
seq=1;
forindex=1:
length(user)
ber(index,:
)=dscdma(user(index),seq);
end
EbNo=0:
2:
10;
semilogy(EbNo,ber(1,:
),'-kx',EbNo,ber(2,:
),'-ko',EbNo,ber(3,:
),'-k*');
legend('user=1','user=4','user=7')
title('m序列DS-CDMA在AWGN信道下的性能')
xlabel('信噪比EbNo(dB)')
ylabel('误比特率(BER)')
五.QAM调制程序
function[ber]=dscdma(user,seq)
sr=25600.0
nSymbol=1000;
M=4;
br=sr*log2(M);
graycode=[0132];
EbNo=0:
2:
10;
delay=10;
Fs=8;
rolloff=0.5;
rrcfilter=rcosine(1,Fs,'fir/sqrt',rolloff,delay);
stage=3;
ptap1=[13];
ptap2=[23];
regi1=[111];
regi2=[111];
switchseq
case1
code=mseq(stage,ptap1,regi1,user);
case2
m1=mseq(stage,ptap1,regi1);
m2=mseq(stage,ptap2,regi2);
case3
m1=mseq(stage,ptap1,regi1);
m2=mseq(stage,ptap2,regi2);
end
code=code*2-1;
clen=length(code);
ts=1/Fs/sr/clen;
t=(0:
nSymbol*Fs*clen-1+2*delay*Fs)*ts;
forindx=1:
length(EbNo)
indx
data=randsrc(user,nSymbol,[0:
3]);
data1=graycode(data+1);
data1=qammod(data1,M);
[out]=spread(data1,code);
out1=rcosflt(out.',sr,Fs*sr,'filter',rrcfilter);
spow=sum(abs((out1)).^2)/nSymbol;
ifuser>1
out1=sum(out1.');
else
out1=out1.';
end
sigma=sqrt(0.5*spow*sr/br*10^(-EbNo(indx)/10));
y=[];
forii=1:
user
y(ii,:
)=out1+sigma(ii).*(randn(1,length(out1))+j*randn(1,length(out1)));
end
y=rcosflt(y.',sr,Fs*sr,'Fs/filter',rrcfilter);
y=downsample(y,Fs);
forii=1:
user
y1(:
ii)=y(2*delay+1:
end-2*delay,ii);
end
yd=despread(y1.',code);
demodata=qamdemod(yd,M);
demodata=graycode(demodata+1);
[err,ber(indx)]=biterr(data,demodata,log2(M));
end
6调试分析
●关键是弄懂扩频系统h的理论框架,依照各个步骤的数学表达
式,按照课程题目的要求,合理设计各项参数。
●熟练使用MATLAB软件的基本操作等
7测试结果
图3:
m序列DS-CDMA在AWGN信道下的性能
8.参考文献
[1]《MATLAB通信仿真开发手册》国防工业出版社孙屹
[2]《现代通信系统分析与仿真-MATLAB通信工具箱》 西安电子科技大学出版社李建新
[3]《现代通信原理》清华大学出版社曹志刚
[4]《通信原理》国防工业出版社 樊昌信、曹丽娜
[5]《信号与线性系统分析》高等教育出版社吴大正
[6]《通信系统建模与仿真》电子工业出版社刘学勇
[7]《通信原理》清华大学出版社李晓峰、周宁、周亮
9.心得体会
几天学习实践下来,遇到了诸多意想不到的难题,特别是软件MATLAB功能如此强大!
简直就是学无止境,经过上网查阅资料,咨询同学老师等,最终问题都一一得到了解决。
遇到难题时冷静分析沉着应对,然后在讨论中不断摸索前行,回顾本次试验,我们收获了很多很多,个人能力也逐步在实践中得以提高,最后真诚感谢邢超老师为我们提供这样一个学习和锻炼的机会,让我们在一次一次失败之后,一步一步走向成功!
由于通信原理是一门很特殊的学科,加之时间有限,另外因为所学知识的限制,本次实验只能算是入门的“皮毛”,而且还有不少方面存在缺陷。
这些问题将在以后进一步予以研究和解决。
最后,在文章中出现的不足之处,希望得到老师们的包含和指点。
信息科学与工程学院课程设计成绩评价表
课程名称:
通信综合课程设计
设计题目:
直接扩频系统仿真
专业:
电子信息工程班级:
电信1203姓名:
吴志功学号:
201116910312
序号
评审项目
分数
满分标准说明
1
内容
思路清晰;语言表达准确,概念清楚,论点正确;实验方法科学,分析归纳合理;结论严谨,设计有应用价值。
任务饱满,做了大量的工作。
(20分)
2
创新
内容新颖,题目能反映新技术,对前人工作有改进或突破,或有独特见解(10分)
3
完整性、实用性
整体构思合理,理论依据充分,设计完整,实用性强(10分)
4
数据准确、可靠
数据准确,公式推导正确(10分)
5
规范性
设计格式、绘图、图纸、实验数据、标准的运用等符合有关标准和规定(10分)
6
纪律性
能很好的遵守各项纪律,设计过程认真(20分)
7
答辩
准备工作充分,回答问题有理论依据,基本概念清楚。
主要问题回答简明准确。
在规定的时间内作完报告(20分)
总分
综
合
意
见
该生对设计内容有点生疏,实验方法科学,设计基本完整,基本完成设计任务。
综合评定成绩为:
及格
指导教师2016年1月12日