2004《Extrinsic Information Transfer Functions: Model and Erasure Channel Properties》学习笔记

  Extrinsic information transfer (EXIT) charts,在通信中用于预测迭代解码器的收敛行为,适用于诸如turbo码、LDPC(low-density parity-check )码、RA(repeat–accumulate )码的迭代译码分析。
  论文提出了一种解码模型并定义外信息转移函数,证明了其在BEC信道下的三条相关性质:

  1. 条件熵和外信息转移函数曲线所围面积的关联→极限容量码的设计简化为曲线拟合问题
  2. 外信息转移函数与码的Helleseth–Kløve–Levenshtein information function关联
  3. Split information functions、split support weights和EXIT fuction的关联→线性码的EXIT函数与其对偶码的EXIT函数关联

辅以其他参考文献:
[1] GF(q)G F(q)GF(q) 域上非规则 LDPC 码 EXIT 图分析方法研究
[2] EXIT 图分析多进制 LDPC 码

目录

  • 1. 密度演进和外信息转移图
  • 2. 解码模型(定义先验信息a、c和外信息e)
  • 3. 外信息转移函数
  • 7. LDPC码的EXIT分析

1. 密度演进和外信息转移图

均用于预测迭代译码的收敛性。

  DE跟踪概率密度函数,由仅适用于ECs(erasure channels)的外对数似然函数(L-value)的概率分布演化而来,从而适用于其他实际信道,用于计算码字的收敛门限。
  EXIT chart跟踪每结点平均互信息,依赖互信息这一统计信息的可靠性和在任何信道中的广泛适用性,对各种实际信道设计码字和迭代处理器意义重大。EXIT主要是因为DS跟踪概率密度函数计算量太大,所以跟踪互信息简化计算量。

收敛门限,某一码型迭代译码性能具有门限现象,即存在一个噪声方差门限(最大的信道参数),当码长区域无穷,信道噪声参数低于该门限时,译码比特错误概率能达到无限小。该参数值即为收敛门限,反应最低的信道质量要求。
σ2=12R×Eb/N0\sigma^{2}=\frac{1}{2 R \times E_{b} / N_{0}}σ2=2R×Eb​/N0​1​,其中R表示码率

EXIT图两个必要假设:

  1. 从一个译码器到另一个译码器的外信息时高斯随机变量(统计特性)
  2. 译码器的外信息相互独立


EXIT图即一个译码器的先验信息来自另外一个译码器的外信息。VND输出的外信息和码字之间的互信息为IE1I_{E1}IE1​,其能用IchI_{ch}Ich​和Ia1I_{a1}Ia1​表示。对于CND,其输出IE2I_{E2}IE2​,其能用Ia2I_{a2}Ia2​表示。EXIT图即在同一图中画出两个IE−IAI_E - I_AIE​−IA​曲线。

2. 解码模型(定义先验信息a、c和外信息e)

该部分定义解码模型并通过a posteriori probability (APP) decoding得到外信息的定义:思路是先模型,后定义向量a和c,再从已知向量中推导出d,并根据d和a的关系定义e。

大写公式字母-随机变量,小写公式字母-实际测量:

  • u‾\underline{u}u​为等概取值{0, 1}的信息bit流,长度为K。
  • x‾\underline{x}x​为长度为N的编码符号流。
  • y‾\underline{y}y​为x‾\underline{x}x​经过communication channel后的含噪声信号。称为SC。
  • w‾\underline{w}w​为v‾\underline{v}v​经过外部通道(先验通道)得到的先验信息信号。对于迭代解码器,v‾\underline{v}v​并非来自Extrinsic channel而是迭代解码器中的一个子解码器,但用途还是先验信息。称为PC。
  • v‾\underline{v}v​,假设对y‾\underline{y}y​执行迭代解码,解码器可分解为两个子解码器,内部解码器接收关于内部编码器输入位的外部信息,所以设置v‾=u‾\underline{v}=\underline{u}v​=u​,外部解码器接受外部编码器输出位的外部信息,所以设置v‾=x‾\underline{v}=\underline{x}v​=x​。

  外部通道无需任何现实设备辅助(Encoder 2 并非真实存在),其引入是为了更好的理解和进行性能分析。


  如果解码器的先验值来自BEC,那么EXIT函数下的面积是1减去条件熵,外部信道非BEC阻碍迭代解码的适用性。

  设v‾,w‾,a‾\underline{v}, \underline{w}, \underline{a}v​,w​,a​, and e‾\underline{e}e​皆为长度为m的向量,解码器使用 y‾\underline{y}y​ 和 w‾\underline{w}w​ 来计算v‾\underline{v}v​的两个估计量:先验L-values(log-likelihood ratios):d‾\underline{d}d​和外部L-values:e‾\underline{e}e​

