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 + -
显示快捷键?