basicseqk.m

来自「cmda仿真程序」· M 代码 · 共 125 行

M
125
字号
function[code1] = BasicSeqK(m)

N = 2^m - 1; % length of the sequence

sreg = [0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1 ];

code1 = zeros(1, N);


switch(m)

   case 4

       for i=1:N

           code1(i) = sreg(m);

           first = xor(sreg(3), sreg(4));

           sreg = circshift(sreg, [0, 1]);

           sreg(1)=first;

       end

   case 6

       for i=1:N

           code1(i) = sreg(m);

           first = xor(sreg(5), sreg(6));

           sreg = circshift(sreg, [0, 1]);

           sreg(1)=first;

       end

   case 8

       for i=1:N

           code1(i) = sreg(m);

           first = mod(sreg(4)+sreg(5)+sreg(6)+sreg(8), 2);

           sreg = circshift(sreg, [0, 1]);

           sreg(1)=first;

       end

   case 10

       for i=1:N

           code1(i) = sreg(m);

           first = mod(sreg(7) + sreg(10), 2);

           sreg = circshift(sreg, [0, 1]);

           sreg(1)=first;

       end

   case 12

       for i=1:N

           code1(i) = sreg(m);

           first = mod(sreg(6) + sreg(8) + sreg(11) + sreg(12), 2);

           sreg = circshift(sreg, [0, 1]);

           sreg(1)=first;

       end

   case 14

       for i=1:N

           code1(i) = sreg(m);

           first = mod(sreg(9) + sreg(11) + sreg(13) + sreg(14), 2);

           sreg = circshift(sreg, [0, 1]);

           sreg(1)=first;

       end

   case 16

       for i=1:N

           code1(i) = sreg(m);

           first = mod(sreg(11) + sreg(13) + sreg(14) + sreg(16), 2);

           sreg = circshift(sreg, [0, 1]);

           sreg(1)=first;

       end

   case 18

       for i=1:N

           code1(i) = sreg(m);

           first = mod(sreg(13) + sreg(16) + sreg(17) + sreg(18), 2);

           sreg = circshift(sreg, [0, 1]);

           sreg(1)=first;

       end

end

⌨️ 快捷键说明

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