论文研究-具有高速递归结构的基-4MAP译码器.pdf

所需积分/C币:5 2019-09-10 17:09:52 1.14MB .PDF
收藏 收藏
举报

Turbo码在许多无线通信系统中展示了其良好的纠错性能。但是由于MAP算法中的递归运算限制,提高Turbo译码器的吞吐率是非常困难的。提出了一种新颖的MAP译码器结构。这种结构改进了基-4MAP译码器中的迭代结构以提高吞吐率,同时减少了以往基-4算法所引入的编码增益损耗。此外,该结构还采用了一种新的分块译码策略以减少译码器所需要的存储器数量。仿真与综合结果表明这种译码器结构提高了21%的吞吐率,而所引入的硬件开销增加可以忽略不计。
张成,苏文艳,刘亮,等:具有高速递归结构的基-4MAP译码器 2009,45(3)79 这个运算过于复杂,常常使用二元MAX运算来实现 正项的值,基于这个事实可以把状态度量的递归做以下的变换: n(exp(a)texp(b ))=max(a, b)+In(1+exp(-la-bl)) MAX ( MAX(a, b),MAX(c, d)= max(a, b)+lut(a, b)=MAX (a, b) (8) MAX (max(a, b)+lut(a, b), max(c, d)+lut(c, d))= 其中lut是近似算法的修正项,当la-b足够大(>2)时,ln(1+ max( max(a, b)+lut(a, b), max(c, d)+ut(c, d))+ xp(-la-b1))即可忽略不计。在实际硬件中,可以使用查找表来 lut((max(a, b)+lut(a, b)),(max(c, d)+lut(c, d))) 实现这个修正项。这样我们就可以使用一个ACSO运算单元来 max(a, b,c, d)+lut( max(a, b), max(c, d))+ 实现状态度量的递归运算,如图3所示。 sel( lut(a, b),lut(c, d)) (l1) 其中的sel函数实现如下的功能:如果a、b、c、d的最大值为 MSE LUT a或b,则sel函数的值为lut(a,b),否则输出lut(c,d)。通过加 上这个修正项,得到了比文献[4-5中更加精确的近似。但是显 然这种变化会使得电路的运算增加一个加法,电路的关键路径 因此仍然偏大。为了避免这种情况,改进了递归运算单元,使其 Cin2 变成一种 OASCO结构。如图5所示。 图3基-2ACSO运算单元 △a12 对于基-4MAP译码器,由于每个前向状态度量对应前 比特中的四个状态度量。这样公式(6)就是一个四元对数-加 MSB 指数运算。类似的,也可以将其转换为三个MAX*运算。如公式 (9)所示 LUTH lutai In(exp(a)texp(b)+exp(c)+exp(d))= MSB LUTH+D In(exp(In(exp(a)texp(b)))+exp(In(exp(a)+exp(b))))= MSR In(exp( MAX(a, b ))+exp( MAX"(c,d)))= MAX(MAX' (a,b), MAX (c, d)) (9) △a 显然,对于硬件实现而言,实现这样的基-4运算所需要的 时间是公式(8)中运算的一倍。也就是说,电路的关键路径会增 fut /oina a"(与α'需要在下次叠 代时相减的状态度量) 加一倍,工作的最高频率也会因此降低一倍。这样,虽然电路可 以在每个周期译出两个比特的数据,但是考虑到延时增加带来 图5改进的基40ASCO递归运算单元 的工作频率的降低,整个电路的吞吐率并没有因此改善。在文 献[4-5中,使用一种近似的办法来进行基-4递归运算,如公式 首先将传统ACSO单元中最后一步对修正项的加法运算 (10)所示 移至第一步,输出修正项的值以及不含修正项的状态度量值, MAX (MAX(a, b), MAX(c, d) 参与下一次递归运算。接着将网格图上每一个状态度量计算所 基于这种简化,可以构建基-4结构的ACO运身(10)需要的状态度量值两两相减,得到状态度量差注意此时用于 MAX (max(a,b), max(c, d)) 单元,如计算状态度量差的状态度量是不含修正项的。同时我们也计算 图4所示。 对应状态度量差值的分支度量的差值(例如下一次递归运算原 本需要状态度量为ca、oa,相应的分支度量为δa1、Sa2,则在递 MSB 归运算结束时需要计算的状态度量差△a12为a1-cm2,分支度 量差Δδ2为δn-δa)。由于分支度量的值是输入信道数据的简 单线性叠加,经过实验发现只需要计算两额外分支度量差值, 「UT 其余的分支度量差值均等于已有的分支度量。再将状态度量差 值与分支度量差值相加,取代传统ACSO递归运算单元中用于 比较选择的第一步减法运算。进行这样简化的原因是:如果两 D 个状态度量值之差很大,那么修正项就为0,忽略修正项将不 MSB 会改变减法的结果,也就不会改变选择的结果。另外一方面,如 果两个状态度量值非常接近,那么即使修正项可以改变减法的 结果,选择任何一个状态度量都不会引入很大的误差。由于将 修正项的加法运算移至所有递归运算的第一步,因此在递归运 算的开始需要进行三个数的加法运算。使用文献[7中的进位保 图4文献4-5中的基-4ACSO运算单元结构 留结构来减少加法器的延时,如图6所示。 9]8a{8][8 a[2] 8[2] a[l]8[] LUT[I] c[0]8[O LUTTO 图4中所示结构可以达到相对较高的吞吐率,但是由于采 用了忽略了两个修正项,纠错性能会因此而下降。在介绍的基 异或门全加器 全加器全加器 全加器 4结构MAP译码器中,采用了一种新的近似方法来实现基-4状 态度量递归运算。首先,由于在计算中状态度量的值远大于修 图6用于计算三个数加法的进位保留加法器 802009,45(3) Computer Engineering and Applications计算机工程与应用 在MAP译码器中,查找表的延时比9位加法器要小,而进3.3后验对数似然比计算 位保留加法器所引入的延时可以忽略不计。因此我们的 由公式(7)可看到,译码的最后一步计算后验对数似然比 OASCO结构的总延时大约为9位加法器的三倍。作为比较,文是16个操作数的对数-和-指数运算由于运算量非常大,直接 献[4-5所提到的结构总延时大约为9位加法器的四倍外加查用硬件实现这个运算是非常困难的。为了减少运算的复杂度, 找表的延时。 将16个数的运算分割多个二元对数-加-指数运算,这样每一 3.2分块译码策略 个对数-加-指数运算就可以用二元MAX*运算来近似。此外 对于MAP译码器,为了减少译码延时,分块译码是目前常还使用图3中的ACSO递归运算单元来实现每一个二元MAX 用的译码方法。分块译码的基本思想是,将一帧数据分为长度运算。由于最后一步操作不需要进行递归运算,因此我们可以 为L的若干块进行递归运算。当对第n块中的后向状态度量进用流水线结构来进行以提高吞吐率。最终后验对数似然比计算 行计算时,首先从第n+1块中的某一点开始进行预计算,我们单元的结构是一个MAX*树的结构,如图8所示。 假设此点的后向状态度量为常数。这样,只要预计算的长度足 d,3 d da ds do d dinn dig din dinis dinO 够大,在第n块时状态度量初始值的影响已经可以忽略不计 那么就可以认为预计算进行到第n块时,后向状态度量已经等 第一级 MAX MAX MAX MAX MAX流水 同真实值。文献[2中指出,对于卷积码,预计算的长度只要达到 约束长度的5~10倍,便可以认为预计算结果趋于真实值。图7 第二级 MAX MAX MAX MAX 流水线 给出了两种不同的分块译码策略。 第三级 第一个周期预计算结在L个周期内 MAX MAX 流水线 果忽略,为前向状态将数据用 度量计算写LIFO LIFO暂存 第四级 后向状态度 MAX 流水线 量预计算 后向状态度 量计算 图8后验对数似然比计算单元的MAX*树结构 向状态度 量计算 4综合以及仿真结果 在 MATLAB下对三种结构的MAP译码器进行建模以比 较性能。结构R是基-2结构MAP译码器,结构T为文献阵-5 Ck-axis (a)传统分块译码策略(b)改进的分块译码策略中所介绍的基-4MAP译码器,结构C是具有本文所介绍的 图7两种不同的分块译码策略 MAP译码器。我们假设调制方式为BPSK,信道模型为AWGN 帧长度为256bit,编码器为[15,17]的RSC卷积码译码器。所有 传统的分块译码策略如图7(a)所示。首先译码器从RAM数据被量化为9位二进制数,其中7位为整数位,2位为小数 中读取两组数据,进行后向状态度量预计算。预计算结束后,开位。在6次迭代后,三种不同结构的误码率曲线如图9所示。 始对第一个数据块进行后向状态度量计算,同时预计算处理单 元处理下一个数据块的预计算。当第一个数据块的后向状态度 专结构R -结构C 量计算完成后,再开始计算这个数据块的前向状态度量。这样, 由于每个递归计算单元需要不同的数据,因此每个周期MAP 十结构T 译码器需要访问六个不同的地址。为了满足译码器的需求,就 必须将每段数据分块存入三个双端口RAM。 10 在本文的MAP译码器中,采用一种改进的分块译码方法 策略以减少存储器的开销。如图7(b)所示,令数据块的长度和 预计算的长度均为L。首先,用于预计算的后向状态度量计算 单元在L/2个周期内先逆序取出L组数据,在完成预计算的同 1.01.21.41.61.82.02.22.4 时将他们存入第一个LIFO。在下L2个周期内,第一个LIFO 信噪比/dD 将数据以正序输出到前向状态度量计算单元以进行正向状态 图9三种不同结构的MAP译码器的性能比较 度量计算,同时,再将这些数据以正序存入第二个IIFO。第三 个L2周期,第二个LIFO将数据输出至后向状态度量计算单 可以发现,由于基-2结构的近似最少,因此基-2结构拥有 元完成后向状态度量的计算。在每帧译码的开头,我们让预处最好的译码性能。传统基-4结构的MAP译码器相对基-2结构 理单元和第一组LFO读取L组数据,但是并不需要预处理单有0.4dB的性能损失。由于引入了更加精确的近似,该结构相 元的计算结果,仅仅是填充第一个LIFO以满足第一个数据块对传统基4MAP译码器而言有着更好的译码性能 的前向状态度量计算单元的需要。采用的这种分块译码数据策 使用 Verilog语言对这三种结构的递归运算单元进行了硬 略,并没有増加译码时间,但是由于两组LIFO的使用,同一地件实现并在SMC0.18微米的标准单元库下进行了综合。结果 址的数据不需要反复读取,对于整个译码器而言同一时间只需如表1所示。可以看出,本文的结构所达到的吞吐率要髙于其 要方位两个不同的地址。因此译码器仅仅需要一片双端口它两种结构。由于urbo译码器的很大一部分面积是来自于其 RAM即可满足需求。 (下转90页)

...展开详情
试读 4P 论文研究-具有高速递归结构的基-4MAP译码器.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    weixin_38743481 如果觉得有用,不妨留言支持一下
    2019-09-10
    • 至尊王者

      成功上传501个资源即可获取
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    论文研究-具有高速递归结构的基-4MAP译码器.pdf 5积分/C币 立即下载
    1/4
    论文研究-具有高速递归结构的基-4MAP译码器.pdf第1页
    论文研究-具有高速递归结构的基-4MAP译码器.pdf第2页

    试读已结束,剩余2页未读...

    5积分/C币 立即下载 >