资源简介
turbo码的exit图
代码片段和文件信息
% BCJR algorithm for a half-rate systematic recursive convolutional code
% having 1 memory element a generator polynomial of [10] and a feedback
% polynomial of [11]. For more information see Section 1.3.2.2 of Rob‘s
% thesis (http://eprints.ecs.soton.ac.uk/14980) or the BCJR paper
% (http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1055186).
% Copyright (C) 2008 Robert G. Maunder
% This program is free software: you can redistribute it and/or modify it
% under the terms of the GNU General Public License as published by the
% Free Software Foundation either version 3 of the License or (at your
% option) any later version.
% This program is distributed in the hope that it will be useful but
% WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
% Public License for more details.
% The GNU General Public License can be seen at http://www.gnu.org/licenses/.
function [aposteriori_uncoded_llrs aposteriori_encoded1_llrs aposteriori_encoded2_llrs] = bcjr_decoder(apriori_uncoded_llrs apriori_encoded1_llrs apriori_encoded2_llrs)
if(length(apriori_uncoded_llrs) ~= length(apriori_encoded1_llrs) || length(apriori_encoded1_llrs) ~= length(apriori_encoded2_llrs))
error(‘LLR sequences must have the same length‘);
end
% All calculations are performed in the logarithmic domain in order to
% avoid numerical issues. These occur in the normal domain because some of
% the confidences can get smaller than the smallest number the computer can
% store. See Section 1.3.2.4 of Rob‘s thesis for more information on this.
%
% A multiplication of two confidences is achieved using the addition of the
% corresponding log-confidences. If A = log(a) and B = log(b) then
% log(a*b) = A+B (Equation 1.17 in Rob‘s thesis).
%
% An addition of two confidences is achieved using the Jacobian logarithm
% of the corresponding log-confidences. The Jacobian logarithm is defined
% in the jac.m file. If A = log(a) and B = log(b) then
% log(a+b) = max(AB) + log(1+exp(-abs(A-B))) (Equation 1.19 in Rob‘s
% thesis).
% Matrix to describe the trellis
% Each row describes one transition in the trellis
% Each state is allocated an index 123... Note that this list starts
% from 1 rather than 0.
% FromState ToState UncodedBit Encoded1Bit Encoded2Bit
transitions = [1 1 0 0 0;
1 2 1 1 1;
2 1 1 1 0;
2 2 0 0 1];
% Find the largest state index in the transitions matrix
% In this example we have two states since the code has one memory element
state_count = max(max(transitions(:1))max(transitions(:2)));
% Calc
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1146 2008-08-01 17:49 convolutional_encoder.m
文件 1005 2008-08-01 17:48 generate_llrs.m
文件 1898 2008-08-01 17:48 jac.m
文件 3308 2008-08-01 17:48 main_inner.m
文件 4641 2008-08-01 17:49 main_middle.m
文件 3725 2009-06-22 16:48 main_outer.m
文件 942 2008-08-01 17:48 measure_mutual_information_averaging.m
文件 5356 2008-08-01 17:48 measure_mutual_information_histogram.m
文件 8471 2008-08-01 17:48 bcjr_decoder.m
----------- --------- ---------- ----- ----
30492 9
- 上一篇:代数学引论聂灵沼 丁石孙课件
- 下一篇:螺线管磁场高精度计算方法
相关资源
- Turbo码在AWGN信道中的性能仿真
- 基于FPGA实现的深空通信中turbo码编译
- turboc 写的贪吃蛇代码
- Turbo C 3.0 官方最新版
- Turbo Assembler 5 (TASM)
- rotor37.geomTurbo
- TurboPower Async Professional(重新上传)
- Turboc 2.0 英文标准版
- CFTurbo教学PPT
- 最好用的turboc3.0英文版\\tc3.0
- Turbo Code
- Turbo C 2.0(学校机房的)
- turbo c 2.0 汉化版
- turbo码译码过程
- libjpeg-turbo编码、解码代码
- Verilog写的Turbo码
- TURBO码—VHDL写的源代码
- TurboC2.0英文版
- turbo c3.0
- Turbo C2.1
- tc2.0
- TC2.0
- 编程软件Turbo C2.0 汉化版
- 绿色版TurboC 3.0
评论
共有 条评论