维特比解码器的解码电路与方法技术

技术编号:3422847 阅读:352 留言:0更新日期:2012-04-11 18:40
一种维特比解码器的解码电路与方法,此维特比解码器的解码电路包括一个分支度量单元、一个加-比较-选择单元与一个路径内存单元、此路径内存单元包括一个数据流控制器、一个追溯写入寄存器阵列、一个等待寄存器阵列及一个解码寄存器阵列。利用游程长度限制码有效解决维特比解码器的格状图经纵向整理后复杂的格状图,而且寄存器阵列在不同的时间可兼具其它动作,所以不需要数量很多的寄存器来处理数据,同样地可以达到高速维特比解码器的解码的目的。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及在光盘的PRML(Partial Response Maximum Likelihood,部分响应最大似然性)系统中的一种维特比(Viterbi)解码器的解码电路与方法,具体来讲,涉及在光盘的PRML系统中的这样一种,该电路与方法利用RLL码(Run Length Limited Code,游程长度限制码)有效解决维特比解码器的格状图经纵向整理后复杂的格状图,而且不需要数量很多的寄存器来处理数据。
技术介绍
在光盘如DVD(digital versatile disc,数字多用盘)的PRML系统中,对于一个具有内存的传输信道(transmission channel)可以用格状图(trellisdiagram)来描述其特性。例如DVD信道的输入信号EFMP是二进制信号,而信道内存长度(channel memory length)为2,因此格状图上有4个状态(state),每个状态有两条分支(branch)。在每一个状态中包含了8条分支,表示此传输信道在每次的单位时间中传出的信号,会是这八个可能信号中的其中一个,至于这八种信号的值,如图1A的信道模型示意图所示的,由此信道模型(channel model)可知,在将下列表达式代入1/-1即可得到(“当前输入”+k1*“在第一个内存的先前输入”+k2*“在第二个内存的先前输入”)在图1A中,k1与k2实施上反应出此信道的特性,k1与k2的值可以预先给定,然后用整型滤波器(shaping filter)来使总体信道的特性趋近于该值。该整型滤波器可以是部分响应均衡器(partial response equalizer)。另一种方法是不去改变信道的特性,而是直接估算k1与k2的值,即信号电平估算(signallevelestimation)。不论采取何种方式,总之在图1B所示的格状图中各分支上的对应值,将因k1与k2的确定之后而可以确定。图2所示为维特比解码器的方框图。在图2中,维特比解码器200包括分支度量(Branch Metric)单元202、ACS(Add-Compare-Select,加-比较-选择)单元204与路径内存单元(Path Memory Unit,PMU)206。分支度量单元202接收前级转换器(未绘示)所输出的数字信号与参考电平产生单元(未绘示)所输出的参考电平,由此计算一分支度量,并将此分支度量输出至ACS204。ACS204根据该分支度量进行加法、比较与选择等运算,从而得到一路径度量(path metric),并且将此路径度量输出至路径内存单元206。路径内存单元206接收ACS204所输出的路径度量,由此进行收敛、合并与解码等工作,以得到解码信号,并且将此解码信号输出至后级的解调器(未绘示)。下面将对维特比解码器200做更详细的说明。图3示出维特比解码器的解码过程。在图3中,假如收到三个连续接收信号(received signals)R1、R2、R3,找到与之对应的最有可能的信号,首先针对格状图中的每一条分支,维特比解码器会算出分支度量(由图2的分支度量单元202执行)。计算的方式通常为信号差的平方值或是信号差的绝对值,例如BM00-00=2或|R1-(-1.8)|。而所谓某一条路径的路径度量就是将此路径所含的所有分支所对应的分支度量加起来,例如图3中的粗黑线由State00at1T(该下标中的符号“at”与图3中的文字“在”相对应,下文中亦是如此)经过State00at2T再经过State00at3T最后到达State00at4T的这条路径,而路径度量就是“BM00-00+BM00-01+BM01-11”。当然,在一般情况下路径不会如此短,如上述的路径在State00at1T之前应该就已经走过一段路径,所以实际上这条路径正确的路径度量应该是“此路径累计到State00at1T时的路径度量”+“BM00-00+BMX+BM01-11”。再观察格状图可知,其实各路径不断的相交于各状态上,而任意路径在相交之后的变化其实都是相同的,因此维特比发现只要在各状态选择此处的最佳路径继续延伸即可,保证最后仍然可算出最佳路径。但是运算复杂度却可因此而大幅降低。这种“各状态选择此处的最佳路径继续延伸”的动作称为存活路径选择(survivorpath selection),而选出来的路径就是存活路径。在图3中,描述在State00at2T的存活路径是如何由来自State00at1T的存活路径与来自State00at1T的存活路径挑选出来,参考图3,在State00at2T的survivormetric SM00at2T是根据下列运算而得到SM00at2T=min{;}这个表达式就是ACS单元。由于ACS单元内存在着反馈回路(feedbackloop)(由survivor metric每个状态都会再次重算所造成的),使得高速的维特比解码器不易实现,而ACS因此成为速度的瓶颈。根据维特比解码器的演绎,在每次ACS的动作之后,必定可以取得最佳路径,所以只要不断的记录各存活路径,等到整笔数据解码结束后,再转移出最佳存活路径的记录就可以。但如此有两个缺点,首先是解码隐藏路径会太长,其次,如果路径太长,则用来存储器的硬件数量会很大(此硬件称为路径内存单元)。如图4所示的在格状图中使用维特比解码器的演绎解码的收敛示意图所示,维特比演绎有个特性就是在格状延展过4~6倍信道存储器(channelmemory)的长度之后,各个存活路径有99%的机会是与前面的路径会合并(merge)在一起。因此路径内存单元只需保存最近4~6倍信道存储器(channelmemory)的数据以供捡选即可,过去的数据可在逐步解码之后便可丢弃。因此,只需要有限的资源就可以完成路径内存单元的工作,而常见的方法有混合交换(Shuffle-Exchange)与回溯(Trace-Back)两种。图5所示为格状图与混合交换方法的方框图。在图5中,混合交换的动作原理非常直觉,就是对于格状图上的每一个状态配备一套内存(通常是寄存器阵列(register array)),如状态“00”对应于寄存器阵列502,状态“01”对应于寄存器阵列504,状态“10”对应于寄存器阵列506,状态“11”对应于寄存器阵列508,这些寄存器阵列用来记录此状态的存活路径。也就是说,随着时间的前进,在任一特定时刻上各个状态所记录的存活路径会不断地由前一时刻的各状态所记录的存活路径配上新判断的判断位(如图5所示-1.8、-0.8、0.2、1.2、-1.2,-0.2、0.8、1.8等数值)来更迭。如图5所示,当信号接收数量经过4~6倍信道内存左右的长度之后,便假设这所有的路径均以收敛到同一点,于是可将收敛得到的数值当成解码所成为的信号送出。因此,实际上每个寄存器阵列的长度只须4~6倍信道内存左右。如图6所示格状图及回溯方法方框图所示,回溯的动作原理是将各状态(每一个时间点)各状态上的判断位(decision bit)存在“规则的内存”中(例如RAM),即各个状态各自规律的存放其判断位(例如状态“00”存放在RAM第1列,状态“01”存放在RAM第2列,以下以此类推),各状态间没有互动,经过4~6倍信道内本文档来自技高网...

【技术保护点】
一种维特比解码器的解码方法,该维特比解码器具有一分支度量单元、一加-比较-选择单元与一路径内存单元,所述方法包括下列步骤:对配合所述维特比解码器的一格状图进行纵向整理,以得到一纵向整理格状图;根据一游程长度限制码运算所述纵向整理格状 图,以得到一游程长度限制格状图;根据所述游程长度限制格状图,所述分支度量单元计算一当前输入分支度量值;由所述加-比较-选择单元计算所述当前输入分支度量值、一下次输入分支度量值与一当前状态,以得到一下次状态值;以及以所述路径内存单 元记录所述加-比较-选择单元所计算的结果,以得到一存活路径,将记录完成的所述存活路径进行解码。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭弘政吴文义
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1