ls_ger_1.m

来自「北京邮电大学李道本教授提出的LS码在MATLAB产生方法,可以产生各种长度的LS」· M 代码 · 共 40 行

M
40
字号
N=256;
M=log2(N)-1;ii=2^(M-1)-1;
LS=0;LS1=0;
fid=fopen('LS_128.txt','r');
LS=fscanf(fid,'%d',[128,128]);
fclose(fid);

for cnti=0:ii
   for cntn=1:N/4
      LS1(4*cnti+1,cntn)=LS(2*cnti+1,cntn);
      LS1(4*cnti+1,cntn+N/4)=LS(2*cnti+2,cntn);
      LS1(4*cnti+1,cntn+N/2)=LS(2*cnti+1,cntn+N/4);
      LS1(4*cnti+1,cntn+3*N/4)=LS(2*cnti+2,cntn+N/4);
   end   
   for cntn=1:N/4
      LS1(4*cnti+2,cntn)=LS(2*cnti+1,cntn);
      LS1(4*cnti+2,cntn+N/4)=-LS(2*cnti+2,cntn);
      LS1(4*cnti+2,cntn+N/2)=LS(2*cnti+1,cntn+N/4);
      LS1(4*cnti+2,cntn+3*N/4)=-LS(2*cnti+2,cntn+N/4);
   end   
   for cntn=1:N/4
      LS1(4*cnti+3,cntn)=LS(2*cnti+2,cntn);
      LS1(4*cnti+3,cntn+N/4)=LS(2*cnti+1,cntn);
      LS1(4*cnti+3,cntn+N/2)=LS(2*cnti+2,cntn+N/4);
      LS1(4*cnti+3,cntn+3*N/4)=LS(2*cnti+1,cntn+N/4);
   end   
   for cntn=1:N/4
      LS1(4*cnti+4,cntn)=LS(2*cnti+2,cntn);
      LS1(4*cnti+4,cntn+N/4)=-LS(2*cnti+1,cntn);
      LS1(4*cnti+4,cntn+N/2)=LS(2*cnti+2,cntn+N/4);
      LS1(4*cnti+4,cntn+3*N/4)=-LS(2*cnti+1,cntn+N/4);
   end   
end

fid=fopen('LS_256.txt','w');
for i=1:N
   fprintf(fid,'%1d\n',LS1(:,i));
end
fclose(fid);

⌨️ 快捷键说明

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