精华内容
下载资源
问答
  • Matlab扩频通信

    2020-03-26 12:29:26
    本文档包含了扩频通信的代码,可直接运行,能生成7张过程图片,并且生成的图片我也上传了,非常清晰!该代码是基于Matlab实现的,运行环境没有太大要求,最新版Matlab即可,也不需要安装什么包了。
  • 整套matlab代码,用于直频序列扩频通信的系统仿真,本代码包含测试代码,测试代码内有语句的注释标注,可用于课程设计,毕业论文等
  • 1扩频通信的基本原理 1.1扩频通信 所谓扩展频谱通信,可简单表述如下:“扩频通信技术是一种信息传输方式,其信号所占有的频带宽度远大于所传信息必需的最小带宽;频带的扩展是通过一个独立的码序列来完成,用编码及...

    一、简介

    1扩频通信的基本原理
    1.1扩频通信
    所谓扩展频谱通信,可简单表述如下:“扩频通信技术是一种信息传输方式,其信号所占有的频带宽度远大于所传信息必需的最小带宽;频带的扩展是通过一个独立的码序列来完成,用编码及调制的方法来实现的,与所传信息数据无关;在接收端则用同样的码进行相关同步接收、解扩及恢复所传信息数据”。
    扩频通信的基本特点,是传输信号所占用的频带宽度(W)远大于原始信息本身实际所需的最小带宽(B),其比值称为处理增益(Gp)。总之,我们用扩展频谱的宽带信号来传输信息,就是为了提高通信的抗干扰能力,即在强干扰条件下保证可靠安全地通信。这就是扩展频谱通信的基本思想和理论依据。
    扩频通信的性能。扩频通信的可行性是从信息论和抗干扰理论的基本公式中引伸而来的。信息论中关于信息容量的香农( Shannon) 公式为:C=Blog2 ( 1+ SN)其中: C 为信道容量( 即极限传输速率) , B 为信号频带宽度, S 为信号功率, N 为噪声功率。Shannon 公式说明, 在给定的传输速率不变的条件下, 频带宽度和信噪比P 可以互换, 即可以通过增加频带宽度, 在信噪比较低的情况下传输信息。扩展频谱以换取信噪比要求的降低, 正是扩频通信的重要特点, 并由此为扩频通信的应用奠定了基础。扩频通信的一个重要参数是扩频增益, 反映了系统抗干扰能力的强弱, 是对信噪比改善程度的度量, 定义为接收机相关器输出信噪比和输入信噪比之比, 即
    在这里插入图片描述
    1.2 直接序列扩频
    直接序列扩频就是直接用具有高码率的扩频码序列在发送端去扩展信号的频谱。而在接收端, 用相同的扩频码序列去进行解扩, 将展宽的扩频信号还原成原始的信息。直扩通信系统原理如图1 所示。
    在这里插入图片描述
    在这里插入图片描述
    1.5高斯加性白噪声(AWNG)
    白噪声是指功率谱密度在整个频域内均匀分布的噪声。即其功率谱密度:
    在这里插入图片描述

    二、源代码

    %***********?÷????main.m***********
    clear
    clc
    %N=input('walsh???×??N=');
    N=16;
    for i=1:4
        switch i
            case 1
                %nA=input('???§A????nA=');
                nA=fix(unifrnd(0,255));%?ú?ú????×??????ú????
                m=i+1;
                figure(1);
                [nA_2,ChannelA]=send_module(nA,N,m);
                
            case 2
                %nB=input('???§B????nB=');
                nB=fix(unifrnd(0,255));%?ú?ú????×??????ú????
                m=i+1;
                figure(2);
                [nB_2,ChannelB]=send_module(nB,N,m);
     
             case 3
                %nC=input('???§C????nC=');
                nC=fix(unifrnd(0,255));%?ú?ú????×??????ú????
                m=i+1;
                figure(3);
                [nC_2,ChannelC]=send_module(nC,N,m);
                
             case 4
                %nD=input('???§D????nD=');
                nD=fix(unifrnd(0,255));%?ú?ú????×??????ú????
                m=i+1;
                figure(4);
                [nD_2,ChannelD]=send_module(nD,N,m);
            otherwise
                disp('error');
        end
        i=i+1;
    end
     
    figure(5);
    Channel=ChannelA+ChannelB+ChannelC+ChannelD;
    q=1:1:128*8;
    subplot(2,1,1);
    plot(q,Channel);
    title('????????')
    axis([1 1024 -5 5])
     
    snr=0000.1;
    y = awgn(Channel,snr,'measured') ;          
    subplot(2,1,2);
    plot(q,y);
    axis([1 1024 -15.5 15.5])
    title('????????')
    

    三、运行结果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    四、备注

    2014a

    展开全文
  • 这是一个用MATLAB编的扩频通信仿真源程序代码,可以直接用,已编译实现了
  • 一、简介 二、源代码 % the basic codes from the generating poly from the book spread spectrum applications on commercial systems ...function[code1, code2] = BasicSeq(m) ...sreg = [0, 0, 1, 1, 0, 1, 1,...

    一、简介

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    二、源代码

    % the basic codes from the generating poly from the book spread spectrum applications on commercial systems
    
    function[code1, code2] = BasicSeq(m)
    
    N = 2^m - 1;
    
    sreg = [0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1]; % register for code 1
    
    sreg2 = [0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1]; % register for code 2
    
    code1 = zeros(1, N);
    
    code2 = zeros(1, N);
    
    switch m
    
        case 3
    
            for i=1:N
    
                code1(i) = sreg(m);
    
                first = mod(sreg(2) + sreg(3), 2);
    
                sreg = circshift(sreg, [0, 1]);
    
                sreg(1)=first;
    
                code2(i) = sreg2(m);
    
                first2 = mod(sreg2(1) + sreg2(3), 2);
    
                sreg2 = circshift(sreg2, [0, 1]);
    
                sreg2(1)=first2;
    
            end           
    
        case 5
    
            for i=1:N
    
                code1(i) = sreg(m);
    
                first = mod(sreg(3) + sreg(5), 2);
    
                sreg = circshift(sreg, [0, 1]);
    
                sreg(1)=first;
    
                code2(i) = sreg2(m);
    
                first2 = mod(sreg2(1) + sreg2(2) + sreg2(3) + sreg2(5), 2);
    
                sreg2 = circshift(sreg2, [0, 1]);
    
                sreg2(1)=first2;
    
            end 
    
        case 7
    
            for i=1:N
    
                code1(i) = sreg(m);
    
                first = mod(sreg(4) + sreg(7), 2);
    
                sreg = circshift(sreg, [0, 1]);
    
                sreg(1)=first;
    
                code2(i) = sreg2(m);
    
                first2 = mod(sreg2(4) + sreg2(5) + sreg2(6) + sreg2(7), 2);
    
                sreg2 = circshift(sreg2, [0, 1]);
    
                sreg2(1)=first2;
    
            end 
    
        case 8 
    
            for i=1:N
    
                code1(i) = sreg(m);
    
                first = mod(sreg(1) + sreg(2) + sreg(3) + sreg(6) + sreg(7) + sreg(8), 2);
    
                sreg = circshift(sreg, [0, 1]);
    
                sreg(1)=first;
    
                code2(i) = sreg2(m);
    
                first2 = mod(sreg2(1) + sreg2(2) + sreg2(7) + sreg2(8), 2);
    
                sreg2 = circshift(sreg2, [0, 1]);
    
                sreg2(1)=first2;
    
            end 
    
        case 9
    
            for i=1:N
    
                code1(i) = sreg(m);
    
                first = mod(sreg(5) + sreg(9), 2);
    
                sreg = circshift(sreg, [0, 1]);
    
                sreg(1)=first;
    
                code2(i) = sreg2(m);
    
                first2 = mod(sreg2(3) + sreg2(5) + sreg2(6) + sreg2(9), 2);
    
                sreg2 = circshift(sreg2, [0, 1]);
    
                sreg2(1)=first2;
    
            end 
    
        case 10
    
            for i=1:N
    
                code1(i) = sreg(m);
    
                first = mod(sreg(7) + sreg(10), 2);
    
                sreg = circshift(sreg, [0, 1]);
    
                sreg(1)=first;
    
                code2(i) = sreg2(m);
    
                first2 = mod(sreg2(2) + sreg2(7) + sreg2(8) + sreg2(10), 2);
    
                sreg2 = circshift(sreg2, [0, 1]);
    
                sreg2(1)=first2;
    
            end 
    
        case 11
    
            for i=1:N
    
                code1(i) = sreg(m);
    
                first = mod(sreg(9) + sreg(11), 2);
    
                sreg = circshift(sreg, [0, 1]);
    
                sreg(1)=first;
    
                code2(i) = sreg2(m);
    
                first2 = mod(sreg2(3) + sreg2(8) + sreg2(9) + sreg2(11), 2);
    
                sreg2 = circshift(sreg2, [0, 1]);
    
                sreg2(1)=first2;
    
            end 
    
    end
    
    
    

    三、运行结果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    四、备注

    版本:2014a

    展开全文
  • 基于MATLAB扩频通信仿真-基于MATLAB扩频通信仿真.rar :) 基于MATLAB扩频通信仿真 所含文件: Figure22.jpg 基于MATLAB扩频通信仿真
  • 扩频通信捕获的matlab仿真维普资讯 http://www.wendangwang.com扩频通信捕获的 mal t b仿真 a刘翼柯美焱(通信指挥学院人防指挥与通信教研室,湖北武汉 40 1 ) 30 0[要】摘本文主要利用m db aa编程工具对直接序列扩频...

    扩频通信捕获的matlab仿真

    维普资讯 http://www.wendangwang.com

    扩频通信捕获的 mal t b仿真 a

    刘翼柯美焱

    (通信指挥学院人防指挥与通信教研室,湖北武汉 40 1 ) 30 0

    [要】摘本文主要利用m db aa编程工具对直接序列扩频通信的捕获过程进行仿真.仿真主要基于滑动相关法的有关理

    论,先讨论扩频仿真中起着重要作用的 i n序列的生成问题,尔后讨论调制信号的产生,然后在信号的捕获中分步讨论,先对捕获的流程进行简单的仿真,再依次加入噪声和多普勒频移后进行捕获仿真.

    [关键词】 u a; n db扩频通信;信号捕获

    ,

    用 malb产生 m序列 t a

    sn=sq.( p ( 1p ); e d e s e ( i iI x - ) )

    此处利用 m序列的生成公式编写 m f b程序,同阶的 aa l不码序列只是寄存器初始状态和反馈系数不同,主体程序一样,所以此处只以四阶为例来产生码序列. 令生成 m序列的子函数为 P— m, N m.它的输人参数为 a, b e其中 a m序列的阶数, e为反馈系数 .函数用来,.为 b和此生成最大长度线性移位寄存器序列,o nci s特征多项 cn et n为 o式向量, g tr为初始值向量, n为所需序列长度,若为 0 r ies es l e 则输出一个周期 .在此设置如下程序第一段所示 .当要求码周期较长时,只需改一下函数的参数,如要用 1 0阶的 i n序

    列,只需令 a l,=,=O即可 .=Ob7e l,

    sq为采样后的伪码;x(( lp*) es ep-j * i ) * t为调制信号载波 .

    解调与解扩同时进行的原因是多普勒频移对 sq和 ep es x

    (j1p t的影响是相同的,收信号采样后可将两者合一++i) (+)对接

    为一体进行运算.由于问题的理想性,相关峰值就是 P N码序

    列的长度 L .

    本地的解调和解扩信号为:

    r ev=e s ( p 0 0 i ) e i sq. e ( 10 0 p ) c e *xi t

    因此捕获部分的 maa tb程序为 l

    rn=; ad是接收到的随机数, a d 8%rn代表接收到信号的位

    r O%r是相关值,门限值 L比较以判断是否捕获 r; r=和

    二,发射信号的生成

    由于信息码对仿真的实际操作不产生太大影响,故本文仿真中暂不加人信息码调制,以 P只 N码与载频调制发射 .

    这里采用二进制相移键控调制,码值 0和 1在调制信号

    e 3%e本地开始进行相关运算时用于解扩解调信号=;是

    的位置

    wh l r ier

    es e;=

    中分别用和 0代替 .P N码用 cI (表示,值为 0或 1调制信 )取,

    号以 so示, (表则

    socs ( o(=

    C() o(o) f=cs t ) w

    I O%判断是否在半个码源相位内 T;=

    f e::s L 5 1 of s (+ - ) r= 5 e

    为便于解扩过程中的相关运算,于扩频码 c o以一 对 (, 1

    r r sn ( rci ( n s r r e d ee e ad) -=+ O vr;

    r nd - a s a s r nd+5; e nd

    e+5=e:

    代替 0而 1,不变 .

    对每个码片采样五个值,即对 so每个码片内采样五 (在个值.此图中 m序列阶数为 1,采用 2 0 0个周期的 P N码序

    列,故数据总长为 1 2 0 .用以实现调制的 maa 030 tb语句为 l

    e nd

    sn=es (一j1p I)其中 sq为采样后的 P ed s . e ( i ); q 印( ) es N序列, t

    的取值语句为 tOO: 4 98=:22 5 .. . 0

    ( )二噪声对信号捕获的影响

    加人噪声后接收到的信号为:

    r ev=e d nt sq .ep一j1p )+ ( e i sn+ (=e s ( (( iI nI c e ) x ) ) )

    三,号的捕获信

    扩频信号的接收主要包括捕获和跟踪,本文主要论述捕获部分.捕获需要对接收到的信号进行解调和解扩,当有多

    普勒频移和信道噪声影响时还要对这两部分进行考虑 .在这

    其中 nO (是均值为零,方差为的高斯白噪声随机过程.其

    中加人噪声的 maa tb函数语句为: l

    rei s a g( ci, 1) ee e=w n ee e一; v r v 0

    里,先不考虑多普勒频移和信道噪声影响的情况下进行仿

    真,而后在加入多普勒频移和信道噪声进行仿真 .

    ( )一扩频信号捕获的简单流程

    公式代表的意思为信号 rci ee e中加入高斯白噪声, v其信

    噪比为一 O B ld .

    扩频码的产生及信号的发送等与前述相同,这里不再重复,加人噪声后接收到的信号局部波形截图如下,图起始截

    位置为 30— 3 0 0030.

    在无多普勒频移和噪声的影响时,仿真比较简单,目的是对问题有个清晰的认识.要做的工作是对接收进行解调和解扩,此处将解调与解扩同时进行,收到的信号如前面所接

    述为:

    68

    1-1983-png_6_0_0_0_0_840_1166_840.96_1166.759-1430-0-0-1430.jpg

    展开全文
  • matlab与通信仿真扩频通信ppt-matlab与通信仿真.rar 电子书,ppt
  • 扩频通信系统及MATLAB仿真-扩频通信系统及MATLAB仿真.rar 扩频通信系统及MATLAB仿真 扩频通信系统及MATLAB仿真.rar 扩频通信系统及MATLAB仿真 摘要:先阐述了扩频通信的基本原理、主要性能指标...
  • 基于MATLABsimulink的扩频通信系统仿真研究-基于matlab扩频通信系统仿真研究.rar 摘要: 本文阐述了扩展频谱通信技术的理论基础和实现方法,利用MATLAB 提供的可视化 工具Simulink 建立了扩频通信系统仿真...
  • 2.6 误码率分析仪(Error Rate Calculation)在误码率计算中,接收到的信号,由于经过扩频解扩、调制解调、相关统计等处理,会存在一个延迟,在误码仪模块的对话框中要设置一个合适的延迟。6电气信息学院 通信工程专业...

    111.png

    电气信息学院 通信工程专业 课程设计报告

    2.5 最小相移键控解调 (M-PSK Demodulator Passband) 对解扩后的信号进行解调,恢复基带信号。

    2.6 误码率分析仪(Error Rate Calculation)

    在误码率计算中,接收到的信号,由于经过扩频解扩、调制解调、相关统计等处理,会存在一个延迟,在误码仪模块的对话框中要设置一个合适的延迟。

    6

    电气信息学院 通信工程专业 课程设计报告

    2.7 其他设置

    2.7.1 RELAY 的设置

    2.7.1 product的设置

    7

    电气信息学院 通信工程专业 课程设计报告

    2.7.3 display 的设置

    2.7.4 频谱分析仪(spectrum scope)的设置

    系统中有四个频谱分析仪器,分别命名为:baseband、mod、SS和DSS。其中,baseband能观察基带信号的频谱;mod能观察到基带信号调制到频带后的频谱;SS能观察扩频后的频谱;DSS能观察解扩解调后的接受端输出信号的频谱。这四个频谱分析仪的参数设置大致一致,其前方的零阶保持器的采样时间略有不同。

    频谱分析仪名称 采样时间(s)

    Baseband 0.001 Mod 1/30000 SS 0.001/31 DSS 0.001 8

    电气信息学院 通信工程专业 课程设计报告

    3. M文件编写仿真程序

    用m文件编写的MATLBA程序来实现观察系统在不同信噪比下的误码率变化情况。此仿真要实现扩频码的产生、发射机部分、接收机部分、信道仿真部分以及误码分析部分,此外还有进行循环仿真以达到绘出信噪比与误码率见的函数图。 3.1 扩频码的产生

    选取m序列作为仿真系统的扩频码,产生函数如下:

    function [mout] = mseq(stg, taps, inidata, n) %变量含义说明 % stg m序列阶数 % taps 线性移位寄存器的系数 % inidata 序列的初始化 % n 输出序列的数目 % mout 输出的m序列 if nargin < 4 n = 1; end mout = zeros(n,2^stg-1); fpos = zeros(stg,1); fpos(taps) = 1; for ii=1:2^stg-1 mout(1,ii) = inidata(stg); % 输出数据的存储 num = mod(inidata*fpos,2); % 反馈数据的计算 inidata(2:stg) = inidata(1:stg-1); % 线形移位寄存器的一次移位 inidata(1) = num; % 返回反馈值 end if n > 1 for ii=2:n mout(ii,:) = shift(mout(ii-1,:),1,0); end end 9

    电气信息学院 通信工程专业 课程设计报告

    3.2 发射机部分

    发射机部分包括扩频和调制两部分。 3.2.1 QPSK调制部分

    此处采用QPSK调制,相比SIMULINK的M-PSK调制的实现要求要低一些。 function [iout,qout]=qpskmod(paradata,para,nd,ml) %各变量含义说明 % paradata 输入数据 % iout 输出的实部数据 % qout 输出的虚部数据 % para 并行信道数 % nd 输入数据个数 % ml 调制阶数 m2=ml./2; paradata2=paradata.*2-1; count2=0; for jj=1:nd isi = zeros(para,1); isq = zeros(para,1); for ii = 1 : m2 isi = isi + 2.^( m2 - ii ) .* paradata2((1:para),ii+count2); isq = isq + 2.^( m2 - ii ) .* paradata2((1:para),m2+ii+count2); end iout((1:para),jj)=isi; qout((1:para),jj)=isq; count2=count2+ml; end 3.2.2 扩频部分

    function [iout, qout] = spread(idata, qdata, code1) %变量含义说明 % idata 输入序列实部 % qdata 输入序列虚部 % iout 输出序列实部 % qout 输出序列虚部 % code1 扩频码序列 switch nargin case { 0 , 1 } error('lack of input argument'); case 2 code1 = qdata; qdata = idata; end [hn,vn] = size(idata); 10

    展开全文
  • 基于matlab扩频通信设计
  • 电气信息学院 通信工程专业 课程设计报告 基于 MATLAB扩频通信仿真 1 1. 仿真原理 扩展频谱通信具有很强的抗干扰性其多址能力保密抗多径等功能也倍受人们的关 注被广泛的应用于军事通信和民用通信中扩频技术将...
  • 基于matlab扩频通信仿真,包括发射端的walsh码扩频发射仿真、接受端的解扩频接受仿真,以及波形
  • 本代码实现扩频通信matlab仿真,原理清晰,代码有注释,运行真实无误,欢迎大家下载学习,包含整个系统的实现及相关指标仿真。
  • 1 设计思想 1.1选题主要任务 扩频通信具有很强的抗干扰能力和安全性,最早出现于军事的...利用Matlab工具箱中的Simulink通信仿真模块和Matlab函数进行跳频扩频通信系统进行分析和仿真,在对比存在噪声干扰的情况下,
  • 电气信息学院 通信工程专业 课程设计报告 PAGE 1 基于MATLAB扩频通信仿真 仿真原理 扩展频谱通信具有很强的抗干扰性其多址能力保密抗多径等功能也倍受人们的关注被广泛的应用于军事通信和民用通信中扩频技术将信号...
  • 扩频通信matlab源程序-扩频通信matlab源程序,里面有文档说明.rar 扩频通信matlab源程序,里面有文档说明
  • 基于MATLAB扩频通信系统仿真研究 是用simulink做的基于MATLAB扩频通信系统仿真研究
  • 一、简介 1 扩频通信基础 2 跳频通信原理 二、电路图 三、备注 版本:2014a
  • 本文是基于MATLAB扩频通信系统仿真,同学们可以看看。
  • 基于MATLAB扩频通信系统仿真研究.pdf
  • 通过matlab实现基于MATLAB扩频通信系统设计,内容详细,通俗易懂,可供大家使用,互相学习
  • 1扩频通信的基本原理 1.1扩频通信 所谓扩展频谱通信,可简单表述如下:“扩频通信技术是一种信息传输方式,其信号所占有的频带宽度远大于所传信息必需的最小带宽;频带的扩展是通过一个独立的码序列来完成,用编码及...
  • 基于MATLAB扩频通信m序列的仿真,需要下载的参考学习

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 674
精华内容 269
关键字:

matlab扩频通信

matlab 订阅