reliability_computing.m

来自「matlab编写的turbo码示例程序」· M 代码 · 共 33 行

M
33
字号
function [D,R_out]=reliability_computing(C,R,beta);

[m,n]=size(C);
dis_mini=inf;
for k=1:n
    y=(C(:,k)-0.5)*2;
    dis=sum((R-y).^2);
    if dis<dis_mini
        D=C(:,k);
        dis_mini=dis;
    end
end

d=(D-0.5)*2;

R_out=zeros(32,1);
for k=1:32
    dis_C=inf;
    for l=1:n
        if C(k,l)~=D(k)
            y=(C(:,l)-0.5)*2;
            dis=sum((R-y).^2);
            if dis<dis_C
                dis_C=dis;
            end
        end
    end
    if dis_C==inf
        R_out(k)=beta*d(k)+R(k);
    else
        R_out(k)=(dis_C-dis_mini)*d(k)/4;
    end
end

⌨️ 快捷键说明

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