多相加比选前向回溯Viterbi译码器的制作方法

文档序号:7521397阅读:122来源:国知局
专利名称:多相加比选前向回溯Viterbi译码器的制作方法
技术领域
本发明涉及无线通信领域,特别涉及一种用于WLAN MMO-OFDM系统多相加比选前向回溯Viterbi译码器。
背景技术
采用Viterbi算法作为最大似然译码的卷积码是目前在数字无线通信中广泛应用的一种纠错码。Viterbi算法是通过在网格图中寻找最大似然路径而对噪声环境中的接收信号进行纠错译码。作为下一代无线局域网(Wireless Local AreaNetwork, WLAN)标准802. Iln使用了约束长度为7的(2,1,7)卷积码,通过删余实现1/2,2/3,3/4和5/6码率,同时多输入多输出(Multiple Output MultipleInput)和正交频分复用(OrthogonalFrequency Division Multiplexing)技术的采用使数据吞吐率的成倍增加,在4根发射天线4根接收天线及40M带宽模式下,空间复用模式下最高数据率峰值可达600MbpSt)802. Iln 标准广泛应用于无线移动手持设备上,从系统实际使用角度考虑,WLAN MM0-0FDM系统要达到较低的总体功耗及硬件开销。考虑信标与数据组合形式帧格式及协议中对延时的要求,采用什么样的算法及结构来减少Viterbi译码器延时也是要考虑的方面。一般Viterbi译码器由四部分组成分支度量单元(Branch Metric Unit, BMU),加比选单兀(Add Compare Select,加比选),路径度量单兀(Path Metric Unit,PMU)和幸存路径存储单元(Survivor-path Memory Unit, SMU) 在BMU单元从接收到信道符号中计算分支度量值,加比选单元接收分支度量值和幸存路径度量值对每个状态进行加比选处理得到新的幸存路径及相应新的幸存路径度量值,幸存路径送入SMU单元中进行相应处理得到译码比特,得到路径度量值送入PMU单元中更新旧路径度量值来作为下一次迭代处理。加比选单元作为主要计算单元由于其迭代处理结构,其是整个Viterbi译码器工作频率及吞吐率瓶颈。作为主要计算模块的加比选,占用了 Viterbi译码器大部分逻辑运算资源。如何能在满足高吞吐率前提下,减少加比选运算资源对于减少整体硬件开销及面积有重大影响。一般 SMU 单兀米用寄存器交换(Register Exchange, RE)或回溯(Traceback, TB)算法实现,RE算法采用寄存器和选择器交换网络来实现前向译码,特点是延时小和功耗大,特别在约束长度大和基4算法中,其寄存器资源和功耗让我们不得不考虑其他实现算法。TB算法采用后向回溯译码模式,其特点是延时大和存储器读写次数多。因此,针对Viterbi译码器在WLAN MM0-0FDM系统中使用时,在满足高吞吐率前提下,如何去达到功耗、延时及硬件开销方面要求需要重点考虑。

发明内容
本发明的目的之一是提供一种用于WLAN MIM0-0FDM系统中能满足高吞吐率前提下,实现功耗、延时及硬件开销上整体平衡及优化的多相加比选前向回溯Viterbi译码器。根据本发明的一个方面,提供一种多相加比选前向回溯Viterbi译码器,其特征在于,包括分支度量单元、多相加比选单元、路径度量存储单元及前向回溯幸存路径存储单元;所述多相加比选单元采用了多相加比选结构,能按网格图奇数状态和偶数状态分时进行加比选多相操作;所述前向回溯幸存路径存储单元在自身三组存储器上进行写幸存路径、读幸存路径操作,将幸存路径以循环方式写入三组存储器中,在写同时状态交换单元根据输入的幸存路径对状态进行交换,经过设置好的回溯长度次交换得到译码起始状态,最后根据译码起始状态和读取存储器中先前存入的幸存路径得到译码比特。根据本发明提供的用于WLAN MMO-OFDM系统多相加比选前向回溯Viterbi译码器,通过增加少量减法器和选择器来实现加比选按照奇数和偶数状态多相处理,减少近40%运算逻辑。另外将RE法思想引入到回溯算法中,采用前向回溯处理方式减小了译码延时,并减少存储器块的个数和读写存储器次数,与传统后向回溯比,可减小25%的译码延时。


