scrambler.m

来自「基于EMCA368国际标准的物理层超宽带协议的基本仿真程序,都是自己编写的」· M 代码 · 共 47 行

M
47
字号
function [out]=Scrambler(datain,length,seed_identifier);
if isequal(seed_identifier,[0 0])
   for i=1:15
       reg=[0 0 1 1 1 1 1 1 1 1 1 1 1 1 1];
   end
elseif isequal(seed_identifier,[0 1])
    for i=1:15
       reg=[0 1 1 1 1 1 1 1 1 1 1 1 1 1 1];
   end
elseif isequal(seed_identifier,[1 0])
    for i=1:15
       reg=[1 0 1 1 1 1 1 1 1 1 1 1 1 1 1];
    end
elseif isequal(seed_identifier,[1 1])
    for i=1:15
       reg=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1];
    end
end
    
data=uint8(datain);
for j=1:length

temp=bitxor(reg(14),reg(15));
reg(15)=reg(14);
reg(14)=reg(13);
reg(13)=reg(12);
reg(12)=reg(11);
reg(11)=reg(10);
reg(10)=reg(9);
reg(9)=reg(8);
reg(8)=reg(7);
reg(7)=reg(6);
reg(6)=reg(5);
reg(5)=reg(4);
reg(4)=reg(3);
reg(3)=reg(2);  
reg(2)=reg(1);
reg(1)=temp;
out_temp(j)=bitxor(data(j),temp);
end

out=double(out_temp);




⌨️ 快捷键说明

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