turbo_ring_encode.m
来自「介绍了turbo码的编码和通用siso译码模块」· M 代码 · 共 31 行
M
31 行
function [z,alpha]=turbo_ring_encode(x,N,g,puncture,M)
% clc
% clear
% puncture=1;
% M=2;
% N=10;
% g=[1 1 1;1 0 1];
% x=round(rand(1,N));
[alpha,S]=H_S_Random(N); %%%% 交织
x1=x(alpha);
y(1,:)=x;
yy1 = ring_rsc_encode(M,g,x);
y(2,:)=yy1(2,:);
yy2 = ring_rsc_encode(M,g,x1);
y(3,:)=yy2(2,:);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if puncture==0
for i=1:floor(N/2) %%%% 删余
yy(2*i-1)=y(2,2*i-1);
yy(2*i)=y(3,2*i);
end
z(1,:)=y(1,:);
z(2,:)=yy;
elseif puncture==1 %%%% 不删余
z=y;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a=size(z);
z=reshape(z,1,a(1)*length(x));
z=2*z-M+1;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?