对于无记忆信道(中文文献管这些叫比特似然值):
  编码符号wiw_{i}wi​附带关于随机变量ViV_iVi​的先验信息ai=log⁡P(wi∣Vi=0)P(wi∣Vi=1)a_{i}=\log \frac{P\left(w_{i} \mid V_{i}=0\right)}{P\left(w_{i} \mid V_{i}=1\right)}ai​=logP(wi​∣Vi​=1)P(wi​∣Vi​=0)​
  编码符号yiy_{i}yi​携带关于随机变量XiX_iXi​的先验信息ci=log⁡P(yi∣Xi=0)P(yi∣Xi=1)c_{i}=\log \frac{P\left(y_{i} \mid X_{i}=0\right)}{P\left(y_{i} \mid X_{i}=1\right)}ci​=logP(yi​∣Xi​=1)P(yi​∣Xi​=0)​

posteriori probability decoder计算先验L-value:di=log⁡Pr⁡(Vi=0∣y‾,w‾)Pr⁡(Vi=1∣y‾,w‾)d_{i}=\log \frac{\operatorname{Pr}\left(V_{i}=0 \mid \underline{y}, \underline{w}\right)}{\operatorname{Pr}\left(V_{i}=1 \mid \underline{y}, \underline{w}\right)} di​=logPr(Vi​=1∣y​,w​)Pr(Vi​=0∣y​,w​)​

当采用MAP解码u‾\underline{u}u​中bit流时,外部通道即完全噪声通道。
TODO:这里AAP decoingr和MAP decoding,区别在于是否最大化后验概率?

MAP解码下,内部解码器接收关于内部编码器输入位的外部信息v‾=u‾\underline{v}=\underline{u}v​=u​,所以设置。展开did_idi​的分子分母:Pr⁡(Vi=0∣y‾,w‾)=∑u‾:vi(u‾)=0P(u‾∣y‾,w‾)=∑u‾:vi(u‾)=0P(u‾)P(w‾∣u‾)P(y‾∣u‾,w‾)P(y‾,w‾)=∑u‾:vi(u‾)=0P(u‾)P(w‾∣v‾(u‾))P(y‾∣x‾(u‾))P(y‾,w‾)=P(wi∣Vi=0)P(y‾,w‾)⋅∑u‾:vi(u‾)=0P(u‾)P(w[i]‾∣v‾[i](u‾))P(y‾∣x‾(u‾))\begin{aligned} \operatorname{Pr}\left(V_{i}\right.&=0 \mid \underline{y}, \underline{w}) \\ &=\sum_{\underline{u}: v_{i}(\underline{u})=0} P(\underline{u} \mid \underline{y}, \underline{w}) \\ =& \sum_{\underline{u}: v_{i}(\underline{u})=0} \frac{P(\underline{u}) P(\underline{w} \mid \underline{u}) P(\underline{y} \mid \underline{u}, \underline{w})}{P(\underline{y}, \underline{w})} \\ =& \sum_{\underline{u}: v_{i}(\underline{u})=0} \frac{P(\underline{u}) P(\underline{w} \mid \underline{v}(\underline{u})) P(\underline{y} \mid \underline{x}(\underline{u}))}{P(\underline{y}, \underline{w})} \\ =& \frac{P\left(w_{i} \mid V_{i}=0\right)}{P(\underline{y}, \underline{w})} \\ & \cdot \sum_{\underline{u}: v_{i}(\underline{u})=0} P(\underline{u}) P\left(\underline{w_{[i]}} \mid \underline{v}_{[i]}(\underline{u})\right) P(\underline{y} \mid \underline{x}(\underline{u})) \end{aligned} Pr(Vi​===​=0∣y​,w​)=u​:vi​(u​)=0∑​P(u​∣y​,w​)u​:vi​(u​)=0∑​P(y​,w​)P(u​)P(w​∣u​)P(y​∣u​,w​)​u​:vi​(u​)=0∑​P(y​,w​)P(u​)P(w​∣v​(u​))P(y​∣x​(u​))​P(y​,w​)P(wi​∣Vi​=0)​⋅u​:vi​(u​)=0∑​P(u​)P(w[i]​​∣v​[i]​(u​))P(y​∣x​(u​))​其中v‾(u‾)\underline{v}(\underline{u})v​(u​) and x‾(u‾)\underline{x}(\underline{u})x​(u​)表示对应于u‾\underline{u}u​的向量。ei=log⁡Pr⁡(Vi=0∣y‾,w‾[i])Pr⁡(Vi=1∣y‾,w‾[i])=log⁡∑u‾:vi(u‾)=0P(w‾[i]∣v‾[i](u‾))P(y‾∣x‾(u‾))∑u‾:vi(u‾)=1P(w‾[i]∣v‾[i](u‾))P(y‾∣x‾(u‾)).\begin{aligned} e_{i} &=\log \frac{\operatorname{Pr}\left(V_{i}=0 \mid \underline{y}, \underline{w}_{[i]}\right)}{\operatorname{Pr}\left(V_{i}=1 \mid \underline{y}, \underline{w}_{[i]}\right)} \\ &=\log \frac{\sum_{\underline{u}: v_{i}(\underline{u})=0} P\left(\underline{w}_{[i]} \mid \underline{v}_{[i]}(\underline{u})\right) P(\underline{y} \mid \underline{x}(\underline{u}))}{\sum_{\underline{u}: v_{i}(\underline{u})=1} P\left(\underline{w}_{[i]} \mid \underline{v}_{[i]}(\underline{u})\right) P(\underline{y} \mid \underline{x}(\underline{u}))} . \end{aligned} ei​​=logPr(Vi​=1∣y​,w​[i]​)Pr(Vi​=0∣y​,w​[i]​)​=log∑u​:vi​(u​)=1​P(w​[i]​∣v​[i]​(u​))P(y​∣x​(u​))∑u​:vi​(u​)=0​P(w​[i]​∣v​[i]​(u​))P(y​∣x​(u​))​.​可以推出:di=ai+eid_{i}=a_{i}+e_{i}di​=ai​+ei​。称eie_{i}ei​为viv_{i}vi​的外部L−valueL-valueL−value

