维特比译码方法及适用于该方法的电路 本发明涉及一种维特比(Viterbi)译码方法和适用于该方法的电路,本发明尤其涉及一种应用于数字信息高速度和高密度记录/重放的维特比译码方法和适用于该方法的简单硬件电路。
近来已广泛使用采纳数字方式的记录/重放装置。在该装置中,模拟视频和音频信号变换成数字信号,然后通过源编码处理和通道编码处理记录在磁记录介质上。记录在磁记录介质上的数字信号通过通道译码处理和源译码处理而再现。
图1是数字盒式录像机中数字处理系统的方框图。
在图1中,模拟视频和音频信号分别在第一和第二模数(A/D)变换器110和120中变换成数字信号。视频数据在视频数据编码器130中压缩成高效码,然后输出到纠错编码器140。纠错编码器140综合由视频数据编码器130输出的视频数据及通过第二A/D变换器120的音频数据,并使用纠错码例如里德-索洛蒙(RS)码给数据加上校验位,以将结果输出到记录编码器150。记录编码器150的配置见于图2。
图2所示的通道调制器151采用8到14或24到25的调制方法来调制自图1纠错编码器140输出的加上纠错码的数据。预编码器152将经过通道调制的数据变换成不归零反转(NRZI)码。包含有记录均衡器地记录补偿电路153均衡上述NRZI码,以补偿记录特性的退化并将结果输出至图1所示的记录放大器160。这里,记录均衡器可以不包含在记录补偿电路153内。
记录放大器160放大记录编码器150的输出信号,记录磁头(HD1)将放大的信号记录在磁带(T)上。
另一方面,记录在磁带上的信号由重放磁头(HD2)读出并由重放放大器210放大。然后,数据检测器220从放大的信号检测出视频和音频信号。具有重放均衡器的数据检测器220的内部结构见于图3。
图3中所示的自动增益控制(AGC)放大器221调节由图1重放放大器210放大的信号的幅度。低通滤波器222过滤自AGC放大器221输出的信号以去除任何高频噪声。然后,A/D变换器223将低通滤波后的信号变换成数字数据,均衡器224补偿波形失真和数字数据电平并将结果输出至维特比译码电路226。定时检测器225用内含的锁相环(PLL)电路(未示出)检测从均衡器224输出的已均衡信号的预定频率以及重放信号的定时状况,该定时检测器225还输出用于A/D变换器223的采样时钟及用于重放电路每一部分的驱动时钟(未示出)。维特比译码电路226对经过均衡的数据进行维特比译码。通道译码器227根据上述调制方法对维特比译码后的数据译码,然后将结果输出至图1的纠错译码器230。
纠错译码器230纠正从数据检测器220输出的视频和音频数据中的错误,视频数据译码器240对纠错译码器230输出的视频数据进行译码。然后,视频和音频信号分别在第一和第二数模变换器250和260中恢复。
同时,为了提高信号的记录密度而不使常规的记录/重放装置的特性有显著变化,与部分响应最大似然性相关的技术,包括维特比译码技术,已有相当进展,提出了许多具体的电路。
使用NRZI码和具有两种状态的维护特比译码方法的应用实例见图4A。在图4A中,标号152和226分别代表预编码器及维特比译码电路,这些标号与图2和3的预编码器和维特比译码电路的标号相同。
在图4A中,预编码器152包括一延时单元11和一由“异或”门组成的模二加法器12,并将输入数据变换成NRZI码。该预编码器152称作“1T预编码器”或“PR(1,-1)型系统”。
磁记录/重放通道200具有差分特性(1-D)。图4A包括了加法器201,这是为了在数学上模拟引入到通道内的加性高斯噪声。叠加上噪声nk后的通道输出yk可由方程式(1)表示,将该通道输出yk输入维特比译码电路226以获得译码输出ck。
yk=zk+nk(如果nk=0,则yk=zk) ……(1)
于是,在图4A中,ak是时刻k的输入数据(数值为-1或1的二元编码信息),D是1比特延时的延时运算符,bk是预编码器152在时刻k的输出数据,zk是无引入噪声的磁记录/重放通道200的输出数据,(1-D)是磁记录/重放通道200的差分特性,nk是不断叠加到通道中数据上的噪声,yk是维特比译码电路220接收端的输入信号,以及ck是译码后的数据。
图4B是预编码器152的状态图,其中箭头代表从一种状态到另一种状态或到其自身的许可转移。此外,S表示预编码器的状态。
当数据ak(-1或1)不断输入预编码器152时,获得译码数据过程的归纳见图5A。
图5B示意性地表示当通道中没有叠加噪声时输入到维特比译码器接收端口的通道输出yk,图5C是表示yk状态转移的格状图。
然而,在输入到图3维特比译码电路226的均衡器224输出信号中叠加有若干噪声。这里,噪声主要来自磁带上粒子的粒度、磁头阻抗、重放放大器的初始偏置电阻等等。由于与噪声叠加的再现信号通过诸如重放磁头HD2、重放放大器210、均衡器224等等之类的各种器件,当输入信号及叠加噪声到达维特比译码电路226时,它们的频谱有了变化。
如图6A所示,维特比译码电路输入信号的实际波形是模拟波形,在其中不能完全分开输入数据和叠加噪声和分别地加以识别。
因此,归一化输入(+1,0,-1)的正向幅度被一Hn检测比较器(未示出)量化为“H”和“L”的两值之一。这里,当输入信号在阈值“+1”之上时Hn检测比较器的输出端Hn输出“H”,而当输入信号在阈值“+1”之下时Hn检测比较器的输出端Hn则输出“L”。
同样,归一化输入(+1,0,-1)的负向幅度被一Ln检测比较器(未示出)量化为“H”和“L”的两值之一。这里,当输入信号在阈值“+1”之下时Ln为“H”,而当输入信号在阈值“-1”之上时Ln为“L”。
这里,由于磁记录/再现通道的差分特性(1-D)和部分响应型PR(1,-1)的译码电路,如果没有噪声的叠加,在“+1”(Hn=H)之后读出的是“0”(Hn=L)或“-1”(Ln=H)。即,在“+1”之后决不会读出“+1”。同样,在“-1”(Ln=H)之后读出的是“0”(Ln=L)或“+1”(Hn=H)而不是“-1”(Ln=H)。
图6B是表示接收图6A信号的维特比译码电路操作的二元状态格状图。
与此相反,如图7A所示,当在输入到维特比译码电路的通道输出中叠加有噪后时,上述原理可能得不到满足。
图7A表示由于噪声而产生错误的例子,因为在k=3时检测“+1”之后,在k=5时又检测到“+1”。
由于译码电路属于部分响应型PR(1,-1),可以说,根据上述原理,如果在“+1”之后读出“+1”或在“-1”之后读出“-1”,不管它们之间有若干个零,信号是被噪声破坏了。
这里,在维特比译码过程中,作为决定正确检测数据是什么和通过格状图最可能路径是哪条的指标,为每条路径计算了量度值以选择残存路径,然后将该残存路径的信息存贮在存贮器中。结果,通过从存贮器读出最终残存路径的数据来对输入数据译码。为实现这一过程,需要诸如A/D变换器、微处理器、加法器等等之类的器件。
然而,如果状态是二元的,从本质上说正向的信号峰值(下文简称“正峰”)和负向的信号峰值(下文简称“负峰”)与量度值相对应。于是,最好设计一种电路,该电路能检测信号的正峰,用于保持该峰值的电平作为检测接连而来的正峰的新阈值,以及用于更新检测负峰的阈值。
这里,用于检测负峰的新阈值应当比用于检测正峰的阈值低一预定值A。
假若电路的构成如上,则当检测到正峰之后检测到负峰,就确定了量度的最小距离。再者,在格状图上到达最靠近该负峰的上一正峰时间点的路径就在这时确定了。即,选定了具有最小量度值的路径。
以类似方式来检测和保持负峰。检测到的值被置为检测“-1”的新阈值,并同时被用于改正“+1”检测阈值,该“+1”检测阈值现在比“-1”检测阈值高一偏移值A,以准备检测输入信号的下一正峰或下一负峰。
以“-1”和“+1”阈值之间预定的偏移值来联锁输入信号峰-峰值的研究在下面的文章中叙述,该文的标题是:“用于实现下一代大容量存贮器件的信号处理方法PRML”,见于Japan Nikkei Electronics,No.599,pp.72-97,Jan.,1994。
下面参照图8说明常规维特比译码电路的结构。图8是一典型维特比译码电路,该电路的说明见于以下的文章:“二元部分响应通道的最佳接收”,作者M.J.Ferguson,Journal of Bell Syst.Tech.J.,51(2),pp.493-505,Feb.,1972,及“在磁记录通道上第四类部分响应的维特比检测”作者R.W.Wood和D.A.Peterson,IEEE Trans.Comm.,Vol.Com-34,No.5,pp.454-461,May,1986。
在图8中,在模数(A/D)变换器(未示出)内量化后的输入信号以数据-2,0或+2输入到加法器232。取样保持器件231根据从“异或”门235输出的信号更新或保持输入数据。即,当输入数据的状态改变时,更新输入数据,然而,当输入数据不改变时,则保持输入数据不变。
当“异或”门235输出一表示输入数据状态改变的“1”时,将“异或”门236的输出以“+1(H)”值写入RAM 243的点地址,该点地址由地址计数器240通过点寄存器241计数。此外,当“异或”门235的输出为“0”时,“-1(L)”被写入RAM 243的地址,该地址也由地址计数器240计数。因此,译码后的数据积累在RAM 243中。
在这里,最好是如图7B所示那样,当在格状图上状态S分别地改变和不改变时,将原始输入数据qk和NRZI的译码数据ck译码为“+1(H)”和“-1(L)”。如此,在后一种情况下,译码结果以“-1(L)”无条件地写入RAM 243。
另一方面,每当建立了一个新的分叉点时,两个原有的路径之一就结束了。即,每个分叉点既代表解决了某个处理上不肯定性的点也代表一个新的不肯定比特。这样,如果路径在时刻p分叉,则从上一时刻p过来的最终残存路径要到下一分叉点才确定。这里,在时刻p的状态S的转移是已知的,所以接着根据该状态转移将“+1(H)”或“-1(L)”写入RAM 243的地址p。
当在格状图上进行维特比译码时,需要用微处理器计算每一分叉点处的量度并存贮计算结果。
因而除了RAM和地址计数器之外,上述结构还需要A/D变换器和微处理器(CPU)(二者都未示出)。
如上所述,当构建使用RAM的维特比译码电路时,需要有A/D变换器及内含微处理器、数字加法器等等的数字信号处理器。
如果将该维特比译码电路做在一块集成电路(IC)中,由于附加了A/D变换器和数字信号处理器,芯片尺寸增大,制造成本也增大。尤其是,理应将64个比较器装入常规维特比译码电路所采用的6位嵌入式A/D变换器内,从而增加了芯片面积。
为了解决以上问题,本发明的一个目的是提供一种维特比译码方法,其中维特比译码在格状图中从右向左(反向)进行,使得不必象常规方法那样在每个分叉点作复杂的计算,因此可以简单地完成维特比译码。
本发明的另一个目的是通过采用移位寄存存贮器(移位寄存器)作为量度操作的主要电路元件而不是采用A/D变换器及微处理器来提供一种硬件简单的维特比译码电路。
为了实现第一目的,提供一种对输入信号译码的维特比译码方法,该方法包括以下各步:(a)从输入信号检测负峰和正峰数据的瞬时值作为量度的替换值;(b)在预定时间之前对检测到的瞬时值分组并输出分在组内的正峰和负峰数据;(c)以相反方向变换分在组内的正、负峰数据,并输出次序颠倒的正、负数据;(d)根据预定数目的初始状态对正峰和负峰数据进行维特比译码,然后输出预定通道数的反向译码数据;(e)将每个通道的反向译码数据变换成正向,然后输出预定通道数的正向译码数据;(f)根据下一组最初译码数据的状态选择这些通道的正向译码数据中的一个,然后输出该选定的数据作为最后的译码数据。
为了实现第二目的,提供一种对输入信号译码的维特比译码电路,该电路包括:检测装置,用于从输入信号检测正峰和负峰的瞬时值作为量度的替换值;第一变换装置,用于在预定时间之前对检测到的瞬时数据分组并以相反方向变换分在组内的正峰和负峰数据以输出次序颠倒的正峰和负峰数据;维特比译码装置,用于根据预定数目的初始状态对反向的正峰和负峰数据进行维特比译码以输出预定通道数的反向译码数据,及用于根据与当前组最后的译码数据有关的下一组最初译码数据的状态输出一选择控制信号;第二变换装置,用于以正向变换预定通道数的反向译码数据并输出预定通道数的正向译码数据;以及选择装置,用于响应选择控制信号选择预定通道数的正向译码数据中的一个数据并输出最后的译码数据。
本发明的上述目的和优点通过结合附图详细地描述优选实施例将变得更加显而易见。
图1是数字盒式录像机中数字处理系统的方框图;
图2是表示图1中记录编码器内部结构的实例图;
图3是表示图1中数据检测器内部结构的实例图;
图4A是表示使用NRZI码的维特比译码过程的实例图,图4B是图4A中预编码器的状态图;
图5A是表示译码过程的表格,图5B是通道输出图,图5C是格状图,其中示出了通道输出的状态转移;
图6A是表示图3维特比电路输入信号的图,图6B是维特比译码电路的格状图;
图7A表示当叠加有噪声时维特比译码电路的输入信号及检测数据的纠正过程,图7B是维特比译码电路的格状图;
图8是常规维特比译码电路的电路图;
图9表示无A/D变换器的数据检测器内部结构的实例;
图10是根据本发明的维特比译码电路的框图;
图11是图10中维特比译码电路的详细电路图;
图12是图11中初始状态值设置及维特比译码器的详细电路图。
首先,根据本发明的维特比译码方法,维特比译码沿着状态转移图的相反方向进行,使得在每一分叉点上路径是连接的。其结果是,没有理由要根据每一状态将量度操作的结果存贮到存贮器中去。即,不需要由微处理器执行的操作,也不需要用于存贮结果的存贮器。此外,状态转移图上的路径可以由从正峰或负峰检测得到的瞬时值来确定。
输入信号在一预定时间之前被划分并被分组。为了以相反方向译码,检测一组内输入信号的正峰和负峰来代替计算量度,然后从反方向进行处理。考虑到下一组最初译码数据的状态与当前组最终译码数据有关,两个通道的反向维特比译码数据是同时产生的,然后被变换成正向维特比译码数据。然后,这两个通道的正向维特比译码数据并行地延时直到确定下一组最初译码数据的状态。当确定了下一组最初译码数据的状态时,这两个通道已延时的正向维特比译码数据中的一个被选中以输出该译码数据。
图9是采用本发明维特比译码电路的数据检测器的框图。在该数据检测器中不使用A/D变换器。然而,本发明可应用于图3所示的数据检测器220。
在图9中,均衡器310均衡由重放放大器重放的数据并把结果输出到维特比译码电路320。定时检测器330检测由均衡器310输出的重放信号的定时,并输出均衡器310、维特比译码电路320及图9未示出的其他部分所需的驱动时钟。维特比译码电路320进行已均衡数据的维特比译码。通道解调器340根据调制方法来解调已作维特比译码的数据。这里,均衡器310可以是固定和自适应两种类型中的一种。
图10是图9维特比译码电路320的框图,该维特比译码器采用移位寄存器作为主要部件。
在图10中,放大器321放大从图9均衡器310输出的已均衡信号。
峰值检测器322联锁正峰和负峰检测阈值以将以上两阈值之差保持为偏移值A。在保持该差别的同时,峰值检测器322检测由放大器321放大的信号的正峰和负峰。
第一反向变换器323按照预定的比特数(这里是8比特)对由峰值检测器322输出的正峰数据Hn分组,然后为分在组内的数据进行反方向变换以按反方向检测正峰数据。
第二反向变换器324按照预定的比特数(这里是8比特)对由峰值检测器322输出的负峰数据Ln分组,然后为分在组内的数据进行反向变换以按反方向检测负峰数据。
初始状态设置与维特比译码电路(下文只称做“译码器”)325接收从第一和第二反向变换器323和324输出的反向正峰和负峰数据Hn’和Ln’,对两种状态(S1=1及S0=-1)的初始条件下的数据译码,然后将已译码数据ck1′和ck0’输出至两个分别的通道。此外,译码器325根据在本组最后译码数据之后的下一组最初译码数据的状态输出一选择控制信号SEL。
第一正向变换器326将反方向的正峰数据ck1′(该反向正峰数据此前在S1=1的初始条件下被译码和从译码器325输出)变换成正方向以输出正向译码数据ck1。
第二正向变换器327将反方向的负峰数据ck0′(该反向负峰数据此前在S0=-1的初始条件下被译码和从译码器325输出)变换成正方向以输出正向译码数据ck0。
选择器328延迟由第一和第二正向变换器326和327输出的正向译码数据ck1和ck0,直到确定了下一组最初译码数据的状态。然后,选择器328响应由译码器325输出的选择控制信号(SEL)而选择经过延时的正向译码数据ck1和ck0中正确的那一个译码数据,其中选择控制信号反映了下一组最初译码数据的确定状态,以输出译码数据ck。
如上组成的框图解决了以下一些问题。
可以在图5C的格状图中看出,当信号在格状图自左至右(正向)译码时,必须计算在分叉点处决定残存路径的量度。因而微处理器应当计算在每一分叉点上不同路径的量度。然而,当维特比译码在具有两种状态的图5C格状图上沿反方向即自右至左进行时,就避免了在每一状态作出判决,因为只有一条路径。
例如,如图7B的格状图中所示,如果信号顺序地自时刻k=7至k=0译码,就可无误地检测到正确的数据。
在此情况下,必须在每一种状态核查量度。然而,如果检测的是输入信号的正峰和负峰,就不需要用微处理器来计算该量度,因为正峰和负峰检测实质上相当于量度的计算。
因此,如果将检测的瞬时正峰和负峰作为与量度相当的值,并将结果以正峰和负峰数据Hn和Ln存贮,就可以确定在格状图上的路径。例如,当译码过程从k=7的时刻开始时,k=7处的状态S(7)根据k=8处的状态S(8)来决定。因此在S(8)=S1=1及S(8)=S0=-1的假定下译码器325分别并行地产生反向维特比译码数据ck1’及ck0’。
根据初始状态S1产生的反向译码数据ck1′和根据初始状态S0产生的反向译码数据ck0’输入到一移位寄存器以便进行向正方向的顺序替代转换,然后以正方向排列以便输出经过替代转换的正向译码数据ck1和ck0。
此后,选择器328并行地延迟正向译码数据ck1和ck0直到决定出状态S(8)。当决定出状态S(8)是S1或S0后,选择器328选择经过延时的正向译码数据ck1和ck0中的一个以输出译码数据ck。
图10中所示的维特比译码电路将结合图11给予说明。
在图10中,放大器321是缓冲放大器,该放大器将输入信号放大到峰值检测器322所需的预定信号电平。
峰值检测器322包括检测正峰数据Hn用的比较器COMP1和检测负峰数据Ln用的比较器COMP2。通常将比较器COMP1的非倒相端接至一电容器C1和一二极管D1的阳极,电容器C1也接至放大器321的输出端。电容器C2的一端接至二极管D1的阴极,其另一端通常接至一接地的电容器C3和比较器COMP1的倒相端。比较器COMP2的倒相端通常接至一电容器C4和二极管D2的阴极,电容器C4还接至放大器321的输出端。电容器C5的一端接至二极管D2的阳极,其另一端通常接至一接地的电容器C6和比较器COMP2的非倒相端。
峰值检测器322联锁用于检测正峰和负峰的阈值,并保持两阈值之差在一预定的偏移值A上,以稳定正峰和负峰二者。
第一和第二反向变换器323和324由两个8位移位寄存器,即一个串入并出型和一个并入串出型,组合而成,这两个反向变换器用于分别变换正峰数据Hn和负峰数据Ln。
图12是译码器325的详细电路图。如图12所示,为了将RS触发器F/FA的输出QA设置到对应于初始状态S1的“H”,将初始设置脉冲经过“或”门G2加到置位输入端SA。与此类似,为了将RS触发器F/FB的输出QB设置到对应于初始状态S0的“L”,将初始设置脉冲经过“或”门G5加到复位输入端RB。
这里,初始设置脉冲相应于由8比特周期产生的字节脉冲。提供一倒相器G7以倒相初始设置脉冲,使得逻辑高状态不致于同时加到S和R输入端。
反向正峰数据Hn′也在时钟CLK的控制下经过“与”门G1和G6加到每个RS触发器F/F A和F/F B的置位输入端SA和SB。类似地,反向负峰数据Ln’也在时钟CLK的控制下经“与”门G3和G4加到复位输入端RA和RB。
“与”门G8执行反向正峰数据Hn’和触发器F/F A输出QA的逻辑“与”操作,“与”门G9执行反向负峰数据Ln’和触发器F/F A倒相输出 QA的逻辑“与”操作。“或”门G10执行“与”门G8和G9输出的逻辑“或”操作。
“与”门G11执行反向正峰数据Hn′和触发器F/F B倒向输出 QB的逻辑“与”操作,“与”门G12执行反向负峰数据Ln′和触发器F/F B输出QB的逻辑“与”操作。“或”门G13执行“与”门G11和G12输出的逻辑“或”操作。
这样,根据初始状态S1产生的反向译码数据ck1′就从“或”门G10输出,根据初始状态S0产生的反向译码数据ck0′就从“或”门G13输出。
这里,标号325.1表示初始状态设置电路,标号325.2表示第一维特比逻辑电路,标号325.3表示第二维特比逻辑电路,标号325.4表示由D触发器构成的选择控制信号产生电路。
图11所示的第一正向变换器326和第二正向变换器327分别由两个8位的移位寄存器,即一个串入并出型和一个并入串出型,组合而成。根据初始状态S1和S0产生的反向译码数据ck1′和ck0′分别存贮在各自的串入并出型移位寄存器内,并转移至并入串出型移位寄存器。当译码数据从并入串出型寄存器输出时,它们是正向排列的。
选择器328由两个对译码数据ck1和ck0进行延时的串入并出式移位寄存器和一个逻辑电路开关SW组成,用于根据译码器325所输出的选择控制信号SEL来选择译码数据ck1和ck0中的一个译码数据。
提供给图11选择器328的选择控制信号SEL由图12中的触发器325.4产生。由译码器325以初始状态S1作维特比译码并由“或”门G10输出的反向译码数据ck1′被输入到D触发器输入端D。初始设置脉冲输入到D触发器时钟端。选择控制信号SEL控制一开关SW,使得当输出端Q为逻辑高时选定第一选择端,而当倒相输出端Q为逻辑高时选定第二选择端。
这里,译码器325所需的初始设置脉冲和时钟由一(未示出的)信号发生器产生(该信号发生器通过接受来自图9定时检测器330的驱动时钟输出而产生一计划中的定时信号),或可由定时检测器330本身产生。
此外,为使图11和图12所示部分的操作易于理解,下面结合图7A和图7B的输入信号及格状图来说明译码过程的一个实例。
输入信号yk划分为8比特,然后以组为单位处理如下:
(y0,y1,y2,y3,y4,y5,y6,y7),(y8,y9,y10,y11,y12,y13,y14,y15),(y16,y17,y18,y19,y20,y21,y22,y23),......
于是,对于每一组来说数据反向输入至译码器325,并反向输出如下:
(y7,y6,y5,y4,y3,y2,y1,y0),(y15,y14,y13,y12,y11,y10,y9,y8),(y23,y22,y21,y20,y19,y18,y17,y16),......
当包括输入信号y8在内的一组信号被译码器325维特比译码时,在k=8时刻的状态S(8)就确定了,S(8)被输入到第一正向变换器326的串入并出型移位寄存器。
结果,在维特比译码过程中出现了延时。即,时间被延迟直到确定下一组最后译码数据的状态。例如,在数据按照8比特划分及进行反向处理的情况下,到第三周期的最后才确定S(8),与此同时初始状态S1下的第一正向译码数据或初始状态S0下的第二正向译码数据被选定。因而有24比特(8比特×3)的延时。
然而,如果增加反向移位寄存器和正向变换器的时钟频率,则延时可以缩短。
另一方面,每一组的比特数是根据数字调制方法而确定的。特别是,确定每一组的比特数时应该考虑待设置的游程长度极限(RLL)值。
如上所述,当状态为二元(S=1或S=-1)并且译码电路为PR(1,-1),RP(1,1)或RP(1,0,-1)的部分响应型时,所设计的译码电路最好采用移位寄存器作为主要的电路部件而不用A/D变换器或微处理器,其中移位寄存器接收正峰和负峰数据。结果,集成电路的尺寸可以做得最小而且制造成本降低。