• 大小: 992KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Matlab
  • 标签: Turbo  编码  

资源简介

该文件包含了turbo码的编码方法,编码和解码的Matlab及VC源代码和相关论文,很不错哦

资源截图

代码片段和文件信息

function [soft_outex_info]=constituent_decoder_logmap(inapp)
%****************************************************************
% 内容概述:子译码器。
%          利用硬件化的方式实现TURBO码的LOG-MAP译码
%          生成矩阵按照3GPP标准为[1 1 0 1;1 0 1 1]
%          输入为经过高斯信道的RSC软输入,而输出为软输出和外部信息
% 创 建 人:朱殿荣/QQ:235347/MSN:njzdr@msn.com
% 单    位:南京邮电大学,通信工程系
% 创建时间:2005年7月23日
% 修改时间:2006年3月10日
% 参考文献:《数字通信--基础与应用》
%          《改进的Turbo码算法及其FPGA实现过程的研究》天津大学,张宁,赵雅兴
%        K.K.Loo T.Alukaidey S.A.Jimaa “High Performance Parallelized
%           3GPP Turbo Decoder” Personal Mobile Communications
%        Conference 2003. 5th European (Conf. Publ. No. 492)
% 版权声明:任何人均可复制、传播、修改此文件,同时需保留原始版权信息。
%****************************************************************
 
x=in(1:);              %输入系统位
y=in(2:);              %输入校验位
in_length=length(in);

%---初始化&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Infty = -128;
d=zeros(82in_length);     %分支量度,8种可能状态,输入为0或者1
                            %D(Sik)
a=Infty*ones(8in_length);  %前向分支量度,A(Sk)
a(11)=0;                   %寄存器状态由全零开始
b=Infty*ones(8in_length+1);%后向分支量度,B(Sk)
%b(8in_length+1)=0;           %寄存器状态由全零结束

%---计算度量和LLR&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
for k=1:in_length
    d(12k)=x(k)+y(k)+app(k);
    d(22k)=d(12k);
    d(72k)=d(12k);
    d(82k)=d(12k);
    
    d(32k)=x(k)+app(k);
    d(42k)=d(32k);
    d(52k)=d(32k);
    d(62k)=d(32k);

    d(31k)=y(k);
    d(41k)=d(31k);
    d(51k)=d(31k);
    d(61k)=d(31k);
    
    if k>1
        a(1k)=max(a(1k-1)(a(2k-1)+d(22k-1)))...
            +log(1+exp(-abs(a(1k-1)-(a(2k-1)+d(22k-1)))));
        a(2k)=max((a(4k-1)+d(41k-1))(a(3k-1)+d(32k-1)))...
            +log(1+exp(-abs((a(4k-1)+d(41k-1))-(a(3k-1)+d(32k-1)))));
        a(3k)=max((a(5k-1)+d(51k-1))(a(6k-1)+d(62k-1)))...
            +log(1+exp(-abs((a(5k-1)+d(51k-1))-(a(6k-1)+d(62k-1)))));
        a(4k)=max(a(8k-1)(a(7k-1)+d(72k-1)))...
            +log(1+exp(-abs(a(8k-1)-(a(7k-1)+d(72k-1)))));
        a(5k)=max(a(2k-1)(a(1k-1)+d(12k-1)))...
            +log(1+exp(-abs(a(2k-1)-(a(1k-1)+d(12k-1)))));
        a(6k)=max((a(3k-1)+d(31k-1))(a(4k-1)+d(42k-1)))...
            +log(1+exp(-abs((a(3k-1)+d(31k-1))-(a(4k-1)+d(42k-1)))));
        a(7k)=max((a(6k-1)+d(61k-1))(a(5k-1)+d(52k-1)))...
            +log(1+exp(-abs((a(6k-1)+d(61k-1))-(a(5k-1)+d(52k-1)))));
        a(8k)=max(a(7k-1)(a(8k-1)+d(82k-1)))...
            +log(1+exp(-abs(a(7k-1)-(a(8k-1)+d(82k-1)))));
    end
    
    if k==in_length
        b(1k)=max(b(1k+1)(b(5k+1)+d(12k)))...
            +log(1+exp(-abs(b(1k+1)-(b(5k+1)+d(12k)))));
        b(2k)=max(b(5k+1)(b(1k+1)+d(22k)))...
            +log(1+exp(-abs(b(5k+1)-(b(1k+1)+d(22k)))));
        b(3k)=max((b(6k+1)+d(31k))(b(2k+1)+d(32k)))...
            +log(1+exp(-

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     628810  2006-10-10 23:38  Turbo编译码器仿真平台的设计.pdf

     文件      40956  2006-10-06 11:15  Turbo纠错码的原理、性能和应用.pdf

     文件     124534  2006-10-10 23:40  一种简化的对数最大后验概率译码算法.pdf

     文件     185751  2006-10-10 23:33  一种低功耗的Turbo码译码算法.pdf

     目录          0  2006-10-11 00:39  TurboDecode_Matlab

     文件       6332  2006-04-09 10:46  TurboDecode_Matlab\constituent_decoder_logmap.m

     文件       4645  2006-04-09 11:29  TurboDecode_Matlab\constituent_decoder_max.m

     文件       4737  2006-04-09 10:47  TurboDecode_Matlab\constituent_decoder_SemiTh.m

     文件       4790  2006-04-09 11:32  TurboDecode_Matlab\constituent_decoder_Th.m

     文件       2085  2006-04-09 11:30  TurboDecode_Matlab\decoder_all_algorithm.m

     文件       2796  2006-03-10 08:59  TurboDecode_Matlab\encoderm.m

     文件       1050  2006-03-10 08:59  TurboDecode_Matlab\encode_bit.m

     文件       3944  2006-04-09 10:55  TurboDecode_Matlab\interleaver_3GPP.m

     文件        532  2006-04-09 10:55  TurboDecode_Matlab\max_th.m

     文件       1842  2005-07-29 09:54  TurboDecode_Matlab\rsc_encode.m

     文件        651  2006-03-20 22:42  TurboDecode_Matlab\Shannon_Limit.m

     文件       5559  2006-04-09 11:29  TurboDecode_Matlab\test_algorithm_menu.m

     文件       4138  2006-04-09 11:40  TurboDecode_Matlab\test_OverLoad_menu.m

     文件       1730  2006-04-09 11:25  TurboDecode_Matlab\test_uncoded_BPSK.m

     文件        622  2006-04-09 11:21  TurboDecode_Matlab\test_uncoded_BPSK_theory.m

     文件        880  2006-04-09 10:58  TurboDecode_Matlab\trellis_simple.m

     文件        968  2006-03-13 16:26  TurboDecode_Matlab\turbo.m

     目录          0  2006-10-11 00:47  TurboDecode_VC++6

     目录          0  2005-04-01 21:37  TurboDecode_VC++6\decode

     目录          0  2005-04-01 21:37  TurboDecode_VC++6\decode\Debug

     文件       4587  2005-04-07 23:34  TurboDecode_VC++6\decode\encode.cpp

     文件       4284  2005-03-31 15:41  TurboDecode_VC++6\decode\encode.dsp

     文件        535  2005-03-31 14:02  TurboDecode_VC++6\decode\encode.dsw

     文件      50176  2005-04-07 23:35  TurboDecode_VC++6\decode\encode.ncb

     文件      53760  2005-04-07 23:35  TurboDecode_VC++6\decode\encode.opt

............此处省略13个文件信息

评论

共有 条评论