一种高速低功耗多码率的Viterbi译码器的制作方法

文档序号:7535992阅读:268来源:国知局
专利名称:一种高速低功耗多码率的Viterbi译码器的制作方法
技术领域
本发明涉及通信领域Viterbi译码器,尤其涉及一种高速低功耗多码率的 Viterbi译码器。
背景技术
在无线通信系统中,由于无线信道存在反射、散射和衍射而造成的多径衰落,会造 成时间、频率和空间域上的弥散,必然会对传输数据引入失真和信号判决错误。信道编码技 术通过在信息序列中加入冗余码元,来发现、纠正传输中发生的信号错误,从而提高系统的
可靠性。目前无线通信对数据吞吐率提出了越来越高的要求,如下一代无线局域网(WLAN) 协议IEEE 802. Iln采用正交频分复用(OFDM)、多输入多输出(ΜΙΜΟ)、空时编码(STBC)等 技术,物理层理想速率最高达600Mbps。为了抵抗由于频率选择性衰落信道造成的OFDM子 载波衰落效应,它采用前向纠错码(FEC)和交织。在IEEE 802. Iln中的信道编码方式之一 是卷积码,码率有4种1/2,2/3,3/4和5/6。现代无线通信中常常需要达到几百兆的数据 吞吐率,这对译码器的工作频率及数据吞吐率提出很高的要求。同时无线设备成本和功耗 的要求提出了需要降低译码器实现的复杂度和功耗。为了提高频谱的利用率,多码率的卷 积码一般都应用到现代的无线通信中。因此实际应用中对卷积码的要求,相应的Viterbi 译码器需要能有高速、低功耗、多码率的设计。因此,在实际Viterbi译码器实现中,需要综合考虑这速度、功耗和多码率三个方 面,如何在提高数据吞吐率的前提下尽量降低译码器的功耗。

发明内容
(一)要解决的技术问题有鉴于此,本发明的主要目的是提供一种高速低功耗多码率的Viterbi译码器。( 二 )技术方案为达到上述目的,本发明提供了一种高速低功耗多码率的Viterbi译码器,包含 分支度量单元、加比选单元、路径度量存储单元、幸存路径存储单元、输出单元和控制单元, 其中分支度量单元,用于计算接收符号与网格图分支上相应分支符号之间的距离,并 将计算结果输出给加比选单元;加比选单元,用于将进入每一状态的两条分支的前一时刻的幸存路径度量值与相 应分支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径度量值,对应的 路径为幸存路径,然后将幸存路径度量值输出给路径度量存储单元,将幸存路径输出给幸 存路径存储单元;路径度量存储单元,用于存储加比选单元输出的更新的路径度量值;幸存路径存储单元,用于通过对加比选单元输出的幸存路径进行处理来得到译码比特,并输出给输出单元;输出单元,用于完成译码器的缓冲输出;控制单元,用于控制译码器中分支度量单元、加比选单元、路径度量存储单元、幸 存路径存储单元和输出单元的协调工作与同步。上述方案中,该译码器的每个模块都带有输入使能的信号,这样可让译码器工作 在不同的码率和不同的输入数据的形式。上述方案中,所述分支度量单元以绝对距离来表示收符号与网格图分支上相应分 支符号之间的距离,并通过减法器来实现。上述方案中,所述的分支度量单元采用绝对距离的方法,对于不同码率,在补孔单 元中根据码率在相应的补孔的量化数前面加上一个标志位来标志此处码符号为补孔值,相 应在分支度量计算单元中通过这个标志位来禁止相应比特的度量值的计算,此时得到相应 的码符号处的绝对距离为0。上述方案中,所述加比选单元是基于蝶形运算单元,蝶形运算单元的个数与译码 器的状态数有关,每个蝶形运算单元包含4个加法器、2个比较器和2个选择器。上述方案中,所述幸存路径存储单元包含输入选择单元、寄存器交换单元和输出 选择单元,其中输入选择单元将加比选单元得到的幸存路径依次循环写入到寄存器交换单元的 寄存器交换小组中,这种循环写入是通过一个计数器来控制写入的寄存器交换小组的序 号,序号是从0增加到最大寄存器小组的数目,增加由幸存路径有效时将计数器加1,再根 据计数器的数值将相应的幸存路径存入与计数器相同数值的寄存器交换小组中,当计数器 达到最大的值,即寄存器交换小组的数目时,计数器置位0,接下来重复前面的过程;寄存器交换单元由一定数量的寄存器交换小组单元构成,组数一般为约束长度的 5 7倍,寄存器交换小组的输出反馈给输入选择单元中,通过输入选择单元中的计数器来 选择当前的寄存器交换小组的输入是当前寄存器交换小组的输出还是当前的幸存路径,当 计数器的数值等于寄存器交换小组的序号时,则将幸存路径输入到当前的寄存器交换小组 中,若不等,则将当前寄存器交换小组的输出作为输入给当前的寄存器交换小组;输出选择单元是依次循环的读取寄存器交换小组中的数据得到译码比特。(三)有益效果从上述技术方案可以看出,本发明具有以下有益效果1、本发明提供的这种高速低功耗多码率的Viterbi译码器,并行的加比选单元提 高了数据的吞吐率。2、本发明提供的这种高速低功耗多码率的Viterbi译码器,动态的输入输出选择 单元,将加比选单元处理得到的幸存路径动态的输入到幸存路径存储单元中的寄存器交换 小组中,经过一定时钟周期的译码处理后,通过输出选择单元动态的选择寄存器交换小组 中的数据作为译码输出,从而在得到译码比特的同时降低译码器的功耗。3、本发明提供的这种高速低功耗多码率的Viterbi译码器,模块采用使能信号的 设计方法,可以灵活处理不同码率下的不同输入数据流的形式。


