[发明专利]一种通用高速并行循环交错维特比译码方法有效
申请号: | 201110214224.9 | 申请日: | 2011-07-28 |
公开(公告)号: | CN102361460A | 公开(公告)日: | 2012-02-22 |
发明(设计)人: | 张浩;崔骞;战勇杰;张拯宁 | 申请(专利权)人: | 航天恒星科技有限公司 |
主分类号: | H03M13/41 | 分类号: | H03M13/41 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 安丽 |
地址: | 100086 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通用 高速 并行 循环 交错 译码 方法 | ||
技术领域
本发明涉及一种通用高速并行循环交错维特比译码方法,主要用于对解调后的高速数据进行维特比译码,纠正数据在信道传输过程产生的错误,属于通信技术领域。
背景技术
卷积码是由伊莱亚提出的一种非分组码,主要用于纠正信道传输中产生的随机错误,已被CCDSS(国际空间通信咨询委员会)列为空间通信的信道编码标准。卷积码主要有三种的译码算法:
(1)门限译码,又称大数逻辑译码,这是一种利用码代数结构的代数译码方法;
(2)序列译码,这是基于码树图结构上的一种准最佳的概率译码;
(3)维特比译码(Viterbi),这是基于码的网格图(Trellis)基础上的一种最大似然算法,是一种最佳概率译码方法。
代数译码仅用于简单的卷积码,优点是译码电路简单而且延时小,适用于高速应用;缺点是编码增益一般都不大,而且只能适用于硬判决译码。序列译码和Viterbi译码都属于概率译码,由于它们不仅基于码的代数结构,而且利用了信道的统计特性,因而能充分发挥卷积码的特点,使译码错误概率达到很小。Viterbi译码在码的约束度较小时,比序列译码算法效率更高,速度更快,译码器也更简单。因此Viterbi译码得到了广泛应用,特别是在空间通信系统中。CCSDS建议采用3比特量化的Viterbi译码。
国内外在Viterbi译码算法的研究主要取得了以下三方面的进展:一是为了减少Viterbi译码器的复杂性,使其小型化、集成化;二是在性能下降不多的情况下,减少Viterbi译码中的计算量,出现了一些减少运算量和提高译码速率的新算法;三是从算法上寻找新的突破,更有利于VLSI上实现,以大幅度地提高Viterbi译码器的译码速率,以便能应用于更高速、更高性能的场合。
Viterbi译码算法的原理是将接收码和本地生成码比较,基于卷积码的网格图表示法,依据接收到的信息作为先验信息,从所有可能的路径中选择出最可能的序列作为输出。Viterbi译码器一般由三部分组成:
(1)BMU(分支度量值单元);
(2)ACSU(加比选单元);
(3)SMU(幸存路径存储单元)。
如附图1所示,由于Viterbi译码算法中存在反馈回路,如果只利用Viterbi译码算法本身的并行结构,Viterbi译码器的速率将受到限制,目前一般单路Viterbi译码器的译码速率最高只能达到300Mbit/s左右。要实现更高速率的Viterbi译码器,就需要在Viterbi译码算法中引入额外的并行结构。但是由于Viterbi译码过程是一个连续的译码过程,必须接收连续输入的比特流,在网格图上按照最大似然原理寻找编码序列,这就导致无法直接将输入数据转换为并行数据进行并行译码处理。上述问题造成了在目前技术基础下,Viterbi译码算法能够实现的最高译码速率有一个上限,这个上限取决于器件水平以及译码算法的优化程度。此时,即使还有足够多的硬件资源可用,但由于无法并行实现,Viterbi译码器的译码速率也无法再提高。为了解决该难题,通常采取的措施是在发送端采用多个卷积编码器,再结合多进制调制,接收端解调后同样采用多个Viterbi译码器进行译码,这样也相当于进行了并行译码。但是上述措施并没有从根本上解决问题,当单路Viterbi译码需要较高的速率时,上诉措施将失效。本发明主要解决单路Viterbi译码的并行译码方法,提高译码速率。
发明内容
本发明的技术解决问题是:针对现有技术的不足,提供了一种通用高速并行循环交错Viterbi方法,通过对数据进行循环交错并行处理,实现了高速Viterbi译码。
本发明的技术解决方案是:
一种通用高速并行循环交错Viterbi译码方法,步骤如下:
(1)将虚拟比特插入输入数据中,之后进入步骤(2);所述输入数据为卷积编码器输出的串行数据经1:8串并转换形成的8bit并行数据;
(2)将步骤(1)中得到的输入数据写入分配FIFO中,所述分配FIFO是指用于临时存储输入数据的缓存;
(3)判断步骤(2)中的分配FIFO中是否已经写入(n-J)×m个字节,若已经写入(n-J)×m个字节,则进入步骤(4);若写入的输入数据不足(n-J)×m个字节,则返回步骤(2);其中,n为每个Viterbi译码器单次译码处理的数据长度,且n>6×k;k为卷积编码器的约束长度且k=7;所述J为连续两个Viterbi译码器单次译码处理数据的交错长度,且J>14bit;m为并行的Viterbi译码器的个数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天恒星科技有限公司,未经航天恒星科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110214224.9/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类