CN100542053C - 一种带有自适应性以及高速Viterbi解码器的设计方法 - Google Patents

一种带有自适应性以及高速Viterbi解码器的设计方法 Download PDF

Info

Publication number
CN100542053C
CN100542053C CNB2004100213305A CN200410021330A CN100542053C CN 100542053 C CN100542053 C CN 100542053C CN B2004100213305 A CNB2004100213305 A CN B2004100213305A CN 200410021330 A CN200410021330 A CN 200410021330A CN 100542053 C CN100542053 C CN 100542053C
Authority
CN
China
Prior art keywords
viterbi decoder
local
viterbi
decoder
adaptivity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004100213305A
Other languages
English (en)
Other versions
CN1665145A (zh
Inventor
许树湛
韦恩·斯塔克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Institute of Automation of CAS
Original Assignee
Shenyang Institute of Automation of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenyang Institute of Automation of CAS filed Critical Shenyang Institute of Automation of CAS
Priority to CNB2004100213305A priority Critical patent/CN100542053C/zh
Publication of CN1665145A publication Critical patent/CN1665145A/zh
Application granted granted Critical
Publication of CN100542053C publication Critical patent/CN100542053C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开一种带有自适应性Viterbi解码器的设计方法。它基于局部Viterbi解码技术,采用双边窗口,结合包括Yamamoto-Itoh指标在内的ARQ方案,改进Viterbi解码的质量,使其具备适应信道信号衰减的能力;其中包含M个局部Viterbi解码器对应于整个数据帧的M个数据段、使用Yamamoto-Itoh指标的局部ARQ方案、带有自适应性的Viterbi解码器控制系统、带有自适应性的Viterbi解码器的数据进出系统、带有自适应性的Viterbi解码器的外部接口。本发明是一类全新的基于局部Viterbi解码器的高速Viterbi解码算法和架构实现方案,高速Viterbi解码器的设计因此得以实现。

Description

一种带有自适应性以及高速Viterbi解码器的设计方法
技术领域
本发明涉及Viterbi解码技术,具体地说是一种带有自适应性以及高速Viterbi解码器的设计方法,其中主要包括局部Viterbi算法(亦称局部ML算法)、高速的Viterbi算法、带有自适应性的Viterbi算法,以及这些解码器设计实现的架构方案,这些算法和方案的提出是基于理论证明和仿真验证的。
背景技术
随着数字通讯技术的发展,要求越来越高的数据传输率和传输速度,因而需要高速的发射和接收设备,对高速算法和高速架构方面的要求尤为突出;编码和解码技术作为数字通讯技术的核心部分之一,是数据纠错和传输质量保证的必备手段,也是具有技术挑战性的部分之一,从理论方面来讲,编码和解码技术是趋近于信息论所确立的Shannon极限的具体构造性方法,因构造理论依据不同和应用范围不同,而有许多不同的编码方法和解码方法,其中卷积码是应用最为广泛的编码技术之一,被广泛地应用于各类有线和无线通讯系统,包括2G、2.5G、3G和正在建议中的4G、和已开始着手研究的超宽带无线通讯系统,Viterbi算法(即ML算法)作为卷积码的最优序列解码方法,已经被广泛而成功地应用了三十多年,并形成了许多产品和设计。
正如前面提到,高速解码器的设计是现代通讯系统的必需,高速解码器的设计因此成为近年来极为活跃的分支,高速Viterbi解码器的研究在二十世纪八十年代极为活跃,当时的工作主要集中在对解码器网格状态的并行处理和架构设计方面,近年来则因缺乏算法上的突破和turbo解码的兴起而较少有人涉足,G.Fettweis和H.Meyr发表在IEEE CommunicationsMagazine杂志1991年五月版第46-55页题为High speed parallel Viterbidecoding:algorithm and VLSI architecture的文章是这一方向的阶段性总结;总体而言,高速解码器的设计分为三个互相依存的重要部分:算法设计、架构设计、硬件实现,为介绍本发明的算法和设计方案,首先总述在前面三个方面国际上已有的工作;在硬件实现方面目前的研究工作主要集中在用模拟线路实现高速逻辑运算方面,J.Hagenauer,M.Moerz和A.Schaefer发表在Proceedings of 2002 International Zurich Seminar on BroadbandCommunications(February 19-21,Zurich,Switzerland,pp3-1-3-8)的题为Analog decoders and receivers for high speed applications的文章是这一方面的代表;在架构方面的工作主要集中在解码器的有效架构设计和架构优化,这一方面的工作主要在解码器产品的设计过程中进行,可以参阅许多公司的产品说明和设计摘要,前面提到的G.Fettweis和H.Meyr的文章则是较为系统的总结;在算法面的工作曾是Viterbi解码器研究的重点,经过几十年的研究和探索后曾一度呈现饱和状态,近年又因turbo解码(请参阅C.Berrou等人题为Near Shannon limit error-correcting coding and decoding:Turbo codes,IEEE Int.Conf.On Comm.,pp 1064-1070,May,1993的文章)的发明和研究重点转移而出现缓慢状态,因为架构设计和硬件实现方面的工作无一不是受到算法研究的制约和界定;在详细介绍本发明之前,首先列举几篇主要的相关参考文献作为进一步解释本发明的起点,关于Viterbi解码算法和数字通讯系统的基本知识,在Viterbi和Omura的专著Principlesof digital communication and coding(McGraw-Hill,1979)中有详细介绍,作为Viterbi解码应用技术重要补充的Yamamoto-Itoh指标则在Yamamoto和Itoh的题为Viterbi decoding algorithm for convolutional codes with repeatrequest(IEEE Trans.Info.Theory,Vol 26,No 5,pp540-547,1980)的原始论文中有详细说明,作为比Viterbi解码具有更好表现的具有最小信息比特位出错概率的卷积码MAP解码算法(也以作者的姓名缩写而被称为BCJR算法),请参阅L.Bahl等人的文章Optimal decoding of linear codes forminimizing symbol error rate(IEEE Trans.Info.Theory,Vol 20,pp284-287,March,1974),此一种解码算法是研究Viterbi算法的重要参考,也是turbo解码器的基础;对于在工程设计中极为常用的截断式Viterbi算法,则可参看前面提到的Viterbi和Omura的专著或G.Fettweis and H.Meyr的论文,这一重要实现技巧和在此基础之上进一步发展起来的窗口算法(主要是针对MAP解码和turbo解码算法,尽管这些方法对于Viterbi解码同样适用),这里称之为单边窗口算法,则是为了降低解码器设计所需内存的极为重要的应用算法,这一方面的主要参考文献为下面的三篇论文:(1)A.Viterbi,An intuitive justification and a simplification of a simplified implementation ofthe MAP decoder for convolutional codes,IEEE JSAC Vol 16,No 2,pp260-264,February,1998,(2)S.Benedetto et al,Soft input soft output MAPmodule to decode parallel and serial concatenated codes,TDA Progress Report42-127,JPL,1996,(3)S.Pietrobon,Efficient implementation of continuousMAP decoders and a synchronization technique for turbo decoders,pp586-589,Proc.Int.Sym.Inform.Theory Appl.,Victoria,B.C.Canada,1996;在运用模拟电路实现高速逻缉运算来设计高速解码器方面,则可参阅前面提到的J.Hagenauer等人的文章和其中的参考文献,而对于高速MAP解码算法和高速turbo解码算法方面的研究,则当参看下列文章:(1)P.Beerel and K.Chugg,A low latency SISO with application to broadband turbo decoding,IEEEJSAC Vol.19,No 5,May 2001,pp860-870,(2)A.Worm,H.Lamm and N.When,VL SI architectures for high-speed MAP decoders,Proceedings onDesign,Automation and Test in Europe,2001,pp258-265,(3)J.Hagenauer,M.Moerz and A.Schaefer,Analog decoders and receivers for high speedapplications,Proceedings of 2002 International Zurich Seminar on BroadbandCommunications,February 19-21,Zurich,Switzerland,pp3-1-3-8;与高速Viterbi解码器和高速turbo解码器密切相关的是高速LDPC解码方法,关于这一方面的情况请参看A.Blansky和C.Howland的文章A 690-mW 1-Gb/s1024-b,rate-1/2 low-density code decoder,IEEE Journal of Solid-state Circuits,Vol.37,No.3,2002,pp404-412以及其中所列文献,这种解码器的研究是近年极为活跃的一个相关领域,商业解码器设计方面,Flarion公司则有现已投放市场的数率达10Gbps的高速LDPC解码器设计,可作为这方面的参考。
在高速Viterbi解码方面的重要技巧首先是截断式Viterbi算法,这是工程设计中极为常用的用来减少Viterbi解码器所需内存的重要技巧,也是最原始的单边窗口技巧,这方面的内容请参看前面提到的Viterbi和Omura的专著或G.Fettweis and H.Meyr的论文,这一重要实现技巧和在此基础之上进一步发展起来的(主要用于MAP解码器和进一步的turbo解码器)单边窗口算法,则是为了降低解码器设计所需的内存的极为重要的应用算法,这些算法只能用来减少Viterbi解码器设计所需要的内存,并不能用来提高解码器的速度。
发明内容
为了克服现有的高速Viterbi解码器设计技术中的算法不足和速度限制,本发明目的在于提供一种带有自适应性以及高速Viterbi解码器的设计方法,本发明在局部Viterbi解码器的基础上结合各类传统的ARQ方法,则可得到带有自适应性的Viterbi算法和解码器设计方案;本发明为一类全新的基于局部Viterbi解码器的高速Viterbi解码算法和架构实现方案,本发明的算法根基是局部Viterbi解码算法,而架构根基则是局部Viterbi解码器的平行放置,高速Viterbi解码器的设计因此得以实现。
为了达到上述目的,本发明技术方案如下:
带有自适应性Viterbi解码器的设计方法:基于局部Viterbi解码技术,采用双边窗口,结合包括Yamamoto-Itoh指标在内的ARQ方案,以改进Viterbi解码的质量,使其具备适应信道信号衰减的能力;其输入为数据采样,输出为LLR值或数据位硬判定,其中包含M个局部Viterbi解码器对应于整个数据帧的M个数据段、使用Yamamoto-Itoh指标的局部ARQ方案、带有自适应性的Viterbi解码器控制系统、带有自适应性的Viterbi解码器的数据进出系统、带有自适应性的Viterbi解码器的外部接口;
其中:所述M个局部Viterbi解码器对应于数据帧的M个数据段的平均SNR估计值或者包括Yamamoto-Itoh指标在内的ARQ方案指标小于给定的阈值时,所述局部的采样可以被重新发送,即实现自适应性;
所述带有自适应性的Viterbi解码器控制系统是用于控制、协调和调度整个带有自适应性的Viterbi解码器的各个组成部分和其功能,对M个局部Viterbi解码器都有一个独立的控制系统;所述带有自适应性的Viterbi解码器的数据进出系统用于控制、协调数据的进出,每一个局部Viterbi解码器都有一个数据进出系统;所述带有自适应性的Viterbi解码器的外部接口用于该解码器和通讯系统内其他部分的连接和通讯,每一个局部Viterbi解码器都有与外部的通讯系统;
本发明假设包含尾位的被解码数据帧的大小为L,使用M个局部Viterbi解码器,所述ARQ设计方法如下:1)带有自适应性的Viterbi解码器包含M个局部Viterbi解码器对应于整个数据帧的M个数据段,假设其双边窗口的大小足够长;2)采用具有不良SNR值的数据段舍弃和重新传输的各种ARQ方案,如果一个数据段的平均SNR值低于某个阈值,则可以舍弃这个数据段并要求重新传输,如果能在局部Viterbi解码之前即能估计其平均SNR值而且其SNR值低于所设定的阈值,可以不需运行该局部Viterbi解码器,直接跳过这个数据段而直接要求重新传输;3)使用Yamamoto-Itoh指标的局部ARQ方案,如果一个数据段上Yamamoto-Itoh指标值低于某个阈值,则舍弃这个数据段并要求重新传输,如果能在局部MAP解码之前即能估计Yamamoto-Itoh指标值而且低于所设定的阈值,可以不运行该局部Viterbi解码器,直接跳过这个数据段而直接要求重新传输;
本发明假设包含尾位的被解码数据帧的大小为L,使用M个局部Viterbi解码器;所述局部Viterbi解码设计方法:1)如果i=1,用{y0,y1,...,y4M-2,y4M-1}开始解码网格状态处理的蝶形运算,在蝶形运算和路径度量进行到2M-1时刻(处理完两个窗口的样本后)开始路径回溯,对信息数据比特位{x0,x1,...,xM-1}进行Viterbi解码;2)当i=N-1或i=N时,用采样{y2L-6M,y2L-6M+1,...,y2L-1}开始解码网格状态处理的蝶形运算,通过在L-1时刻(处理了至少两个窗口的样本后)开始路径回溯,对数据比特位{xL-2M,xL-2M+1,...,xL-1}进行Viterbi解码(因为同样的Viterbi回溯状态,在这里这两种局部Viterbi解码情况有最后两个窗口的重复,即最后两个窗口同时解码);3)当1<i<N-1时,用采样{y2(i-1)M,y2(i-1)M+1,...,y2(i+2)M-1}开始解码网格状态处理的蝶形运算,通过在2(i+2)M-1时刻(也即处理了对应于三个窗口的样本后)开始Viterbi回溯,对数据比特位{xiM,xiM+1,...,x(i+1)M-1}进行Viterbi解码;
所述局部Viterbi解码设计方法中:1)如果i=1,在蝶形运算和路径度量进行到2M-1时刻,从具有最大路径度量的状态开始路径回溯为佳(理论表明:可以从任何状态开始回溯);2)当i=N-1或i=N时,通过在L-1时刻从零状态开始路径回溯为佳;3)当1<i<N-1时,通过在2(i+2)M-1时刻从具有最大路径度量的状态开始Viterbi回溯为佳(理论表明:可以从任何状态开始回溯);
所述局部Viterbi解码设计方法中:1)如果i=1,用{y0,y1,...,y4M-2,y4M-1}开始网格状态处理,当i=0,路径度量初始化以PM(i)=0为佳,i≠0时,路径度量初始化以PM(i)=+∞为佳;2)当i=N-1或i=N时,用采样{y2L-6M,y2L-6M+1,...,y2L-1}开始网格状态处理,对于所有的i状态,路径度量均初始化以PM(i)=0为佳;3)当1<i<N-1时,用采样{y2(i-1)M,y2(i-1)M+1,...,y2(i+2)M-1}开始网格状态处理,对于所有的i状态,路径度量初始化以PM(i)=0为佳。
高速Viterbi解码器的设计方法:以局部Viterbi解码算法为根基,通过局部Viterbi解码器的平行放置架构,在局部Viterbi解码器的基础上采用双边窗口、结合包括Yamamoto-Itoh指标在内的ARQ方法和局部迭代停止方法,以提高整个Viterbi解码器的速度;其中包含M个局部Viterbi解码器对应于整个数据帧的M个数据段、可将使用Yamamoto-Itoh指标的局部ARQ方案、带有自适应性的Viterbi解码器控制系统、带有自适应性的Viterbi解码器的数据进出系统、带有自适应性的Viterbi解码器的外部接口;其输入为数据采样,输出为LLR值或数据位硬判定;
其中:所述M个局部Viterbi解码器都利用截断式双边窗口算法,所有双边窗口的大小等同并且尺寸足够长,窗口长度应该长到可以忽略由近似Viterbi解码而带来的性能误差;或可以使用不均匀的M个局部Viterbi解码器和不等长的截断式双边窗口尺寸(甚至可以是传统的单边窗口算法),所有窗口的尺寸足够长,窗口长度应该长到可以忽略由近似Viterbi解码而带来的性能误差;
所述高速Viterbi解码器控制系统用于控制、协调和调度整个高速Viterbi解码器的各个组成部分和其各种功能,对M个局部Viterbi解码器都有一个独立的控制系统;所述高速Viterbi解码器的数据进出系统用于控制、协调数据的进出,每一个局部Viterbi解码器都有一个数据进出系统;所述高速Viterbi解码器的外部接口用于该解码器和通讯系统内其他部分的连接和通讯,每一个局部Viterbi解码器都有与外部的通讯系统;
本发明假设包含尾位的被解码数据帧的大小为L,使用M个局部Viterbi解码器,所述通过局部Viterbi解码器的平行放置架构设计方法如下:1)高速Viterbi解码器包含M个局部Viterbi解码器对应于整个数据帧的M个数据段,假设双边窗口的大小足够长;2)并行操作高速Viterbi解码器中的M个局部Viterbi解码器,对整个数据帧的M个数据段分别进行局部Viterbi解码;
使用M个局部Viterbi解码器,对整个数据帧的M个数据段分别进行局部Viterbi解码的运算可以并行处理(高速Viterbi解码器的解码速度由局部Viterbi解码器的并行程度决定,若所有局部Viterbi解码器全部并行处理,则高速Viterbi解码器具有最高的运行速度,若所有局部Viterbi解码器全部串行处理,则高速Viterbi解码器具有最低的运行速度);
本发明可以在高速Viterbi解码器中结合带有自适应性的Viterbi解码器(即根据高速Viterbi解码器的设计结合使用ARQ方案),可以将具有不良SNR值的数据段舍弃和重新传输的各种ARQ方案用于带有自适应性的Viterbi解码,如果一个数据段的平均SNR值低于某个阈值,可以舍弃这个数据段并要求重新传输,如果能在局部Viterbi解码之前即能估计其平均SNR值而且其SNR值低于所设定的阈值,可以不需运行该局部Viterbi解码器,直接跳过该数据段直接要求重新传输;可将使用Yamamoto-Itoh指标的局部ARQ方案用于基于局部Viterbi解码器的带有自适应性的Viterbi解码方法之中,如果一个数据段上的最低Yamamoto-Itoh指标低于某个阈值,可以舍弃这个数据段并要求重新发送;
本发明假设包含尾位的被解码数据帧的大小为L,使用M个局部Viterbi解码器;所述局部Viterbi解码设计方法:1)如果i=1,用{y0,y1,...,y4M-2,y4M-1}开始解码网格状态处理的蝶形运算,在蝶形运算和路径度量进行到2M-1时刻(处理完两个窗口的样本后)开始路径回溯,对信息数据比特位{x0,x1,...,xM-1}进行Viterbi解码;2)当i=N-1或i=N时,用采样{y2L-6M,y2L-6M+1,...,y2L-1}开始解码网格状态处理的蝶形运算,通过在L-1时刻(处理了至少两个窗口的样本后)开始路径回溯,对数据比特位{xL-2M,xL-2M+1,...,xL-1}进行Viterbi解码(因为同样的Viterbi回溯状态,在这里这两种局部Viterbi解码情况有最后两个窗口的重复,即最后两个窗口同时解码);3)当1<i<N-1时,用采样{y2(i-1)M,y2(i-1)M+1,...,y2(i+2)M-1}开始解码网格状态处理的蝶形运算,通过在2(i+2)M-1时刻(也即处理了对应于三个窗口的样本后)开始Viterbi回溯,对数据比特位{xiM,xiM+1,...,x(i+1)M-1}进行Viterbi解码;
所述局部Viterbi解码设计方法中:1)如果i=1,用{y0,y1,...,y4M-2,y4M-1}开始网格状态处理,当i=0,路径度量初始化以PM(i)=0为佳,i≠0时,路径度量初始化以PM(i)=+∞为佳;2)当i=N-1或i=N时,用采样{y2L-6M,y2L-6M+1,...,y2L-1}开始网格状态处理,对于所有的i状态,路径度量均初始化以PM(i)=0为佳;3)当1<i<N-1时,用采样{y2(i-1)M,y2(i-1)M+1,...,y2(i+2)M-1}开始网格状态处理,对于所有的i状态,路径度量初始化以PM(i)=0为佳;
所述局部Viterbi解码设计方法中:1)如果i=1,用{y0,y1,...,y4M-2,y4M-1}开始网格状态处理,当i=0,路径度量初始化以PM(i)=0为佳,i≠0时,路径度量初始化以PM(i)=+∞为佳;2)当i=N-1或i=N时,用采样{y2L-6M,y2L-6M+1,...,y2L-1}开始网格状态处理,对于所有的i状态,路径度量均初始化以PM(i)=0为佳;3)当1<i<N-1时,用采样{y2(i-1)M,y2(i-1)M+1,...,y2(i+2)M-1}开始网格状态处理,对于所有的i状态,路径度量初始化以PM(i)=0为佳。
与现有技术相比本发明更具有如下有益效果:
本发明则是基于对传统的截断式Viterbi算法(用来减少Viterbi解码器所需内存的重要技巧,也是最原始的单边窗口技巧)、单边窗口算法(用于减少MAP解码器和进一步的turbo解码器所需内存)的进一步发展和改进,本发明将单边窗口算法改进为双边窗口算法,并首次将其应用到高速Viterbi解码器(并不是仅仅用来减少解码器所需内存),从理论方面讲,本发明提出了一种用于Viterbi解码的新型窗口算法,本发明称之为双边窗口算法,这种窗口算法实质上是一种用于Viterbi解码的带有逼近误差的(误差由窗口大小控制,由原来的单边窗口算法改进为双边窗口算法)近似Viterbi解码算法,这种窗口算法能够在任何一段采样上建立起局部Viterbi解码器,因此首次打破了原来的Viterbi解码受制于采样时序和帧长的局面,将若干局部Viterbi解码器并行排列,则能够构建出高速的而且带有自适应性的Viterbi解码器;若使用固定的窗口尺寸,并对于每个系统采样都设计一个局部Viterbi解码器,那么Viterbi解码器的时间延迟可以被降到一个固定时钟周期值(即双边窗口处理所需时间周期,借助于硬件设计技巧,此一时间延迟可以被降低至可以忽略的程度),换言之,本发明至少是在理论上能设计出处理任何数据速率的(也即速度几乎是任意高的)高速Viterbi解码器,因此至少是在理论上已经找到了构建几乎是任意速率(当然是不考虑实现代价)的高速Viterbi解码器方法。
本发明采用局部Viterbi解码器的并行排列方式,即是高速Viterbi解码器设计方法的基础,因为每一个局部Viterbi解码器甚至可以被设计成只用来处理一个信息比特位,本发明不仅提供了可以设计具有与信息传输数率无关的具有固定时间延迟的高速Viterbi解码方法,而且对两个相连接的局部Viterbi解码器的任意组合和分割性质,给出了与传统Viterbi解码方法兼容的、解码速度从最低到最高的Viterbi解码器设计方法,展示了高速Viterbi解码设计中的和谐与美感。
作为这一发明核心部分的局部Viterbi解码器也提供了具有局部解码功能的、带有自适应性的Viterbi解码器设计方法,这类自适应性解码器以前并不存在,新方法不但可以兼容传统的基于Yamamoto-Itoh指标的ARQ方案,也可以利用基于局部Viterbi解码的各种ARQ方案,也是本项发明的优点。
附图说明
图1是局部Viterbi解码器的示意图。
图2是带有自适应性Viterbi解码器的示意图。
图3是高速并行局部Viterbi解码器示意图。
图4是局部解码器时间序列分解示意图。
图5是局部解码器状态空间和时间序列分解示意图。
图6是并行局部Viterbi解码器表现性能图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
不失一般性,本发明假设码率r为1/2,Stotal是相应的解码网格结构的全部状态数,用于卷积编码器的数据帧的大小为L,另外假设编码器在零状态启动和结束(加以适当的尾比特位),假设 M = { m i } i = 0 L - 1 是已发送的信息比特位流,卷积编码器的输出为 X = { x i , p i } i = 0 L - 1 (显然xi=mi对于系统型编码成立),采用BPSK调制在噪声方差为 σ 2 = N 0 2 的AWGN信道上进行发送,接收到采样值为 Y = { y i , t i } i = 0 L - 1 , 其中 y i = x i E b + n i , t i = p i E b + n i ′ , 极性是0→+1和1→-1;在内容方面,本发明提出了一种局部Viterbi解码方法,可被用于构建带有自适应性的或高速的Viterbi(ML)解码器,对于高速Viterbi解码,本发明是依靠高度的并行方法(网格结构状态的并行处理和数据帧段的并行处理)来提高Viterbi解码器的速度,如果忽略实现成本,本发明至少是在理论上确实可以设计出大到几乎是任意高速度的高速Viterbi解码器,对于带自适应性的Viterbi解码,本发明则是基于使用局部Viterbi解码器技术和包括Yamamoto-Itoh指标在内的各种传统ARQ方案,这些方案可以完全舍弃带有不良SNR值的数据段,并利用ARQ方案来重新发送不良的数据段,借以改进Viterbi解码的质量,这种灵活的方案使得Viterbi解码器具备了适应信道信号衰减的能力,这种特性因而被称为自适应性,在算法方面,只要有足够大的窗口,本发明的局部Viterbi算法(当然是一种渐进的近似算法)就有几乎无异于理想状态Viterbi算法的表现,而局部Viterbi解码器的平行放置,显然是并行算法和体系结构方案,因而并不会降低Viterbi解码器的表现性能,本发明也给出了某些验证算法性能的理论结果和数值仿真结果以便用来进一步证实和说明本发明。
某些理论结果,SNR和虚拟SNR计算:
令Si为对应于i-th信息比特时间片的编码(解码)网格结构的状态,MAP解码是采用下面向前和向后递归公式的最优的信息位对信息位检测:
( 1 ) , α ( S i ) = Σ S i - 1 α ( S i - 1 ) γ ( S i - 1 → S i ) , α(S0)=1,S0=0,α(S0)=0,S0≠0,
( 2 ) , β ( S i ) = Σ S i + 1 β ( S i + 1 ) γ ( S i → S i + 1 ) , β(SL)=1,SL=0,α(SL)=0,SL≠0,
软判定LLR值由下面被称为log-MAP算法的公式计算:
( 3 ) , L i = log p [ m i = + 1 | Y ] p [ m i = - 1 | Y ] = log Σ S + α ( S i ) γ ( S i → S i + 1 ) β ( S i + 1 ) Σ S - α ( S i ) γ ( S i → S i + 1 ) β ( S i + 1 ) ,
其中γ(Si→Si)为分支度量,ML算法则在搜索最佳的连续路径上是最优的;Viterbi解码器在AWGN信道上搜索最优路径时利用有效的路径削减的动态规划方法:ACS操作(add,compare and select),在数学上,基于i.i.d分布的样本假设, X = arg { max X p [ Y | X ] } , 因而有:
p [ Y | X } = Π i = 0 L - 1 p [ y i | x i ] p [ t i | p i ] = ( 1 2 π σ ) 2 L e - 1 2 σ 2 Σ i = 0 L - 1 { ( x i - y i ) 2 + ( p i - t i ) 2 } ;
最优路径具有欧式距离平方的最小值,或者说具有最大相关路径度量,相关路径度量的附加属性和相应的网格结构为ACS运算提供了高效的蝶形结构,这一结构有效地降低了相关路径度量更新时的分支路径计算,从而很大程度地提高了Viterbi解码器的计算效率,本发明的分析结果,Viterbi解码(与MAP解码平行)的如下向前和向后递归序列:
( 4 ) , α * ( S i ) = max S i - 1 { α * ( S i - 1 ) γ ( S i - 1 → S i ) } , α*(S0)=1,S0=0,α*(S0)=0,S0≠0,
( 5 ) , β * ( S i ) = max S i + 1 { β * ( S i + 1 ) γ ( S i → S i + 1 ) } , β*(SL)=1,SL=0,β*(SL)=0,SL≠0,
向前和向后递归序列实际上是对Viterbi解码方法的另一种不同的解释(向后序列可以被简单地看作是Viterbi解码器在相反时间方向上运行,或者是在接收到一个完整帧的样本之后的向前解码),软判定LLR值由下式计算:
( 6 ) , L i * = log Σ S + α * ( S i ) γ ( S i → S i + 1 ) β * ( S i + 1 ) Σ S - α * ( S i ) γ ( S i → S i + 1 ) β * ( S i + 1 ) ,
上式在实现中也被称为max-log-MAP算法。
本发明的关键和根本技术是局部Viterbi解码器算法,它是对著名的滑动窗口技术的进一步发展和改进,关键突破点为将原来的单边窗口技术修改为双边窗口技术,并将这一原为减少Viterbi解码器和MAP解码器(进而turbo解码器)内存而创立的技术应用到局部Viterbi解码,进而将其应用到高速Viterbi解码器,以及结合各种传统的ARQ方案而构建带有自适应性的Viterbi解码器的设计当中,双边窗口算法(包括依照直觉提出且为实验验证的单边窗口算法)以及被截断的Viterbi解码器(最原始的单边窗口算法)的追溯长度的SNR相关性可以在理论上被严格证明。
Viterbi解码窗口算法的理论证明:
对于Viterbi解码,如在网格结构{xi,pi,xi+1,pi+1,...,xi+W,pi+W}上一个随机选择的状态开始回溯,回溯长度为W,回溯路径对(i-1)-th位xi-1不给予相同的位判定的事件E的概率满足下式:
( 7 ) , p ( E ) ≤ N state · Q ( WE b KN 0 ) ,
其中Nstate是解码器网格结构状态数目的总数,K是解码器网格结构的约束长度,明显地,limW→∞p(E)=0;
log-MAP和max-log-MAP解码窗口算法的理论证明:
对于窗口大小为W,两端被截断的MAX-log-MAP解码,则有:
( 8 ) , E [ | L i - L i ( W ) | ] ≤ Ce - W [ 1 + N total ( 2 2 W - 1 ) e - d f E b 2 σ 2 ] ,
其中C为常数,Nstate是网格结构状态数目的总数,Li (W)是由窗口技术生成的LLR值,明显地, lim W → ∞ E [ | L i - L i ( W ) | ] = 0 ;
这些结果表明,对于Viterbi解码而言,在SNR大于零的情况下(这在发射信号输出功率不为零的情况下总是成立的,否则无讨论意义),只要回溯长度足够长,通过从任意状态开始回溯,就可以得到优良的Viterbi解码性能,换言之,即带有双边窗口的近似Viterbi解码的LLR值在窗口大小趋近于无限大时趋近于理想Viterbi解码的LLR值,所以滑动窗口开得越大,局部Viterbi解码的性能就越接近理想,因而局部Viterbi解码算法是渐近最优的解码方法。
Viterbi(ML)解码器算法,体系结构和进一步推广:
实现Viterbi解码的关键技术之一是解码网格状态处理的蝶形结构,这种结构被用来在ACS路径度量更新处理中减少计算量,这种简单的技术可以有效地减少所需的基于极性的分支度量计算的数目,在实际设计中,可以设计能同时处理2,4,8或更多的解码网格状态的蝶形结构,能同时并行处理越多的状态,Viterbi解码器的速度就越快,当然,提高Viterbi解码器的速度通常会增加实际实现的硬件,将解码网格状态处理的蝶形结构平行排列的策略已经被深入地研究过(例如前面反复提到G.Fettweis and H.Meyr的文章和其中所列文献);用有限回溯长度的截断式Viterbi解码器代替每一数据帧的完全回溯是另外一种传统的重要实现方法,这种技术被进一步改进成称为滑动窗口的技术,其目的主要是用来减少MAP解码器和turbo解码器设计中所需要的内存,交换的代价自然是多余的运算,本发明称这类技术为单边窗口算法,但这种技术并不能提高解码器的速度,本发明改进并发展了这一技术,将其发展为双边窗口算法,并将这种技术首次应用到高速解码器的设计之中(因而不同于传统的只为减少解码器的内存),从而引进了局部Viterbi解码算法和局部Viterbi解码器,首次打破了由数据帧的大小所造成的速度延迟壁垒;给定仅对帧中一段数据的Viterbi解码能力,本发明可以使用平行排列的局部Viterbi解码器对整个数据帧进行解码;这样,再结合平行处理解码器网格状态的蝶形结构的并行排列,就可以构建出至少是在理论上几乎是具有任意速度的Viterbi解码器,最极端的情况则是用每个局部Viterbi解码器来对仅仅一个数据比特位来进行解码,这样全部Viterbi解码的时间延迟就被降低到仅仅为双边窗口的处理时间,这是一个固定的时钟周期常数,而这一时间延迟可以利用优化的硬件设计被降到极小,因此本发明的方法实际上是达到了可能的高速Viterbi解码器的速度极限,而借助于Yamamoto-Itoh指标和各种ARQ方案,带有自适应性的Viterbi解码器也可以很容易地在局部Viterbi解码器的基础上建立起来;本发明现正式给出局部Viterbi算法,在形式上,假设包含尾位的数据帧的大小为L,使用M个局部Viterbi解码机(本发明将整个帧平均分为M份,当然可以用不均匀分割),假设 L M = N 为整数,局部Viterbi算法详细如下:
局部Viterbi解码算法:
如果i=1,用{y0,y1,...,y4M-2,y4M-1}开始解码网格状态处理的蝶形运算,当i=0,路径度量初始化为PM(i)=0,i≠0时,路径度量初始化为PM(i)=+∞,在蝶形运算和路径度量进行到2M-1时刻(也即处理了对应于两个窗口的样本后),从具有最大路径度量的状态开始路径回溯(理论结果表明可以从任何状态开始回溯),对信息数据比特位{x0,x1,...,xM-1}进行Viterbi解码;
当i=N-1或i=N时,用采样{y2L-6M,y2L-6M+1,...,y2L-1}开始解码网格状态处理的蝶形运算,对于所有的i状态,路径度量均初始化为PM(i)=0,通过在L-1时刻(也即处理了对应于至少两个窗口的样本后),从零状态开始路径回溯,对数据比特位{xL-2M,xL-2M+1,...,xL-1}进行Viterbi解码,请注意,因为同样的Viterbi回溯状态(零状态),在这里这两种局部Viterbi解码情况有最后两个窗口的重复(即最后两个窗口同时解码);
当1<i<N-1时,用采样{y2(i-1)M,y2(i-1)M+1,...,y2(i+2)M-1}开始解码网格状态处理的蝶形运算,对于所有的i状态,路径度量初始化均为PM(i)=0,通过在2(i+2)M-1时刻(也即处理了对应于三个窗口的样本后),从具有最大路径度量的状态开始Viterbi回溯(理论结果表明:可以从任何状态开始回溯),对数据比特位{xiM,xiM+1,...,x(i+1)M-1}进行Viterbi解码;
如前所述,局部Viterbi算法是对经典的Viterbi算法、工程设计中常用的截断式Viterbi算法、以及为节省解码器内存的单边窗口算法的进一步改进和发展,这一局部Viterbi算法是下面将要引进的高速Viterbi解码算法、带有自适应性的Viterbi算法的基础,这一简单方法是本发明的核心和关键所在,而局部Viterbi解码器在双边窗口趋于无穷时(即被解码的数据段包含了整帧数据时)就是传统的Viterbi解码器,而局部Viterbi解码器若只运用单边窗口就是截断式Viterbi解码器,这种与传统方案的连接,不仅进一步证实了本发明,更加揭示了Viterbi解码算法内在的和谐。
在体系结构方面,局部Viterbi解码器的设计则可以依照传统的截断式Viterbi解码器体系结构进行修改,人们在截断式Viterbi解码器的体系结构和实现技巧方面已经在多年实践的基础上积累了大量的经验,并有许多经实践充分验证的设计例证,本发明所引入的局部Viterbi算法在结构上是截断式Viterbi解码器的体系结构的延续和进一步改进发展,因而以往的经验和技术储备可以被很快地运用到局部Viterbi解码器和即将被引入的高速Viterbi解码器以及带有自适应性的Viterbi解码器的设计当中。
带有自适应性的Viterbi解码设计方法:
使用局部Viterbi解码器可以在一个数据段而不是整个数据帧上进行Viterbi解码,因而可以进一步建立起高速Viterbi解码器和带有自适应性的Viterbi解码器的设计方案,很简单地说,在利用局部Viterbi解码器时可以舍弃具有不良SNR值的数据段而保留具有优良SNR值的数据段,例如这些方案可以实际应用在舍弃坏帧的语音信息接收;当然还可以要求发射机重新发送不良数据段和不良数据帧,这样就可以得到具有低的比特位错误概率的整帧,在局部Viterbi解码器的帮助下,本发明可以很容易地修改使用Yamamoto-Itoh指标的传统ARQ方案,让该ARQ方案具有对网格结构的一段数据具有重新请求发送的能力,这样就可以在接收端舍弃具有不良SNR值的数据段(而不是整个一帧数据),进而要求发射机重新传输该段的数据,这样一来整个一帧的平均SNR值就会得到改善和保证,这样就可以得到具有低的比特位错误概率的一帧数据,因而使整个帧的接收质量得到保证(即通过局部数据段的质量控制来保证整个数据帧的质量),当然,本发明也可以在局部Viterbi解码器的基础之上结合其他各种不同类型的传统的ARQ方法,进而利用局部数据段的重新传输来保证整数据帧的质量,这已经与传统的ARQ方法有了实质性的不同,因而这是一种从前并不存在的新方法;如前面一样,假设包含尾比特位的帧长为L,用M个局部Viterbi解码机(即将整个数据帧平均分为M份,当然可以用不均匀分割),假设 L M = N 是整数,带有自适应性的Viterbi解码算法详细叙述如下:
带有自适应性的Viterbi解码器包含M个局部Viterbi解码器对应于整个数据帧的M个数据段,假设所有双边窗口的大小等同并且足够长(长到可以忽略由近似Viterbi解码而带来的性能误差);
将具有不良SNR值的数据段舍弃和重新传输的各种ARQ方案用于带有自适应性的Viterbi解码,如果一个数据段的平均SNR值低于某个阈值,就可以舍弃这个数据段并要求重新传输,如果能在局部Viterbi解码之前即能估计其平均SNR值而且其SNR值低于所设定的阈值,就可以不需运行该局部Viterbi解码器,直接跳过这个数据段而直接要求重新传输;这是基于局部ARQ方案和局部Viterbi解码器的带有自适应性的Viterbi解码;
可将使用Yamamoto-Itoh指标的局部ARQ方案用于基于局部Viterbi解码器的带有自适应性的Viterbi解码方法之中,如果一个数据段上的最低Yamamoto-Itoh指标低于某个阈值,可以舍弃这个数据段并要求重新发送;
在体系结构方面,局部Viterbi解码器的设计是在传统的截断式Viterbi解码器体系结构的基础上进行修改,而带有自适应性的Viterbi解码器因此可以借助于对传统架构设计方案的改进而设计,最主要的实现部分是ARQ方案的设立和对带有自适应性Viterbi解码器的控制,而这种控制的主要任务实质上则是对局部Viterbi解码器的控制。
为了说明带有自适应性Viterbi解码器的性能,以下是本发明利用传统技巧(请结合参看A.Viterbi和J.Omura的专著Principles of digitalcommunication and coding,McGraw-Hill,1979)得到的表现结果。
带有自适应性Viterbi解码器的性能证明:
如果采用基于ARQ方案的带有自适应的Viterbi解码,且SNR阈值为T*(当然一般假定小于
Figure C20041002133000182
),那么最终接收到的数据帧的位出错概率
( 9 ) , p e ≤ Q ( 2 d f T * ( 1 + A N 0 4 E b ) ) · e d E b / N 0 · T ( D ) | D = e - E b / N 0 ,
其中df为解码网格结构的自由距离,pe为每个节点的误差概率,T(D)是生成函数;同样的有:
( 10 ) , p b ≤ Q ( 2 d f T * ( 1 + A N 0 4 E b ) ) · e d E b / N 0 · T ( D ) | D = e - E b / N 0 ,
其中pb是位判定误差概率,T(D,L,I)为生成函数,L表示长度,I表示信息序列中1的数目;对于采用基于带有自适应性的Viterb解码的Yamamoto-Itoh指标的ARQ方案,最终帧的数据位误差概率:
( 11 ) , p e ≤ Q ( 2 d E b N 0 ( 1 + A ) ) · e d E b / N 0 · T ( D ) | D = e - E b / N 0 ,
其中df为解码网格结构的自由距离,pe为每个节点的误差概率,T(D)是生成函数;同样有:
( 12 ) , p b ≤ Q ( 2 d E b N 0 ( 1 + A ) ) · e d E b / N 0 · T ( D ) | D = e - E b / N 0 ;
以上的理论结果表明:带有自适应性的Viterbi解码器的信息比特位出错概率的表现性能,借助于传统的ARQ方案(也包括利用Yamamoto-Itoh指标的ARQ方案)Viterbi解码器的表现会有所改进,本发明提供的方案最根本的是借助于局部Viterbi解码方法,通过检查并重新传输每一段数据采样的方法,来保证每一段数据采样的有效SNR值并进一步来保证整个一帧采样的有效SNR值,因为信号在传输过程中所受到的影响不同而且不均匀,所以利用局部Viterbi算法为基础的ARQ方案能在有效性上胜过基于整个一帧的ARQ方案,有效性的衡量当然是以信息比特位出错概率的表现性能和有效信息输出率为标准,因为局部Viterbi解码可以被用来进行甚至是小到一个数据比特位的解码,所以本发明所提供的基于带有自适应性Viterbi解码的ARQ方案具有最大可能的灵活性,因而本发明称其为带有自适应性的Viterbi解码方法;但特别值得一提的是这种方法的一部分用到有效SNR值作为ARQ的实现指标,这在实践中却只能依赖于估计,有一个细微点需要说明的是SNR值的估计是越局部越好(最好是有精确到每一个采样的估计,因为这样一来便是自适应性的极致),然而局部的估计方法却有本身存在的误差,而估计的区段越短误差就越大(只利用一个采样所作的估计,便是误差的极致),所以对这两种极致情况的折衷便是设计中的重要问题。
高速Viterbi解码器设计方法:
高速Viterbi解码算法是本发明的核心内容,也是实用性最强的方面之一,在局部Viterbi解码器、带有自适应性的Viterbi解码器已经引入的情况下,介绍高速Viterbi解码方法成为很直接和轻而易举的事,如前所述,在构建高速Viterbi解码器方面主要有两个策略,构建高速Viterbi解码器的第一个策略是将常用的用于处理解码器网格状态的ACS蝶形结构平行布局,利用并行处理来提高网格结构状态处理的速度,常用的ACS蝶形结构一般同时有2个状态,4个状态等等,平行排列或是串行排列是权衡硬件面积(如果用ASIC实现)和解码器速度而定的,这方面的工作有许多详细的阐述,其中前面提到的G.Fettweis和H.Meyr的文章是这一方向的阶段性总结;本发明着重介绍构建高速Viterbi解码器的另一种全新的策略:局部Viterbi解码器的并行排列;同前面一样,假设整个数据帧被分成M份(假设划分是统一的),假设包含尾比特位的帧长为L,用M个局部Viterbi解码器(即将整个帧平分为M份,当然可以使用不均匀分割),假设 L M = N 是整数,下面则是本发明所提供的构建高速Viterbi解码器的较为详细设计方法;
高速Viterbi解码器包含M个局部Viterbi解码器对应于整个数据帧的M个数据段,假设所有双边窗口的大小等同并且足够长(长到可以忽略由近似Viterbi解码而带来的性能误差);
并行操作高速Viterbi解码器中的M个局部Viterbi解码器,对整个数据帧的M个数据段分别进行局部Viterbi解码,这些运算当尽量并行处理(当然是在采样已经具备的情况下);
可以在高速Viterbi解码器中结合带有自适应性的Viterbi解码器,即根据高速Viterbi解码器的设计结合使用ARQ方案;
高速Viterbi解码器的解码速度由局部Viterbi解码器的并行程度决定,若所有局部Viterbi解码器全部并行处理,则高速Viterbi解码器具有最高的运行速度,若所有局部Viterbi解码器全部逐一串行处理,则高速Viterbi解码器具有最低的运行速度;以下是两个设计的极端情况:若使用L个局部Viterbi解码器(即对每一个样本都设立一个局部Viterbi解码器)且全部并行处理,则得到可能的最高速度Viterbi解码,若使用一个局部Viterbi解码器(即完全不采用窗口算法),则是传统的最慢的Viterbi解码方法;
本发明现在对高速Viterbi解码器速度作进一步的简要分析,假设能在一个时钟周期内对每个数据比特位进行所有需要的解码网格结构状态的处理(这可以借助于硬件设计技巧实现),则每个局部Viterbi解码器的解码时间延迟为3M时钟周期(应用适当的硬件技术,回溯和LLR值计算的开销可以降到零,这些延迟因而在此被忽略不计),在完全并行处理情况下,高速Viterbi解码器的解码时间延迟也为3M时钟周期,是一个固定的值,这表明高速Viterbi解码器的速度可几乎可以达到无限,例如,如果选择M=100,则能在300个时钟周期内对整个数据帧进行Viterbi解码(这样的Viterbi解码速度至少在理论上几乎足以快到应付任何数率的数据传输),更何况硬件的设计技巧足以建立起在更为有限的时钟周期内(可以少到只有几个时钟周期)完成的局部Viterbi解码器,首先,对于突破了数据帧尺寸壁垒的局部Viterbi解码器的平行排列,全部平行高速Viterbi解码器的速度已与数据帧的大小无关,其次,只要高速Viterbi解码器的速度快于其它的数字接收器模块,就可以认为Viterbi解码器的速度已足够快,因为在实际应用中并不需要速度快到无限的Viterbi解码器;在实现代价方面,需要考虑由于局部Viterbi解码器的并行排列而导致的硅片面积扩大、实际操作功耗增加等实现代价,同通常的Viterbi实现方式相比,使用全平行局部Viterbi解码器的并行排列而实现的ASIC面积粗略估计增加倍(当然是不考虑有关的附加逻辑和控制逻辑),可以假设运行
Figure C20041002133000212
个平行处理的局部Viterbi解码器的功耗是运行通常局部Viterbi解码器操作功耗的
Figure C20041002133000213
倍,操作功耗的增加主要由于第一个同步窗口处理部分所带来的额外运算(这部分是必需的),因此,和通常的Viterbi解码器相比,动态功耗大约增加
Figure C20041002133000214
(每个局部Viterbi解码器的硅片占用面积和功耗同样也由蝶形结构的布局方式决定)。
粒度、灵活组合、实现自由度和数值结果:
带有自适应性的Viterbi解码器方案可以通过数据处理、重新发送或用Yamamoto-Itoh指标等各种传统ARQ方案来增强数据的解码质量,实现这些方案的关键在于能进行分段处理的局部Viterbi解码器,由于数据段可以是和一个整数据帧一样长,或者是和一个单个采样一样短,就可以以最大的自由度灵活地构建带有自适应性的Viterbi解码器,要用到的其他技术是SNR估计或ARQ方案的有效流量,同传统的各种借助Viterbi解码的ARQ方案相比,本发明所提供的方案是则在一个小段数据上进行操作,这种方案因而具有极大的自适应性和灵活性。
本发明将高速Viterbi解码方案看作是两种处理操作的组合:网格状态处理和数据采样处理,网格状态和数据采样都可以用平行或串行的方式处理,进而也可以将这些处理看作是状态“分解”和采样“分解”的组合,并行处理程度越高,本发明就认为分解就越细,反之,并行处理程度越低,本发明就认为分解就越粗,假设网格状态被按照蝶形结构处理时所出现的顺序组织,而数据采样则以自然的时间顺序组织,图4和图5中的所示的每一个盒子表示对应于一个局部Viterbi解码器,网格状态分解和数据采样分解可以全局或局部均匀分布(当然可以有非均匀分布的局部Viterbi解码器),一个局部Viterbi解码器可以被分解成两个局部Viterbi解码器,两个顺序相连的相邻局部Viterbi解码器可以被合并为一个局部Viterbi解码器,这种“分开和合并”可以根据任意的分解粒度来完成,与此相似,网格状态分解也可以被“分开和合并”(具有最细分解的蝶形结构完全并行排列,与之相反,具有最粗分解的蝶形结构则是完全串行排列),高速Viterbi解码器可以基于任意的分解组合而设计,速度范围则从最慢(对应于最粗的分解)到最快(对应于最细的分解),这种设计的灵活性和自由性揭示了Viterbi解码器设计中内在的和谐和优美。
本发明现给出局部Viterbi解码方案的表现性能来部分地显示高速Viterbi解码以及带有自适应性的turbo解码方案的优良性;本发明仅仅给出具有不同窗口尺寸,在静态信道上并行排列的局部Viterbi解码器的表现性能,采用标准CDMA2000卷积码(约束长度为9,速率为1/2,每帧504位)来验证不同窗口尺寸的Viterbi解码方案,结果列于图6中,这里W5*K,W6*K,和W7*K分别表示窗口大小是5,6和7倍于约束长度,即分别为45,54和63个数据符号,即分别为90,108和126个样本,基于常用的5倍于约束长度的截断式Viterbi解码回溯长度,对于两头截断的局部Viterbi解码器,可以用仿真来确定最终所需的窗口尺寸,衰减信道自然需要更长的窗口尺寸;蝶形结构的并行排列仅是一种实现技术和并行算法,并不会影响到解码的性能表现,仿真的结果也验证了局部Viterbi解码器并行排列的高速解码方案,对于回溯长度或窗口尺寸5倍于约束长度时,局部Viterbi解码方案并不能取得优良性能。要想表现性能下降得更少,窗口的尺寸就要更大,这与人们的直觉完全一致。