图1是(2,1,7)卷积码编码器;图2是本发明中利用到的Viterbi译码的网格图;图3是本发明提供的高速低功耗多码率Viterbi译码器的结构示意图;图4是本发明的加比选单元的结构图;图5是加比选单元中的蝶形单元图;图6是最高为清零电路的结构图;图7a是本发明幸存路径存储单元的结构示意图;图7b是本发明寄存器交换小组单元的结构示意图;图8是本发明译码器在TGN信道A下的误码率曲线图;图9是本发明译码器在TGN信道B下的误码率曲线图;图10是在TGN信道A下寄存器翻转减少比例图;图11是在TGN信道B下寄存器翻转减少比例图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本发明进一步详细说明。 以WLAN中使用的卷积码为例。在WLAN中1/2码率的卷积码是通过生成多项式Gl =1330CT和Gl = 1710CT来定义的,约束长度为7,如图1所示,其余码率(2/3,3/4,4/5) 是在1/2码率的基础上按照相应的删余模式进行删余得到的。如图2所示是(2,1,7)卷积码的网格图。Viterbi译码算法的实质就是在如图2 中网格图上选择与接收符号序列距离最短的一条路径作为结果来进行译码。从图2的网格 图中可以看到,如果从状态0出发的2条路径,在某一状态会汇合,而且以后这2条路径一 直复合在一起,由于复合部分分支对于路径度量的贡献是相同的,所以在汇合点上就可以 删掉这2条路径中前面部分路径度量较大的那一条。因此在任何时刻,对进入每一状态的 所有路径只需保留其中一条具有最小部分路径度量的路径,这条被保留的路径称为幸存路 径。(2,1,7)卷积码的状态数为64个,在任何时刻,译码器需要保存64条幸存路径,同时保 存这64条幸存路径所对应的路径度量值。在时刻6以后,每个状态都有2条路径进入,每 条路径的部分路径度量值都等于前一时刻出发状态的幸存路径度量值与相应的分支度量 之和,比较这两个和,取其中较小的为幸存路径度量值,对应的路径为幸存路径,并把幸存 路径度量值和幸存路径存储在相应的存储器中。这样,在以后时刻进行类似的操作来获得 幸存路径度量值和幸存路径,将得到的幸存路径进行处理即可得到译码。图3是本发明提供的高速低功耗多码率Viterbi译码器的结构示意图,输入数据 是以块的形式出现,通过信号framejtart和frame_end分别标示数据块的开始和结束,通 过信号din_Valid标示数据块中输入译码器数据的有效性,译码器接口上定义的这三个标 示信号是由译码器外的系统中的控制单元根据实际的情况而产生的,同时这样的信号标示 定义可以让译码器灵活性增强以处理不同输入的数据流的形式。再参照图3,本发明提供的高速低功耗多码率Viterbi译码器包含分支度量单元、 加比选单元、路径度量存储单元、幸存路径存储单元、输出单元和控制单元。其中,分支度
6量单元用于计算接收符号与网格图分支上相应分支符号之间的距离,并将计算结果输出给 加比选单元;分支度量单元以绝对距离来表示收符号与网格图分支上相应分支符号之间的 距离,并通过减法器来实现。加比选单元用于将进入每一状态的两条分支的前一时刻的幸 存路径度量值与相应分支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径 度量值,对应的路径为幸存路径,然后将幸存路径度量值输出给路径度量存储单元,将幸存路 径输出给幸存路径存储单元;路径度量存储单元用于存储加比选单元输出的更新的路径度量 值;幸存路径存储单元用于通过对加比选单元输出的幸存路径进行处理来得到译码比特,并输 出给输出单元;输出单元用于完成译码器的缓冲输出;控制单元用于控制译码器中分支度量单 元、加比选单元、路径度量存储单元、幸存路径存储单元和输出单元的协调工作与同步。如图4所示,加比选单元包含并行的32个蝶形单元和归一化防溢出处理单元,(2, 1,7)共有64个状态,需要32个蝶形单元,每个蝶形单元的结构图如图5所示,这样每个蝶 形运算单元需要4个加法器、2个比较器和2个选择器。如图6所示,归一化防溢出处理单元的输入来自于32个蝶形运算单元得到的64 个路径度量值的最高位,判断64个路径度量值的最高位比特同时位1时产生一个flag_ clear信号,通过这个信号是否为1来将64个路径度量值的最高位置位0,这样完成了防溢 出的处理。图7a是本发明幸存路径存储单元的结构示意图,幸存路径存储单元包含输入选 择单元、寄存器交换单元和输出选择单元,输入选择单元将加比选单元得到的幸存路径依 次循环写入到寄存器交换单元的寄存器交换小组中,这种循环写入是通过一个计数器来控 制写入的寄存器交换小组的序号,序号是从0增加到最大寄存器小组的数目,增加由幸存 路径有效时将计数器加1,再根据计数器的数值将相应的幸存路径存入与计数器相同数值 的寄存器交换小组中,当计数器达到最大的值,即寄存器交换小组的数目时,计数器置位0, 接下来重复前面的过程。图7b是本发明寄存器交换小组单元的结构示意图。寄存器交换单元由一定数量 的图7(b)所示的寄存器交换小组单元构成,组数一般为约束长度的5 7倍,这里我们选 择组数位40,每个寄存器交换小组单元由64个寄存器和64个2选1的选择器组成,寄存 器交换小组的输出反馈给输入选择单元中,通过输入选择单元中的计数器来选择当前的寄 存器交换小组的输入是当前寄存器交换小组的输出还是当前的幸存路径,当计数器的数值 等于寄存器交换小组的序号时,则将幸存路径输入到当前的寄存器交换小组中,若不等,则 将当前寄存器交换小组的输出作为输入给当前的寄存器交换小组。输出选择单元是依次循 环的读取寄存器交换小组中的数据得到译码比特。这种方法不需要在寄存器交换小组之间 进行数据传递,只是在寄存器交换小组内进行数据选择传递,经过一定次数的选择交换后 每组中的寄存器会收敛于译码的比特,这样就会减少寄存器组之间数据传递引起的状态翻 转,从而达到降低功耗的目的。图8是本发明译码器在TGN信道A下的误码率曲线图,此信道只有一条径,分别得 到了不同调制方式和码率下的误码率曲线图。图9是本发明译码器在TGN信道B下的误码率曲线图,此信道有九条径,分别得到 了不同调制方式和码率下的误码率曲线图。图10是在TGN信道A下得到的寄存器翻转减少比例的曲线图,其中寄存器组深度为40。随着信噪比的增加,寄存器翻转减少比例也增加,能根据信噪比的大小自动调整 功率。在BPSK和1/2码率(MCS = 1)下,从信噪比5到25,寄存器翻转减少的比例一直在 0. 6以上;在64QAM和2/3码率(MCS = 7)下,寄存器翻转减少的比例也随着信噪比增加而 增大。可见,此方法能减少寄存器翻转,降低的功耗随着信噪比增加而增加。图11是在TGN信道B下得到的寄存器翻转减少比例的曲线图,其中寄存器组深度 为40。可以得到类似的结论。由于多径的影响其减小的幅度没有信道A的明显。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详 细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡 在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保 护范围之内。
权利要求
1.一种高速低功耗多码率的Viterbi译码器,其特征在于,包含分支度量单元、加比选 单元、路径度量存储单元、幸存路径存储单元、输出单元和控制单元,其中分支度量单元,用于计算接收符号与网格图分支上相应分支符号之间的距离,并将计 算结果输出给加比选单元;加比选单元,用于将进入每一状态的两条分支的前一时刻的幸存路径度量值与相应分 支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径度量值,对应的路径 为幸存路径,然后将幸存路径度量值输出给路径度量存储单元,将幸存路径输出给幸存路 径存储单元;路径度量存储单元,用于存储加比选单元输出的更新的路径度量值;幸存路径存储单元,用于通过对加比选单元输出的幸存路径进行处理来得到译码比 特,并输出给输出单元;输出单元,用于完成译码器的缓冲输出;控制单元,用于控制译码器中分支度量单元、加比选单元、路径度量存储单元、幸存路 径存储单元和输出单元的协调工作与同步。
2.根据权利要求1所述的高速低功耗多码率的Viterbi译码器,其特征在于,该译码器 的每个模块都带有输入使能的信号,这样可让译码器工作在不同的码率和不同的输入数据 的形式。
3.根据权利要求1所述的高速低功耗多码率的Viterbi译码器,其特征在于,所述分支 度量单元以绝对距离来表示收符号与网格图分支上相应分支符号之间的距离,并通过减法 器来实现。
4.根据权利要求3所述的高速低功耗多码率的Viterbi译码器,其特征在于,所述的分 支度量单元采用绝对距离的方法,对于不同码率,在补孔单元中根据码率在相应的补孔的 量化数前面加上一个标志位来标志此处码符号为补孔值,相应在分支度量计算单元中通过 这个标志位来禁止相应比特的度量值的计算,此时得到相应的码符号处的绝对距离为0。
5.根据权利要求1所述的高速低功耗多码率的Viterbi译码器,其特征在于,所述加比 选单元是基于蝶形运算单元,蝶形运算单元的个数与译码器的状态数有关,每个蝶形运算 单元包含4个加法器、2个比较器和2个选择器。
6.根据权利要求1所述的高速低功耗多码率的Viterbi译码器,其特征在于,所述幸存 路径存储单元包含输入选择单元、寄存器交换单元和输出选择单元,其中输入选择单元将加比选单元得到的幸存路径依次循环写入到寄存器交换单元的寄存 器交换小组中,这种循环写入是通过一个计数器来控制写入的寄存器交换小组的序号,序 号是从0增加到最大寄存器小组的数目,增加由幸存路径有效时将计数器加1,再根据计数 器的数值将相应的幸存路径存入与计数器相同数值的寄存器交换小组中,当计数器达到最 大的值,即寄存器交换小组的数目时,计数器置位0,接下来重复前面的过程;寄存器交换单元由一定数量的寄存器交换小组单元构成,组数一般为约束长度的5 7倍,寄存器交换小组的输出反馈给输入选择单元中,通过输入选择单元中的计数器来选择 当前的寄存器交换小组的输入是当前寄存器交换小组的输出还是当前的幸存路径,当计数 器的数值等于寄存器交换小组的序号时,则将幸存路径输入到当前的寄存器交换小组中, 若不等,则将当前寄存器交换小组的输出作为输入给当前的寄存器交换小组;输出选择单元是依次循环的读取寄存器交换小组中的数据得到译码比特。
全文摘要
本发明公开了一种高速低功耗多码率的Viterbi译码器,包括分支度量单元、加比选单元、路径度量存储单元、幸存路径存储单元、输出单元和控制单元,加比选单元接收分支度量单元的分支度量值并将处理后得到的幸存路径送到幸存路径存储单元进行译码处理得到译码比特,同时将加比选得到的路径度量值存入路径度量存储单元以备下次的加比选处理。本发明适用于(2,1,7)卷积码的Viterbi译码器,具有高吞吐率,低功耗特点,可支持1/2,2/3,3/4,5/6码率。译码器采用全并行的加比选(ACS)单元,最高位清零防溢出处理,采用了一种可降低功耗的寄存器交换法,可有效减少寄存器翻转动态功耗,能根据信噪比的大小自动调整功率。
文档编号H03M13/41GK102064839SQ20091023783
公开日2011年5月18日 申请日期2009年11月11日 优先权日2009年11月11日
发明者吴斌, 周玉梅, 张振东, 朱勇旭 申请人:中国科学院微电子研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1