图I是本发明实施例提供的Viterbi译码器整体结构示意图;图2是(2,1,7)卷积码的64状态的网格图; 图3是基4算法蝶形单元生成图;图4是传统基4加比选单元结构示意图;图5是本发明实施例提供的基4多相加比选单元结构示意图;图6是RE算法实现结构图;图7是Viterbi译码回溯处理流程框图;图8是传统回溯方法存储器读写时序图;图9是前向回溯方法状态交换单元;图10是采用PTB后存储器读写时序图;图11是采用PTB的SMU结构图;图12是Viterbi译码器误码率曲线图。
具体实施例方式针对WLAN MMO-OFDM高吞吐率系统的低成本、低功耗及延时需求,本发明实施例提出了一种多相ACS前向回溯Viterbi译码器,能满足高吞吐率前提下,实现功耗、延时及硬件开销上整体平衡及优化。图I是依照本发明Viterbi译码器的整体结构示意图。该Viterbi译码器基于IEEE 802. Iln协议中约束长度为7的(2,1,7)卷积码,通过删余实现1/2、2/3、3/4和5/6码率,并采用基4算法实现该译码器。该译码器包含分支度量单元(Branch Metric Unit, BMU),加比选单元(AddCompare Select,加比选),路径度量单兀(Path Metric Unit,PMU)和幸存路径存储单元(Survivor-path Memory Unit, SMU)及辅助控制单元。4路并行接收矢量同时进入BMU单元得到16种分支度量值,从路径度量单元输出的路径度量值和分支度量值在加比选单元中进行基4加比选操作得到幸存路径及路径度量值。幸存路径存入前向回溯幸存路径存储单元进行译码处理,路径度量值存入路径度量单元中以便下次迭代处理。该译码器具有以下特点首先提出一种多相ACS单元,多相ACS单元采用了多相ACS结构,能按网格图奇数状态和偶数状态分时进行加比选多相操作。再次,前向回溯(Pre-Traceback, PTB)方法用于幸存路径存储单元,在三组存储器上进行写幸存路径、读幸存路径操作,将幸存路径以循环方式写入三组存储器中,在写同时状态交换单元根据输入的幸存路径对状态进行交换,经过设置好的回溯长度次交换得到译码起始状态,最后根据译码起始状态和读取存储器中先前存入的幸存路径得到译码比特。

