odd_even_interleaver.m

来自「通信中常用的卷积码信道译码源码程序」· M 代码 · 共 38 行

M
38
字号
function alpha_rsc = odd_even_interleaver(DLength,TerminateF,NEncoders,m);%------------------------------------------------------------------------------% Create odd-even interleaver of length 'DLength'%% Format:% -------%% alpha_rsc = odd_even_interleaver(DLength, TerminateF, NEncoders, m)% % Author: MVe% Date:   05.07.2002%------------------------------------------------------------------------------rand('state',sum(100*clock));if TerminateF  index_odd = [1:2:DLength+m];  index_even = [2:2:DLength+m];else   index_odd = [1:2:DLength];  index_even = [2:2:DLength];end % if TerminateFLodd = length(index_odd);Leven = length(index_even);for i1 = 1:NEncoders-1  [dummy, alpha_tmp1(1,:)] = sort(rand(1,Lodd));  [dummy, alpha_tmp2(1,:)] = sort(rand(1,Leven));  if (Lodd>Leven)    alpha_rsc(i1,:) = ...	reshape([index_odd(alpha_tmp1);index_even(alpha_tmp2), 0], ...		1,2*Lodd);  else    alpha_rsc(i1,:) = ...	reshape([index_odd(alpha_tmp1);index_even(alpha_tmp2)],1,2*Lodd);  end % if (Lodd>Leven)	end % for i1 = 1:NEncoders-1

⌨️ 快捷键说明

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