demultiplex.m

来自「这是一个Turbo码用Matlab的演示程序」· M 代码 · 共 44 行

M
44
字号
function subr = demultiplex(r, alpha, puncture);% Copyright 1998, Yufei Wu% MPRG lab, Virginia Tech.% for academic use only% At receiver end, serial to paralle demultiplex to get the code word of each% encoder% alpha: interleaver mapping % puncture = 0: use puncturing to increase rate to 1/2;% puncture = 1; unpunctured, rate 1/3;% Frame size, which includes info. bits and tail bitsL_total = length(r)/(2+puncture);% Extract the parity bits for both decodersif puncture == 1        % unpunctured  for i = 1:L_total        x_sys(i) = r(3*(i-1)+1);      for j = 1:2          subr(j,2*i) = r(3*(i-1)+1+j);      end   endelse            % unpunctured   for i = 1:L_total       x_sys(i) = r(2*(i-1)+1);       for j = 1:2          subr(j,2*i) = 0;       end          if rem(i,2)>0          subr(1,2*i) = r(2*i);       else          subr(2,2*i) = r(2*i);       end         endend       % Extract the systematic bits for both decodersfor j = 1:L_total% For decoder one   subr(1,2*(j-1)+1) = x_sys(j);% For decoder two: interleave the systematic bits     subr(2,2*(j-1)+1) = x_sys(alpha(j));end    

⌨️ 快捷键说明

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