3. 外信息转移函数

  迭代解码器有两个或多个子解码器,解码器之间交换外部对视似然函数值(或交换外部概率)。随后的分析使用互信息。

  来自一个解码器的eie_{i}ei​通过交织器作为先验值反馈给另外一个解码器,定义:

  1. IA=1m∑i=1mI(Vi;Ai)I_{A}=\frac{1}{m} \sum_{i=1}^{m} I\left(V_{i} ; A_{i}\right)IA​=m1​∑i=1m​I(Vi​;Ai​),进入解码器的平均先验信息
  2. IE=1m∑i=1mI(Vi;Ei)I_{E}=\frac{1}{m} \sum_{i=1}^{m} I\left(V_{i} ; E_{i}\right)IE​=m1​∑i=1m​I(Vi​;Ei​),译码器输出的平均外部信息

外信息转移函数图即IEI_{E}IE​关于IAI_{A}IA​的曲线,它们之间可以通过码字的参数和信道的参数联系起来。

从eie_iei​表达式中可知其是关于Y‾\underline{Y}Y​和W‾[i]\underline{W}_{[i]}W​[i]​的函数,W‾[i]\underline{W}_{[i]}W​[i]​ and A‾[i]\underline{A}_{[i]}A​[i]​可根据aia_{i}ai​定义式相互推导,所以I(Vi;Ei)≤I(Vi;Y‾W‾[i])=I(Vi;Y‾A‾[i])=I(Vi;Y‾,A‾[i])I\left(V_{i} ; E_{i}\right) \leq I\left(V_{i} ; \underline{Y} \underline{W}_{[i]}\right)=I\left(V_{i} ; \underline{Y} \underline{A}_{[i]}\right)=I\left(V_{i} ; \underline{Y}, \underline{A}_{[i]}\right)I(Vi​;Ei​)≤I(Vi​;Y​W​[i]​)=I(Vi​;Y​A​[i]​)=I(Vi​;Y​,A​[i]​),在具有外部消息传递的后验解码器中,该不等式取等I(Vi;Ei)=I(Vi;Y‾A‾[i])I\left(V_{i} ; E_{i}\right)=I\left(V_{i} ; \underline{Y} \underline{A}_{[i]}\right)I(Vi​;Ei​)=I(Vi​;Y​A​[i]​)。

如果所有ViV_iVi​分布相同,且外部信道无记忆且时不变,那么IA=I(V1;A1)∈[−1,1]I_{A}=I\left(V_{1} ; A_{1}\right) \in [-1,1]IA​=I(V1​;A1​)∈[−1,1]。

如果采用后验解码器,IE=1m∑i=1mI(Vi;Y‾A[i]‾)I_{E}=\frac{1}{m} \sum_{i=1}^{m} I\left(V_{i} ; \underline{Y} \underline{A_{[i]}}\right)IE​=m1​∑i=1m​I(Vi​;Y​A[i]​​)

