⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pnsequence.m

📁 利用MATLAB对跳频通信系统进行仿真
💻 M
字号:
function[sys,x0,str,ts]=pnsequence(t,x,u,flag,poly,period,ini_st)
switch flag, 
   
  case 0,
   [sys,xo,str,ts]=mdlInitializeSize(poly,period,ini_st);
  case 2,
   sys=mdlUpdate(t,x,u,ploy);
  case 3,
   sys=mdlOutputs(t,x,u);
  case{1,4,9},
   sys=[];
  otherwise
   error(['Unhandled flag=',num2str(flag)]);
end

%end sfuntmpl

%mdlInitializeSizes
function[sys,x0,str,ts]=mdlInitializeSizes(poly,period,ini_st)
n_dis=length(poly);
sizes=simsizes;
sizes.NumContStates=0;
size.NumDiscStates=n_dis;
sizes.NumOutputs=1;
sizes.NumInputs=0;
sizes.NumSampleTimes=1;      %at least one sample time is needed
sys=simsizes(size);
x0=[ini_st,0];               %end mdlInitiallizeSizes

                             %mdlUpdate
function sys=mdlUpdate(t,x,u,poly)
reg=x;
n_x=length(x);
temp=mod(poly*reg(1:n_x-1),2);     %完成异或
reg=[reg(2:n_x);temp];             % 进行左移位
sys=reg;

%end mdlUpdate
%mdlOutputs
function sys=mdloutputs(t,x,u)
sys=x(1);                   %end mdlOutputs

                              

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -