sinterleaver.asv
来自「turbo 码matlab编译码程序」· ASV 代码 · 共 89 行
ASV
89 行
%generate S-random interleavers
N=1024;
M=floor(sqrt(N/2));
S=22
u=rand(1,N)
[x,I]=sort(u);
x
I
for i=1:N
variagroup(i)=0;
end
for T=1:4
for i = 2: N
if i<=S
for j=1:i-1
while abs(I(i)-I(j))<S
varia=I(i);
for k=i+1:N
I(k-1)=I(k);
end
I(N)=varia;
end
end
else
j=i-S;
while j<i
flag=0;
while abs(I(i)-I(j))<S
varia=I(i);
for k=i+1:N
I(k-1)=I(k);
end
I(N)=varia;
flag=flag+1;
if flag==N-i+1
j=i;
break;
end
end
j=j+1;
end
if flag==N-i+1
i
for k=i:N
variagroup(k-i+1)= I(k);
end
for k=1:i-1
variagroup(k+N-i+1)=I(k);
end
for k=1:N
I(k)=variagroup(k);
end
break;
end
end
end
end
I
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?