7. LDPC码的EXIT分析

第一个下标表示先验信息a或者外信息e,第二个字母表示解码器v或者c

Iev=f′(Iav,Ich)=f(Iav,Eb/N0)I_{\boldsymbol{ev}}=f^{\prime}\left(I_{av}, I_{c h}\right)=f\left(I_{av}, E_{b} / N_{0}\right)Iev​=f′(Iav​,Ich​)=f(Iav​,Eb​/N0​)表示VND输出的互信息时关于输入互信息和信道信息的函数f。
Iec=g(Iac)I_{e c}=g\left(I_{ac}\right)Iec​=g(Iac​)表示CND输出的互信息仅时输入互信息的函数。
  EXIT图即f和g−1f和g^{-1}f和g−1在同一图中,描述平均互信息的传递过程, 在不需要仿真误比特率曲线的前提下可直观地判断译码的收敛性, 得到特定码型的收敛门限值: 如果在 Eb/N0E_{b} / N_{0}Eb​/N0​ 一定的情况下, 上述两条曲线除了在(1,1)外均不相交, 表明该信噪比情况下译码器能够收敛; 减小 Eb/N0E_{b} / N_{0}Eb​/N0​, 两条曲线之间的距离会逐渐变小, 直到两曲线在没有其它交点的情况下相距最近, 此时得到的信噪比对应的噪声方差就是所求的收敛门限值。

主要难点在于公式的推导,即3中俩公式在特定码字中的化简过程。推导过程公式太多不好打,略去。
参考文献:LDPC码的EXIT图
规则码的EXIT图,参考自github[LDPC_tools-main]:

function out = J_sigma(sigma)
% this function is one of the steps in the EXIT calculation
% Ref. [1] Design of Low-Density Parity-Check Codes for Modulation and
% Detection -- Stephan ten Brink et al. Appendixsigma_star = 1.6363;
aj1 = -0.0421061;
bj1 = 0.209252;
cj1 = -0.00640081;
aj2 = 0.00181491;
bj2 = -0.142675;
cj2 = -0.0822054;
dj2 = 0.0549608;if sigma >= 0 && sigma <= sigma_starout = sum([aj1 bj1 cj1].* (sigma.^([3 2 1])));elseif sigma > sigma_starout = 1 - exp(sum([aj2 bj2 cj2 dj2].* (sigma.^([3 2 1 0]))));elseout = 1;end
function out = J_sigma_inv(ei)
% this function is one of the steps in the EXIT calculation
% Ref. [1] Design of Low-Density Parity-Check Codes for Modulation and
% Detection -- Stephan ten Brink et al. Appendixei_star = 0.3646;
as1 = 1.09542;
bs1 = 0.214217;
cs1 = 2.33727;
as2 = 0.706692;
bs2 = 0.386013;
cs2 = -1.75017;if ei >= 0 && ei <= ei_starout = sum([as1 bs1 cs1].* (ei.^([2 1 0.5])));elseif ei > ei_star && ei < 1out = - as2 * log(bs2*(1 - ei)) - cs2 * ei;elseout = 10;fprintf('Numerical error in the inverse J_sigma function\n');end
function out = Iev_Iav(I_av, sigma_ch, dv)
% this function calculate the EXIT curve for variable nodes with degree dv
% Ref. [1] Channel Codes classical and modern -- William E. Ryan and Shu Lin
% (9.42)I_ev = zeros(1,length(I_av));
for ii = 1:length(I_av)tmp = J_sigma_inv(I_av(ii));J_arg = sqrt((dv - 1)*tmp^2+sigma_ch^2);I_ev(ii) = J_sigma(J_arg);endout = I_ev;
function out = Iec_Iac(I_ac,  dc)
% this function calculate the EXIT curve for check nodes with degree dc
% Ref. [1] Channel Codes classical and modern -- William E. Ryan and Shu Lin
% (9.43)I_ec = zeros(1,length(I_ac));for ii = 1:length(I_ac)tmp = J_sigma_inv(1 - I_ac(ii));J_arg = sqrt((dc - 1)*tmp^2);I_ec(ii) = 1 - J_sigma(J_arg);endout = I_ec;
clear
close all
% this script calculate the EXIT chart for regular LDPC ensemble
% Ref. [1] Channel Codes classical and modern -- William E. Ryan and Shu Lin
% (9.42) (9.43)dv = 3;
dc = 6;
code_rate = dv/dc;
ll = 0;
Ps = 1;
EbN0_dB = 1.1;
EbN0 = 10^(EbN0_dB/10);
sigma = sqrt(Ps/EbN0);
sigma_ch = sqrt(8 * code_rate * EbN0);I_av = 0:0.05:1;
I_ev = Iev_Iav(I_av, sigma_ch, dv);plot(I_av, I_ev)I_ac = 0:0.05:1;
I_ec = Iec_Iac(I_ac, dc);hold on
plot(I_ec, I_ac)

