inter_weave_4.m

来自「实现了信道编码」· M 代码 · 共 39 行

M
39
字号
% 交织度为4的交织
% 方法1:将内编码得到的456bits按如下规则重排后交织在4个TDMA帧上
%        i(B,j)=c(n,k)   k=0,1,……,455   n=0,1,……,N,N+1,……
%        B=B0+4n+(k mod 4)
%        j=2[(49k) mod 57]+[(k mod 8) div 4]
% 方法2:将内编码得到的456bits先按
%        D(x,y)=(57x+64y) mod 456   x=0,1,……,7   y=0,1,……,56
%        重排后分成8个子模块,再将这8个子模块分别加在4个TDMA帧上,
%        其中前4个子模块加在各帧的奇数比特上,后4个子模块加在各帧
%        的偶数比特上
function u=INTER_WEAVE_4(d,flag)
if nargin==1 
   flag=1;
end
if(flag==1)  % 方法1
    u=zeros(4,114);
	n=0;
	b0=0;
	for k=0:455
   	b=mod(b0+4*n+k,4);
   	j=2*mod(49*k,57)+floor(mod(k,8)/4);
   	u(b+1,j+1)=d(k+1);
	end
else   % 方法2
   for i=0:7
   	for j=0:56
   	    a=mod(57*i+64*j,456);
  	    c(i+1,j+1)=d(a+1);
   	end
	end
	u=zeros(4,114);
	for i=1:4
   	u(i,1:2:114)=c(i,:);
   	u(i,2:2:114)=c(i+4,:);
	end
end
u=reshape(u',1,4*114);     % 重排交织后的输出序列

⌨️ 快捷键说明

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