mseq.m

来自「此程序为DS-CDMA链路中加入基于子空间的PASTd多用户检测方法。系统中采用」· M 代码 · 共 47 行

M
47
字号


% Program 5-4
% mseq.m
%
% The generation function of m-sequence
%
% An example
% stg=3
% taps=[1,3]
% inidata=[1,1,1]
% n=2
%
% Programmed by yixiongshu,2006.8.9
function [mout]=mseq(stg,taps,inidata,n)
% stg : Number of stages
% taps: Position of register feedback
% inidata : Initial sequence
% n : Number of output sequence (it can be omitted)
% mout : output m-sequence
%
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

% end of file.

 

⌨️ 快捷键说明

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