linearfeedbackshiftregister.m

来自「无线通信多天线系统波束成型matlab源代码」· M 代码 · 共 20 行

M
20
字号
%File :LinearFeedbackShiftRegister.m
function [y,outstate]=LinearFeedbackShiftRegister(R,generator,instate,N)
if max(generator)>R
    error(['The degree of the generator polynomia,',int2str(max(generator)),',cannot exceed R,',int2str(R),'.']);
end
if length(instate)>R
    error(['The length of the input state vector,',int2str(length(instate)),',cannot exceed R,',int2str(R),'.'])
end
a=sort(generator);P=length(generator);M=length(instate)+1;
for k=1:N
    fee=instate((generator(2)));
    for q=3:P
        fee=bitxor(fee,instate(generator(q)));
    end
    instate=[fee instate];
    y(k)=instate(1);
    instate(M)=[];
end
outstate=instate;
%end of functionfile

⌨️ 快捷键说明

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