msequence.m
来自「直扩通信的MATLAB仿真」· M 代码 · 共 47 行
M
47 行
% File Msequence.m
function Sequence=MSequence(SF)
SFlog2=log2(SF);
if rem(SFlog2,1)~=0,error('SF must be an integer power of 2');end
switch SFlog2
case 3
R=3;instate=zeros(1,3);instate(R)=1;
N=2^R-1;generator=[0 1 3];
case 4
R=4;instate=zeros(1,4);instate(R)=1;
N=2^R-1;generator=[0 1 4];
case 5
R=5;instate=zeros(1,5);instate(R)=1;
N=2^R-1;generator=[0 2 5];
case 6
R=6;instate=zeros(1,6);instate(R)=1;
N=2^R-1;generator=[0 1 6];
case 7
R=7;instate=zeros(1,7);instate(R)=1;
N=2^R-1;generator=[0 3 7];
case 8
R=8;instate=zeros(1,8);instate(R)=1;
N=2^R-1;generator=[0 2 3 4 8];
case 9
R=9;instate=zeros(1,9);instate(R)=1;
N=2^R-1;generator=[0 4 9];
case 10
R=10;instate=zeros(1,10);instate(R)=1;
N=2^R-1;generator=[0 3 10];
case 11
R=11;instate=zeros(1,11);instate(R)=1;
N=2^R-1;generator=[0 2 11];
case 12
R=12;instate=zeros(1,12);instate(R)=1;
N=2^R-1;generator=[0 1 4 6 12];
otherwise
error('SF must be a power of 2,>= at 8 and <=2^12.')
end
[Sequence,Outstate]=LinearFeedbackShiftRegister(R,generator,instate,N);
Sequence=1-2*Sequence;
%End of function file.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?