专利名称:维特比解码器的制作方法
技术领域:
本发明涉及一种维特比(Veterbi)解码器,特别地涉及一种属于用来在数字数据通信中控制错误的事先错误校正方法的维特比解码器。
维特比解码算法于1967年提出,它是一种用来进行最大相似度解码的最优解码方法。不过,要构筑其硬件是困难的。
在以下文献中对维特比解码器有所说明(1)“The ViterbiAlgorithm(维特比算法)”,G.D.Forney,Proc.IEEE,vol.61,No.3,pp268-278,1970年3月;(2)“High Speed Parallel Viterbi DecodingAlgorithm and VLSI.architecture(高速并行维特比解码算法和其大规模集成电路结构)”,G.Fettweis和H.Meuer,IEEE Comm.,pp46-55,1991年5月;(3)日本专利公开出版物,No.Sho-59-19454;以及(4)美国专利No.5,295,142。
下面以卷积编码器作为例子来说明简单的维特比解码算法,其中的编码率R=1/2,限制长度K=3,并且生成多项式如下G1=1+X+X2G2=1+X2如
图1所示,卷积编码器包括一个2比特的移位寄存器1,以及两个用来执行模2加法的加法器2。编码器的输出G1和G2由移位寄存器内容的状态和输入3确定。其在各时间点上的输出在图2中以树网图的形式示出。
参见图2,各个状态都由两条路径连接,维特比算法只从两条路径中选择一条具有一定概率的路径,而概率为零的路径则被放弃。这样就执行了最大相似度解码。这样选出的路径称为存活路径,各个状态保持了与决策深度(或截断深度)一样多的存活路径的信息。
解码是这样执行的从各个存活路径中选出最大概率路径,并沿着它反向追踪回去。
在构筑维特比解码器时,构成状态值存储装置的硬件(例如寄存器)的容量不能无限地扩大,而且计算各个状态的状态值的ACS(相加-比较-选择)算法单元要每小时重复操作一次。因此,可能会发生超过状态值存储装置的存储容量的数据溢出,从而,在解码输出中可能出现错误。
为了防止这种错误,就需要用一个归一化算法单元来重新改变状态值的大小。具有这种功能的维特比解码器示出于图3。
输入代码从输入端31输入到一个分支量度算法单元32中,其中各分支的量度值是取决于各个分支00,01,10和11的。
一个ACS(相加-比较-选择)算法单元33接收分支量度算法单元32的输出和状态值存储装置34的全部时间点上的状态值,以此来计算存活路径和状态值。ACS算法单元33的运算操作是按照图2的树网图来进行的。
在ACS算法单元33的输出中,关于存活路径的信息是存储在一个路径存储装置37中的,而状态值则被输出给一个归一化算法单元35和一个最大分支量度值探测装置36。
从自ACS算法单元33接收到的各状态值中,最大分支量度值探测装置36探测出最大分支量度值,并把这个值提供给归一化算法单元35,而这个值的地址则输出给一个反向追踪控制装置38,以控制路程存储装置37。
归一化算法单元35从ACS算法单元33的各个状态的存活状态值中减去最大分支量度值探测装置36的最大分支量度值。计算结果被存入状态值存储装置34。
因此,存储在状态值存储装置34中的状态值是这样的在存储ACS算法单元33的当前时刻输出之前总是先要从中减去最大分支量度值(例如最小状态值)。因此,不可能发生数据溢出,而且存储在状态值存储装置中的各状态值必然有一个为零。
然而,在上述的维特比解码器中,在从计算输入代码的分支量度值直到把新的状态值存储到状态值存储装置34中的过程中,算法处理经过了ACS算法单元33、最大分支量度值探测装置36、和归一化算法单元35,从而,给实施一个高速的维特比解码器带来了障碍。
作为改进处理速度的普通技术的一个例子,曾提出了这样一种维特比解码器,其中在归一化处理中,使用了前面的时间点上的最大分支度量值来代替当前时刻的最大分支度量值,由此来缩短算法的路径。
不过,在这种维特比解码器中,为了探测具有最大分支度量值的状态的地址需要比较复杂的硬件。而且,连接从ACS算法单元到最大分支度量值探测单元的算法路径也同样会带来障碍。
还曾提出过另一种维特比解码器,在这种解码器中通过使用当前时刻的最大分支量度值来归一化而缓解了上述维特比解码器的缺点。这样,存储在状态值存储装置中的各个归一化状态值中有一个将必然变为零,由此改进了操作速度。
不过,在这种维特比解码器中,复杂的算法路径变成了改进操作速度中的一个障碍。
如果不使用最大分支量度值而进行归一化操作,则最大分支度量值探测装置就可以从由象ACS算法单元33、最大分度量值探测装置36和归一化算法单元35这些决定速度的装置所构成的算法路径中分离出来。一般地说,由于最大分支度量值探测装置由一个多级比较器组成,所以分离出该最大分支度量值探测装置就能够改进维特比解码器的操作速度。
如果准备用维特比算法来解码接收到的卷积编码代码,则必须在发射方和接收方之间建立起同步关系。特别是对于没有采用分开的帧同步信号的应用场合,维特比解码器必须根据接收到的信号来探测它是同步的还是非同步的,再据此来执行解码。
状态值随着时间而增加,并且状态值增加的模式将根据发送路径的环境而变得不同。对于在发送方和接收方之间建立了代码同步关系的情形,信噪比Eb/No(其中Eb为信号,No为噪声)愈高,则状态值随时间的增加率就变得愈小。而且,还存在有一个优势状态,它的状态值要远小于其他的状态值。另一方面,信噪比愈低,则状态值随时间的增加率就愈大。而且,各个状态值是互相接近的。对于在发送方和接收方之间没有建立同步关系的情形,状态值增加的模式类似于信噪比很低的情形。
在构成维特比算法的维特比解码器中,状态值是存储在一个6比特或7比特容量的寄存器中的,因此,为了防止数据溢出,需要归一化(或重定大小)。
一般,在执行归一化时,当各状态值中最小值也超过了一个阈值时,则从各状态值中减去该阈值。
图4示出一个普通的维特比解码器(美国专利No.4,802,174)。
在这个维特比解码器中,在某个时间周期内测量执行归一化的频度,如果该频度大于一个阈值频度,则可判断出在发送方和接收方之间没有建立代码同步。
在这个维特比解码器中,从由分支量度算法单元41所计算的各个分支量度值中提取出一个最小值,然后通过把各个分支量度值减去该最小值来执行分支量度的归一化,从而改进了同步/非同步探测的精度。然而,这个维特比解码器需要一个分开的分支量度归一化算法单元42,从而增加了硬件成本。
作为另一个例子,在Wei方法(美国专利No.4,641,327)中,在某个时间周期内测量〔d(t)等于非零值〕的发生次数,其中d(t)等价于最小状态值BMmin(t)和最小分支量度值BMmin(t)之间的差值,然后把得到的值与一个参考值进行比较,由此来探测同步或非同步。然而,在该方法中,在没有关于信噪比信息的情形下,不可能确定出一个能够精确地探测同步/非同步的参考值。
一种改进Wei方法(美国专利No.4,641,327)的维特比解码器被公开于美国专利5,050,191中。在该维特比解码器中,同步/非同步的探测是通过一个测量值f{d(t)}来探测的,这个测量值是d(t)的非线性函数,而d(t)是最小状态值PMmin(t)和最小分支量度值BMmin(t)之间的差值。如果d(t)=0,则累加上f{d(t)};如果d(t)≠0,则累加上f{d(t)}=-1。然后,把这累加值与一个参考值相比较,由此来确定同步或非同步。不过在这个方法中,需要一个加法器来进行对f{d(t)}值的累加,还需要一个比较器来比较两个值。因此,该方法有增加硬件成本的缺点。
本发明所提出的同步/非同步探测方法可以应用于打孔卷积(puncturing convolution)编码技术。该探测方法如下。在某个时间周期内观察是否有可能利用关于存活路径的信息来从这样一个状态进行反向追踪,这个状态在紧接的前一时刻具有最小状态值,并且在当前时刻也具有最小状态值,由此来探测同步或非同步。
打孔卷积编码技术使得有可能实现高编码率代码的维特比解码器,还有可能实现一种能够选择编码率的简单的编码器和解码器。
如果准备要精确地解码打孔代码,就必须在发送方和接收方之间建立起一个打孔模式的同步。然而,关于打孔模式同步的信息是不发送的,所以维特比解码器为了执行解码必须根据接收到的代码自己来探测打孔模式的同步关系。
LSI Logic(LSI逻辑)公司采用一种如下方式的探测打孔模式同步的方法。在打孔模式非同步状态下,维特比解码器输出中的误码率(比特错误率)要高于打孔模式同步状态下的误码率,打孔模式的同步或非同步就是利用这个事实来探测的。LSI Logic公司的方法由于使用了一个卷积编码器和一个缓存器而具有增加硬件成本的缺点。
本发明试图克服普通技术的上述各种缺点。
因此本发明的一个目的是提供一种维特比解码器,其中有简化的硬件和改进的操作速度。
本发明的另一个目的是为维特比解码器及其方法提供一种同步/非同步探测设备,其中发送方和接收方之间的代码同步或非同步可以精确地探测,并且节省了硬件成本。
在达到上述目的时,根据本发明的设备的特征在于,其中最大分支量度值探测装置是与一个由一个ACS算法单元、一个归一化算法单元和一个状态值存储装置所组成的反馈环相分开的,或者是与一个由一个ACS算法单元和一个状态值存储装置所组成的反馈环相分开的;以及,最大分支量度值是利用状态值存储装置的输出来探测的,由此改进了维特比解码器的操作速度。
此外,在达到上述目的时,根据本发明的方法的特征在于,利用关于存活路径的信息,判断是否有可能从一个紧接的前一时刻和当前时刻都具有最小状态值的状态来进行反向追踪;以及,判断是否存在有不能够进行反向追踪的非对应性,以便在某个时间周期内测量发生非对应的次数,当该发生次数超出一个参考值时就判定为非同步。
在根据本发明的另一个方法中,判断是否有可能不利用存活路径的信息来进行反向追踪,由此来判断同步或非同步。
在达到上述目的时,根据本发明的同步/非同步探测设备的特征在于,一个在紧接的前一时刻具有最小状态值的状态的地址信息被存入一个寄存器,然后利用一个比较器对一个在当前时刻具有最小状态值的状态的存活路径信息以及地址信息与一个紧接的前一时刻具有最小状态值的状态的地址信息进行比较,然后,利用一个计数器在某个时间周期内计数发生非对应的次数,接着,将计数器的计数值与一个参考值进行比较,由此来探测同步或非同步。
在另一个方面,根据本发明的同步/非同步探测设备的特征在于,利用一个比较器对一个在当前时刻具有最小状态值的状态的地址信息和一个在前一时刻具有最小状态值的状态的地址信息进行比较,由此象上述设备那样地来执行探测。
在再一个方面,打孔模式同步/非同步探测方法的特征在于,判断在前面时刻具有最小状态值的状态是否对应于通过利用存活路径信息从在当前时刻具有最小状态值的状态反向追踪而得到的一个状态,然后根据反向追踪可能/反向追踪不可能来判断对应/非对应,然后仅对打孔为Xi=Yi=1的情形来测量对应/非对应的次数,接着,把发生次数和一个参考值进行比较,由此来探测同步或非同步。
在再一个方面,打孔模式同步/非同步探测方法的特征在于,利用一个比较器对一个在当前时刻具有最小状态值的状态的地址信息和一个在前一时刻具有最小状态值的状态的地址信息进行比较,然后,以上述的方式来进行探测。
通过结合附图对本发明的优选实施例的详细说明,本发明的上述目的和其他优点将变得更为明显,在附图中图1示出一般的卷积编码器;图2是示出一个卷积编码器的树网图;图3是示出普通维特比解码器的结构的方框图;图4示出普通维特比解码器的流程图;图5是示出根据本发明的维特比解码器的结构的方框图;图6示出本发明的另一个实施例;图7是示出作为本发明又一个实施例的含有一个归一化要求装置的维特比解码器的方框图;图8是示出带有与算法路径相分开的归一化要求装置的维特比解码器的方框图;图9示出根据本发明的维特比解码器的又一个实施例;图10示出一个用于本发明的多路转换器;图11示出本发明的又一个实施例,其中一个分支量度归一化算法单元设置在一个分支量度算法单元和一个ACS算法单元之间;图12示出根据本发明的用于维特比解码器的同步/非同步探测装置的一个实施例;图13示出根据本发明的用于维特比解码器的同步/非同步探测装置的另一个实施例;图14是示出在打孔模式同步/非同步判断中平均非对应发生率与信噪比(Eb/No)之间的关系的曲线,其中打孔卷积编码器的编码率R=7/8,并采用了生成多项式171,133;图15是示出在打孔模式同步/非同步判断中平均对应发生率与信噪比(Eb/No)之间的关系的曲线,其中打孔卷积编码器的编码率R=7/8,并采用了生成多项式171,133;图16示出根据本发明的用于维特比解码器的打孔模式同步/非同步探测装置的一个实施例;以及图17示出根据本发明的用于维特比解码器的打孔模式同步/非同步探测装置的另一个实施例。
图5是示出根据本发明的维特比解码器的结构的方框图。
根据本发明的维特比解码器包括一个分支量度算法单元52,用来计算从输入端51输入的信号的分支量度值;一个ACS算法单元53,用来计算状态值和存活路径信息;一个路径存储装置59,用来存储ACS算法单元53输出的存活路径信息;一个归一化算法单元54,用来利用最大分支量度值和ACS算法单元53的状态值来归一化状态值;一个状态值存储装置55,用来存储归一化算法单元54输出的状态值;一个最大分支量度值探测装置56,用来从状态值存储装置55的输出来探测最大分支量度值;一个最大分支量度值存储装置57,用来存储最大分支量度值探测装置56输出的最大分支量度值;以及一个反向追踪控制装置58,用来接收最大分支量度值探测装置56输出的最大分支量度值,来控制路径存储装置59,以执行反向追踪。
在上述设备中,接收到的代码数据被从输入端51输入给计算分支量度值的分支量度算法单元52,计算得到的分支量度值被输入给ACS算法单元53。
ACS算法单元53从分支量度算法单元52接收分支量度值,并从状态值存储装置55接收各前面时间点上的状态值,以计算当前时刻的各状态值和存活路径信息。从ACS算法单元53输出的存活路径信息被存入路径存储装置59,而状态值被输入给归一化算法单元54。
为了防止状态值数据溢出,归一化算法单元54利用ACS算法单元53的状态值和最大分支量度值存储装置57的最大分支量度值来执行归一化操作。然后归一化状态值被输出给状态值存储装置55。
状态值存储装置55存储归一化算法单元54的归一化状态值,状态值存储装置55的输出被输入给ACS算法单元53,以供计算各个状态的存活路径信息和存活状态的状态值时使用。再有,状态值存储装置55的输出还被输入给最大分支量度值探测装置56,以供探测最大分支量度值时使用。
从最大分支量度值探测装置56接收最大分支量度值的最大分支量度值存储装置57接收前一时刻的最大分支量度值,并把它输出给归一化算法单元54,使之受到归一化操作。
再有,已由最大分支量度值探测装置56所探测到的最大分支量度值被输出给反向追踪控制装置58。然后反向追踪控制装置58利用具有最大分支量度值的地址来控制路径存储装置59,使路径存储装置59能够输出解码的数据。
在这个情况下,最大分支量度值探测装置56接收和利用状态值存储装置55的输出,以代替接收和利用ACS算法单元53的输出。因此,在存活路径信息(它是从ACS算法单元53输入给路径存储装置59的)和具有最大分支量度值的状态的地址(它是从最大分支量度值探测装置56输入给反向追踪控制装置58的)之间存在有一个周期的差别。为了补偿这个差别,或者在路径存储装置59内部设置一个存储器,或者在ACS算法单元53和路径存储装置59之间发设置一个存储器。
图6中示出了本发明的另一个实施例。
在该实施例的设备中,分支量度算法单元62的输出被输入给一个归一化算法单元64。一个ACS算法单元63利用归一化算法单元64的分支量度值和一个状态值存储装置65的最大分支量度值(前一时刻的)来执行归一化操作,以向一个路径存储装置69输出存活路径信息,并向状态值存储装置65输出状态值。该实施例的其余情形与图5设备的相同。
不利用最大分支量度值的归一化操作是以如下方式来执行的。在存活状态值的最小值超过了一个预定阈值的情形中,从所有的存活状态值中减去该阈值。这种类型的维特比解码器当探测到各存活状态值中的最小值已超过一个预定的阈值时便要求执行对存活状态值的归一化。也就是说,需要有这样一个归一化要求装置。
图7是示出作为本发明再一个实施例的含有一个归一化要求装置的维特比解码器的方框图。
图7的维特比解码器的操作速度取决于由一个ACS算法单元73、一个归一化算法要求装置76、一个归一化算法单元77和一个多路转换器74所组成的算法路径的处理速度。
为了改进具有上述结构的维特比解码器的操作速度,图8示出了一个维特比解码器,其中的归一化算法要求装置是与由一个ACS算法单元73、一个归一化算法单元76、和一个多路转换器74所组成的算法路径相分开的。
在该解码器中归一化算法要求装置86是与上述算法路径相分开地使用状态值存储装置85的输出的。这种类型的解码器的操作速度取决于由一个ACS算法单元83、一个归一化算法单元87、和一个多路转换器84所组成的算法路径的操作速度。因此,归一化算法单元87和多路转换器84是改进维特比解码器操作速度中的障碍。
图9示出根据本发明的维特比解码器的再一个实施例。
代码矩阵通过一个输入端91被输入给一个分支量度算法单元92,进行算法操作,计算到的分支量度值被输入给一个ACS算法单元93。
ACS算法单元93从分支量度算法单元92接收分支量度值,并从一个状态值存储装置95接收前面时刻的各状态值以计算当前时刻的各状态值和存活路径信息。ACS算法单元93含有一些ACS算法部件,每个部件含有两个加法器、一个比较器、和一个多路转换器。同时,从ACS算法单元93输出的存活路径信息被存入一个反向追踪装置97,而各状态值则被输出给一个多路转换装置94。
多路转换装置94同时地执行归一化和选择。多路转换装置94含有和状态数目一样多的多路转换器。图10示出了本发明所采用的多路转换器941的一个例子,该多路转换器941执行”除以2“(左移一个比特位)的归一化。多路转换装置94的输出lsb……ms b-1、msb(“lsb”为最低位。“msb”为最高位)取决于归一化要求装置的输出,准备输入给状态值存储装置95。
状态值存储装置95含有与状态数目一样多的6比特寄存器,并且这些寄存器的容量可以根据具体应用来调节。状态值存储装置95存储多路转换器94的状态值,状态值存储装置95的输出被提供给ACS算法单元93,以供计算存活状态值和各个状态的存活路径信息时使用。
归一化要求装置96鉴别状态值存储装置95的状态值数据中的最大值是否超过了一个预定的阈值,鉴别结果被输出给多路转换装置94。对于构成状态值存储装置95的寄存器的容量为6比特,并且用来鉴别是否存在有归一化要求的阈值为31的情形,在探测是否存在有归一化要求时使用了状态值存储装置95的各个寄存器中的一个高位比特。对于阈值为47的情形,探测是否存在有归一化要求时使用了最高两位的比特。
反向追踪装置97含有一个用来存储ACS算法单元93的存活路径信息的路径存储装置;以及一个用来控制反向追踪的反向追踪控制装置。解码的数据,即反向追踪的结果,通过输出端98输出。反向追踪装置97还含有一个最大分支量度值探测装置,它执行从一个具有最大分支量度值,即存活状态值的状态开始的反向追踪操作。
在本发明中,执行“除以2(左移1比特位)”的归一化,该运算结果的1个低比特位被舍弃。通过舍弃运算结果的1位低比特信息,维特比解码器的错误校正性能可能被降低。
为了使这种性能降低最小化,必须减小执行归一化的频度,以使舍弃低位的比特的频度最小化。如果要减小执行归一化的频度,则状态值的增大率必须最小化,因此,分支量度算法单元的操作结果不直接提供给ACS算法单元,而是把分支量度值的归一化结果输入给ACS算法单元。在ACS算法单元中重要的是相对值,因此,即使使用了分支量度值的归一化结果,维特比解码器的错误校正能力也不会受到影响。
图11示出本发明的又一个实施例,其中在一个分支量度算法单元和一个ACS算法单元之间设置了一个分支量度归一化算法单元。
分支量度值的归一化是以这样的方式来执行的从各分支量度值中探测出最小值,并从分支量度值中减去这样探测到的最小值。
根据该实施例的方法,不采用从存活状态值中减去一个预定阈值来执行归一化操作的方法,而是采用把存活状态值除以2的方法来对它们进行归一化的方法,其结果是改进了维特比解码器的操作速度。该“除以2”算法操作利用图11所示的多路转换器结构来执行。这样在执行归一化时就不需要一个分开的逻辑电路,从而能够改进操作速度,其改进程度与归一化算法单元的运算操作的延时相同。
对于在发送方和接收方之间建立了代码同步关系,并且不存在噪声的情形,如果用维特比解码器来解码接收到的经卷积编码的代码,则最小状态值总是和最小分支量度值相同,因此得到的结果为“0”。
如果建立了同步关系,则当信噪比愈高时,可以利用一个在任意时刻t具有最小值的状态的存活路径信息来反向追踪在时刻t-1具有最小状态值的状态的概率也就愈高。这个概率在没有建立同步关系的情形中比在建立了同步关系的情形中要高。
本发明所提出的探测同步/非同步的方法以下述方式来执行。在某个时间周期内观察一个在紧接的前一时刻具有最小状态值的状态是否是能够利用存活路径信息从一个在当前时刻具有最小状态值的状态来反向追踪得到的状态,由此来探测同步或非同步。
如果一个在紧接的前一时刻具有最小状态值的状态是能够利用存活路径信息从一个在当前时刻具有最小状态值的状态来反向追踪得到的,则这种情形叫做“对应的”。另一方面,如果这样的反向追踪是不可能的,则就称为发生了“不对应”。这样,在某个时间周期内测量出发生对应和不对应的次数,并把结果和一个预定参考值相比较,由此来确定同步或非同步。
图12示出了根据本发明的用于维特比解码器的同步/非同步探测装置的一个实施例。
一个在当前时刻具有最小状态值的状态的比特地址信息通过一个输入端121被同时输入给一个寄存器122和一个比较器124。寄存器122用来存储在紧接的前一时刻具有最小状态值的状态的地址信息,它具有一定比特容量。因此它是存储准备用于下一周期的比特寻址信息(通过输入端121输入的)的。
比较器124接收一个在前面时刻具有最小状态值的状态的地址信息比特;一个在当前时刻具有最小状态值的状态的地址信息(通过输入端121输入的)的低n-1位比特;以及通过一个输入端123输入的存活路径信息,并对它们进行比较,以探测是否存在非对应性。比较结果被输出给一个计数器125。
计数器125接收来自比较器124的信号,并且只有当发现了非对应时,计数值才会增加。该计数器在某个时间周期内计数发生非对应的次数,并且每隔一个时间间隔其计数值就初始化为“0”。
一个同步/非同步探测装置126通过比较在某个时间周期内发生非对应的次数来探测同步或非同步。
还有一个根据本发明的同步/非同步探测装置的实施例。在该实施例中,不利用存活路径信息,在某个时间周期内观察一个在紧接的前一时刻具有最小状态值的状态是否能够从一个在当前时刻具有最小状态值的状态反向追踪得到,由此来探测同步或非同步。
图13示出了根据本发明的用于维特比解码器的同步/非同步探测装置的另一个实施例。
一个在当前时刻具有最小状态值的状态的n-比特地址信息通过一个输入端131被同时输入给一个寄存器132和一个比较器134。寄存器132用来存储在紧接的前一时刻具有最小状态值的状态的地址信息,其容量为n-1个比特。因此它存储n比特地址信息(通过输入端131输入的)中的高n-1位,准备用于下一个周期。
比较器134接收一个在前一时刻具有最小状态值的状态的地址信息比特中的高n-1个比特;以及一个在当前时刻具有最小状态值的状态的地址信息(通过输入端131输入的)中的低n-1个比特,并对它们进行比较以探测是否存在非对应。比较结果被输出给一个计数器135。
计数器135接收来自比较器134的信号,并且仅当发现了非对应时计数值才增加。该计数器在某个时间周期内计数发生非对应的次数,并且每隔一段时间间隔其计数值就初始化为“0”。
一个同步/非同步探测装置136对发生非对应的次数和一个预定参考值进行比较,由此来探测同步或非同步。
在使用打孔卷积编码技术的应用场合中,对于在发送方和接收方之间建立了打孔模式同步关系的情形,以及对于接收到的卷积编码是利用维特比算法在无噪声环境下被解码的情形,最小状态值和最小分支量度值总是相同的,并且该值为“0”。
如果建立了同步关系,则当信噪比愈高时,可以利用一个在任意时刻t具有最小状态值的状态的存活路径信息来反向追踪一个在t-1时刻具有最小状态值的状态的概率就愈大。这个概率在建立了同步关系的情形中要比在没有建立同步关系的情形中高。
因此,进行这样的观察,即一个在紧接的前一时刻具有最小状态值的状态是否对应于一个能够从一个在当前时刻具有最小状态值的状态反向追踪而得到的状态。以这种方式就可以探测出打孔模式的同步或非同步。
本发明中所提出的探测打孔模式同步/非同步的方法是以如下方式来执行的。在某个时间周期内观察一个在紧接的前一时刻具有最小状态值的状态是否是利用存活路径信息从一个在当前时刻具有最小状态值的状态反向追踪得到的状态,由此来探测同步或非同步。
如果一个在紧接的前一时刻具有最小状态值的状态能够利用存活路径信息从一个在当前时刻具有最小状态值的状态反向追踪得到,则称之为“对应”。另一方面,如果这种反向追踪是不可能的,则称发生了非对应。这样,在某个时间周期内测量发生对应和非对应的次数,把得到的结果与一个预定的参考值相比较,由此来确定是同步或非同步。
在编码率R=1/2的卷积编码器中,如果所用寄存器的容量(管理场(k)-1)为n比特,则一个在时刻t具有最小状态值的状态Si(t)和一个在时刻t-1具有最小状态值的状态Sj(t-1)可以以如下方式来排列成比特行Si(t)=bnbn-1……b1b0Sj(t)=bn′bn-1′……b1′b0′再有,一个能够利用状态Si(t)的存活路径信息X为反向追踪得到的一个时刻t-1的任意状态Sh(t-1)可以以如下方式来表示成比特行
Sh(t)=bn-1bn-2……b1x在时刻t-1具有最小状态值的状态Si(t-1)是否对应于一个能够利用存活路径信息从在时刻t具有最小状态值的状态反向追踪得到的状态是通过把Sh(t-1)的n个比特与Sj(t-1)的n个比特进行比较来判断的。
图14是示出在判断打孔模式的同步/非同步时平均非对应发生率与信噪比(Eb/No)的关系的曲线,其中打孔卷积编码器的编码率R=7/8,并采用了生成多项式171,133。
由于信噪比小于3.0dB时的性质,不可能设定一个与信噪比无关的可以用来探测打孔模式的同步/非同步的参考值。不过,在信噪比大于4.0dB的环境下,有可能设定一个与信噪比无关的可以用来探测打孔模式的同步/非同步的参考值。
图15是示出在判断打孔模式的同步/非同步时平均对应发生率与信噪比(Eb/No)的关系的曲线,其中打孔卷积编码器的编码率R=7/8,并使用了生成多项式171,133。在信噪比大于4.0dB的环境下,有可能设定一个与信噪比无关的可以用来探测打孔模式的同步/非同步的参考值。
在同步/非同步探测参考值与同步时的发生率平均值和非同步时的发生率平均值之间没有一个足够的分界区。因此不能够排除掉发生探测错误或延长探测时间。为了增大这个分界区,仅当打孔模式为Xi=Yi=1时才测量非对应的发生次数。或者当在Xi=Yi=1时加上一个适当量的权重来增大分界区。
图16示出了根据本发明的用于维特比解码器的打孔模式同步/非同步探测装置的一个实施例。
一个在当前时刻具有最小状态值的状态的n比特地址信息通过输入端161被同时输入给一个寄存器162和一个比较器164。寄存器162用来存储在紧接的前一时刻具有最小状态值的状态的地址信息,它的容量是n个比特位。因此它存储准备在下一个周期使用的地址信息(通过输入端161输入的)。
比较器164接收一个在前一时刻具有最小状态值的状态的n比特地址信息;在当前时刻具有最小状态值的状态的低n-1位地址信息(通过输入端161输入的);以及通过一个输入端163输入的存活路径信息,并对它们进行比较,以探测是否存在对应。比较结果被输出给一个计数器165。
计数器165接收来自比较器164的信号,并且仅当发现了非对应时计数值才增加。该计数器在某个时间周期内计数发生非对应的次数,并且每隔一段时间计数值就被初始化。
一个同步/非同步探测装置166从计数器165接收计数的比特值,即在某个时间周期内发生非对应的次数,并通过对输入的计数值和一个用于判断同步/非同步的参考值相比较,从而探测打孔模式的同步或非同步。
再有,不利用存活路径信息,在某个时间周期内观察一个紧接的前一时刻具有最小状态值的状态是否能够从一个在当前时刻具有最小状态值的状态反向追踪得到,由此来控测同步或非同步。
如果一个在紧接的前一时刻具有最小状态值的状态能够利用存活路径信息从一个在当前时刻具有最小状态值的状态反向追踪得到,则称之为“对应”。另一方面,如果这种反向追踪是不可能的,则称发生了非对应。这样,在某个时间周期内测量发生对应和非对应的次数,由此来判断打孔模式的同步或非同步。
图17示出了根据本发明的用于维特比解码器的打孔模式同步/非同步探测装置的另一个实施例。
一个在当前时刻具有最小状态值的状态的n比特地址信息通过一个输入端171被同时输入给一个寄存器172和一个比较器174。寄存器172用来存储在紧接的前一时刻具有最小状态值的状态的地址信息,它的容量是n-1个比特。因此它存储准备在下一个周期中使用的n-1比特地址信息(通过输入端171输入的)。
比较器174接收一个在前一时刻具有最小状态值的状态的n-1比特地址信息(通过寄存器172输入的);以及一个在当前时刻具有最小状态值的状态的低n-1比特地址信息(通过输入端171输入的),并对它们进行比较以探测是否存在非对应。比较的结果被输出给一个计数器175。
计数器175接收来自比较器174的信号,并且仅当发现了非对应时计数值才增加。该计数器计数在某个时间周期内发生的非对应次数,并且每隔某个时间计数值就初始化为“0”。
一个同步/非同步探测装置176接收来自计数器175的计数比特值,即在某个时间周期内发生非对应的计数,并通过对输入的计数值和一个用于判断同步/非同步的参考值进行比较,从而探测打孔模式的同步或非同步。
根据上述的本发明,在采用卷积编码技术的应用场合中能够改进维特比解码器的操作速度。并且,同步/非同步能够以最小的硬件成本来探测。
权利要求
1.一种维持比解码器,它包括一个分支量度算法单元,用来计算从一个输入端输入的信号的分支量度值;一个ACS算法单元,用来从上述分支量度算法单元接收状态值(前面时刻的)和分支量度值,以计算状态值和存活路径信息;一个归一化算法单元,用来通过利用最大分支量度值和上述ACS算法单元的状态值来归一化状态值;一个状态值存储装置,用来存储上述归一化算法单元的输出状态值;一个最大分支量度值探测装置,用来从上述状态值存储装置的输出中探测最大分支量度值;一个最大分支量度值存储装置,用来存储上述最大分支量度值探测装置的输出最大分支量度值(前面时刻的),以将其输出提供给上述归一化算法单元;一个反向追踪控制装置,用来从上述最大分支量度值探测装置接收输出最大分支量度值,以输出解码的数据;以及一个路径存储装置,用来存储上述ACS算法单元的输出存活路径信息。
2.根据权利要求1的维特比解码器,其中上述路径存储装置含有一个用来补偿周期差别的内部存储器。
3.根据权利要求1的维特比解码器,其中上述ACS算法单元和上述路径存储器之间设置一个存储器,以补偿周期差别。
4.一种维持比解码器,它包括一个分支量度算法单元,用来计算从一个输入端输入的信号的分支量度值;一个归一化算法单元,用来通过利用最大分支量度值和上述分支量度算法单元的分支量度值来归一化状态值;一个ACS算法单元,用来通过接收前面时刻的状态值和上述归一化算法单元的输出来计算状态值和存活路径信息;一个状态值存储装置,用来存储上述ACS算法单元的输出状态值,以将它输出给上述ACS算法单元;一个最大分支量度值探测装置,用来从上述状态值存储装置的归一化输出中探测最大分支量度值;一个最大分支量度值存储装置,用来存储上述最大分支量度值探测装置的输出最大分支量度值(前面时刻的),以将它输出给上述归一化算法单元;一个反向追踪控制装置,用来在通过接收一个具有上述最大分支量度值探测装置的最大分支量度值的状态的地址来执行了解码以输出解码的数据之后,输出解码的数据;以及一个路径存储装置,用来存储上述ACS算法单元的输出存活路径信息。
5.一种基于归一化的高速维特比解码方法,它包括下述步骤判断状态值存储装置的存活状态值的最大值是否超过了一个预定的阈值。确定是否存在有归一化要求;以及把所有的存活状态值除以2,以执行归一化操作。
6.一种基于归一化操作的高速维特比解码器,它包括一个分支量度算法单元,用来计算从一个输入端输入的信号的分支量度值;一个ACS算法单元,用来从上述分支量度算法单元接收状态值(前面时刻的)和分支量度值,以计算状态值和存活路径信息;一个由与状态数目一样多的多路转换器所组成的多路转换装置,用来接收上述ACS算法单元的输出,以便或者根据归一化算法的要求不加处理地将它输出,或者输出“除以2”的归一化结果;一个状态值存储装置,用来存储上述多路转换装置的状态值,以将它们输出给上述ACS算法单元;一个归一化要求装置,用来探测上述状态值存储装置的状态值中的最大值是否超过了一个预定的阈值,以把结果输出给上述多路转换装置;以及一个反向追踪装置,它由一个用来存储上述ACS算法单元的存活路径信息的路径存储装置和一个用来控制反向追踪的反向追踪控制装置组成,它用来根据反向追踪来输出解码的数据。
7.根据权利要求6的高速维特比解码器,其中是否存在归一化要求是利用上述状态值存储装置的一个寄存器的一些高比特位根据一个阈值来探测的。
8.根据权利要求6的高速维特比解码器,其中在上述分支量度算法单元和上述ACS算法单元之间加入了一个分支量度归一化算法单元,用来从分支量度值的计算结果中探测出最小值,以从所有的分支量度值中减去该最小值。
9.一种用维特比解码器探测同步/非同步的方法,它包括下述步骤判断一个在紧接的前一时刻具有最小状态值的状态是否对应于一个利用存活路径信息从一个在当前时刻具有最小状态值的状态反向追踪所得到的状态;测量一个在紧接的前一时刻具有最小状态值的状态不能够利用存活路径信息从一个在当前时刻具有最小状态值的状态反向追踪得到的这种非对应的发生次数;以及把发生非对应的次数与一个参考值相比较。
10.一种用于维特比解码器的同步/非同步探测装置,它包括一个容量为n比特的寄存器,用来存储一个在紧接的前一时刻具有最小状态值的状态的地址信息;一个比较器,用来从上述寄存器接收一个在前一时刻具有最小状态值的状态的高n位比特;一个在当前时刻具有最小状态值的状态的低n-1位比特;以及存活路径信息,以进行关于非对应的判断;一个计数器,用来接收来自上述比较器的信号,并且仅当遇到一个非对应时才增加计数值;以及一个同步/非同步探测器,用来从上述计数器接收所计数的非对应次数(发生在某个时间周期内的),并将它与一个预定的参考值相比较,由此来探测同步或非同步。
11.根据权利要求10的同步/非同步探测装置,其中,上述计数器在一个预定的时间周期内计数发生非对应的次数,并且每隔预定的周期初始化其计数值。
12.一种在维特比解码器中探测同步/非同步的方法,它包括下述步骤观察一个在紧接的前一时刻具有最小状态值的状态是否对应于一个利用存活路径信息从一个在当前时刻具有最小状态值的状态反向追踪而得到的状态;判断一个在紧接的前一时刻具有最小状态值的状态不能够利用存活路径信息从一个在当前时刻具有最小状态值的状态反向追踪得到的这种非对应;仅当打孔模式为Xi=Yi=1时测量发生非对应的次数;以及将发生非对应的次数与一个参考值相比较。
13.根据权利要求12的方法,其中测量发生非对应的次数的步骤含有一个对打孔模式为Xi=Yi=1时发生的非对应的次数加上一个权重的子步骤。
14.根据权利要求12和13中的任一项的方法,其中在判断一个在紧接的前一时刻具有最小状态值的状态是否不能够从一个在当前时刻具有最小状态值的状态反向追踪得到的步骤中,非对应的判断是这样执行的将一个在紧接的前一时刻具有最小状态值的状态的地址信息的高n-1个比特与一个在当前时刻具有最小状态值的状态的地址信息的低n-1个比特相比较,并且卷积编码器的寄存器的容量为n(K(管理场)-1)。
全文摘要
用于数字数据发送中的错误控制的维特比解码器。一最大分支量度值探测装置是与一反馈环相分开的,该反馈环由一ACS算法单元,一归一化算法单元和一状态值存储装置组成。最大值利用状态值存储装置的输出来探测,使解码器的速度提高。进行这样的判断在紧接的前一时刻具有最小状态值的状态是否能够利用存活路径信息从在当前时刻具有最小状态总值的状态反向追踪得到。探测不可反向追踪这种非对应关系,并计数其发生次数,如超过参考值,则判断为非同步。
文档编号H03M7/00GK1142143SQ96106939
公开日1997年2月5日 申请日期1996年7月1日 优先权日1995年6月30日
发明者吴大一 申请人:现代电子产业株式会社