基于MATLAB的扩频通信系统及同步性能仿真

更新时间:2023-10-11 20:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于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:2 a(i)=a(i-1); end a(1)=temp; end m=[m,0]; m=m*2-1; end

2、扩频

扩频的主要思想是每一位数据位都扩展成长度为m序列长的信息,其具体做法是将数据信息中的‘1’用m序列代替,而对于‘0’用-m序列代替,这样对每一个数据位都进行扩展就实现了对原始数据的扩频。

本文来源:https://www.bwwdw.com/article/zrnf.html

Top