2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > walsh64码 matlab 实验7 Walsh码及单用户CDMA系统直接序列扩频仿真

walsh64码 matlab 实验7 Walsh码及单用户CDMA系统直接序列扩频仿真

时间:2020-04-15 00:47:33

相关推荐

walsh64码 matlab 实验7 Walsh码及单用户CDMA系统直接序列扩频仿真

课程实验报告

课 程 3G移动通信实验

Walsh码及CDMA系统直接序列扩

频仿真 实验名称

学 院 专 业 班 级 学 号 学生姓名

通信工程 通信工程 13083414 13081403 李倩

【实验目的】

? 加深对CDMA扩频系统的理解;

? 能够使用Matlab语言完成简化的CDMA直接序列扩频系统仿真和分析;

【实验内容】

? 使用Matlab语言完成扩频系统仿真; ? 分析误比特率;

【实验设备】

? 一台PC 机

【实验步骤】

1 产生Walsh 64序列,观察其自相关和互相关特性 2生成二进制信息码的波形图;

3用扩频码1对信息码进行扩频得到s,并生成扩频后信号s的波形图; 4分别用扩频码1和扩频码2对s进行解扩,画出解扩后波形图; 仿真中,扩频码可以选用Walsh64码中的序列。 【实验报告】

按照要求完成实验报告。实验报告中要求画出实验步骤中的波形图,并对实验结果进行总结。 【实验原理】

直接序列扩频系统采用高码速率的直接序列(Direct Sequence,DS),伪随机码在发端进行扩频,在收端用相同的码序列去进行解扩,然后将展宽的扩频信号还原成原始信息。

直接序列扩频系统的发射机和接收机框图如图1所示。

一、 仿真程序及说明

Walsh 64序列代码

clear; N=64; T=62

a=cell(64,64); a=hadamard(64); a1=a(:,37); a2=a(:,20); figure

Raa=zeros(1,T+1); for i=0:T

Raa(i+1)=0; for j=1:N;

k=i+j; while(k>N) k=k-N; end

Raa(i+1)=Raa(i+1)+a1(j)*a1(k); end

Raa(i+1)=Raa(i+1)/N; end

subplot(3,1,1) stem(0:T,Raa);

title('a1自相关函数');

%************************ Rbb=zeros(1,T+1); for i=0:T

Rbb(i+1)=0; for j=1:N;

k=i+j; while(k>N) k=k-N; end

Rbb(i+1)=Rbb(i+1)+a2(j)*a2(k); end

Rbb(i+1)=Rbb(i+1)/N; end

subplot(3,1,2) stem(0:T,Rbb);

title('a2自相关函数');

%********************************** Rab=zeros(1,T+1); for i=0:T

Rab(i+1)=0; for j=1:N; k=i+j; while(k>N) k=k-N; end

Rab(i+1)=Rab(i+1)+a1(j)*a2(k); end

Rab(i+1)=Rab(i+1)/N; end

subplot(3,1,3) stem(0:T,Rab);

title('a1,a2互相关函数');

Walsh码是一种同步正交码, 即在同步传输情况下, 利用Walsh码作为地址码具有良好的自相关特性和处处为零的互相关特性。

Uniuser.m: totalpic=5; H2=[1 1;1 -1]; NH2=H2*(-1);

H4=[H2 H2;H2 NH2]; NH4=H4*(-1);

H8=[H4 H4;H4 NH4]; NH8=H8*(-1);

H16=[H8 H8;H8 NH8]; NH16=H16*(-1);

H32=[H16 H16;H16 NH16]; NH32=H32*(-1);

H64=[H32 H32;H32 NH32]; p1=H64(5,:);

p2=H64(15,:); m1t=mod(fix(randn(1,16)),2)*2-1; s1=ex_f(m1t,p1); subplot(totalpic,1,1) stairs(m1t);

axis([1 16 -1.5 1.5]); title('发送序列') subplot(totalpic,1,2) stairs(p1);

title('扩频序列') axis([1 64 -1.5 1.5]); subplot(totalpic,1,3) stairs(s1);

title('扩频后序列')

axis([1 1024 -1.5 1.5]); subplot(totalpic,1,4)

d1=de_f(s1,p1); stairs(d1);

title('解扩频后序列') axis([1 16 -1.5 1.5]); subplot(totalpic,1,5)

d2=de_f(s1,p2); stairs(d2);

title('扩频码2解扩频后序列') axis([1 16 -1.5 1.5]);

%产生walsh64来作为扩频码% %产生随机序列% %扩频% %解扩频% %用扩频码2解扩频%

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。