CDMA通信系统仿真_第1页
CDMA通信系统仿真_第2页
CDMA通信系统仿真_第3页
CDMA通信系统仿真_第4页
CDMA通信系统仿真_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE7扩频通信仿真设计思想为了研究CDMA通信系统的多址干扰,实验利用Matlab提供的m语言编写了m文件来建立CDMA通信系统仿真模型,详细讲述各模块的设计及参数设置,并对仿真结果进行分析。结果表明,多址干扰是CDMA系统的固有干扰,当同时通信的用户数增多时,多址干扰电平增大,导致系统的误码率也增大。因此,多址干扰是CDMA通信系统本身存在的自我干扰,它限制了蜂窝系统的通信容量。实验讨论的CDMA通信系统的仿真,采用的是直扩方式,信息没有经过调制,伪随机码采用的是63位GOLD序列,仿真框图如图1所示。本课程的目的是熟悉CDMA通信系统的构架,了解m序列和gold码的软件实现,以及用gold序列实现扩频和解扩,最后了解整个系统的误比特率与哪些因素有关。

程序设计流程图Gold码程序流程图初始化2个m序列本原多项式初始化2个m序列本原多项式初始化移位寄存器序列产生2个m序列2个m序列模2相加结束开始M码程序流程图初始化m序列本原多项式初始化m序列本原多项式初始化移位寄存器序列寄存器反馈值模2加移位寄存器高位移出循环满63次?结束开始移位寄存器右移一位模2加后的数值赋值给寄存器低位NoNo开始输入用户数及相关参数产生码长为63的gold序列随机输入窗口大小M的用户发射序列bi,i=1,2,…M发送处理加入高斯噪声,获得到达接收端信号DN×1设计匹配滤波器的输出YK×1×1×建立线性方程组求解发送比特处理完?计算接收用户信号的相关矩阵RK×K计算误比特率输出结果结束主程序流程图

3.仿真环境本文讨论的CDMA通信系统的仿真是用MATLAB7.0模拟实现的,即数据流仿真模式,用MATLAB编程来实现对CDMA系统的模拟。仿真实验中选择了一组长度为63的gold码序列作为扩频序列,并假设在理想功率控制下,即接收到的所有用户的信号能量相等。整个仿真系统实现过程如下:1)信源采用randint函数产生的+1、-1来代替实际的数字信号。实际的数字信号应该是模拟信号(如语音信号)经量化和压缩编码得到的二进制信号,其特点是二值性和随机性。信源速率设置为10b/s。2)扩频与解扩利用自编的m函数和gold函数,产生gold码伪随机序列来达到扩频和多址接入效果。扩频的运算是信息流与gold码相乘或模二加的过程。解扩的过程与扩频过程完全相同,即将接收的信号用gold码进行第二次扩频处理。要求使用的gold码与发送端扩频用gold码不仅码字相同,而且相位相同。否则会使有用信号自身相互抵消。解扩处理将信号压缩到信号频带内,由宽带信号恢复为窄带信号。同时将干扰信号扩展,降低干扰信号的谱密度,使之进入到信息频带内的功率下降,从而使系统获得处理增益,提高系统的抗干扰能力。3)信道采用加性高斯白噪声模块,均值设置为0,方差设置为1。实验结果分析误比特率的比较:在不同的信噪比下,不同用户数的不同的信噪比时的误码率比较如图4.1,4.2,4.3所示。从图中可以看到,在一定的信噪比条件下,随着用户数的增加,误比特率也随之增加。在用户数一定时,误比特率随着信噪比的增加而减少。还有就是schur算法和解相关算法性能相近。硬判决算法的性能较差。用解toeplitz矩阵的方法感觉性能有些不是很稳定。图4.1:信噪比SNR=3dB图4.2:信噪比SNR=5dB图4.3:信噪比SNR=7dB

源程序%B是用户输入的原始的数据流%X是经过扩频,传输,解扩后得到的信号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,:)=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表示发送端输出信号,大小是N*Mendend;方法二:扩频A=zeros(1,M*N);fori=1:Kforj=1:M;A((j-1)*N+1:j*N)=B(i,j)*C(i,:)+A((j-1)*N+1:j*N);%每个用户的m*N扩频结果都累加到同一m*N上(共用信道)endendA=reshape(A,N,M);%同步条件下%加入高斯噪声后的结果%noise-power=10*log10(N)-SNR;SNR=5;D=awgn(A,SNR,'measured');b=C*D;R0=C*C';%方法一:用schur算法fori=1:MX(:,i)=schur1(R0,b(:,i));enderrors=CountError(X,B,K,M);users=1:K;semilogy(users,errors/(K*M),'r-*');%%%方法二:解相关,就是求R逆fori=1:MX(:,i)=inv(R0)*b(:,i);%解相关,就是求R逆enderrors=CountError(X,B,K,M);users=1:K;semilogy(users,errors/(K*M),'b-^');%%%方法三:用TOEPLZ矩阵求解fori=1:MX(:,i)=toeplz(R0,b(:,i));enderrors=CountError(X,B,K,M);users=1:K;semilogy(users,errors/(K*M),'b-o');%%方法四:只有硬判决X=b;errors=CountError(X,B,K,M);%endusers=1:K;semilogy(users,errors/(K*M),'b-+');title('信噪比一定时,用户数和误码率的关系');xlabel('用户数K');ylabel('误比特率BER');legend('schur','解相关','toeplitz','硬判决',4);holdoff;%产生gold平衡码,%要求输入一对优选对,pntaps1,pntaps2,即m本原多项式系数,%然后将产生的两个m序列模2相加,即可得到gold码function[golddata]=goldPN(pntaps1,pntaps2,pninitial)%pntaps1=[11011];%反馈线的状态c1-cn%pninitial=[zeros(1,length(pntaps1)-1),1];%寄存器的初始状态N=2^length(pntaps1)-1;%N表示扩频码的长度feedback=rem((pninitial*pntaps1'),2);pninitial=[feedback,pninitial(1,1:length(pntaps1)-1)];sqn1=mPN(pntaps1,pninitial);%sqn1表示扩频码,大小为N*N的矩阵pninitial2=[zeros(1,length(pntaps1)-1),1];sqn2=mPN(pntaps2,pninitial2);%C表示扩频码,大小为1*N的矩阵golddata=2*rem((sqn1+sqn2),2)-1;%产生m序列…function[pndata]=mPN(pntaps,pninitial)%产生M序列,若本原多项式为X^6+X+1;%pntaps=[100001];%反馈线的状态c1-cn%pninitial=[000001];%寄存器的初始状态N=length(pntaps);%寄存器的个数pndata=zeros(1,2^N-1);%寄存器输出向量pnregister=pninitial;n=0;kk=0;whilekk==0n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论