Claims (13)

1.一种带有自适应性Viterbi解码器,其特征在于:基于局部Viterbi解码技术,采用双边窗口,结合包括Yamamoto-Itoh指标在内的ARQ方案,以改进Viterbi解码的质量,使其具备适应信道信号衰减的能力;带有自适应性Viterbi解码器输入为数据采样,输出为LLR值或数据位硬判定,带有自适应性Viterbi解码器包含对应于整个数据帧的M个数据段的M个局部Viterbi解码器、使用Yamamoto-Itoh指标的局部ARQ方案、带有自适应性的Viterbi解码器控制系统、带有自适应性的Viterbi解码器的数据进出系统、带有自适应性的Viterbi解码器的外部接口。
2.按照权利要求1所述带有自适应性Viterbi解码器,其特征在于:所述M个局部Viterbi解码器对应的数据帧的M个数据段的平均SNR估计值或者包括Yamamoto-Itoh指标在内的ARQ方案指标小于给定的阈值时,局部的采样被重新发送,即实现自适应性。
3.按照权利要求1所述带有自适应性Viterbi解码器,其特征在于:所述带有自适应性的Viterbi解码器控制系统是用于控制、协调和调度整个带有自适应性的Viterbi解码器的各个组成部分和各个组成部分的功能,M个局部Viterbi解码器分别有一个独立的控制系统;所述带有自适应性的Viterbi解码器的数据进出系统用于控制、协调数据的进出,每一个局部Viterbi解码器都有一个数据进出系统;所述带有自适应性的Viterbi解码器的外部接口用于该解码器和通讯系统内其他部分的连接和通讯,每一个局部Viterbi解码器都有与外部通讯的系统。
4.按照权利要求1所述带有自适应性Viterbi解码器,其特征在于:设包含尾位的被解码数据帧的大小为L,使用M个局部Viterbi解码器,ARQ设计方法如下:1)带有自适应性的Viterbi解码器包含M个局部Viterbi解码器对应于整个数据帧的M个数据段,设M个局部Viterbi解码器双边窗口的大小足够长;2)采用具有不良SNR值的数据段舍弃和重新传输的ARQ方案,如果一个数据段的平均SNR值低于某个阈值,则舍弃这个数据段并要求重新传输,如果能在局部Viterbi解码之前,即能估计其平均SNR值,而且其平均SNR值低于所设定的阈值,不需运行该数据段对应的局部Viterbi解码器,直接跳过这个数据段而直接要求重新传输;3)使用Yamamoto-Itoh指标的局部ARQ方案,如果一个数据段上Yamamoto-Itoh指标值低于某个阈值,则舍弃这个数据段并要求重新传输,如果能在局部Viterbi解码之前,即能估计Yamamoto-Itoh指标值而且低于所设定的阈值,不运行该数据段对应的局部Viterbi解码器,直接跳过这个数据段而直接要求重新传输。
5.按照权利要求1所述带有自适应性Viterbi解码器,其特征在于:设包含尾位的被解码数据帧的大小为L,使用M个局部Viterbi解码器,设N=L/M为整数;局部Viterbi解码设计方法为:1)如果i=1,用数据采样序列{y0,y1,...,y4M-2,y4M-1}开始解码网格状态处理的蝶形运算,在蝶形运算和路径度量进行到2M-1时刻开始路径回溯,对数据比特位{x0,x1,...,xM-1}进行Viterbi解码;2)当i=N-1或i=N时,用数据采样序列{y2L-6M,y2L-6M+1,...,y2L-1}开始解码网格状态处理的蝶形运算,通过在L-1时刻开始路径回溯,对数据比特位{xL-2M,xL-2M+1,...,xL-1}进行Viterbi解码;3)当1<i<N-1时,用数据采样序列{y2(i-1)M,y2(i-1)M+1,...,y2(i+2)M-1}开始解码网格状态处理的蝶形运算,通过在2(i+2)M-1时刻开始路径回溯,对数据比特位{xiM,xiM+1,...,x(i+1)M-1}进行Viterbi解码。
6.按照权利要求5所述带有自适应性Viterbi解码器,其特征在于:局部Viterbi解码设计方法中:1)如果i=1,在蝶形运算和路径度量进行到2M-1时刻,从具有最大路径度量的状态开始路径回溯;2)当i=N-1或i=N时,通过在L-1时刻从零状态开始路径回溯;3)当1<i<N-1时,通过在2(i+2)M-1时刻从具有最大路径度量的状态开始路径回溯。
7.一种高速Viterbi解码器,其特征在于:以局部Viterbi解码算法为根基,通过局部Viterbi解码器的并行放置架构,在局部Viterbi解码器的基础上采用双边窗口、结合包括Yamamoto-Itoh指标在内的ARQ方案和局部迭代停止方法,以提高整个Viterbi解码器的速度;高速Viterbi解码器包含M个局部Viterbi解码器对应于整个数据帧的M个数据段、使用Yamamoto-Itoh指标在内的ARQ方案、高速Viterbi解码器控制系统、高速Viterbi解码器的数据进出系统、高速Viterbi解码器的外部接口;高速Viterbi解码器输入为数据采样,输出为LLR值或数据位硬判定。
8.按照权利要求7所述高速Viterbi解码器,其特征在于:所述M个局部Viterbi解码器都利用截断式双边窗口算法,所有双边窗口的大小等同并且尺寸足够长,窗口长度应该长到忽略由近似Viterbi解码而带来的性能误差;或使用不均匀的M个局部Viterbi解码器和不等长的截断式双边窗口尺寸,所有窗口的尺寸足够长,窗口长度应该长到忽略由近似Viterbi解码而带来的性能误差。
9.按照权利要求7所述高速Viterbi解码器,其特征在于:所述高速Viterbi解码器控制系统用于控制、协调和调度整个高速Viterbi解码器的各个组成部分和各个组成部分的各种功能,M个局部Viterbi解码器分别有一个独立的控制系统;所述高速Viterbi解码器的数据进出系统用于控制、协调数据的进出,每一个局部Viterbi解码器都有一个数据进出系统;所述高速Viterbi解码器的外部接口用于该解码器和通讯系统内其他部分的连接和通讯,每一个局部Viterbi解码器都有与外部通讯的系统。
10.按照权利要求7所述高速Viterbi解码器,其特征在于:设包含尾位的被解码数据帧的大小为L,使用M个局部Viterbi解码器,所述通过局部Viterbi解码器的并行放置架构设计方法如下:1)高速Viterbi解码器包含M个局部Viterbi解码器对应于整个数据帧的M个数据段,设双边窗口的大小足够长;2)并行操作高速Viterbi解码器中的M个局部Viterbi解码器,对整个数据帧的M个数据段分别进行局部Viterbi解码。
11.按照权利要求10所述高速Viterbi解码器,其特征在于:使用M个局部Viterbi解码器,对整个数据帧的M个数据段进行局部Viterbi解码的运算并行处理。
12.按照权利要求10所述高速Viterbi解码器,其特征在于:结合带有自适应性的Viterbi解码器,将具有不良SNR值的数据段舍弃和重新传输的各种ARQ方案用于带有自适应性的Viterbi解码,如果一个数据段的平均SNR值低于某个阈值,舍弃这个数据段并要求重新传输,如果能在局部Viterbi解码之前,即能估计其平均SNR值,而且其平均SNR值低于所设定的阈值,不需运行该数据段对应的局部Viterbi解码器,直接跳过该数据段直接要求重新传输;将使用Yamamoto-Itoh指标在内的ARQ方案用于基于局部Viterbi解码器的带有自适应性的Viterbi解码方法之中,如果一个数据段上的最低Yamamoto-Itoh指标低于某个阈值,舍弃这个数据段并要求重新发送。
13.按照权利要求7所述高速Viterbi解码器,其特征在于:假设包含尾位的被解码数据帧的大小为L,使用M个局部Viterbi解码器,设N=L/M为整数;局部Viterbi解码设计方法:1)如果i=1,用数据采样序列{y0,y1,...,y4M-2,y4M-1}开始解码网格状态处理的蝶形运算,在蝶形运算和路径度量进行到2M-1时刻开始路径回溯,对数据比特位{x0,x1,...,xM-1}进行Viterbi解码;2)当i=N-1或i=N时,用数据采样序列{y2L-6M,y2L-6M+1,...,y2L-1}开始解码网格状态处理的蝶形运算,通过在L-1时刻开始路径回溯,对数据比特位{xL-2M,xL-2M+1,...,xL-1}进行Viterbi解码;3)当1<i<N-1时,用数据采样序列{y2(i-1)M,y2(i-1)M+1,...,y2(i+2)M-1}开始解码网格状态处理的蝶形运算,通过在2(i+2)M-1时刻开始路径回溯,对数据比特位{xiM,xiM+1,..,x(i+1)M-1}进行Viterbi解码。
CNB2004100213305A 2004-03-03 2004-03-03 一种带有自适应性以及高速Viterbi解码器的设计方法 Expired - Fee Related CN100542053C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100213305A CN100542053C (zh) 2004-03-03 2004-03-03 一种带有自适应性以及高速Viterbi解码器的设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100213305A CN100542053C (zh) 2004-03-03 2004-03-03 一种带有自适应性以及高速Viterbi解码器的设计方法

