算法 S1 s3是怎样失掉的 s2 (算法工程师是干嘛的)
上方的环节中有一点疏忽,S2={(0,0),(1,2),(3,5)} s3’={(5,4)},应该改为:S2={(0,0),(1,2),(2,3),(3,5)} s3’={(5,4)}。
另外,S3={(0,0),(1,2),(2,3),(5,4),(3,5),(6,6),(7,7)...}前面的省略号补齐为:S3={(0,0),(1,2),(2,3),(5,4),(3,5),(6,6),(7,7),(8,9)}即:S0={(0,0)} ,s1’={(1,2)}S1={(0,0),(1,2)} s2’={(2,3)}S2={(0,0),(1,2),(2,3),(3,5)} s3’={(5,4)}S3={(0,0),(1,2),(2,3),(5,4),(3,5),(6,6),(7,7),(8,9)}S0很容易明确,背包是空的,所以p和w都是0;S1‘,S2’,S3‘也很容易明确,各东西的p和w。
上方看S1,S2,S3:S1由S0和S1’相叠加所得,S2由S1和S2’相叠加所得,S3由S2和S3’相叠加所得举个例子,S2由S1和S2’相叠加所得。
S1={(0,0),(1,2)} s2’={(2,3)}那么,S1 + s2’={(2,3),(3,5)}S2={S1,S1+S2}={(0,0),(1,2),(2,3),(3,5)}
DVB-S2 LDPC译码器
摘要:本文具体形容了DVB-S2 LDPC译码器的成功,该译码器基于Verilog言语设计,应用块级并行性以成功高吞吐量和纠错功能,虽然这或者造成硅面积增大。
文章讨论了新硅技术对译码器架构的影响。
引言:LDPC码由Gallager于1960年代提出,因其凑近香农极限的功能和无专利权的个性而取得青眼。
这些码在近期规范,尤其是用于卫星运行的DVB-S2中被宽泛驳回。
DVB-S2规范在位长的码字上驳回强编码战略,虽然旨在简化配件成功,但其编码长度使其成为以后规范中计算量最大的LDPC代码。
算法:置信流传(BP)是LDPC译码最罕用的算法,本文驳回该算法。
BP算法围绕迭代信息沿Tanner图传递的概念倒退。
信息在奇偶校验位和似然值之间传递,初始似然值基于通道品质及接纳符号与星座点的欧几里得距离。
信息以对数似然比(LLR)方式传递,便于概率比示意及便捷算术运算。
奇偶校验方程计算结果为零,校验节点依据每个衔接节点的符号确定每个衔接的VN上预期的奇偶校验位。
预期值与似然值一起传递至每个衔接的VN,VN降级后,循环开局。
信息偏差于增强与奇偶校验方程分歧的位,纠正失误。
图2展现了信息传递环节,从变量节点至校验节点,再到下一次性迭代中的VN降级。
查尔姆斯理工大学IT++库被用于探求成功中的掂量。
现实BP成功要求组合来自变量节点的信息以创立最佳牢靠性信息。
最小和算法提供相似功能,但计算复杂度更低。
最小和算法在计算较小时钟周期中组合似然值,经常使用最无法能接纳的信息作为除一条边之外的一切边结果的近似值。
传输最小LLR的边独自计算信息,由于其余边接纳的结果不能用于计算沿同一边回流的信息。
经常使用次小LLR作为近似值。
最小和方法简化算术,并降低存储需求。
在现实BP算法与配件提升版本之间启动功能比拟。
现实状况下,LLR示意为十分精细的量化值,而配件成功中,信息值量化为较少位。
不同字宽下的最小和模拟显示,12位量化时功能简直与现实BP相反,8位量化时略有降低,4位或更大批化位造成功能无法接受。
非线性信息示意提高了信息紧缩,坚持与线性示意相反的功能。
针对DVB-S2的LDPC规范启动的仿真未能重现此结果。
经常使用不同长度的对数表启动模拟,发现最大值等于或两倍于线性表的量级时功能最佳。
编码打算经过删除冗余的有符号零示意来提高信息粒度。
编码输入被正或负1偏移,坚持零左近的对称性,提高信息粒度。
但是,在某些EbN0值下,功能优于线性成功,但随着EbN0参与,功能降低,与规范BCH译码器的要求不符。
削波接纳信号在某些状况下可提高功能,但发生本底噪声。
经常使用±2剪切水平成功最佳BER。
在DVB-S2上启动的仿真标明,选用此削波值功能略好。
架构:DVB-S2规范要求长度高达位的码字,并具备超越280,000条边。
并行传递信息不实际践,指标功能水平为135Mbps,假定综合结果运转于200MHz或更快频率下。
基于此,计算最小并行度为360。
参与频率或经常使用双端口RAM可以准许更高并行性,同时参与控制逻辑复杂性。
外围是移位网络,将360个输入信息转换为360个输入,驳回桶形旋转而非交叉衔接。
每个VN衔接到两个RAM,区分用于存储LLR值和来自CN的传入信息的总和。
每个VN经常使用加法器兼并传入信息并创立传出信息,经常使用寄存器保留I/O数据和信息。
每个CN衔接到宽RAM,保留两个最小传入LLR值、一切传入信息的符号、最小值位置及一切传入信息的奇偶校验结果。
经过读取最小LLR值之一及特定边的预期符号值生成发送给VN的信息。
控制模块读取ROM以失掉移位网络的移位值和CN的写/读地址。
在正向方向上,间接经常使用这些值。
在相反方向上,值被逆转,准许信息沿同一边在两个方向高端动。
控制模块还需补救移位网络、VN和CN中的提前。
图4为顶层框图,图5展现初步VN内存组织。
引入加扰因子以创立伪不规定边缘形式,此形式与图6中CN内存组织坚持分歧。
图7展现最终VN内存组织,奇偶校验VN位已被因子q打乱,与CN组织坚持分歧。
q=(n-k)/360。
为防止经常使用大型RAM,CN存储上一个抢先信息中发送的信息,并从收到的下游信息中减去该值。
此方法准许在VN中经常使用小型RAM,但会降低功能,由于有效信息位数缩小1。
分层译码不实用于此架构,由于它须要在每次迭代时期屡次更改信息传递方向,参与每次迭代周期。
传递信息按奇偶校验矩阵行顺序而不是列顺序,这与提议的内存布置不分歧。
具体设计:LLR数据经过寄存器链串行加载到VN中,经常使用信号控制信息传递和RAM与寄存器链的数据替换。
信号“start”加载参数,开局译码环节。
控制器治理VN和CN之间的信息替换,经常使用ROM读取指标边,并创立地址及基于边的写使能信号。
移位器将CN和VN信息复用到移位器管道中,准许在三个周期内启动旋转。
信号控制多路复用器,区分在前半局部和后半局部经常使用“vn_concat”和“cn_concat”。
验证:经常使用C言语编写的预期行为模型,检测C和Verilog模型之间的不婚配。
测试RTL的纠错功能,经过向随机帧参与噪声并测试不同EbN0值下的功能。
功能:经过仿真测试纠错功能,结果显示合乎预期,包含从噪声区域到瀑布区域的过渡。
结果显示,随着EbN0的参与,失误数量或者差异很大。
一些曲线显示,随着EbN0参与,失误缩小,而不是预期的极速降低,这或者是量化值选用不当造成的早期本底噪声。
设计存在改良空间,如从新组织内存以节俭一半的RAM应用率,将VN和CN数据存储在一个公共RAM中。
以后架构中内存重组是一个应战,由于须要在VN和CN以不同速率访问和写入数据。
经常使用以后逻辑,此类更改将须要3端口RAM。
综上所述,DVB-S2 LDPC译码器设计基于Verilog言语,驳回块级并行性以成功高吞吐量和纠错功能。
设计经过最小和算法提升,以降低计算复杂度。
但是,存在内存提升和架构改良的空间,以进一步提高功能和效率。
设计一个算法 求1-1/2+1/3-1/4+、、、+1/99-1/100
[例2.4]求1-1/2+1/3-1/4+…+1/99-1/100算法如下:S1:sign=1S2:sum=1S3:deno=2S4:sign=(-1)*signS5:term=sign*(1/deno)S6:sum=sum+termS7:deno=deno+1S8:若deno100前往S4;否则算法完结。
文章评论