目录

  • 一、实习目的及要求
    • 目的:
      • 要求:
  • 二、实习选题的背景及目标
    • 背景:
    • 目标:
  • 三、设计方案
  • 四、实习环境与主要步骤描述
    • 实验环境:
    • 实验步骤:
  • 五、实习的结果与讨论
    • 结论:
    • 待解答的问题:
    • 实验局限性:
  • 六、实习总结
  • 参考文献:
  • 附件:
    • 结果图:
    • 代码列表:

一、实习目的及要求

目的:

  1. 掌握CDMA直接序列扩频技术,理解码分多址技术的原理与流程,能够使用Matlab语言实现CDMA直接序列扩频系统仿真和分析;
  2. 熟练使用Matlab语言进行实验,掌握MATLAB软件工具的使用;
  3. 能够书写内容完整、逻辑清晰的实验报告。

要求:

  1. 产生Walsh 64序列,观察其自相关和互相关特性;
  2. 生成二进制信息码的波形图;
  3. 用扩频码1对信息码进行扩频得到s,并生成扩频后信号s的波形图;
  4. 分别用扩频码1和扩频码2对s进行解扩,画出解扩后波形图。

二、实习选题的背景及目标

背景:

CDMA系统是以扩频调制技术和码分多址技术为基础的数字蜂窝移动通信系统。目前扩频通信系统可以分为直接序列扩频(DSSS,Direct Sequence Spread Spectrum)、调频(FH,Frequency Hopping)、跳时(TH,Time Hopping)、宽带线性调频(Chirp Modulation)四种。直接序列扩频通信系统具有抗干扰性强、隐蔽性好、易于实现码分多址、抗多径干扰、通信速率高、保密性强等优点。
本次实验要求实现直接序列扩频系统的仿真与分析,通过模拟实现信号发送、信号调制、信号接收、信号解调等操作,体会扩频系统的工作流程,理解其工作原理。以直接序列扩频系统为基础,进一步了解3G数字蜂窝移动通信系统的特点与原理。

目标:

1.掌握CMDA直接序列扩频系统的工作原理与实现流程;
2.体会数字蜂窝移动通信系统的特点与原理;
3.掌握Matlab语言与工具的使用,能够使用Matlab实现CMDA直接序列扩频系统的仿真与模拟。

三、设计方案


图 1 walsh64 生成与相关性分析流程图

图 2 信息码扩频与解扩流程图

四、实习环境与主要步骤描述

实验环境:

硬件 内存:8.00 GB
CPU:1.80GHz
64 位操作系统
基于 x64 的处理器
操作系统 windows10
开发语言 Matlab

实验步骤:

1.产生Walsh 64序列:直接使用hadamard函数生成Walsh64序列;
2.绘制自相关与互相关曲线:设计xg函数计算相关性,随机选取两行序列进行自相关与互相关计算。
xg函数:输入两个序列,输出函数计算结果;

3.生成二进制信息码:创建mayuan函数:输入序列长度和单个码元持续时间,输出信息码;采用随机数生成序列,使用rand函数,进行round(rand())*2-1;计算生成正负电平为1、-1的信息码;
4.生成二进制信息码的波形图:使用stairs函数绘制波形图;
5.用扩频码1对信息码进行扩频得到s:扩频使用异或,但不可以直接用扩频码进行计算,扩频码有正负,所以创建了myxor函数:转换-1为0,再进行异或计算;
6.生成扩频后信号s的波形图:使用stairs函数绘制波形图;
7.分别用扩频码1和扩频码2对s进行解扩:再进行一次异或操作;
8.绘制解扩后波形图:使用stairs函数绘制波形图。

五、实习的结果与讨论

结论:

1.从walsh64的相关性曲线可以知道:Walsh码随机性差,数量少;walsh的自相关性差;能
够做到完全正交,但有些码组不能做到完全正交,说明在存在多径时延时,可能会发生互相干扰。
2.使用扩频码1进行扩频时,使用扩频码1解扩效果好,结果正确,但使用扩频码2进行解
扩则不能进行正确解扩。

待解答的问题:

1.二进制信息码应该为0或1,但正负电平为1、-1二进制信息码就应该为1、-1,这样不是矛盾了吗?(应该是我理解问题,我最后生成的信息码都是1、-1,与walsh64 同步)如果信息码包含1、-1,则进行异或操作时,它们不是二进制数,则全为0,所以还需要再自己进行变换。
2.扩频码1和2是什么?我们选取walsh64进行扩频与解扩,但walsh64生成了64*64的矩阵,是随机选取其中两行进行操作吗?(我随机选了第2和3行进行操作)

实验局限性:

1.单一扩频码不能有效进行结果比较;
2.单一扩频技术不能横向比较不同扩频系统,比如调频、跳时、宽带线性调频的优缺点。

六、实习总结

