欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    CDMA通信系统仿真.doc

    • 资源ID:60906805       资源大小:90KB        全文页数:10页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    CDMA通信系统仿真.doc

    扩频通信仿真1. 设计思想为了研究CDMA 通信系统的多址干扰,实验利用Matlab 提供的m语言编写了m文件来建立CDMA 通信系统仿真模型,详细讲述各模块的设计及参数设置,并对仿真结果进行分析。结果表明,多址干扰是CDMA 系统的固有干扰,当同时通信的用户数增多时,多址干扰电平增大,导致系统的误码率也增大。因此,多址干扰是CDMA 通信系统本身存在的自我干扰,它限制了蜂窝系统的通信容量。实验讨论的CDMA通信系统的仿真,采用的是直扩方式,信息没有经过调制,伪随机码采用的是63位GOLD序列,仿真框图如图1所示。本课程的目的是熟悉CDMA通信系统的构架,了解m序列和gold码的软件实现, 以及用gold序列实现扩频和解扩,最后了解整个系统的误比特率与哪些因素有关。2. 程序设计流程图Gold码程序流程图初始化2个m序列本原多项式初始化移位寄存器序列产生2个m序列2个m序列模2相加结束开始M码程序流程图初始化m序列本原多项式初始化移位寄存器序列寄存器反馈值模2加移位寄存器高位移出循环满63次?结束开始移位寄存器右移一位模2加后的数值赋值给寄存器低位No开始输入用户数及相关参数产生码长为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 。3. 实验结果分析误比特率的比较:在不同的信噪比下,不同用户数的不同的信噪比时的误码率比较如图4.1,4.2,4.3所示。从图中可以看到,在一定的信噪比条件下,随着用户数的增加,误比特率也随之增加。在用户数一定时,误比特率随着信噪比的增加而减少。还有就是schur算法和解相关算法性能相近。硬判决算法的性能较差。用解 toeplitz矩阵的方法感觉性能有些不是很稳定。图4.1:信噪比SNR3dB图4.2:信噪比SNR5dB图4.3:信噪比SNR7dB4. 源程序% B 是用户输入的原始的数据流% X 是经过扩频,传输,解扩后得到的信号clc;clear;K=30;%K表示用户数%.产生K个用户的扩频码.pntaps1=1 0 0 0 0 1; %第一组反馈线的状态c1-cnpntaps2=1 1 0 0 1 1; %第二组反馈线的状态c1-cnpninitial=0 0 0 0 0 1;%寄存器的初始状态for i=1:K feedback=rem(pninitial*pntaps1'),2); pninitial=feedback,pninitial(1,1:length(pntaps1)-1); C(i,:)= goldPN(pntaps1,pntaps2,pninitial);%C表示扩频码,大小为K*N的矩阵end;N=2length(pntaps1)-1;%N表示扩频码的长度M=1000;%M表示每个用户输入的数据流的长度B=2*randint(K,M)-ones(K,M);%B是K个用户数据流,每个用户的数据长度是N%.扩频,得到发送端信号A.方法一:扩频for k=1:M for i=1:N A1=0; for j=1:K A1=A1+B(j,k).*C(j,i); end A(i,k)=A1;%A表示发送端输出信号,大小是N*M endend;方法二:扩频A=zeros(1,M*N); for i=1:K for j=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上(共用信道) end endA=reshape(A,N,M);%.同步条件下.%加入高斯噪声后的结果%noise-power=10*log10(N)-SNR;SNR=5;D=awgn(A,SNR,'measured');b=C*D;R0=C*C'%.方法一:用schur算法.for i=1:M X(:,i)= schur1(R0,b(:,i);enderrors=CountError(X,B,K,M);users=1:K;semilogy(users,errors/(K*M),'r-*');% %.%.方法二:解相关,就是求R逆.for i=1:MX(:,i)=inv(R0)*b(:,i);%解相关,就是求R逆enderrors=CountError(X,B,K,M);users=1:K;semilogy(users,errors/(K*M),'b-');% %.%.方法三:用TOEPLZ矩阵求解.for i=1:M X(:,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);hold off;%.产生gold平衡码,.% 要求输入一对优选对,pntaps1,pntaps2,即m本原多项式系数,% 然后将产生的两个m序列模2相加,即可得到gold码function golddata=goldPN(pntaps1,pntaps2,pninitial)% pntaps1=1 1 0 1 1;%反馈线的状态c1-cn%pninitial=zeros(1,length(pntaps1)-1),1;%寄存器的初始状态N=2length(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序列,若本原多项式为X6+X+1;% pntaps=1 0 0 0 0 1;%反馈线的状态c1-cn% pninitial=0 0 0 0 0 1;%寄存器的初始状态N=length(pntaps);%寄存器的个数pndata=zeros(1,2N-1);%寄存器输出向量pnregister=pninitial;n=0;kk=0;while kk = 0 n=n+1; pndata(1,n)=pnregister(1,N); feedback=rem(pnregister*pntaps'),2);%计算反馈值,对应反馈系数为0 pnregister=feedback,pnregister(1,1:N-1); if pnregister=pninitial; kk=1; endend

    注意事项

    本文(CDMA通信系统仿真.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开