基于MATLAB的扩频通信系统及同步性能仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB的扩频通信系统及同步性能仿
真
功能描述(对系统要实现的功能进行描述)
完成一个扩频通信系统设计,要求能够随机产生三组用户数据,分别对其进行扩频,BPSK调制,将多个用户的数据叠加在一起通过多径信道到达接收端,接收端进行相应的解扩,解调得到三组用户数据。
三、概要设计(根据功能描述,建立系统的体系结构,即将整个系统分解成若干子功能模块,
并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能。)整个设计由发送端、信道和接收机三个部分组成。
发送端首先产生三组用户数据和三组不同的m序列,并用三组m序列分别对用户信息进行扩频。再将扩频信号与载波进行BPSK调制,得到高频的已调调信号并将其送入无线的多径信道。
信道模拟成无线的多径多用户信道,在这个信道中有三个用户进行数据传输,每个用户的数据分别通过三径传输到达接收端。三径会有不同的延时,衰减。最终,还要将三径用户数据增加高斯白噪声。接收端会接收到有燥的三径信息的叠加。首先,要对接收到的三径信息进行解扩,分离出三组用户信息;其次,在将解扩后的信息进行带通滤波去除带外噪声;最后,分别对三组用户信息进行解调得到原始数据,在对接收到的数据进行误码率统计,得出系统的性能指标。
四、详细设计(详细说明各功能模块的实现过程,包括用流程图对算法进行描述,所用到的数
据结构等)
本设计进行了模块化设计,对各个功能模块分别编写函数,最终在主函数中调用各
个功能模块,实现整个系统的设计。
1、扩频码(m序列)的产生扩频码为伪随机码,可以m序列,Golden 序列或沃尔什序列。本设计中采用m序列,为了节省运算量,我选取了32位的扩频序列,经过计算易知要产生32位的m序列需要长度为6的反馈系数,为了得到较好的结果,选取了自相关性较好而互相关性较差的三组反馈系数(八进制)45、67、75,其对应的二进制为100101、110111、111101。并将二进制与移位寄存器级数对应,例如反馈系数移100101得到的移位寄存器为C5=1,C4=0,C3=0,C2=1,C1=0,C0=1function m=mSequence(b)
%函数用于产生m序列,b为反馈系数,m为相应于b的m序列n=length(b);k=b(2:n);
a=ones(1,n-1);m=[];
for i=1:(2^(n-1)-1)m=[m,a(n-1)];temp=sum(a.*k);if(mod(temp,2 )==0)temp=0;else temp=1;end
for i=n-1:-1:2a(i)=a(i-1);end
a(1)=temp;end m=[m,0];m=m*2-1;end
2、扩频
扩频的主要思想是每一位数据位都扩展成长度为m序列长的信息,其具体做法是将数据信息中的‘1’用m序列代替,而对于‘0’用-m 序列代替,这样对每一个数据位都进行扩展就实现了对原始数据的扩频。