Publications (2)

Publication Number Publication Date
CN1665145A CN1665145A (zh) 2005-09-07
CN100542053C true CN100542053C (zh) 2009-09-16

Family

ID=35036065

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100213305A Expired - Fee Related CN100542053C (zh) 2004-03-03 2004-03-03 一种带有自适应性以及高速Viterbi解码器的设计方法

Country Status (1)

Country Link
CN (1) CN100542053C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523005B (zh) * 2012-01-04 2013-11-20 北京理工大学 一种具有低运算复杂度的卷积码快速译码方法
CN107919877B (zh) * 2016-10-08 2020-06-19 电信科学技术研究院 基于软输出维特比译码算法sova的译码方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
WO2003056708A1 (en) * 2001-12-21 2003-07-10 Ubinetics Limited Trellis decoding with forward and backward iterations
CN1466818A (zh) * 2000-09-28 2004-01-07 ض� 基于格子的信道编码所用的解码器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
CN1466818A (zh) * 2000-09-28 2004-01-07 ض� 基于格子的信道编码所用的解码器
WO2003056708A1 (en) * 2001-12-21 2003-07-10 Ubinetics Limited Trellis decoding with forward and backward iterations

Also Published As

Publication number Publication date
CN1665145A (zh) 2005-09-07

Similar Documents

