资源描述:
《cdma通信系统仿真new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、扩频通信仿真1.设计思想为了研究CDMA通信系统的多址干扰,实验利用Matlab提供的m语言编写了m文件来建立CDMA通信系统仿真模型,详细讲述各模块的设计及参数设置,并对仿真结果进行分析。结果表明,多址干扰是CDMA系统的固有干扰,当同时通信的用户数增多时,多址干扰电平增大,导致系统的误码率也增大。因此,多址干扰是CDMA通信系统本身存在的自我干扰,它限制了蜂窝系统的通信容量。实验讨论的CDMA通信系统的仿真,采用的是直扩方式,信息没有经过调制,伪随机码采用的是63位GOLD序列,仿真框图如图1所示。本课程的目的是熟悉CDMA通信系统的构架,了解m序列和
2、gold码的软件实现,以及用gold序列实现扩频和解扩,最后了解整个系统的误比特率与哪些因素有关。771.程序设计流程图Gold码程序流程图初始化2个m序列本原多项式初始化移位寄存器序列产生2个m序列2个m序列模2相加结束开始M码程序流程图初始化m序列本原多项式初始化移位寄存器序列寄存器反馈值模2加移位寄存器高位移出循环满63次?结束开始移位寄存器右移一位模2加后的数值赋值给寄存器低位7No开始输入用户数及相关参数产生码长为63的gold序列随机输入窗口大小M的用户发射序列bi,i=1,2,…M发送处理加入高斯噪声,获得到达接收端信号DN×1设计匹配滤波器
3、的输出YK×1×1×建立线性方程组求解发送比特处理完?计算接收用户信号的相关矩阵RK×K计算误比特率输出结果结束主程序流程图7773.仿真环境本文讨论的CDMA通信系统的仿真是用MATLAB7.0模拟实现的,即数据流仿真模式,用MATLAB编程来实现对CDMA系统的模拟。仿真实验中选择了一组长度为63的gold码序列作为扩频序列,并假设在理想功率控制下,即接收到的所有用户的信号能量相等。整个仿真系统实现过程如下:1)信源 采用randint函数产生的+1、-1来代替实际的数字信号。实际的数字信号应该是模拟信号(如语音信号)经量化和压缩编码得到的二进制信号,
4、其特点是二值性和随机性。信源速率设置为10b/s。2)扩频与解扩 利用自编的m函数和gold函数,产生gold码伪随机序列来达到扩频和多址接入效果。扩频的运算是信息流与gold码相乘或模二加的过程。解扩的过程与扩频过程完全相同,即将接收的信号用gold码进行第二次扩频处理。要求使用的gold码与发送端扩频用gold码不仅码字相同,而且相位相同。否则会使有用信号自身相互抵消。解扩处理将信号压缩到信号频带内,由宽带信号恢复为窄带信号。同时将干扰信号扩展,降低干扰信号的谱密度,使之进入到信息频带内的功率下降,从而使系统获得处理增益,提高系统的抗干扰能力。3)信道
5、 采用加性高斯白噪声模块,均值设置为0,方差设置为1。1.实验结果分析误比特率的比较:在不同的信噪比下,不同用户数的不同的信噪比时的误码率比较如图4.1,4.2,4.3所示。从图中可以看到,在一定的信噪比条件下,随着用户数的增加,误比特率也随之增加。在用户数一定时,误比特率随着信噪比的增加而减少。还有就是schur算法和解相关算法性能相近。硬判决算法的性能较差。用解toeplitz矩阵的方法感觉性能有些不是很稳定。7图4.1:信噪比SNR=3dB图4.2:信噪比SNR=5dB7图4.3:信噪比SNR=7dB771.源程序%B是用户输入的原始的数据流%X是经
6、过扩频,传输,解扩后得到的信号clc;clear;K=30;%K表示用户数%..................产生K个用户的扩频码.................pntaps1=[100001];%第一组反馈线的状态c1-cnpntaps2=[110011];%第二组反馈线的状态c1-cnpninitial=[000001];%寄存器的初始状态fori=1:Kfeedback=rem((pninitial*pntaps1'),2);pninitial=[feedback,pninitial(1,1:length(pntaps1)-1)];C(i,:)=
7、goldPN(pntaps1,pntaps2,pninitial);%C表示扩频码,大小为K*N的矩阵end;N=2^length(pntaps1)-1;%N表示扩频码的长度M=1000;%M表示每个用户输入的数据流的长度B=2*randint(K,M)-ones(K,M);%B是K个用户数据流,每个用户的数据长度是N%.................扩频,得到发送端信号A..................方法一:扩频fork=1:Mfori=1:NA1=0;forj=1:KA1=A1+B(j,k).*C(j,i);endA(i,k)=A1;%A表示发
8、送端输出信号,大小是N*Mendend;方法二:扩频A=zeros