1.通过本次实习我进一步体会到数字蜂窝通信系统的特点,了解了其工作原理,掌握了直接
序列扩频技术的工作流程与特点,能够使用matlab对其进行模拟实现。
2.我进一步熟练了matlab语言与工具的使用;我提升了资料搜索、查询的能力;提升了文档
编写能力。

参考文献:

[1]直接序列扩频通信系统:https://max.book118.com/html/2017/1122/141115006.shtm
[2]CDMA移动通信系统中的常用码型:PN码和Walsh码:http://www.txrzx.com/i1147-0.html
[3]序列的相关性:https://blog.csdn.net/weixin_40378598/article/details/107639194
[4]xor(23,43)为什么结果是0? https://www.ilovematlab.cn/thread-339955-1-1.html
[5]Matlab: https://ww2.mathworks.cn/products/matlab.html

附件:

结果图:


图 3 信号码扩频解扩结果图

图 4 walsh相关性结果图1

图 5 walsh相关性结果图2

代码列表:

xg.m:

function [ R1 ] = xg( m1,m2 )
%xg 相关性判断
% R1:处理后的结果
% m1、m2:输入序列
N=length(m1);
t1=m1;
t2=zeros(1,N-1);
for i=1:N+1;D=sum(1*(t1~=m2));A=N-D;R1(i)=(A-D)/N;for j=1:N-1;t2(j)=t1(j);endflag=t1(N);for j=1:N-1;t1(j+1)=t2(j);endt1(1)=flag;
end
end

t1.m:

clear ;
clc;
close all;
%% 1.产生Walsh 64序列,观察其自相关和互相关特性walsh=hadamard(64);
m41=walsh(41,:);
m33=walsh(33,:);
m37=walsh(37,:);
m20=walsh(20,:);
N=length(walsh(2,:));
R1=xg(m41,m41);
R2=xg(m41,m33);
R3=xg(m33,m33);R4=xg(m37,m37);
R5=xg(m20,m20);
R6=xg(m37,m20);figure('name','41与33');
subplot(3,1,1);
plot(0:N,R1);
title('41行自相关');
subplot(3,1,2);
plot(0:N,R3);
title('33行自相关');
subplot(3,1,3);
plot(0:N,R2);
title('41行和33行互相关 ');figure('name','37与20');
subplot(3,1,1);
plot(0:N,R4);
title('37行自相关');
subplot(3,1,2);
plot(0:N,R5);
title('20行自相关');
subplot(3,1,3);
plot(0:N,R6);
title('37行和20行互相关 ');

mayuan.m:

function [ m ] = mayuan( N,Tb )
%mayuan 产生二进制信息
% N:长度
% Tb:单个码元持续时间
% m:二进制信息
for i=Tb:Tb:N
t=round(rand())*2-1;
for j=i-Tb+1:i
m(j)=t;
end
end
end
myxor.m:
function [ res ] = myxor( m1,m2 )
%myxor 实现异或
%   m1 m2:输入序列
%   res:输出的异或结果
N=length(m1);
for i=1:N;if m1(i)==-1;m1(i)=0;endif m2(i)==-1m2(i)=0;end
endres=double(xor(m1,m2));
for i=1:Nif res(i)==0res(i)=-1;end
endend

t234.m:

clear;
clc;
close all;
%% 2.生成二进制信息码的波形图;N=64;%二进制序列数
Tb=4;%码元持续时间
m=mayuan(N,Tb);%长度为N,码元持续时间为Tb
subplot(4,1,1);
stairs(m);%画二进制序列波形
ylim([-1.5,1.5]);%限制图长度
title('二进制信息码的波形图');%% 3.用扩频码1对信息码进行扩频得到s,并生成扩频后信号s的波形图;walsh=hadamard(N);
PN=walsh(2,:);% 扩频码
PN1=walsh(3,:);
s1=myxor(m,PN);
%s1=m.*PN;%扩频
subplot(4,1,2);
stairs(s1);
ylim([-1.5,1.5]);
title('扩频后的信号');%% 4.分别用扩频码1和扩频码2对s进行解扩,画出解扩后波形图subplot(4,1,3);
%s2=s1.*PN;%解扩
s2=myxor(s1,PN);
stairs(s2);
ylim([-1.5,1.5]);
title('扩频码1解扩后的信号');
subplot(4,1,4);
s3=myxor(s1,PN1);
%s3=s1.*PN1;%解扩
stairs(s3);
ylim([-1.5,1.5]);
title('扩频码2解扩后的信号');