编解码方案性能分析工具:外信息传递图(EXIT chart)及LDPC-EXIT代码参考相关推荐

  1. 4大JVM性能分析工具详解,及内存泄漏分析方案

    谈到性能优化分析一般会涉及到: Java代码层面的,典型的循环嵌套等 还会涉及到Java JVM:内存泄漏溢出等 MySQL数据库优化:分库分表.慢查询.长事务的优化等 阿里P8架构师谈:MySQL慢 ...

  2. FISCO BCOS工程师常用的性能分析工具推荐

    FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...

  3. mysql 性能分析_十大MySQL性能分析工具汇总!专治MySQL性能瓶颈

    前言 MySQL 数据库最常见的两个瓶颈是CPU和I/O的瓶颈.CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候,磁盘I/O瓶颈发生在装入数据远大于内存容量的时候. MySQL数据库性能 ...

  4. 第09章_性能分析工具的使用

    第09章_性能分析工具的使用 文章目录 1. 数据库服务器的优化步骤 2. 查看系统性能参数 3. 统计SQL的查询成本:last_query_cost 4.定位执行慢的 SQL:慢查询日志 4.1 ...

  5. 系统级性能分析工具perf的介绍与使用

    测试环境:Ubuntu16.04 + Kernel:4.4.0-31 apt-get install linux-source cd /usr/src/tools/perf make &&am ...

  6. Linux常用性能分析工具汇总

    文章目录 性能分析工具 top pstree mpstat vmstat pidstat perf proc tcpdump bcc工具箱 cachestat cachetop memleak fil ...

  7. 系统级性能分析工具 — Perf

    从2.6.31内核开始,linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找. perf Performance analysis tools for Linux. Perf ...

  8. ASN.1编解码:ORAN-E2AP分析

    ASN.1编解码:ORAN-E2AP分析 荣涛 2021年8月25日 rongtao@sylincom.com 前面的文档讲述了如何编译asn1c,如何选取合适的asn1c软件版本,及其简单使用方法. ...

  9. valgrind和Kcachegrind性能分析工具详解

    作者: zhuyong 原文地址 一.valgrind介绍 valgrind是运行在Linux上的一套基于仿真技术的程序调试和分析工具,用于构建动态分析工具的装备性框架.它包括一个工具集,每个工具执行 ...

最新文章

  1. java(十)IO流
  2. fatal: unable to access : The requested URL returned error: 403
  3. python绘制正态分布曲线
  4. 7月份计划-----dream
  5. 电子商务平台支付接口开发原理及流程
  6. HDU - 5381 The sum of gcd(莫队/线段树区间合并)
  7. 负载均衡算法 — 轮询
  8. 原生JS字符串操作方法汇总
  9. 服务器将office转pdf文件,Windows服务-Office转PDF文件
  10. Python文件操作的几个要点与示例
  11. 重启sql server 服务
  12. openstack服务启动之nova-compute
  13. 兴业银行研发中心笔试题_2021国考笔试成绩即将发布,面试重点考什么?
  14. 范华:资产配置是非常客户化的过程
  15. epcs1s是epcs1系列的么_串行FLASH配置芯片(EPCS1或EPCS4)数据手册.pdf
  16. 计算机管理磁盘管理右键无反应,win7系统删除磁盘管理磁盘右键菜单只有“帮助”的解决技巧...
  17. 中国石油大学《工程概预算与招投标》第一阶段在线作业
  18. 第1讲、Cadence Allergo绘制小马哥DragonFly四轴飞行器PCB四层板教程简介
  19. 益阳城市学院计算机2008毕业学生蒋旭,毕业生档案交寄单.doc
  20. 微信打飞机小游戏的尝试

热门文章

  1. 拼多多如何撤销退店?万顿思教育
  2. 机械原理复习试题及答案
  3. win10安装sshpass_安装sshpass
  4. 蓝牙遥控器连接流程分析
  5. 清华职业学校计算机培训学校,成都青华职业学校2021招生简章
  6. 天津计算机专业,天津的大学计算机专业排名
  7. 22考研|英语词汇该如何记忆?
  8. 你对区块链的理解还停留在炒币上吗
  9. python存储JSON
  10. 【完全解析】Lumion 9.0 新功能与改进