扩频通信基于matlab扩频通信Gold序列特性仿真含Matlab源码 1522期

Posted 紫极神光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扩频通信基于matlab扩频通信Gold序列特性仿真含Matlab源码 1522期相关的知识,希望对你有一定的参考价值。

一、获取代码方式(附课程作业报告和题目内容)

获取代码方式1:
完整代码已上传我的资源:【扩频通信】基于matlab扩频通信Gold序列特性仿真【含Matlab源码 1522期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、简介







三、部分源代码

clear all;
byxishu1=[1 1 0 1 1]; 
byxishu2=[0 1 0 0 1];  %本原多项式系数
mseq1=msequence(byxishu1);
mseq2=msequence(byxishu2);
balancegoldseq=balancegoldsequence(byxishu1,byxishu2);
%******下面计算第一个平衡gold序列与其他由m序列产生的gold序列的互相关值******
ind=find(balancegoldseq ==0); %返回平衡Gold序列中的0元素的位置
balancegoldseq(ind)=-1; 
%把平衡Gold序列中的0元素修改成-1,使该序列值为双极性-1,1
r=xiangguan(balancegoldseq (1,:),balancegoldseq (2,:)); 
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (3,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (4,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (5,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (6,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (7,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (8,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (9,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (10,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (11,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (12,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (13,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (14,:));
%r=xiangguan(balancegoldseq (1,:),balancegoldseq (15,:));
%下面是求第一个平衡gold序列与第1个m序列的互相关值的部分程序
%ind1=find(mseq1==0);
%mseq1(ind1)=-1;
%r=xiangguan(balancegoldseq (1,:),mseq1(1,:));
%下面是求第一个平衡gold序列与第2个m序列的互相关值的部分程序
%ind2=find(mseq2==0);
%mseq2(ind2)=-1;
%r=xiangguan(balancegoldseq (1,:),mseq2(1,:));
%********************************************************************
N=length(mseq1);axis=-N+1:N-1; %定义横轴使自相关峰值位于图形的零点
plot(axis,r);xlabel('k');ylabel('R(k)');
grid on;
function [mseq]=msequence(byxishu)%mseq是m序列,一行N列
%根据n阶本原多项式的系数(矩阵byxishu),求出m序列(长N=2^n-1)
n=length(byxishu);
N=2^n-1;
reg=[zeros(1,n-1) 1];
%定义移位寄存器的初始状态(寄存器初始化[0......0 1]),最高阶系数为1
mseq(1)=reg(n);%m序列第一位输出为初始寄存器最高位
for i=2:N %m序列共N位
    newreg(1)=mod(sum(byxishu.*reg),2);%寄存器最低位模2加 ?
    for j=2:n
        newreg(j)=reg(j-1);%寄存器移位
    end
    reg=newreg;
    mseq(i)=reg(n);%m序列第i位输出为寄存器移位后最高位系数
end
%***************命令行调用*******************************
%byxishu1=[1 1 0 1 1];
%byxishu2=[0 1 0 0 1];
%mseq1=msequence(byxishu1);m序列1
%mseq2=msequence(byxishu2);m序列2

四、运行结果



五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.

以上是关于扩频通信基于matlab扩频通信Gold序列特性仿真含Matlab源码 1522期的主要内容,如果未能解决你的问题,请参考以下文章

现代通信基于matlab直接序列扩频通信含Matlab源码 1004期

扩频通信基于matlab CDMA直接序列扩频系统仿真含Matlab源码 1528期

扩频通信基于matlab GUI扩频通信系统仿真(带面板)含Matlab源码 1587期

扩频通信基于matlab扩频通信系统仿真含Matlab源码 968期

扩频通信基于matlab扩频+解扩仿真含Matlab源码 1495期

FPGA教程案例75通信案例1——基于m序列伪码匹配的直接序列扩频解扩通信系统FPGA实现