多相ACS单元根据卷积码状态之间分支输出反对称特性,通过增加少量运算逻辑取代整个ACS单元。基2算法和基4算法有不同多相ACS结构,称为基2多相ACS单元和基4多相ACS单元。基2多相ACS单元采用2个加法器、I个比较器、I个选择器及实现多相处理功能的额外2个减法器及2个选择器。基4多相ACS单元采用4个加法器、3个比较器、3个选择器及实现多相处理功能的额外4个减法器及4个选择器。PTB幸存路径存储单元通过3组存储器、写幸存路径(Write Survivor-Path, WR)单元,状态交换(State Exchange, SE)单元,读并译码处理(Read Decode, DC)单元、后进先出(Last Input First Output, LIFO)单元和相应控制单元来实现。3组存储器分别处于WR状态、DC状态和空闲(Idle)状态。当同步进行L次存储器读或写操作后,WR状态、DC状态和空闲(Idle)状态这三种状态循环移位为下一类状态对存储器进行相应处理。如三组存储器当前状态分别为WR状态、DC状态和空闲(Idle)状态,经过L次存储器读或写操作后,三组存储器所处状态分别为Idle状态、WR状态和DC状态,再经过L次存储器读或写操作后,三组存储器所处状态分别为DC状态、Idle状态和WR状态。如此训话反复直至译码结束。所述L> I。其中WR单元以地址递增顺序将幸存路径写入到处于WR状态的存储器中。SE单元根据输入幸存路径对状态进行交换,在WR开始准备写第一个幸存路径(写地址为O)之前对SE单元中状态寄存器进行初始化。在WR刚写完最后一个幸存路径(写地址为L-1)时,将状态寄存器中任一状态作为译码起始状态传给DC单元。SE单元由T组m-Ι比特的寄存器(T为状态数,m为约束长度)和T个状态选择器组成。状态选择器根据基2算法和基4算法而不同,基2算法对应二选一选择器,基4算法对应四选一选择器,选择器的输入来自状态寄存器,与基2或基4算法网格图之间状态连接是对应关系。对于基2算法,在时刻i+Ι得到的更新状态值Cf表示状态(αβλ)寄存器中存储的新的状态值,其中α和β都是单比特,λ是4比特。是根据状态(αβλ)的幸存路径对前一时刻状态寄存器进行选择得到的。选择关系可通过如下式表示οοιβλ _ αβ^-PjQ°/'+1 —对于基4算法,在时刻i+Ι得到的更新状态值表示状态(αβλ)寄存器中存储的新的状态值,其中α和β都是单比特,λ是4比特。
权利要求
1.一种多相加比选前向回溯Viterbi译码器,其特征在于,包括 分支度量单元、多相加比选单元、路径度量存储单元及前向回溯幸存路径存储单元; 所述分支度量单元从接收到的信道符号中计算分支度量值; 所述多相加比选单元采用多相加比选结构,接收所述分支度量值和所述路径度量存储单元输出的路径度量值,并按网格图奇数状态和偶数状态分时进行加比选多相操作,得到幸存路径及路径度量值; 所述前向回溯幸存路径存储单元进行写所述幸存路径、读所述幸存路径操作,将所述幸存路径以循环方式写入自身的三组存储器中,在写同时,根据输入的所述幸存路径对状态进行交换,并经过设置好的回溯长度次交换得到译码起始状态,最后根据译码起始状态和读取存储器中先前存入的所述幸存路径得到译码比特。
2.如权利要求I所述的Viterbi译码器,其特征在于 所述多相加比选单元包括根据基2算法的基2多相加比选单元或基4算法的基4多相加比选单元。
3.如权利要求2所述的Viterbi译码器,其特征在于 所述基2多相加比选单元由2个加法器、I个比较器、I个选择器及实现多相处理功能的2个减法器及2个选择器组成。
4.如权利要求3所述的Viterbi译码器,其特征在于 所述基4多相加比选单元由4个加法器、3个比较器、3个选择器及实现多相处理功能的4个减法器及4个选择器组成。
5.如权利要求4所述的Viterbi译码器,其特征在于 所述前向回溯幸存路径存储单元包括3组存储器、写幸存路径单元、状态交换单元、读并译码处理单元及后进先出单元; 所述写幸存路径单元以地址递增顺序将所述幸存路径写入到处于写幸存路径状态的存储器中; 所述状态交换单元根据所述幸存路径对状态进行交换,在所述写幸存路径单元开始准备写第一个幸存路径之前对所述状态交换单元中状态寄存器进行初始化;在所述写幸存路径单元写完最后一个幸存路径时,将状态寄存器中任一状态作为译码起始状态传给所述读并译码处理单元; 所述读并译码处理单元以地址递减顺序读取出所述幸存路径,在准备开始读取之前,同时接收所述状态交换单元送来的译码起始状态作为译码开始状态,根据当前时刻i状态Si及以地址递减形式读取幸存路径片来估计前一状态Sg ; 对于基2算法实现通过5^ =IpUSi》1}得到,其中Si >> I表示对以比特形式表不的Si右移一比特; 对于基4算法实现可通过= [Ps^Si 2}得到,其中Si >> 2表示对以比特形式表示的Si右移两比特; 所述后进先出单元采用两块存储器进行乒乓操作,以地址递增顺序将所述读并译码处理单元出来的译码比特存入,而另一块存储器以地址递减顺序从中读取数据,最后输出数据流即是正常顺序的译码比特。
6.如权利要求5所述的一种Viterbi译码器,其特征在于 所述三组存储器分别处于写幸存路径状态、读并译码状态和空闲状态; 当同步进行L次存储器读或写操作后,写幸存路径状态、读并译码状态和空闲状态这三种状态循环移位为下一类状态对存储器进行处理; 当三组存储器当前状态分别为写幸存路径状态、读并译码状态和空闲状态状态,经过L次存储器读或写操作后,三组存储器所处状态分别为空闲状态、写幸存路径状态和读并译码状态,再经过L次存储器读或写操作后,三组存储器所处状态分别为读并译码状态、空闲状态和与幸存路径状态; 如此训话反复直至译码结束。
7.如权利要求5所述的Viterbi译码器,其特征在于 所述状态交换单元由T组m-Ι比特的寄存器和T个状态选择器组成,所述T为状态数,m为约束长度。
8.如权利要求7所述的Viterbi译码器,其特征在于 所述状态选择器包括基2算法对应的二选一选择器或基4算法对应四选一的选择器;所述状态选择器的输入来自状态寄存器,与基2或基4算法网格图之间状态连接是对应关系; 对于基2算法,在时刻i+Ι得到的更新状态值表示状态(α β λ)寄存器中存储的新的状态值,其中所述α和β是单比特,所述λ是4比特,所述是根据状态(α β入)的幸存路径对前一时刻状态寄存器进行选择得到的,其选择关系可通过如下式表示
全文摘要
本发明公开了一种多相加比选前向回溯Viterbi译码器包括分支度量单元、多相加比选单元、路径度量存储单元及前向回溯幸存路径存储单元;所述分支度量单元从接收到的信道符号中计算分支度量值;根据本发明提供的用于WLANMIMO-OFDM系统多相加比选前向回溯Viterbi译码器,通过增加少量减法器和选择器来实现加比选按照奇数和偶数状态多相处理,减少近40%运算逻辑。另外将RE法思想引入到回溯算法中,采用前向回溯处理方式减小了译码延时,并减少存储器块的个数和读写存储器次数,与传统后向回溯比,可减小25%的译码延时。
文档编号H03M13/41GK102739261SQ20111008798
公开日2012年10月17日 申请日期2011年4月8日 优先权日2011年4月8日
发明者吴斌, 周玉梅, 张振东, 朱勇旭, 蔡菁菁 申请人:中国科学院微电子研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1