Publication Publication Date Title
KR100369423B1 (ko) 길쌈 코드를 위한 연성 출력 복호화기
EP1314254B1 (en) Iteration terminating for turbo decoder
WO2004062111A1 (en) High speed turbo codes decoder for 3g using pipelined siso log-map decoders architecture
WO2005006564A1 (ja) 復号装置および復号方法
US6856657B1 (en) Soft output decoder for convolutional codes
CN102611464B (zh) 基于外信息并行更新的Turbo译码器
Lin et al. Low power soft output Viterbi decoder scheme for turbo code decoding
CN100542053C (zh) 一种带有自适应性以及高速Viterbi解码器的设计方法
Zhan et al. An efficient decoder scheme for double binary circular turbo codes
Lin et al. Efficient window-based stopping technique for double-binary turbo decoding
EP1280280A1 (en) Method and apparatus for reducing the average number of iterations in iterative decoding
CN100542050C (zh) 一种带有自适应性以及高速turbo解码器的设计方法
US7327796B1 (en) SOVA turbo decoder with decreased normalisation complexity
Reddy et al. A low complexity stopping criterion for reducing power consumption in turbo decoders
Lim et al. An efficient sliding window algorithm using adaptive-length guard window for turbo decoders
Cardinal et al. Turbo decoding using convolutional self doubly orthogonal codes
Lin et al. Efficient highly-parallel turbo decoder for 3GPP LTE-Advanced
Mathana et al. FPGA implementation of high speed architecture for Max Log Map turbo SISO decoder
Wang et al. Low-complexity decoding architecture for rate-compatible puncturing polar codes
Suzuki et al. AK= 3, 2 Mbps low power turbo decoder for 3/sup rd/generation W-CDMA systems
Zhang et al. Research and improvement on stopping criterion of Turbo iterative decoding
Singh et al. Performance enhancement of LOG MAP Turbo Decoder for mobile applications
Li et al. An efficient decoding algorithm for concatenated RS-convolutional codes
Lin et al. An efficient soft-input scaling scheme for turbo decoding
JP2001285079A (ja) 通信用誤り訂正符号復号装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090916

Termination date: 20190303

CF01 Termination of patent right due to non-payment of annual fee