CDMA直接序列扩频系统仿真和分析——matlab实现相关推荐

  1. 7位双极性序列 matlab,移动通信课程设计直接序列扩频系统仿真

    移动通信课程设计直接序列扩频系统仿真 信息与通信工程学院 移动通信课程设计实验报告 题目:直接序列扩频系统仿真 班 级: 姓 名: 学 号: 班内序号: 日 期: 目录 一.背景3 二.要求:3 三. ...

  2. 基于matlab的mimo仿真,基于MATLAB的MIMO系统仿真与分析|Matlab代做

    核心提示:基于MATLAB的MIMO系统仿真与分析|Matlab代做... 近年来,人们对无线通信业务需求的爆炸式增长激励着研究工作者们在相关领域的各个层面不断寻求技术突破,期望以更完美的解决方案来满 ...

  3. 伪码捕获matlab,直接序列扩频伪码捕获的matlab仿真

    捕获系统 伪码同步一般分为两步进行,即捕获和跟踪.捕获又称为粗同步或初始同步,捕获是对输入扩频信号的同步信息进行搜索,使收发双方用的伪随机码相位差小于一个码元宽度Tc.跟踪又称为精同步,它是在捕获的基 ...

  4. matlab直扩序列生成,基于matlab的直接序列扩频通信系统仿真毕业论文

    基于matlab的直接序列扩频通信系统仿真毕业论文 基于 MATLAB 的直接序列扩频通信系统仿真1.实验目的:学习扩频通信系统技术理论基础及直接序列 DS 扩频系统基本原理,并设计出直扩通信系统模型 ...

  5. 【通信系统仿真设计】基于MATLAB的直接序列扩频通信系统仿真

    基于MATLAB的直接序列扩频通信系统仿真 前言 文章迭代更新 仿真流程图 关键技术细节 扩频解扰解扩部分 加扰去扰部分 加扰原理图 调制解调部分 调制原理图 解调原理图 高斯信道部分 实验结果 扩频 ...

  6. matlab扩频仿真,#基于matlab的直接序列扩频通信系统仿真

    <#基于matlab的直接序列扩频通信系统仿真>由会员分享,可在线阅读,更多相关<#基于matlab的直接序列扩频通信系统仿真(9页珍藏版)>请在人人文库网上搜索. 1.基于M ...

  7. 同频干扰信号 仿真 matlab,直接序列扩频系统抗同频干扰的MATLAB仿真8.29(可靠性分析12月)...

    直接序列扩频系统抗同频干扰的MATLAB仿真Simulation of DSSS System with Co-Channel Interference by MATLAB 陈吉文,郭伟(西安电子科技 ...

  8. matlab中megn函数,直接序列扩频完整系统matlab仿真

    <直接序列扩频完整系统matlab仿真>由会员分享,可在线阅读,更多相关<直接序列扩频完整系统matlab仿真(9页珍藏版)>请在人人文库网上搜索. 1.直接序列扩频通信系统仿 ...

  9. matlab直接扩频序列,直接序列扩频系统matlab仿真.doc

    直接序列扩频系统matlab仿真.doc --0--直接序列扩频通信系统仿真一.实验的背景及内容1.直接扩频通信的背景扩频通信,即扩展频谱通信(SpreadSpectrumCommunication) ...

最新文章

  1. OpenCV在浏览器中运行深度网络
  2. Nginx模块之SessionSticky
  3. 腾讯云副总裁邹贤能:将陆续开源四大核心技术
  4. lisp中怎样调取图形_CAD的lisp程序已加载,怎样绘图?
  5. 福建副省长:加快推进区块链应用场景,积极打造数字应用第一省
  6. Linux命令解释之mkfs.ext3
  7. android程序安全编码向导,Android安全编码规范
  8. oracle 分页过程,oracle存储过程分页的完整例子
  9. JSP三大指令、七大动作、九大对象
  10. Android Studio升级到3.0.0后构建项目时出现的问题总结
  11. Spring事务原理分析(三)--事务代理调用过程
  12. Linux运行exe程序
  13. 小米手机删除的便签怎么找回
  14. java合并2个txt文本,Java实现多个文档合并输出到一个文档
  15. 龙芯3a3000+7a1000 单板调试
  16. V-Rep/CoppeliaSim:Steeringwheel_Tutorial手把手教你制作舵轮底盘
  17. 中国历届亚运会成绩排名(金牌数)
  18. FinTech头条丨祝贺国家电投全球司库管理系统成功上线!
  19. 重磅推荐 | 朱嘉明:元宇宙——创意、思想、意识协作的下一代网络
  20. 拼多多app抓包之代码实现

热门文章

  1. 一天一道算法题——799. 香槟塔
  2. vs工程单步调试进入opencv源码
  3. 小陈第一个文章!!!
  4. 火车车次查询正则表达式
  5. CSS Text Style || CSS文本样式
  6. matlab绘图实验报告心得,matlab实验报告心得.docx
  7. java进程老挂掉_JAVA进程突然挂掉
  8. Apache Commons Codec 也就那样吧!!!
  9. 设置访问计算机密码,计算机访问时如何设置访问密码.doc
  10. Python3跳过第一行读取文件